Spørgsmål:
Idéer til at låse kontakten
Dirk
2010-05-19 07:03:34 UTC
view on stackexchange narkive permalink

Jeg prøver at oprette en låsekontakt, der er tilsluttet en dør og vil sætte pris på ideer.

Omskifteren er tilsluttet en mikrocontrollerindgangsstift, og jeg vil gerne have, at den fungerer som følger: Når en person åbner og lukker døren, den låses fast. Den forbliver tændt, indtil den nulstilles i softwaren.

Grundidéen er at tage tid, hvor længe siden døren blev åbnet og lukket igen, og gøre noget ud fra det. Når jeg har gjort dette, kan jeg nulstille kontakten igen. Det betyder ikke noget, om døren åbnes eller lukkes flere gange.

Jeg er ikke sikker på, hvor jeg skal starte, så ideer er velkomne.

Så har du en idé om, hvordan du vil føle, når døren er åben eller lukket, eller er det en del af spørgsmålet? Vil du også sige, at du primært er interesseret i, når døren åbnes og lukkes, ikke i en " låse "?
God pointe. Det er en del af spørgsmålet :) Jeg har ikke noget imod, når døren åbnes og lukkes, bare at den har gjort det.
Fire svar:
Atmelfaebrian
2010-05-19 08:16:27 UTC
view on stackexchange narkive permalink

De fleste moderne MCU'er som Atmel AVR (brugt i Arduino) har evnen til at sove i en meget lav strømtilstand (< 1 uA) og vågne op fra en række kilder, herunder timer med lav effekt, drevet af 32 kHz krystal eller afbrydelser af pin-skift. Brug af en pin-skift afbrydelse eller et lavt niveau udløst afbrydelse kan vække AVR-mikrocontrolleren fra dyb strøm ned. Derefter kan staten gemmes i en programvariabel. Se http://www.atmel.com/avr

En alternativ hardware-eneste tilgang til en låsekontakt er RS-låsen bygget fra to 2-input NOR- eller NAND-porte med udgang tilbage til en af ​​de 2 indgange. Hver gang output bliver højt, holder feedbacken det i den tilstand, indtil det andet input trækkes højt for at nulstille låsen.

Atmelfaebrian

Hvis du har en controller, er det sandsynligvis fornuftigt at bruge den. Det kan også have strømafslutningstilstande, der gør det muligt for en timer eller rtc at fortsætte med at køre, så du stadig kan holde tid, mens CPU'en sover. Alternativt kan du bruge en ekstern RTC.
ajs410
2010-05-19 22:38:23 UTC
view on stackexchange narkive permalink

Brug en Hall Effect-sensor og en magnet på døren. Hvis sensoren opfanger et magnetfelt, er døren lukket. Intet magnetfelt - ikke lukket.

Nu kan du med jævne mellemrum polle sensoren i den hastighed, du ønsker (noget langt ... som 250 ms?). Når du ikke registrerer noget magnetfelt, kan du begynde at spore tid.

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

For at afklare taler du ikke om at låse døren, ikke? Du mener bare, at kontakten låser?

Hvis jeg antager, at ja: Jeg ville starte med en optisk slot-sensor og et stykke pap fastgjort til døren og derefter gøre låsen i software. Prøv noget i retning af Rohm RPI-131 fra Digikey.

Jep - låser ikke døren. Ved at "låse" mener jeg, at kontakten forbliver i en eller anden tilstand, indtil den nulstilles. Jeg ved, at det er muligt at få MCU til at lytte kontinuerligt, men vil hellere kun gøre det en gang hvert par minutter. (Jeg prøver virkelig at spare strøm, så mcu forhåbentlig bruger det meste af sin tid på at sove)
Dette er lidt af en sej idé, så du vil montere denne sensor på rammen og montere et stykke kort på døren, der bryder bjælken, når døren er lukket? Ulempen ved denne tilgang er, at denne type sensor altid er tændt, og når man ser på databladet, trækker den mellem 50-100 mA.
Jeg vedder på, at du kunne løse det mekanisk. Måske kan pap faktisk være et skrot af plast, der er bøjet, så det passer ind i slotsensoren. Når døren åbnes, trækker den ud af spalten og bøjes ud, men når døren lukkes, passer den ikke tilbage i spalten. (Det skal nulstilles manuelt, men fra spørgsmålet synes jeg, det er OK.) Så kan du slukke for sensoren næsten hele tiden.
Ved polling skal sensoren kun være tændt, når den polles. Arranger det, så controlleren kan tænde / slukke.
vicatcu
2010-05-19 20:46:03 UTC
view on stackexchange narkive permalink

Jeg ville gøre noget super simpelt, som en kontakt "switch" og gøre "latching" logikken i software. Det vil sige, brug bare to metalstykker, et på døren og et på rammen, der "rører", når døren er lukket, og adskilt, når døren er åben. Foretag, at indgangsstiften har den interne pullup aktiveret. Fastgør metallet på rammen til din MCU-indgangsstift. Fastgør metallet, der er på døren til GND (fælles for din MCU GND). Når døren er lukket, vil denne indgang læse "0", når døren er åben, vil denne indgang læse "1". Jeg tror, ​​du kan så endda vågne op på en logisk niveauovergang på den pin (jeg tror, ​​det er sådan, det fungerer alligevel). Du kan også parre denne vækning med en "periodisk" vækning fra en timerafbrydelse som foreslået af andre.

Jeg er enig. Det er enklest at have hardwaren kun til at mærke "døren er lukket" eller "døren er åben" og har softwaren til at holde styr på, om døren nogensinde er blevet åbnet, hvor længe døren har været åben, hvor længe døren har været lukket osv Ovenstående "2 stykker metal" er fint til prototyping. Senere vil du måske skifte til en anden dørsensor, der er mindre sårbar over for statisk ladning. - en magnet og en hall-effektsensor, en hvidmalet plet og en optisk reflekterende sensor osv. Alt, der giver dig et "0", når døren er åben og en "1", når døren er lukket.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...