Autres MultiCN Evaluation pour Arduino Uno

V

vres

Compagnon
Bonjour,
Je l'avais promis pour Noël 2016 , voici une version de mon logiciel de pilotage MultiCN en version évaluation compatible avec l'Arduino Uno.

J'ai commencé le développement de MultiCN en 1989, à l'époque c'était juste un petit programme résident sous DOS pour piloter un plotter Gerber qui à l'origine ne pouvait découper que du lettrage.
Depuis 2002 j'utilise MultiCN pour mon activité de rétrofit de machines à commande numérique dans divers domaine.
Je n'ai pas trop compté mais j'ai du faire environ 300 rétrofits à ce jour (environ 20 par an)

Avec mes 60 piges je vais laisser tomber le rétrofit et concentrer mes activités sur le développement de MultiCN et bien sur le SAV de mes clients.

MultiCN n'a pas été développer autour du G-Code, il peut travailler avec due l'HPGL, du DXF (R12) G-Code et aussi d'autres format plus rares.
Il n'y a donc pas de G-Code à manipuler, la plupart des fonction sont directement gérée par les scripts comme le démarrage de la broche par exemple.
Les vitesses et les profondeurs en 2D peuvent directement gérées dans MultiCN et peuvent être modifiées en cours d'usinage.
IMPORTANT, avec ce module 2D/3D le Z travaille en profondeur donc le Z+ est vers le bas.

MultiCN est très simple à utiliser car dans le monde professionnel les opérateurs change plus souvent que les machines.

MultiCN travaille toujours en trajectoire exacte et conserve les angles. C'est impératif par exemple pour les graveurs qui fabriquent des poinçons de 1 ou 2mm de haut.
En revanche les micro-vecteurs sont lissés sur tout les axes pour permettre d'usiner des courbes sans saccades.

Avec cette version la fréquence de step est limitée à 20kHz à cause de la liaison série à 115200bauds.

Pour L'installation lancer "MultiCN_Evalution_Arduino_xx_xx_xxxx.exe et téléverser "Serialmulticn.ino" dans l'Arduino Uno.


Sur MultiCN tout est configurable, je vous propose une version assez standard :

1537268791951.png


La configuration est très simplifiée et ne doit pas poser de problème, les paramètres peuvent être facilement retrouvés:
1537269000225.png




Je vais essayé de compléter cette page progressivement.

Pour le téléchargement -> https://www.usinages.com/threads/telechargement-multicn-evaluation-pour-arduino-uno.114168/
 
Dernière édition:
V

victorjung

Compagnon
Super merci ! Hâte de pouvoir y jeter un oeuil
 
V

vres

Compagnon
Voici un Tuto (assez nul d'ailleur) sur l'utilisation de MultiCN
 
P

PL50

Compagnon
Bonjour,
Je l'avais promis pour Noël 2016 , voici une version de mon logiciel de pilotage MultiCN en version évaluation compatible avec l'Arduino Uno.

J'ai commencé le développement de MultiCN en 1989, à l'époque c'était juste un petit programme résident sous DOS pour piloter un plotter Gerber qui à l'origine ne pouvait découper que du lettrage.
Depuis 2002 j'utilise MultiCN pour mon activité de rétrofit de machines à commande numérique dans divers domaine.
Je n'ai pas trop compté mais j'ai du faire environ 300 rétrofits à ce jour (environ 20 par an)

Avec mes 60 piges je vais laisser tomber le rétrofit et concentrer mes activités sur le développement de MultiCN et bien sur le SAV de mes clients.

MultiCN n'a pas été développer autour du G-Code, il peut travailler avec due l'HPGL, du DXF (R12) G-Code et aussi d'autres format plus rares.
Il n'y a donc pas de G-Code à manipuler, la plupart des fonction sont directement gérée par les scripts comme le démarrage de la broche par exemple.
Les vitesses et les profondeurs en 2D peuvent directement gérées dans MultiCN et peuvent être modifiées en cours d'usinage.
IMPORTANT, avec ce module 2D/3D le Z travaille en profondeur donc le Z+ est vers le bas.

MultiCN est très simple à utiliser car dans le monde professionnel les opérateurs change plus souvent que les machines.

MultiCN travaille toujours en trajectoire exacte et conserve les angles. C'est impératif par exemple pour les graveurs qui fabriquent des poinçons de 1 ou 2mm de haut.
En revanche les micro-vecteurs sont lissés sur tout les axes pour permettre d'usiner des courbes sans saccades.

Avec cette version la fréquence de step est limitée à 20kHz à cause de la liaison série à 115200bauds.

Pour L'installation lancer "MultiCN_Evalution_Arduino_xx_xx_xxxx.exe et téléverser "Serialmulticn.ino" dans l'Arduino Uno.


Sur MultiCN tout est configurable, je vous propose une version assez standard :

Voir la pièce jointe 422897

La configuration est très simplifiée et ne doit pas poser de problème, les paramètres peuvent être facilement retrouvés:
Voir la pièce jointe 422898



Je vais essayé de compléter cette page progressivement.

Pour le téléchargement -> https://www.usinages.com/threads/telechargement-multicn-evaluation-pour-arduino-uno.114168/
Salut CNCSERV et merci pour ce partage.
je comprend maintenant pourquoi tu dis que l'usb en cnc n'est pas forcement un problème ! ! !
j'ai telechargé ton soft installé sur mon portable (64bit)
j'ai fait le televersement.
les valeurs x y z ne s'affichent pas
j'ai essayé de changer le port com dans le panneau config (on ne peut y acceder qu'au demarrage?)
par defaut c'est 15; mais le menu deroulant propose 3
si on clique entrée, on se fait éjecter et on se retrouve direct dans le programme, si on coche ok on va aussi dans le programme.
si je redemarre le soft, je suis à nouveau sur le port com15; comme s'il ne le prenait pas en compte.
c'est parce que mon pc est 64b?
as tu une idée, car mon pc et l'arduino semblent ne pas vouloir se causer...
c'est un vrai marqué "arduino uno"

