logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega16] [Bascom] System alarmowy, pomoc w tworzeniu

mardar 25 Gru 2009 11:14 6802 32
Najlepsze odpowiedzi

Jak w BASCOM-ie na ATmega16 obsłużyć klawiaturę matrycową i zbudować prosty system alarmowy z wejściami czujek?

Obsługę klawiatury matrycowej w BASCOM-ie zrobisz gotowym poleceniem z Helpa, a do takiego alarmu lepiej użyć ATmega16 niż ATmega8 [#7433373] Jeśli chcesz uprościć wejścia alarmowe, zamiast rozbudowanego komparatora możesz potraktować linię jak dzielnik i mierzyć napięcie ADC procesora [#7433437] Do projektu warto od razu narysować schemat i dopiero na jego podstawie pisać program, bo inaczej będziesz go wielokrotnie przerabiał [#7433652] Warto też przewidzieć zasilanie buforowe z akumulatorem i zasilaczem, żeby zanik sieci nie wyłączał systemu [#7433414] Jako punkt odniesienia podano też gotowy projekt alarmu na ATmega8 z 8 wejściami i 8 wyjściami, sterowany m.in. z klawiatury po RS485 [#7434564]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 7433228
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Witam, zabrałem się za tworzenie systemu alarmowego opartego o procesor atmega8.
    Główne założenia:
    - Posiadanie 3 typów wejść
    - posiadanie 3 wyjść
    - klawiatura (matrycowa 3x4) do wprowadzania kodu i aktywacji systemu

    Dla wyjaśnienia pokaże i opisze jak to mniej więcej ma działać:
    [Atmega16] [Bascom] System alarmowy, pomoc w tworzeniu
    [Atmega16] [Bascom] System alarmowy, pomoc w tworzeniu[/url]

    Opis:
    System zostaje aktywowany z poziomu klawiatury po przez wpisanie kodu...
    Gdy system jest aktywny to są włączone tak jakby 2 podprogramy... symulator i program główny(2 rysunek).
    Gdy zostanie aktywowany czujnik 1 to system powinien aktywować natychmiast PK2 oraz PK1 jeśli w ciągu minuty nie zostanie wpisany kod.
    Gdy zostanie aktywowany czujnik 2 to natychmiast powinien być aktywowany PK1 i PK2.
    Gdy zostanie aktywowany czujnik 3 to system powinien aktywować natychmiast PK2 oraz PK1 jeśli w ciągu minuty nie zostanie wpisany kod.

    Teraz trochę wyjaśnień:
    Programowanie to nie moja pasja:cry: ale trochę się tym bawiłem, z tego co zastanawiałem się nad koncepcją tego systemu to oprogramowanie tego nie będzie zbyt skomplikowane i w głównej mierze będzie się opierać na poleceniach z serii
    If...
    Then...
    Else...
    Problemem dla mnie jest obsługa klawiatury matrycowej bo tym się nie bawiłem oraz wykonanie "złożonego" polecenia dotyczącego 1 czujnika.
    Prosiłbym o pomoc w tych 2 kwestiach.
  • #2 7433265
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    1. 3 typy wejść ? NO , NC , EOL ?
    2. Użyj czegoś większego np atmega16 ,dołuż jakiś RTC zewnętrzny i całość zamknij w jednej obudowie z klawiaturą ,LCD prosto i szybko ;)

    Co do obsługi klawiatury matrycowej jest polecenie w "baskłomie" do tego ,zajżyj do Help'a
  • #3 7433331
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Chodziło mi o atmege16 tylko sie pomyliłem bo zawsze atmegą8 się bawiłem:P wejścia będą najprawdopodobniej typu NO, jeśli chodzi o bajery typu rtc lub lcd to zobaczymy jak z czasem będę stać, na razie chcę wersję podstawową tego projektu wykonać, jeśli zostanie czas i trochę wiedzy uzyskam to coś się wykombinuje może jeszcze:P
  • Pomocny post
    #4 7433373
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    Większość gotowych systemów alarmowych posiada wejscia parametryczne tzn takie, które wymagają rezystorów . Budowa takich wejść opiera sie o tzw komparator okienkowy ,który dość łatwo zrealizować w oparciu o dwa komparatory analogowe np LM393 lup poczwórny LM339. M16 to właściwy wybór pamiętaj tylko że układ w czuwaniu pracuje wiele godzin więc należy go uzbroić w odpowiednie mechanizmy nadzorujące prawidłową pracę programu .
  • Pomocny post
    #5 7433414
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    Dobrym wyborem byłoby również zasilanie buforowe dla systemu (akumulator + zasilacz ) wtedy nie groźne są Ci zaniki napięcia AC ;)
  • #6 7433427
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Zasilanie buforowe to nie problem, na diagramach gdzie jest napisane czuwanie to chodziło mi o nie aktywny system... Komparatory to dobry pomysł. Jednakże na chwilę obecną muszę zająć się podstawową wersją programu, żeby móc coś dla promotora pokazać po świętach:D
  • Pomocny post
    #7 7433437
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    Taki komparator latwo zrealizowac za pomoca ADC, nie potrzeba dodatkowych elementow analogowych.
    BTW, BASCOM ma w wersji free ograniczenie co do dlugosci kodu, ktore z pewnoscia przekroczysz. Zakladajac, ze nie kradniesz oprogramowania, za BASCOMa wydasz 89Euro (nie wiem ile w Polsce kosztuje), czyli tyle ile za plyte glowna jakiejs porzadnej centralki Satela. Nie lepiej przejsc na darmowe c (avr-gcc)? Na przyszlosc pozytek z tego tez bedzie wiekszy. Zreszta posciagaj sobie instrukcje do Satela, zobaczysz jakie sa funkcje, jak co jest rozwiazane co powinno ci ulatwic projektowanie wlasnego systemu.
  • #8 7433444
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Łatwo powiedzieć, ale zmiana tematu pracy 2 miesiące przed obroną nie wchodzi raczej w grę...
  • #10 7433505
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Dzięki, mam pytanie czy w tym przypadku dobrym rozwiązaniem było by usuniecie bramek i tranzystorów a wyj wzmacniaczy dać bezpośrednio do wej procesora? bo wg mnie zmniejszyła by się ilość elementów a przybyłoby kilka linijek kodu... taki kompromis:D
  • #11 7433579
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    jasne że można z tym że potrzebujesz 8 pinów I/O procesora i napięcie zasilania na +5V ,ale dobrym rozwiązaniem będzie zastosowanie tutaj ekspandera np pcf8574 ;) na dwóch liniach I2C będziesz miał wejścia i RTC
  • #12 7433614
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    nie koniecznie 8, planuje 4 wg moich założeń... ponieważ jeden czujnik to czujka ruchu będzie, a pozostałe 2 to czujniki kontaktronowe. Nad pozostałymi bajerami zastanowie się jak zostanie trochę czasu. Ale wracając do głównego wątku tego tematu to prosiłbym o pomoc w oprogramowaniu tego pomysłu:P bo niedługo admin jeszcze przeniesie temat do DIY:/
  • #13 7433621
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    Możliwości jest wiele i w zasadzie rozwiązanie zależy od autora. Układ z bramkami i tranzystorami spełnia dwa zadania pozwala na zasilanie częsci analogowej z 12V i akceptuje na wejściach linii parametrycznych takie napięcie( Ważne w przypadku zwarcia do +12V , czyli napięcia zasilania czujników PIR) . Tranzystory stanowią dopasowanie logiki CMOS 12V na TTL 5V akceptowaną przez M16. Takie rozwiązanie pozwoli uśpić m16 i budzić ją tylko na czas testu wejść lub tylko na czas obsługi przerwania ...
  • #14 7433631
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Ja planuję całą elektronikę zasilać napięciem 5V bo z tego co demontowałem czujkę z biedronki to tam właśnie siedzi układ zasilany taż napięciem 5V także czemu by komparatorów nie zasilać tym napięciem:D
  • #15 7433652
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    na początku zacznij szkic schematu ,wg którego będziesz pisał program ,rozpędzianie sie za bardzo i myślenie nad programem bez schematu skonczy sie na tym że będziesz go przerabiał wiele razy i tym samym będziesz sobie powielał czas jaki spędzisz przy nim ;)
  • #16 7433661
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    schemat właśnie się tworzy:P

    No i gotowy poglądowy schemat jak ja to sobie wyobrażam...:]
    Załączniki:
    • alarm.pdf (34.8 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #17 7433856
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    A, skoro to praca na zaliczenie to zmienia to postac sprawy :) Podaj w takim razie jakie sa zalozenia - czy to tylko ma dzialac, czy ma to byc prawdziwa centralka - odpornosc na sabotaz, optoizolacja wejsc, itd.
    Co do ukladu to IMHO to co pokazal gothye to niepotrzebna komplikacja. Wszystkie te funkcje zrobisz programowo korzystajac z ADC procesora (a masz ich 8). Do konwersji CMOS->TTL (czy tez dostosowaniu wejscia do 12V) to tez nie potrzeba zadnego tranzystora, zwykly szeregowy rezystor wystarczy. Zreszta na wyjsciu czujki 12V nie ma prawa sie pojawic - tam przeciez zwykle jest kontaktron, ktory zwiera linie do masy, stan wysoki sam wymuszasz pull upem.
  • #18 7434225
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Na początek wielkich wymagań nie mam... poza tym co pisałem wyżej to to ma działać, softwaerowe adc jakos mi się nie podoba, bo jak wspomniałem programowanie nie jest moją pasją:P wyjaśnię jeszcze może wcześniej wspomniany podprogram symulator... służy to do symulowania obecności domowników, czyli np: załącza się światło na kilka min co jakiś czas lub coś w tym stylu...
    Jak wspomniałem wyżej programowanie nie jest moją pasją:P kiedyś się w to trochę bawiłem ale to nie było nic poważnego... dlatego nie chcę komplikować sobie układu przez kod odpowiadający za lcd/adc/rtc... no chyba ze znalazła by się dobra dusza mająca:
    - sporo wolnego czasu
    - chęci by pomóc :]
    - znająca w miarę dobrze bascoma
  • Pomocny post
    #20 7434564
    piotr411
    Poziom 22  
    Posty: 483
    Pomógł: 43
    Ocena: 45
    Witam. W zasadzie mam gotowca takiego jaki jest Tobie potrzebny, nawet bardziej rozbudowany posiada 8 wejść na czujki NO lub NC, 8 wyjść 500mA

    [Atmega16] [Bascom] System alarmowy, pomoc w tworzeniu

    Całość na Atmega8 sterowanie mam na 2 sposoby albo:

    GSM:

    [Atmega16] [Bascom] System alarmowy, pomoc w tworzeniu

    albo radiowo ale coś niemoge odszukać PCB
    musi być na innym kompie

    bezproblemu mozna zrobić aktywacje z klawiatury na RS458
  • #21 7434577
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Fajnie, a można prosić o jakieś materiały dotyczące tego systemu?

    Dodano po 1 [minuty]:

    ewentualnie pomoc w stworzeniu tego sterownika...
  • #22 7436286
    sylwunia35
    Poziom 18  
    Posty: 331
    Pomógł: 16
    Ocena: 146
    WITAM
    A kit AVT-5005 3/2001 jest tam alarm tylko że na Atmega8535 ale to chyba nie ma znaczenia można kupić polutować i gotowe. Program pisany w BASCOM.
  • #23 7436396
    piotr411
    Poziom 22  
    Posty: 483
    Pomógł: 43
    Ocena: 45
    sylwunia35 napisał:
    WITAM
    A kit AVT-5005 3/2001 jest tam alarm tylko że na Atmega8535 ale to chyba nie ma znaczenia można kupić polutować i gotowe. Program pisany w BASCOM.


    Przeczytaj to
  • #24 7436492
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    Tylko że kolega pisze pracę więc musi zrobić takie urządzenie samodzielnie a to już nie jest tak prosto bo trzeba zaprojektować , napisać program , i opisać caly proces tworzenia oprogramowania.
  • #25 7436511
    mardar
    Poziom 21  
    Posty: 561
    Pomógł: 4
    Ocena: 8
    Dokładnie. Ale po konsultacjach via gg z kolegą piotr411 trochę plany i założenia się zmieniły... zrezygnowałem z czujników kontaktronowych na rzecz czujek PIR.
    Dodane też zostanie powiadamianie o tym co się dzieje w systemie oraz możliwość sterowania systemem przez GSM ...
  • #26 7436557
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    tmf napisał:
    Taki komparator latwo zrealizowac za pomoca ADC, nie potrzeba dodatkowych elementow analogowych.


    Post troszkę po za tematem ... ,Mógłbyś więcej napisać na ten temat ,bardzo mnie zainteresował ,w PDF atmegi 16 i jest :

    2 kanały o regulowanym wzmocnieniu x1,x10,x200 w obudowie DIP więc można wykorzystać tylko dla jednego wejścia parametrycznego ,a jak to wygląda od strony programu (AVR-Gcc) ?
  • #27 7436755
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    gothye napisał:
    tmf napisał:
    Taki komparator latwo zrealizowac za pomoca ADC, nie potrzeba dodatkowych elementow analogowych.
    Post troszkę po za tematem ...


    Oj tu się kolega myli ,bo post jest w temacie . Linie parametryczne są to linie wejść alarmowych na których parametrem świadczącym o stanie linii jest wartość rezystancji jaką ona stanowi. Bardziej złożone systemy potrafią odróżniać takie stany linii jak sabotaż zwarcia , sabotaż rozwarcia , linia otwarta linia zamknięta , a czasem nawet dublowanie linii dozorowej z rozróżnieniem punktu. W sporej części urządzeń średniej klasy system taki zbudowano w oparciu o komparatory analogowe pracujące w układzie komparatorów okienkowych. Niektóre systemy wykorzystują przetworniki A/C do pomiaru tych wielkości i są w stanie w trybie serwisowym parametry tzn napięcie , rezystancję itp.
  • #28 7436856
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    Mnie bardziej interesuje od strony programowej problem ,w jaki sposób ustawić w programie kompaktor wew. aby przy określonej jednej lub kilku wartość jego stan ulegał zmianie ,a samo zastosowanie tego typu rozwiązania uważam za naprawdę świetne ,ponieważ stosująć np linie 2EOL (dwu parametryczną ) z róznymi wartościami rezystorów (nie jednakowe) można śmiało stwierdzić co sie dzieje na lini (sabotaż ,naruszenie , przerwanie )
  • #29 7436882
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    Wystarczy potraktować linię jako dzielnik i wykonywać pomiar napięcia.
  • Pomocny post
    #30 7439645
    PiotrEtenM500
    Poziom 19  
    Posty: 353
    Pomógł: 24
    Ocena: 19
    gothye napisał:
    Mnie bardziej interesuje od strony programowej problem ,w jaki sposób ustawić w programie kompaktor wew. aby przy określonej jednej lub kilku wartość jego stan ulegał zmianie ,a samo zastosowanie tego typu rozwiązania uważam za naprawdę świetne ,ponieważ stosująć np linie 2EOL (dwu parametryczną ) z róznymi wartościami rezystorów (nie jednakowe) można śmiało stwierdzić co sie dzieje na lini (sabotaż ,naruszenie , przerwanie )


    Tego typu rozwiązanie jest sztuką dla sztuki, zupełnie niema zastosowania w praktyce. przewody są zawsze pod tynkiem więc nie można zrobić zwarcia nie można ich uciąć, a wyrwanie czujki to jest sabotaż więc załączy system. To wyszukany sposób na rozwinięcie techniczne które nijak ma się do zwiększenia bezpieczeństwa systemu. Złodzieje ładują piankę montażową do sygnalizatorów zewnętrznych, tym eliminują hałas, PIR łatwo uszkodzić tak że nie zasygnalizuje niczego (jak to się robi nie powiem na forum) w ten sposób dokonywane są włamania i firmy dozorujące maja sprawy w sądach o współdzielenie kosztów odszkodowania z ubezpieczycielem, doświadczenie własne. Co do powiadamiana GSM zobacz jak świetnie sprzedają się jammery 433/850/900/1800/1900MHz ;) na Allegro. Znam przykład gdzie dom był regularnie okradany i nigdy system nie zadziałał, zawsze był uszkodzony !!!! Cała zabawa polega na odpowiednio szybkim reagowaniu na naruszenie strefy, a nie szukaniu sposobu zapisu zdarzenie. Właściciela posesji nie interesuje jak się włamali a to by system odpowiednio szybko powiadomił wskazane osoby. Czasem jak oglądam wykonane instalacje alarmowe, wiszące kable, pozakładane listwy albo co gorsza peszel z kablami to ręce opadają. Centrale przy wejściu do domu z migoczącymi lampkami, zwłoka ustawiona na 2 minuty, tak właśnie są wykonane instalacje alarmowe. Jeszcze lepszy patent widziałem w pewnym budynku biurowym gdzie zbudowano instalacje na 11 PIRach bezprzewodowych na 433Mhz!!!!!, jak pokazałem właścicielowi że włączenie jammera w samochodzie przed biurem zagłusza cały system to usiadł z wrazenia, ani jeden PIR nie zadziałał. właściciel chodził po całym budynku przy aktywnym systemie i zero reakcji!!!!

    Wracają do tematu, kolega mardar
    Ma bardzo skromny budżet i poszaleć nie może, ale jest bardzo ambitny i dużo wykona sam, więc wykona to na pewno ;) Praca na zaliczenie ma być modelem wskazać kierunek budowy, istotę funkcjonowania, a nie Tworzyć kombajn Alarmowy.

Podsumowanie tematu

✨ W dyskusji poruszono temat budowy systemu alarmowego opartego na mikrokontrolerze Atmega8, z planami na wykorzystanie Atmega16. Użytkownik zamierza zrealizować system z trzema typami wejść (NO, NC) oraz trzema wyjściami, a także klawiaturą matrycową 3x4 do aktywacji. Uczestnicy sugerują zastosowanie komparatorów analogowych do obsługi wejść parametrycznych oraz zasilania buforowego dla systemu. Wskazano na ograniczenia wersji darmowej BASCOM oraz zalecano rozważenie przejścia na darmowe środowisko programistyczne AVR-GCC. Użytkownik planuje uprościć projekt, rezygnując z niektórych czujników na rzecz czujek PIR oraz dodać funkcjonalność powiadamiania przez GSM. Wskazano również na znaczenie schematów w procesie programowania oraz na różne metody detekcji sabotażu w systemach alarmowych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA