Celotni članek - Svet elektronike
Transcription
Celotni članek - Svet elektronike
SAMOGRADNJE USB LCD Termometer ATmega32u2 Avtor: Luka Penger E-pošta: Luka.penger@siol.ne Luka.penger@siol.net Termometer uporablja mikrokontroler ATmega32u2 (TQFP32), uporabimo lahko tudi ATmega16u2, ampak priporočam uporabo mikrokontrolerja ATmega32u2, saj ima 32k Flash pomnilnika. USB (USB 2.0 Full-speed) periferija je namenjena tudi programiranju, saj ima mikrokontroler že naložen DFU bootloader. Programiramo ga s programom FLIP. To pomeni, da za programiranje ne potrebujemo AVR programatorja. MERJENJE SENZORJEM Mikrokontroler že ima vgranjeno USB periferijo, zato ne potrebuje USBUART mostičnega integriranega vezja (FTDI in podobno). Uporabljena sta dva digitalna temperaturna senzorja DS18B20, za zunanjo in notranjo temperaturo. Na vezju je tudi napetostni regulator LM1117-5V 800mA, ki nam služi za zunanje napajanje (Max: 15V). Vezje deluje s taktom 16MHz (uporablja zunanji kristal), ki ga potrebuje mikrokontroler za delovanje USB ko- munikacije. Na USB povezavah morajo biti vezani upori vrednosti 22ohm (+ / - 5%), saj služijo preprečevanju motenj. Za pravilno delovanje USB komunikacije ne smemo pozabiti na keramični kondenzator Ucap 1μF (+ / - 10%) in elektrolitski kondenzator 22μF. Vezje ima štiri tipke, HWB, Reset, tipka za vklop in izklop osvetlitve LCD prikazovalnika in tipka za vklop in izklop USB to Serial povezave. Za prikaz meritev je uporabljen 16×2 LCD prikazovalnik. TEMPERATURE S DS18B20 Za branje temperature je uporabljen senzor DS18B20. Temperaturni senzor 18B20 izdeluje podjetje Dallas semiconductors. Merjenje temperature je možno v razponu od -55°C do +125°C z natančnostjo +/- 0,5°C (od -10°C do +85°C). Napajamo ga z napetostjo od 3,0V do 5,5V. Komunikacija s senzorjem je “1-Wire”, kar pomeni, da po eni liniji oz. vodilu (in masi) pošiljamo podatke v obe smeri, po določenem protokolu. Komunikacija je asinhrona in dvosmerna. Na vodilo lahko hkrati priključimo eno ali več 1-wire naprav. Vodilo mora biti v visokem logičnem stanju, zato moramo uporabiti upor vrednosti 4,7 kΩ, ki ga povežemo na napajalno napetost VCC. Vsak senzor ima tudi 64-bitno lastno serijsko številko, ki služi temu, da lahko na isto linijo oz. vodilo povežemo več senzorjev in potem vemo od katerega prihaja podatek. Digitalni senzor DS18B20, omogoča izbiro resolucije 9 do 12 bitno merjenje temperature v °C. Prav BeeProg+ je univerzalni programator naslednje generacije, ki se mu nadgrajuje le programska oprema in dodaja podpora GENERALNI ZASTOPNIK ZA SLOVENIJO novim komponentam. Posodobitve so brezplačne in sproti sledijo dogajanju na področju AX ELEKTRONIKA d.o.o. Pot heroja Trtnika 45, 1000 Ljubljana tel.: 01 549 14 00 internet: www.svet-el.si, e-mail: stik@svet-el.si 9_2011 programabilnih elektronskih vezij. SVET ELEKTRONIKE 37 SAMOGRADNJE Slika 3 Slika 2: Razpored pinov za Atmega32u2. tako ima alarm funkcijo, katera se vklopi (senzor pošlje svojo indentifikacijsko številko), ko temperatura pride izven naprej določenih meja. Senzor pretvori temperaturo v 12-bitno digitalno besedo, vsakih 750ms. Besedo moramo z določenim algoritmom pretvoriti v željeno obliko. Slika 4: Pretvorba temperature v podatke. Temperaturni senzor DS18b20 je na voljo v različnih ohišjih, kot so: TO-92, SO-8 in μSOP-8. Shema je narisana v programu Altium Designer 10. TISKANO VEZJE Vezje je dvostransko, velikost je enaka velikosti LCD plošče in znaša 37x80mm. Na njem so vsi elementi, vključeno z LCD prikazovalnikom, tipkami in konektorji. Elementi so razporejeni na notranji strani vezja, vključeno z USB in napajalnim konektorjem. Notranjost vezja je hitro dostopna, saj odvijemo 4 vijake in snememo LCD prikazovalnik. Slika 5: Blokovna shema DS18B20. Domača izdelava tiskanega vezja ni kaj posebnega in je izvedljiva. Vij je zelo malo in se jih da lepo zaspajkati. Slika 6: Različna ohišja senzorjev. 38 SVET ELEKTRONIKE 9_2011 SAMOGRADNJE Ime Oznaka Oznaka v shemi Opis Število LCD 16×2 LCD 16×2 LCD LCD 16×2 1 RAD - 0.1 22uF C10 Elektrolitski kondenzator 2 0805 100nF Keramični kondenzator 5 0805 1μF C4 Keramični kondenzator 1 0805 33pF C8,C9 Keramični kondenzator 2 0805 LED1 D1 RED LED 1 DC - Connector PWR2.5 J1 Napajalni konektor 1 USB B - Connector 440247 -2 J2 HDR1x3 DS18b20 P1,P2 Letvica, 3 -pin 2 HDR1x2 Jumper P3 Letvica,2 -pin 1 SOT - 23A BC817, 500mA Q1 NPN Tranzistor 1 0805 4k7 R1,R2 Upor 2 0805 22R R6,R7 Upor 2 SMD Trimmer 10k R8 Trimer potenciometer 1 0805 10k R9,R10,R11,R14 Upor 4 0805 1k R12 Upor 1 0805 470R R13 ,R15 Upor 2 Tactile Switch 90 ° HWB S1 Mikrotipka 6×6 90° 1 Tactile Switch 90 ° Reset S2 Mikrotipka 6×6 90° 1 Tactile Switch 90 ° Tipka2 S3 Mikrotipka 6×6 90° 1 Tactile Switch 90 ° Tipka1 S4 Mikrotipka 6×6 90° 1 SOT223 LM1117 -5.0 U1 800mA linearni regulator 1 C2,C3,C5,C6,C7 USB 2.0, B Tipa 1 Seznam elementov SESTAVLJANJE Najprej prispajkamo vse manjše SMD elementje, upore, kondenzatorje, mikrokontroler in napetostni regulator. Šele potem se lotimo spajkanja večjih elementov, USB konektor, na- pajalni konektor, tipke in letvice. Pri spajkanju mikrokontrolerja je treba biti pozoren, da je pravilno obrnjen in da ni kratkih stikov. Paziti je potrebno tudi na polariteto elektrolitskih kondenzatorjev. POZOR Ohišje od USB konektorja je prevodno in je na njem masa (GND). Na konektor je potrebno nalepiti izolacijsko folijo, zato da ne bo kratkega stika med USB konektorjem in LCD prikazovalnikom. SmartProg2 je vsestranski 40-pinski programator z ISP izbiro in z USB povezavo na PC, kvaliteten hardver je GENERALNI ZASTOPNIK nadpolnjen z vrhunskim programom, ZA SLOVENIJO ki kot standarde podpira vse MS Windows operacijske sisteme (od WIN.95 do WIN7). Programira AX ELEKTRONIKA d.o.o. več kot 24100 različnih Pot heroja Trtnika 45, mikrokontrolerjev. 1000 Ljubljana tel.: 01 549 14 00 internet: www.svet-el.si, e-mail: stik@svet-el.si 9_2011 SVET ELEKTRONIKE 39 SAMOGRADNJE Slika 7: Shema 40 SVET ELEKTRONIKE 9_2011 SAMOGRADNJE Slika 8: Zgornja stran vezja. Slika 9: Spodnja stran vezja. 80 Slika 10: 3D slika vezja. KAKO SE POVEZATI kliknemo NA MIKROKONTROLER in izberemo mikrokontroler, ki ga uporabljamo. Povežemo se tako, da kliknemo ikono (DFU MODE)? ikono 37 Najprej priklopimo vezje (mikrokontroler) na USB, preklopiti moramo v način programiranja preko USB vmesnika (DFU mode). To naredimo tako, da pritisnemo tipko HWB in na kratko pritisnemo še tipko RESET. Nato tipko HWB spustimo. Računalnik bo prepoznal mikrokontroler in namestil gonilnike. Gonilnike za mikrokontroler lahko tudi prenesete spodaj. in kliknemo Open. Tako smo Flip povezali z mikrokontrolerjem. S klikom Run pretočimo program v mikrokontroler. Če je mikrokontroler pravilno sprogramiran se morajo pri kljukicah pojaviti zeleni krogi. Ko so gonilniki nameščeni v Flipu Da program tudi zaženemo pritis- Slika 11: Tiskano vezje. nemo in spustimo tipko RESET. FUNKCIJA OSVETLITVE OZADJA Na vezju je NPN tranzistor BC817 v T51prog2 je programator je zmožen podpirati programiranje vseh v tem trenutku znanih mikrokontrolerjev MCS51 serije GENERALNI ZASTOPNIK (do 40 pinov) in AVR mikrokontrolerjev (8-40 pinov) ZA SLOVENIJO z uporabo paralelnega in serijskega algoritma. AX ELEKTRONIKA d.o.o. Pot heroja Trtnika 45, 1000 Ljubljana tel.: 01 549 14 00 internet: www.svet-el.si, e-mail: stik@svet-el.si 9_2011 SVET ELEKTRONIKE 41 SAMOGRADNJE Slika12: Tiskano vezje. SOT-23 ohišju s katerim krmilimo napajanje za osvetlitev LCD prikazovalnika. S tipko backlight vklopimo in izklopimo osvetlitev LCD prikazovalnika. Termometer ima možnost izklopa in vklopa USB to Serial povezave s tipko USB. Program za mikrokontroler je napisan v C programskemu jeziku, v programu za programiranje AVR Studio 4. Sistem je zgrajen iz glavnega programa, v katerem se v neskončni zanki izvaja izpis izmerjene notranje in zunanje temperature. USBTOSERIAL IN PROGRAM Slika 13: NPN tranzistor (Q1) za osvetljitev. Ko smo sprogramirali mikrokontroler, priklopimo vezje na USB. Računalnik bo avtomatsko zaznal napravo FlashElectronics USB, potrebno je namestiti gonilnik FlashElectronics_DRIVER. inf. Ko smo ga uspešno namestili, se vam bo v Device Manager (Upravitelj naprav) pokazala naprava FlashElectronics USB (COMx). Sedaj samo še PP99N-SE PP79N-SE OHISJA ZA VSE IN VSAKOGAR za ohišja je možna PP101N-SE PP49N-SE obdelava sprednje in zadnje stranice PP101N-SE PP69N-SE PP66N-SE 42 SVET ELEKTRONIKE w www.svet-el.si ww w..s vet-el sv .s etel.s i i PP5N-SE PP26N-SE PP68N-SE 9_2011 SAMOGRADNJE Slika 14: Osvetljitev LCD-ja vključena. Slika 15: USB to Serial Dicsonnected. osvetlitve LCD zaslona. Program tudi shranjuje temperaturo v mapo Temperature, program mapo ustvari sam. Temperature se začnejo shranjevati, ko kliknemo gumb OPEN. Da zaključimo shranjevanje moramo klikniti gumb CLOSE. Shranjuje na 10 sekund. Program zapisuje temperaturo s časom vsakih 10 sekund. Program je narejen v programu Visual Studio (vb.net). Slika 18: Upravitelj naprav. LITERATURA: » Atmega32u2 datasheet: http:// atmel.com/dyn/resources/prod_ documents/doc7799.pdf » DS18b20 datasheet: http://datas heets.maxim-ic.com/en/ds/DS 18B20.pdf www.svet-el.si Slika 16: USB to Serial Connected. Slika 17: Prikaz na zaslon. zaženemo program FlashElectronics. exe in izberemo port. Program deluje na Windows 7, Vista in XP. V polju izberemo COMx port in kliknemo gumb OPEN, za osvežitev portov kliknemo gumb R. Program nam prikazuje notranjo in zunanjo temperaturo, čas in datum, in status Slika 19: FlashElectronics USB program. 9_2011 3D slike so narisane v brezplačnem programu Google SketchUp. SVET ELEKTRONIKE 43