Ejemplos Pwm Prof

2
EJEMPLOS PWM CONFIGURAR LOS PINES DDRB.3 Y DDRD.3 COMO SALIDAS. Modo PWM rápido (Fast PWM Mode) El siguiente fragmento de código configura el PWM rápido en los pines 3 y 11 (Timer 2). Para resumir el registro de configuración, poniendo los bits del Modo de generación de Ondas (WGM - waveform generation mode) a 011 selecciona PWM rápido. Poniendo los bits COM2A y COM2B a 10 asigna PWM no-invertido (non-inverted PWM) para las salidas A y B. Poniendo el CS a 100 ajusta el predivisor a dividir el reloj por 64. (Como los bits son diferentes para los diferentes timers, consulta la ficha para ver los valores correctos). Los registros comparados de salida son arbritariamente ajustados a 180 y 50 para controlar el ciclo de trabajo del PWM de las salidas A y B. (Por supuesto puedes modificar directamente los registros en vez de utilizar pinMode, pero necesitas configurar los pins a OUTPUT). TCCR2A = 0xa3 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Ejemplo PWM de Corrección de fase El siguiente fragmento de código configura el PWM de corrección de fase en los pines 3 y 11 (Timer 2). Los bits del modo de generación de ondas WGW estan configurados a 001 para el PWM de corrección de fase. Los otros bits son iguales que para el modo de PWM rápido. TCCR2A = 0xa2 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Modo PWM rápido (Fast PWM) con límite OCRA El siguiente fragmento de código configura el PWM rápido en los pines 3 y 11 (Timer 2). Utilizando OCR2A como el valor superior del timer. Los bits del modo de generación de onda WGW se cambian a 111 para el PWM rápido con el OCRA controlando el límite superior. El límite superior del OCR2A es puesto arbritariamente a 180, y el registro de comparación OCR2B es ajustado arbritariamente a 50. El modo OCR2A está configuado para "Conmutar en coincidencia comparada" cambiando los bits del COM2A a 01. TCCR2A = 0x63 TCCR2B = 0x0c

Transcript of Ejemplos Pwm Prof

EJEMPLOS PWM CONFIGURAR LOS PINES DDRB.3 Y DDRD.3 COMO SALIDAS.

Modo PWM rpido (Fast PWM Mode) El siguiente fragmento de cdigo configura el PWM rpido en los pines 3 y 11 (Timer 2). Para resumir el registro de configuracin, poniendo los bits del Modo de generacin de Ondas (WGM - waveform generation mode) a 011 selecciona PWM rpido. Poniendo los bits COM2A y COM2B a 10 asigna PWM no-invertido (non-inverted PWM) para las salidas A y B. Poniendo el CS a 100 ajusta el predivisor a dividir el reloj por 64. (Como los bits son diferentes para los diferentes timers, consulta la ficha para ver los valores correctos). Los registros comparados de salida son arbritariamente ajustados a 180 y 50 para controlar el ciclo de trabajo del PWM de las salidas A y B. (Por supuesto puedes modificar directamente los registros en vez de utilizar pinMode, pero necesitas configurar los pins a OUTPUT). TCCR2A = 0xa3 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Ejemplo PWM de Correccin de fase El siguiente fragmento de cdigo configura el PWM de correccin de fase en los pines 3 y 11 (Timer 2). Los bits del modo de generacin de ondas WGW estan configurados a 001 para el PWM de correccin de fase. Los otros bits son iguales que para el modo de PWM rpido. TCCR2A = 0xa2 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Modo PWM rpido (Fast PWM) con lmite OCRA El siguiente fragmento de cdigo configura el PWM rpido en los pines 3 y 11 (Timer 2). Utilizando OCR2A como el valor superior del timer. Los bits del modo de generacin de onda WGW se cambian a 111 para el PWM rpido con el OCRA controlando el lmite superior. El lmite superior del OCR2A es puesto arbritariamente a 180, y el registro de comparacin OCR2B es ajustado arbritariamente a 50. El modo OCR2A est configuado para "Conmutar en coincidencia comparada" cambiando los bits del COM2A a 01. TCCR2A = TCCR2B = 0x63 0x0c

OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Variando el lmite superior: PWM correccin de fase (phase-correct PWM) De manera similar, el timer puede ser configurado en modo de correccin de fase para resetear cuando alcance el OCRnA. PWM correccin de fase con lmite OCRA El siguiente fragmento de cdigo configura PWM correccin de fase en los pines 3 y 11 (Timer 2), utilizando el OCR2A como el valor superior del timmer. Los bits del modo de generacin de onda WGW son ajustados a 101 para el PWM de correccin de fase con el OCRA controlando el lmite superior. El lmite superior del OCR2A es arbitrariamente ajustado a 180, y el registro comparado OCR2B se ajusta arbritariamente a 50. El modo OCR2A est configuado para "Conmutar en coincidencia comparada" cambiando los bits del COM2A a 01. TCCR2A = 0xc1 TCCR2B = 0x0c OCR2A = 180; OCR2B = 50;

/************************************************************************ *****************************************