Go Down

Topic: Commander plusieurs moteur en même temps par PWM (Read 1 time) previous topic - next topic

harold44

Bonjour à tous,
Je viens d'apprendre qu'il existe des sorties pwm.
Est ce que l'on peut commander plusieurs motor en même temps?
Auriez vous un lien d'un tutorials qui explique ce fonctionnement?
Que penser vous de ces sorties par rapport au servo.h classique?
Merci d'avance...
Stéphane

patg_

Tu ne peux pas commander de puissance avec un Arduino.
Pour commander 2 moteurs en PWM tu peux par exemple passer par un double pont en H genre ça:
https://www.adafruit.com/products/807

C'est ce que je m'apprête à utiliser, pour justement commander 2 moteurs en PWM.

Tu peux aussi passer par un "Motor Shield", qui va te fournir un shield avec tout le nécessaire pré-câblé.


harold44

Merci pour cette réponse patg mais côté puissance je connais une peu, ce qui me pose problème c'est coté gestion des 2 moteurs dans un programme. Actuellement j'arrive à faire bouger 1 motor sans trop de soucis, j'ai modifié le programme fadding de variation de luminosité d'une led.
Ce que j'aimerais c'est lancer 2 commandes de déplacement sur 2 motors différents style move 1,15,150 et move 2,15,150 (15 étant la vitesse et 150 la position) pour voir ces 2 moteurs bouger en même temps. Je sais déjà le faire avec une boucle for pour un moteur, mais avec 2 c'est plus complué.
Par contre pour le ci pont en h, peux tu commander 2 moteur indépendament?
A par celà j'ai vu que ces sorties pwm utilisait des registres spéciaux, as tu un lien qui explique leur fonctionnement?
Stéphane

patg_

Oui les 2 ponts en H sont commandables séparément.
Puisque tu parles de vitesse et de position je suppose que tu veux commander des moteurs pas à pas?
Extrait de la datasheet du L293D:


Concernant la doc sur le PWM, on en trouve pas mal.
Hormis ce qu'on trouve sur ce site, je peux te conseiller celle-là: http://www.arcfn.com/2009/07/secrets-of-arduino-pwm.html
La datasheet de l'ATMega328 est aussi très intéressante à ce sujet, mais pas forcément facile à comprendre (je galère toujours à comprendre les subtilités des différents modes de fonctionnement des timers).

harold44

Merci pour ta réponse, je vais regarder celà tranquillement. Par contre pour le registre, est ce pertinent de les utiliser en direct ou faut-il mieux utliser des fonctions et lesquelles? Je cherche des choses simples, je ne veux pas trop me prendre la tête. Il faut que celà fonctionne sans bug mais le plus simplement.
As tu déjà utliser duinos? Si oui qu'en penses tu?
Stéphane

patg_

Je n'ai jamais utilisé Duinos. Ca semble intéressant en tout cas.

Concernant l'utilisation des registres directement plutôt que les fonctions Arduino, ça dépend du besoin en fait.
Si les réglages par défaut utilisés par ces fonctions conviennent alors autant les utiliser.
Mais si on veut jouer plus finement sur la fréquence PWM ou autres, alors on n'a pas trop d'autre choix que d'attaquer plus bas.

Moi j'ai juste à commander les moteurs de propulsion et de direction d'un camion de pompier  :D, alors je pense me contenter d'analogWrite(), au moins durant la phase de prototypage. On verra après s'il faut affiner.

harold44

Je vais surment utiliser duinos, c'est tentant. Je te remercie pour ton aide.
Stéphane

Go Up