Problème cablage moteur pas a pas

Bonjour;

J'ai récemment acheté un moteur pas à pas NEMA 17 HE5-1504S, ainsi qu'une CNC Shield et des drivers A4988.

J'ai donc voulu les tester, malheureusement une fois le code écrit et implémenté dans la carte ardue . Mon moteur ne tournait pas mais vibrait seulement. Le moteur est alimenté avec une alim 12V 2 A, et j'ai réglé le courant du module A4988 en suivant la methode sur cesite.

J'ai écrit le code suivant qui me semble sans erreur.

#define PIN_DIR 2  
#define PIN_STEP 3  
#define STEPS_PAR_REVOLUTION 200   

void setup() {
    pinMode(PIN_DIR, OUTPUT);
    pinMode(PIN_STEP, OUTPUT);
}

void loop() {
    digitalWrite(PIN_DIR, HIGH); 
    digitalWrite(PIN_STEP, HIGH);
    delayMicroseconds(5000); 
    digitalWrite(PIN_STEP, LOW);
    delayMicroseconds(5000);
}

Je fais appel à ce forum pour savoir si le problème vient de moi ou du moteur en question qui est défaillante.

Merci d'avance
Bonne soirée

Bonsoir hudvlt

Si tu as un CNC shield, tu as aussi le signal ENABLE à gérer.
Si ta carte est celle-ci.
image
c'est la pin 8.

Cordialement
jpbbricole

Salut hudvlt,

si un jour cela peut être utile, moi j'avais modifier la broche ENABLE de mes drivers A4988 pour pouvoir les "activer/désactiver" à ma demande.

Hésite pas à aller voir la discussion ICI

J'espère que la réponse de jpbbricole a pus résoudre ton problème.

Bonjour jpbbricole,
Merci pour ta réponse.
Je viens de rentrer du travail. Jusqu'à présent je branché le pin enable à la masse pour qu'il soit automatiquement à l'état bas.
J'ai donc réessayé en le mettant a l'état bas avec le code suivant

#define PIN_DIR 6  
#define PIN_STEP 3  
#define STEPS_PAR_REVOLUTION 200   
#define PIN_ENABLE 8 
void setup() {
    pinMode(PIN_DIR, OUTPUT);
    pinMode(PIN_STEP, OUTPUT);
    pinMode(PIN_ENABLE, OUTPUT);
}

void loop() {
    digitalWrite(PIN_ENABLE, LOW);
    digitalWrite(PIN_DIR, HIGH); 
    digitalWrite(PIN_STEP, HIGH);
    delayMicroseconds(5000); 
    digitalWrite(PIN_STEP, LOW);
    delayMicroseconds(5000);
}

Malheureusement ça ne fonctionne toujours pas.
J'ai également remarqué que je m'étais trompé dans les pins de step et dir (2/3 => 3/6) en suivant ce site
Mais ça ne marche toujours pas.
Voici un lien vers la video du moteur qui ne tourne pas mais on entend les vibrations.

Hudvlt

Salut jon_01

C'est un truc intéressant pour potentiellement des futurs projets.
Je garde la discussion sous la main.
Merci beaucoup

Hudvlt

Bonjour hudvlt

J'ai essayé ton programme avec une alimentation 9V, 2A, le moteur tourne super, tu peux même l'accélérer en mettant 2500 microsecondes et même moins.
Regardes du côté de la connexion entre le A4988 et la moteur.
image

A+
Cordialement
jpbbricole

Bonjour jpbbricole

Je viens d'essayer sans utiliser la carte CNC en faisant attention à bien connecter le moteur et le A4988.
C'est un peu mieux qu'avant le moteur tourne un peu mais toujours pas bon. comme tu peux le voir dans la video.

J'ai plusieurs moteurs NEMA 17 que j'ai acheté en même temps et j'ai le même problème sur chaque moteur.

Je pense donc que c'est les moteurs qui ont un défauts, je vais donc les renvoyer pour en racheter d'autre

Bonne soirée
hudvlt

Bonsoir hudvlt

Je doute fort de ta conclusion :woozy_face:

Est tu sûre de ton câblage, est ce que les GND de l'Arduino et du A4988 sont bien ensemble?
Ta vidéo me fait penser à une pin du A4988, STEP ou DIR "en l'air" ou un GND pas connecté, ENABLE peut rester libre, il a une résistance de PULLDOWN interne.
Fais une photo en gros plan de ton montage.

A+
Cordialement
jpbbricole

Je vois que tu a 200 pas par révolution.
Je ne suis pas expert dans se domaine, mais il n'y a pas une histoire a creusé au niveau des pas/ micro pas?
Tu en pense quoi jpbbricole ? (Sa n'a peut être rien n'a voir ...)

Sous les drivers A4988, il y a des emplacements broches pour M0 M1 M2 (c'est pour les micro pas), a tu des duponts sur ces broches?

Je ne pense pas m'être trompé sur le montage, a part si il faut relier la masse de l'arduino avec la masse de l'alimentation du moteur ( ce qui m'étonnerait).


