Mon moteur pas à pas chauffe à l'arret

Un shield de pilotage pour 4 moteurs à courant continu ou 2 moteurs pas à pas, qui permet une alimentation sur 12V et qui n'utilise que 4 sorties Pwm (sur 6) et 2 entrées analogiques (sur 6) de l'Arduino

Mon moteur pas à pas chauffe à l'arret

Message non lude pierrecesar » Lun 25 Juin 2012 01:59

Bonjour à tous.
J'ai un problème avec mon moteur pas à pas, celui ci chauffe à l’arrêt alors même que j'ai demandé dans le code son arret M.stop() et l’arrêt de l'alimentation SC.stop().

En effet je peut le voir sur mon générateur, celui ci continu de délivrer un ampérage non négligeable lorsque le moteur ne tourne plus qui fait chauffer les bobines.

Pour que vous compreniez si je met ce code dans la void loop :

Code: Tout sélectionner
void loop(){

delay(5000);                              //on attend 5 secondes au démarage

M.forward(96);                            //on démarre le moteur qui fait 96 pas horaires
    while(!M.stopped()){                  //quand le moteur à fini
      SC.delay(200);                     //on laisse encore l'alimentation du moteur pendant 200ms et on coupe
      SC.dump();
    }

 delay(2000);                             //on attend 2 secondes avant de refaire partir la boucle

}


-Pendant les 5 premières secondes (au démarage lors de la 1ere boucle), le rotoshield coupe bien le courant (0A qui passe).
-Le moteur se met ensuite à tourner et l'ampérage de mon alim monte d'un coup.
-Le moteur s’arrête normalement de tourner après avoir effectué les 96 pas mais l'alim ne cesse pas d'envoyer du courant et ce même durant les "delays" des boucles suivantes.

J'ai tenté plusieurs fonctions notamment M.stop() SC.stop(), rien n'y fait ça ne coupe pas le courant et le moteur chauffe dès qu'il est à l'arret.

Et avec le sketch "frequency_test" ou le "basic_Stepper" ça chauffe également si je le laisse trop longtemps à cause des moments de pause ou le moteur ne tourne pas.

PS: lorsque le moteur chauffe, aucune des LED n'est allumée sur le rotoshield.
PS2: cela ne vient visiblement pas de l'alim puisque ça chauffe aussi quand je met le M+ sur le 5V de arduino.
PS3: J'ai bien la dernière version de la librairie.
PS4: Cela rejoint peut être le problème de l’arrêt en rotation posté ici : http://forum.snootlab.com/viewtopic.php?f=31&t=469

Pourriez vous m'aider. Merci.
PC
pierrecesar
 
Messages: 5
Inscription: Dim 6 Mai 2012 17:50

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude Lionel » Lun 25 Juin 2012 10:11

Bonjour,

Pourriez vous poster quelques photos nettes de votre câblage, avec l'alim
et de vos soudures de la carte Rotoshield dessus / dessous

référence de vos moteurs et code complet, pas seulement loop

Quelle est la version de l'IDE arduino que vous utilisez ?
Et valider que vous possédez bien la dernière version de la librairie rotoshield,

D'avance merci
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude pierrecesar » Lun 25 Juin 2012 12:22

Bonjour Lionel,

le moteur pas à pas que j'ai est celui ci http://shop.snootlab.com/lang-fr/adafruit/251-moteur-pas-a-pas-pf35t-48.html
je dispose de la version 1,0.1 d'arduino
la librairie que j'ai instalée est : Snootlab-Snootor-5c39b93.zip trouvée ici https://github.com/Snootlab/Snootor

Voici un code complet qui me fait chauffer le moteur :

Code: Tout sélectionner
#include <Wire.h>
#include <snootor.h>
SnootorStep M;


void setup(){
  Wire.begin();
  M.init(1000,48,1,MOTOR_MODE_HALFSTEP);
}

void loop(){

 
  delay(5000);                         //attente de 5 secondes avant le démarrage
  M.setDelay(1000);                    //je regle la vitesse du moteur à 1ms entre chaque pas.
  M.forward(-96);                      //je le fait tourner 96 pas sens antihoraire
                                     
  while(!M.stopped()){                 //quand le moteur est à l'arret
      SC.delay(200);                   //on arrete de l'alimenter au bout de 200ms
      SC.dump();}                     
                       
}



quelques images de mon shield :
http://pierre.c.p.free.fr/arduin/1.JPG
http://pierre.c.p.free.fr/arduin/2.JPG
http://pierre.c.p.free.fr/arduin/3.JPG
http://pierre.c.p.free.fr/arduin/4.JPG

une vidéo du mouvement, notez que pendant les 5 premières secondes l'alim affiche bien 0A.
pierrecesar
 
Messages: 5
Inscription: Dim 6 Mai 2012 17:50

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude Lionel » Lun 25 Juin 2012 15:41

Ok, merci,

ça semble être un nouveau bug dans la librairie, on se penche sur le souci.
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude pierrecesar » Ven 29 Juin 2012 20:48

Ok merci Lionel. Entrevoyez vous des solutions dans un court délai ?
pierrecesar
 
Messages: 5
Inscription: Dim 6 Mai 2012 17:50

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude Lionel » Mer 4 Juil 2012 15:15

Bonjour,
nous travaillons actuellement sur la résolution du problème, j'espère pouvoir vous fournir une solution d'ici la fin de semaine.
Merci de votre patience et de votre retour.
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude ikujam » Dim 8 Juil 2012 12:27

Bonjour,

sur github il y a une nouvelle version qui devrait résoudre votre problème :

https://github.com/Snootlab/Snootor/downloads

Bon dimanche
Avatar de l’utilisateur
ikujam
 
Messages: 9
Inscription: Mer 9 Fév 2011 11:30
Localisation: toulouse

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude pierrecesar » Dim 8 Juil 2012 13:32

Merci Ikujam ça fonctionne bien maintenant.
pierrecesar
 
Messages: 5
Inscription: Dim 6 Mai 2012 17:50

Re: Mon moteur pas à pas chauffe à l'arret

Message non lude Philippe Martorell » Ven 9 Aoû 2013 08:51

Bonjour à tous,

Je suis un peu étonné de trouver ce post en remontant dans les "vieillerie", et je comprends mieux l'historique...

Bon, dans une machine "normale", avec des moteurs pas à pas, les moteurs sont alimentés à l’arrêt, donc ils chauffent et c'est normal !!!!

L'idée c'est que la position de la machine est connue par une position de départ fixe, puis par le nombre de pas commandé. Ensuite, lorsque on arrête le moteur, pour un bon maintient de celui-ci, on continue de l'alimenter pour éviter qu'un effort mécanique extérieur le fasse bouger, et donc qu'on perde la position. Si on veux limiter la chauffe à l’arrêt, il faut simplement diminuer la tension d'alimentation, mais cela aura bien sûr une influence sur le couple.

Je trouve que la remarque de Theod viewtopic.php?f=31&t=978 parfaitement justifiée.

Une alternative consiste à ajouter une variable dans l'initialisation du moteur, pour lui signifier son comportement en fin de mouvement. J'ai commencé à modifier la bibliothèque en ce sens, mais j'aimerais aussi faire des choses sur la mémorisation de la position et le goTo. Un démarrage avec accélération serais également intéressant, mais là je crains de ne pas avoir le niveau. Je suis preneur d'un coup de main.
Philippe Martorell
 
Messages: 20
Inscription: Ven 14 Jan 2011 09:28


Retourner vers Rotoshield

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron