Tarea N°2 Taller de Microcontroladores
Resumen
En el presente presente documento documento se hará un un análisis análisis de los registros registros utilizados, utilizados, bits de cada registro y también sobre el funcionamiento funcionamiento del circuito programado programado en el laboratorio N°2. or !ltimo se modificará el programa para in"ertir el giro del motor dc y agregándole un indicador led parpadeante.
1. Introducci Introducción. ón. #os microcontroladores microcontroladores y la formulaci$n formulaci$n de algoritmos algoritmos %programaci$n& %programaci$n& son dos herramie herramienta ntas s fundamen fundamentale tales s para la ingenie ingenier'a r'a en mecatr$ mecatr$nica nica donde donde el concepto de control es esencial, ya (ue todo el funcionamiento y estructura del dispositi"o depende en su gran parte del controlador (ue se encarga de optimizar el desarrollo de funciones para cada una de las necesidades (ue se re(uieran. rin rinci cipa palm lmen ente te para para este este info inform rme e y su trab traba) a)o o resp respec ecti ti"o "o,, se util utiliz iz$ $ un microcontrolador microcontrolador de la familia *+, *+, en espec'fico espec'fico el *Tmega-/, Tmega-/, del fabricante norteamericano norteamericano de semiconductores, semiconductores, microcontroladores microcontroladores y deri"ados *TME#. TME#. #a programa programaci$ ci$n n de este este disposit dispositi"o i"o se hizo mediante mediante el soft0are soft0are *+st *+studio udio,, un soft soft0 0are are con con el cuál cuál pode podemo mos s prog progra rama marr fác fácilme ilment nte e esta esta fami famili lia a de microcontroladore microcontroladores s 13 , y más espec'ficamente espec'ficamente en esta esta ocasi$n cumplirá la funci$ funci$n n de regula regularr la "eloci "elocidad dad de un motor motor 43, el inter interact acti"o i"o uso de esta platafor plataforma ma nos facilita facilitará rá la programa programaci$ ci$n n corres correspon pondie diente nte y el uso uso en en s' del programa % cada una de sus funciones &, por otra parte se utiliz$ el soft0are de simulaci$n Proteus, el cual es una una plataf platafor orma ma donde donde se simul simula a todo todo tipo de circuito circuitos s electr$ electr$nico nicos, s, compon componente entes s y microco microcontro ntrolado ladores res con su respect respecti"a i"a programa programaci$ ci$n n , siendo siendo este una herramie herramienta nta cla"e cla"e a la hora de "er si nuestro nuestro programa y circuito funcionan correctamente o si si poseen alguna falla.
2. Resumen del Laboratorio N°2
e realiz$ un circuito mediante el soft0are roteus para el control de la "elocidad de un motor dc %motor de corriente continua&.Esto se efect!a mediante una se5al a la base de un transistor (ue en este caso es un T1-22. 4icha se5al debe pasar proceso de 6M (ue significa modulaci$n de ancho de pulso, el *tmega-/ es capaz de generar una se5al 6M como salida, por lo (ue fue posible controlar la "elocidad del motor dc mediante este procedimiento.
Figura 1 Modulacion de ancho de Pulso.
Los materiales a utilizar en esta simulación ueron!
-.
"ot#are $%Rstudio ! oft0are para la programaci$n en 3 de nuestro c$digo, con"ierte el c$digo en c a binario, también se puede utilizar en la simulaci$n "irtual de roteus.
2. "ot#are de simulación Proteus7 rograma (ue da la facilidad de la simulaci$n "irtual de circuitos y componentes electr$nicos. 8. Microcontrolador $&M'($1)* 7 Microcontrolador utilizado en el desarrollo del informe, donde los registros y puertos están basados en su funcionalidad. +. &ransistor &IP122! e utiliz$ como regulador de pulsos y como interruptor, esto le da la funci$n de regular la "elocidad de un motor 43.
9. Motor -! Motor de uso com!n de corriente continua.
-ircuito en Proteus.
:ig2 -ircuito Funcionando en Proteus.
Fig3
Programacion resecti/a del circuito en roteus. #include
#include #include int main ( void) { unsigned char a; DDD ! "$$$$$$$$; %&'D! """; '"* ! "$"$"""$$; '"+ ! """""""$$; ','&*! "; &"* ! "; a ! "; -hile ($) { (a<011) { &"* ! a22; delayms($"); 4 4 4
0. Funciones de los registros utilizados en la simulación.
ara el funcionamiento de un microcontrolador éste debe estar conectado a alg!n periférico ya sea un led, sensor o un pulsador entre otros. ara la configuraci$n y accionamiento de estos periféricos se debe realizar un análisis preliminar a los componentes, teniendo esto en cuenta es necesario e;aminar el datasheet del microcontrolador, el cual es una ho)a técnica (ue tiene especificados los "alores estándar (ue se pueden usar para traba)ar con el microcontrolador. Entre estos podemos encontrar sus registros (ue pueden ser de entrada, salida, pines entre otros. 3ada tarea o necesidad re(uiere de un programa en especial, por lo tanto la configuraci$n de los registros "ar'an de una aplicaci$n a otra, en el caso del laboratorio n°2 y la tarea N°2 se controla un motor 43, debido a esto los registros de los pines (ue se utilizan se establecen como una salida, además de definirlos en un estado ba)o %< l$gico&, por otro lado están el timer y el 6M (ue serán iniciados como "ariables en <. En esta e;periencia se utilizaron las siguientes l'neas de c$digo para establecer los registros anteriormente mencionados7
A. DDRD
Este registr$ está declarado en el programa como7 444 =
del
puerto
(ue
se
está
configurando,
com!nmente
los
microcontroladores cuentan con cuatro puertos %*, >, 3, 4& y cada puerto consta de ocho pines o bits %;<, ;-?;@&, los cuales pueden ser configurados de entrada o salida como se di)o anteriormente. En este caso se usa el puerto 4 y se configur$ como salida ya (ue todos sus pines o bits se encuentran con un - l$gico, esto es razonable ya (ue solo se necesita en"iar datos. . PR&
Este registro está declarado en el programa como7 AT4 =, 3, 4& y cada uno de estos puertos consta con ocho pines o bits. En este caso se puede apreciar el uso del uerto 4 (ue se configur$ con un estado ba)o %<;<<& para e"itar en"iar una se5al no deseada al momento de acti"ar el microcontrolador. -. &--R3$
Este registro está declarado en el programa como7 para determinar el tipo de frecuencia y con T3NT< para determinar incidencias. . &--R3
Este registro está declarado como7
T33<> y T33<* y en el programa está declarado como T3NTA=<, esto (uiere decir en un estado ba)o o inacti"o. F. -R3$ Este registro al igual (ue el T3NT< en"'a una onda (ue es producida por
los registros T33, además dicha onda puede tomar "alores entre < y 299 debido a (ue tiene / bits. *l igual (ue en el apartado interior este registro se inicializ$ en <. +. its utilizados en la simulación. *hora corresponde e;plicar (ue funci$n en especial cumple cada bit
utilizado. El programa utilizo la siguiente configuraci$n de registros. B B B B B B
$.
444 = <;::C AT4 = <;< =
R. Esta configuraci$n de)a todo el puerto 4 como bits de solo salida.
3omo se muestra en la imagen N, se aprecia la descripci$n del registro ya mencionado, esta configuraci$n nos delimita a usar todos esos bits solo como salida. En el programa analizado solo se utilizada el bit 4 o 444, entonces también este correcto haber configuraci$n el puerto 4 como7 B 444=
:igD . PR& Este registro configura a todo el puerto 4 como apagado, es decir todos lo
bits de este puerto se encuentran en un estado < l$gico. El puerto utilizado 4 en su estado inicial se encuentra apagado o < l$gico.
Fig 5. bloque de configuración registro PORT
-. &--R3$ Este registro al estar configurado de cierta manera de)ará ciertas caracter'sticas al
microcontrolador. rimero se deberá re"isar la descripci$n de este puerto en el datasheet del *Tmega-/, y con este se podrá conocer c$mo se traba)a el problema propuesto. T33<* = -=3AM<><=< WGM01=1 WGM00=1 • • • • • •
*ntes (ue todo para "er (ué caracter'sticas tendrá el programa, se debe saber (ue se utilizara una se5al fast 6M, debido a (ue el transistor funciona con una se5al electr$nica. *hora para saber (ue repercusi$n tendrá esta configuraci$n se debe dar una "ista a las tablas (ue se encuentran en el datasheet del microcontrolador. 1. -M3$1 4 -M3$3! ara estos bits se debe re"isar la tabla -98. 3on este se puede concluir
(ue la se5al obtenida entre la comparaci$n de la se5al triangular y digital, será de orden noin"ertido, esto (uiere decir (ue mientras estas se5ales no
tengan alguna coincidencia, la se5al de sal'a anal$gica estará en estado alto, y si ocurre alguna intersecci$n entre estas dos pasará a ser un < l$gico hasta (ue esta otra "ez tengan una interrupci$n. Este se puede apreciar en las figura N en los puntos donde coinciden la se5al triangular y la digital, y la figura N la se5al de salida entre esta interacci$n.
Fig . bloque de configuración registro T!!R0"
Fig #. table 15$% !o&'are out'ut &ode( fast PWM &ode
2.
COM0B1 y COM0B0 : 3omo en el caso anterior, en este también se debe re"isar la tabla -9 y se llega a el mismo resultado pero en este caso la se5al de salida será por el puerto 49 (ue contiene la funci$n A3<>, sim embargo esta no se usara en ning!n caso en el programa.
Fig 8. !o&'are out'ut &ode( fast PWM &ode
3.
WGM01 y WGM00 : Estos dos bits como están configurados no se puede
llegar a alguna conclusi$n, por ello se debe tomar en cuenta el bit 6FM<2, seg!n el registros T33<> este bit está configurado a <. #uego se re"isa al datasheet del *Tmega-/ tabla -9/ y seg!n estos parámetros se concluye
(ue7 el programa está configurado para un modo :*T 6N y el TA o tope de conteo será <;::, y este "alor en el sistema decimal corresponde a 299.
Fig 9. Wa)efor& generation &ode bit descri'tion.
A. TCCR0B *l igual (ue el registro T33<* este registro pertenece a un TimerGcounter y está
configurado de esta manera7 FO!0"=0 FO!0*=0 WGM0+=0 !,0+=0 !,01=1 !,00=1 • • • • • •
Fig 10. bloque de configuración registro T!!R0*
-. F-3$ 4 F-3 7 Estos bits se acti"an cuando los bits 6FM se configuran para una se5al no6M. 2. -"32, -"31 4 -"337 Estos bits corresponden al registro 3locH elect, el cual configura la frecuencia del relo), para el TimerGcounter. 3omo fueron modificados estos bits son <,- y - respecti"amente, y seg!n la tabla -9I del datasheet, y seg!n esta misma tabla se podrá conocer la frecuencia con (ue se transmitirá la se5al de salida,
y esto se puede calcular con la f$rmula de la figura N, donde :clH es la capacidad del 3J, N es un escalar corresponden a tabla de la figura N y TA es otro dato sacado como el anterior. Esta f$rmula dará como "alor la frecuencia pero con este dato se calcul$ además el periodo o T, este "alor es tiempo de un ciclo. 4espués de realzar "arios cálculos el periodo tiene como "alor / KLeg.
Fig 11 . fór&ula de c-lculo frecuencia de salida.
Fig 12. Cl oc ks el ec tb i td es cr i pt i on
B. TCNT0 y OCR0A
En primer lugar el registro T3NT< en simple palabras es la se5al triangular con "alor m'nimo < y má;imo %TA& 299, y su relaci$n con el registro A3<*, es (ue estas dos se5ales se comparan y esta comparaci$n es transmitida por el bit A3<* por medio del pin 4.
5. Funcionamiento del Programa utilizado en la simulación.
#uego se declarar los registros y bits utilizados, (ueda e;plicar c$mo se relacionaran con el programa ya mencionado. En primer lugar se declaran las bibliotecas a utilizar, luego en el cuerpo del programa se declaran las "ariables y configuraci$n de registros. 3omo ya se mencion$ el puerto 4 está declarado como salida y en su estado inicial apagado,
además el pin 4 transmite una se5al anal$gica, esta se5al se produce por la interacci$n de las se5ales T3NT< y la se5al modular A3<*. 4espués se muestra el ciclo infinito o loop, en el cual contiene una simple condici$n (ue producto (ue la se5al A3<* sea modificada cada -< milisegundos, hasta llegar a su tope del registro. 3on esto se logra (ue la "elocidad del 43 motor "aya aumentando. :inalmente una "ez (ue el registro A3<* llegue a su "alor má;imo y en ese momento el 43 motor tendrá una "elocidad má;ima y constante.
). Me6ora del circuito imlementando un Led aradeante durante su uncionamiento 4 agregando un motor 7ue gire en sentido contrario.
e pide (ue se implemente un motor e;tra (ue gire en sentido contrario, además de un indicador led intermitente, para realizar esta acci$n se utiliz una de las propiedades de los motores de corriente continua, ya (ue estos giran en el sentido de la circulaci$n de la corriente, por lo tanto en el circuito solo necesitamos in"ertir la alimentaci$n con la tierra para poder establecer una direcci$n de corriente distinta y as' in"ertir el sentido de giro, además con este tipo de cone;i$n apro"echa la intermitencia de "olta)e (ue entrega el atmega -/ y el tip -22, por lo (ue ambos motores giran en sentido contrario entre sO y aumentando progresi"amente su "elocidad. En la figura -2 se obser"a la cone;i$n pertinente.
:igura-2 ara la parte del indicar led intermitente fue necesario introducirse en la programaci$n de a"r, para esto se modific el c$digo de la e;periencia del laboratorio 2, (uedando de la siguiente forma7
#include #include #include int main ( void) { unsigned char a; DDD ! "$$$$$$$$; DD ! "$$$$$$$$; %&'D ! """; %&' ! """; '"* ! "$"$"""$$; '"+ ! """""""$$; ','"! "; &"* ! "; a ! "; -hile ($) { %&' ! """"""""$; delayms($"); %&' ! """""""""; i (a<011)
{ &"* ! a22; delayms($"); 4 4 4
Esta 0ea podrOay hacerla imagen pedro %fig-8& Notar (ue se utiliza el registro 443 (ue fue e;plicado en la secci$n anterior, se utiliz este por con"eniencia de puerto, estableciéndolo como un puerto de escritura, además se le da un estado inicial inacti"o utilizando el registro AT3=<;<<, luego se establece dentro del ciclo 0hile la instrucci$n AT3=
). -onclusiónes ara concluir se puede decir (ue para lograr resultados mas abundantes en cuanto a programacion yGo circuiteria el datasheet de cada componente es de "ital importancia, en el caso de los microcontroladores esta es mayor, ya (ue es muy importante saber el funcionamiento (ue respecta a cada registro para (ue el microchip se apro"eche en su totalidad. En la practica , en el programa habia (ue acceder a los registros del microcontrolador *Tmega-/ y realizar la programacion correspondiente con el fin de pro"ocar una se5al para controlar la "elocidad de un motor dc, para esto fue necesario acceder al datasheet para la respecti"a configuracion de los registros para lograr el ob)eti"o. ara finalizar se puede decir (ue el aprendiza)e principal de este informe fueron los registros, ya (ue estos son fundamentales por la simple razon de (ue ellos son los (ue le dan la funcionalidad al microcontrolador. Tambien se rescato (ue cada registro depende bastante del uso (ue se le (uiera dar, por lo tanto se puede afirmar (ue es muy probable (ue en cada proyecto nue"o se deba aprender a usar
otros registros y sus configuraciones pertinentes para poder resol"er nuestros problemas los cuales se tengan (ue afrontar mediante programacion , circuitos electronicos y principalmente microcontroladores.
8. Reerencias. 91: datasheet $&mega1)*;PF< 92: ###.olime=.cl 90: ###.mi>roe.cl 9+: ###.a/rmicrorobot.com.ar