Moteur 12v vitesse, etc

Bonjour, je vous explique mon problème, j'ai une carte arduino uno , un shield ethernet , une carte de puissance 8channel , une batterie de 12V , et 4moteurs ( Lynxmotion - Planetary Gear Motor - PGM36 26.9:1 )

Actuellement j'arrive a faire changer de sens les 4moteurs, mais pas à gérer la vitesse ... mon robot va trop vite , donc si quelqu'un peut m'aider

Nb: le shield ethernet est pour controler les moteurs via my devices et cayenne apres

Bonjour,

Peux-tu poster ton code s'il te plait ?

#define CW 2

#define CCW 3

#define CW2 4

#define CCW2 5

#define CW3 6

#define CCW3 7

#define CW4 8

#define CCW4 9

void setup() { //Setup runs once//

pinMode(CW, OUTPUT); //Set CW as an output//

pinMode(CCW, OUTPUT); //Set CCW as an output//

pinMode(CW2, OUTPUT); //Set CW as an output//

pinMode(CCW2, OUTPUT); //Set CCW as an output//

pinMode(CW3, OUTPUT); //Set CW as an output//

pinMode(CCW3, OUTPUT); //Set CCW as an output//

pinMode(CW4, OUTPUT); //Set CW as an output//

pinMode(CCW4, OUTPUT); //Set CCW as an output//
}

void loop() { //Loop runs forever//

digitalWrite(CW,HIGH); //Motor runs clockwise//
digitalWrite(CW2,HIGH);
digitalWrite(CW3,HIGH); //Motor runs clockwise//
digitalWrite(CW4,HIGH);
delay(1000); //for 1 second//

digitalWrite(CW, LOW); //Motor stops//
digitalWrite(CW2, LOW);
digitalWrite(CW3, LOW); //Motor stops//
digitalWrite(CW4, LOW);

digitalWrite(CCW, HIGH);//Motor runs counter-clockwise//
digitalWrite(CCW2, HIGH);
digitalWrite(CCW3, HIGH);//Motor runs counter-clockwise//
digitalWrite(CCW4, HIGH);
delay(1000);

digitalWrite(CCW, LOW); //Motor stops//
digitalWrite(CCW2, LOW);
digitalWrite(CCW3, LOW); //Motor stops//
digitalWrite(CCW4, LOW);

}

la c'est un test de déplacement mais je ne sais pas comment faire pour la vitesse ...

Il faut utiliser analogWrite(numero_broche, entier_entre_0_et_255) sur les sorties PWM de la carte Arduino.

par entier tu entend quoi ? je découvre en arduino :confused:

et donc si j'ai bien compris le fait que j'utilise la fonction que tu m'a dis cela reglerais la vitesse ?

Entier, ça veut dire nombre entier (comme 0 ou 10, ou 25,... bref, un nombre qui n'a pas de virgule).
Quelle est la carte de puissance que tu utilises et quels sont ses branchements avec ton Arduino ?

j’ai refait pour un seul moteur , sur pin 3 et 9

carte de puissance c’est une 8channel relay , mais j’ai aussi une cytron mdd10a rev2.0 (que je n’utilise pas )

Le lien vers ton image est brisé.

j'ai refais le commentaire j'ai vu ca après :wink:

Pour la variation de vitesse, tu peux oublier ta carte à relais. Utilise plutôt la cytron mdd10a.

Ok merci, tu sais comment gerer la vitesse avec ?

La meilleure solution est de lire le tutoriel: Using MDD10A with ARDUINO UNO | Tutorials of Cytron Technologies

Deja essayer mais moi arduino ne reconnait pas ' amp ' dans le programme

C'est un problème d'affichage. Clique sur le lien vers le code tout en bas de la page.

Car moi je veux juste gerer la vitesse et dire un sens a un moteur en fonction du bouton virtuel ( virtual pin sur my device ) mais je ne comprend pas leur tuto ...

C’est sûr que le tuto ne correspond pas exactement à ce que tu veux faire. Mais tu devrais pouvoir extraire facilement le morceau de code qui permet d’avoir une vitesse intermédiaire.

Salut, tu ne pourras pas faire varier la vitesse avec un relais , c'est tout ou c'est rien . Pour faire varier la vitesse d'un moteur, tu peux utiliser un mosfet

voila le code erreur ...




Arduino : 1.8.1 (Windows 10), Carte : "Arduino/Genuino Uno"

C:\Users\Edwin\Documents\Arduino\test_mydevices_speed\test_mydevices_speed.ino: In function 'void loop()':

test_mydevices_speed:21: error: 'amp' was not declared in this scope

 for (pwm_value=0;pwm_value<=255;pwm_value++){

                            ^

test_mydevices_speed:21: error: 'lt' was not declared in this scope

 for (pwm_value=0;pwm_value<=255;pwm_value++){

                                ^

test_mydevices_speed:21: error: expected ')' before ';' token

 for (pwm_value=0;pwm_value<=255;pwm_value++){

                                  ^

test_mydevices_speed:21: error: expected primary-expression before '=' token

 for (pwm_value=0;pwm_value<=255;pwm_value++){

                                   ^

test_mydevices_speed:21: error: expected ';' before ')' token

 for (pwm_value=0;pwm_value<=255;pwm_value++){

                                                   ^

C:\Users\Edwin\Documents\Arduino\test_mydevices_speed\test_mydevices_speed.ino: At global scope:

test_mydevices_speed:31: error: expected unqualified-id before '[' token

 }

^

exit status 1
'amp' was not declared in this scope

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Le lien en bas de la page: GitHub - CytronTechnologies/Arduino_MDD10A: Arduino sketches for tutorial Using MDD10A with Arduino. full tutorial at http://tutorial.cytron.com.my/2015/04/05/using-mdd10a-with-arduino-uno/

J'ai reussi a faire ce que je voulais merci beaucoup