Pont-H L298N

De MCHobby - Wiki
Aller à : navigation, rechercher

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.