Autres MultiCN Evaluation pour Arduino Uno

  • Auteur de la discussion CNCSERV
  • Date de début
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #1
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:
victorjung
victorjung
Compagnon
12 Oct 2012
643
Nyon suisse
Super merci ! Hâte de pouvoir y jeter un oeuil
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #4
Voici un Tuto (assez nul d'ailleur) sur l'utilisation de MultiCN
 
PL50
PL50
Compagnon
7 Oct 2014
1 712
30Km de Cherbourg - Manche (50)
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 ! !
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #6
'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
Ouvrier
18 Juin 2007
472
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.)
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #8
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
Ouvrier
18 Juin 2007
472
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.
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #10
Peut-être peux tu en parler sur le bon sujet. car là je ne peux pas t'aider.
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #11
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
15 Oct 2009
2 224
indre et loire
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
Ouvrier
18 Juin 2007
472
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
6 Jan 2014
2 881
paris
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:
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #15
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
Ouvrier
18 Juin 2007
472
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é.
 
S
speedjf37
Compagnon
15 Oct 2009
2 224
indre et loire
Vu que je viens de téléverser le sketch dans l'Arduino via le port COM11,
Bonjour,

Apres le téléversement ne pas oublier de fermer l'appli arduino qui bloque le port COM11

JF
 
R
Rebus
Ouvrier
18 Juin 2007
472
Et bien chez moi, ça ne cause pas !
Je vais mettre ça de coté, et continuer avec GRBL ... à 9600bauds !
Bonne soirée à tous
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #21
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
Ouvrier
18 Juin 2007
472
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
15 Oct 2009
2 224
indre et loire
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
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #24
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
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #25
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
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #26
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
20 Jan 2010
506
31 et 46
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
20 Jan 2010
506
31 et 46
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
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 866
FR-28360
  • Auteur de la discussion
  • #30
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.
 
Haut