Différences entre versions de « Pont-H L298N »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(22 versions intermédiaires par un autre utilisateur non affichées)
Ligne 12 : Ligne 12 :
  
 
== Caractéristiques ==
 
== Caractéristiques ==
*<b>Léger, petit</b>
+
* Léger, petit  
*<b>Des capacités hors-pair pour contrôle moteur</b>
+
* Des capacités hors-pair pour contrôle moteur  
*<b>Diodes de protections</b> 
+
* Diodes de protections
*<b>Un dissipateur (pour dissiper la chaleur en cas de forte charge)</b>
+
* Un dissipateur (pour dissiper la chaleur en cas de forte charge)  
*<b>Un sélecteur pour sélectionner la source d'alimentationPower selection switch</b>
+
* Un sélecteur pour sélectionner la source d'alimentation
*<b>4 Sélecteurs pour les résistances pull up</b>
+
* 4 Sélecteurs pour les résistances pull up
*<b>Sortie pour 2 moteurs continu/ 1 moteur pas-à-pas (4 bobines, deux phases)</b>
+
* Sortie pour 2 moteurs continu/ 1 moteur pas-à-pas (4 bobines, deux phases)  
*<b>Indicateur LED pour sens de rotation moteur</b>
+
* Indicateur LED pour sens de rotation moteur
*<b>Indicateur LED pour alimentation 5V</b> 
+
* Indicateur LED pour alimentation 5V
*<b>4 trous de fixation standard</b>
+
* 4 trous de fixation standard
  
 
== Spécifications ==
 
== Spécifications ==
*<b>Composant de contrôle en puissance: L298N</b>
+
* Composant de contrôle en puissance: L298N  
*<b>Alimentation de la charge: de +6V à +35V</b>
+
* Alimentation de la charge: de +6V à +35V  
*<b>Courant Max (en pointe): 2A</b>
+
* Courant Max (en pointe): 2A  
*<b>Tension de commande logique Vss: de +5 à +7V (alimentation interne de +5V)</b>
+
* Tension de commande logique Vss: de +5 à +7V (alimentation interne de +5V)  
*<b>Courant de commande logique: de 0 à 36mA</b>
+
* Courant de commande logique: de 0 à 36mA  
*<b>Tensions pour contrôle du sens: Low -0.3V~1.5V, high: 2.3V~Vss</b>
+
* Tensions pour contrôle du sens: Low -0.3V~1.5V, high: 2.3V~Vss  
*<b>Tensions pour contrôle "Enable": Low -0.3V~1.5V, high: 2.3V~Vss</b>
+
* Tensions pour contrôle "Enable": Low -0.3V~1.5V, high: 2.3V~Vss  
*<b>Puissance Max: 25W (Température 75 ℃)</b>
+
* Puissance Max: 25W (Température 75 ℃)
*<b>Température de fonctionnement: de -25℃ à +130℃</b>
+
* Température de fonctionnement: de -25℃ à +130℃  
*<b>Dimensions: 60mm x 54mm</b>
+
* Dimensions: 60mm x 54mm  
*<b>Poids: ~48g</b>
+
* Poids: ~48g
  
== Application Ideas ==
+
== Idées d'applications ==
*<b>drive brushed DC motors</b>
+
* Pilotage de moteur continu (eg: voiture téléguidée, montage divers à base de moteurs)
*<b>drive 4-wire two-phase stepper motor</b>
+
* Pilotage de moteur pas-à-pas 4-fils deux-phase
  
== Cautions ==
+
== Précautions ==
 
<font color="red">
 
<font color="red">
* Ensure that the positive and negative pole connected to the VMS and GND
+
* S'assurer que le pôle positif soit raccorder à VMS et le pôle négatif à GND
* Input voltage not exceeding 35V
+
* La tension d'entrée (étage de puissance) ne doit pas excéder 35V
 
</font>
 
</font>
  
== Hardware Diagram ==
+
== Détails techniques ==
 
[[File:L298N_Descr.jpg]]
 
