7
SVET ELEKTRONIKE 37 9_2011 GENERALNI ZASTOPNIK ZA SLOVENIJO AX ELEKTRONIKA d.o.o. Pot heroja Trtnika 45, 1000 Ljubljana tel.: 01 549 14 00 internet: www.svet-el.si, e-mail: [email protected] BeeProg+ BeeProg+ je univerzalni programator naslednje generacije, ki se mu nadgrajuje le programska oprema in dodaja podpora novim komponentam. Posodobitve so brezplačne in sproti sledijo dogajanju na področju programabilnih elektronskih vezij. Mikrokontroler že ima vgranjeno USB periferijo, zato ne potrebuje USB- UART mostičnega integriranega vezja (FTDI in podobno). Uporabljena sta dva digitalna temperaturna senzorja DS18B20, za zunanjo in notranjo tem- peraturo. Na vezju je tudi napetostni regulator LM1117-5V 800mA, ki nam služi za zunanje napajanje (Max: 15V). Vezje deluje s taktom 16MHz (upo- rablja zunanji kristal), ki ga potrebuje mikrokontroler za delovanje USB ko- SAMOGRADNJE USB LCD Termometer ATmega32u2 Avtor: Luka Penger Avtor: Luka Penger E-pošta: E-pošta: [email protected] [email protected]t 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. munikacije. Na USB povezavah morajo biti vezani upori vrednosti 22ohm (+ / - 5%), saj služijo preprečevanju motenj. Za pravilno delovanje USB komunikaci- je ne smemo pozabiti na keramični kon- denzator Ucap 1μF (+ / - 10%) in elek- trolitski 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 upora- bljen 16×2 LCD prikazovalnik. MERJENJE TEMPERATURE S SENZORJEM DS18B20 Za branje temperature je uporabljen senzor DS18B20. Temperaturni senzor 18B20 izdeluje podjetje Dallas semi- conductors. 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 sen- zorjem 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 sen- zor ima tudi 64-bitno lastno serijsko številko, ki služi temu, da lahko na isto linijo oz. vodilo povežemo več senzor- jev in potem vemo od katerega prihaja podatek. Digitalni senzor DS18B20, omogoča izbiro resolucije 9 do 12 bitno merjenje temperature v °C. Prav

USB LCD Termometer ATmega32u2

Embed Size (px)

Citation preview

Page 1: USB LCD Termometer ATmega32u2

SVET ELEKTRONIKE 379_2011

GENERALNI ZASTOPNIK ZA SLOVENIJO

AX ELEKTRONIKA d.o.o.Pot heroja Trtnika 45, 1000 Ljubljanatel.: 01 549 14 00internet: www.svet-el.si, e-mail: [email protected]

BeeProg+BeeProg+ je univerzalni programator

naslednje generacije, ki se mu nadgrajuje

le programska oprema in dodaja podpora

novim komponentam. Posodobitve so

brezplačne in sproti sledijo

dogajanju na področju

programabilnih elektronskih

vezij.

Mikrokontroler že ima vgranjeno USB periferijo, zato ne potrebuje USB-UART mostičnega integriranega vezja (FTDI in podobno). Uporabljena sta dva digitalna temperaturna senzorja DS18B20, za zunanjo in notranjo tem-peraturo. Na vezju je tudi napetostni regulator LM1117-5V 800mA, ki nam služi za zunanje napajanje (Max: 15V). Vezje deluje s taktom 16MHz (upo-rablja zunanji kristal), ki ga potrebuje mikrokontroler za delovanje USB ko-

SAMOGRADNJE

USB LCD Termometer ATmega32u2Avtor: Luka PengerAvtor: Luka Penger

E-pošta: E-pošta: [email protected]@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.

munikacije. Na USB povezavah morajo biti vezani upori vrednosti 22ohm (+ / - 5%), saj služijo preprečevanju motenj. Za pravilno delovanje USB komunikaci-je ne smemo pozabiti na keramični kon-denzator Ucap 1μF (+ / - 10%) in elek-trolitski 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 upora-bljen 16×2 LCD prikazovalnik.

MERJENJE TEMPERATURE S SENZORJEM DS18B20Za branje temperature je uporabljen senzor DS18B20. Temperaturni senzor 18B20 izdeluje podjetje Dallas semi-conductors. 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 sen-zorjem 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 sen-zor ima tudi 64-bitno lastno serijsko številko, ki služi temu, da lahko na isto linijo oz. vodilo povežemo več senzor-jev in potem vemo od katerega prihaja podatek. Digitalni senzor DS18B20, omogoča izbiro resolucije 9 do 12 bitno merjenje temperature v °C. Prav

Page 2: USB LCD Termometer ATmega32u2

38 SVET ELEKTRONIKE 9_2011

Slika 2: Razpored pinov za Atmega32u2.

tako ima alarm funkcijo, katera se vk-lopi (senzor pošlje svojo indentifikaci-jsko številko), ko temperatura pride izven naprej določenih meja. Senzor pretvori temperaturo v 12-bitno digi-talno besedo, vsakih 750ms. Besedo moramo z določenim algoritmom pretvoriti v željeno obliko.

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 VEZJEVezje 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 konek-torjem. Notranjost vezja je hitro dosto-pna, saj odvijemo 4 vijake in snememo LCD prikazovalnik.

Domača izdelava tiskanega vezja ni kaj posebnega in je izvedljiva. Vij je zelo malo in se jih da lepo zaspajkati.

Slika 4: Pretvorba temperature v podatke.

Slika 3

Slika 5: Blokovna shema DS18B20.

