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

 
(3 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}}
 
}}
 
}}
 
{{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 :

//////////////////////////
// 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);
}


Brochage du L9110

Pages liées

Commentaires

Published