Ancho de pulso PWM

Páginas: 5 (1006 palabras) Publicado: 13 de octubre de 2013
Introducción a PWM
Sistemas de Tiempo Real
http://www.arcos.inf.uc3m.es/~infostr

Grupo de Arquitectura y Tecnología de Computadores
(ARCOS)

PWM: frecuencia y duty cycle
• La técnica PWM (Pulse-Width Modulation) o modulación por
anchura del pulso permite generar ondas cuadradas con una
frecuencia y ciclo de actividad determinada:
– En Arduino UNO la frecuencia del reloj del sistemaes 16Mhz
• 16*10^6 ciclos (ticks) por segundo tiempo de ciclo es 1/ 16*10^6 = 62.5ns
• Es posible modificar la frecuencia para que el número de ciclos por segundo sea 1 por cada
8,16,32,64, etc. ciclos de reloj del sistema. Este valor se llama factor de pre-escalado.

– El ciclo de actividad (o duty cycle, DC) representa la anchura del
pulso: cuánto tiempo de cada onda cuadrada hay pulso (5V)y cuándo
no lo hay (0V).

Duty cycle
• Ejemplos de duty cycle:

• Otro ejemplo:
– analogWrite(pin,DC): es una función de Arduino que escribe en pin (salida) un
determinado DC o duty cycle
• Está función se implementa como un PWM con una frecuencia fija (mediante un factor de preescalado de 64).
• Problema: aunque permite modificar el duty cycle, no es posible modificar la frecuencia,ya que
el valor de pre-escalado está fijo.

Introducción a PWM
• PWM permite generar ondas con diferentes frecuencias y
duty cycles usando timers:
– Un timer es un contador software que cuenta ciclos de reloj: el timer usa el
reloj de la CPU (o reloj del sistema).
– El timer se puede configurar para que solo se incremente cada X ciclos en
lugar de cada ciclo. (siendo X el factor depreescalado)
– Un timer cuenta desde 0 hasta MAX,
• MAX es el máximo que puede almacenar, y depende del número de bits del timer:
– Si el timer usa n bits
– Ejemplo con n=8

cuenta de 0..2^n-1

255
Timer (+1)

tick1

0

tick255

Frecuencia=1tick por c/factor pre-escalado
Si usamos pre-escalado=8, en un período hay

(16*10^6/8)*255

Introducción a PWM
• PWM permite generar ondascon diferentes frecuencias y
duty cycles usando timers:
– El duty cycle se modifica haciendo uso de un registro de comparación:
• Un registro de comparación almacena un valor comprendido entre 0 y MAX
• Cada registro de comparación esta asociado a una salida digital (PWM).
• Por ejemplo, en Fast PWM, si el valor del contador del timer es menor que el registro de
comparación, la salida emite 5v (valor 1). En caso contrario emite 0 v (valor 0).
• Ejemplo: un timer de n=8 bits y valor de comparación 2^n/2-1 genera un DC=50%
Timer (+1)

255
127
Reg. comparación

0
Salida generada
DC es 50%

Modos básicos de PWM: Fast PWM
• Fast PWM:
– El timer cuenta de 0 a MAX y vuelve a 0.
– La salida generada toma el valor 1 (ON) cuando el timer es igual a 0
– La salida generada tomael valor 0 (OFF) cuando el valor del timer alcanza el valor del
registro de comparación

255
Reg. comparación

0
Salida generada

Modos básicos de PWM: Fase correcta
• Phase-Correct PWM:
– El timer cuenta de 0 a MAX y decrece hasta 0.
– La salida generada toma el valor 0 (OFF) cuando el timer alcanza el valor del registro de
comparación durante la cuenta hacia adelante (0..MAX)
– Lasalida generada toma el valor 1 (ON) cuando el timer alcanza el valor del registro de
comparación durante la cuenta hacia atrás (MAX..0)

255
Reg.
comparación

0
Salida generada

Timers de Arduino
• Arduino tiene 3 Timers (Timer0, Timer1, Timer2),
– Cada timer tiene 2 registros de HW que permiten configurar las
opciones de PWM
• TCCRXA y TCCRXB (X=0,1,2) dependiendo del timer usado– Cada timer tiene otros 2 registros de HW que actúan como registros
de comparación,
• OCRXA y OCRXB (X=0,1,2) dependiendo del timer usado

– Cada timer tiene 2 salidas que pueden conectarse a dos salidas PWM
de Arduino:
• Timer 0
• Timer 1
• Timer 2

salidas 6 (A) y 5 (B)
salidas 9 (A) y 10 (B)
salidas 11 (A) y 3 (B)

Timer 0 (8 bits)
• TCCR0A – Timer/Counter Control...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pwm(modulaion por ancho de pulso)
  • Modulador de ancho de pulso pwm
  • Modulacion por ancho de pulsos (pwm)
  • Modulador de Ancho de Pulso (PWM)
  • Ancho de pulso
  • Ircuito de control de fase por modulación de ancho de pulso (pwm)
  • Generación De Un Patrón De Modulación De Ancho De Pulso (Pwm) Unipolar
  • Modulacion por ancho de pulso

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS