Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 gru 2024, o 22:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 19 cze 2017, o 11:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

Witajcie drodzy przyjaciele. Temat, który pragnę przedstawić nie jest jeszcze gotowy, bardziej w trackie montażu :) Moja piwnica jest pozbawiona zasilania, więc aby myśleć o jakimkolwiek alarmie zostaje tylko zasilanie akumulatorowe. Nie ma także możliwości przeciągnięcia kabla do mieszkania, nawet tego najcieńszego. Starałem się, aby alarm pobierał jak najmniejszy prąd, jednak tutaj tez nie chciałem przesadzać. Od samego początku zdecydowany byłem na akumulator żelowy, i liczyłem się z tym ze raz na trzy miesiące sprawdzę jego stan i podładuję...to i tak niewielkie wyrzeczenie biorąc pod uwagę że w takich piwnicach znajdują się nieraz cenne narzędzia czy rowery.

Na początku chciałem wykorzystać powiadomienie, jednak ilość zbrojenia jak i chyba przede wszystkim fakt, że dopiero od niedawna poznaje język C skutecznie mi ten pomysł z głowy wybiły.

Jako podstawowe zabezpieczenie tego co w piwnicy najcenniejsze - dwuśladów - zastosowałem hartowany łańcuch, w zasadzie niemożliwy do przecięcia ręcznymi nożycami, wraz z hartowanym szeklem zabetonowanym w posadzce. Dodając do tego mocną - przynajmniej teoretycznie - kłódkę, dajemy ewentualnemu rabusiowi pewną zagwozdkę, którą pewną chwilę na pewno mu zajmie.

Alarm, nad którym pracuję pełni bardziej rolę straszaka, głośnym dźwiękiem wprowadzając nutkę niepewności, że ktoś się nagle może zjawić. Syrena jest bardzo głośna i według danych wytwarza dźwięk 120dB - ciężko wytrzymać w jaj okolicy - sprawdzałem.

Sercem syreny jest ATtiby13 pracujący z zegarem 128kHz i z zasilaniem 3.3V ze stabilizatora LP2950 3.3 o niskim "Quiescent Current" na poziomie około 100uA, co wraz z procesorem daje w sumie 149uA podczas czuwania. Oczywiście wyłączyłem komparator i Brown-out Detection.

Czujnik w drzwiach będzie typu kontaktronowego i tu trochę namieszałem, gdyż wykorzystany jest jego styk NO. Czyli alarm zostaje uzbrojony wtedy gdy styk zostanie zwarty. Pośredniczy w tym transoptor typu PC817. W ten sposób chciałem ograniczyć prąd podczas czuwania. Wzrasta on do 5mA podczas gdy drzwi zostają otwarte - jest to właśnie prąd płynący przez kontaktron.

Pobór prądu podczas alarmu wynosi około 250mA.

Układ planuję powiesić na ścianie w żeliwnej skrzynce po starej rozdzielni. Stacyjka będzie pełniła rolę wyłącznika prądu z akumulatora czyli jednocześnie będzie służyła do zazbrojenia i rozbrojenia.

Ogólnie zasada praca jest następująca:

Wychodząc z pomieszczenia należy przekręcić kluczyk w stacyjce i go wyjąć. Spowoduje to zasilenie układy i odliczenie 10 sekund - wraz z popiskiwaniem bezzera co i sekundę. Po tym czasie układ tylko raz sprawdza czy drzwi zostały zamknięte. Jeżeli drzwi nie zostały prawidłowo zamknięte natychmiast załącza syrenę alarmową na 10 sekund. Jeżeli drzwi są zamknięte w każdym obiegu pętli głównej sprawdza ich stan. Jeżeli czujnik zadziała, czeka 10 sekund po czym załącza alarm na 3 minuty a następnie przechodzi do pętli nieskończonej załączając syrenę na 3 sekundy co 5 sekund. Zarówno alarm niedokładnego domknięcia drzwi jak i alarm główny można wyłączyć tylko stacyjką.

