Item:Controleur de moteur L9110 (pont en h) : Différence entre versions

 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 37 : Ligne 37 :
  
 
Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH.
 
Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH.
 +
 +
==Le code minimal : ==
 +
{| class="wikitable" cellspacing="0" border="0"
 +
| height="17" bgcolor="#999999" align="left" |
 +
| valign="middle" bgcolor="#999999" align="center" |
 +
| bgcolor="#999999" align="center" |BME280
 +
|-
 +
| rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |pas de bibliothèque
 +
| valign="middle" align="left" |
 +
|-
 +
| valign="middle" bgcolor="#999999" align="center" |Variable pour un moteur
 +
| valign="middle" align="left" |#define moteurA_1A 15
 +
<nowiki>#</nowiki>define moteurA_2A 13
 +
 +
int vitesse = 128;  // 0 à 255
 +
|-
 +
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |configuration des broches
 +
| valign="middle" align="left" |pinMode(moteurA_1, OUTPUT);
 +
pinMode(moteurA_2, OUTPUT);
 +
|-
 +
| valign="middle" height="41" bgcolor="#999999" align="center" |Dans le Loop
 +
| valign="middle" bgcolor="#999999" align="center" |Utilisation
 +
| valign="middle" align="left" |digitalWrite(moteurA_1, LOW);
 +
analogWrite(moteurA_2, vitesse);
 +
|}
 +
