Bralci naše revije se verjetno spomnijo naših timerjev. Sprva smo naredili timer z AT89C2051 in dvema LED prikazovalnikoma, nato smo ta timer nadgradili na Tiny2313 in 4 LED prikazovalnike, vendar je pri obeh timerjih obstajal problem: previsoka poraba električne energije. Zato smo se odločili narediti LCD timer, ki v stanju mirovanja porabi samo 8 µA toka!
Enostavno vezje, kot je timer vedno potrebujemo. Bodisi za enostavno krmiljenje raznih naprav, morda pri polnjenju baterij ali celo pri kuhanju. Tisti prvi timer z dvema LED prikazovalnikoma še vedno uporabljam doma pri pripravi čaja, saj zeleni čaj zagreni, če ga pripravljamo dalj kot 2 minuti. Problem LED prikaza je seveda velika poraba električne energije, zato sem program v svojem timerju prilagodil tako, da prikazujem čas samo zadnjo minuto. Na ta način 4 AA baterije trajajo kar spodobno dolgo. Vendar pa tudi to ni dovolj, zato smo se odločili, da naredimo nov timer, ki bo imel LCD prikaz. Le-ta že zaradi tehnologije prikaza obljublja precej nižjo porabo, kot pa LED prikazovalniki. To se je izkazalo le za delno resnično, saj LCD modul potrebuje dodatno energijo za osvetlitev ozadja, hkrati pa tudi sam procesor LCD-ja troši približno 5 mA.
Izvedba
LCD timerja smo se lotili z novejšim ATTiny 4313 mikrokontrolerjem, ki ne samo, da ima več Flash pomnilnika, kot manjši brat ATTiny 2313, pač pa tudi spada v t.i. picoPower družino AVR mikrokontrolerjev, ki jih odlikuje izjemno nizka poraba, v kar smo se prepričali tudi sami. Vendar pa se načrtovanje timerja s tem še ne konča.
Če želimo izkoristiti izjemno nizko porabo mikrokontrolerja, je potrebno poskrbeti tudi za to, da drugi deli vezja ne trošijo preveč energije. Prične se že z izborom napetostnega regulatorja. Stari dobri 7805 seveda za to nalogo ni več primeren, saj sam regulator potroši do 5 mA. Izbral sem Holtek napetostni regulator HT7550-1, ki v mirovanju porabi le nekaj mikroamperov toka. Dodatno pa je bilo potrebno poskrbeti tudi za krmiljenje osvetlitve ozadja LCD-ja, ki naj se vklopi takrat, ko jo potrebujemo. Vendar pa tudi to ne zadostuje, saj sam LCD modul med svojim delovanjem porabi vsaj 5 mA. Zato smo poleg krmiljenja osvetlitve ozadja krmilili tudi napajanje LCD-ja. In za »piko na i« mikrokontroler večino časa spi, ko pa pritisnemo katero od tipk za nastavitev, se zbudi, opravi, kar je potrebno in nadaljuje s spanjem.
Kot LCD smo uporabili modre 2×8 LCD module, ki so majhni in zelo atraktivni.
Električna shema
Električna shema je enostavna. Poleg mikrokontrolerja se na njej nahaja 2×8 LCD modul, 5 tipk (Gor/ Dol/ Izbor/ Start/ Reset) in krmilni FET tranzistor (slika 1). Na drugem delu sheme se nahajata rele in tranzistor, ki ga krmili ter napetostni stabilizator in priključne sponke (slika 2).
Če dobro pogledate prvi del električne sheme boste videli, da napajanje LCD modula krmili kar mikrokontroler z dvema priključkoma. Za to rešitev smo se odločili zato, ker to več kot zadostuje, saj en priključek lahko krmili do 20 mA izhodnega toka. Po teh podatkih sodeč bi en priključek mikrokontrolerja zadostoval za krmiljenje LCD modula. Zaradi »boljšega občutka«pa smo se odločili, da dva priključka krmilita LCD modul.
Program v mikrokontrolerju ne bi posebej opisoval, najdete ga v Download-u na naši spletni strani. V timerju smo uporabili 4 tipke za nastavitev časa (Gor/ Dol/ Izbor/ Start). Lahko bi morda uporabili manj vhodnih priključkov z uporabo diod, vendar v tem primeru varčnost s priključki mikrokontrolerja ni bila potrebna. Morda povejmo le to, da smo dodali del programa, ki zazna, da tipko (za nastavitev časa) držimo dalj časa in zato se nastavitev časa po določenem času (nekaj sekund) prične odvijati hitreje. To je sila praktično, če želimo nastaviti vrednosti okoli 20-30. Program vsebuje tudi spanje osvetlitve LCD modula in pa popolno spanje, ko izklopimo napajanje LCD-ja, njegovo osvetlitev ter mikrokontroler postavimo v režim Powerdown. Novi picoPower AVR-ji imajo veliko možnosti za nastavitev spanja, zato je avtor Bascom-AVR programskega jezika dodal tudi vse te možnosti v svoj program. Pri postavljanju v spanje in bujenju s pritiskom na katero koli tipko PortD.3, PortD.4, PortD.5 ali PortD.6 je bilo potrebno v programu dodati nekaj nastavitev registrov, da se je ATTiny4313 pravilno zbujal:
Gimsk.4 = 1
Pcmsk2.6 = 1
Pcmsk2.5 = 1
Pcmsk2.4 = 1
S tem smo nastavili bujenje mikrokontrolerja z omenjenimi priključki, ko na njih s pritiskom na tipko dovedemo logično 0.
Ko timer odšteje svoj čas, rele preklopi v mirovni položaj, programsko onemogočimo prekinitve, nastavimo priključke mikrokontrolerja tako, da preko njih ne teče noben tok. Na koncu je še Powerdown ukaz, ki omogoči porabo v mirovanju, ki znaša samo 3 µA. Iz tega režima spanja lahko timer prebudi le pritisk na tipko Reset.
Sestavljanje
LCD timer se nahaja na enostranskem tiskanem vezju s klasičnimi (THT) elementi in napetostnim regulatorjem, ki je v SMD ohišju. Na vezju se nahajata tudi 2 prevezavi (3 prevezave so v verziji z relejem), tipke pa so na posebnem tiskanem vezju. Morda je konstrukcija tega timerja na prvi pogled malce bolj zahtevna, vendar temu ni tako.
Na slikah 3 in 4 vidite tiskano vezje in razpored elementov. Opazili boste, da je TIV sestavljen iz dveh tiskanih ploščic, ki ju prelomimo na najtanjšem delu tako, da je tipkovnica samostojna. Ko se lotimo sestavljanja, najprej sestavimo tiskano vezje s tipkami. Pazite na spajkanje letvic, ki držijo tiskano vezje na določeni razdalji od glavnega tiskanega vezja. Podrobnost sestave si oglejte na fotografijah.
Glavno tiskano vezje sestavimo tako, kot običajno s tem, da napetostni regulator v SMD ohišju spajkamo pred vsemi drugimi. Temu sledi spajkanje kratkostičnikov in ostalih elementov od najnižjih do najvišjih. LCD modul se nahaja na letvicah, ki jih prispajkamo tako na LCD kot na TIV. Na TIV-u smo predvideli tudi letvico za namene programiranja mikrokontrolerja v vezju. V kolikor tega ne nameravate početi, te letvice ni potrebno prispajkati. Ko vse pregledamo, prispajkamo na glavno tiskano vezje še vezje tipkovnice. Za timer je predvideno ohišje z ustreznimi izvrtinami za LCD modul kot tudi za tipke.
Timer je tako sestavljen. Na priključne sponke priključite napajalno napetost, ki naj bo od 9 do 12V, s tipkami nastavite čas odštevanja in pritisnite tipko Start. Po pritisku se bo vklopil optosklopnik (oziroma rele), ki bo ostal vklopljen toliko časa, dokler nastavljeni čas ne bo pretekel. Timerju lahko nastavljamo čas v sekundah, minutah in urah, saj LCD lahko brez težav prikazuje vse to in še več, če bi bilo potrebno.
Proženeje timerja z zunanjim signalom
Seveda je možno vsako vezje še malce izboljšati, tudi z našim timerjem je tako. Izboljšave se bodo lahko dogajale večinoma v programu. Ena takšnih izboljšav je uporaba vhoda, ki je vezan na PortD.0. Predpostavimo, da z zunanjim signalom želimo zagnati timer – temu bo služil vhod na PortD.0. Podobno lahko uporabimo vhod za stop signal. Recimo, da timer avtomatično šteje čas, dokler ga ne zaustavimo s signalom na PortD.0.
Nadaljnjo izboljšavo lahko naredite na porabi električne energije timerja in to tako, da bi namesto releja uporabili manjši optično krmiljen triak, s katerim lahko že krmilimo manjša bremena priključena na omrežno napetost (slika 7) oziroma triak, ki bo dovolj zmogljiv, da bo krmilil naše breme, priključeno na omrežje.
Prednost verzije z MOC3061 je tudi ta, da MOC ne troši toliko električne energije, kot rele v vklopljenem stanju, kar dodano podaljša življenje napajalne baterije. V uredništvu boste lahko naročili tiskana vezja bodisi za verzijo z relejem bodisi za verzijo z MOC3061.
LCD timer z izredno nizko porabo in zunanjim proženjem