🛠 Intégration produit : alimentation VIN/VUSB, régulateur 250 mA, RTC à quartz et EEPROM
Objectifs
Faire passer la Teensy 3.2 du banc de breadboard au produit intégré : alimenter par VIN sans refouler dans l'USB, ne pas dépasser les 250 mA du régulateur embarqué, activer le RTC (qui exige un quartz à souder soi-même), sauvegarder des données dans l'EEPROM émulée et la RTC RAM. Chaque point correspond à un piège documenté par PJRC et son forum.
Matériel
- 1 Teensy 3.2 + alimentation externe 5 V (ou 3,3 V externe pour un usage basse tension)
- 1 pile bouton 3 V (CR2032) pour VBAT
- 1 quartz 32,768 kHz à souder sur les pads RTC (non fourni, non soudé d'usine)
- Dremel/lame pour la coupe des pads VIN/VUSB — à faire avec la plus grande précaution
1) VIN et VUSB sont reliés : le piège du refoulement
Sur la Teensy 3.2, VUSB et VIN sont reliés sous la carte. Appliquer du 5 V sur VIN pendant que le câble USB est branché renvoie du courant dans l'ordinateur — risque pour le port USB des deux côtés. Pour alimenter par VIN tout en gardant l'USB (config « production alimentée, USB pour le debug »), il faut couper le lien entre les pads sous la carte — mais attention : couper trop profond sectionne le fil de VIN dans les couches internes de la carte (thread de réparation sur le forum PJRC). On peut aussi alimenter directement en 3,3 V externe sur la broche 3,3 V, en respectant la consigne : le régulateur embarqué accepte au maximum 250 mA de charge externe sur la broche 3,3 V — un écran, des LED ou un ESP8266 sur cette broche, et c'est la chute. Justement, la vocation historique du régulateur renforcé de la 3.2 (vs 3.1) est de pouvoir alimenter directement un module ESP8266 Wi-Fi ou WIZ820io Ethernet.
2) RTC : le quartz est à souder
Le tableau des specs techniques PJRC est clair : le RTC nécessite un quartz 32,768 kHz soudé par l'utilisateur sur les deux pads dédiés — sans lui, l'horloge temps réel ne fait tout simplement rien. Une fois le quartz posé :
// Le RTC garde l'heure grâce à la pile sur VBAT (3 V, type CR2032).
// 32 octets de RTC RAM (28 utilisables) sont également conservés par VBAT.
#include <TimeLib.h> // bibliothèque Time livrée avec Teensyduino
void setup {
Serial.begin(9600);
setSyncProvider(teensy3Get); // lit le RTC du MK20
if (timeStatus != timeSet) Serial.println(F("RTC pas initialise"));
}
void loop {
Serial.printf("%02d:%02d:%02d\n", hour, minute, second);
delay(1000);
}
3) Mémoire non volatile
- EEPROM émulée : 2048 octets dans la FlexNVM —
EEPROM.get/put— parfaite pour des configurations, à ménager (cycles d'écriture limités : écrire sur changement, pas en boucle). - RTC RAM : 32 octets (28 utilisables) conservés par la pile — idéale pour un état critique sans user la flash.
4) Câblage de masse
La carte dispose de 3 broches GND + 1 AGND : reliez l'alimentation de puissance et la Teensy par une masse commune propre (étoile), surtout avec des rubans LED ou un étage audio.
Vérification attendue
Pile + quartz en place : l'heure survit à une coupure totale d'alimentation de plusieurs minutes. Enlevant la pile : l'horloge repart à zéro — la preuve que VBAT travaille. En mesure : un multimètre en courant entre l'alim et la broche VIN montre la consommation de votre ensemble ; gardez la partie 3,3 V sous 250 mA. >
Erreurs fréquentes
- 5 V sur VIN + USB branché sans couper les pads : refoulement de courant dans le PC — le symptôme peut être le disjonctage du port USB de l'ordinateur.
- Coupe trop agressive des pads : le fil VIN interne est sectionné, la carte ne s'alimente plus par VIN (réparation délicate documentée sur le forum).
- Compter sur le RTC sans souder le quartz : aucune horloge, aucune sauvegarde d'heure — ce n'est pas un bug, c'est le montage d'origine.
- Écrire l'EEPROM à chaque tour de loop : usure de la FlexNVM — comparez avant d'écrire.
- Surcharger la broche 3,3 V (écran + capteurs + radio) : brown-out aléatoires — alimentez les périphériques en 5 V ou en régulateur externe.
- Oublier de relier les masses entre alim de puissance et logique : comportements fantômes en PWM/LED.
Autres tutoriels pour cette carte
- Premiers pas sur la Teensy 3.2 : Teensyduino, HalfKay et premier Blink
- Broches, ADC 13 bits, DAC 12 bits et PWM : dompter les E/S de la Teensy 3.2
- Un instrument MIDI USB en 10 minutes : Bounce, boutons et règle d'or du drain
- Audio Shield SGTL5000 : boucle stéréo 44,1 kHz et outil de conception graphique
- OctoWS2811 : piloter 8 rubans WS2812 en parallèle par DMA (presque zéro CPU)
- Timers matériels, interruptions imbriquées et FASTRUN : la vitesse Cortex-M4
Exemples de code pour cette carte
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino