Firma-Půhy.cz > Projekty > Kódový zámek > Kódový zámek

Kódový zámek

Napsal Jan Půhoný 26.9.2009 20.12 v kategorii Blog,Kódový zámek,Projekty

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ě.

klav_sch_small

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)

  1. napájení +Ucc 8 – 25V ss
  2. spínač S1 – společný kontakt
  3. spínač S1 – rozpínací kontakt
  4. spínač S1 – spínací kontakt
  5. spínací kontakt relé
  6. zem (zároveň společný kontakt relé)

klav_osaz_small

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.

klav_hw_small

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.

zamek_small

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).

Podklady pro výrobu DPS.

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.