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.

TNclock_schema

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:

P1070397_700

… é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.