(Page créée avec « {{Item |Main_Picture=Item-Controleur_de_moteur_L9110__pont_en_h__l9110-motor-driver.jpg |Description=Le controleur de moteur L9110 est un composant, à bas coût, qui perm... ») |
|||
| (4 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 7 : | Ligne 7 : | ||
|ItemLongDescription=Il permet de controler jusqu'à 2 moteurs. | |ItemLongDescription=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 controler un moteur il faut envoyer des instructions aux broche 1A et 1B : | ||
| Ligne 15 : | Ligne 19 : | ||
Pour arrêter le moteur : | Pour arrêter le moteur : | ||
| − | + | - 1 A = LOW | |
| − | + | ||
| + | - 1B = LOW | ||
Pour tourner dans un sens : | Pour tourner dans un sens : | ||
| − | + | - 1A = LOW | |
| − | + | ||
| + | - 1B = HIGH | ||
Pour changer de sens, on inverse : | 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. | 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= | + | |Complete=Published |
}} | }} | ||
Le controleur de moteur L9110 est un composant, à bas coût, qui permet de controleur des moteurs avec un microcontroleur
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.
| 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); |
//////////////////////////
// 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);
}
Item-Controleur_de_moteur_L9110__pont_en_h__l9110-motor-driver.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #