CNC et carte ARDUINO

  • Auteur de la discussion carlos78
  • Date de début
C

carlos78

Compagnon
Bonjour,

Je voudrais réussir à faire tourner des moteurs type Nema23 sur une carte FUNDINO Mega2560 (clone chinois de la carte officielle ARDUINO Mega2560) en utilisant des drivers unitaires TB6560.
Comme je suis complêtement néophyte en ARDUINO, programmation, fonctionnement d'un driver, etc ... je m'appuie totalement sur les infos récoltés sur internet.
Le hic (pour le moment) est que la carte Mega2560 est loin d'être la plus documentée pour le pilotage d'une CNC, et que je n'ai rien trouvé sur le cablage de ce driver.
Ca commence plutot mal.
FUNDUINO MEGA 2560 recto.jpg
Carte FUNDUINO MEGA 2560 (Prix : 13€)
DRIVER TB6560.jpg
DRIVER TB6560 (Prix : 6.5€) :-D L'avantage c'est que l'investissement pour effectuer l'essai est très faible : 3 drivers et une carte FUNDUINO pour 32€ ...

L'installation du driver de la carte se fait sans problème avec Windows (Vista) si on installe au préalable la dernière version du logiciel Arduino (Version 1.05 r2).
La carte FUNDUINO se branche sur un port série. Le port USB est transformé en un port série COM (COM3 dans mon cas). Le logiciel Arduino fourni un environnement de travail permettant d'écrire ses programmes, de les compiler et de les televerser ensuite dans la carte. Il est fourni avec un tas d'exemples de programmation permettant d'apprendre pas à pas les différentes interactions avec des capteurs de toute nature grace à des bibliothèques spécialisées qui sont également fournies. Le prix des capteurs et actionneurs est très bas, on peut donc apprendre sans se ruiner.

Pour le moment, avec un budget de 1,48€ j'ai réussi à faire tourner ce petit moteur 28BYJ-48.
C'est un moteur bipolaire 5V ayant 64 pas et une réduction mécanique de 64.Ce qui fait que pour tourner d'un tour il faut 2048pas (64x64/2).
Pour ce moteur on utilise directement la librairie stepper-h arduino. Il est alimenté directement par l'USB. Sa fréquence de 100Hz ne lui permet pas de tourner vite.
:-D J'ai réussi à faire 1 tour en 6s dans les 2 sens.
Moteur 28BYJ-48 et son driver.jpg
MOTEUR 28BYJ-48 et son DRIVER

Carlos78
 
C

carlos78

Compagnon
@VICTORJUNG : Merci pour l'info

Un des problèmes pour faire tourner un moteur PAP avec du Gcode est (semble-t-il) que la librairie stepper-h arduino d'origine n'est pas du tout adaptée au fonctionnement d'une CNC et qu'il faut passer par un programme spécifique (GRBL). Son installation n'est pas pour tout de suite.

Je voudrais dans un 1er temps vérifier le cablage d'un driver et me contenter simplement de faire tourner un moteur PAP que je connais (GB23H282, bipolaire 4 fils) avec une alimentation de 24V.

Etant neophyte, je me pose quelques questions :

1) Arduino dit qu'il faut toujours relier les GND des alimentations commande et puissance : VRAI/FAUX ? Faut-il alimenter la FUNDUINO avec une alim 5V externe (et non par l'USB) ?
2) La DATASHEET du TB6560AHQ dit (en anglais) qu'il faut impérativement respecter une séquence lors de l'initialisation : Mise sous tension alim de commande / Mise sous tension alim de puissance / Mette ENABLE HIGH / Les outputs sont alors ENABLE / Mettre RESET HIGH / Les outputs sont alors DISABLE / Le compteur interne avance ... C'est pas très clair pour moi. Quelqu'un a-t-il un exemple d'initialisation ?
3) Comment gère-t-on en amont le délai d'initialisation du dialogue avec le moniteur (par le COM) dans la phase d'initialisation du driver ?
4) Le driver a 6 entrées : EN- / EN+ / CW- / CW+ / CLK- / CLK+ ou est le RESET ? sur la carte driver ? Est-il préferable de cabler EN- / CW- / CLK- directement au GND ou à des sorties numériques qu'on peut activer au bon moment en LOW ?
5) J'ai lu sur internet qu'il y a 2 possibilités de cablage des 6 entrées : en "YIN" (cablage des EN-, CW-, CLK- au GND, activation par un signal HIGH)) et le "YANG" ( EN+, CW+, CLK+ au GND, activation par un signal LOW). J'aurais tendance à préferer le "YIN". Quel est l'intèrêt du cablage inverse ?
6) En regardant quelques programmes je crois comprendre que pour avancer d'un pas il faut dans le programme une séquence en 3 temps qui consiste à mettre à LOW la sortie numérique sur laquelle est cablée CLK, puis la mettre en HIGH, puis programmer impérativement un DELAY très court. VRAI/FAUX ? Quel est l'impact de ce délai : Vitesse ? quelles sont les valeurs admissibles (MIN / MAX) ?
7) Le changement de direction est simplement activé en inversant l'état de la sortie numérique sur laquelle est cablée CW. VRAI / FAUX ?
8) Quel est l'impact du réglage du DECAY SETTING ? (0%, 25%, 50%, 100%)

