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.
Popis zapojení
Jako řidicí prvek je použit mikrokontrolér PIC16F628A nebo starší typ PIC16F84A (viz 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 -
- 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é)
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či 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);
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 , www.ttklavesnice.cz |
puhony@ hw.cz
Downloads&Odkazy
- Program(C) a podklady pro výrobu zařízení(pdf) v archívu zip
- Domovské stránky autora: www.puhy.eu