Proszę wybaczyć ten bardzo "liniowy" kod. Prawdopodobnie się zmieni wraz ze zdobywaniem przeze mnie większej ilości wiedzy. Was drodzy forumowicze proszę o wszelkie uwagi, co by tu poprawić, wasze wskazówki i spostrzeżenia.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ObrazekObrazekObrazek
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 13:14 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Aby ograniczyć prąd użyłbym przetwornicy zamiast stabilizatora. Dodatkowo można wprowadzić w czasie spoczynku układ w uśpienie i wybudzać zmianą stanu linii od kontaktronu. To dodatkowo obniżyłoby pobieraną moc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 13:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

HomoChemicus napisał(a):
Aby ograniczyć prąd użyłbym przetwornicy zamiast stabilizatora. Dodatkowo można wprowadzić w czasie spoczynku układ w uśpienie i wybudzać zmianą stanu linii od kontaktronu. To dodatkowo obniżyłoby pobieraną moc.


Zgoda, ale jako że od samego początku wiedziałem, że zasilane to będzie z akumulatora 7Ah, jakoś specjalnie nie starałem się zejść do granic możliwości. Akumulator żelowy i tak po kilku miesiącach traci sporą cześć ze swojej pojemności i wymaga podładowania. Wydaje mi się że 150uA to niewiele jak na takie źródło zasilania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 14:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

fysiek napisał(a):
Wydaje mi się że 150uA to niewiele jak na takie źródło zasilania.


hmmm zależy jak na to patrzeć. Może warto rozważyć porządne usypianie procka i wybudzanie go z głębokiego snu za pomocą przerwania INT0, wtedy procek może w trakcie czuwania po prostu SPAĆ NA MAXA ;) ... wtedy, jeśli dobrze przemyśleć peryferia poza prockiem, możesz zejść do powiedzmy 1 max 10 uA poboru w trakcie czuwania jeśli chodzi o procka - pomyśl ... czy wtedy 150uA zżerane bezwzględnie przez żarłoczny stabilizator nie będzie stanowiło nagle DUŻO ?

Druga sprawa - pomyśl przy twoim poborze prądu (nie dużym) pewnie stabilizator się nie grzeje ale czy tego chcesz czy nie i tak część energii leci w powietrze ... a z dobrą przetwornicą ... możesz zejść z tych 150uA znowu do kilku uA

w efekcie końcowym może się okazać, że zamiast stosować KOBYŁY ŻELOWEJ, można byłoby dać akumulator np 18650 i do tego przetworniczkę typu DIGI-LION:

http://atnel.pl/atb-digi-lion2.html

nagle się okaże, że to będzie razem działało i działało po wsze czasy bez doładowania o ile nie będzie się powiedzmy raz na dzień ktoś włamywał (czego ci nie życzę oczywiście) bo wtedy dopiero prąd byłby zjadany na syrenę. A pomyśl sobie że DIGI-LION ma potworną wydajność prądową - więc i syrenę można podłączyć kobylastą ;) mega głośną

skończyłoby się to tym, że ew raz na 10 lat gdy ktoś się włamie i zawyje alarm - to wtedy może ... hmmm może trzeba by podładować akumulatorek ładowarką USB ;)

co o tym myślisz ?

a nie tak:
fysiek napisał(a):
Akumulator żelowy i tak po kilku miesiącach traci sporą cześć ze swojej pojemności i wymaga podładowania.


o tym mógłbyś zapomnieć na amen ;)


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 15:34 
Offline
Użytkownik

Dołączył(a): 23 kwi 2016
Posty: 58
Pomógł: 9

Kolega Mirek się zapędził i zapomniał chyba o syrenie, która przy głośności 120 dB i zasilaniu 12V pobierze coś koło 2A. Więc ogniwo 18650 to trochę dla niej za mało, można by było centralkę zasilać sugerowanym ogniwem, ale aku żelowe tylko dla zasilania syreny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 15:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

