Preprost Timer

 

OPOZORILO! V tej napravi je prisotna omrežna napetost 230V!!

Uvod: Na prvi pogled izgleda, da ne znam delati drugih stvari, kot samo časovnike :). Časovnika se med seboj razlikujeta po tem, da je eden countdown timer (se pravi da odšteva čas do izklopa), drugi pa je intervalni (za določen čas nekaj vklopi, potem pa spet za drugi ali isti čas nekaj izklopi). 

Projekt je narejen okrog AVRjevega malce zastarelega malčka AT90S2343. Seveda se da mikrokontroler z manjšimi popravki programa zamenjati za kakšnega iz serije ATtiny. Program je napisan v Bascom AVR.

Opis delovanja: Naprava je zelo preprosta. Sestavljena je iz "kvazi" transformatorja, usmerniškega dela, dela za zmanjšanje napetosti, mikrokrmilniškega in močnostnega dela. Deluje tudi zelo preprosto. Ko napravo priklopimo na omrežno napetost, se takoj začne izvajati prvi vnaprej sprogramirani cikel zakasnitve -> v našem primeru 10 ur. To pomeni, da bo imel rele kontakt sklenjen 10 ur, potam pa ga bo za 14 ur razklenil. Če želite napravo drugače sprogramirati, je potrebno zamenjati številke v "For" zankah. Treba je samo upoštevati, da se mora za zakasnitev ene minute (vsaj v mojem primeru) "For" zanka ponoviti 55 krat in ne 60 krat kot bi bilo to logično. Izgleda, da Bascom AVR nima dobro definiranega zakasnitvenega ukaza "Wait", pa tudi notranji RC oscilator mikrokontrolerja verjetno ni najbolj natančen. Iz tega se da razbrati, da naprava ne deluje zelo precizno, ampak se pojavljajo določena odstopanja in je s tem tudi njena uporabnost omejena.

 

Sestava in program: Spodaj so pripete slike načrta in tiskanega vezja ter program:

Slika sheme 

Slika tiskanega vezja

Download -> Načrt + Tiskano vezje 

Download -> Tiskano vezje .pdf 

Download -> Program 

 

 

 

Update:

Napisal sem še eno verzijo programa, ki za časovno zakasnitev uporablja časovnik Timer0 v mikrokontrolerju v upanju, da bodo zakasnitve malo bolj natančne. A se je izkazalo, da sem se motil. Prihaja do določenih (verjetno temperaturno odvisnih) odstopanj. Odstopanja so seveda manjša kot v prvi verziji programa. Za programske popravke natančnosti s poizkušanjem lahko pri izračunih številk za zakasnitev uporabimo neko število, ki je blizu številu 1 in ga pomnožimo s spremenljivko T. Na ta način sem timer umeril tako, da sem spremenljivko T pomnožil s številom 0,95. Poglejte si program in vam bo takoj jasno kaj mislim!

Download -> Program V2