Voila la photo du montage

Citation
Sous les drivers A4988, il y a des emplacements broches pour M0 M1 M2 (c'est pour les micro pas), a tu des duponts sur ces broches?

Je suis en full step donc je n'ai pas de dupont sur les sorties M0 M1 M2.

Je vais essayer en débranchant le pin enable

Bonne soirée
hudvlt

Meme résultat sans le pin enable

Bonne soirée
hudvlt

A ok! Je croyais que tu utilisait un Shield CNC :grinning:

Sur ta photo, on dirait que le fil de Enable est connecté au pin 9 non?
Je crois que tu n'est même pas obligé de raccorder la pin Enable a l'Arduino... J'ai pus lire ceci dans mes recherches (a confirmé par quelqu'un de plus expérimenté que moi!) :
La broche EN (enable) peut être laissée déconnectée, elle est tirée vers le bas par défaut. Lorsque cette broche est haute, le pilote est désactivé.

Par contre je vois sur Google dans les schema d'exemple, qu'ils ajoute un condensateur. A voir de se côté la aussi?

Réglé à 1,5A√2? Normalement cela fait trop pour le A4988. Comme pour l'instant le moteur est à vide, il ne devrait pas avoir besoin d'autant de couple, et on peut diminuer le courant pour les tests. → diminue le courant pour voir si cela fonctionne. De toutes façon l'A4988 ne pourra pas donner les 2A maximum pour les moteurs et il ne peuvent pas surchauffer. (Et en plus quad on fait des essais, on surveille la température du moteur à la main).

C'est la cause de 90% des erreurs. Non pas regardes, mais donne-nous tous les renseignements sur ce montage entre le moteur et le A4988.

Il y a très très peu de chance que deux moteurs aient des défauts. Je n'y crois pas.

← Donne les valeurs des résistances que le multimètre donne entre broches pour tous les couples de fils (avec les couleurs pour que l'on puisse vérifier le câblage aussi.

Si tout était bon, le moteur tournerait!

Il le faut absolument, mais c'est fait le pontage est fait par la carte A4988 qui a ses bornes GND reliées.

Si l'alimentation est commune, sans condensateur l'Arduino peut se réinitialisé. Ici les alims sont séparées, et la vidéo montre que ce n'est pas une réinitialisation. Mais il faudra bien mettre ce condensateur par sécurité quand on ne sera plus à vide.

Bonjour jon_01

Je ne pense pas que ça a un rôle, j'ai essayé son programme avec un CNC shield avec pas entiers, et le moteur tourne normalement.

Cordialement
jpbbricole

Bonjour hudvlt

Une possibilité, un Dupont défectueux. Démontes tout et refaire le tout avec d'autres câbles.

Est ce que le symptôme est le même (ou approchant) sur CNC Shield ou avec un A4988 seul?

As tu essayé plusieurs A4988.

De quoi est constituée ton alimentation du VMOT, en as tu essayée une autre?

Ton Arduino est alimenté par l'USB?

A+
Cordialement
jpbbricole

Bonjour Vileroi

J'ai justement pas mis le max possible je voulais juste tester les moteurs j'ai donc régler en mettant moins que 1,5A.
J'ai également fais varier le courant mais toujours le même problème.

VDD -> 5V arduino
GND -> GND arduino
Dir -> Pin 6 arduino
Step -> Pin 3 arduino
Sleep -> Reset
A1 -> Cable Noir moteur
A2 -> Cable Bleu moteur
B1 --> Cable Vert Moteur
B2 -> Cable Rouge Moteur
VMot -> + Alim 12V 2A
GND Mot -> - Alim 12V 2A

image

Noir/Bleu : 3.5 ohms
Vert/rouge : 3,5 ohms
toutes les autres combinaisons : pas de mesure
Ca correspond bien au tableau donné par le constructeur.

Oui donc pas besoin de créer une masse commune sur breadbord.

J'utilise normalement un CNC shield qui a des condensateurs inclut. Je n'ai pas de condensateur sous la main donc ce montage était juste pour le test.

Merci pour ta réponse
Cordialement
Hudvlt

Bonjour Jpbbricole

Je viens de changer tous les duponts, même problème.

Oui même problème avec et sans CNC Shield.

Oui


Malheureusement je n'en ai pas d'autre, mais je peux en acheter une si celle ci ne convient pas

Oui

Cordialement
Bonne soirée
hudvlt

Bonsoir hudvlt

Pour mes essais, j'utilise le même genre d'alimentation.
Mais, si c'est fait pour constituer une CNC avec 3 axes, elle n'est pas assez "musclée".

L'alimentation reste le seul point commun, puisque tu as changé de moteur, de driver, de câbles et avec et sans shield.

Bonne nuit
jpbbricole