Cam74 napisał(a):
Kolega Mirek się zapędził i zapomniał chyba o syrenie, która przy głośności 120 dB i zasilaniu 12V pobierze coś koło 2A. Więc ogniwo 18650 to trochę dla niej za mało, można by było centralkę zasilać sugerowanym ogniwem, ale aku żelowe tylko dla zasilania syreny.


No właśnie nie. Syrena jest piezoelektryczna i w czasie pracy pobiera około 250mA.

mirekk36 napisał(a):
hmmm zależy jak na to patrzeć. Może warto rozważyć porządne usypianie procka i wybudzanie go z głębokiego snu za pomocą przerwania INT0, wtedy procek może w trakcie czuwania po prostu SPAĆ NA MAXA ;) ... wtedy, jeśli dobrze przemyśleć peryferia poza prockiem, możesz zejść do powiedzmy 1 max 10 uA poboru w trakcie czuwania jeśli chodzi o procka - pomyśl ... czy wtedy 150uA zżerane bezwzględnie przez żarłoczny stabilizator nie będzie stanowiło nagle DUŻO ?


No tak. Stanem logicznym na INT0 można wybudzać z trybu Powerdown - myślałem tez o Watchdog-u wybudzającym procesor z Powerdown co sekundę dla przykładu, żeby sprawdzić stan na wejściu i jeżeli wszystko jest w porządku ponownie uśpić procesor na sekundę. Nie kontynuowałem jednak tej drogi....może warto spróbowac ? Z przetwornicą DigiLion miałem ten problem że według twojego PDF-a Mirku maksymalne napięcie na wejściu to 5.5V. Co prawda kuszący jest pobór prądu samej przetwornicy na poziomie 50uA, jednak jak to pogodzić z 12V. Dlaczego 12V...no właśnie przez syrenę. Jakoś ją muszę zasilić. Fakt, może ona pracować od bodajże 6V, jednak funkcja ogłuszania bardziej przypomina pierdnięcie na cichej polanie :) Sorki za porównanie :)

mirekk36 napisał(a):
Druga sprawa - pomyśl przy twoim poborze prądu (nie dużym) pewnie stabilizator się nie grzeje ale czy tego chcesz czy nie i tak część energii leci w powietrze ... a z dobrą przetwornicą ... możesz zejść z tych 150uA znowu do kilku uA


No właśnie tu mnie najbardziej trzyma napięcie zasilania syreny. Muszę "mieć" 12V na pokładzie, no chyba, zeby się bawić w jakąś przetwornice żeby podnieść napięcie akumulatora litowo-jonowego do tych 12V. Jestem w stanie oszczędzić ponad 40uA na samym uśpieniu procka, jednak 100uA to prąd pobierany przez "oszczędny" według pdfa stabilizator. Pewnym rozwiązaniem są tez uklady MAX604 które zadowalają się 15uA, jednak są o wiele droższe i napięcie wejściowe to max 11.5V (na upartego różnicę można by było zbić diodami krzemowymi).

mirekk36 napisał(a):
w efekcie końcowym może się okazać, że zamiast stosować KOBYŁY ŻELOWEJ, można byłoby dać akumulator np 18650 i do tego przetworniczkę typu DIGI-LION:

http://atnel.pl/atb-digi-lion2.html


No właśnie...syrena i jej 12V.

To wszystko jednak nie zmienia faktu, że można spróbować. Pierwszy krok to właśnie przetwornica napięcia akumulatora (3.7V ?) na 12V. Będzie włączana sporadycznie...tylko w stanach alarmowych, więc jej poboru prądu nie liczę. DigiLion do zasilania procka pracującego w trybie Powerdown....tego jeszcze nie ćwiczylem, będzie okazja :) Widze jeszcze jeden plus - komunikacja RS232 i możliwość kontroli stanu akumulatora, przez co mogłbym zrobić kontrolę napięcia akumulatora - żeby prądu nie marnować, na żądanie, np na linijce led.



