Guide Complet du Pi Servo HAT : Matériel, Câblage et Contrôle Python
Introduction
Le SparkFun Pi Servo HAT étend les capacités d'un Raspberry Pi, vous permettant de contrôler jusqu'à 16 servomoteurs de modélisme via un bus I²C. En déléguant l'alimentation et la communication des servos au HAT, vous libérez les broches GPIO du Pi pour d'autres projets et bénéficiez d'une console série pratique pour la configuration headless.
Matériel Requis
Pour suivre ce guide, rassemblez les éléments suivants. Nous recommandons une carte microSD vierge plutôt qu'une carte NOOBS, car les images d'OS plus récentes sont requises pour la prise en charge du Pi Zero W.
- Connecteurs mâles à détacher — Droits
- Alimentation secteur — 5,1 V CC 2,5 A (USB Micro-B)
- Carte microSD avec adaptateur — 16 Go (Classe 10)
- En-tête GPIO haut pour Raspberry Pi — 2×20
- Raspberry Pi Zero W
- SparkFun Pi Servo HAT
- Servomoteur de modélisme pour test (servo sub-micro générique recommandé)
Outils Requis
Aucun équipement spécial n'est nécessaire au-delà des fournitures de soudure de base. Pour de meilleurs résultats, utilisez un fer à souder de 30 W et de la soudure sans plomb.
Vue d'ensemble du Matériel
Le HAT est volontairement simple. Composants clés :
- Connecteur USB Micro-B — Fournit 5 V aux servos et peut également alimenter le Pi. Il fournit aussi une console série pour configurer le Pi sans moniteur.
- Jumper d'Isolation d'Alimentation — Fermé par défaut, connectant le rail des servos au rail 5 V du Pi. Ouvrez-le lorsque vous faites fonctionner plusieurs servos à fort courant pour éviter que le bruit ne réinitialise le Pi.
- Connecteurs Servo — 16 broches espacées de 0,1 pouce, pré-arrangées pour les connecteurs de servos de modélisme standard.
Assemblage Matériel
Nous recommandons de souder d'abord les connecteurs mâles sur le Pi Zero W, puis d'attacher le Pi Servo HAT. Technique rapide :
- Soudez une seule broche sur la carte.
- Pendant que la soudure est encore chaude, inclinez la carte pour que la broche soit à plat, puis fixez le connecteur en place.
- Terminez la soudure des broches restantes.
Répétez le processus avec le connecteur femelle et le Pi Servo HAT, en veillant à ce que les broches courtes s'insèrent par le dessous de la carte. Maintenez les connecteurs de niveau avant de terminer les joints de soudure.
Une fois assemblé, empilez le HAT sur le Pi Zero W. Connectez un servomoteur de modélisme au canal 0, en vous référant à la fiche technique du servo pour le brochage. Utilisez un adaptateur secteur 5 V pour alimenter le Pi et le HAT via le connecteur USB Micro-B étiqueté PWR IN.
Logiciel — Python
Le contrôleur PWM du HAT est un périphérique I²C, généralement accessible via SMBus. Le code d'exemple complet est disponible dans le dépôt GitHub du produit.
Initialiser SMBus
import smbus
bus = smbus.SMBus(1) # Bus I2C 1 sur Raspberry Pi
addr = 0x40 # Adresse I2C par défaut de la puce PWM
Configurer la Puce PWM
bus.write_byte_data(addr, 0x00, 0x20) # Activer le module PWM
bus.write_byte_data(addr, 0xFE, 0x1E) # Auto-incrémentation des adresses de registre
Définir une Largeur d'Impulsion pour le Canal 0
bus.write_word_data(addr, 0x06, 0) # Temps de début (toujours 0 pour 200 Hz)
bus.write_word_data(addr, 0x08, 1250) # Temps d'arrêt → impulsion de 1,5 ms
La puce PWM fonctionne à 200 Hz (période de 5 ms). Le registre d'arrêt (0-4095) correspond à des pas de 1,2 µs, donc 1250 ≈ 1,5 ms, la position neutre pour la plupart des servos.
Pour adresser d'autres canaux, ajoutez 4 aux adresses de registre :
| Canal | Adresse Début | Adresse Fin |
|---|---|---|
| 0 | 0x06 | 0x08 |
| 1 | 0x0A | 0x0C |
| 2 | 0x0E | 0x10 |
| 3 | 0x12 | 0x14 |
| 4 | 0x16 | 0x18 |
| 5 | 0x1A | 0x1C |
| 6 | 0x1E | 0x20 |
| 7 | 0x22 | 0x24 |
| 8 | 0x26 | 0x28 |
| 9 | 0x2A | 0x2C |
| 10 | 0x2E | 0x30 |
| 11 | 0x32 | 0x34 |
| 12 | 0x36 | 0x38 |
| 13 | 0x3A | 0x3C |
| 14 | 0x3E | 0x40 |
| 15 | 0x42 | 0x44 |
Chaque degré de mouvement nécessite 4,6 comptes de registre. Par exemple, un décalage de 45° par rapport au neutre représente 207 comptes (45 × 4,6), ajoutés ou soustraits de 1250 pour définir la largeur d'impulsion souhaitée.
Pour des exemples plus détaillés, visitez le dépôt GitHub et explorez les scripts Python inclus.
Guide de connexion du Pi Servo HAT
Processus de fabrication
- Guide du prototypage CNC : précision, rapidité et production rentable
- Guide d'intégration FLIR Lepton : Matériel, Logiciel et Configuration Raspberry Pi
- Guide de Démarrage du Kit Raspberry Pi 3 : Assemblage, OS et Accès à Distance
- SparkFun Qwiic HAT pour Raspberry Pi — Guide de Connexion Complet
- Guide de Configuration du Wedge 40 Broches Professionnel pour Raspberry Pi
- Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
- Maîtriser les marteaux-pilons : guide complet pour la forge moderne
- Maîtriser les forges de forge : guide complet
- Guide ultime de la fonderie de précision : techniques et applications