autre question; comment recupères tu les ES sur l'arduino?
tu as un plan d'affectation des broches, ou il faut remettre une autre carte par dessus?

désolé encore un domaine où je débute, mais j'ai commencé l'arduino.... cet été ! ! !

donc je suis vraiment un jeunot dans le sujet, et du coup je pose sans doute des questions con....

en tout cas encore bravo et merci pour ton partage ! !
 
V

vres

Compagnon
'ai essayé de changer le port com dans le panneau config (on ne peut y acceder qu'au demarrage?)
par defaut c'est 15; mais le menu deroulant propose 3
Les ports proposés dans la config sont scannés , normalement tu dois trouver dans la liste les même ports série que dans le gestionnaire de périphériques.
A l'occasion fais moi une copie d'écran.
c'est parce que mon pc est 64b?
le mien aussi :wink:
j'ai essayé de changer le port com dans le panneau config (on ne peut y acceder qu'au demarrage?)
Oui car c'est quand même une version simplifiée. Autrement tu peux lancer le su.bat pour débloquer le menu Options et aller dans paramètres carte
autre question; comment recupères tu les ES sur l'arduino?
tu as un plan d'affectation des broches, ou il faut remettre une autre carte par dessus?
C'est l'affectation courante shield CNC :
avec le PWM broche
GRBL9.png

et sans PWM broche :
arduino-cnc-shield-v3-layout_vwJrjKoIh8.png


Dans les 2 cas j'ai mis la commande broche sur le PIN13
Le palpeur est sur A5


Autrement il existe un shiel permettant une adaptation sur BOB //
J'en ai acheté mais pas essayé.
2017-02-10T14%3A19%3A41.054Z-2016-03-15T17-26-51.026Z-20160315_122008.jpg.2560x2560_q85.jpg
 
Dernière édition:
R

Rebus

