moteur manque de patate

salut les gens,
bon je me prends le choux depuis ce matin avec cette ######### de carte romeo v2 pour le shield moteur.
ne posez pas de question sur le forum dfrobot ( a pas peur lolo), personne ne répondra, ou si, pour vous signaler vos fautes d'anglais. :fearful:
donc cette fameuse carte peut gérer des moteurs 12v 2A, vu que j'en avais une sous la mimine, me suis dit, ben commande un PAP pour faire un moteur AD pour ton téléscope.
je commande ce moteur bipolaire http://www.gotronic.fr/art-moteur-cnc1-878.htm et ce matin, livraison :slight_smile:
j'avais vu un tuto avec pratiquement le même moteur (4 fils correspondant en plus)
je passe le sketch et rien ??????????
je me prends la tête pour trouver les séquences, il tourne, mais manque fortement de patate, comme s'il sautait des pas ou pas assez de puissance.
pourtant il prend que 0.4A par phase, donc ca devrait le faire.
ben non, que neni, je le bloque avec mes doigts.

si quinquin a une idée, je la prends volontier, car la carte a déjà appris a voler et sans la programmer 8) , record sans élan 4m dans les cartons ]:smiley:
pour info, batterie 12V 20Ah aux fesses
brochage
black =>A, Green=>C , Red=>B , Blue=>D
le prog qui le fait tourner, mais on sent les saccades à mort

#include <Stepper.h>

définit le nombre de pas pour un tour complet
const int nbr_pas = 200;

// initialise la librairie sur les broches 8, 9, 10 et 11
Stepper mon_moteur(nbr_pas, 7,5,6,4);

void setup()
{
// définit la vitesse de rotation à 60 tr/min
mon_moteur.setSpeed(10);
}

void loop()
{

// un tour dans une direction:
mon_moteur.step(nbr_pas);
delay(50);

// un tour dans l’autre direction
mon_moteur.step(-nbr_pas);
delay(50);

}

le tuto de chez dfrobot
http://www.dfrobot.com/community/control-stepper-directly-via-dfr-romeo-ver-2.html

Je pense que tu connais ce post :

http://forum.arduino.cc/index.php/topic,32556.0.html

Il me semble que j'avais eu les même soucis, mais sans passer par une lib.

oui, j'ai testé les codes, modifié les param aussi, mais idem
sur la doc, c'est comme ceci
STEP ---------A-----C-----B------D
1---------------1-----0-----1------0
2---------------0-----1-----1------0
3---------------0-----1-----0------1
4---------------1-----0-----0------1
1---------------1-----0-----1------0

pourtant avec 200g/cm on devrait pas le stopper comme ca avec 2 doigts (coupe faim :slight_smile: )

Est ce que tu peux varier la durée de l'impulsion de chaque pas ?

infobarquee:
oui, j'ai testé les codes, modifié les param aussi, mais idem
sur la doc, c'est comme ceci
STEP ---------A-----C-----B------D
1---------------1-----0-----1------0
2---------------0-----1-----1------0
3---------------0-----1-----0------1
4---------------1-----0-----0------1
1---------------1-----0-----1------0

pourtant avec 200g/cm on devrait pas le stopper comme ca avec 2 doigts (coupe faim :slight_smile: )

bonsoir Infobarquee

question "kon" :grin:
ta "romeo" tu l'a déjà evaluée avec d'autres PAP (moins... velus 8) )

si j'ai bien lu , la puissance est fournie par un L298 en boitier SO ?

Jean-François:
Est ce que tu peux varier la durée de l'impulsion de chaque pas ?

avec mon 45 fillette oui :wink:
tu veux parler des demi pas?
je n'en sais rien franchement, ca me gave tellement ce truc depuis ce matin, même briqué ma roméo à un moment avec un code

question "kon" smiley-mr-green
ta "romeo" tu l'a déjà evaluée avec d'autres PAP (moins... velus smiley-cool )

si j'ai bien lu , la puissance est fournie par un L298 en boitier SO ?

nop car aucun code n'a pu fonctionner avec, style mistumi 42n trucmuche
franchement, je déconseille cette ###auto censure#####

Ce que je voulais dire par faire varier c'est le temps que dure la mise sous tension de la bobine, comme je l'avais indiqué dans ce message :

Jean-François:
J'ai fait un essai en mettant un petit potentiomètre sur analog 5 :

...

int analogPin = 5;

int freq = 1;
int del = 200;
int L;
int H;

...