Ostatnio edytowano 19 cze 2017, o 16:22 przez fysiek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 16:21 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Cam74 napisał(a):
Kolega Mirek się zapędził i zapomniał chyba o syrenie, która przy głośności 120 dB i zasilaniu 12V pobierze coś koło 2A.

Kolega Cam74 może najpierw spojrzy na pojemność i możliwości ogniw np 3000mAh i oczywiście nie mówię tu o godzinach wydajności, ileż wg ciebie alarm ma wyć aby odstraszyć ? ;) Najspokojniej w świecie uzyska się te 2A ! ;) przez odpowiednio krótki czas ... ale tak na poważnie to kompletnie nie myślałem aż o TAKICH syrenach strażackich - tu kolega Cam74 ostro przesadził, bo tak jak pisze Fysiek już przy syrenach 250mA można mieć w piwnicy (małym pomieszczeniu) piekło jeśli chodzi o dB :) dla ucha ... Tymczasem zarówno 181650 jak i DIGI-LION spokojnie dadzą radę ;) nawet sporo większemu zapotrzebowaniu niż 250mA ! ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 17:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

Spróbuje dla własnej satysfakcji i poćwiczenia szarych komórek przerobić kod na wybudzanie co pewien czas z trybu Powerdown przez watchdog. Czasy sa bardzo fajne i można uzyskać nawet 8 sekund...około 8 sekund. Myślę że jednak ograniczę się do 2 sekund. Szkoda, że nie pomyślałem na etapie projektowania płytki i zamiast do MISO - czyli przy okazji INT0, podpiąłem czujnik do MOSI. Chyba trzeba będzie powrócić na zestaw ATB i przećwiczyć też wybudzanie przerwaniem zewnętrznym.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 18:54 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Jeżeli chodzi o syrene którą masz i zasilanie z 5V to nie widzę problemu. Kupujesz /budujesz tanią przetwornice stepup, nie musi mieć niskiego prądu spoczynkowego. W momencie gdy zostanie wykryte włamanie, poprzez tranzystor P-Mosfet logic level podasz 5V na przetwornice podwyższająca do 12Vi masz z głowy. Dasz tak jak Mirek mówił wtedy małe aku litowo jonowe i będzie zgrabnie i poręczenie. Sam zastosowałem taki patent w urządzeniu komercyjnym i sprawdza się świetnie ;)

Takich przetwornic pełno jest na internetach. Możesz zbudować też własną co w dzisiejszych czasach jest jak zrobienie bułki z masłem. Nawet dziadek MC34063 da radę w tym zastosowaniu choć polecam bardziej wydajne sprzęty.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 19:33 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

fysiek napisał(a):
Chyba trzeba będzie powrócić na zestaw ATB i przećwiczyć też wybudzanie przerwaniem zewnętrznym.

DOKŁADNIE, warto .... i wszystko wyjdzie na jaw - co i jak się opłaca ;) będzie OK ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 21:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

Zacząłem się bawić Watchdogiem i w teorii niby wszystko fajnie. Dodałem bibliotekę <avr/wdt.h> i <avr/sleep.h> i teoretycznie w głowie pojawił się pewien plan, który jednak padł na samym początku. Wszystko fajnie tylko po pierwszym uruchomieniu i odliczeniu tych 10ciu sekund oczekiwania na uzbrojenie, jeżeli drzwi będą prawidłowo zamknięte wykona się funkcja sleep_mode(). Po dwóch sekundach nastąpi reset, i....cykl się powtórzy, tzn zacznie się odliczanie 10 sekund na uzbrojenie itd. No trochę bez sensu :) Czy jest możliwość ustawienia zmiennych - flag w pamięci RAM, tak by reset ich nie nadpisywał wartością 0, czy trzeba wykonać po uzbrojeniu zapis do pamięci EEPROM i po każdym resecie odczytywać wartość flagi z tej pamięci....w sumie żadne inne możliwości nie przyszły mi go głowy.