Compagnon
Bonjour,
J'attendais d'autres avis ....
De mon coté, je ne peux que confirmer pas de dialogue entre PC et carte Arduino.
Je me suis donc remis sur ma carte Mega2560 avec GRBL que j'utilise depuis un moment et qui m'a permis de graver des CI et quelques pièces en POM.
Mon seul problème c'est que j'aimerais ramener la vitesse de 115200bauds à 9600bauds .... et ça je n'y parviens pas.
(D'ailleurs je n'ai toujours pas compris l'intérêt de transmettre les données aussi vite.)
 
V

vres

Compagnon
Merci pour ton retour négatif.
D'ailleurs je n'ai toujours pas compris l'intérêt de transmettre les données aussi vite.
Peut-être tout simplement parce qu'il y a beaucoup de données a transmettre.

Comme c'est bien indiqué dans le titre j'ai prévu cette version au départ UNIQUEMENT pour une Arduino NANO.
Suite au remarques constructives de speedjf37 j'ai fait les modifications pour accepter n'importe qu'elle carte avec la sélection du port série.

J'ai eu pas mal de travail sur cette version gratuite, je viens tout juste de la terminer. Je ne pas garantir qu'elle soit parfaite du premier coup donc j'essaye d'être réactif au remarques que l'on peut me faire.

Pour ton problème de sélection de carte as tu bien télécharger la dernière version qui permet de choisir la carte ?
As tu bien cette version ?

1537426083031.png
 
Dernière édition:
R

Rebus

Compagnon
Merci pour ton retour négatif.

Peut-être tout simplement parce qu'il y a beaucoup de données a transmettre.

Ce n'est pas l'envoi de quelques centaines de lignes de Gcodes en ASCII qui nécessite de telles vitesses.
A ce que j'ai pu voir en mettant un espion sur le bus USB, c'est surtout un "handshaking" extrêmement complexe.
On est très loin du Xon /Xoff de la RS232 !

PS: Désolé pour mon retour négatif, vu le boulot que tu as du abattre.
 
V

vres

Compagnon
Peut-être peux tu en parler sur le bon sujet. car là je ne peux pas t'aider.
 
V

vres

Compagnon
Pour en revenir à la sélection du port série assurez vous de bien avoir la dernière version ici en vérifiant la date et l'heure de la mise à jour.

Si la carte n'apparait pas dans la liste dans MultiCN vérifiez qu'elle est bien reconnue dans le gestionnaire de périphériques.
1537280096011-png.png

Si oui me faire une capture d'écran pour que je puisse faire la correction. La syntaxe peut avoir beaucoup d'importance.
 
S

speedjf37

Compagnon
Mon seul problème c'est que j'aimerais ramener la vitesse de 115200bauds à 9600bauds .... et ça je n'y parviens pas.
(D'ailleurs je n'ai toujours pas compris l'intérêt de transmettre les données aussi vite.)

Bonjour,

Quel intérêt de descendre la vitesse (tout a fait virtuelle sur le port USB) ?

JF
 
R

Rebus

Compagnon
Bonjour,

Quel intérêt de descendre la vitesse (tout a fait virtuelle sur le port USB) ?

JF
Je pourrais te retourner la question ... pourquoi utiliser une telle vitesse (sur une machine amateur) sachant qu'on n'ira pas plus vite que la fraiseuse !
 
?

******

Compagnon
il faut lié cette vitesse a la "bufferisation" (file d'attente )

Plus la transmission 'est rapide , plus la carte arduino ( d'autan plus si c'est une uno ! )

plus la carte arduino a intérêt a avoir son buffer (file d'attente ) bien rempli !


afin d’être sur qu'il n'y est pas de ' vide' de manque de données" de manque de signaux...

http://www.unilim.fr/pages_perso/deneuville/docs/Info2PC/Cours4handout.pdf



""
Serial.available() Description − Donne le nombre d'octets (caractères) disponible pour lecture dans la file d'attente (buffer) du port série. Syntaxe − Serial.available(); Valeur renvoyée − Le nombre d'octet disponible pour lecture dans la file d'attente (buffer) du port série, ou 0 si aucun caractère n'est disponible. Si une donnée est arrivée, Serial.available() sera supérieur à 0. La file d'attente du buffer peut recevoir jusqu'à 128 octets.

""

ps : si la transmission n'est pas sujette a parasite ( cable correct)
il n'y as aucune raison de ce posé une tel question ...
plus c'est rapide , mieux c'est
 
Dernière édition:
V

vres

Compagnon
Bon je préfèrerais que l'on parle de ton logiciel sur une autre discussion.

ces considérations n'ont rien à voir avec MultiCN dont ta as un avis négatif sans pour cela me donner la moindre information pour corriger un éventuel problème.
Maintenant parlons de G-code sur une liaison série, imagine que tu usines une courbe en 3D avec des microvecteurs de 0.1mm a 50mm/s.
On va avoir 50/0.1 =500 lignes.
Sachant qu'il faut environ 9 caractères par axes et que les 3 axes bougent, on a donc 3X9+2 = 29 octets par ligne donc 29X500=145000Bauds en flux continu. C'est même impossible a 115200.
Tu fait quoi avec tes 9600?
Le pire dans tout ça, c'est que tu serais capable de modifier la vitesse dans ton logiciel et ensuite te plaindre car il ne fonctionne pas correctement.
Maintenant si tu as d'autre interrogations sur ton logiciel n'hésite pas à créer une nouvelle discussion. Ici je préfèrerais que l'on parle que de MultiCN.
Merci
:wink:
 
R

Rebus

Compagnon
Oui, tu as raison revenons au sujet.

J'ai téléversé le sketch dans un Arduino Uno.
Ensuite j'ai installé ton logiciel MultiCN
Lorsque je le lance, Arduino connecté, il me propose dans la configuration COM15
Vu que je viens de téléverser le sketch dans l'Arduino via le port COM11, je change pour COM11(c'est le deuxième choix proposé).
Résultat aucune communication.
Que te dire d'autre ? 10 x Reset, débrancher re-brancher l' Arduino, changer de port USB, etc ....

Ce qui serait intéressant c'est d'avoir un retour positif de quelqu'un d'autre qui vient de le tester.

PS: Dernier hors sujet
Si je souhaite réduire la vitesse de 115200bauds à 9600bauds c'est que j'ai un manque de fiabilité de ma liaison et il me semble logique après avoir optimisé (blindé) au mieux mon cablâge, d'utiliser une vitesse plus basse.
Seulement GRBL Mega n'est pas aussi facile à modifier que ce qui est annoncé.
 
R

Rebus

Compagnon
Et bien chez moi, ça ne cause pas !
Je vais mettre ça de coté, et continuer avec GRBL ... à 9600bauds !
Bonne soirée à tous
 
V

vres

Compagnon
J'ai téléversé le sketch dans un Arduino Uno.
Ensuite j'ai installé ton logiciel MultiCN
Lorsque je le lance, Arduino connecté, il me propose dans la configuration COM15

Il propose la dernière carte sélectionnée, la COM15... C'est la mienne :mrgreen:
je change pour COM11(c'est le deuxième choix proposé).

C'est ce qu'il fallait faire
, au moins ça, ça fonctionne.

Que te dire d'autre ?
Merci de me le proposer.
Déjà comment tu vois que ça ne communique pas ?
Peux tu me faire une copie d'écran du gestionnaire de périphériques et de l'écran de MultiCN.
Par avance je te remercie, c'est grâce à des gens comme toi que l'on peut progresser.

changer de port USB,
Attention!!! quand tu changes de port USB le numéro de port série change aussi.

Si je souhaite réduire la vitesse de 115200bauds à 9600bauds c'est que j'ai un manque de fiabilité de ma liaison

Là c'est un problème Hardware, MultiCN ou un autre logiciel ça sera pareil.


Ce qui serait intéressant c'est d'avoir un retour positif de quelqu'un d'autre qui vient de le tester.
On est d'accord.

Je vais mettre ça de coté, et continuer avec XXXX ... à 9600bauds !

Je n'y vois aucun inconvénient.
 
R

Rebus

Compagnon
Re-bonsoir CNCSERV,

Vu qu'il n'y a pas foule pour tester ton logiciel, je m'y remet !

Comment je vois que ça ne communique pas ?
Les diodes tx/rx de la carte Arduino ne clignotent pas et sur les afficheurs verts et oranges en bas à gauche il n'y a que des points.

Je veux bien te faire des copies d'écran mais ça correspondra à ce que je t'ai déja indiqué.
Mes cartes Arduino, Uno, Mega fonctionnent bien et communiquent normalement avec GRBL (que j'utilise sur ma fraiseuse).

Quand à mon problème de vitesse (puisque tu en reparles) je veux simplement faire l'essai à vitesse plus lente car je pense avoir épuisé toutes les autres solutions.
Le symptome se manifeste sur le retour des coordonnées (X,Y,Z) qui se figent après un temps de travail aléatoire.
Sachant que le PC interroge la carte Arduino pour récupérer ces coordonnées entre des envois de Gcode, je crains des collisions à 115200bauds et je me dis (longue expérience en RS232) que peut être à 9600baudes ça se passera mieux.
Bonne soirée
 
S

speedjf37

Compagnon
Re-bonsoir CNCSERV,

Vu qu'il n'y a pas foule pour tester ton logiciel, je m'y remet !

Comment je vois que ça ne communique pas ?
Les diodes tx/rx de la carte Arduino ne clignotent pas et sur les afficheurs verts et oranges en bas à gauche il n'y a que des points.

Je veux bien te faire des copies d'écran mais ça correspondra à ce que je t'ai déja indiqué.
Mes cartes Arduino, Uno, Mega fonctionnent bien et communiquent normalement avec GRBL (que j'utilise sur ma fraiseuse).

Quand à mon problème de vitesse (puisque tu en reparles) je veux simplement faire l'essai à vitesse plus lente car je pense avoir épuisé toutes les autres solutions.
Le symptome se manifeste sur le retour des coordonnées (X,Y,Z) qui se figent après un temps de travail aléatoire.
Sachant que le PC interroge la carte Arduino pour récupérer ces coordonnées entre des envois de Gcode, je crains des collisions à 115200bauds et je me dis (longue expérience en RS232) que peut être à 9600baudes ça se passera mieux.
Bonne soirée

Bonsoir

Peux tu essayer avec un autre PC ?

JF
 
V

vres

Compagnon
Bonjour,

Dans Cambam:
Voir la pièce jointe 423259


Dans Multicn

Chargement DXF généré par Cambam:
Voir la pièce jointe 423260

chargement du .ngc:
Voir la pièce jointe 423261

Lancement usinage:
erreur car mon origine 0,0 -> usinage en -1.6 ,-1.6

Comment faire le 0 XY sur une position machine ?

JF
@speedjf37

Les prises origine usinage sont expliquées dans le petit mode d'emploi joint avec l'archive, et aussi dans la vidéo 1ère partie à 5:20.

Je remet le petit mode d'emploi de seulement 15 pages, donc très rapide à lire :roll: en pièce jointes
 

Fichiers joints

  • Prise en main multicn.pdf
    566 KB · Affichages: 206
V

vres

Compagnon
Vu qu'il n'y a pas foule pour tester ton logiciel, je m'y remet !

Décidément, tu as décidé de ne pas être sympa avec moi peut-être que MultiCN refuse de fonctionner par solidarité.

Plus sérieusement, il y a forcement quelques chose qui je vas pas. avec le terminal de l'Arduino configuré à 115200 bauds envoies quelques caractères normalement la carte se réveille et va t'envoyer des caractères bizarres (oui je communique en binaire). Si ce n'est pas le cas tu n'a pas téléversé le bon croquis
 
V

vres

Compagnon
je change pour COM11(c'est le deuxième choix proposé).
Résultat aucune communication.
si je redemarre le soft, je suis à nouveau sur le port com15; comme s'il ne le prenait pas en compte.
@PL50 et @Rebus
Je pense avoir trouvé le problème, pour valider le choix du port sèrie il faut cliquer ensuite sur un autre contrôle de la page.
C'est un Bug que j'ai pourtant corrigé, je ne sais pas pourquoi il n'est pas à jour dans le setup.
 
Dernière édition:
G

gralo

Compagnon
Bonjour

Il me tardait d'essayer ton logiciel,

Donc premier test, premier debugage!
la carte MÉGA (copie) ne contient pas le nom Arduino dans son pilote.
donc communication impossible. COM5

EDIT:

Deuxième test avec un UNO détecte avec le nom Arduino
meme problème, voir copie écran

Sans titre.png


Sans titre1.png
 
Dernière édition:
G

gralo

Compagnon
Ok, ça communique avec la mega, mais comme avec la Uno, la com tient environ 3 secondes et apres j'ai le message en jaune : machine ne répond pas !

Voir photo du post précédent
 
V

vres

Compagnon
Le paramétrage du port dans le gestionnaire de périphérique n'a pas une grande importance, j'ai essayé sur 3 PC et je n'ai pas eu de problème.
Je vais essayer sur un autre.
 

Sujets similaires

wika58
Général Arduino Uno R4
Réponses
17
Affichages
12 114
furynick
furynick
N
Réponses
3
Affichages
633
jpbbricole
J
T
Réponses
2
Affichages
22 386
Tristan l'apprenti
T
wika58
Réponses
122
Affichages
7 107
Philippe85
Philippe85
T
Réponses
0
Affichages
493
temujinCAM
T
M
Réponses
46
Affichages
19 895
Plopiche
Plopiche
El Zorro
Réponses
12
Affichages
498
El Zorro
El Zorro
wika58
Réponses
261
Affichages
14 833
midodiy
midodiy
wika58
Réponses
59
Affichages
1 288
synapsis
synapsis
Plopiche
Réponses
107
Affichages
6 009
Plopiche
Faber29
Réponses
8
Affichages
514
Faber29
Faber29
M
Réponses
4
Affichages
389
MakerJoGa
M
Haut