Question:
Idées d'interrupteurs à verrouillage
Dirk
2010-05-19 07:03:34 UTC
view on stackexchange narkive permalink

J'essaie de construire un interrupteur à verrouillage connecté à une porte et j'apprécierais des idées.

L'interrupteur est connecté à une broche d'entrée du microcontrôleur, et j'aimerais qu'il fonctionne comme suit: Quand une personne ouvre et ferme la porte, elle se verrouille. Il reste allumé jusqu'à ce qu'il soit réinitialisé dans le logiciel.

L'idée de base est de chronométrer le temps écoulé depuis l'ouverture et la fermeture de la porte, et de faire quelque chose en fonction de cela. Une fois que j'ai fait cela, je peux réinitialiser à nouveau le commutateur. Peu importe si la porte est ouverte ou fermée plusieurs fois.

Je ne sais pas par où commencer, donc toutes les idées sont les bienvenues.

Alors, avez-vous une idée de la façon dont vous voulez sentir quand la porte est ouverte ou fermée, ou est-ce que cela fait partie de la question? De plus, diriez-vous que vous êtes principalement intéressé par le moment où la porte s'ouvre et se ferme, pas par un " loquet"?
Bon point. Cela fait partie de la question :) Cela ne me dérange pas quand la porte s'ouvre et se ferme, juste qu'elle l'a fait.
Quatre réponses:
#1
+9
Atmelfaebrian
2010-05-19 08:16:27 UTC
view on stackexchange narkive permalink

La plupart des MCU modernes comme l'Atmel AVR (utilisé dans Arduino) ont la capacité de dormir dans un état de très faible consommation (< 1 uA) et de se réveiller à partir d'une variété de sources, y compris une minuterie de faible puissance entraînée par un cristal de 32 kHz ou les interruptions de changement de broche. L'utilisation d'une interruption de changement de broche ou d'une interruption déclenchée de bas niveau peut réveiller le microcontrôleur AVR d'une mise hors tension profonde. Ensuite, l'état peut être enregistré dans une variable de programme. Voir http://www.atmel.com/avr

Une autre approche matérielle uniquement pour un commutateur de verrouillage est le verrou RS construit à partir de deux portes NOR ou NAND à 2 entrées avec sortie renvoyée à l'une des 2 entrées. Chaque fois que la sortie devient élevée, le feedback le maintient dans cet état jusqu'à ce que l'autre entrée soit tirée vers le haut pour réinitialiser le verrou.

Atmelfaebrian

Si vous avez un contrôleur, il est probablement logique de l'utiliser.Il peut également avoir des modes de mise hors tension qui permettent à une minuterie ou à un rtc de continuer à fonctionner afin que vous puissiez toujours garder l'heure pendant que le processeur est en veille. Vous pouvez également utiliser un RTC externe.
#2
+4
ajs410
2010-05-19 22:38:23 UTC
view on stackexchange narkive permalink

Utilisez un capteur à effet Hall et un aimant sur la porte. Si le capteur capte un champ magnétique, la porte est fermée. Pas de champ magnétique - pas fermé.

Vous pouvez maintenant interroger périodiquement le capteur à la vitesse que vous voulez (quelque chose de long ... comme 250 ms?). Une fois que vous ne détectez aucun champ magnétique, vous pouvez commencer à suivre le temps.

#3
+3
pingswept
2010-05-19 07:16:14 UTC
view on stackexchange narkive permalink

Pour clarifier, vous ne parlez pas de verrouiller la porte, non? Vous voulez simplement dire que le commutateur se verrouille?

En supposant que oui: je commencerais avec un capteur optique de fente et un morceau de carton attaché à la porte, puis je ferais le verrouillage dans le logiciel. Essayez quelque chose comme le Rohm RPI-131 de Digikey.

Oui - ne pas verrouiller la porte. Par «verrouillage», je veux dire que le commutateur reste dans un certain état jusqu'à sa réinitialisation. Je sais qu'il est possible que le MCU écoute en continu, mais je préfère ne le faire qu'une fois toutes les quelques minutes. (J'essaie vraiment d'économiser de l'énergie, donc mcu passera la plupart de son temps à dormir)
C'est un peu une bonne idée, alors vous monteriez ce capteur sur le cadre et monteriez un morceau de carte sur la porte qui brise le faisceau lorsque la porte est fermée? L'inconvénient de cette approche est que ce type de capteur est toujours allumé, et en regardant la fiche technique, il tire entre 50-100 mA.
Je parie que vous pourriez résoudre cela mécaniquement. Peut-être que le carton pourrait en fait être un morceau de plastique plié pour qu'il s'insère dans le capteur de fente. Lorsque la porte s'ouvre, elle sort de la fente et se déforme, mais lorsque la porte se ferme, elle ne rentre pas dans la fente. (Il faudrait le réinitialiser à la main, mais d'après la question, je pense que c'est correct.) Ensuite, vous pouvez désactiver le capteur presque tout le temps.
En cas d'interrogation, le capteur ne doit être activé que lorsqu'il est interrogé. Disposez-le de manière à ce que le contrôleur puisse l'allumer / l'éteindre.
#4
+3
vicatcu
2010-05-19 20:46:03 UTC
view on stackexchange narkive permalink

Je ferais quelque chose de super simple, comme un contact "interrupteur" et je ferais la logique de "verrouillage" dans le logiciel. C'est-à-dire qu'il suffit d'utiliser deux morceaux de métal, un sur la porte et un sur le cadre qui «se touchent» lorsque la porte est fermée et se séparent lorsque la porte est ouverte. Faire en sorte que la broche d'entrée ait le pullup interne activé. Fixez le métal qui se trouve sur le cadre à votre broche d'entrée MCU. Fixez le métal qui se trouve sur la porte à GND (commun à votre MCU GND). Lorsque la porte est fermée, cette entrée indiquera "0", lorsque la porte est ouverte, cette entrée indiquera "1". Je pense que vous pouvez même vous réveiller sur une transition de niveau logique sur cette broche (je pense que c'est comme ça que ça marche de toute façon). Vous pouvez également coupler ce réveil avec un réveil "périodique" à partir d'une interruption du minuteur, comme suggéré par d'autres.

Je suis d'accord. Il est plus simple que le matériel détecte uniquement «porte fermée» ou «porte ouverte», et que le logiciel sache si la porte a déjà été ouverte, combien de temps la porte a été ouverte, combien de temps la porte a été fermée, etc. .Les «2 pièces de métal» ci-dessus conviennent pour le prototypage. Plus tard, vous voudrez peut-être passer à un autre capteur de porte moins vulnérable à la charge statique. - un aimant et un capteur à effet hall, un spot peint en blanc et un capteur optique réfléchissant, etc. Tout ce qui vous donne un "0" lorsque la porte est ouverte et un "1" lorsque la porte est fermée.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...