Carlos78

:supz: ------- > LES REPONSES A CES QUESTIONS SONT PLUS LOIN
 
V

victorjung

Compagnon
Re: Moteur PAP et carte ARDUINO

En effet stepper.h tu peux t'en inspirer la modifié maistelle qu'elle ne fait que tourner des moteurs, pour une cn faut gérer les accélérations tout ca tout ca...
1) Arduino dit qu'il faut toujours relier les GND des alimentations commande et puissance :[glow=red]ca dépend comment c'est foutu, a priori la non, juste la masse de l'arduino et du drivers /[/glow] Faut-il alimenter la FUNDUINO avec une alim 5V externe (et non par l'USB) [glow=red]ca change rien ![/glow]
2) La DATASHEET du TB6560AHQ dit (en anglais) qu'il faut impérativement respecter une séquence lors de l'initialisation : Mise sous tension alim de commande / Mise sous tension alim de puissance / Mette ENABLE HIGH / Les outputs sont alors ENABLE / Mettre RESET HIGH / Les outputs sont alors DISABLE / Le compteur interne avance ... C'est pas très clair pour moi. Quelqu'un a-t-il un exemple d'initialisation ?[glow=red]pas d'exemple mais suis ce qui est dit et ca devrait aller![/glow]
3) Comment gère-t-on en amont le délai d'initialisation du dialogue avec le moniteur (par le COM) dans la phase d'initialisation du driver ? [glow=red]c'est quoi le moniteur pour toi je te suis pas trop[/glow]
4) Le driver a 6 entrées : EN- / EN+ / CW- / CW+ / CLK- / CLK+ ou est le RESET ? sur la carte driver ? Est-il préferable de cabler EN- / CW- / CLK- directement au GND ou à des sorties numériques qu'on peut activer au bon moment en LOW ?[glow=red]dans un premier temps j'essayerai au gnd comme le schéma[/glow]
5) J'ai lu sur internet qu'il y a 2 possibilités de cablage des 6 entrées : en "YIN" (cablage des EN-, CW-, CLK- au GND, activation par un signal HIGH)) et le "YANG" ( EN+, CW+, CLK+ au GND, activation par un signal LOW). J'aurais tendance à préferer le "YIN". Quel est l'intèrêt du cablage inverse ? [glow=red]Je connais pas ces cablages désolé[/glow]
6) En regardant quelques programmes je crois comprendre que pour avancer d'un pas il faut dans le programme une séquence en 3 temps qui consiste à mettre à LOW la sortie numérique sur laquelle est cablée CLK, puis la mettre en HIGH, puis programmer impérativement un DELAY très court. VRAI/FAUX ? Quel est l'impact de ce délai : Vitesse ? quelles sont les valeurs admissibles (MIN / MAX) ?[glow=red]a priori oui sur la vitesse, mini-> faut que le moteur ait le temps de tourner, maxi, qu'il fasse plus que 2 pas avant que tu t'endormes![/glow]
7) Le changement de direction est simplement activé en inversant l'état de la sortie numérique sur laquelle est cablée CW. VRAI / FAUX ?[glow=red]oui simplement[/glow]
8) Quel est l'impact du réglage du DECAY SETTING ? (0%, 25%, 50%, 100%)[glow=red]ou se trouve se réglage ?[/glow]

