Câblage
Cette page sert à câbler le chargeur chez soi, puis à l’allumer une première fois sans rien griller. Les erreurs les plus courantes (un convertisseur mal réglé, un encodeur branché en 5 V, un servo qui ne supporte pas la tension de la batterie) abîment des pièces dès la première seconde : prenez le temps de suivre la liste de vérification dans l’ordre.
Brochage de l’ESP32
Section intitulée « Brochage de l’ESP32 »La carte est un ESP32-C3 SuperMini. Le tableau reprend firmware/src/config.h : si les deux ne
disent pas la même chose, c’est config.h qui fait foi.
| GPIO | Fonction | À savoir |
|---|---|---|
| 0 | Tension batterie (entrée analogique) | À travers un pont diviseur 100 kΩ / 20 kΩ, avec un condensateur de 100 nF vers la masse. |
| 1 | Phototransistor IR | Résistance de tirage 10 kΩ vers 3,3 V. Le signal monte quand une bille coupe le faisceau. |
| 3 | Signal du servo (PWM) | Seulement le fil de commande : le servo est alimenté directement par la batterie. |
| 4 | Bouton GO | Contact sec entre GPIO 4 et GND, rien d’autre. Débranché entièrement de l’ancien circuit 12 V. |
| 5 | Encodeur KY-040, CLK | Le + du module va sur 3,3 V, jamais 5 V. |
| 6 | Encodeur KY-040, DT | |
| 7 | Encodeur KY-040, SW (clic) | Passe à l’état bas quand on appuie. |
| 10 | OLED, SDA (I2C) | Écran SSD1306 128×64, adresse 0x3C (parfois 0x3D). |
| 20 | OLED, SCL (I2C) | Utilisable car le port série passe par l’USB natif de la puce. |
À laisser libres :
- GPIO 2, 8 et 9 sont des broches de démarrage (strapping pins) : leur niveau au moment de l’allumage décide du mode de démarrage de la puce. La 8 porte aussi la LED de la carte.
- GPIO 4 à 7 servent aussi au débogage JTAG. Ça ne gêne pas tant qu’on passe par l’USB (le débogage USB intégré ne les utilise pas), mais une sonde JTAG externe entrerait en conflit avec le bouton et l’encodeur.
Schéma de câblage
Section intitulée « Schéma de câblage »Schéma de principe : la position des broches sur le dessin ne correspond pas à leur place réelle sur la carte. Les fils rouges portent la tension batterie (7,4 V, jusqu’à 8,4 V pleine), le fil orange le 5 V du convertisseur, les drapeaux verts le 3,3 V fourni par la broche 3V3 de l’ESP32. Tous les symboles de masse sont reliés entre eux.
Composant par composant
Section intitulée « Composant par composant »| Composant | Branchement |
|---|---|
| Batterie LiPo 2S | + vers l’interrupteur général, − vers la masse commune. |
| Servo | + sur la batterie après l’interrupteur (pas sur le 5 V), − à la masse, signal sur GPIO 3. Condensateur 470 µF 16 V entre + et masse, au plus près du servo, patte + côté batterie. |
| Convertisseur 5 V (MP1584) | Entrée sur la batterie après l’interrupteur, sortie à 5,0 V (vérifiée au multimètre) vers la broche 5V de l’ESP32, masse commune. |
| Pont diviseur batterie | Batterie → 100 kΩ → GPIO 0 → 20 kΩ → masse. Condensateur 100 nF entre GPIO 0 et la masse. À 8,4 V, la broche voit 8,4 × 20 / 120 = 1,40 V. Pas de 47 kΩ à la place : la broche verrait environ 2,7 V, trop haut pour que l’ADC du C3 mesure bien. |
| LED IR 940 nm | 3,3 V → 220 Ω → anode de la LED, cathode à la masse. Elle reste allumée en permanence (environ 10 mA). |
| Phototransistor 940 nm | Collecteur sur GPIO 1, avec une résistance de 10 kΩ de GPIO 1 vers 3,3 V. Émetteur à la masse. Face à la LED, de l’autre côté du tube. |
| Encodeur KY-040 | CLK → GPIO 5, DT → GPIO 6, SW → GPIO 7, + → 3,3 V, GND → masse. |
| Écran OLED SSD1306 | SDA → GPIO 10, SCL → GPIO 20, VCC → 3,3 V, GND → masse. |
| Bouton GO | Un fil sur GPIO 4, l’autre à la masse. Aucun autre fil : débranché de l’ancien circuit 12 V. |
Première mise sous tension
Section intitulée « Première mise sous tension »À faire dans cet ordre, avant de brancher quoi que ce soit d’autre. Notez chaque valeur mesurée dans le tableau des mesures plus bas.
- Mesurer (et si réglable, régler) la sortie du convertisseur à 5,0 V au multimètre, ESP32 débranché. Une version à 5 V fixe n’a rien à régler, mais on mesure quand même. Une version réglable sort souvent d’usine à une tension quelconque, parfois proche de celle de la batterie, ce qui détruirait l’ESP32.
- Vérifier la tension maximale du servo face aux 8,4 V de la batterie pleine. Il est branché en direct sur la batterie : beaucoup de servos « 35 kg » s’arrêtent à 6,8 V et meurent au-delà. S’il est donné pour moins de 8,4 V, il lui faut son propre régulateur (un BEC ou un second convertisseur) capable de fournir son courant de blocage, c’est-à-dire ce qu’il tire quand il force à l’arrêt.
- Vérifier s’il y a une diode entre le 5 V de l’USB et la broche 5V du SuperMini. Sans diode, brancher l’USB pendant que la batterie alimente la carte met le convertisseur et le port USB de l’ordinateur face à face. Tant que ce n’est pas vérifié : jamais l’USB avec la batterie allumée (interrupteur ouvert ou batterie débranchée pour flasher).
- Brancher le
+du KY-040 sur 3,3 V, jamais sur 5 V. Le module a ses propres résistances de tirage vers son+: en 5 V, il enverrait 5 V dans des broches de l’ESP32 qui n’en supportent que 3,3. - Isoler complètement le bouton GO de l’ancien circuit 12 V. Il ne doit plus toucher que GPIO 4 et la masse : le moindre reste de 12 V sur ce fil grille la broche.
- Mettre le condensateur de 470 µF au plus près du servo. Au démarrage, le servo tire d’un coup beaucoup de courant : le condensateur évite que la tension chute au point de faire redémarrer l’ESP32.
- Mettre le condensateur de 100 nF entre GPIO 0 et la masse. Il lisse la mesure de la batterie, que les résistances de 100 kΩ rendent sensible aux parasites du servo.
- Relier toutes les masses ensemble. Sans masse commune, le signal du servo, du bouton et des capteurs n’a pas de référence et la carte lit n’importe quoi.
- Flasher d’abord le firmware
simet lire le journal série, servo débranché. Ce firmware simule les billes : on vérifie que la carte démarre, que l’écran, l’encodeur, le bouton et la lecture batterie répondent, avant de risquer la mécanique.
Pour flasher et lire le journal série, voir le
README du firmware
(pio run -e sim -t upload, puis pio device monitor).
Mesures relevées
Section intitulée « Mesures relevées »| Mesure | Valeur | Décision ou remarque |
|---|---|---|
| Sortie du convertisseur, à vide | à mesurer | |
| Servo : modèle | à relever | |
| Servo : tension maximale (fiche technique) | à relever | Alimentation directe sur la batterie, ou BEC / second convertisseur ? |
| Diode entre USB 5 V et la broche 5V du SuperMini | oui / non | Mettre à jour l’avertissement USB du README en conséquence. |
| Batterie : tension au multimètre | à mesurer | |
Batterie : tension lue par la carte (? en série) |
à mesurer | BATT_CALIBRATION = multimètre ÷ lecture de la carte. |
Voir aussi
Section intitulée « Voir aussi »- Protocole BLE : ce que la carte échange avec l’application.
firmware/src/config.h: la référence pour les broches et les réglages par défaut.