Utiliser un Pont-H L298 avec Raspberry-Pi

Nous voulions propulser une plateforme robotique (presque un tank vu sa taille) avec un Pont-H L298 et un Raspberry-Pi. Nous voulions aussi que ce tuto puisse être exploiter avec un Châssis Zumo.
Ce jour férié aura été l'occasion d'ajouter ce nouveau tuto à notre Wiki Raspberry-Pi.

Contrôler des moteurs avec un Pont-H L298 et Raspberry-Pi
Voici donc un petit résumé de notre tuto... que vous pouvez consulter dans sa version intégrale ici 

Tutoriel Raspberry-Pi + L298 sur le Wiki de MCHobby

Tutoriel Raspberry-Pi + L298 sur le Wiki de MCHobby

Vive le L298

Le L298 est composant capable de piloter des moteurs relativement puissants dans les deux sens de rotation tout en restant assez facile d'emploi.
Le L298 est souvent vendu sous forme de breakout parce que le composant principale (le L298) utilise un empattement spécial incompatible avec les plaques de prototypages et breadboard. Par ailleurs, le L298 nécessite l'usage de quelques composants supplémentaires pour être utilisé en toute sécurité.
Pont-H L298

L298 et logique 3.3v

Bien que la logique de contrôle d'un L298 soit en 5V, le L298 que nous proposons dispose des caractéristiques suivantes:
  • 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
Vous remarquerez qu'en dessous de 1.5v le signal logique est réputé au niveau logique bas (low) et qu'au dessus de 2.3v le signal logique est réputé au niveau haut (high).
Cela tombe bien car une broche du GPIO Raspberry produit une tension de 3.3v pour un niveau logique haut... ce qui est supérieur aux 2.3v nécessaires pour commander les entrées du L298 :-)

Préparer le Breakout L298 pour le Pi

Désactiver les Résistances Pull-Up
Il est nécessaire (impératif même) de désactiver les résistances Pull-Up de pont-H.
Pont-H L298 disponible chez MCHobby
En temps normal, ces résistances ont pour rôle de ramener le potentiel des entrées de commande (IN1, IN2, IN3, IN4) à +5V lorsque le microcontrôleur / Raspberry-Pi n'applique pas de niveau logique BAS (0v).
Cette fonctionnalité n'est pas nécessaire dans le cas d'un Raspberry-Pi mais applique de surcroit une tension de 5V sur un entrée/sortie du Pi qui fonctionne en logique 3.3v!!! Aie!!! Il y a peu de chance qu'il survive bien à un tel traitement.
Voila pourquoi il est important de désactiver les résistance Pull-Up :-)

Désactiver le régulateur 5V
Nous allons alimenter la logique de contrôle du pont-H (en 5V) par l'intermédiaire du Raspberry-Pi. Nous allons donc désactiver le régulateur 5V présent sur le Breakout.
Il faudra donc brancher la broche +5V du Pi sur la broche +5V du pont-H (voir le câblage plus loin)
Pont-H L298 disponible chez MCHobby
Brancher le L298 sur le Pi
Nous avons utiliser un Pi-Cobbler pour réaliser le câblage sur un Raspberry-Pi. Son usage permet d'éviter les erreurs de câblage car chaque broches est identifiée sur le Cobbler.
Brancher un L298 sur un Raspberry-Pi - plus de détails sur notre Wiki

Raccordement du pont-H sur le GPIO du Raspberry-Pi

Code en Python
Maintenant que tout est en place, vous pouvez utiliser un petit programme en Python  pour piloter nos moteurs.
Le programme de test ZumoL298.py (voyez plus bas) reprend les quelques fonctions de tests suivantes:
 Avant()
 time.sleep( 5 )
 TournerDroite()
 time.sleep( 3 )
 Avant()
 time.sleep( 5 )
 TournerGauche()
 time.sleep( 3 )
 Arriere()
 time.sleep( 5 )
 Stop()

Le code complet, commenté et expliqué est disponible sur notre Wiki, suivez donc ce lien pour en savoir plus.

Le pont-H L298 en action
Voici une petite vidéo montrant le pont-H L298 en action avec un Raspberry-Pi.

Vous pouvez accéder directement à la vidéo ici (YouTube)


Pour les besoin de la démo, nous avons utilisé une robuste plateforme robotique utilisant 4 moteurs de 12v. L'alimentation moteur est assurée par une alimentation externe 12V.

Le tutoriel
Notre tutoriel contient de nombreuses autres informations...
  • Pont-H L298 avec Pi - Piloter des moteurs puissants avec un Raspberry-Pi et un Breakout L298.
Où acheter

  • Moteurs et plateforme
  • Compléments utiles