Pages: [1]   Go Down
Author Topic: Commander plusieurs moteur en même temps par PWM  (Read 1038 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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é.

Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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).
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-grin, alors je pense me contenter d'analogWrite(), au moins durant la phase de prototypage. On verra après s'il faut affiner.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: