Suite à ma question précédente, j'essaie de créer un contrôleur d'arrêt pour mon Raspberry Pi. Le Raspberry Pi doit être alimenté par la batterie, mais doit s'éteindre après que le Pi détecte que le contact a été coupé.
Le Pi prendra une alimentation de 3,3 V de la ligne ACC (j'ai d'autres composants qui prendront 5 V de la ligne ACC via un 7805, donc je descendrai à 3,3 V en utilisant un diviseur de tension à moins que quelqu'un n'ait une meilleure suggestion - je '' Je conduirai également un uPD6708 qui nécessite des E / S CMOS 5 V, il faudra donc passer de 5 V à 3,3 V sur 2 autres lignes).
Le logiciel exécuté dans le RPi mettra l'une des broches GPIO à un niveau élevé, probablement lorsque le RPi s'arrêtera, les broches GPIO deviendront toutes basses. Le Q1 doit donc activer le relais, en gardant le RPi sous tension tant que le contact est mis ou que la broche GPIO est haute.
J'ai 3 kits de fusibles avec un capuchon de 1000 uF et une sorte de transformateur / inducteur, je peux donc aussi bien en utiliser un sur chaque batterie 12V et ligne d'accessoires 12V.
Ce contrôleur d'arrêt prétend n'utiliser que 50uA en veille - si j'utilisais une porte OU CMOS 4071 qui serait un début, mais d'après ce que j'ai lu, vous auriez besoin de plus de courant de la porte OU pour saturer le transistor - est non?
En gardant à l'esprit que je dois changer de niveau 5 lignes de 3,3 V à 5 V et 2 de 5 V à 3,3 V en plus des exigences de ce sous-circuit, quelqu'un peut-il recommander des composants / alternatives pour OR1, Q1, RLY1 et / ou des modifications?
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Voici ma tentative de suivre la suggestion de @Connor Wolf.
- R1 et C3 doivent être choisis pour permettre au RPi de s'éteindre correctement
- J'ai ajouté C1 parce que j'imagine que cela prendra un bref instant avant que le relais ne commute après la coupure du contact - je n'ai aucune idée de la durée, mais je suppose que le RPi va tirer environ 700mA de le condensateur, en plus du 555 et relais
@ Nick suggère que cela pourrait être plus simple - comme ça peut-être? J'ai essayé de retirer les diodes afin de pouvoir simplement utiliser une alimentation USB 12V-5V 1A standard (ou une paire d'entre elles). La fiche technique du 555 indique qu'elle produit 3,3 V (source maximale 100 mA? Cette page indique 200 mA). Le RPi lira la ligne ACC à 3,3 V pour déterminer quand s'arrêter.
la source
Réponses:
Bien que l'utilisation d'un circuit de minuterie à un coup fonctionnera, je pense qu'une solution plus simple peut être utilisée. Jetez un oeil à ce circuit.
Pour plus de précision, "VBAT" est une source 12V qui est toujours allumée tant que la batterie est connectée. Cependant, "ACC" est une source 12V qui n'est allumée que lorsque le contact est mis ou que la clé est réglée sur "accessoire". Plutôt que d'utiliser un relais 5V juste pour contrôler l'alimentation du RPi, pourquoi ne pas utiliser un relais automatique 12V standard comme indiqué. De cette façon, il n'y a pas de perte d'énergie (sauf pour le courant de la bobine lorsque l'alimentation est sous tension) car tout sera déconnecté de la batterie.
Un côté de la bobine est toujours connecté à 12V. Le côté opposé est connecté à la masse (châssis) via un FET à canal N (Q1). Alors qu'un MOSFET est utilisé dans le diagramme, tout FET capable de réduire le courant de la bobine peut être utilisé. Lorsque "ACC" est sous tension, Q1 se met en marche, connectant la bobine à la terre et actionnant l'interrupteur. Cela alimentera à son tour le circuit de régulation 5V que vous prévoyez d'utiliser (un simple régulateur 7805 avec dissipateur de chaleur, un convertisseur CC-CC à commutation, les alimentations USB mentionnées, etc.).
La diode D2 est là pour garantir que le condensateur ne peut se décharger que sur Q1 et peut être régulier ou Shottky. D'autres méthodes devraient probablement être utilisées pour la protection contre les surtensions et les courants de la batterie.
La tension "ACC" peut être placée à travers un diviseur de tension pour créer un signal de 3,3 V pour le RPi. Soyez prudent avec ce niveau de tension, étant donné qu'une batterie automatique 12V peut vraiment être plus comme 14V DC. Tant que ce signal est HI, le RPi sait que l'appareil est sous tension. De toute évidence, cette broche GPIO doit être définie comme une entrée avec tous les pullups internes désactivés. Lorsque "ACC" est désactivé, le RPi devrait voir le signal LO sur la broche et commencer son arrêt.
Lorsque la tension "ACC" est coupée, le condensateur C1 conserve la charge pendant si longtemps, se déchargeant à travers la résistance R1. Une fois que la tension du condensateur tombe en dessous du seuil de grille de Q1, il s'éteint, déconnectant la bobine de relais de la masse et coupant l'alimentation du circuit périphérique. Si un "MOSFET de niveau logique" est utilisé pour Q1, il restera activé jusqu'à ce que la tension C1 soit assez faible. J'ai testé ce circuit à l'aide d'un NTD4960 (fiche technique ), et il est resté allumé pendant environ 15 secondes - jusqu'à ce que C1 soit autour de 2V. Pour augmenter le temps, augmentez la valeur de capacité.
la source
Honnêtement, je pense que vous y pensez trop.
Personnellement, je n'utiliserais qu'un seul coup d'une durée d'une minute ou deux, déclenché par l'arrêt de la voiture.
Lorsque vous éteignez la voiture, un coup de feu se déclenche, maintenant le relais fermé jusqu'à ce qu'il expire. Tout ce que vous auriez à faire serait de vous assurer que votre Raspberry Pi s'arrête dans une minute ou deux après l'arrêt de la voiture. Cela devrait être assez facile en surveillant une entrée de l'alimentation commutée de la voiture.
Le plus grand avantage d'un système comme celui-ci est que lorsque votre logiciel se bloque (quand, pas si), il s'arrêtera quand même, donc vous ne vous retrouverez pas avec une batterie morte. Le one-shot devrait être très simple. Vous pourriez utiliser un 555, ou un petit microprocesseur (comme Olin le suggérera).
Une autre bonne chose est que, si vous effectuez la conception correctement, le système peut se déconnecter de la batterie de la voiture, ce qui garantit que le courant de repos est absolument nul.
la source
Toute méthode à retard fixe souffre du problème de ne pas savoir combien de temps le RPi a vraiment besoin de s'arrêter. Il serait préférable d'appuyer sur un bouton qui signale au Pi de s'arrêter, il pourrait alors faire ce dont il a besoin pour un arrêt ordonné et propre, en prenant le temps nécessaire, puis émettre un signal GPIO vers le circuit du bouton-poussoir qui arrête le Puissance. Cela donne au RPi autant de temps qu'il le faut pour faire des choses comme arrêter la carte SD en toute sécurité. Le circuit ne doit pas être trop compliqué. Vous pouvez voir un circuit simple à
http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/on-off-power-controller
Le site Web décrit le fonctionnement du circuit.
la source
Utilisez 4 piles rechargeables AA. Alimentez le Pi d'eux et chargez-les à partir de la batterie de la voiture.
Utilisez 1 GPIO pour indiquer au Pi si le contact est mis ou coupé.
Arrêtez-vous lorsque vous êtes prêt.
la source