toutes tes interrogations ou presque viennent de l'utilisation de la biblio stepper, tu voudrais pas essayer de faire tourner ton moteur avec un prog bien a toi ou tu allumes et eteins les sorties au bon moment!
bon courage en tout cas
 
S

speedjf37

Compagnon
Re: Moteur PAP et carte ARDUINO

Bonjour,

rechercher "grbl mega 2560" :rolleyes:

une solution arduino cnc
 
C

carlos78

Compagnon
@VICTORJUNG : je vais effectivement écrire moi-même quelques bouts de programme pour tester et me faire une opinion.
Le "moniteur" c'est le moniteur série qui fait partie de l'environnement de développement ARDUINO. Le DECAY SETTING c'est les switchs S5 et S6 des drivers

@ORION-P87 : Sur le site de civade.com il y a effectivement plein d'infos qui me serviront je l'espère pour installer le moment venu la version de grbl qui va bien (après l'avoir configurée). C'est ce site qui m'a amené par curiosité a essayé de tester l'ARDUINO pour une CNC. Dans son cas c'est une carte ARDUINO UNO et effectivement il utilise un shield ARDUINO spécifique qui reçoit directement des drivers TB6560 miniatures (les POLOLU). Du coup, Il y a effectivement beaucoup moins de problèmes de cablage puisque tout est intégré et prévu pour tourner sur une ARDUINO officielle. Sur You Tube, j'ai vu également que beaucoup branchent l'ARDUINO directement sur le connecteur parallèle d'une carte TB6560 complète (celle qui prévue pour 3 ou 4 moteurs PAP), du coup le cablage est là aussi simplifié.
J'ai choisi ces drivers plus "classiques" parce que ceux-ci sont pas chers et qu'ils pourront toujours servir (si ça ne marche pas) sur une CNC en ajoutant une bob basique à 10€ branchée sur le port parallèle d'un vieux PC. Leur inconvenient (pour le moment) pour l'ignorant que je suis c'est leur cablage et qu'ils n'ont pas été faits spécifiquement pour l'ARDUINO.

@SPEEDJF37 : j'ai justement commencé par chercher avec grbl mega 2560. Il devrait y avoir une solution pour charger grbl sur cette carte puisqu'elle est compatible de l'ARDUINO mega 2560.

Carlos78
 
C

carlos78

Compagnon
Bonjour,

Je commençais à désesperer de réussir à faire simplement tourner mon PAP avec ma carte Arduino Mega2560 et mes 3 drivers TB6560.
Mes recherches sur le net n'ont rien donné si ce n'est des tas d'exemples de fichiers source qui sont tous incapables de faire tourner ce PAP, et des exemples de cablage des drivers assez foireux. Bref une très GROSSE perte de temps. La librairie stepper-h n'est pas du tout adapté à ce besoin, et les commandes simplistes qui consistent à envoyer un pulse sur le CLK (=STEP) sont inopérantes dans mon cas.

:prayer: Grâce à l'aide de LETARTARE, j'ai réussi enfin à faire tourner le moteur !!!!
IMG_3106.JPG
Câblage driver TB6560 sur Funduino (Arduino) Mega2560

TUTO d'installation pour ceux que ça intéresse (toutes les infos m'ont été fournies par LETARTARE) :

CABLAGE ENTREES DU DRIVER :
CLK+ et CW+ reliés au +5V de la carte arduino
CLK- (STEP) sur la broche 22 (configurable dans le paramétrage)
CW- (DIR) sur la broche 23 (configurable dans le paramétrage)
aucune liaison sur EN- et EN+
pas de GND commun entre le 5v de l'arduino (par usb) et le 24v de l'alimentation puissance.

CABLAGE SORTIES DU DRIVER et ALIMENTATION :
RAS c'est du classique : B-, B+, A-, A+, GND, +24V

PARAMETRAGE DES SWITCHS DU DRIVER
Ampérage 2A (SW1 On, SW2 Off, SW3 On, S1 Off)
Stop courant 20% (S2 On)
Mode d'excitation 1/1 = pas entier (S3 Off, S4 Off)
Réglage Decay 100% (S5 On, S6 On)

