Pourquoi votre robot redémarre quand les moteurs se lancent (et comment y remédier)

Votre microcontrôleur redémarre parce que la pointe de courant initiale des moteurs à courant continu fait chuter la tension de la batterie sous son seuil de fonctionnement. Voici comment corriger ces redémarrages par sous-tension en classe.
Si votre robot exécute son code d'initialisation, allume ses LED, puis se réinitialise au moment précis où le code de déplacement s'exécute, votre microcontrôleur subit un redémarrage par sous-tension (brownout). Les moteurs ne grillent pas la puce : ils la privent de tension.
Quand un moteur à courant continu démarre à l'arrêt complet, il réclame une pointe de courant énorme pendant une fraction de milliseconde. Si votre alimentation ne peut pas fournir ce courant instantanément, la tension de votre circuit s'effondre. Dès que cette tension passe sous le seuil de fonctionnement sûr du microcontrôleur — environ 2,7 V pour une puce 3,3 V comme un ESP32, ou 4,3 V pour un Arduino Uno standard en 5 V — le processeur se réinitialise pour protéger sa mémoire de toute corruption. Une fois le moteur arrêté pendant la réinitialisation, la tension remonte, le code redémarre, et la boucle se répète indéfiniment.
La mécanique d'une sous-tension
Pour corriger le problème durablement, il est utile de comprendre pourquoi la tension chute. Deux réalités physiques provoquent ces redémarrages liés aux moteurs dans les kits de robotique scolaire :
- Courant d'appel : un moteur à courant continu à l'arrêt n'a pratiquement pas de force contre-électromotrice (FCEM). Électriquement, allumer un moteur revient presque à placer un court-circuit franc aux bornes de l'alimentation pendant une fraction de seconde. Un motoréducteur jaune de loisir qui consomme 150 mA en régime établi peut facilement réclamer 1,2 A à 1,5 A à l'instant où il se met à tourner.
- Résistance interne de la batterie : toute batterie possède une résistance interne. Lorsqu'on demande à quatre piles alcalines AA ou à deux cellules 18650 de délivrer instantanément 2 A à 3 A pour deux moteurs de traction, la tension aux bornes de la batterie chute proportionnellement à cette résistance interne. Des fils de liaison fins et des clips à ressort aggravent nettement cet affaissement de tension.
Quand vous alimentez un microcontrôleur et un pont en H (comme un L298N, un DRV8833 ou un TB6612FNG) depuis le même pack de batteries non tamponné, cet affaissement de tension se propage directement sur la ligne d'alimentation du processeur. Le microcontrôleur interprète la chute comme une coupure de courant et redémarre.
Correctif 1 : ajouter des condensateurs de découplage de forte capacité
Le correctif matériel le plus simple, qui n'oblige pas à ajouter un second pack de batteries, consiste à ajouter de la capacité de réservoir près du pilote de moteur.
Un condensateur agit comme un réservoir de charge électrique minuscule et extrêmement rapide. Quand le moteur démarre et réclame un afflux soudain de courant, le condensateur se décharge dans le pilote de moteur avant que la tension de la batterie principale n'ait le temps de s'effondrer complètement.
- Placez un condensateur électrolytique de 470 µF à 1000 µF directement aux bornes d'entrée de puissance du pilote de moteur (Motor VCC et GND).
- Gardez les pattes du condensateur aussi courtes que possible. S'il se trouve trois rangées de platine d'essai plus loin, la résistance des pistes de la platine émoussera son efficacité.
- Respectez la polarité : la bande négative du condensateur doit être reliée à la masse (GND), et la patte positive à l'alimentation.
Pour le bruit électrique haute fréquence généré par les balais du moteur, soudez également un petit condensateur céramique de 0,1 µF (100 nF) directement entre les deux bornes métalliques de chaque moteur à courant continu.
Correctif 2 : séparer complètement vos rails d'alimentation
Si vous construisez des robots à quatre roues motrices ou utilisez des moteurs à couple élevé, les condensateurs de réservoir seuls peuvent ne pas suffire à empêcher l'affaissement de tension sur des batteries fatiguées. La solution d'ingénierie définitive consiste à séparer vos rails d'alimentation entre alimentation logique et alimentation moteur.
| Configuration | Avantages | Inconvénients | Idéal pour |
|---|---|---|---|
| Pack unique avec condensateur de réservoir | Léger, moins de batteries à gérer en classe | Toujours sujet aux redémarrages si les batteries sont presque vides | Suiveurs de ligne légers à deux roues motrices |
| Deux packs de batteries | Aucune interférence des moteurs sur le microcontrôleur | Poids supplémentaire, deux jeux de batteries à recharger | Compétitions de robotique, châssis lourds |
| Tampon par convertisseur abaisseur | Un seul pack de batteries, tension régulée propre | Nécessite de régler la tension de sortie au multimètre | Projets avancés du secondaire |
Pour câbler correctement une double alimentation :
- Alimentez le microcontrôleur (Arduino, micro:bit ou ESP32) avec sa propre source dédiée — par exemple une batterie externe USB 5 V ou un petit accu LiPo 3,7 V avec convertisseur élévateur.
- Alimentez la borne de puissance moteur du pilote (souvent notée VM ou VMS) depuis votre pack de batteries moteur principal (par exemple un support 4×AA ou un pack Li-ion 2S).
- Reliez ensemble tous les fils de masse (GND). Le microcontrôleur et le pilote de moteur doivent partager une référence de masse commune, faute de quoi les signaux logiques de direction et de vitesse flotteront et se comporteront de façon erratique.
Correctif 3 : démarrer les moteurs en douceur par le code
On peut souvent supprimer ces redémarrages sans toucher au fer à souder, simplement en changeant la façon dont le code applique la puissance. En classe, les élèves écrivent typiquement un code qui passe instantanément de l'arrêt à la vitesse maximale :
analogWrite(motorPin, 255);
Cette transition instantanée déclenche un courant d'appel maximal. Faites plutôt monter le rapport cyclique de la modulation de largeur d'impulsion (MLI, ou PWM) sur 50 à 100 millisecondes à l'aide d'une simple boucle. Accélérer de 0 à 255 en cinq petits paliers réduit nettement la pointe de courant et maintient la tension de la batterie au-dessus du seuil de sous-tension du microcontrôleur, sans que le robot paraisse pour autant mou.
Erreurs de câblage en classe qui imitent une sous-tension
Avant de recâbler tout votre châssis, vérifiez ces trois points de défaillance mécaniques courants en milieu scolaire :
- Platines d'essai sans soudure : les rails d'alimentation d'une platine d'essai ne peuvent pas transporter de façon fiable les pointes de 1,5 A à 2 A appelées par deux moteurs à courant continu en rotation. Faites passer la puissance moteur directement par des borniers à vis ou des connexions soudées, pas par les clips à ressort d'une platine d'essai.
- Fils de liaison trop fins : les cavaliers Dupont bon marché en 28 AWG présentent une résistance élevée. Quand le courant moteur traverse des fils fins, le fil lui-même perd une tension significative avant même que l'énergie n'atteigne le pilote de moteur.
- Piles alcalines usées : à mesure que les piles alcalines se déchargent, leur résistance interne augmente fortement. Un pack qui affiche 6,0 V au multimètre à vide peut chuter à 3,2 V sous une charge de 500 mA. Mesurez toujours la tension de la batterie pendant que les moteurs cherchent activement à tourner.
Si vous équipez une salle informatique ou une équipe de compétition en matériel de distribution d'énergie fiable, des modules pilotes à filtrage intégré sont disponibles dans la boutique Sheen Robotics, ou dans nos kits de robotique structurés via Infinity.



