J'ai un microcontrôleur alimenté par batterie. Actuellement, je bascule l'alimentation par un simple interrupteur marche / arrêt. Je veux basculer l'alimentation par un bouton-poussoir avec une modification minimale du schéma (et du programme du microcontrôleur probablement) et sans consommation lorsque l'appareil est éteint. Comment puis-je le faire?
AJOUTÉ . Je connais l'astuce suivante:
Ici, au début, le microcontrôleur définit PB3 sur haut et maintient ainsi l'alimentation du périphérique. Mais ce n'est pas une solution à mon problème, car je dois également éteindre l'appareil en appuyant sur S1.
AJOUTÉ . Puis-je exclure VT2 du circuit (c'est-à-dire la base d'entraînement du microcontrôleur de VT1 directement)?
Réponses:
En fonction du circuit que vous fournissez, vous pouvez simplement ajouter une diode en série juste après le commutateur (S1) (cathode connectée au commutateur) et vous pouvez utiliser une entrée pour détecter si le commutateur a été enfoncé à nouveau, si oui, éteignez-le PB3.
La diode zener protège l'entrée PIC de la tension provenant de l'alimentation.
la source
À quel point avez-vous vraiment besoin de partir? De nombreux microcontrôleurs modernes ont un courant de sommeil bien inférieur au courant d'autodécharge même des petites batteries. Vous pouvez faire en sorte que le bouton-poussoir commande simplement la broche d'E / S du micro, qui bascule ensuite entre le mode veille et le mode actif à chaque pression sur un bouton. Un certain anti-rebond sera nécessaire, mais tout cela est également possible dans le firmware.
Ce type de méthode marche / arrêt devient assez courant de nos jours. Lorsqu'il ne prend qu'un µA, un microcontrôleur n'a pas besoin d'être vraiment éteint, juste endormi, ce qu'il peut faire sous son propre contrôle. La ligne de bouton doit être câblée à quelque chose qui peut réveiller le micro du sommeil, mais à peu près chaque micro en a au moins un, généralement plusieurs.
la source
EDIT - après réflexion, le circuit ci-dessous (que je vais laisser pour référence) est probablement le mieux adapté pour une utilisation dans des circuits sans micro. Comme mentionné dans les autres réponses, à moins que vous ne puissiez vraiment pas vous permettre les quelques uA, cela n'a pas vraiment de sens de ne pas utiliser le micro pour contrôler la bascule d'alimentation, car il utilise moins de composants et peut être contrôlé avec précision.
La version la plus simple peut être quelque chose comme une entrée IOC (interruption sur changement) avec pull up, avec bouton à la masse. Le micro est alimenté en permanence et contrôle un MOSFET à canal P (avec pullup de la porte à la source) pour le reste du circuit. Quand il dort, il laisse le portail flotter pour couper le circuit.
Circuit de référence:
Au début, le P-MOSFET est désactivé, il n'y a donc pas de courant de base à Q2, qui est également désactivé. Q1 est éteint, donc Q1c est à 5V. Le circuit est statique.
Lorsque S1 (ignorer les nœuds + et -, ils sont là pour le déclenchement SPICE) est pressé, le 5V à Q1c est connecté à la base Q2, l'allumant. Cela tire la porte P-MOSFET à la terre, la mettant également sous tension.
R4 voit maintenant 5V et lorsque S1 est libéré, il fournit à la base Q2 le courant nécessaire pour le garder ouvert (et donc le MOSFET aussi) Q1 est également activé lorsque le courant passant par R2 charge C1 à ~ 600mV, moment auquel Q1c est <200mV (c'est-à-dire que Q1 est allumé)
Le circuit est à nouveau statique.
Lorsque S1 est pressé à nouveau, Q1 absorbe le courant de R4 (qui maintient Q2 activé), désactivant Q2. R1 tire la base MOSFET jusqu'à 5V et l'éteint à nouveau.
Voici la simulation (V (push) high représente lorsque le bouton est enfoncé):
Nous pouvons également voir après la mise hors tension des têtes de courant à zéro (lorsque C1 se décharge et que Q1 s'éteint), de sorte que le circuit ne consomme aucune puissance à l'état désactivé (le curseur pour I (V1) est à 19,86 s et mesure 329 nA):
L'idée du circuit d'origine n'est pas la mienne, elle vient de Dave Jones sur EEVblog .
la source
Comme l'a suggéré Bruno Ferreira, le moyen le plus simple de permettre au bouton d'agir comme un interrupteur "off" est de changer votre circuit est de permettre au processeur de savoir quand le bouton est enfoncé. Je pense que l'on peut raisonnablement bien utiliser des résistances pour protéger l'entrée du processeur contre des tensions supérieures à VDD sans avoir besoin d'un Zener pour cela.
Voici un schéma approximatif d'une conception de circuit que vous pourriez utiliser. La moitié droite représente le comportement du processeur, et j'ai utilisé une combinaison d'un transistor, de Zener et d'une résistance pour remplacer un régulateur. La sortie du processeur est représentée à l'aide d'un commutateur analogique son VDD, plutôt que d'une porte, car les portes de ce simulateur génèrent toujours une sortie + 5V.
Un aspect clé du circuit, qui peut causer des problèmes s'il est ignoré, est qu'il est conçu de manière à ce que le processeur ne puisse pas allumer le circuit à moins que son VDD ne soit d'au moins ~ 3,6 volts; J'ai également truqué le simulateur pour que le processeur essaie toujours d'activer sa sortie chaque fois que son VDD est inférieur à 3,5 volts. J'ai vu beaucoup de conceptions qui supposent que les processeurs n'essaieront pas de produire une logique élevée lorsque leur puissance disparaîtra. Cette hypothèse peut fonctionner correctement avec certains lots de puces utilisées dans les tests, mais échouer avec d'autres lots de puces utilisés dans la production à grande échelle. Le comportement de la plupart des processeurs n'est pas spécifié dans des conditions de sous-tension; une bonne conception doit être conçue pour que le comportement d'un processeur dans de telles conditions n'ait pas d'importance (petite note: il est probablement sûr de supposer qu'un processeur qui n'est pas t explicitement conçu pour générer des tensions supérieures à toute tension appliquée ne commencera pas par magie à le faire; Je ne pense pas qu'il existe une spécification explicite pour cela, mais je pense que dans la plupart des cas, cela peut être inféré en toute sécurité).
la source