PROGRAMMATION DE LA CARTE ARDUINO MEGA 2560
:lol: il faut à peine 10mn ...
- récupérer le fichier zip telechargeable ici : https://github.com/LETARTARE/Grbl_with_Arduino. ce fichier contient 4 configurations de GRBL (cartes UNO et MEGA).
- Extraire de ce zip le répertoire Grbl82Mega2560 dans le répertoire Libraries. Ce répertoire a été crée lors de l'installation de la carte arduino (C:/Program Files/arduino/libraries).
- Lancer normalement l'environnement de développement arduino.
- Charger le sketch qui se trouve maintenant dans l'onglet : "Fichier / Exemples / Grbl82Mega2560 / Grbl82Mega2560.ino"
- Surprise : Ce sketch pour un non initié comme moi parait VIDE. Il n'en est rien.
- Raccorder la carte arduino (vérifier si le port COM est OK)
- Téleverser comme d'habitude ce programme sur la carte (sa taille est de 25 688 octets).
:supz: C'est fini. La carte raccordée sur un port USB du PC est maintenant prête à donner des instructions aux drivers ...

DIALOGUER AVEC LA CARTE ARDUINO MEGA 2560
:lol: Encore 10mn ...
- Installer la Version 3.5.1 de Grbl Controller Windows
- Lancer le programme Grbl Controller 3.5.1 ( :-D en français)
- Choisir le port de communication (COM3 pour moi), la vitesse de transmission à 57600 bauds. Sur l'onglet "Outils / Options" cocher la case "valider le mode 4 axes"
- Raccorder la carte arduino au PC et appuyer sur la touche "OUVRIR"
:supz: Le dialogue s"établi avec la carte ... On peut tester immédiatement les commandes manuelles et un programme Gcode.
Capture ecran Grbl Controller 3.5.1.JPG
Ecran Grbl Controller 3.5.1
Ca marche impeccable . Les accélerations sont puissantes.
Je vais maintenant m'intéresser au paramétrage de GRBL ...

:mad: 3 jours que je cherchais et :-D :-D :-D à peine une 1/2 heure pour y arriver.

Merci LETARTARE

PS1 : ATTENTION aux différentes versions de Grbl :
1- l'assignation des broches se retrouve
soit dans "config.h" pour la 0.82,
soit dans "pin_map.h" pour les 0.8c,
soit dans "cpu_map.h" pour les 0.9x,
elle est différente pour la Mega2560 selon les versions (0.82 et 0.9d),
2- les versions de Grbl se situe dans "settings.h"

PS2 : la version 3.5.1 de GrblController téléchargée sur le site Zapmaker est partiellement francisée.
LETARTARE propose de remplacer le fichier GrblController_fr.qm (C:/Program Files/Grbl Controller/trlocale) par celui-ci Voir la pièce jointe GrblController_fr.zip

Carlos78
 
L

LETARTARE

Compagnon
Bonjour à tous,
@carlos78
c'est simplement que Zapmaker (l'auteur du logiciel) n'a pas eu le temps d'insérer ma traduction (je suis le traducteur en français) dans la version proposée 3.5.1.

Je tiens à préciser que la version de Grgl-0.82 pour la Mega2560 est une ancienne version (0.81) sauvée des eaux dont j’ai fait un double sur mon site dans laquelle j'ai juste corrigé quelques oublis de l'auteur (inconnu pour moi), mais cette version à l'avantage de piloter 4 axes théoriquement.
Les essais de synchronisme complets des quatre axes n'ont pas été réalisés.

Bien cordialement à tous.
 
C

carlos78

Compagnon
Bonjour,
Le fichier config.h (celui contenu dans Grbl82Mega2560) contient les infos de paramétrage des pins sur la carte arduino Mega2560 :

