K jednoduchému zabezpečovacímu zařízení je vždy potřeba kódový zámek, pomocí kterého přepínáme stavy systému. Pochopitelně je možné jeho mnohem širší použití. Tento článek popisuje jednoduchou konstrukci kódového zámku s využitím mikrokontroléru PIC.
Základní vlastnosti
- napájecí napětí 8 – 25V ss
- membránová klávesnice 4 x 3 tlačítek
- proudový odběr do 100mA (při sepnutém relé)
- implicitní kód: „1111“ # (při prvním zapnutí napájení s nenaprogramovanou EEPROM v mikrokontroléru)
- změna kódu zadáním: „starý kód“ * “nový kód“ „nový kód“
- zadání kódu: „kód“ #
- zámek akceptuje pouze čtyřmístné kódy (se stávajícím firmware)
- tlačítko „#“ slouží jako klávesa enter
- tlačítko „*“ slouží pro změnu kódu
- Kód
je uložen v EEPROM mikrokontroléru, je tedy uchován i při výpadku
napájení. Pokud zvolíte ochranu kódu při programování, není možné
správný kód ze zařízení žádným způsobem vyčíst. Při zapomenutém kódu je
jedinou možností smazání a přeprogramování mikrokontroléru. - Chybné
zadání kódu je indikováno dlouhým tónem piezosirénky a trvalým svitem
červené LED po dobu asi 10 sekund. Pokud je kód zadán třikrát po sobě
chybně, klávesnice se na dobu 1 minuty zablokuje, bliká červená LED a
piezosirénka se ozývá přerušovaným tónem. - Zároveň je zadání kódu omezeno časově, vypršení časového limitu mikrokontrolér chápe jako chybně zadaný kód.
- Jsou
li při zadávání nového kódu zadány dva rozdílné nové kódy je ponechán
kód starý. Správné uložení nového kódu je indikováno třemi krátkými
akustickými signály a zablikáním červené LED.
Nákup v elektronickém obchodě – stavebnice v prodeji
Koupit kompletní stavebnici – verze 5sec , kompletní stavebnici – verze flip – flop , vrtaný plošný spoj , naprogramovaný mikrokontrolér (5sec), naprogramovaný mikrokontrolér (flip-flop) nebo fóliovou klávesnici pro tuto konstrukci v elektronickém obchodě.
Schema zapojení
Popis zapojení
Jako řidicí prvek je použit mikrokontrolér PIC16F628A nebo starší typ PIC16F84A (viz odstavec níže: osazovací varianty) . Jsou k němu připojeny indikační LED, přes tranzistory pak relé a piezosirénka.
Zdroj je řešen jednoduše, předpokládá se připojení stejnosměrného napětí. Na vstupu je jemná přepěťová ochrana v podobě transilu a také pojistka. Dále je zde stabilizátor 7805 v klasickém zapojení.
Výstupním prvkem je relé, které vždy se správně zadaným kódem změní stav. Sepnutý stav je indikován svitem zelené LED. Pokud je relé rozepnuto nesvítí žádná signálka. To je z důvodu, že zařízení bylo původně navrženo pro ovládání malé zabezpečovací ústředny prostřednictvím impedančně vyvážené smyčky a v zastřeženém stavu – relé rozepnuto – byl požadován minimální odběr. Z této aplikace je zde ponechán i rezistor R3 (typicky 1k), který sloužil jako vyvážení smyčky pro zabezpečovací ústřednu. Pokud chcete využít pouze kontakt relé, je možné tento rezistor nahradit propojkou. Tím je na svorkovnici vyveden přímo spínací kontakt relé pro volné použití (při dodržení maximálního spínaného proudu a napětí).
Popis připojení svorkovnice X1
(pohled na desku ze strany součástek, popis zleva doprava)
- napájení +Ucc 8 – 25V ss
- spínač S1 – společný kontakt
- spínač S1 – rozpínací kontakt
- spínač S1 – spínací kontakt
- spínací kontakt relé
- zem (zároveň společný kontakt relé)
Osazení plošného spoje
Osazovací varianty
Deska plošných spojů je připravena pro použití dvou typů mikrokontrolérů, – PIC16F628A a staršího PIC16F84(A). Pochopitelně doporučuji novější typ PIC16F628A. Rozdíl je v tom, že pokud chcete použít PIC16F84(A) je nutné osazovat krystal a přilehlé kondenzátory. PIC16F628A má vnitřní oscilátor – pro tento mikrokontrolér tedy neosazujte krystal Q1 a kondenzátory C4, C5.
Mechanická konstrukce
Zařízení je navrženo do krabičky KP45 s využitím průmyslově vyráběné samolepící membránové klávesnice (viz seznam součástek). Plošný spoj přesně zapadne do distančních výlisku na dně krabičky, někdy je vhodné vybrousit drobné drážky v místech plošného spoje, kde zapadá do výlisku v krabičce. LED diody jsou krátkými kablíky vyvedeny na čelní víko krabičky a zalepeny tak, aby bylo zachováno krytí skříňky (výrobce udává IP 65 po vložení gumového těsnění do drážky víčka, klávesnice má při správném nalepení také krytí IP65). Pro připojení vodičů je třeba vyvrtat otvor ve dně krabičky, případně použít průchodku. Spínač S1 slouží k indikaci otevření krabičky (TAMPER) pro nadřazený systém, např. zabezpečovací ústřednu a jeho kontakty jsou vyvedeny přímo na svorkovnici.
Poznámka: fotografie prototypu se zcela neshodují se zde prezentovaným zařízením, na kterém byly provedeny ještě drobné úpravy.
Popis programu
Program pro mikrokontrolér je psán v C a přeložen v překladačin HiTech PICC, jehož Lite verzi je možné stáhnout ze stránek výrobce www.htsoft.com . Jelikož jsem dosud pracoval pouze s asemblerem a jedná se o jeden z mých prvních projektů v C, mohou se zkušenému programátorovi zdát některé části programu přinejmenším těžkopádné. Leč, jak ukázaly praktické testy, program se chová stabilně. Program dávám k dispozici „tak jak je“ a můžete si ho stáhnout v sekci downloads. Pokud budete´ program ve větší míře upravovat nebo přidávat nové funkce, neváhejte ho poslat na moji emailovou adresu, rád ho zde zveřejním pro další zájemce. Program je přeložen pro PIC16F628A, pokud chcete použít PIC16F84(A), je třeba program překompilovat a provést malé úpravy v konfiguračním slově pro tento procesor.
Funkce programu není nijak složitá. Po zapnutí napájení je načten správný kód z EEPROM, pokud jde o první spuštění je uložen kód „1111“. Dále je periodicky je vyvoláváno přerušení od časovače TMR0 a v tomto přerušení je čtena maticová klávesnice. Zadaný kód se porovnává se správným a zároveň je realizováno časové omezení stisku kláves pomocí inkrementace 16bitového registru ve smyčce přerušení TMR0. Podle dalších požadavků (změna kódu, chybný kód …) jsou volány příslušné funkce.
Konfigurace fuses procesoru je uložena přímo v programu, programátor se tedy nastaví sám. Pro programátory, které nepodporují automatické načtení fuses z hex souboru je třeba před programováním nastavit
následující (pro PIC16F628A): __CONFIG (UNPROTECT&UNPROTECT&LVPDIS&BOREN&MCLREN&PWRTEN&WDTDIS&INTIO);
Nákup v elektronickém obchodě – stavebnice v prodeji
Koupit kompletní stavebnici – verze 5sec , kompletní stavebnici – verze flip – flop , vrtaný plošný spoj , naprogramovaný mikrokontrolér (5sec), naprogramovaný mikrokontrolér (flip-flop) nebo fóliovou klávesnici pro tuto konstrukci v elektronickém obchodě.
Seznam součástek
R1 | 10k |
R2, R4 | 220R |
R3 | 1k (volitelně, viz text) |
R5, R6 | 4k7 |
RN1 | odporová síĹĄ 4 x 4k7 A |
C1, C2, C6 | 100n |
C4, C5 | 15p (pouze pro PIC16F84(A), viz text) |
C3 | 220uF/25V |
D1 | BY299 |
D2 | Transil 1,5KE33CA |
D3 | LED 3mm červená |
D4 | LED 3mm zelená |
D5 | 1N4148 |
T1, T2 | BC547 |
IO1 | 7805 |
IO2 | PIC16F628A (nebo 16F84(A) – viz text) |
X1 | WAGO255-742 6ks + bočnice 1ks |
X2 | AW08 (jednořadý sokl pro připojení klávesnice) |
K1 | RELEMP-05 |
S1 | P-DM03S1PH |
F1 | MSF2-00,250 (pojistka radialni 250mA) |
SP1 | KPE242 |
Q1 | 4MHz nízký (pouze pro PIC16F84(A) – viz text) |
Klávesnice | TS 523 3042 – koupit v eshopu |
Downloads&Odkazy
Program flip – flop (PIC16F628A) (po zadání správného kódu přepne výstup a drží až do dalšího zadání správného kódu).
Program 5sec (PIC16F628A) (po zadání správného kódu sepne na 5 sec výstup)
Zdrojové kódy a verze pro PIC16F84(A).
Vyjádření autora v duchu zákona č.22/1997 o technických požadavcích na výrobky:
Výrobce stavebnice nebo modulu zaručuje správnou a bezchybnou činnost stavebnice nebo modulu po jejím/jeho odborném a bezchybném sestavení nebo připojení. Protože se však jedná o stavebnici určenou pro radioamatéry a ne o finální výrobek, nelze převzít jakoukoliv zodpovědnost za škody způsobené špatnou činností zařízení v případě neodborného sestavení a provozování za podmínek, které jsou v rozporu s tímto konstrukčním návodem. Stavebnice není, z hlediska bezpečnosti, určena k ovládání zařízení, strojů a přístrojů, které by mohly při špatné funkci této konstrukce způsobit škody na zdraví či majetku lidí! Tento návod i s tímto upozorněním je volně přístupný na stránce výrobce (www.puhy.eu), aby měl každý konstruktér možnost se seznámit s technickými daty stavebnice / modulu ještě před jejím zakoupením.
Článek na hw.cz zde.