Pragotron óra (TN clock) vezérlő
Ez egy teljesen egyszerű, kvarc időalapú áramkör, melynek a kimenete úgy lett kialakítva, hogy képes legyen a régen használatos pragotron órák működtetésére.
A progotron órák mozgatása egy percenként átpolarizált egyenáramú elektromágneses tekercs segítségével valósul meg. A vezérlésükhöz olyan elektronikai egységre van szükség, mely kimenetén megjelenő feszültség minden perc kezdetekor megfordítja a polaritását. Az óra pontossága teljes mértékben az alap órajel frekvencia pontosságán múlik. Az általam tervezett áramkör alap órajel frekvenciáját egy 32,768kHz órakvarc biztosítja. Mivel ez a frekvencia egészen pontosan a 2 15-dik hatványa, így egy 15 fokozatú bináris számlálóval előállítható egy 1Hz-es frekvencia, ami 1 másodperces órajelnek felel meg. Egy további számlálóval már csak 60-ig kell elszámolni, majd abban a pillanatban a 60-as számlálónak küldeni egy reset jelet és kezdődhet az egész előröl. Ezt egyébként logikai áramkörökből, C-MOS számlálókből és kapukból egyszerűen el lehet készíteni. Én viszont mikrovezérlővel oldottam meg az 1 perces jel előállítását csak azért mert ezt még annál is egyszerűbben el lehet készíteni.
Erre a feladatra gyakolratilag a legkisebb teljesítményű, legyegyszerűbb mikrokontroller is alkalmas. Mivel egyetlen kimenetre van csupán szükség, így a portok száma sem aggasztóan sok. :) Belenyúltam tehát a DIP8-as tokozású mikrovezérlők dobozába és a kezembe is akadt egy PIC12F675 típusú kontroller. Mivel van benne T1 és LP , valamint belső oszcillátor, gyakorlatilag tökéletesen alkalmas is a feladatra.
A program működése röviden úgy néz ki, hogy a Timer1 időzítőt egy 1:8 előosztón keresztül folyamatosan mozgatja a saját 32,768kHz oszcillátora. Timer1 16 bites, tehát a 8-as elősztással 4096 impulzust kell megszámolnia ahhoz, hogy mire túlcsordul megszakítást generáljon. Minden T1 megszakítás alkalmával az időzítő felveszi a 61440 kezdőértéket, illetve léptet egy szoftveres számlálót, ami a 60-at elérve nullázódik. A nullázódás alkalmával a kimenet ellentétes logikai szintre vált.
A logikai szint megváltozását a fenti rajzon látható tranzisztoros áramkör alakítja úgy, hogy az a betáplált feszültséget adott polaritással, vagy azzal ellentétesen kapcsolja a kimenetre. Mivel ezek az órák legtöbb esetben 6, 12 és 24V-os feszültségről üzemelnek, ezért a vezérlő ebből a tápfeszültségből előállítja a neki szükséges 5V-ost tápfeszültséget, a kimeneten viszont azt a feszültségszintet kapcsolgatja, amit a bemeneten megkap a külső tápegységtől. Az én kapcsolásom alapvetően 12V betápra lett méretezve. 6V-os táp esetén a 78L05 előtti ellenállás elhagyandó, sőt a stabilizátort célszerű valami nagyon low-drop típusra cserélni, valamint a bemeneti polaritáscsere védelmét szolgáló diódát alacsony nyitófeszültségűre cserélni, esetleg elhagyni. Egyébként teljes fapados és jó megoldás az is, ha a 6V-os betápot egyszerűen egy diódán és némi ellenálláson átvezetve egy zénerrel 5V-ra stabilizáljuk.
24V-os táplálás esetén célszerű a 78L05 előtti ellenállás (R11) nagyobb értékűre cserélése.
Íme egy fotó a kész áramkörről:
… és a NASA technológiát tartalmazó hex kód arra az esetre, ha valaki rámozdulna az utánépítésre: TNclock
Alkatrészlista:
- IC1 78L05
- IC2 PIC12F675
- D1 1N4007
- D2 1N4148
- C1 470uF 50V
- C2 100nF
- C3 10uF
- C4, C5 15pF
- Q1 32,768kHz
- R1 10k
- R3, R4, R8, R10 4,7k
- R2, R5, R6, R7, R9 2,2k
- R11 470R
- T1, T3, T4, T6, T7 BC337
- T2, T5 BC327
- X1, X2, 2 pólusú NYÁK sorkapocs
- DIP8 IC foglalat
Az 5 pólusú tüskesor elhagyható, azon keresztül nekem nem ment a programozás.