Protection des broches d'entrée du microcontrôleur contre l'interrupteur d'alimentation doux

10

Je travaille sur un interrupteur d'alimentation doux pour un microcontrôleur où un interrupteur momentané peut allumer le circuit (y compris le microcontrôleur), puis lorsque l'interrupteur est enfoncé une deuxième fois, le microcontrôleur peut s'éteindre après avoir effectué un nettoyage.

dessin de circuit

J'ai le circuit ci-dessus jusqu'à présent, mais je ne sais pas s'il sera fiable. J'utilise une batterie lithium-ion (3,7-4,2 V) et le régulateur TC1015 (sortie 3,0 V). L'idée est que lorsque le commutateur est enfoncé, le régulateur se met en marche, puis le microcontrôleur se met en position uC Powerhaute, se maintenant en marche. Lorsque l'interrupteur est enfoncé une deuxième fois, une interruption uC Switchactivée permettra au microcontrôleur de se mettre en position uC Powerbasse, s'éteignant.

Ce dont je ne suis pas sûr, c'est si je dois protéger le microcontrôleur de la tension de la batterie. Le microcontrôleur que j'utilise a une tension maximale absolue sur les broches d'E / S de Vdd + 0,4 V, donc je ne sais pas comment gérer cela au mieux.

Deuxièmement, ce circuit empêchera-t-il réellement le régulateur de s'allumer lorsqu'il est dans l'état "éteint"? J'avais pensé à utiliser une résistance de rappel sur la ligne d'activation, mais je m'inquiète du tirage actuel pendant que la puce est sous tension.

Edit: Le microcontrôleur est la charge principale qui sera commutée, donc le mettre en mode basse consommation ne fonctionnera malheureusement pas ici.

Modifier # 2 (après la publication des réponses):

J'ai fini par utiliser le circuit ci-dessous:

schéma de circuit fixe

Le circuit précédemment affiché ne fonctionnait pas très bien et avait des problèmes avec une ligne d'activation flottante lorsque le microcontrôleur ne l'alimentait pas.

Le nouveau circuit utilise une bascule, la ligne de données étant normalement tirée vers le bas. Appuyez sur l'interrupteur pour faire sonner l'horloge et mettre le système sous tension. Des pressions ultérieures sur le commutateur entraînent la CLOCKligne haut (permettant au microcontrôleur de détecter la pression), mais n'affectent pas la sortie du régulateur. Une fois que le microcontrôleur est prêt à s'éteindre, il met la DATAligne haute puis la CLOCKligne haute, ce qui entraînera l'arrêt du régulateur.

L'une des choses vraiment intéressantes à propos de cette configuration, c'est que la première pression sur le bouton allume le régulateur et le maintient jusqu'à ce que le microcontrôleur soit prêt à s'éteindre. Le rebond n'est pas un problème, car peu importe combien de fois la ligne d'horloge monte, la ligne de données est toujours maintenue basse par le pull down. De plus, la consommation de courant devrait être très minime (juste la bascule et le TC1015 éteint), et il y a une consommation de courant minimale à travers les résistances quand elle est allumée.

Le microcontrôleur doit être protégé de la tension de la batterie sur la ligne d'horloge, mais comme l'a suggéré @Andy aka, cela peut être fait avec une résistance activée CLOCK.

Carson Darling
la source

Réponses:

4

R1 et R2 limiteront le courant dans les broches de votre uC, ce qui est généralement suffisant pour protéger votre appareil - il vous suffit de vérifier dans les spécifications ce qu'est ce courant "limite" et de choisir une valeur de résistance appropriée étant donné que l'alimentation uC peut être à 0V (non alimenté). Les zeners peuvent être laissés de côté sur cette base.

La fiabilité est un autre problème. Le rebond de commutateur peut amener votre uC à s'allumer puis à s'éteindre plusieurs fois, alors écrivez votre code pour en être conscient.

Je pense qu'il peut être conseillé d'avoir une résistance activée, mais probablement dans la région de + 10K et peut-être que cela pourrait être supérieur à 100k.

La tension sur la broche d'arrêt doit être d'au moins 45% de Vin, donc cela ne devrait pas être un problème.

Andy aka
la source
3

Cela ressemble à un système à verrouillage automatique, qui en théorie devrait fonctionner, comme le ferait un circuit de relais à verrouillage automatique (un bouton est utilisé pour allumer le relais, puis parce que la broche de charge et la broche de la bobine sont liées ensemble, le relais reste allumé tant que les broches de charge sont alimentées).

Pour le tester, sans risquer un microcontrôleur, vous pouvez le faire. Ajoutez une charge factice pour garder le régulateur heureux (quelques LED, aussi pour que vous puissiez voir qu'il fonctionne), puis attachez la sortie au point où elle est marquée uC Power. Après avoir appuyé sur l'interrupteur, le régulateur devrait démarrer, allumant les LED et l'alimentation uC, ce qui devrait à son tour garder la broche d'activation à un niveau logique élevé (Shutdown Logic High est au minimum 45% de VIN, donc 1,89 V à 4,2 V In. ).

Donc, si vous appuyez sur le bouton et que les voyants restent allumés après l'avoir relâché, cela fonctionne. Si ce n'est pas le cas, cela ne fonctionnera pas tel quel.

Attention: je dis cela, ne sachant pas comment les diodes Zener feront réagir le circuit.

Passant
la source
0

Le circuit reliant la batterie, les signaux du microcontrôleur et l'entrée SHDN * du régulateur (renommé EN) semble douteux.

Que diriez-vous d'utiliser un loquet (fonctionnant sur batterie) pour capturer la fermeture de la clé. Ensuite, la sortie de ce verrou peut être activée avec un signal de signal du MCU pour entraîner la broche SHDN * du régulateur (renommée EN dans le schéma). Au démarrage, le MCU doit d'abord conduire sa ligne d'activation, puis dégager le verrou, garantissant ainsi que EN reste affirmé.

L'action suivante du bouton peut être surveillée via le loquet: si l'interrupteur est enfoncé à nouveau, le loquet remonte à nouveau. Le MCU le remarque et efface le verrou et son signal d'activation, déclenchant l'arrêt. Étant donné que le commutateur est verrouillé, le MCU peut surveiller cela très facilement en le scrutant simplement à une fréquence tranquille.

Un autre raffinement optionnel serait un circuit pour s'assurer que lorsque la batterie elle-même est en ligne, le système se met sous tension sans utiliser le bouton. Cela pourrait être une sorte d'impulsion qui fixe le verrou.

Kaz
la source
0

Tirez EN bas avec une résistance appropriée et attachez-la à une broche io sur le MCU. Le commutateur va sur une broche d'entrée du mcu. Appuyez sur le bouton déclenche une interruption sur la broche d'entrée du mcu qui bascule la broche de sortie contrôlant la broche EN de votre LDO.

Mettre le MCU en veille profonde permettra de tirer la broche vers le bas et de désactiver le LDO. Déclencher une interruption avec le commutateur le réveillera, tirant à nouveau la broche vers le haut et réactivant l'activation du LDO.

cthree
la source
Désolé, j'aurais dû préciser un peu plus clairement, le microcontrôleur est la charge principale que le LDO va commuter, donc le laisser dans un état de faible puissance ne fonctionnera pas.
Carson Darling