UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE INGENIERÍA ESCUELA DE ELECTRÓNICA Y TELECOMUNICACIONES CATEDRA MICROPROCESADORES Y LAB. PROYECTO FINAL DE MICROPROCESADORES Héctor Cajilema
[email protected] Javier LoLópez
[email protected]
Motor Led RGB, Sensor de Temperat Temperatura ura mediante mediante Atmel Studio 6.2 y Arduino con el Atmega 328. Tema:
Resumen En este ste infor forme muestr stra el diseo e implementación del motor led con !"# !"# de la pala pala$r $raa %&!&'& !&'& (ue (ue ser) ser) pro*ramado mediante el soft+are &,!-tu !-tudi dio o ./0 ./0 tam$i tam$ién én se reali realiza zara ra un sensor de temperatura mediante &rduino 1 &,! -tudio los tres ser)n pro*ramados con el &tme*a 2/8.
A. OBJETI OBJETIVO VO GENERA GENERAL L •
!ealizar 3n 4otor Led0 -ensor 'e
I. MARCO TEORICO PIC ATmega3!P ATmega3!P 4icrocontrolador de 8 $its $asados en los procesadores &,!.0 /2 pines 9: disponi$les0 memoria de pro*rama flash 2/ ;#0 -!&4 / ;#0 EE%!:4 de datos < ;#0 &'C de <= $its 1 canales0 2 timers9comp timers9comparadore aradores9conta s9contadores0 dores0 canales %>40 pro*ramador de modo 3-&!0 -% puerto serial0 > ?/C compati$le0 comp compara arado dorr an)l an)lo* o*o0 o0 A+atc A+atchd hdo* o* timerA timerA pro*rama$le con oscilador interno0 1 cinco modos de ahorro de ener*Ba selecciona$les por soft+are.
emperatura 4ediante &tmel -tudio ./ 6 &rduino Con El &tme*a 2/8. Figure 1_Pic Atmega328
B. OBJETI OBJETIVO VOS S ESPECI ESPECIFIC FICOS. OS. •
!ealizar la respectiva pro*ramación
•
mediante mediante el hard+are hard+are &,! -tudio -tudio ./. %ro$ar la pro* ro*rama amació ción en el
•
simulador %roteus. 7uem uemar 1 com compro$a ro$arr en el pic pic
•
&tme*a2/8 el correcto funcionamiento de la pro*ramación 1 simulación. %roc %roced eder er a saca sacarr las las resp respec ecti tiva vass conclusiones.
El dispositivo opera entre <.8 1 5.5 voltios. %or medi medio o de la ejecu ejecuci ción ón de pode podero rosas sas
instrucciones en un solo ciclo de reloj0 el dispositivo alcanza una respuesta de < 4%-0 $alanceando consumo de ener*Ba 1 velocidad de proceso.
Figure 2_Puertos
Reg"#$% 'e( CPU Cada re*istro ene asi*nada una dirección en memoria. -e utilizan las primeras 2/ localidades del espacio de memoria para datos. Los re*istros D0 6 1 se utilizan tam$ién como apuntadores de < $its.
Ca%a)$e%*#$")a# e(+)$%")a#
&r(uitectura !-C :peración entre <.8 1 5.5 voltios <2< instrucciones 2/ re*istros de propósito *eneral < F$1te de EE%!:4 %rotección de códi*o pro*rama$le Cumple directivas !oHEncapsulado %'% de /8 pines
Figure 4_lcd
Las si*las LC' si*nifican GLi(uid Cristal 'ispla1 ó pantalla de cristal lB(uido. Es una pantalla plana $asada en el uso de una sustancia li(uida atrapada entre dos placas de vidrio0 haciendo pasar por este una corriente eléctrica a una zona especBfica0 para (ue asB esta se vuelva opaca0 1 adem)s cuenta ?*eneralmente con iluminación trasera.
Figure 3_Mikroc
LCD
Figure 5_carateristicas_LCD
II. PROCEDIMIENTO a, PROGRAMACION AVR STUDIO -. P%&g%ama)"/ E/ E/#am0(a'&% De( M&$&% Le' C&/ La Pa(a0%a 1PARADA2. ."/)('e 4m3!'e5."/)6 .'e5 Tem78 9 %8: .'e5 Tem7 9 %8! .'e5 Tem73 9 %8; .'e5 'a$a 9 %< .'e5 0=$e 9 %8 .e> INPUT 9 << @ .e> OUTPUT 9
@ 'e(a=K<
RESET ('" Tem78 (&RAMEND, &$ SPL Tem78 ('" Tem78 "gRAMEND, &$ SPH Tem78 ('" $em78
)a(( 'e(a=K<
)a(( 'e(a=K<
)a(( 'e(a=K<
@A )a(( 'e(a=K<
P%&g%ama)"/ E/ AVR S$'"&-. M"%&) De( Se/#&% De Tem7e%a$%a. LCD.) C%ea$e' 38<:<8K 8;-8! A$&% U#e% Q'e5"/e FCPU 8-<<<<<
Re#e$ $e LCD )&/$%&((e% ()'%"$e()'F/)$"&/Re# e$,@ 5"%#$ 7a%$ &5 %e#e$ #e>e/)e
Q"/)('e 4a%"&.6 Q"/)('e 4a%"/$e%%7$.6 Q"/)('e 4$"('e(a=.6 LCD "/$e%5a)e #&(' ag%ee "$ $e '"ag%am a0&e, mae #%e $a$ $e LCD R 7"/ "# )&//e)$e' $& GND Q'e5"/e ()'D:7&%$ PORTD ()' D: )&//e)$"&/ Q'e5"/e ()'D:0"$ PORTD: Q'e5"/e ()'D:''% DDRD
()'%"$e()'F/)$"&/Re# e$,@ #e)&/' 7a%$ &5 %e#e$ #e>e/)e 'e(a=#<<,@ 8<<S 'e(a= m"/,
()'%"$e()'F/)$"&/Re# e$,@ $"%' 7a%$ &5 %e#e$ #e>e/)e 'e(a=#<<,@ $"# 'e(a= "# &m"$$e' "/ $e 'a$a #ee$
Q'e5"/e ()'D-7&%$ PORTD D- )&//e)$"&/ Q'e5"/e ()'D-0"$ PORTDQ'e5"/e ()'D-''% DDRD
()'
Q'e5"/e ()'DK7&%$ PORTD DK )&//e)$"&/ Q'e5"/e ()'DK0"$ PORTDK Q'e5"/e ()'DK''% DDRD
()'
()'%"$e()'F/)$"&/Se$ 0"$,@ #e$ 0"$ m&'e 'e(a=#!<,@ <S 'e(a= m"/,
Q'e5"/e ()'D7&%$ PORTD D )&//e)$"&/ Q'e5"/e ()'D0"$ PORTD Q'e5"/e ()'D''% DDRD
()'
F/)$"&/ Se$ "/#$%)$"&/
Q'e5"/e ()'E7&%$ PORTD E/a0(e 7"/ Q'e5"/e ()'E0"$ PORTD8 Q'e5"/e ()'E''% DDRD
()'
()'%"$e"/#$%)$"&/'()' F/)$"&/Se$0"$,@ #e$ m&'e ("/e# a/' 5&/$ 'e(a=#!<,@ <S 'e(a= m"/,
Q'e5"/e ()'RS7&%$ PORTD Reg"#$e% Se(e)$ 7"/ Q'e5"/e ()'RS0"$ PORTD< Q'e5"/e ()'RS''% DDRD LCD m&'(e "/5&%ma$"&/ Q'e5"/e ()'L"/eO/e << &5 ("/e 8 Q'e5"/e ()'L"/eT& < &5 ("/e
()'
#$a%$ #$a%$
()'%"$e"/#$%)$"&/'()' D"#7(a=O55,@ $%/ '"#7(a= OFF 'e(a=#!<,@ <S 'e(a= m"/, C(ea% D"#7(a= "/#$%)$"&/ ()'%"$e"/#$%)$"&/'()' C(ea%,@ )(ea% '"#7(a=
LCD "/#$%)$"&/# Q'e5"/e ()'C(ea% <0<<<<<<<8 %e7(a)e a(( )a%a)$e%# "$ ASCII #7a)e Q'e5"/e ()'H&me <0<<<<<<8< %e$%/ )%#&% $& 5"%#$ 7"$"&/ &/ 5"%#$ ("/e Q'e5"/e ()'E/$%=M&'e <0<<<<<88< #"5$ )%#&% 5%&m (e5$ $& %"g$ &/ %ea'%"$e Q'e5"/e ()'D"#7(a=O55 <0<<<<8<<< $%/ '"#7(a= &55 Q'e5"/e ()'D"#7(a=O/ <0<<<<88<< '"#7(a= &/ )%#&% &55 '&/$ 0("/ )a%a)$e% Q'e5"/e ()'F/)$"&/Re#e$ <0<<88<<<< %e#e$ $e LCD Q'e5"/e ()'F/)$"&/Se$0"$ <0<<8<8<<< 0"$ 'a$a ("/e '"#7(a= K ? : 5&/$ Q'e5"/e ()'Se$C%#&% <08<<<<<<< #e$ )%#&% 7"$"&/ Q"/)('e 4a%"&.6 Q'e5"/e PORTON7&%$7"/, 7&%$ 9 8447"/, Q'e5"/e PORTOFF7&%$7"/, 7&%$ 9 8447"/,
P%&g%am ID "/$!$ "#a(8W 9 XSEN TEMPERATURAX@ "/$!$ "#a(W 9 X REFK GRADOSX@ "/$!$ ) @ F/)$"&/ P%&$&$=7e# &"' ()'%"$e"/$!$,@ &"' ()'%"$e"/#$%)$"&/'"/$!$,@ &"' ()'%"$e)a%a)$e%'"/$!$,@ &"' ()'%"$e#$%"/g'"/$!$ ,@ &"' ()'"/"$'&"',@ Ma"/ P%&g%am C&'e "/$ ma"/&"', )&/5"g%e $e m")%&7%&)e##&% 7"/# 5&% $e 'a$a ("/e# ()'D:''% 9 844()'D:0"$,@ 'a$a ("/e# &$7$ ()'D-''% 9 844()'D-0"$,@ ()'DK''% 9 844()'DK0"$,@ ()'D''% 9 844()'D0"$,@ )&/5"g%e $e m")%&7%&)e##&% 7"/# 5&% $e )&/$%&( ("/e# ()'E''% 9 844()'E0"$,@ E ("/e &$7$ ()'RS''% 9 844()'RS0"$,@ RS ("/e &$7$ "/"$"a("e $e LCD )&/$%&((e% a# 'e$e%m"/e' 0= $e 'e5"/e# LCD "/#$%)$"&/#, ()'"/"$',@ "/"$"a("e $e LCD '"#7(a= 5&% a 0"$ "/$e%5a)e '"#7(a= $e 5"%#$ ("/e &5 "/5&%ma$"&/ ()'%"$e#$%"/g'"#a(8,@ 88888888888888 #e$ )%#&% $& #$a%$ &5 #e)&/' ("/e ()'%"$e"/#$%)$"&/'()'Se$C%#&% ()'L"/eT&,@ 'e(a=#!<,@ < S 'e(a= m"/, '"#7(a= $e #e)&/' ("/e &5 "/5&%ma$"&/ ()'%"$e#$%"/g'"#a(,@
()'%"$e"/#$%)$"&/'()'Se$C%#&% ()'L"/eT&,@ 'e(a=#!<,@ ()'%"$e)a%a)$e%'),@
RAM 'e(a=m#,@ 8.- mS 'e(a= m"/, @ E/$%= M&'e Se$ "/#$%)$"&/ ()'%"$e"/#$%)$"&/'()' E/$%=M&'e,@ #e$ 'e#"%e' #"5$ )a%a)$e%"#$")# 'e(a=#!<,@ <S 'e(a= m"/, T"# "# $e e/' &5 $e LCD )&/$%&((e% "/"$"a("a$"&/ a# #7e)"5"e' "/ $e 'a$a #ee$ 0$ $e '"#7(a= a# 0ee/ (e5$ "/ $e OFF )&/'"$"&/. T"# "# a g&&' $"me $& $%/ $e '"#7(a= 0a) ON. D"#7(a= O/O55 C&/$%&( "/#$%)$"&/ ()'%"$e"/#$%)$"&/'()' &"' ()'"/"$'&"', P&e%7 'e(a= 'e(a=m#8<<,@ "/"$"a( < mSe) 'e(a= Se$ 7 $e RS a/' E ("/e# 5&% $e ()'%"$e #0%&$"/e. ()'RS7&%$ 9 844()'RS0"$,@ #e(e)$ $e I/#$%)$"&/ Reg"#$e% RS (&, ()'E7&%$ 9 844()'E0"$,@ mae #%e E "# "/"$"a((= (&
[ e/'(e## (&&7 ADC ADC /#"g/e' "/$ a')a(e@ Va%"a0(e $& &(' ADC %e#($
(&/g $(&/g@ DDRB955@ Se$ P&%$ D a# O$7$ PORTB 9 <<@
ADCSRA 9 844ADEN, 844ADPS, 844ADPS<,@ ADEN Se$ $& $%/ &/ ADC 0= 'e5a($ "$ "# $%/e' &55 ADPS ADPS a/' ADPS< #e$ $& mae '""#"&/ 5a)$&% 3 ADMU^9
"(e 8, ADCSRA 9 844ADSC,@ S$a%$ )&/e%#"&/ "(e ADCSRA 844ADSC,,@ a"$ 5&% )&/e%#"&/ $& )&m7(e$e a')a(e 9 ADC@ S$&%e ADC a(e
'e(a=m#8<,@ .8 mS 'e(a= m"/, D"#7(a=O/,@ $%/ $e '"#7(a= ON 'e(a=#!<,@ <S 'e(a= m"/, [
&"' ()'%"$e#$%"/g'"/$!$ $eS$%"/gW, &(a$"(e "/$ " 9 <@ )a%a)$e% )&/$e% "(e $eS$%"/g"W \9 <, ()'%"$e)a%a)$e%'$eS$ %"/g"W,@ "]]@ 'e(a=#!<,@ < S 'e(a= m"/, [ [ &"' ()'%"$e)a%a)$e%'"/$! $ $eDa$a, ()'RS7&%$ 9 844()'RS0"$,@ #e(e)$ $e Da$a Reg"#$e% RS "g, ()'E7&%$ 9 844()'E0"$,@ mae #%e E "# "/"$"a((= (& ()'%"$e$eDa$a,@ %"$e $e 77e% 0"$# &5 $e 'a$a ()'%"$e$eDa$a 44 ,@ %"$e $e (&e% 0"$# &5 $e 'a$a
&"' ()'%"$e"/#$%)$"&/'"/$ !$ $eI/#$%)$"&/, ()'RS7&%$ 9 844()'RS0"$,@ #e(e)$ $e I/#$%)$"&/ Reg"#$e% RS (&, ()'E7&%$ 9 844()'E0"$,@ mae #%e E "# "/"$"a((= (&
$(&/g 9 (&/g,a')a(e 8<<<@ $(&/g 9 $(&/g 8<3@
"5 $(&/g 49 K<, PORTON PORTB-,@ ENCIENDE FOCO PORTOFFPORTB:,@ APAGA VENTILADOR [ e(#e PORTONPORTB:,@ ENCIENDE VENTILADOR PORTOFF PORTB-,@ APAGA FOCO [ [ "(e8,@ %e$%/ <@ [
E/' &5 Ma"/ P%&g%am C&'e 999999999999999999999999999999 0"$ LCD F/)$"&/# 9999999999999999999999 Name ()'"/"$' P%7e "/"$"a("e $e LCD m&'(e 5&% a 0"$ 'a$a "/$e%5a)e E/$%= e>a$e# LCD "/#$%)$"&/#, #e$ 7 5&% $e 'e#"%e' &7e%a$"&/ E?"$ /& 7a%ame$e%#
()'%"$e$eI/#$%)$"&/,@ %"$e $e 77e% 0"$# &5 $e 'a$a ()'%"$e$eI/#$%)$"&/ 44 ,@ %"$e $e (&e% 0"$# &5 $e 'a$a [
&"' ()'%"$e"/$!$ $eB=$e, ()'D:7&%$ 9 844()'D:0"$,@ a##me $a$ 'a$a "# < "5 $eB=$e 844:, ()'D:7&%$ 9 844()'D:0"$,@ mae 'a$a 9 8 "5 /e)e##a%= ()'D-7&%$ 9 844()'D-0"$,@ %e7ea$ 5&% ea) 'a$a 0"$ "5 $eB=$e 844-, ()'D-7&%$ 9 844()'D-0"$,@ ()'DK7&%$ 9 844()'DK0"$,@ "5 $eB=$e 844K, ()'DK7&%$ 9 844()'DK0"$,@ ()'D7&%$ 9 844()'D0"$,@ "5 $eB=$e 844, ()'D7&%$ 9 844()'D0"$,@ %"$e $e 'a$a A''%e## #e$7 $"me < /S, ()'E7&%$ 9 844()'E0"$,@ E/a0(e 7"/ "g 'e(a=#8,@ "m7(eme/$ Da$a #e$7 $"me !< /S, a/' E/a0(e 7(#e "'$ 3< /S, ()'E7&%$ 9 844()'E0"$,@ E/a0(e 7"/ (& 'e(a=#8,@ "m7(eme/$ Da$a &(' $"me 8< /S, a/' E/a0(e )=)(e $"me K<< /S, [
N&$e# #e# $"me 'e(a=# %a$e% $a/ )e)"/g $e 0#= 5(ag
)&m79Se%"a(.%ea',@ #"$) )&m7, )a#eA '"g"$a(%"$e5&)&LO,@ '"g"$a(%"$em&$&%LO,@ 0%ea@ )a#eM '"g"$a(%"$e(e'LO,@ '"g"$a(%"$em&$&%HIGH,@ "5 7&$4$em, '"g"$a(%"$e5&)&HIGH,@ '"g"$a(%"$em&$&%LO,@ [ e(#e '"g"$a(%"$e5&)&LO,@ '"g"$a(%"$em&$&%HIGH,@ [ 0%ea@ )a#e F '"g"$a(%"$e5&)&HIGH,@ '"g"$a(%"$em&$&%LO,@ "5 7&$4$em, '"g"$a(%"$e(e'HIGH,@ '"g"$a(%"$em&$&%LO,@ [ e(#e '"g"$a(%"$e(e'LO,@ '"g"$a(%"$em&$&%HIGH,@ [ 0%ea@ [
P%&g%ama)"/ E/ A%'"/& De( Se/#&% De Tem7e%a$%a. SENSOR TEMPERATURA
()'.#e$C%#&%<<,@ ()'.7%"/$XVOLREF X,@ ()'.7%"/$XVOLTEMP X,@ ()'.#e$C%#&%88,@ ()'.7%"/$5(&a$,a%8,@ ()'.#e$C%#&%;;,@ ()'.7%"/$a%,@
Q"/)('e 4L">"'C%=#$a(.6 "/$ 5&)&983@ "/$ m&$&%98@
"/$ a%7&$ 9 A@ "/$ a%$em7 9 A8@ )a% )&m7@ 5(&a$ 7&$ 9 <@ 5(&a$ $em 9 <@ 5(&a$ a%8 9 8@ 5(&a$ a%9<@
L">"'C%=#$a( ()': - K 3 ,@ &"' #e$7, 7"/M&'e5&)& OUTPUT,@ 7"/M&'em&$&% OUTPUT,@ ()'.0eg"/8- ,@ Se%"a(.0eg"/;-<<,@ LEER DATOS....TRANS [ &"' (&&7 , 7&$ 9 a/a(&gRea'a%7&$,@ $em 9 a/a(&gRea'a%$em7,@ a%89K$em,8<@ a%9K7&$,8<@
[
SIMULACION PROTEUS Como -e %uede &preciar En La Ii*. enemos El 'ia*rama 'e uestro Circuito En %roteus 'el 4otor Led.
Figure
Figure 6
Figure 1!
Figure 7
En La Fig.8 Tenemos El Sensor De Temperatura Programado En AVR Studio Mikroc.
Figure 11
Figure 8
Tenemos Nuestra SM!LA"#N En Arduino De Nuestro Sensor De Temperatura.
Figure 15
Figure 12
Figure 16
Figure 13
Figure 17
Figure 14
CIRCUITO ARMADO
Figure 18
Figure 1 Figure 22
II.
CONCLUSIONES •
La pro*ramación de nuestro motor led en ensam$lador funciono correctamente conforme a lo re(uerido.
•
%ara una mejor apreciación de nuestra pala$ra %&!&'&0 tuvimos (ue cali$rar $ien el tiempo a 5==ms.
Figure 2! •
uvimos (ue instalar unas li$rerBas del LC' para poderlo utilizar0 1a u(e sin ellas no funciona.
•
En la pro*ramación en 4i;roc del sensor de temperatura tuvimos complicaciones 1a (ue al*unas li$rerBas no nos funciona$an.
•
En la comunicación serial pro*ramado en &rduino ha1 (ue ha$ilitar los puertos del !D 1 D para poderlos utilizar.
Figure 21
III.
RECOMMENDACIONES nstalar los drivers del (uemador del &tme*a 2/8 en una %C de 2/$its 1a (ue en la de $its no funciona. -e recomienda utilizar cuidadosamente el LC' de$ido a (ue si se hace un corto se (uemarBa.
•
!ecomendamos simular antes de armar el circuito del filtro. •
3$icar correctamente el %ic &tme*a 2/8 al momento de (uemar para evitar la pérdida del mismo. o so$repasar el voltaje del %ic 1a (ue si se lo hace se echarBa a perder.
1ori.mPl.ua$c.mP9+pK content9plu*ins9do+nload...9do +nload.phpidM2/ httpQ99+++.mi;roe.com9chapter s9vie+98/9capituloKK ejemplos9Rcv
VI.
ANE^OS
DATASHEEF
IV.
BIOGRAFIA HECTOR CAJILEMA Estudiante de la Escuela de n*enierBa en Electrónica 1 elecomunicaciones de la 3niversidad acional de Chim$orazo ?!io$am$a0 desde el ao /=<=K/=<< *raduado como #achiller écnico en Electrónica de Consumo en el nstituto ecnoló*ico -uperior Carlos Cisneros.
JAVIER LÓPEZ Estudiante de la Escuela de n*enierBa en Electrónica 1 elecomunicaciones de la 3niversidad acional de Chim$orazo ?!io$am$a0 desde el ao /=<
V.
REFERENCIAS •
+++.1outu$e.com9+atch
•
vMdN!L5*K$z" pro1ectoaulaK
•
pic<f/8a.$lo*spot.com9 pro1ectoselectronicoos.$lo*spot
•
•
.com9/=<29=<9matrizKdeKledsK OP5.html httpsQ99es.+i;ipedia.or*9+i;i9&t me*a2/8 +++.atmel.com9ima*es9doc8< <.pdf
PLACAS DEL MOTOR LED RGB