void  Step_3(){  H=0;
for(L=255;L>=0;L=L-freq)
{
    digitalWrite(A_Pin,LOW); 
    digitalWrite(B_Pin,H);
    digitalWrite(C_Pin, L); 
    digitalWrite(D_Pin, LOW); H=H+freq;
}

...

void loop() {
  freq = analogRead(analogPin)/4;

Step_1();
             
  delayMicroseconds(del);

...




Le potentiomètre de 10k[ch937] permet de faire varier la vitesse du PWM. :)
J'arrive à me caler à n'importe quelle "régime" de rotation et de pouvoir régler une rotation plus onctueuse en agissant sur le potar.
Par contre il me semble que les boucles de PWM ne sont pas assez rapides pour que cela soit intéressant, j'arrive à une rotation plus élevée sans cet essais de mode micro-pas. :-?

je viens de tomber sur un code qui envoie la patate.
en fait je viens de piger un truc,le pwm permet de faire varier la puissance du moteur sans changer la vitesse

reste a potasser un peu le code pour ralentir la vitesse, mais le truc qui me gene ce sont les saccades, pas top sur un téléscope.

mais le truc qui me gene ce sont les saccades

Je suis aussi en train de me prendre la tête avec ça :slight_smile:

D'après ce que j'ai compris des moteurs pas à pas, c'est que si tu les pilotes en "simple pas", les vibrations
s'atténue qu'à une certaine vitesse.

Je suis tombé sur cet article Controlling a bipolar stepper motor using microstepping | Lamja.com qui traite du microstepping. Alors
en effet, avec le microstepping c'est plus doux. Ce qui devient difficile c'est de gérer correctement le pwm
pour qu'il y aie les bonnes proportions de courant dans chaque bobine.

Si la fréquence du pwm est trop lente, le moteur siffle et tu peux pas bien monter en vitesse.

Si la fréquence du pwm est trop rapide, l'effet de self de la bobine du moteur fait que le courant n'a pas le
temps de monter et le moteur n'avance plus.

L'article traite de ce problème en proposant d'utiliser une tension plus élevée pour réduire cet effet de reffus
de laisser passer le courrant. J'essaye d'avancer dans cette direction.

infobarquee:
je viens de tomber sur un code qui envoie la patate.
en fait je viens de piger un truc,le pwm permet de faire varier la puissance du moteur sans changer la vitesse
Moteur pas-à-pas piloté par un shield L293 - PoBot

reste a potasser un peu le code pour ralentir la vitesse, mais le truc qui me gene ce sont les saccades, pas top sur un téléscope.

Est ce qu'il ne serait pas plus simple et judicieux d'utiliser un moteur CC avec une roue codeuse et un réducteur mécanique.
Ainsi, plus de saccades et réglage de la vitesse plus "facile", pas de perte de pas.

Pour les saccades je confirme, j'ai fait les mêmes constatations sur ma CNC : basse vitesse + plein pas = ça fait du bruit ! Si tu veux atténuer le phénomène il faut du microstepping. Perso à 1/8ème de pas c'est infiniment mieux

Le moteur pas à pas c'est sympa mais ce n'est pas la solution à tout les problèmes.
Il faut bien évaluer les avantages et les inconvénients d'une technologie avant de partir dans une réalisation.
Pour un télescope qui demande un mouvement très lent et très fluide (en phase de suivi) un moteur courant continu avec une bonne démultiplication et certainement plus adapté.

fdufnews:
Le moteur pas à pas c'est sympa mais ce n'est pas la solution à tout les problèmes.
Il faut bien évaluer les avantages et les inconvénients d'une technologie avant de partir dans une réalisation.
Pour un télescope qui demande un mouvement très lent et très fluide (en phase de suivi) un moteur courant continu avec une bonne démultiplication et certainement plus adapté.

tous les moteurs AD que j'ai pu voir, même sur les eq6 sont des PAP et non des CC. mais je ne les connais pas tous.

avec le code dans le lien donné plus haut, plus de saccade, en fait, le delay(vitesse) permet de palier à ce symptome.
plus le delay est haut, plus le moteur tourne lentement, en trouvant la bonne démultiplication et le bon montage (costaud surtout), ca va le faire.

infobarquee:

fdufnews:
Le moteur pas à pas c'est sympa mais ce n'est pas la solution à tout les problèmes.
Il faut bien évaluer les avantages et les inconvénients d'une technologie avant de partir dans une réalisation.
Pour un télescope qui demande un mouvement très lent et très fluide (en phase de suivi) un moteur courant continu avec une bonne démultiplication et certainement plus adapté.

tous les moteurs AD que j'ai pu voir, même sur les eq6 sont des PAP et non des CC. mais je ne les connais pas tous.

avec le code dans le lien donné plus haut, plus de saccade, en fait, le delay(vitesse) permet de palier à ce symptome.
plus le delay est haut, plus le moteur tourne lentement, en trouvant la bonne démultiplication et le bon montage (costaud surtout), ca va le faire.

en motorisation d'astronomie amateur , je pense qu'il faut distinguer 2 choses

  • le deplacement rapide entre "position estimée de trucs à observer 8) " pour positionnement et là les "saccades" ne doivent pas être tres contraignantes
  • le tracking d'objet et là ça repond aux equations celestes , sans etre connaisseur , dans le cas du tracking les mini et max de vitesse de delacement doivent "facilement" etre contraint pour calculer la demultiplication mecanique moyenne la plus adequate et en corrolaire la meilleure commande possible .
    Je ne pense pas que quelle que soit la techno meca choisie , que le /les moteurs soit en prise directe sans demultiplication :
    Que ce soit du pas entier, du micropas pour les PAP ou du CC encodé conventionnel, il faut s'adapter au moment mecanique nominal.

un bon compo pour faire du micropas avec une bonne marge de puissance c'est le LMD18245 (16 µsteps)

j'avais il y a déjà plusieurs années fait un début de développement sur base PIC (18F de mémoire, il y a un peu de doc qui traine sur le WEB ) pour un ami astronome amateur (maintenant parti voir les étoiles de plus pres :~ ) , il en avait été plutôt content.

Je ne sais pas si un truc équivalent a été porté vers l'arduino, mais si tu en veux 2 pour jouer et développer (il en faut 2 par pap) , tu connais la methode :grin:

Si tu veux pas t'emmerder sur ebay il y a des drivers à base de TB6560 qui gère le microstepping et il y a juste une horloge à gérer pour faire les pas et un signal digital pour la direction ... Et 2.5A par phase ! Sans compter la gestion du courant, du decay, les protections ...

Pour une 20aine de roro ça peut valoir le coup

c'est ce que j'ai fait, j'ai recu la carte avec 1.6A par phase et 2 en pique.
résultat, au premier branchement, le miracle opéra, comme quoi les cartes tout intégré, c'est pas forcément le mieux et une source de galéres impensables.