config.h - compile time configuration
...
#define BAUD_RATE 57600
...
#define X_STEP_BIT 0 // MEGA2560 Digital Pin 22
#define Y_STEP_BIT 2 // MEGA2560 Digital Pin 24
#define Z_STEP_BIT 4 // MEGA2560 Digital Pin 26
#define C_STEP_BIT 6 // MEGA2560 Digital Pin 28
#define X_DIRECTION_BIT 1 // MEGA2560 Digital Pin 23
#define Y_DIRECTION_BIT 3 // MEGA2560 Digital Pin 25
#define Z_DIRECTION_BIT 5 // MEGA2560 Digital Pin 27
#define C_DIRECTION_BIT 7 // MEGA2560 Digital Pin 29
...
#define STEPPERS_DISABLE_BIT 7 // MEGA2560 Digital Pin 30
...
#define LIMIT_PULLUP
#define X_LIMIT_BIT 6 // MEGA2560 Digital Pin 31
#define Y_LIMIT_BIT 5 // MEGA2560 Digital Pin 32
#define Z_LIMIT_BIT 4 // MEGA2560 Digital Pin 33
#define C_LIMIT_BIT 3 // MEGA2560 Digital Pin 34
...
#define HOME_X
#define HOME_Y
#define HOME_Z
#define HOME_C
...
#define SPINDLE_ENABLE_BIT 3 // MEGA2560 PWM Pin 6
...
#define SPINDLE_DIRECTION_BIT 1 // MEGA2560 Digital Pin 36
...
#define COOLANT_FLOOD_BIT 0 // MEGA2560 Digital Pin 37
...
#define COOLANT_MIST_BIT 2 // MEGA2560 Digital Pin 35
...

:-D :-D :-D :-D On peut donc piloter 4 moteurs avec les limites, controle de la broche et de l'arrosage ...

J'ai cru comprendre qu'on ne peut pas changer impunement l'affectation des broches car il y a un traitement par mappage d'un masque qui est éffectué sur les blocs d'entrées de la carte arduino, ce qui permet de faire une écriture extrêmement rapide car simultanée sur les 8 entrées d'un bloc.

J'ai fait des essais en jouant sur les microsteps et sur le réglage du decay car le réglage en pas entier est trop "rude" avec des à coups au démarrage et à l'arrêt.
on peut mettre : 1/16 de pas et decay à 0%, ou 1/8 de pas et decay à 25%, ou 1/2 pas et decay à 50% je préfère car c'est plus fluide.

Carlos78
 
C

carlos78

Compagnon
@FABRICE C : Je n'ai pas testé avec un moteur.
La broche apparait dans le fichier config.h (dans cette version de GRBL) comme étant pilotée par les pins 6 (Marche/Arrêt) et 36 (Sens de rotation) de la Mega2560 .
:-D :-D J'ai essayé avec une LED branchée entre GND et la pin6 : La commande M3 allume la led et bien sur la commande M5 éteint la led
J'imagine que ces 2 pins doivent ensuite commander des relais de puissance pour commander la broche.
IMG_3109.JPG
Relais 220v 7A (Prix 2€)
Carlos78
 
L

LETARTARE

Compagnon
Bonsoir,
carlos78 a dit:
CLK+ et CW+ reliés au +5V de la carte arduino
CLK- (STEP) sur la broche 22 (configurable dans le paramétrage)
CW- (DIR) sur la broche 23 (configurable dans le paramétrage)
sur Mega2560 + Grbl0.82 le signal de ces broches peut varier selon la valeur de la directive de configuration "$8=xx" (0 ou 3 dans la suite).
Sur les images suivantes CH1=Cw- et CH2=Clk- et pour une même commande "g01 X1000"
1- "Clk-" est au niveau 1 pendant 20 µS et au niveau 0 pendant 100 µS, "Cw-" est au niveau 0
GrblMegaDirClkDir.jpg
directive "$8=0" et la commande "g01 X1000"
2- Clk- est au niveau 0 pendant 20 µS et au niveau 1 pendant 100 µS, "Cw-" est au niveau 1
GrblMegaDirClkInv.jpg
directive "$8=3", on inverse les deux et la commande "g01 X1000"

Il faudra donc choisir la configuration de Grbl en accord avec l'étage de puissance du moteur, à vérifier sur votre montage.

Bien cordialement
 
C

carlos78

Compagnon
@LETARTARE : Un cycle (micro)step durerait donc 120 µs. :-D C'est plutot rapide.
Dans quel fichier se trouve la directive de configuration $8 ? En changeant sa valeur pourrait-on cabler autrement les entrées du driver CLK+, CLK-, CW+, CW- ?

--> Des infos intéressantes sur la redoutable éfficacité de l'écriture directe des PORTx arduino : écriture d'un port en 0.125µs et Un mini Tuto sur les ports (en français).
:supz: Sauf erreur de ma part : 0.125µs doit correspondre à 2 cycles CPU pour le processeur de l'arduino cadencé à 16MHz ...

Carlos78
 
L

LETARTARE

