informe pwm

10
UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS CIERCOM SISTEMAS MICROPROCESADOS CARTAGENA EDUARDO 2013/07/12

Upload: edu-cartagena

Post on 01-Dec-2015

63 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: INFORME PWM

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CIERCOM

SISTEMAS MICROPROCESADOS

CARTAGENA EDUARDO

2013/07/12

Page 2: INFORME PWM

I. TEMA

Modulación por ancho de pulso PWM

II. OBJETIVOS

GENERAL

Comprender el funcionamiento de un sistema PWM utilizando el micro controlador Atmega 164

ESPECIFICOS

Realizar un programa en CODEVISION AVR mediante el cual podamos visualizar

diferentes ondas diferenciando el ancho de pulso que estas poseen

Comprender el funcionamiento y la programación en el micro del sistema PWM

Determinar si la teoría satisface a la práctica mediante la conexión de los elementos

electrónicos que se utilizaran para el funcionamiento del circuito.

Utilizar programa software Proteus para comprobar de una manera más detallada el

funcionamiento del circuito.

Aprender un poco más de la materia, de una forma más didáctica a través de la

realización de prácticas en las cuales podamos comprender la parte teórica de una mejor

manera.

Obtener las conclusiones.

III. MARCO TEÓRICO

MODULACIÓN POR ANCHO DE PULSO PWM

La modulación por ancho de pulso, transforma un señal en un tren de pulsos con dos posibles valores de amplitud, cero o un nivel de tensión definido. La modulación se realiza mediante la variación del ciclo de trabajo para un periodo constante.

Este tipo de modulación es muy utilizada en el control de la velocidad de motores DC, aunque también cuenta con otras utilidades como el control de intensidad de luz de dispositivos como los LEDs, transmisión de información entre otras.

Page 3: INFORME PWM

La técnica de PWM de señal cuadrada, básicamente genera una señal de tipo cuadrada de frecuencia fija, a la cual se le varía el ancho de pulso de nivel positivo, es decir se varía el tiempo en alto de la señal y por ende cambia su ciclo de trabajo. De esta manera se logra controlar la velocidad de giro del motor. Una de las ventajas de utilizar esta técnica para el control de la velocidad de un motor DC es que el motor no pierde sus propiedades de par y velocidad

FORMULAS

TIMER 0

Duty cycle (ciclo útil del reloj)

DC= N*(0CR0A+1)/F_CPC(frecuencia del CPU)

PERIODO= (N*256/F_CPU)

DUTY CYCLE = ((OCROA+1)/256)*100%

TIMERS DE 16 BITS (T1,T3)

TOP= F_CPU/2N(50)

PERIODO= (N*TOPE)/F_CPU

Duty cycle= (N* OCR1A)/F_CPU

OCR1AH = 8BITS

OCR1AL = 8BITS

Señal PWM para diferentes ciclos de trabajo

Page 4: INFORME PWM

IV. DESARROLLO

#include <mega164a.h>

// Declare your global variables here

void main(void){// Declare your local variables here

// Crystal Oscillator division factor: 1#pragma optsize-CLKPR=0x80;CLKPR=0x00;#ifdef _OPTIMIZE_SIZE_#pragma optsize+#endif

PORTA=0x00;DDRA=0x00;

PORTB=0x00;DDRB=0x00;PORTC=0x00;DDRC=0x00;

DDRD=0x20;

// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=0xFF// OC0A output: Disconnected// OC0B output: DisconnectedTCCR0A=0x00;TCCR0B=0x00;TCNT0=0x00;OCR0A=0x00;OCR0B=0x00;

TCCR1A=0x82;TCCR1B=0x1A;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;

Page 5: INFORME PWM

OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;ASSR=0x00;TCCR2A=0x00;TCCR2B=0x00;TCNT2=0x00;OCR2A=0x00;OCR2B=0x00;EICRA=0x00;EIMSK=0x00;PCICR=0x00;

// Timer/Counter 0 Interrupt(s) initializationTIMSK0=0x00;

// Timer/Counter 1 Interrupt(s) initializationTIMSK1=0x00;

// Timer/Counter 2 Interrupt(s) initializationTIMSK2=0x00;UCSR0B=0x00;

UCSR1B=0x00;ACSR=0x80;ADCSRB=0x00;DIDR1=0x00;

// ADC initialization// ADC disabledADCSRA=0x00;

// SPI initialization// SPI disabledSPCR=0x00;

// TWI initialization// TWI disabledTWCR=0x00;

while (1) { ICR1H=0b10011100; // el valor tope de conteo nivel alto ICR1L=0b001000000; // el valor tope de conteo nivel bajo

switch( PINA)

Page 6: INFORME PWM

{ case 0:

OCR1AH=0b00000000; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b00000000; //registro temporal de 8 bits para almacenar el byte bajo break; case 1: //5000= 1001110001000 OCR1AH=0b00010011; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b10001000; //registro temporal de 8 bits para almacenar el byte alto break;

case 2: //10000= 10011100010000 OCR1AH=0b00100111; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b00010000; //registro temporal de 8 bits para almacenar el byte alto break; case 3: //15000= 11101010011000 OCR1AH=0b00111010; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b10011000; //registro temporal de 8 bits para almacenar el byte alto break; case 4: //20000= 100111000100000 OCR1AH=0b010011101; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b00100000; //registro temporal de 8 bits para almacenar el byte alto break; case 5: //25 000= 110000110101000 OCR1AH=0b011000011; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b10101000; //registro temporal de 8 bits para almacenar el byte alto break; case 6: //30 000= 111010100110000 OCR1AH=0b01110101; //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b00110000; //registro temporal de 8 bits para almacenar el byte alto break;

case 7: //35 000= 1000100010111000 OCR1AH=0b10001000 //registro temporal de 8 bits para almacenar el byte alto OCR1AL=0b10111000; //registro temporal de 8 bits para almacenar el byte alto break;

}

}}

Page 7: INFORME PWM

V. DIAGRAMAS CIRCUITALES

VI.

CONCLUSIONES

Verificamos el correcto funcionamiento de la modulación por ancho de pulso

Page 8: INFORME PWM

Se pudo entender la manera de utilizar los PWM y comprobar su funcionamiento

Gracias al programa PROTEUS se pudo comprobar el buen funcionamiento del circuito.

Este tipo de modulación es muy utilizada en el control de la velocidad de motores DC, aunque también cuenta con otras utilidades como el control de intensidad de luz de dispositivos como los LEDs, transmisión de información entre otras.