arduino mega 2560 / Ramps 1.4 / drivers A4988

  • Auteur de la discussion Fred69
  • Date de début
Fred69
Fred69
Compagnon
Bonjour,
J'ai en cours la construction d'une imprimante 3D (qui pourrait -être aussi un CNC à ce stade).

le matériel utilisé :
ARDUINO MEGA 2560
CARTE RAMPS 1.4
pour info : Comment assembler une Ramps 1.4

drivers A4988
alimentation PC 12V ( Conversion d’une alimentation ATX pour l’électronique de l’imprimante 3D )
moteurs Nema 17 17HS4401 bipolaires

logiciels installés :
( sous Windows 10 )
Arduino IDE
grbl-Mega
pour Aduino Mega 2560 (https://github.com/gnea/grbl-Mega) : apparemment ne convient pas avec cette configuration
GRBL 0.9j for Arduino Mega 2560 and RAMPS 1.4 ( https://github.com/perivar/grblForRAMPS )

Candle vesion 1.1.7

remarques :
Arduino IDE est installé et fonctionel

Grbl-Mega j'ai essayé cette version mais rien ne fonctionne, les moteurs ne tournent pas
je passe à :
grblForRAMPS : GRBL 0.9j for Arduino Mega 2560 and RAMPS 1.4



Candle est installé et fonctionne (mais n'actionne pas les moteurs)
1612519294268.png


Sur la carte RAMPS 1.4 j’ai installé les drivers A4988 pour les axes X et Y et branché les moteurs.
La vitesse de transfert 115200 bds est sélectionnée dans Grbl, Candle et Com4 (gestionnaire de périphériques)

Lorsque je lance un traitement sur Candle (« envoyer ») l’outils se déplace sur l’écran mais aucun moteur ne tourne.
1612519537882.png

l’action sur les flèches du contrôle manuel ne donne aucun résultat.

Je ne comprend pas ou se trouve le problème, il faut que j'essaie de vérifier ce que le câble USB envoie dans l'Arduino.
auriez-vous une idée ?
merci d'avance.
 
Dernière édition:
Fred69
Fred69
Compagnon
Je viens de vérifier les données passent bien sur le port COM 4:
1612520915653.png
 
Fred69
Fred69
Compagnon
Je n'ai jamais fait ce type de montage, mais as-tu comparé les pinout de GRBL Mega et celui de la carte Ramps 1.4 ?
Ben non justement. Il parait qu'il y a des pb avec les cartes chinoises.
On en parle dans ce fichier : RAMPS 1.4
Other production boards found in the wild (autres cartes trouvées dans la nature)
- composants d'alimentation manquant,
- pistes sur la carte trop fines.
Il y a aussi un chapitre
Firmware and Pin Assignments qu'il faut que je regarde de près.
Je vais essayer de voir où est le problème, au besoin je change la carte.
 
H
Hubert86
Compagnon
En manuel tes moteurs fonctionnent? mais attention comme @jpbbricole le dit si c'est un interface Ramp pour Uno les sorties ne sont pas les mêmes; également tu dois régler l'intensité sur les modules de puissances. Mais avant de lancer un programme, s'assurer que tout fonctionne en manuel, sens de rotation des moteurs, limite et autre paramètres.
 
Fred69
Fred69
Compagnon
En manuel tes moteurs fonctionnent?
qu'entends-tu par là ? à la main ça tourne, mais en utilisant les touches de la console Candle
1612544583012.png
ça ne fonctionne pas.

Je ne crois pas que la Ramps 1.4 puisse s'adapter sur un arduino uno, ce n'est pas le même format.
Je n'ai pas encore régler les drivers, pour le moment ils sont à mi-course.

Sur le vidage mémoire (partiel) du cable USB on voit bien que les instructions arrivent sur la Arduino mega,
je pense donc que le problème se situe après.
Merci pour le infos.

1612545064993.png
 
greg_elec
greg_elec
Ouvrier
Moi il y a un truc qui me chagrine c'est la modification de l'alim ATX .
Utiliser QUE le 12 V est un non sens car la régulation de l'alimentation se fait sur le 5 Volt .
Pour que cela fonctionne bien il faut charger le 5 Volt avec un une résistance faible ( Lampe 12V 55W de voiture) pour avoir une bonne régulation .

Voir ici: https://reprap.org/wiki/PC_Power_Supply
 
Dernière édition:
H
Hubert86
Compagnon
Oui en manuel a partir de candle évidemment. De plus je suis assez d'accord pour les alimes de pc, c'est pas top, pour les moteurs plutôt du 24vdc. Ne branche qu'un seul moteur, regarde s'il fonctionne en manuel, si ok un deuxième prioritairement x, y, z. il faut procéder par étape. Aussi le réglage du courant. Si le premier moteur ne fonctionne pas, change d'emplacement, change de moteur. Regarde tes paramètres GRBL voila quelques pistes.
 
greg_elec
greg_elec
Ouvrier
Quand Candle démarre tout est bloqué il faut envoyer $X dans la console pour tout débloquer
 
H
Hubert86
Compagnon
je ne suis pas sure que candle soit compatible avec GRBL 1.1 , ça doit dépendre de la version, essaye grbl control ou ugs
 
Fred69
Fred69
Compagnon
je ne suis pas sure que candle soit compatible avec GRBL 1.1
J'ai précisé au début que j'utilise Grbl-Mega qui est compatible (d'après ce que je constate) avec Candle.
Le problème est entre les deux cartes : arduino Mega 2560 et la Ramps 1.4.
 
S
speedjf37
Compagnon
Bonjour,

J'ai en cours la construction d'une imprimante 3D (qui pourrait -être aussi un CNC à ce stade)

GRBL n'est pas prévu pour piloter une imp3D mais une CNC avec Laser en option .
Pas de gestion d'extrudeur , de lit chauffant ni de sondes de température !

Marlin sur MEGA2560 avec Ramps 1.4 fonctionne bien.
Il faut ajouter un afficheur boutons + carte SD !

Attention au sens de montage des drivers (pololu) !
Est ce que les moteurs sont bloqués ?

Cordialement JF
 
gégé62
gégé62
Compagnon
bonjour
à tout hasard, et venant d'un newbie....moi ! as-tu bien connecté les broches Enable des drivers ?
 
H
Hubert86
Compagnon
Dans un premier temps, il s'agit de faire avancer les moteurs dans un sens dans l'autre. A la limite Imprimante ou cnc on s'en fou. Pour l'enable pareil pas besoin dans un premier temps il sert pour un maintient de couple lors d'un l'arrêt. Pour Candle j'ai déjà lu des topic ou avec candle les moteurs ne tournaient pas, avec grbl control oui, alors essaye, profites en aussi pour essayer avec UGS. C'est gratuit. A partir du moment ou tous tes moteurs fonctionneront, Il sera temps de te poser la question pour Marlin prévu pour imprimante, pas grbl. De plus tu dis quand candle démarre tout se bloque, et plus loin tu dis le pbl est entre l'arduinio et la carte Ramp mais candle ne sait pas ce qui se passe entre ton arduino et ta carte Ramp. Donc soit ton arduino plante soit c'est un pbl de compatibilité avec Candle. Actuellement y a trop de possibités de plantage donc il faut les éliminer une par une .
 
Fred69
Fred69
Compagnon
@Hubert86 je suis d'accord, j'ai déjà mis marlin de coté.
GRBL est chargé sur l'Arduino Mega, c'est donc lui qui envoie les ordres sur la RAmps 1.4. Il faut que je vérifie le paramétrage de grbl, il y a peut-être un problème par là.
L'alimentation débite bien 12V et d'après les instructions de RepRap il n'y a pas de problème de ce coté, même si 24V peut-être un (très léger) plus.

@gégé62 à partir du moment ou les drivers sont insérés sur la ramps, toutes les broches sont connectées.

Marlin sur MEGA2560 avec Ramps 1.4 fonctionne bien.
Il faut ajouter un afficheur boutons + carte SD !
Qu'est-ce que c'est exactement un "un afficheur boutons + carte SD " ? une carte SD ok, mais l'afficheur bouton ?
les drivers sont montés dans le bons sens, les broches sont repérées sur la carte et sur les drivers, donc difficile de se tromper.
Les moteurs ne sont pas bloqués.
Bonne journée
 
jpbbricole
jpbbricole
Compagnon
Bonjour Fred69

Je répète ma question du post #2, as-tu contrôlé le pin assignement de la carte Ramps 1.4 avec le pin assignement de GRBL Mega?
Tu verras que ça ne peut pas fonctionner sans modifier le fichier grbl-Mega-edge_cpu_map.h du GRBL ou charger le GRBL pour Ramps 1.4

Cordialement
jpbbricole
 
Fred69
Fred69
Compagnon
Bonjour jpbbricole
Tu fais bien d'insister, je ne savais pas trop par quel bout prendre le problème.
Comme je l'ai noté dans mon paragraphe #1 j'ai chargé grbl-Mega pour Aduino Mega 2560 (https://github.com/gnea/grbl-Mega)
Je ne savais pas qu'il existait GRBL pour Ramps 1.4, je vais le télécharger. Dans tous les fichiers que j'ai dû avaler, je n'ai pas trouvé cette information.
Je n'ai donc pas non plus ce fichier grbl-Mega-edge_cpu_map.h .
Merci pour ton aide.
 
jpbbricole
jpbbricole
Compagnon
Bonjour Fred69
Je n'ai donc pas non plus ce fichier grbl-Mega-edge_cpu_map.h .
Oupsss ça se gâte :smileyvieux: c'est pas grbl-Mega-edge_cpu_map.h mais cpu_map.h

Pour ton information, si tu as chargé GRBL Mega se fichier se trouve dans le "paquet" GRBL
1612630603116.png

Cordialement
jpbbricole
 
Fred69
Fred69
Compagnon
@jpbbricole oui c'est OK merci, je viens de télécharger cette version de GRBL. Il me reste à le configurer.
 
Fred69
Fred69
Compagnon
J'ai téléchargé la version de grblForRAMPS

Dans cpu_map on a ce fichier " #include "cpu_map/cpu_map_atmega2560_ramps14.h"
et dans ce fichier on trouve :
1612719794181.png

dont je ne sais pas quoi faire non plus et je n'ai rien trouvé à ce sujet.
 
Fred69
Fred69
Compagnon
merci pour ta réponse, mais il est déjà inclus dans cpu_map.h
1612722793637.png

qui lui même est inclu dans grbl.h
1612723037586.png

qui est donc compilé avec grblUpload :smt017
 
S
speedjf37
Compagnon
dont je ne sais pas quoi faire non plus et je n'ai rien trouvé à ce sujet.

Bonsoir,

Dans toutes les compilations de projet multi options il y a des déclarations qui permettent les choix de ces options.
Ce sont en général des #define !

La plupart des options de GRBL sont définies dans le fichier suivant:
#define CPU_MAP_ATMEGA2560_RAMPS_1_4 // Arduino Mega 2560 + RAMPS 1.4 Board

As tu téléchargé cette version adaptée ?
As tu testé ?
Que ce passe t'il?
JF
 
Fred69
Fred69
Compagnon
As tu téléchargé cette version adaptée ?
oui
As tu testé ?
la compilation ne passe pas :
les erreurs se situent dans les fichiers (Documents/Arduino/librairies/grbl) stepper.c et limits.c
résultat de la compilation :

Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Arduino\libraries\grbl/stepper.c:247: undefined reference to `rampsWriteDisable'
Arduino\libraries\grbl/stepper.c:505: undefined reference to `rampsWriteSteps'
Arduino\libraries\grbl/stepper.c:506: undefined reference to `rampsWriteDirections'
Arduino\libraries\grbl/stepper.c:196: undefined reference to `rampsWriteDisable'
Arduino\libraries\grbl/limits.c:85: undefined reference to `rampsCheckLimits'
Arduino\libraries\grbl/limits.c:38: undefined reference to `rampsInitLimits'
Arduino\libraries\grbl/stepper.c:448: undefined reference to `rampsWriteSteps'
Arduino\libraries\grbl/stepper.c:309: undefined reference to `rampsWriteDirections'
Arduino\libraries\grbl/stepper.c:319: undefined reference to `rampsWriteSteps'
Arduino\libraries\grbl/stepper.c:519: undefined reference to `rampsInitSteppers'
Arduino\libraries\grbl/limits.c:68: undefined reference to `rampsLimitsDisableInterrups'
exit status 1
Erreur de compilation pour la carte Arduino Mega or Mega 2560

Apparemment variables ou fonctions non définies.
 
Dernière édition:
Fred69
Fred69
Compagnon
J'ai la même chose que toi:
1612798754250.png


la 1ère erreur porte sur la ligne 247:
1612798785708.png


Je ne comprends pas ce qui bloque la compilation, j'ai laissé les valeurs par défaut.
 

Sujets similaires

A
Réponses
5
Affichages
4 237
abdelkarimgr
A
C
Réponses
0
Affichages
21 199
Charles MONIOT
C
bonhom61
Réponses
71
Affichages
7 968
bonhom61
bonhom61
A
Réponses
18
Affichages
4 294
Yveline
Y
D
Réponses
9
Affichages
1 493
David80
D
taratata
Réponses
4
Affichages
1 815
taratata
taratata
web34
Réponses
11
Affichages
11 823
web34
web34
Haut