[[File:L298N_Descr.jpg]]
  
 
{| border="1" class="wikitable"
 
{| border="1" class="wikitable"
 
|-
 
|-
| width="150px" align="center" | '''Port name'''  
+
| 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" | '''Usage'''  
+
| 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" | connect to external power supply(6V~35V)  
+
| align="center" | Connecté à l'alimentation externe(6V~35V)  
| rowspan="13" align="center" | ENA(ENB) connected to H state will enable MOTORA(MOTORB) IN1(IN3) connected to 5V and IN2(IN4) to GND MOTORA(MOTORB) will move clockwise IN1(IN3) connected to GND and IN2(IN4) to 5V MOTORA(MOTORB) will move Anti-clockwise if you cwant to control speed you can connect the ENA(ENB) to PWM.  
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Enable Input:the L state disables the bridge A
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Inputs of the Bridge A  
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Inputs of the Bridge A  
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Enable Input:the L state disables the bridge B
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Inputs of the Bridge B  
+
| 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" | Input
+
| align="center" | Entrée
| align="center" | TTL Compatible Inputs of the Bridge B  
+
| align="center" | Compatible TTL. Entrée de commande de sens du pont B.
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
| align="center" | '''M)TORA'''  
+
| align="center" | '''MOTORA'''  
| align="center" | Output
+
| align="center" | Sortie
| align="center" | Output of the Bridge A  
+
| 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" | Output
+
| align="center" | SORTIE
| align="center" | Output of the Bridge B  
+
| 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" | use for testing electric current of Bridge A(Bridge B)
+
| 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 resistor
+
| 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 output
+
| align="center" | Sortie 5V
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
| align="center" | '''5V Chip Enable Jumper'''  
+
| align="center" | '''Jumper activant le régulateur 5V'''  
 
| align="center" | /
 
| align="center" | /
| align="center" | if connected,5V chip will work.
+
| 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.
  
==Getting Started==
+
'''Moteur Pas à pas:'''<br />
=== How to use Jumpers ===
+
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).
*5V-Enable jumper:
 
When you connect the 5V-Enable,the 78M05 will output 5V to supply logic chip,if you take off,you must connect 5V to supply logic chip.
 
*Pull up resistor jumpers
 
Only if you connect IN1(IN2 IN3 IN4) to MCU which have ports of strong driving ability such as AVR,you can take off the jumpers.
 
=== How to connected to your control board ===
 
DC motor input port A has three pins,IN1,IN2 and ENA.IN1 and IN2 are digital ports which are used to control the direction of motor,ENA is usually connected to PWM port of control board to control the speed of motor,also it can be connected to digital port.
 
we can control the 4-wire stepping motor the same way as two DC motors with the signal form ENA,IN1,IN2 and ENB,IN3,IN4.
 
  
== Examples ==
+
== Exemples ==
=== Drive Two DC Motors ===
+
=== Piloter DEUX moteurs continu ===
 
[[File:L298N_DC_motor.jpg]]
 
[[File:L298N_DC_motor.jpg]]
  
To do this Demo required:  
+
Pour réaliser cette démonstration, vous avez besoin de:  
*Hardware: two DC motors, one Arduino, one L298 Shield,external power supply.  
+
*Matériel: Deux moteurs courant continu, un Arduino, un breakout board L298, une source d'alimentation externe (ex: pile de 9 Volts).  
*Software: Arduino IDE,program.
+
*Logiciel: Arduino IDE et le programme ci-dessous.
Connect Arduino and L298 shield according to program notes,then upload the sketch to the Arduino board.
+
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;//connected to Arduino's port 5(output pwm)
+
//-- MOTEUR A --
int IN1=2;//connected to Arduino's port 2
+
int ENA=5; //Connecté à Arduino pin 5(sortie pwm)
int IN2=3;//connected to Arduino's port 3
+
int IN1=2; //Connecté à Arduino pin 2
int ENB=6;//connected to Arduino's port 6(output pwm)
+
int IN2=3; //Connecté à Arduino pin 3
int IN3=4;//connected to Arduino's port 4
+
 
int IN4=7;//connected to Arduino's port 7
+
//-- MOTEUR B --
void setup()
+
int ENB=6; //Connecté à Arduino pin 6(Sortie pwm)
{
+
int IN3=4; //Connecté à Arduino pin 4
  pinMode(ENA,OUTPUT);//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);//stop driving
+
  digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur)
 +
 
 +
// Direction du Moteur A
 
  digitalWrite(IN1,LOW);  
 
  digitalWrite(IN1,LOW);  
  digitalWrite(IN2,HIGH);//setting motorA's directon
+
  digitalWrite(IN2,HIGH);
 +
 
 +
// Direction du Moteur B
 +
// NB: en sens inverse du moteur A
 
  digitalWrite(IN3,HIGH);
 
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);//setting motorB's directon
+
  digitalWrite(IN4,LOW);
 
}
 
}
void loop()
 
