You are on page 1of 2

Abstract

El Objetivo de este informe de laboratorio, es presentar el trabajo tanto autnomo como de


laboratorio realizado, en donde se hace una introduccin a la programacin de
microcontroladores AVR marca Atmel, ATMEGA168, utilizado los registros adecuados para
controlar la velocidad de un motor DC.

Introduccin.
En este laboratorio, se realiza la simulacin programando el Timer/Contador 0 de 8 bits, el cual
posee dos salidas independientes para comparar las unidades, doble buffer de salida,
generador de frecuencia y corrector de fase para control de sistemas mediante PWM (Pulse
Width Modulator), entre otros.
Esta simulacin, consiste en controlar la velocidad de un motor DC, mediante el control por
Modulador por Ancho de pulso, lo cual, tiene una amplia gama de aplicaciones en el mundo
industrial, cuando se trata de controlar velocidades del motor.
Adems al trabajar con el datasheet del Microcontrolador, se puede en primer lugar, rescatar
que cada uno de los timers, contadores y salidas, se escriben en su forma general, en donde
n, es el nmero del Timer/Counter al cual pertenece el registro que se est utilizando, y en el
caso de x, es utilizado para referirse a que Unidad de comparacin se est trabajando,
Por ltimo, se realiza el uso de dos software para la simulacin del programa, en el primero se
arma el circuito con los componentes correspondientes, es decir: Un motor DC de 12V, un
Microcontrolador AVR Atmel ATMEGA168 y un transistor TIP122.





Registro TCCR0B = 0b00000011;
Es un registro que trabaja como temporizador de las seales que entregue el microcontrolador
al sistema que se controla, es decir acta como un sincronizador de la seal que se est
generando. En definitiva en este caso, temporiza la seal PWM que controla el motor.
Al igual que el registro TCCR0A, el TCCR0B, dispone de 8 bits configurables, los cuales cada uno
de ellos cumple una funcin especfica, se distribuyen como se ve en la imagen:
TABLA 1 WN OH
- Bits CS0n (n=0,1,2)
Estos bits permiten activar o desactivar los contadores del timer, con el fin de configurar el
preescaler que se utilice para el ancho de pulso de la seal PWM que se enva al transistor que
controla el motor.
La descripcin de lo que se logra con la combinacin de estos tres primeros bits, se puede ver
en la siguiente tabla:
OTRA TABLA WN
Se puede ver que los bits estn configurados de la forma CS02 = 0, CS01 = 1 y CS00 = 1, por lo
que el Timer/Counter, utiliza el preescalar 64 para dividir la seal de reloj.
- Bit WGM02
Su funcin es controlar el conteo mximo, la secuencia de conteo y modo de operacin, es
decir, el tipo de estrategia para la modulacin del ancho de pulso. Todo lo anterior lo realiza en
conjunto con los bits WGM01 y WGM00. Entre los tres bits, hacen la combinacin | 0 1 1 |, y
segn la tabla eso corresponde, a que el conteo mximo es el valor mximo por defecto, es
decir, 0xFF. Y lo que para esta tarea importa, estos bits, nos dicen que el Timer/Counter 0, esta
trabajando con el modo de operacin correspondiente a Fast PWM.
Luego de esto, los Bits 4 y 5, no se utilizan.
- Bits FOC0A y FOC0B.
Con el fin, de asegurar compatibilidad con otros dispositivos, siempre se configuran en 0
ambos bits, y sobre todo cuando el sistema est trabajando con PWM.
Una funcin de estos bits, es que al escribir un 1 lgico, se fuerza una comparacin de las
formas de ondas que tiene el sistema.
Registro TCNT0;
Este registro, se encarga de ir almacenando en cada ciclo, la cuenta que es producida por la
funcin while, que puede ser sumada o restada en cada conteo
Registro OCR0A y OCR0B.
El Microcontrolador cuenta con un comparador de 8 bits, dicha comparacin, es utilizada por
el Generador de Ondas, el cual entrega una salida. Estos registros, almacenan esa onda, y la
comparan nuevamente instante a instante. En donde, cuando estos registros toman el mismo
valor que TCNTn, a la salida se le asigna un valor de 0 o 1.
En el siguiente diagrama en bloques, se muestra como se disponen, los registros anteriores.
_delay_ms(10);

You might also like