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