Compagnon
Bonjour,
si on a choisi les mm au lieu des pouces, cela dépend de la vitesse de travail (ou de déplacement) programmée "Fxxx" (en mm/mn) , exemple "G01 F600 X100" indique un déplacement linéaire en X de 100 mm à la vitesse de 600 mm/mn (soit 10 mm/s), il existe une vitesse prédéfinie.
Ces directives de commande ($xx) sont destinées à dialoguer avec l'interpréteur par l'interface de dialogue pour lui indiquer différents paramètres à mémoriser dans des variables internes, justement pour éviter de modifier les sources, et sont différentes selon la version de Grbl.

Dans l'interface "Grbl Controller", sur la ligne "Texte", taper "$" et valider vous verrez toutes les directives possibles de la version de Grbl utilisée avec leur rôle, et c'est uniquement par ce biais que vous devez paramétrer ces valeurs (par exemple le nombre de pas moteur par mm).
"Grbl Controller" offre une interface supplémentaire par l'onglet "Avancé->Configuration Grbl" ou vous pourrez modifier ces valeurs directement et les valider.
N'essayez pas de modifier les sources, ceci peut induire des effets secondaires inattendus (par exemple changer une sortie moteur de place !!)

Grbl utilise l'accès par port, bien entendu, pour des raisons de rapidité d'accès aux broches.

Bien cordialement.
 
L

LETARTARE

Compagnon
Rebonjour,
j'ai oublié de préciser que les diagrammes présentés pour l'axe X ont été réalisés sans aucun moteur connecté avec
1- la vitesse "F5000" mm/mn soit 83,33 mm/S,
2- une directive de commande "$0=100" pas/mm (400 pas moteur/t, pas vis 4 mm) soit 8333 pas/S ( période = 120 µS),
3- la valeur de 20 µS est imposée par "$4=20" µS.

Bien cordialement.
 
C

carlos78

Compagnon
@LETARTARE : Je viens de comprendre comment se calcule la durée du (micro)step et les paramètres $ de Grbl Controller : 120µS pour un microstep n'est donc pas un paramètre de base mais le résultat d'un calcul.
J'ai fait un essai avec 3 moteurs PAP Nema23 (Ref 57BYGH) avec un réglage en 1/8ème de pas. J'ai simulé une vis ayant un pas de 5mm, ce qui fait 320 microstep/mm.
J'ai repris un programme déja utilisé ou j'usine les dents d'un pignon non circulaire. La led allumée simule l'activation de la broche.
:mad: Malheureusement un driver est en panne : c'est celui qui a servi aux manipulations de cablage très hasardeuses. Je l'ai mis en Z car ses déplacements dans ce programme sont très faibles.
:-D :-D :-D Le fonctionnement à l'air très correct mais ... on ne peut pas valider sans un réel usinage.
Une petite video de l'essai :
Carlos78
 
Dernière édition par un modérateur:
L

LETARTARE

Compagnon
Bravo, je vois que les tests avancent bien, et donc j'en conclus que les paramètres de configuration n'ont plus de secret pour vous.
Avez-vous levez le choix des signaux Cw- et Clk- (directs ou inversés) ?
Bien cordialement
 
C

carlos78

Compagnon
@LETARTARE : Pour le cablage je suis resté sur l'utilisation de CLK- et CW-. Le masque de $8 = 85 (step port invert mask. binary = 01010101) et $9 = 0 (step port invert mask limit. binary = 00000000) ne me parlent pas encore.

:-D :-D Grbl Controller 3.5.1 est assez prometteur et plutot simple d'utilisation.
Mon avis est qu'Il n'égale pas (encore) LINUXCNC mais il est vraiment sur la bonne voie.
Quelques améliorations seraient souhaitables :
- Ajout dans la fenêtre "valeur du pas" du mode continu qui est bien pratique.
- Utilisation des touches fléchées du clavier pour les déplacements manuels X,Y et Z.
- Amélioration dans la fenêtre visualisateur : zoom, déplacement du focus de la fenêtre, effaçage des traces d'usinage.
- etc ...
Attendons les versions suivantes.

Carlos78
 
L

LETARTARE

Compagnon
@carlos78
Pour "Grbl Controller-3.5.1", le mieux serait d'exprimer vos souhaits sur le site de GrblHoming dans "Issues" ainsi il peut en prendre connaissance
Quant à le comparer à "LinuxCNC" : surtout pas, "GrblHoming" n'est qu'une interface de dialogue avec Grbl.

