Prezentare software
Dat fiind faptul că utilizatorul poate folosi acest montaj (ideea acestui montaj) în diverse variante, în bucla principală sunt doar comenzile de bază [on], [off], [bright up / down] obţinute dintr-o simplă comparare, astfel încât nu necesită comentarii. Pentru o mai bună înţelegere a algoritmului de lucru prezentat în numărul trecut, am ales să exemplific rutinele de tratare a întreruperilor astfel:
întreruperea cerută de comparatorul analogic (soseşte la fiecare 10 milisecunde): stochează valoarea maximă a “ref3” în variabilă “top” de unde poate fi folosită ulterior, apoi aduce la zero “ref3”;
întreruperea cerută de timerul 0 (cu o periodicitate de 64 microsecunde): în primul rând îşi asigură perioada următoare pentru că nu există opţiunea auto-reload, apoi urmează incrementarea variabilelor folosite de rutina RC5 detect (din avr410.asm) şi, în final partea nou introdusă respectiv incrementarea variabilei “ref3” pentru măsurarea timpului între două treceri prin zero, verificarea pentru on / off plus comparatorul “de fază” şi generatorul de burst pentru amorsarea tiristorului. În ambele rutine se observă folosirea unui registru tampon în care se salvează registrul de stare din cauză că familia AVR nu “ştie” să facă push / pop pentru SREG.
Realizare practică
Faţă de schema prezentată în numărul trecut ar mai fi de adăugat câteva observaţii:
Pentru ajustări şi probe nu se va folosi direct tensiunea din reţea – există oarece riscuri pentru dumneavoastră şi pentru calculator – recomand folosirea unei tensiuni mai mici de exemplu 24Vca cu modificarea rezistorului R1 la o valoare mai mică, de exemplu 2K7 – 3K9; în acest fel sunteţi protejaţi şi dvs şi calculatorul. Am constatat că rezistorul R1 se încălzeşte destul de mult cu toate că este ceramic la 5W – sugerez 33K /5W. Tot la probe am constatat cu neplăcere că receptorul infraroşu nu are totuşi ieşirea open colector şi că circuitul nu se programează cu condensatorul dinspre triac montat -sugerez legarea lor la pinii XTAL1 / 2 schimbând cu display-ul astfel nu veţi fi nevoit să introduceţi şi să scoateţi mufa din programator respectiv să refaceţi lipiturile. Display-ul în cazul în care-l folosiţi (pentru identificarea codurilor telecomenzii) necesită alimentare separată la 5V. Desenul de cablaj este văzut prin transparenţă, controlerul fiind montat pe spate.
Ca dezvoltări ulterioare ar mai fi posibil de adăugat încă doi tiristori sau un tiristor şi un LED care să indice recepţia semnalului de la telecomandă etc. Pe partea de software se pot imagina mai multe: deoarece în articolul de faţă nu am liniarizat variaţia intensităţii cu unghiul de aprindere (de fapt la unghiuri mici de aprindere pentru că aproape de intensitatea maximă nu se percepe o variaţie prea mare a luminozităţii deşi unghiul de aprindere creşte vizibil la osciloscop), puteţi introduce un “soft-start” pentru comanda “on” sau la primirea tensiunii. Montajul aşteaptă îmbunătăţiri şi propuneri din partea cititorilor.
În privinţa “instrumentelor de lucru” menţionez că pentru proiectarea cablajelor folosesc programul EAGLE care este foarte uşor de folosit (conform numelui Easily Applicable Graphical Layout Editor) care poate fi găsit la www.cadsoft.de; are aproximativ 7Mb, varianta free este limitată la dimensiunea 3 x 4 inch (aprox. 7 x 10cm) şi la doar două straturi ceea ce în multe cazuri este suficient. Programul permite salvarea schemelor şi cablajelor în format .eps de exemplu – “văzut” de Adobe Photoshop şi poate fi printat sau prelucrat pe un alt calculator pe care se face tipărirea. Practic după listare pe hârtie normală sau transparentă expun la UV pe fotorezist cumpărat ca atare (cu faţa tipărită lipită de stratul de fotorezist) şi corodez cu clorură ferică. Mediul software -AVR Studio – este de asemenea free şi poate fi găsit la www.atmel.com; eu folosesc versiunea 3.56 din motive de dimensiune şi … calculator. Programatorul este şi el free şi poate fi găsit la www.lancos.com. În privinţa schemei am operat o mică modificare – folosesc diode 4148 legate către masă şi + pentru limitarea tensiunii de la portul serial şi nu diode zenner cum sunt în schema originală. Ideea mi-a venit pe când realizam primul programator – At-Prog (din păcate era limitat la dimensiunea codului). Singurul dezavantaj găsit la Pony Prog de la Lancos ar fi faptul că nu scrie controlere care sunt pilotate în circuit cu cristal de frecvenţă mică – de exemplu cele de ceas (32768Hz). În schimb, pe un P166, At-Prog poate să rezolve problema.
Nicolae Ştefan
nicu_stef@k.ro