Raspberry Pi et son compagnon 8 bits - La gestion de l'énergie simplifiée
Les ordinateurs monocartes équipés de systèmes Unix simplifient le développement de systèmes de contrôle avancés. Ils surpassent les microcontrôleurs (MCU), surtout pour les tâches nécessitant des interfaces graphiques et un traitement intensif de données. Toutefois, ils présentent des limites en termes de consommation d’énergie et de performances en temps réel. Mais pourquoi ne pas combiner le meilleur des deux mondes ? Pour réduire la consommation d’énergie d’un ordinateur monocarte, vous pouvez l’associer à un microcontrôleur. Par exemple, nous voulons mettre en œuvre un système qui respecte les temps d’arrêt programmés et effectue un « démarrage sur alarme » en réponse à un événement externe spécifique.
Le circuit
En principe, le circuit fonctionne comme indiqué dans l’organigramme (figure 1). Le régulateur de tension qui sert d’alimentation principale pour l’ordinateur de traitement (généralement un régulateur à découpage) est contrôlé par le microcontrôleur via son entrée Enable (EN).
Le microcontrôleur nécessite une alimentation séparée, indépendante de l’entrée EN ; en raison de la faible consommation d’énergie, un régulateur linéaire constitue ici une option économique. En général, le circuit est flexible quant au choix des composants ; l’auteur préfère utiliser les versions modernes du PIC16F de Microchip.
La figure 2 montre le sous-circuit qui signale au PIC lorsque le SBC (OPI = Orange Pi) est alimenté par le régulateur à découpage externe (EXT). D1a, R9 et D7a forme un atténuateur assez « classique », qui réduit les tensions d’entrée dans jusqu’à 20 V en une valeur supportable pour les entrées de l’ordinateur de traitement et du microcontrôleur.
La séparation de la résistance en série entre les valeurs R7 et R9 est nécessaire car les ordinateurs monocartes peuvent présenter une charge à faible impédance ou conserver une tension résiduelle lorsqu’ils sont éteints. En absence de cette résistance, le microcontrôleur chargé de la gestion de l’alimentation (connecté via la borne PIC) pourrait recevoir des valeurs anormales ou non valides.
R7 est un élément de protection supplémentaire - les entrées de l’ordinateur de traitement sont reliées à la tension d’alimentation et à la masse par des diodes de protection. Lorsque des surtensions se produisent, R7 limite le courant traversant ces diodes, protégeant ainsi l’ordinateur de traitement contre les dommages potentiels, tandis que C13 et R8 ajoutent une fonction de filtrage supplémentaire.
Il est important de souligner que le circuit présenté ici avec son entrée EXT était directement connecté au système électrique du véhicule de divers bus scolaires. Ayant été intégré à plusieurs milliers de systèmes sans aucun incident signalé, son efficacité et sa fiabilité ont été démontrées.
La diode D1a est essentielle pour la protection contre l’inversion de polarité. Comme l’atteste l’auteur, qui possède également une expérience dans le domaine de la logistique, connecter accidentellement des batteries de manière incorrecte est une erreur fréquemment commise par les mécaniciens.
La puissance du logiciel
La communication via I2C est généralement fiable (à condition de ne pas oublier les résistances de tirage vers le haut nécessaires). Le « secret » de ce système réside dans le logiciel. Le PIC met en œuvre une sorte de machine à états qui est basée sur les états montrés dans la figure 3.
La gestion du processus d’arrêt est cruciale. Les systèmes d’exploitation Unix ne gèrent pas bien les interruptions brusques de l’alimentation. Une solution efficace est d’utiliser un compte à rebours : la carte SBC active ce compte à rebours et lance ensuite l’arrêt du système d’exploitation. Une fois le délai (délibérément long) écoulé, est sécurisé et peut être déconnecté en toute sécurité de l’alimentation électrique
Bien entendu, le PIC peut également effectuer d’autres tâches. Outre le stockage des numéros de série et d’autres informations (rendant ainsi leur manipulation plus difficile), il il est capable d’exécuter des tâches de contrôle de base. Pour des applications plus complexes, l’utilisation d’un microcontrôleur 32 bits comme contrôleur secondaire pourrait être envisagée, permettant par exemple de gérer une tâche de mesure, régulation et contrôle MSR.
Expérience pratique
Les traceurs basés sur le circuit décrit ici sont maintenant utilisés par dizaines de milliers par l’un des clients de l’auteur, témoignant ainsi de l’efficacité pratique de ce design. Alors qu’auparavant, ces dispositifs consommaient environ 200 mA en mode veille, ils ne requièrent désormais que quelques milliampères. L’article AN4121 de l’auteur, publié par Microchip, est disponible à l’adresse ici et fournit de plus amples informations sur le sujet.
Note de l'éditeur : Cet article (240210) apparaît dans l'édition bonus de janvier/février 2025
Questions or Comments?
Do you have questions or comments about this article? Email the author at tamhan@tamoggemon.com or contact Elektor at editor@elektor.com.