No trochę dowaliłem z tym EEPROMEM, bo przecież jego zawartość ne kasuje się po zaniku zasilania, czyli jak raz ustawię flagę i ją zapisze to do śmierci procka będzie zapisana.

Chociaż w sumie....

Załączam zasilanie stacyjką, czyli załączam alarm. Program zaczyna sie wykonywać, czyli:
-wyłączam watchgod
-odmierzam 10 sekund na uzbrojenie alarmu-zapisuje flage uzbrojenia w eeprom
-jeżeli drzwi zamknięte-zapisuję flagę kontroli drzwi w eeprom
-załączam watchdog na 2 sekundy
-sleep_mode

-jeżeli drzwi otwarte-natychmiastowy alarm 10 sekund
-zerowanie flagi uzbrojenia i konrtoli drzwi w eeprom
W tym stanie układ zostaję do ponownego uzbrojenia stacyjką



-po każdym resecie, jeżeli flaga uzbrojenia alarmu ustawiona:
-wyłączenie watchdoga
-kontrola czujnika
-jeżeli nieaktywny
-załączenie watchdoga
-sleep_mode


-jeżeli czujnik aktywny
-wyłączenie watchdoga
-odczekanie 10 sekund i alarm 180 sekund potem 3 sekundy alarmu co 5 sekund
-zerowanie flagi uzbrojenia i kontroli drzwi w eeprom
W tym stanie układ zostaję do ponownego uzbrojenia stacyjką

Wyłączenie alarmu nieprawidłowo domkniętych drzwi jak i alarmu włamania możliwy tylko po przekręcenu stacyjki.

Zacząłem zabawę z Watchdogiem i trybem Powersave. O ile samo przejście w Powersave dzięki dołączonej bibliotece to nic trudnego o tyle obsługa Watchdoga zajęła mi wiele godzin. Oczywiście gotowa funkcja "enable_wdt (value)" działa świetnie, jednak z disable_wdt() jest...no teraz to już był problem. Attiny 13 zachowywał się dobrze tylko przy pierwszym uruchomieniu, przechodził w tryb Powersave i później zaczynał się z szybkością światła resetować. Oczywiście nie pomagało wyłączenie Watchdoga na samym początku za pomocą disable_wdt(). Po długich godzinach poszukiwań odkryłem a raczej wyczytałem że Attiny 13 posiada - jak to wyczytałem z necie - rozbudowany układ Watchdoga z możliwością generowania przerwań i po resecie przyjmuję wartość domyślną 16ms. Później trafiłem na bloga Mirka i znalazłem kod który po wklejeniu generował błąd podczas kompilacji. Chodzi dokładnie o ten kod, który znalazłem pod adresem http://atnel.pl/mkbootloader.html :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oczywiście błędów nie ma w kodzie, tylko w mej łepetynie i po zerknięciu do pdf,a odkryłem że Attiny 13 nie posiada rejestru WDTCSR, tylko WTDCR. Po skasowaniu tej jednej literki okazało się, że ....ooooo skompilowało się i działa :)

Aktualnie kod wyłączenia watchdoga wygląda w ten sposób:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Załączanie watchdoga za pomocą enable_wdt(value);

Dzięki temu zabiegowui udało mi się ograniczyć pobór prądu całego alarmu (wraz ze stabilizatorem i wszystkimi peryferiami) do 93uA.

Tak wygląda gotowy kod z działającą obsługą watchdoga, teraz czas na zapis/odczyt z eeprom :) .....i kto by pomyślał, że się kiedykolwiek cieszył z tego, ze mi się procek resetuje :)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2017, o 11:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2015
Posty: 33
Lokalizacja: Stalowa Wola
Pomógł: 0

