Projet de commande différentielle de 2 moteurs CC avec un picaxe 20X2

Couqui93

New Member
Bonjour,
Pour ma première apparition sur votre forum, je voudrais vous soumettre ce qui va suivre, pour confirmation ou infirmation.
-La commande "hpwm" semble appropriée, en demi mode (page 88 de la traduction).
-Déjà, est-ce bien les sorties A et B, ou A et C qui sont concernées? (car répétition de C dans la 1ère ligne).
-D'après la définition de la polarité (page 86), la ligne de code: hpwm 1, 1 , durée du tps mort , période, rapport cyclique semblerait correcte?
Les sorties A et C seraient donc à considérer, bien que page 87, il est stipulé que A et B seulement sont utilisées en mode demi!
D'où mes incertitudes...
D'autre part, un tout petit plus loin dans le texte, on mentionne des résistances de forçage à la masse ou au +V,
quelle valeur leur donner?
"résistances de forçage" provient de la traduction de "pull-up resistors", ce qui m'a amené à consulter la commande "pullup"...
-doit-on l'utiliser pour l'entrée C6, non utilisée?
Merci de vos réponses.
 

BESQUEUT

Senior Member
Bonjour, et bienvenu sur le Forum Picaxe en français.

La commande hpwm est effectivement assez complexe, et ce qui n’arrange rien, la doc en anglais semble bien comporter quelques inexactitudes...
que nous n'avons pas corrigé lors de la traduction (la honte...)

L'origine de cette "complexité" est que cette commande peut à la fois servir pour des moteurs CC (courant continu) ou des moteurs pas à pas.
Selon le titre de votre message, il semble que vous souhaitiez piloter des moteurs CC ;
==> dans ce cas, il ne peut être question de demi-pas ou de pas entiers...
====> le seul mode possible est pwmsingle=0

Par contre, je n'ai pas compris ce que vous entendiez par "commande différentielle" ?

La doc fait référence au "hpwm moteur driver".
je suppose qu'il s'agit du kit axe023
mais ce kit utilise un l293, effectivement pilotable par hpwm, mais ne se comportant pas comme un FET...

Pour les schémas, voir plutot le tome 3 du manuel, en particulier le "standard circuit 4" pour l'utilisation d'un MOS FET,
==> une résistance de pulldown de 10k est suggérée (mais je laisse à un meilleur électronicien que moi le soin de préciser la valeur la plus appropriée pour cette résistance de rappel.)


Voir également le "output device 5" pour l'utilisation du L293 qui permet de piloter chaque moteur dans les 2 sens.

Le problème avec la commande hpwm est que vous ne pourrez pas commander séparément les deux moteurs.
Je n'ai pas d'expérience dans ce domaine, mais je pense que pour des moteurs CC, la commande PWMout est plus appropriée.
 
Last edited:

Couqui93

New Member
Bonsoir,
Merci d'avoir été aussi prompt.
Par "commande différentielle", j'entends qu'à partir d'une position neutre d'une télécommande, les 2 moteurs tournent à la même vitesse,
et que dans les autres positions du manche (soit vers la droite, soit vers la gauche) un moteur accélère pendant que l'autre décélère et vice-versa.
C'est pour cela que je veux utiliser le demi mode où le signal généré sur une broche est complémentaire de celui généré sur une autre (en l'occurrence A et C).
Les signaux d'entrée du 20X2 proviendront du circuit intégré M51660L utilisé entre autre dans les servos de télécommande.
 
Last edited:

PieM

Senior Member
Le half mode consiste à ne commander que les sorties A et B en opposition. si A est au niveau haut, B sera au niveau bas. B et C sont ignorées
Ces sorties ne peuvent commander directement un moteur; soit vous utilisez un composant spécifique genre L293D ou L298, soit vous utilisez des transistors éventuellement montés en pont. Dans le cas de Mosfet il est nécessaire de mettre une résistance de pullup si le niveau actif de la sortie est 0V, ou de pull down si le niveau actif est High. lors de l'initialisation du picaxe les sorties sont un court instant à haute impédance ce qui peut entrainer la conduction de certains transistors.
Si votre projet consiste à commander deux moteurs CC uniquement vitesse et non en sens, donc interfacé avec un MosFet, cela est jouable.
Sinon cela suppose donc l'utilisation de 2 ponts en H. Au mieux, la commande hpwm en mode full ne vous permettrait de commander qu'un seul pont en H et en mode full.

Il serait beaucoup plus simple d'utiliser un L298 ou 293 selon la puissance de vos moteurs. Vous pourriez commander chaque moteur en sens et vitesse selon la loi que vous voulez.

Les signaux d'entrée du 20X2 proviendront du circuit intégré M51660L utilisé entre autre dans les servos de télécommande.
Comprends pas trop votre montage ?! le M51660 étant un circuit de commande du moteur de servo constitué d'un pont en H... Sa sortie est une sortie puissance en fonction du signal d'entrée qui est une impulsion variable.
 
Last edited:

BESQUEUT

Senior Member
Par "commande différentielle", j'entends qu'à partir d'une position neutre d'une télécommande, les 2 moteurs tournent à la même vitesse,
et que dans les autres positions du manche (soit vers le bas, soit vers le haut) un moteur accélère pendant que l'autre décélère et vice-versa..
Si je comprends bien :
- les deux moteurs tournent toujours dans le même sens,
- au démarrage, levier en position "neutre" ils tournent à la même vitesse,
- sur action du levier, un moteur accélère et l'autre ralenti, mais les deux continuent à tourner dans le même sens.

Dans ce cas, la commande d'un moteur n'est pas du tout symétrique de l'autre !
C'est simplement deux pwm avec des duty cycles différents.

Si vous souhaitez des conseils sur l'interface, il faudrait indiquer la puissance des moteurs (intensité et tension maxi),
et/ou un schéma du montage envisagé.

Si la notion de PWM n'est pas très claire pour vous, vous pourriez par exemple lire robert.cireddu PWM ou siliciumcorp

(A noter : une inexactitude dans ce dernier article : le microcontroleur et le L293 on évidement une masse commune, ou alors il faut utiliser des opto-coupleurs)
 
Last edited:
Top