Pour les paramètres "$8" et "$9", je vais essayer de trouver une clarification.
Auriez-vous le schéma des entrées de votre TB6560 ? genre :
doctb6560.jpg
schéma des entrées TB6560

Et surtout ne faites pas comme moi, par étourderie :
tb6560.jpg
Erreur de branchement des connecteurs (sans détrompeurs) de gauche !!! SPLASH BOUM

A bientôt
 
C

carlos78

Compagnon
:wink: Sans faire BOOM avec les drivers ! j'ai refait un essai de lecture de Gcode avec Grpl Controller.

Réglage des drivers pour cet essai : Intensité 1A, Stop courant 20%, Excitation mode 1/8, Decay 25%. J'ai constaté une chauffe plutot "anormale" des drivers et des moteurs. Ca sentait le chaud donc j'ai arrété l'essai au bout de 45mn.
:mad: Résultat : radiateurs des 2 drivers X et Y brulants (75°C) (Z ne compte pas vu qu'il est en panne), moteurs X et Y très chauds (60°C) ... les moteurs presque brulants c'est pas normal surtout qu'ils tournent à vide et que le fonctionnement est doux et sans à coups brutaux.

:-D :-D :-D 2ème essai avec le même programme (durée 1h), règlages driver Stop courant 50% et intensité sur 2A , decay et microstep inchangés. C'est beaucoup mieux : Radiateurs 35°/40°C, pattes du TB6560 45°/ 50°C, moteurs 32°C, ambiant 20°C :
:supz: :supz: PLUS DE CHAUFFE Ca commence à être bon.

@ LETARTARE : Aucune doc est fourni avec le driver. On trouve plein d' infos de branchement très différentes de celles utilisées !

NB : J'ai commandé un nouveau driver pour le Z (coût 6.25€). C'est vraiment pas la ruine.

Carlos78
 
L

LETARTARE

Compagnon
@carlos78
j'ai attiré votre attention sur le câblage des entrées par deux relevés à l'oscilloscope.
Aussi le câblage dans le lien fourni (Schéma Ov commun) peut être utilisé avec la première image (OV en commun relié aux "xxx-", $8=0) et votre câblage actuel avec la deuxième image (5V commun relié à xxx+, $8=3).
Personnellement je testerai ces deux solutions, car dans les deux cas le circuit TBA6560 devrait recevoir un signal correct en phase avec le front montant des entrées.
Cela étant je n’ai pas fait le test en durée (au moins 1 heure en charge), et donc mes assertions sont purement théoriques.
Bons essais.
PS : en me relisant j'ai tout inversé !!!
Mon dernier conseil, faites les 2 câblages possibles et chacun avec $8=0 et $8=3, ainsi les 4 essais vous donneront le meilleur résultat.
 
C

carlos78

Compagnon
@LETARTARE : Je n'ai pas trouvé d'infos sur l'affectation des bits dans le mask de $8 dans la version Grbl de Zapmaker.

Pour tester une variante de câblage inverse des entrées sur les drivers, et ne voulant pas prendre de risque en changeant la valeur du mask en $8 (par defaut 01010101 = 85), j'ai donc rien fait d'autre qu'une inversion du branchement des cables sans changement des paramètres Grbl et là une bonne surprise : ça marche !!!.
Le test du même Gcode de 1h donne les mêmes résultats : températures identiques au cablage précedent, et donc pas de chauffe.

:supz: En résumé, on peut (avec cette version de Grbl) cabler au choix les entrées du driver TB6560 de 2 façons :
1) CLK+ et CW+ sur +5v de l'arduino, CLK- (STEP) sur broche 22 (axe X), CW- (DIR) sur broche 23 (axe X). On ne cable pas EN- et EN+
2) CLK- et CW- sur GND de l'arduino, CLK+ (STEP) sur broche 22 (axe X), CW+ (DIR) sur broche 23 (axe X). On ne cable pas EN- et EN+
- Dans mes essais pas de liaison entre le GND arduino et le GND de l'alimentation 24V des moteurs.
- Je n'ai changé aucun paramètre dans Grbl entre ces 2 configurations de cablage.

Carlos78
 
C

carlos78

