Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
1. Introduccin.
Los microcontroladores y la formulacin de algoritmos (programacin) son dos
herramientas fundamentales para la ingeniera en mecatrnica donde
el
concepto de control es esencial, ya que todo el funcionamiento y estructura del
dispositivo depende en su gran parte del controlador que se encarga de optimizar
el desarrollo de funciones para cada una de las necesidades que se requieran.
Principalmente para este informe y su trabajo respectivo, se utiliz un
microcontrolador de la familia AVR, en especfico el ATmega168, del fabricante
norteamericano de semiconductores, microcontroladores y derivados ATMEL. La
programacin de este dispositivo se hizo mediante el software AVRstudio, un
software con el cul
podemos programar fcilmente esta familia de
microcontroladores RISC , y ms especficamente en esta ocasin cumplir la
funcin de regular la velocidad de un motor DC, el interactivo uso de esta
plataforma nos facilitar la programacin correspondiente y el uso en s del
programa ( cada una de sus funciones ), por otra parte se utiliz el software de
simulacin Proteus, el cual es una plataforma donde se simula todo tipo de
circuitos electrnicos, componentes y microcontroladores con su respectiva
programacin , siendo este una herramienta clave a la hora de ver si nuestro
programa y circuito funcionan correctamente o si poseen alguna falla.
Circuito en Proteus.
Fig3
del
puerto
que
se
est
configurando,
comnmente
los
Este registro est declarado como: 0b00000011, dicho registro tambin est
implicado en la generacin de frecuencia y al combinarlo con el TCCR0A
producen una seal fast PWM.
E. TCNT0
Este registro es un emisor de la frecuencia generada por los registros
TCCR0B y TCCR0A y en el programa est declarado como TCNTO=0, esto
quiere decir en un estado bajo o inactivo.
F. OCR0A
Este registro al igual que el TCNT0 enva una onda que es producida por
los registros TCCR0a y TCCR0B, adems dicha onda puede tomar valores
entre 0 y 255 debido a que tiene 8 bits. Al igual que en el apartado interior
este registro se inicializ en 0.
4. Bits utilizados en la simulacin.
Ahora corresponde explicar que funcin en especial cumple cada bit
utilizado.
El programa utilizo la siguiente configuracin de registros.
A.
DDRD = 0xFF;
PORTD = 0x00;
TCCR0A = 0b10100011;
TCCR0B = 0b00000011;
TCNT0 = 0;
OCR0A = 0;
DDRD.
Esta configuracin deja todo el puerto D como bits de solo salida.
DDRD=0b01000000;
Fig4
B. PORTD
Este registro configura a todo el puerto D como apagado, es decir todos lo
bits de este puerto se encuentran en un estado 0 lgico. El puerto utilizado PD6 en
su estado inicial se encuentra apagado o 0 lgico.
C. TCCR0A
Este registro al estar configurado de cierta manera dejar ciertas caractersticas al
microcontrolador. Primero se deber revisar la descripcin de este puerto en el
datasheet del ATmega168, y con este se podr conocer cmo se trabaja el
problema propuesto.
TCCR0A = 0b10100011
Cada bit de este puerto se configuro de esta manera:
COM0A1=0
COM0A0=1
COM0B1=1
COM0B0=0
WGM01=1
WGM00=1
Antes que todo para ver qu caractersticas tendr el programa, se debe saber
que se utilizara una seal fast PWM, debido a que el transistor funciona con una
seal electrnica.
Ahora para saber que repercusin tendr esta configuracin se debe dar una vista
a las tablas que se encuentran en el datasheet del microcontrolador.
1. COM0A1 y COM0A0:
Para estos bits se debe revisar la tabla 15-3. Con este se puede concluir
que la seal obtenida entre la comparacin de la seal triangular y digital,
ser de orden no-invertido, esto quiere decir que mientras estas seales no
A. TCCR0B
Al igual que el registro TCCR0A este registro pertenece a un Timer/counter y est
configurado de esta manera:
FOC0A=0
FOC0B=0
WGM02=0
CS02=0
CS01=1
CS00=1
B. TCNT0 y OCR0A
En primer lugar el registro TCNT0 en simple palabras es la seal triangular con
valor mnimo 0 y mximo (TOP) 255, y su relacin con el registro OCR0A, es que
estas dos seales se comparan y esta comparacin es transmitida por el bit OC0A
por medio del pin PD6.
adems el pin PD6 transmite una seal analgica, esta seal se produce por la
interaccin de las seales TCNT0 y la seal modular OCR0A.
Despus se muestra el ciclo infinito o loop, en el cual contiene una simple
condicin que producto que la seal OCR0A sea modificada cada 10
milisegundos, hasta llegar a su tope del registro. Con esto se logra que la
velocidad del DC motor vaya aumentando.
Finalmente una vez que el registro OCR0A llegue a su valor mximo y en
ese momento el DC motor tendr una velocidad mxima y constante.
Figura12
Para la parte del indicar led intermitente fue necesario introducirse en la
programacin de avr, para esto se modific el cdigo de la experiencia del
laboratorio 2, quedando de la siguiente forma:
#include <avr/io.h>
#include <inttypes.h>
#include <util/delay.h>
int main ( void)
{
unsigned char a;
DDRD = 0b11111111;
DDRC = 0b11111111;
PORTD = 0X00;
PORTC = 0X00;
TCCR0A = 0b10100011;
TCCR0B = 0b00000011;
TCNT0= 0;
OCR0A = 0;
a = 0;
while (1)
{
PORTC = 0b00000001;
_delay_ms(10);
PORTC = 0b00000000;
if (a<255)
{
OCR0A = a++;
_delay_ms(10);
}
6. Conclusines
Para concluir se puede decir que para lograr resultados mas abundantes en
cuanto a programacion y/o circuiteria el datasheet de cada componente es de vital
importancia, en el caso de los microcontroladores esta es mayor, ya que es muy
importante saber el funcionamiento que respecta a cada registro para que el
microchip se aproveche en su totalidad. En la practica , en el programa habia que
acceder a los registros del microcontrolador ATmega168 y realizar la programacion
correspondiente con el fin de provocar una seal para controlar la velocidad de un
motor dc, para esto fue necesario acceder al datasheet para la respectiva
configuracion de los registros para lograr el objetivo.
Para finalizar se puede decir que el aprendizaje principal de este informe fueron
los registros, ya que estos son fundamentales por la simple razon de que ellos son
los que le dan la funcionalidad al microcontrolador. Tambien se rescato que cada
registro depende bastante del uso que se le quiera dar, por lo tanto se puede
afirmar que es muy probable que en cada proyecto nuevo se deba aprender a usar
7. Referencias.
[1] datasheet ATmega168(PDF)
[2] www.olimex.cl
[3] www.mikroe.cl
[4] www.avrmicrorobot.com.ar