{
 
  analogWrite(ENA,255);//start driving motorA
 
  analogWrite(ENB,255);//start driving motorB
 
  
 +
void loop() {
 +
  // Moteur A - Plein régime
 +
  analogWrite(ENA,255);
 +
 +
  // Moteur B - Mi-régime
 +
  analogWrite(ENB,128);
 
}
 
}
 
</nowiki>
 
</nowiki>
  
=== Drive Two phase 4-wire stepping motor ===
+
=== Contrôler un moteur Pas-à-pas (deux phases, 4-fils) ===
 
[[File:L298N_Step_motor.jpg]]
 
[[File:L298N_Step_motor.jpg]]
  
To do this Demo required:  
+
Pour réaliser cette démonstration vous aurez besoin:  
*Hardware: one 4-wires stepping motors, one Arduino, one L298 Shield,external power supply.  
+
*Matériel: Un moteur pas-à-pas 4-fils, un Arduino, un breakoutboard L298, une source d'alimentation externe.  
*Software: Arduino IDE,program.
+
*Logiciel: Arduino IDE et le programme ci-dessous.
Firstly,we should use the multimeter to detect the 4 wires,the 2 wires which connected is a group.In this example,the red wire and gray wires are a group(call A group),the yellow wire and green wire are a group(call B group).Connect Arduino and L298 shield according to the picture above
+
 
and program notes,then upload the sketch to the Arduino board.
+
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;//connected to Arduino's port 2
+
int ENA=2; //Connecté sur votre Arduino, Pin 2
int IN1=3;//connected to Arduino's port 3
+
int IN1=3; //Connecté sur votre Arduino, Pin 3
int IN2=4;//connected to Arduino's port 4
+
int IN2=4; //Connecté sur votre Arduino, Pin 4
int ENB=5;//connected to Arduino's port 5
+
int ENB=5; //Connecté sur votre Arduino, Pin 5
int IN3=6;//connected to Arduino's port 6
+
int IN3=6; //Connecté sur votre Arduino, Pin 6
int IN4=7;//connected to Arduino's port 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);//enablae motorA
+
  digitalWrite(ENA,HIGH);// Activer moteur A
  digitalWrite(ENB,HIGH);//enable motorB
+
  digitalWrite(ENB,HIGH);// Activer moteur B
 
}
 
}
void loop()
+
void loop(){
{/*In the way of 4 beats to drive the stepping motor,A group connected to motorA,B
+
/* Un moteur Pas-à-pas se contrôle à l'aide de 4 battements (4 rythmes) comme décrit ci-dessus.
B group connected to motorB,Suppose A representing the forward current of A group,
+
    Pour faire tourner le moteur pas-à-pas nous pouvons utiliser l'une des séquences suivantes:
A- representing the reverse current of A group,B representing the forward current of B group,
+
      AB    A-B    A-B-  AB-
B- representing the reverse current of B group.
+
    ou
this way run as follow:
+
      AB  AB-    A-B-  A-B
AB    A-B    A-B-  AB-
 
or
 
AB  AB-    A-B-  A-B
 
 
  */
 
  */
 
  digitalWrite(IN1,LOW);
 
  digitalWrite(IN1,LOW);
Ligne 219 : Ligne 272 :
 
</nowiki>
 
</nowiki>
  
== Resources ==
+
== Ressources ==
[http://www.geekonfire.com/wiki/index.php?title=File:L298_datasheet.pdf L298 datasheet]
+
* [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}}.
  
== How to buy  ==
 
Dual H-Bridge Motor Driver can be ordered through the GOF store. Its product page is located [http://www.mchobby.be here]
 
 
== 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.


L298N 3.jpg

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

L298N Descr.jpg

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.
IN1(IN3) raccordés à GND et IN2(IN4) à 5V MOTORA(MOTORB) tournera dans le sens Anti-horlogique.
Si vous voulez contrôler la vitesse, vous pouvez connecter ENA(ENB) sur une sortie PWM.

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

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.

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

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

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

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.