Slika 6: Različna ohišja senzorjev.

SAMOGRADNJE

Page 3: USB LCD Termometer ATmega32u2

SVET ELEKTRONIKE 399_2011

GENERALNI ZASTOPNIK ZA SLOVENIJO

AX ELEKTRONIKA d.o.o.Pot heroja Trtnika 45, 1000 Ljubljanatel.: 01 549 14 00internet: www.svet-el.si, e-mail: [email protected]

SmartProg2SmartProg2 je vsestranski 40-pinski

programator z ISP izbiro in z USB

povezavo na PC, kvaliteten hardver je

nadpolnjen z vrhunskim programom,

ki kot standarde podpira vse

MS Windows operacijske sisteme

(od WIN.95 do WIN7). Programira

več kot 24100 različnih

mikrokontrolerjev.

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 C2,C3,C5,C6,C7 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 USB 2.0, B Tipa 1

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

Seznam elementov

SESTAVLJANJENajprej prispajkamo vse manjše SMD elementje, upore, kondenzatorje, mikrokontroler in napetostni regula-tor. Š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 kon-denzatorjev.

POZOR

Ohišje od USB konektorja je prevodno in je na njem masa (GND). Na konek-tor je potrebno nalepiti izolacijsko folijo, zato da ne bo kratkega stika med USB konektorjem in LCD prikazovalnikom.

SAMOGRADNJE

Page 4: USB LCD Termometer ATmega32u2

40 SVET ELEKTRONIKE 9_2011

Slika 7: Shema

SAMOGRADNJE

Page 5: USB LCD Termometer ATmega32u2

SVET ELEKTRONIKE 419_2011

Slika 11: Tiskano vezje.

KAKO SE POVEZATI NA MIKROKONTROLER (DFU MODE)?Najprej priklopimo vezje (mikrokon-troler) 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.

Ko so gonilniki nameščeni v Flipu

Slika 8: Zgornja stran vezja. Slika 9: Spodnja stran vezja.

Slika 10: 3D slika vezja.

37

80

kliknemo ikono

in izberemo mikrokontroler, ki ga uporabljamo. Povežemo se tako, da kliknemo ikono

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.

Da program tudi zaženemo pritis-

nemo in spustimo tipko RESET.

FUNKCIJA OSVETLITVE OZADJA Na vezju je NPN tranzistor BC817 v

GENERALNI ZASTOPNIK ZA SLOVENIJO

AX ELEKTRONIKA d.o.o.Pot heroja Trtnika 45, 1000 Ljubljanatel.: 01 549 14 00internet: www.svet-el.si, e-mail: [email protected]

T51prog2T51prog2 je programator je zmožen podpirati programiranje

vseh v tem trenutku znanih mikrokontrolerjev MCS51 serije

(do 40 pinov) in AVR mikrokontrolerjev (8-40 pinov)

z uporabo paralelnega in serijskega algoritma.

SAMOGRADNJE

Page 6: USB LCD Termometer ATmega32u2

42 SVET ELEKTRONIKE 9_2011

Slika 13: NPN tranzistor (Q1) za osvetljitev.

SAMOGRADNJE

PP99N-SE

PP101N-SE

PP101N-SE

PP68N-SEPP26N-SEPP5N-SEPP66N-SE

PP69N-SE

PP49N-SE

PP79N-SE

OHISJAZA VSE IN VSAKOGAR

za ohišja je možna

obdelava sprednje

in zadnje stranice

www.svet-el.sisi

wwww.svet-el.siwww.svewww.svewww.svet-el.si

Slika12: Tiskano vezje.

SOT-23 ohišju s katerim krmilimo na-pajanje za osvetlitev LCD prikazoval-nika. S tipko backlight vklopimo in

izklopimo osvetlitev LCD prikazovalnika. Termom-eter ima možnost izklopa in vklopa USB to Serial povezave s tipko USB. Program za mikrokon-troler je napisan v C pro-gramskemu jeziku, v pro-gramu za programiranje AVR Studio 4. Sistem je zgrajen iz glavnega pro-grama, v katerem se v neskončni zanki izvaja iz-

pis izmerjene notranje in zunanje tem-perature.

USBTOSERIAL IN PROGRAMKo smo sprogramirali mikrokontroler, priklopimo vezje na USB. Računalnik bo avtomatsko zaznal napravo Flash-Electronics USB, potrebno je names-titi gonilnik FlashElectronics_DRIVER.inf. Ko smo ga uspešno namestili, se vam bo v Device Manager (Upravitelj naprav) pokazala naprava FlashElec-tronics USB (COMx). Sedaj samo še

Page 7: USB LCD Termometer ATmega32u2

SVET ELEKTRONIKE 439_2011

Slika 14: Osvetljitev LCD-ja vključena.

Slika 15: USB to Serial Dicsonnected.

Slika 16: USB to Serial Connected.

Slika 17: Prikaz na zaslon.

Slika 18: Upravitelj naprav.

Slika 19: FlashElectronics USB program. 3D slike so narisane v brezplačnem programu Google SketchUp.

SAMOGRADNJE

osvetlitve LCD zaslo-na. Program tudi shranjuje tempera-turo v mapo Temper-ature, program mapo ustvari sam. Tempera-ture se začnejo shran-jevati, ko kliknemo gumb OPEN. Da zaključimo shranje-vanje moramo klikniti gumb CLOSE. Shran-juje na 10 sekund. Program zapisuje temperaturo s časom vsakih 10 sekund. Program je narejen v programu Visual Stu-dio (vb.net).

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.siwww.svet-el.si

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