Witam jeszcze raz. Piszę ponieważ wpadł mi do głowy nowy pomysł, jak na tą chwilę teoretycznie, ale w najbliższym czasie zamierzam go szybko zrealizować. SChemat w załączniku.

Obrazek

Układ charakteryzuje się tym, że w stanie czuwania nie pobiera żadnego prądu....czyste 0!

Jak to działa. Otwarcie drzwi spowoduje podanie napięcia na pad CZ2. Spowoduje to otworzenie tranzystora T1 oraz T4, który zasili przez stabilizator mikrokontroler. Ten jako pierwszą instrukcję wykona wystawienie stanu wysokiego na PB0 czyli spowoduję otworzenie tranzystora T3. Spowoduje to podtrzymanie zasilania. Równocześnie otworzony zostanie tranzystor T2 podając na linię MISO, czyli PB1 stan niski. Mikrokontroler zbada jak długo stan niski się utrzyma. Jeżeli ten czas będzie krótszy niż przykładowo jedna sekunda zmieni stan na porcie PB0 na niski, czyli sam sobie odetnie zasilanie, i zostanie zresetowany przez ustawiony POR uznając to za zakłócenie. Jeżeli jednak stan na linii PB0 utrzyma się dłużej niż zakładano to zacznie odliczać czas, w którym użytkownik może stacyjką podłączoną do padów WYŁ1, WYŁ2 podać stan niski na SCK, czyli PB2 wyłączając w ten sposób alarm. Jeżeli czas zostanie przekroczony załączona zostanie syrena, którą oczywiście można wyłączyć tak jak wcześniej tylko stacyjką.

Wychodząc z pomieszczenia należy przekręcić kluczyk w stacyjce i wyciągnąć go oczywiście. Podanie stanu wysokiego na SCK spowoduje ponowne odliczenie powiedzmy 10ciu sekund po czym nastąpi kontrola zamknięcia drzwi. Zostanie wtedy oczywiście zbadany stan na pinie PB1. Jeżeli będzie niski, co oznacza że drzwi nie są zamkniete uruchomi się alarm. Jeżeli stan na pinie PB1 będzie wysoki Na kilkaset milisekund załączy się syrena sygnalizując gotowość i procesor sam sobie odetnie zasilanie wystawiając stan niski na porcie PB0.

Od tego momentu centralka czeka na otworzenie drzwi która poda zasilanie na układ, a do tego momentu pobór prądu jest równy 0. Co o tym sądzicie? Szeregowo połączone diody w bazach tranzystorów T1, T2 wpływają na ich większe o około 1V napięcie Ube, dodatkowo zwiększając odporność na zakłócenia, oraz pozwalają na zastosowanie większego kondensatora tantalowego równolegle do diody zenera ponieważ nie musi się on w ciągu tej 1 sekundy rozładować do 0 tylko do około 1.6V a poniżej tego napięcia przez rezystor równolegle do zenerki. W bazie tranzystora T2 jest o jedną diodę więcej a to dlatego, żeby uniknąć sytuacji w której napięcie na T2 jest zbyt niskie aby go otworzyć co procesor odczyta jako zamknięte drzwi a napięcie na T1 będzie blisko progu wyłączenia ciągle powodując podtrzymanie. Czyli procesor ma wykryć zamknięcie drzwi na 150 procent po tym jak podtrzymanie na T1 już nie działa.

Być może zastosuję tu troszkę większy mikrokonroler, np ATtiny2313 i wykorzystam wejście analogowe, które przy każdym alarmie będzie badać wartość napięcia na akumulatorze i w chwili gdy spadnie poniżej 10.5V odetnie zasilanie.

Po czasie, w trakcie projektowania płytki znalazłem błąd - rezystor w kolektorze T2 ma być połączony z +3.3V, zmieniłem też troszkę porty w mikroklocku, żeby wygodniej mi było i buzzer podłączyłem pod 3.3V. Płyteczką się już robi :)

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO