Différences entre versions de « Pont-H L298N »
(22 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 12 : | Ligne 12 : | ||
== Caractéristiques == | == Caractéristiques == | ||
− | * | + | * Léger, petit |
− | * | + | * Des capacités hors-pair pour contrôle moteur |
− | * | + | * Diodes de protections |
− | * | + | * Un dissipateur (pour dissiper la chaleur en cas de forte charge) |
− | * | + | * Un sélecteur pour sélectionner la source d'alimentation |
− | * | + | * 4 Sélecteurs pour les résistances pull up |
− | * | + | * Sortie pour 2 moteurs continu/ 1 moteur pas-à-pas (4 bobines, deux phases) |
− | * | + | * Indicateur LED pour sens de rotation moteur |
− | * | + | * Indicateur LED pour alimentation 5V |
− | * | + | * 4 trous de fixation standard |
== Spécifications == | == Spécifications == | ||
− | * | + | * Composant de contrôle en puissance: L298N |
− | * | + | * Alimentation de la charge: de +6V à +35V |
− | * | + | * Courant Max (en pointe): 2A |
− | * | + | * Tension de commande logique Vss: de +5 à +7V (alimentation interne de +5V) |
− | * | + | * Courant de commande logique: de 0 à 36mA |
− | * | + | * Tensions pour contrôle du sens: Low -0.3V~1.5V, high: 2.3V~Vss |
− | * | + | * Tensions pour contrôle "Enable": Low -0.3V~1.5V, high: 2.3V~Vss |
− | * | + | * Puissance Max: 25W (Température 75 ℃) |
− | * | + | * Température de fonctionnement: de -25℃ à +130℃ |
− | * | + | * Dimensions: 60mm x 54mm |
− | * | + | * Poids: ~48g |
− | == | + | == Idées d'applications == |
− | * | + | * Pilotage de moteur continu (eg: voiture téléguidée, montage divers à base de moteurs) |
− | * | + | * Pilotage de moteur pas-à-pas 4-fils deux-phase |
− | == | + | == Précautions == |
<font color="red"> | <font color="red"> | ||
− | * | + | * S'assurer que le pôle positif soit raccorder à VMS et le pôle négatif à GND |
− | * | + | * La tension d'entrée (étage de puissance) ne doit pas excéder 35V |
</font> | </font> | ||
− | == | + | == Détails techniques == |
[[File:L298N_Descr.jpg]] | [[File:L298N_Descr.jpg]] | ||
{| border="1" class="wikitable" | {| border="1" class="wikitable" | ||
|- | |- | ||
− | | width="150px" align="center" | ''' | + | | width="150px" align="center" | '''Nom du connecteur''' |
| width="100px" align="center" | '''Direction''' | | width="100px" align="center" | '''Direction''' | ||
| width="500px" align="center" | '''Description''' | | width="500px" align="center" | '''Description''' | ||
− | | width="200px" align="center" | ''' | + | | width="200px" align="center" | '''Utilisation''' |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''VMS GND''' | | align="center" | '''VMS GND''' | ||
| align="center" | / | | align="center" | / | ||
− | | align="center" | | + | | align="center" | Connecté à l'alimentation externe(6V~35V) |
− | | rowspan="13" align="center" | ENA(ENB) | + | | rowspan="13" align="center" | ENA(ENB) raccordés à un niveau haut (HIGH) activera MOTORA(MOTORB). <br /> |
+ | IN1(IN3) raccordés à 5V et IN2(IN4) a GND MOTORA(MOTORB) tournera dans le sens horlogique.<br /> IN1(IN3) raccordés à GND et IN2(IN4) à 5V MOTORA(MOTORB) tournera dans le sens Anti-horlogique.<br />Si vous voulez contrôler la vitesse, vous pouvez connecter ENA(ENB) sur une sortie PWM. | ||
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''ENA''' | | align="center" | '''ENA''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL, '''peut donc être utilise directement avec Arduino'''.<br />Entrée "Enable": un niveau bas LOW désactive le Pont A |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''IN1''' | | align="center" | '''IN1''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL. Entrée de commande de sens du pont A. |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''IN2''' | | align="center" | '''IN2''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL. Entrée de commande de sens du pont A. |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''ENB''' | | align="center" | '''ENB''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL.<br />Entrée "Enable": un niveau bas LOW désactive le Pont B |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''IN3''' | | align="center" | '''IN3''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL. Entrée de commande de sens du pont B. |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''IN4''' | | align="center" | '''IN4''' | ||
− | | align="center" | | + | | align="center" | Entrée |
− | | align="center" | TTL | + | | align="center" | Compatible TTL. Entrée de commande de sens du pont B. |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
− | | align="center" | ''' | + | | align="center" | '''MOTORA''' |
− | | align="center" | | + | | align="center" | Sortie |
− | | align="center" | | + | | align="center" | Sortie du pont A. Commande en puissance du Moteur A |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''MOTORB''' | | align="center" | '''MOTORB''' | ||
− | | align="center" | | + | | align="center" | SORTIE |
− | | align="center" | | + | | align="center" | Sortie du pont A. Commande en puissance du Moteur B |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''CSA(CSB)''' | | align="center" | '''CSA(CSB)''' | ||
| align="center" | / | | align="center" | / | ||
− | | align="center" | | + | | align="center" | Broches "Current Sensor" pour le Pont A et B.<br />Est utilisé pour tester le courant électrique qui traverse le pont A (pont B) |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''UR1 UR2 UR3 UR4''' | | align="center" | '''UR1 UR2 UR3 UR4''' | ||
| align="center" | / | | align="center" | / | ||
− | | align="center" | pull-up | + | | align="center" | Résistance pull-up |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
| align="center" | '''5V +5V''' | | align="center" | '''5V +5V''' | ||
| align="center" | / | | align="center" | / | ||
− | | align="center" | 5V | + | | align="center" | Sortie 5V |
|- style="font-size: 90%" | |- style="font-size: 90%" | ||
− | | align="center" | '''5V | + | | align="center" | '''Jumper activant le régulateur 5V''' |
| align="center" | / | | align="center" | / | ||
− | | align="center" | | + | | align="center" | ''5V Chip Enable Jumper''. Le régulateur 5 volts est activé sur le jumper est connecté. |
+ | |} | ||
+ | |||
+ | === Activation moteur === | ||
+ | * ENA raccordés à un niveau haut (HIGH) activera MOTORA. | ||
+ | * ENB raccordés à un niveau haut (HIGH) activera MOTORB. | ||
+ | |||
+ | Si vous voulez contrôler la vitesse, vous pouvez connecter ENA(ENB) sur une sortie PWM. | ||
− | + | === Rotation Moteur A === | |
+ | * IN1 raccordés à 5V et IN2 a GND MOTORA tournera dans le sens horlogique. | ||
+ | * IN1 raccordés à GND et IN2 à 5V MOTORA tournera dans le sens Anti-horlogique. | ||
+ | |||
+ | === Rotation Moteur B === | ||
+ | * IN3 raccordés à 5V et IN4 a GND MOTORB tournera dans le sens horlogique. | ||
+ | * IN3 raccordés à GND et IN4 à 5V MOTORB tournera dans le sens Anti-horlogique. | ||
+ | |||
+ | ==Mise en route== | ||
+ | === Comment utiliser les jumpers === | ||
+ | * Cavalier d'activation du régulateur 5V: <br />''5V-Enable jumper''. Quand ce jumper est connecté, le régulateur 78M05 fournira 5V à la partie logique du L298. Si le jumper n'est pas connecté, vous devez fournir les 5 volts nécessaire au fonctionnement de la partie logique du l298. | ||
+ | * Jumper pour les résistances Pull up<br />N'enlevez ces jumper que si vous connectez IN1(IN2 IN3 IN4) à un MicroControleur ayant des portes I/O capables d'asservir correctement le potentiel de ses sorties.<br />Avec ces cavaliers connecté, lorsque le microcontroleur place une sortie à la masse/GND est a la masse... et dès lors que le microcontroleur abandonne la mise à la masse, la résistance pull-up ramène automatiquement le potentiel à +5V (la tension utilisé pour la logique de contrôle. | ||
+ | |||
+ | === Comment raccorder sur une carte de contrôle === | ||
+ | Cette carte est compatible TTL, ce qui signifie qu'elle fonctionne avec de nombreuses cartes de commande mais '''aussi avec un Arduino'''. | ||
+ | |||
+ | '''Moteur continu:''' <br /> | ||
+ | Le port d'entrée de commande du moteur A (Courant Continu) est composé de 3 broches IN1,IN2 et ENA. | ||
+ | |||
+ | IN1 et IN2 sont des broches de commande digitales qui sont utilisées pour commander le sens de rotation du moteur. | ||
+ | |||
+ | ENA est habituellement connecté à une sortie PWM du contrôleur (de votre Arduino par exemple), ce qui permet de contrôler la vitesse du moteur mais ENA peut aussi être raccorder à une sortie digitale pour commander le moteur en simple marche/arrêt. | ||
+ | |||
+ | De même, un second moteur continu peut-être raccordé et utilisé indépendamment du premier grâce aux entrées EN3, EN4, ENB. | ||
− | + | '''Moteur Pas à pas:'''<br /> | |
− | + | Il est aussi possible de commander un moteur Pas-à-pas 4 fils de la même façon que 2 moteurs CC en utilisant les signaux ENA,IN1,IN2 and ENB,IN3,IN4 (voir exemple ci-dessous). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == Exemples == |
− | === | + | === Piloter DEUX moteurs continu === |
[[File:L298N_DC_motor.jpg]] | [[File:L298N_DC_motor.jpg]] | ||
− | + | Pour réaliser cette démonstration, vous avez besoin de: | |
− | * | + | *Matériel: Deux moteurs courant continu, un Arduino, un breakout board L298, une source d'alimentation externe (ex: pile de 9 Volts). |
− | * | + | *Logiciel: Arduino IDE et le programme ci-dessous. |
− | + | Faite les raccordements entre Arduino et le L298 comme indiqué dans les commentaires du programme. | |
+ | Ensuite, chargez le scketch sur votre carte. | ||
<nowiki> | <nowiki> | ||
− | int ENA=5;// | + | //-- MOTEUR A -- |
− | int IN1=2;// | + | int ENA=5; //Connecté à Arduino pin 5(sortie pwm) |
− | int IN2=3;// | + | int IN1=2; //Connecté à Arduino pin 2 |
− | int ENB=6;// | + | int IN2=3; //Connecté à Arduino pin 3 |
− | int IN3=4;// | + | |
− | int IN4=7;// | + | //-- MOTEUR B -- |
− | void setup() | + | int ENB=6; //Connecté à Arduino pin 6(Sortie pwm) |
− | { | + | int IN3=4; //Connecté à Arduino pin 4 |
− | pinMode(ENA,OUTPUT);// | + | int IN4=7; //Connecté à Arduino pin 7 |
+ | |||
+ | void setup() { | ||
+ | pinMode(ENA,OUTPUT);//Configurer les broches comme sortie | ||
pinMode(ENB,OUTPUT); | pinMode(ENB,OUTPUT); | ||
pinMode(IN1,OUTPUT); | pinMode(IN1,OUTPUT); | ||
Ligne 144 : | Ligne 172 : | ||
pinMode(IN3,OUTPUT); | pinMode(IN3,OUTPUT); | ||
pinMode(IN4,OUTPUT); | pinMode(IN4,OUTPUT); | ||
− | digitalWrite(ENA,LOW); | + | digitalWrite(ENA,LOW);// Moteur A - Ne pas tourner (désactivation moteur) |
− | digitalWrite(ENB,LOW);// | + | digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur) |
+ | |||
+ | // Direction du Moteur A | ||
digitalWrite(IN1,LOW); | digitalWrite(IN1,LOW); | ||
− | digitalWrite(IN2,HIGH);// | + | digitalWrite(IN2,HIGH); |
+ | |||
+ | // Direction du Moteur B | ||
+ | // NB: en sens inverse du moteur A | ||
digitalWrite(IN3,HIGH); | digitalWrite(IN3,HIGH); | ||
− | digitalWrite(IN4,LOW); | + | digitalWrite(IN4,LOW); |
} | } | ||
− | |||
− | |||
− | |||
− | |||
+ | void loop() { | ||
+ | // Moteur A - Plein régime | ||
+ | analogWrite(ENA,255); | ||
+ | |||
+ | // Moteur B - Mi-régime | ||
+ | analogWrite(ENB,128); | ||
} | } | ||
</nowiki> | </nowiki> | ||
− | === | + | === Contrôler un moteur Pas-à-pas (deux phases, 4-fils) === |
[[File:L298N_Step_motor.jpg]] | [[File:L298N_Step_motor.jpg]] | ||
− | + | Pour réaliser cette démonstration vous aurez besoin: | |
− | * | + | *Matériel: Un moteur pas-à-pas 4-fils, un Arduino, un breakoutboard L298, une source d'alimentation externe. |
− | * | + | *Logiciel: Arduino IDE et le programme ci-dessous. |
− | + | ||
− | + | Premièrement, vous aurez besoin d'un multimètre pour tester les 4 fils et détecter les groupes (bobines). Les deux fils qui sont connectés ensembles (qui présente une résistance) forment un groupe. | |
+ | |||
+ | Dans cet exemple, le fil rouge et gris forment un groupe (appelé Groupe A). Le fil jaune et vert forment l'autre groupe (appelé Groupe B). | ||
+ | |||
+ | Connectez l'Arduino et le L298 comme présenté sur l'image et documenté dans les commentaires du code ci-dessous. | ||
+ | Ensuite, chargez le sketch sur votre Arduino. | ||
+ | |||
+ | '''Fonctionnement d'un moteur Pas-à-pas''' | ||
+ | |||
+ | Un moteur Pas-à-pas se contrôle à l'aide de 4 battements (en 4 temps, en 4 rythmes). | ||
+ | Le groupe A est connecté à MotorA, le groupe B est connecté à MotorB. | ||
+ | |||
+ | Supposons que: | ||
+ | * A représente le courant circulant dans le groupe A (sens direct). | ||
+ | * A- représente le courant inverse circulant dans le groupe A (lorsque l'on inverse la polarité) | ||
+ | * A représente le courant circulant dans le groupe B (sens direct). | ||
+ | * B- représente le courant inverse circulant dans le groupe B (lorsque l'on inverse la polarité) | ||
+ | |||
+ | Pour faire tourner le monteur pas à pas, les séquences suivantes sont utilisée | ||
+ | <nowiki>AB A-B A-B- AB-</nowiki> | ||
+ | ou | ||
+ | <nowiki>AB AB- A-B- A-B</nowiki> | ||
+ | |||
<nowiki> | <nowiki> | ||
− | int ENA=2;// | + | int ENA=2; //Connecté sur votre Arduino, Pin 2 |
− | int IN1=3;// | + | int IN1=3; //Connecté sur votre Arduino, Pin 3 |
− | int IN2=4;// | + | int IN2=4; //Connecté sur votre Arduino, Pin 4 |
− | int ENB=5;// | + | int ENB=5; //Connecté sur votre Arduino, Pin 5 |
− | int IN3=6;// | + | int IN3=6; //Connecté sur votre Arduino, Pin 6 |
− | int IN4=7;// | + | int IN4=7; //Connecté sur votre Arduino, Pin 7 |
− | void setup() | + | void setup() { |
− | { | ||
pinMode(ENA,OUTPUT); | pinMode(ENA,OUTPUT); | ||
pinMode(ENB,OUTPUT); | pinMode(ENB,OUTPUT); | ||
Ligne 183 : | Ligne 239 : | ||
pinMode(IN3,OUTPUT); | pinMode(IN3,OUTPUT); | ||
pinMode(IN4,OUTPUT); | pinMode(IN4,OUTPUT); | ||
− | digitalWrite(ENA,HIGH);// | + | digitalWrite(ENA,HIGH);// Activer moteur A |
− | digitalWrite(ENB,HIGH);// | + | digitalWrite(ENB,HIGH);// Activer moteur B |
} | } | ||
− | void loop() | + | void loop(){ |
− | + | /* Un moteur Pas-à-pas se contrôle à l'aide de 4 battements (4 rythmes) comme décrit ci-dessus. | |
− | + | Pour faire tourner le moteur pas-à-pas nous pouvons utiliser l'une des séquences suivantes: | |
− | + | AB A-B A-B- AB- | |
− | + | ou | |
− | + | AB AB- A-B- A-B | |
− | |||
− | |||
− | |||
*/ | */ | ||
digitalWrite(IN1,LOW); | digitalWrite(IN1,LOW); | ||
Ligne 219 : | Ligne 272 : | ||
</nowiki> | </nowiki> | ||
− | == | + | == Ressources == |
− | [http://www.geekonfire.com/wiki/index.php?title=File:L298_datasheet.pdf L298 | + | * [http://arduino103.blogspot.com/2011/06/controle-moteur-dc-via-l298.html Notre article sur le contrôle d'un Moteur DC à l'aide d'un L298] |
+ | * Notre article de fond [http://arduino103.blogspot.com/2011/06/pont-h-transistor-pour-controler-un.html décrivant le fonctionnement du pont-H]. | ||
+ | * [http://www.geekonfire.com/wiki/index.php?title=File:L298_datasheet.pdf Fiche technique du L298] | ||
+ | |||
+ | == Où acheter == | ||
+ | Le breakout Pont-H L298 peut être acheter {{pl|75|ici sur le WebShop de MCHobby}}. | ||
− | |||
− | |||
== Licence GeekOnFire == | == Licence GeekOnFire == | ||
Cette document est fournie sous la licence Creative Commons [http://creativecommons.org/licenses/by-sa/3.0/ Attribution-ShareAlike License 3.0]. Le code source et les librairies sont sous [http://www.gnu.org/licenses/gpl.html licence GPL/LGPL], voir le code source des fichiers pour plus d'information. | Cette document est fournie sous la licence Creative Commons [http://creativecommons.org/licenses/by-sa/3.0/ Attribution-ShareAlike License 3.0]. Le code source et les librairies sont sous [http://www.gnu.org/licenses/gpl.html licence GPL/LGPL], voir le code source des fichiers pour plus d'information. | ||
Ligne 236 : | Ligne 292 : | ||
En cas de doute, l'utilisateur peut se référer au [http://www.geekonfire.com/wiki/index.php?title=Dual_H-Bridge_Motor_Driver document d'origine] mis à disposition par Geek On Fire. | En cas de doute, l'utilisateur peut se référer au [http://www.geekonfire.com/wiki/index.php?title=Dual_H-Bridge_Motor_Driver document d'origine] mis à disposition par Geek On Fire. | ||
+ | <hr /> | ||
{{GOF-Accord}} | {{GOF-Accord}} | ||
{{MCH-Accord}} | {{MCH-Accord}} |
Version actuelle datée du 26 février 2018 à 09:57
Introduction
Ce breakout board est un Double Pont-H destiné au contrôle de moteur continu (H-Bridge Motor Driver). Il est basé sur le composant L298N qui est un double Pont-H conçu spécifiquement pour ce cas d'utilisation.
C'est un module extrêmement utile pour le contrôler de robots et ensembles mécanisés. Il peut contrôler deux moteur courant continu ou un moteur pas-à-pas 4 fils 2 phases. il est conçu pour supporter des tensions plus élevées, des courants importants tout en proposant une commande logique TTL (basse tenstion, courant faibles, idéal donc pour un microcontrôleur).
Il peut piloter des charges inductives comme des relais, solénoides, moteurs continus et moteurs pas-à-pas. Les deux types de moteurs peuvent être contrôlés aussi bien en vitesse (PWM) qu'en direction. Toutes les sorties en puissance sont déjà protégées par des diodes anti-retour.
Il s'agit d'un module prêt à l'emploi.
Caractéristiques
- Léger, petit
- Des capacités hors-pair pour contrôle moteur
- Diodes de protections
- Un dissipateur (pour dissiper la chaleur en cas de forte charge)
- Un sélecteur pour sélectionner la source d'alimentation
- 4 Sélecteurs pour les résistances pull up
- Sortie pour 2 moteurs continu/ 1 moteur pas-à-pas (4 bobines, deux phases)
- Indicateur LED pour sens de rotation moteur
- Indicateur LED pour alimentation 5V
- 4 trous de fixation standard
Spécifications
- Composant de contrôle en puissance: L298N
- Alimentation de la charge: de +6V à +35V
- Courant Max (en pointe): 2A
- Tension de commande logique Vss: de +5 à +7V (alimentation interne de +5V)
- Courant de commande logique: de 0 à 36mA
- Tensions pour contrôle du sens: Low -0.3V~1.5V, high: 2.3V~Vss
- Tensions pour contrôle "Enable": Low -0.3V~1.5V, high: 2.3V~Vss
- Puissance Max: 25W (Température 75 ℃)
- Température de fonctionnement: de -25℃ à +130℃
- Dimensions: 60mm x 54mm
- Poids: ~48g
Idées d'applications
- Pilotage de moteur continu (eg: voiture téléguidée, montage divers à base de moteurs)
- Pilotage de moteur pas-à-pas 4-fils deux-phase
Précautions
- S'assurer que le pôle positif soit raccorder à VMS et le pôle négatif à GND
- La tension d'entrée (étage de puissance) ne doit pas excéder 35V
Détails techniques
Nom du connecteur | Direction | Description | Utilisation |
VMS GND | / | Connecté à l'alimentation externe(6V~35V) | ENA(ENB) raccordés à un niveau haut (HIGH) activera MOTORA(MOTORB). IN1(IN3) raccordés à 5V et IN2(IN4) a GND MOTORA(MOTORB) tournera dans le sens horlogique. |
ENA | Entrée | Compatible TTL, peut donc être utilise directement avec Arduino. Entrée "Enable": un niveau bas LOW désactive le Pont A | |
IN1 | Entrée | Compatible TTL. Entrée de commande de sens du pont A. | |
IN2 | Entrée | Compatible TTL. Entrée de commande de sens du pont A. | |
ENB | Entrée | Compatible TTL. Entrée "Enable": un niveau bas LOW désactive le Pont B | |
IN3 | Entrée | Compatible TTL. Entrée de commande de sens du pont B. | |
IN4 | Entrée | Compatible TTL. Entrée de commande de sens du pont B. | |
MOTORA | Sortie | Sortie du pont A. Commande en puissance du Moteur A | |
MOTORB | SORTIE | Sortie du pont A. Commande en puissance du Moteur B | |
CSA(CSB) | / | Broches "Current Sensor" pour le Pont A et B. Est utilisé pour tester le courant électrique qui traverse le pont A (pont B) | |
UR1 UR2 UR3 UR4 | / | Résistance pull-up | |
5V +5V | / | Sortie 5V | |
Jumper activant le régulateur 5V | / | 5V Chip Enable Jumper. Le régulateur 5 volts est activé sur le jumper est connecté. |
Activation moteur
- ENA raccordés à un niveau haut (HIGH) activera MOTORA.
- ENB raccordés à un niveau haut (HIGH) activera MOTORB.
Si vous voulez contrôler la vitesse, vous pouvez connecter ENA(ENB) sur une sortie PWM.
Rotation Moteur A
- IN1 raccordés à 5V et IN2 a GND MOTORA tournera dans le sens horlogique.
- IN1 raccordés à GND et IN2 à 5V MOTORA tournera dans le sens Anti-horlogique.
Rotation Moteur B
- IN3 raccordés à 5V et IN4 a GND MOTORB tournera dans le sens horlogique.
- IN3 raccordés à GND et IN4 à 5V MOTORB tournera dans le sens Anti-horlogique.
Mise en route
Comment utiliser les jumpers
- Cavalier d'activation du régulateur 5V:
5V-Enable jumper. Quand ce jumper est connecté, le régulateur 78M05 fournira 5V à la partie logique du L298. Si le jumper n'est pas connecté, vous devez fournir les 5 volts nécessaire au fonctionnement de la partie logique du l298. - Jumper pour les résistances Pull up
N'enlevez ces jumper que si vous connectez IN1(IN2 IN3 IN4) à un MicroControleur ayant des portes I/O capables d'asservir correctement le potentiel de ses sorties.
Avec ces cavaliers connecté, lorsque le microcontroleur place une sortie à la masse/GND est a la masse... et dès lors que le microcontroleur abandonne la mise à la masse, la résistance pull-up ramène automatiquement le potentiel à +5V (la tension utilisé pour la logique de contrôle.
Comment raccorder sur une carte de contrôle
Cette carte est compatible TTL, ce qui signifie qu'elle fonctionne avec de nombreuses cartes de commande mais aussi avec un Arduino.
Moteur continu:
Le port d'entrée de commande du moteur A (Courant Continu) est composé de 3 broches IN1,IN2 et ENA.
IN1 et IN2 sont des broches de commande digitales qui sont utilisées pour commander le sens de rotation du moteur.
ENA est habituellement connecté à une sortie PWM du contrôleur (de votre Arduino par exemple), ce qui permet de contrôler la vitesse du moteur mais ENA peut aussi être raccorder à une sortie digitale pour commander le moteur en simple marche/arrêt.
De même, un second moteur continu peut-être raccordé et utilisé indépendamment du premier grâce aux entrées EN3, EN4, ENB.
Moteur Pas à pas:
Il est aussi possible de commander un moteur Pas-à-pas 4 fils de la même façon que 2 moteurs CC en utilisant les signaux ENA,IN1,IN2 and ENB,IN3,IN4 (voir exemple ci-dessous).
Exemples
Piloter DEUX moteurs continu
Pour réaliser cette démonstration, vous avez besoin de:
- Matériel: Deux moteurs courant continu, un Arduino, un breakout board L298, une source d'alimentation externe (ex: pile de 9 Volts).
- Logiciel: Arduino IDE et le programme ci-dessous.
Faite les raccordements entre Arduino et le L298 comme indiqué dans les commentaires du programme. Ensuite, chargez le scketch sur votre carte.
//-- MOTEUR A -- int ENA=5; //Connecté à Arduino pin 5(sortie pwm) int IN1=2; //Connecté à Arduino pin 2 int IN2=3; //Connecté à Arduino pin 3 //-- MOTEUR B -- int ENB=6; //Connecté à Arduino pin 6(Sortie pwm) int IN3=4; //Connecté à Arduino pin 4 int IN4=7; //Connecté à Arduino pin 7 void setup() { pinMode(ENA,OUTPUT);//Configurer les broches comme sortie pinMode(ENB,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); digitalWrite(ENA,LOW);// Moteur A - Ne pas tourner (désactivation moteur) digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur) // Direction du Moteur A digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); // Direction du Moteur B // NB: en sens inverse du moteur A digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } void loop() { // Moteur A - Plein régime analogWrite(ENA,255); // Moteur B - Mi-régime analogWrite(ENB,128); }
Contrôler un moteur Pas-à-pas (deux phases, 4-fils)
Pour réaliser cette démonstration vous aurez besoin:
- Matériel: Un moteur pas-à-pas 4-fils, un Arduino, un breakoutboard L298, une source d'alimentation externe.
- Logiciel: Arduino IDE et le programme ci-dessous.
Premièrement, vous aurez besoin d'un multimètre pour tester les 4 fils et détecter les groupes (bobines). Les deux fils qui sont connectés ensembles (qui présente une résistance) forment un groupe.
Dans cet exemple, le fil rouge et gris forment un groupe (appelé Groupe A). Le fil jaune et vert forment l'autre groupe (appelé Groupe B).
Connectez l'Arduino et le L298 comme présenté sur l'image et documenté dans les commentaires du code ci-dessous. Ensuite, chargez le sketch sur votre Arduino.
Fonctionnement d'un moteur Pas-à-pas
Un moteur Pas-à-pas se contrôle à l'aide de 4 battements (en 4 temps, en 4 rythmes). Le groupe A est connecté à MotorA, le groupe B est connecté à MotorB.
Supposons que:
- A représente le courant circulant dans le groupe A (sens direct).
- A- représente le courant inverse circulant dans le groupe A (lorsque l'on inverse la polarité)
- A représente le courant circulant dans le groupe B (sens direct).
- B- représente le courant inverse circulant dans le groupe B (lorsque l'on inverse la polarité)
Pour faire tourner le monteur pas à pas, les séquences suivantes sont utilisée
AB A-B A-B- AB-
ou
AB AB- A-B- A-B
int ENA=2; //Connecté sur votre Arduino, Pin 2 int IN1=3; //Connecté sur votre Arduino, Pin 3 int IN2=4; //Connecté sur votre Arduino, Pin 4 int ENB=5; //Connecté sur votre Arduino, Pin 5 int IN3=6; //Connecté sur votre Arduino, Pin 6 int IN4=7; //Connecté sur votre Arduino, Pin 7 void setup() { pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); digitalWrite(ENA,HIGH);// Activer moteur A digitalWrite(ENB,HIGH);// Activer moteur B } void loop(){ /* Un moteur Pas-à-pas se contrôle à l'aide de 4 battements (4 rythmes) comme décrit ci-dessus. Pour faire tourner le moteur pas-à-pas nous pouvons utiliser l'une des séquences suivantes: AB A-B A-B- AB- ou AB AB- A-B- A-B */ digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); delay(10); digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); delay(10); digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); delay(10); digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); delay(10); }
Ressources
- Notre article sur le contrôle d'un Moteur DC à l'aide d'un L298
- Notre article de fond décrivant le fonctionnement du pont-H.
- Fiche technique du L298
Où acheter
Le breakout Pont-H L298 peut être acheter ici sur le WebShop de MCHobby.
Licence GeekOnFire
Cette document est fournie sous la licence Creative Commons Attribution-ShareAlike License 3.0. Le code source et les librairies sont sous licence GPL/LGPL, voir le code source des fichiers pour plus d'information.
Note de traduction
Le contenu de cette page est une traduction "At the best" des informations mise à disposition par Geek On Fire (page originale).
En aucun cas, MC Hobby ne peut être tenu responsable de l'exactitude des informations fournie par Geek On Fire ainsi que des conséquences qui pourraient en découler.
Cette traduction est proposée gratuitement comme aide ponctuelle visant à accélérer la prise en main. Une erreur de traduction n'engage, en aucun cas, la responsabilité de MC Hobby.
En cas de doute, l'utilisateur peut se référer au document d'origine mis à disposition par Geek On Fire.
Traduit avec l'autorisation de Geek On Fire - Translated with the permission from Geek On Fire - [1] Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.