Compagnon
@LETARTARE : Peut-on utiliser d'autres programmes que Grbl Controller pour envoyer du gcode à l'arduino avec la version Grbl82Mega2560 ? Sur votre Zip il y a également la version Grbl9dMega2560 qui se télecharge apparemment de la même façon via les liraries. Quelles sont les améliorations de la version 9 de Grbl et peut-on l'essayer ? Les 2 autres versions s'adressent à la carte Uno standard ?
 
L

LETARTARE

Compagnon
@carlos78
Bonjour,
autres programmes que Grbl Controller
bien sur, il faut chercher "streamer GCode", ils existent ceux du site officiel de Grbl, tous (ou presque) écrit en Java (nécessite une machine virtuelle Java installée sur votre ordinateur), mais à l'époque je voulais une interface Grbl écrite en C++, c'est la raison pour laquelle j'ai retenu "GrlHoming" dans laquelle j'ai pu rapidement ajouter un quatrième axe et la traduction en français.

Quelles sont les améliorations de la version 9 de Grbl et peut-on l'essayer
C'est la dernière version de développement (réservée aux expérimentateurs) dans laquelle la carte Mega2560 est utilisable (sans garantie de bon fonctionnement) en 3 axes.
Vous pouvez, bien sur, l'essayer : mais attention le brochage est différent :oops:

Les 2 autres versions s'adressent à la carte Uno standard
Oui, lorsque vous recevrez votre carte Uno (328pr3) vous pourrez les essayer de la même manière :
mais attention le brochage est différent :oops:

Très bien vos tests, sitôt que j'ai accès à mon matériel je ferais les mêmes tests que vous, mais en panachant les valeurs de "$8" (il me semble que votre masque est incomplet et ne prends pas en compte la broche Dir).
Bien cordialement.
 
C

carlos78

Compagnon
@LETARTARE : Merci pour vos réponses.

Le paramétrage des pins de la version 9d de GRBL se trouve dans le fichier cpu_map.h : L'affectation des broches est effectivement différent de la version 8.
Le televersement dans l'arduino ne pose pas de problème particulier (taille 28826 octets après compilation) par contre le dialogue sur le port série ne s'établi pas (pour le moment) avec Grpl Controller même en essayant les 5 vitesses de transmission (9600 à 115200 bauds).

Carlos78
 
L

LETARTARE

Compagnon
Bonjour,
0- arrêter GrblHoming,
1- déconnecter USB de la carte, attendez 10 S et reconnecter,
2- vous devez entendre un son de connexion, vérifier que votre bon port de liaison apparaisse bien,
3- lancer GrblHoming connectez vous ...

Je refais le test sous Vista pro pack2, avec Grbl9dMega et Mega2560 sur COM10 à 115200 bauds, à la connexion :
Grbl9dMegaZap.jpg
GRblHoming
et le résultat sur la broche 24 :
Grbl9dMegaF3000X10000.jpg
la sortie horloge de l'axe X sur la broche 24
Si cela ne fonctionne pas, recommencez en 0-.
Bien cordialement
 
C

carlos78

Compagnon
:mad: Les ennuis commencent.
Comme la version 9d ne veut pas dialoguer avec Grpl Controller sur le port COM, j'ai rechargé la version précedente Grbl82Mega2560 sur l'arduino : PB !!! même echec de communication avec Grbl Controller.
Puisqu'il y a maintenant avec Grbl un PB de communication avec la carte j'ai essayé de revenir sur un exemple basic fourni par arduino. La communication marche avec cet exemple sur la console série de l'environnement arduino.
sur Civade.com je lis :
"Tests de bon fonctionnement du firmware
Lancer l'environnement arduino, sélectionnez le port série sur lequel est raccordé la carte et lançez la console série à l'aide de l'icone totalement à droite. Passez la vitesse à 115200 bauds en bas à droite et appuyez sur le bouton reset de l'Arduino.
GRBL devrait vous accueillir avec sa bannière :
Grbl 0.9c (20131231) ['$' for help] ['$H'|'$X' to unlock]
"
:shock: J'ignorais qu'on pouvait vérifier le fonctionnement du firmware Grbl à partir de l"environnement arduino. Je me demande même si on peut pas envoyer des commandes ... :mad: Malheureusement pour le moment Grbl n'envoie pas/plus sa bannière !

Carlos78
 

Sujets similaires

M
Réponses
6
Affichages
1 053
MitchCanon
M
T
Réponses
2
Affichages
22 406
Tristan l'apprenti
T
Haut