==Montage==
 +
{{#annotatedImageLight:Fichier:Item-Controleur de moteur L9110 pont en h 250121-controleurmoteurL9110-D1Mini bb.png|0=768px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Schéma L9110 D1 mini|align=center|src=https://www.wikidebrouillard.org/images/6/66/Item-Controleur_de_moteur_L9110_pont_en_h_250121-controleurmoteurL9110-D1Mini_bb.png|href=./Fichier:Item-Controleur de moteur L9110 pont en h 250121-controleurmoteurL9110-D1Mini bb.png|resource=./Fichier:Item-Controleur de moteur L9110 pont en h 250121-controleurmoteurL9110-D1Mini bb.png|caption=Schéma L9110 D1 mini|size=768px}}<br />
 +
==Exemple : ==
 +
<syntaxhighlight lang="arduino" line="1" start="1">
 +
//////////////////////////
 +
// Contrôleur de moteur //
 +
//      L9110          //
 +
//    pont en H        //
 +
//////////////////////////
 +
/*
 +
                                _________________
 +
                              /    D1 mini    \
 +
                              |[ ]RST        TX[ ]|
 +
                              |[ ]A0  -GPIO  RX[ ]|
 +
                              |[ ]D0-16    5-D1[ ]|
 +
                              |[ ]D5-14    4-D2[ ]|
 +
                              |[ ]D6-12    0-D3[ ]|
 +
                      A-1B - |[ ]D7-13    2-D4[ ]| LED_BUILTIN
 +
                      A_1A - |[ ]D8-15    GND[ ]|
 +
                              |[ ]3V3 .      5V[ ]|
 +
                              |      +---+      |
 +
                              |_______|USB|_______|
 +
*/
 +
 +
#define moteurA_1A 15
 +
#define moteurA_1B 13
 +
int vitesse = 128;  // 0 à 255
 +
void setup() {
 +
    // Configuration des ports en mode "sortie"
 +
    pinMode(moteurA_1A, OUTPUT);
 +
    pinMode(moteurA_1B, OUTPUT);
 +
}
 +
void loop() {
 +
  digitalWrite(moteurA_1A, LOW);
 +
  analogWrite(moteurA_1B, vitesse);
 +
  delay(1000);
 +
 
 +
  analogWrite(moteurA_1A, vitesse);
 +
  digitalWrite(moteurA_1B, LOW);
 +
  delay(1000);
 +
 +
  digitalWrite(moteurA_1A, LOW);
 +
  digitalWrite(moteurA_1B, LOW);
 +
  delay(1000);
 +
}
 +
</syntaxhighlight>
 +
  
 
{{#annotatedImageLight:Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Brochage du L9110|align=center|src=https://www.wikidebrouillard.org/images/d/d8/Item-Controleur_de_moteur_L9110_pont_en_h_L9110.png|href=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|resource=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|caption=Brochage du L9110|size=800px}}
 
{{#annotatedImageLight:Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Brochage du L9110|align=center|src=https://www.wikidebrouillard.org/images/d/d8/Item-Controleur_de_moteur_L9110_pont_en_h_L9110.png|href=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|resource=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|caption=Brochage du L9110|size=800px}}
 
}}
 
}}
 
{{Tuto Status
 
{{Tuto Status
|Complete=Draft
+
|Complete=Published
 
}}
 
}}

Version actuelle datée du 21 janvier 2025 à 11:38


Item-Controleur de moteur L9110 pont en h l9110-motor-driver.jpg

Controleur de moteur L9110 (pont en h)

Le controleur de moteur L9110 est un composant, à bas coût, qui permet de controleur des moteurs avec un microcontroleur

1EUR (€)


Description longue

Il permet de controler jusqu'à 2 moteurs.


Tension de service : DC 2.5V – 12V

Courant de sortie maximum : 800 mA (continu) / canal

On peut utiliser l’alimentation 5V de l’Arduino ou 3V d'un D1 mini ou d'un esp32.


Pour controler un moteur il faut envoyer des instructions aux broche 1A et 1B :

Pour arrêter le moteur :

- 1 A = LOW

- 1B = LOW

Pour tourner dans un sens :

- 1A = LOW

- 1B = HIGH

Pour changer de sens, on inverse :

- 1A = HIGH

- 1B = LOW


Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH.

Le code minimal :

BME280
Avant le Setup pas de bibliothèque
Variable pour un moteur #define moteurA_1A 15

#define moteurA_2A 13

int vitesse = 128; // 0 à 255

Dans le Setup configuration des broches pinMode(moteurA_1, OUTPUT);

pinMode(moteurA_2, OUTPUT);

Dans le Loop Utilisation digitalWrite(moteurA_1, LOW);

analogWrite(moteurA_2, vitesse);

Montage

Schéma L9110 D1 mini

Exemple :

 1 //////////////////////////
 2 // Contrôleur de moteur //
 3 //       L9110          //
 4 //     pont en H        //
 5 //////////////////////////
 6 /* 
 7                                 _________________
 8                                /     D1 mini     \
 9                               |[ ]RST        TX[ ]|
10                               |[ ]A0  -GPIO  RX[ ]|
11                               |[ ]D0-16    5-D1[ ]| 
12                               |[ ]D5-14    4-D2[ ]| 
13                               |[ ]D6-12    0-D3[ ]|
14                        A-1B - |[ ]D7-13    2-D4[ ]| LED_BUILTIN
15                        A_1A - |[ ]D8-15     GND[ ]|
16                               |[ ]3V3 .      5V[ ]|
17                               |       +---+       |
18                               |_______|USB|_______|
19 */
20 
21 #define moteurA_1A 15
22 #define moteurA_1B 13
23 int vitesse = 128;  // 0 à 255
24 void setup() {
25     // Configuration des ports en mode "sortie"
26     pinMode(moteurA_1A, OUTPUT);
27     pinMode(moteurA_1B, OUTPUT);
28 }
29 void loop() {
30   digitalWrite(moteurA_1A, LOW);
31   analogWrite(moteurA_1B, vitesse);
32   delay(1000);
33   
34   analogWrite(moteurA_1A, vitesse);
35   digitalWrite(moteurA_1B, LOW);
36   delay(1000);
37 
38   digitalWrite(moteurA_1A, LOW);
39   digitalWrite(moteurA_1B, LOW);
40   delay(1000);
41 }


Brochage du L9110

Pages liées

Commentaires

Published