Está en la página 1de 24

Introduccin a PWM Pulse Width Modulation.

Un dispositivo digital como un microcontrolador puede trabajar fcilmente con las entradas
y salidas que tiene slo dos estados, activado y desactivado. As que usted puede utilizar
fcilmente para el control de un LED de estado es decir, on/off. De la misma manera que
se puede utilizar para controlar cualquier elctrica dispositivo de encendido / apagado
mediante el uso de controladores adecuados (transistor, triac, rels, etc.) Pero a veces se
necesita ms que slo "on" y control "off" en el dispositivo. Al igual que si quieres
controlar el brillo de un LED (o cualquier lmpara) o la velocidad del motor de corriente
continua a continuacin las seales digitales (on / off) simplemente no pueden
hacerlo. Esta situacin est muy inteligentemente manejada por una tcnica
llamada PWM o modulacin de ancho de pulso.
PWM es la tcnica utilizada para generar seales analgicas a partir de un dispositivo
digital
como una MCU. Casi todos los MCUs modernos han creado un hardware dedicado para
la generacin de la seal PWM.
PWM: Modulacin de Ancho de Pulso
Un dispositivo digital, como un microcontrolador slo puede generar dos niveles en
sus lneas de salida, HIGH y LOW = 5v = 0V. Pero lo que si queremos generar 2.5v o
3.1v o cualquier tensin entre la salida de 0-5 voltios? Para este tipo de requisito, en
lugar de generar una salida de tensin continua constante generamos una onda
cuadrada, que tiene un alto = 5 V y baja = 0v (Ver figura 1).

La figura. 1 - Una forma de onda de PWM.

En la figura se puede ver una seal PWM. Como se puede ver que es slo una digital de
seal (fcilmente se pueden generar por MCUs). Pero quiero aclarar algunas de sus
propiedades.
La seal permanece en "ON" durante algn tiempo y "OFF" para algn tiempo.
Ton = Tiempo de la salida permanece alta.
Toff = Tiempo de la salida permanece baja.
Cuando la salida es alta la tensin es de 5V '
Cuando el caudal es bajo la tensin de 0V
T = Perodo de tiempo = Ton + Toff
Ciclo de servicio.
Se define por

As se puede ver que es slo el porcentaje del tiempo total de la produccin fue alta.
En la figura anterior (Fig. 1) se puede ver que Ton = Toff = La mitad del
tiempo perodo. As el ciclo de trabajo es del 50%. Si la frecuencia de dicha onda es
suficientemente alta (digamos 500 Hz), la salida que se obtiene es la mitad de 5v es decir
2,5 voltios. As, si esta salida est conectada a un motor (por medio de los controladores
adecuados) que se ejecutar en el 50% de su plena velocidad a 5v. La tcnica de PWM
utiliza este hecho para generar cualquier voltaje entre dos extremos (por ejemplo, entre 0-
12 Voltios). El truco consiste en variar el ciclo de trabajo entre 0-100% y conseguir mismo
porcentaje de la tensin de entrada a la salida. A continuacin se presentan algunos
ejemplos de seales PWM de ciclo de trabajo diferente.

La figura. 2 - Una forma de onda de PWM. Ciclo de Trabajo = 12,5% Analog Voltage
Salida = 12,5% de Vcc (5v) = 0.625 voltios




La figura. 3 - Una forma de onda PWM. Ciclo de servicio = 75% Analog Voltage Salida =
75%
de Vcc (5v) = 3,75 voltios
As que acaba de ver cmo podemos generar niveles de tensin analgica de un sistema
digital
usando la tcnica PWM. Si la salida est provista de un filtro de R / C obtendr
un puro DC seales de niveles en vez de ondas cuadradas. Pero esto no es necesario
para
el control de motores o controlar el brillo del LED. Usted puede alimentar a las seales
PWM
directamente a continuacin (por directamente que quiero decir sin el filtro de R / C y no
los conductores
(como el transistor, etc)).






AVR Timers - Introduccin
Los temporizadores son caractersticas estndar de casi todos los microcontroladores. As
que es muy importante aprender su uso. Desde un microcontrolador AVR tiene
temporizadores muy poderosos y multifuncionales, el tema del temporizador es un tanto
"inmensa". Adems hay muchos temporizadores diferentes en el chip. As se multiparte
esta seccin en los temporizadores. Voy a dar una introduccin bsica en primer lugar.
Qu es un reloj?
Un temporizador de expresin ms simple es un registro. Temporizadores generalmente
tienen una resolucin de
8 o 16 bits. As que un temporizador de 8 bits es 8Bits amplia as capaz de mantener el
valor EL PLAZO
0-255. Pero este registro tiene una propiedad mgica! Su valor aumenta / disminuye
de forma automtica a una velocidad predefinida (suministrado por el usuario). Este es el
reloj temporizador.
Y esta operacin no necesita la intervencin de la CPU.

Fig.:. Funcionamiento bsico de un temporizador.
Desde temporizador funciona independientemente de la CPU se puede utilizar para medir
el tiempo con precisin.
Temporizador bajo ciertas condiciones tomar alguna accin automtica o informar a la
CPU. Uno de la condicin bsica es la situacin cuando OVERFLOWS temporizador es
decir, su contado hasta su valor mximo (255 para 8 temporizadores BIT), removi a 0.
En esta situacin temporizador puede emitir una alarma y se debe escribir una rutina de
servicio de interrupcin (ISR) para controlar el evento.

Fig.:. Funcionamiento bsico de un temporizador.
Uso del temporizador de 8 bits (TIMER0)
El ATmega16 y ATmega32 tiene tres temporizadores diferentes de las que la ms simple
es TIMER0. Su resolucin es de 8 BIT es decir, puede contar de 0 a 255.
Nota:
Por favor, lea los "perifricos internos del AVR" para tener los conocimientos bsicos de
las tcnicas utilizadas para el uso de los perifricos (como OnChip temporizador!)
http://www.extremeelectronics.co.in/avrtutorials/pdf/peripherals.pdf
El Precontador
El Pre-escalador es un mecanismo de generacin de reloj para el contador de tiempo del
reloj de la CPU. Como usted sabe que la CPU tiene una fuente de reloj, como un cristal
externo de oscilador interno. Normalmente estos tienen la frecuencia como de 1 MHz, 8
MHz, 12 MHz o 16 MHz (MAX). El Pre-escalador se utiliza para dividir la frecuencia de
reloj y producir un reloj de TEMPORIZADOR. El Pre-escalador se puede utilizar para
obtener el siguiente reloj para el temporizador.
No Reloj (Timer Stop).
No preescala (Reloj = FCPU)
FCPU / 8
FCPU/64
FCPU/256
FCPU/1024
Temporizador tambin se puede sincronizarse de forma externa, pero estoy dejando todo
por ahora por la simplicidad.
Timer0 Registros.
Como es posible que sabiendo del artculo de "perifricos internos de los AVR" cada
perifrico se conecta con la CPU de un conjunto de registros utilizados para comunicarse
con l. Los registros de los temporizadores se dan a continuacin.
TCCR0 -. Contador Temporizador Registro de Control Esto ser utilizado
para configurar el temporizador.

Fig.:. TCCR0 - Temporizador Contador registro de control 0
Como puede ver, hay 8 bits en este registro cada utilizados para determinados fines.
Para este tutorial slo se centrar en el ltimo tres bits CS02 CS01 CS00 Ellos
son el reloj de bits de SELECT. Se utilizan para configurar el Pre-escalador de
temporizador.

TCNT0 - Contador Temporizador 0



Mscara Timer Interrumpir Registrarse TIMSK


Este registro se utiliza para activar / desactivar las interrupciones relacionadas con
temporizadores.
Este registro controla las interrupciones de los tres temporizadores. Los dos ltimos
bits (bit 1 y el bit 0) Controla las interrupciones de TIMER0. TIMER0 tiene dos
interrupciones.
TOIE0: este bit cuando se establece en "1" permite la interrupcin de desbordamiento.
Ahora el tiempo para algunos cdigos de prcticas! Nos instalamos en un temporizador
para Precontador de 1024 y nuestra FCPU es 16MHz. Vamos a incrementar un "recuento"
de variable en cada interrupcin (desbordamiento) si la cuenta llega a 61 vamos a alternar
PORTC0 que est conectado al LED y restablecer "count = 0". Entrada de reloj de
TIMER0 = 16MHz/1024 = 15625 Hz Frecuencia de desbordamiento = 15625/256
=61.0352 Hz si incrementamos una variable "cuenta" cada desbordamiento cuando
"contar llegar a 61" aproximadamente una segundo tiene transcurrir.
Configuracin del TIMER0
/ / Pre-escalador = FCPU/1024
TCCR0 | = (1 << CS02) | (1 << CS00);
/ / Habilitar desbordamiento habilitacin de interrupcin
TIMSK | = (1 << TOIE0);
/ / Contador Initialize
TCNT0 = 0;
Ahora el temporizador est ajustado y desbordamiento de fusilamiento interrumpe a 61,0352 Hz
El ISR
ISR (TIMER0_OVF_vect)
{
/ / Esta es la rutina de servicio de interrupcin de TIMER0 DESBORDAMIENTO Interrupcin.
/ / CPU llamar automticamente cuando este TIMER0 desborda.

/ / Incrementar nuestra variable

cuenta + +;
Si (recuento == 61)
{
PORTC = ~ PORTC; / / Invertir el valor de PORTC
count = 0;
}
}
Demo Programa (AVR GCC)
LED@0.5 Blink Hz en PORTC [3,2,1,0]

# Include <avr/io.h>
# include <avr/interrupt.h>

voltil recuento uint8_t;

void main ()
{
/ / Pre-escalador = FCPU/1024
TCCR0 | = ( 1 << CS02) | ( 1 << CS00);

/ / Habilitar Overflow Interrupt Enable
TIMSK | = ( 1 << TOIE0);

/ / Inicializar Contador
TCNT0 = 0 ;

/ / Inicializar nuestra varriable
count = 0 ;

/ / Puerto C [3,2,1,0] como poner un
DDRC | = 0x0F ;

/ / Habilitar interrupciones Global
sei ();

/ Loop / Infinito
, mientras que ( 1 );
}

ISR (TIMER0_OVF_vect)
{
/ / Esta es la rutina de servicio de interrupcin de TIMER0 DESBORDAMIENTO Interrupcin.
/ / CPU llamar automticamente cuando este TIMER0 desborda.

/ / Incrementar nuestra variable
cuenta + +;
Si (recuento == 61 )
{
PORTC = ~ PORTC; / / Invertir el valor de PORTC
count = 0 ;
}
}

PWM Generacin de seales mediante AVR
temporizadores.
Generacin de seales PWM es una necesidad tan comn que todos los
microcontroladores modernos
como AVR ha creado un hardware dedicado para eso. El hardware dedicado elimina la
carga de generacin de la seal PWM por el software (por lo tanto libera la
CPU). Su como pedirle al hardware para generar una seal PWM de un ciclo de trabajo
especfico y la tarea de CPU ha terminado. El hardware PWM con el inicio la entrega de
la necesaria seal de uno de sus nmeros PIN, mientras que la CPU puede continuar con
otras tareas.
En microcontroladores AVR seales PWM son generados por las unidades de
temporizador. (Ver AVR temporizador Tutoriales). En este tutorial te dar la idea bsica
de cmo PWM seales son generadas por temporizadores AVR. Sus dos mtodos por los
cuales se puede generar PWM de AVR TIMER0 (por ATmega16 y ATmega32 MCUs).
1. PWM rpido
2. Fase PWM correcta
No se preocupe por sus nombres que se convertir en claro a medida que avancemos. En
primer lugar vamos a considerar el modo PWM rpido.
Fundas PWM Generacin
Vamos a utilizar el temporizador simple, TIMER0 para la generacin de PWM. (Nota
TIMER0 de ATmega8 no puede ser utilizado para la generacin de PWM, estos son
vlidos para ATmega16 y ATmega32).
En esta parte no vamos a estar tratando con cualquier cdigo, lo que hacamos era
analizar los conceptos.
Tenemos un contador de 8 bits contando 0-255 y la va a 0 y as sucesivamente. Esto
se puede mostrar en el grfico como

La figura. 1 - Temporizador AVR cuenta de secuencia para el PWM rpido.

El plazo depende de las ajustes PRESCALAR. Ahora, para la generacin de PWM de
esta secuencia de cuenta que tenemos un nuevo "amigo" llamado OCR0 (Output
Compare Registrarse Zero, cero porque para TIMER0 y no son ms de estos para
TIMER1 y TIMER2). Podemos almacenar cualquier valor entre 0-255 en OCR0, decimos
que almacenamos en 64 OCR0 luego aparecera en el grfico de la siguiente manera (la
lnea roja).

La figura. 2 - Timer AVR secuencia de cuenta para PWM rpido con OCR0 = 64


Entonces, cmo se compara esta salida registro genera PWM? Bueno, la respuesta
sigue.
Cuando el TIMER0 est configurado para el modo PWM rpido, mientras que hasta el
conteo cuando el valor del contador TIMER0 ( TCNT0 registro) coincide OCR0 registrar
una salida de PIN se tira bajo (0) y al contar secuencia comenzar de nuevo desde 0 se
establece de nuevo (tirado alta = Vcc). Esto se muestra en la figura 3. Este PIN se llama
OC0 y usted lo puede encontrar en la configuracin del PIN de ATmega32.

La figura. 3 - Temporizador AVR secuencia de cuenta para PWM rpido con OCR0 = 64

De la figura se puede ver que una ola de ciclo de trabajo de 64/256 = 25% es
producido mediante el establecimiento OCR0 = 64. Puede establecer OCR0 a cualquier
valor y obtener un PWM de ciclo de trabajo de (OCR0 / 256). Si se ajusta a 0 se obtiene
0% ciclo de trabajo al establecer que a 255 se obtiene la salida de servicio del 100%. Por
lo tanto, variando el ciclo de trabajo se puede obtener una salida de tensin analgica de
la OC0 PIN. La resolucin de este PWM es 8BIT.
Ver la animacin de abajo para una explicacin paso a paso del proceso de generacin
de PWM.





La figura. 4 - Proceso de generacin de PWM del AVR temporizadores.
Una nota sobre OCR0 es que se doble amortiguada. Pero lo que hace que los medios?
Es slo por su ayuda. Doblebuffering significa que no se puede escribir directamente a
OCR0, cuando cada vez que se escribe en OCR0 en realidad se est escribiendo a un
buffer. El valor de memoria intermedia se copia en OCR0 real slo durante el inicio del
ciclo (cuando TCNT0 envuelve 255-0). Esta buena caracterstica impide la actualizacin
de OCR0 entre los ciclos. El nuevo valor de OCR0 entra en vigor slo en comienzo de un
nuevo ciclo, incluso si se escribe en l en medio de un ciclo.
Ahora se va a configurar el TIMER0 en modo PWM rpido y utilizarlo para generar
seales PWM de ciclos de trabajo variables. De esta manera estaramos generando
analgicas seales de voltajes entre 0 y 5V. En el ejemplo vamos a conectar esta salida
a un LED y ver cmo vara su brillo.
Configuracin TIMER0 en modo PWM rpido
Configuracin del TIMER0 en modo PWM rpido es muy fcil y slo requiere una sola
lnea de cdigo. Slo tiene que hacer frente a un registro llamado TCCR0
( Timer Counter Control Registro Para el temporizador de 0 ). Usted slo tiene que
configurar varios bits en l para conseguir el ajuste deseado. Los diversos trozos de
TCCR0 es la siguiente.

TCCR0
Este registro se utiliza para configurar el TIMER0. La explicacin de los diversos bits de
este registro es el siguiente.

Bit No 7 6 5 4 3 2 1 0
Nombre FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00
Inicial Val 0 0 1 0 0 0 0 0
(Tenga en cuenta los bits de RED se discuten aqu)
WGM - Modo Forma de onda de la Generacin
La siguiente tabla muestra los distintos modos soportados por TIMER0.
Modo WGM00 WGM01 Modo de funcionamiento
0 0 0 Normal
1 0 1 PWM de fase correcta
2 1 0 CTC
3 1 1 PWM rpido

De la tabla se desprende que, para PWM rpido que el modo 3 necesitamos. Para
conseguirlo debemos establecer WGM00 = 1 y = 1 WGM01
COM - comparar Modo de salida
Estos bits se utilizan para establecer el modo de salida en varias generaciones la forma
de onda de modo. Para el modo PWM rpida estos pueden ser utilizados para lograr
siguientes modos de salida.

COM01 COM00 Modo de salida
0 0 Normal Operacin de puerto (OC0 desconectado)
1 0 RESERVADO
0 1 PWM No invertido
1 1 PWM invertida

Necesitamos que el "modo de salida PWM para no invertida " as que nos pusimos
COM01 = 0 y
COM00 = 1
CS - Reloj Select
Estos se utilizan para establecer un reloj de entrada para TEMPORIZADOR. Los
colocamos la siguiente manera para obtener Ftimer = F_CPU (es decir, sin prescalling).
CS02 = 0
CS01 = 0
CS00 = 1
Ahora el temporizador est en modo PWM rpido para variar su ciclo de trabajo de salida
slo tenemos que configurar el OCR0 (Output Compare Regstrate Timer 0). Por ejemplo
establecerla a 0 va a generar PWM con el ciclo de trabajo de 0% (totalmente apagado)
mientras que con 128 generar ciclo de trabajo del 50% y el 255 va a generar seales de
ciclo de trabajo del 100%.
Nota: La forma de onda de salida est disponible en la salida asociada Comparar Pin
del microcontrolador. Por ejemplo para el Timer 0 el pin OC asociado es OC0. En
ATmega16 y ATmega32 est en PORTB bit 3, es decir, PB3. Este pin se debe establecer
en la salida a obtener las seales PWM.
Programa de ejemplo
El en el siguiente programa establecimos TIMER0 en modo PWM rpido y utilizamos las
seales PWM generadas para variar el brillo de un LED. Este es el ms simple
programa para ayudarle a empezar con la generacin de la seal PWM. Comenzamos
con mnimo brillo y aumentarla gradualmente y luego otra vez reducimos gradualmente a
cero. Este proceso se repite mientras el sistema est encendido.

# Include <avr/io.h>
# include <util/delay.h>

void InitPWM ()
{
/ *
TCCR0 - Timer Registro Contador Control (TIMER0)
--------------------------------------- --------
BITS DESCRIPCIN


N : NOMBRE DESCRIPCIN
--------------------------
BIT 7: FOC0 Forzar salida de comparacin [No se utiliza en este ejemplo]
BIT 6: Formulario WGM00 Wave Modo generartion [SET para 1]
BIT 5: COM01 Comparar Modo de salida [SET 1]
BIT 4: COM00 Comparar Modo de salida [SET para 0]

BIT 3: modo de generacin de forma de onda WGM01 [SET 1]
BIT 2: CS02 reloj Seleccione [SET para 0]
BIT 1: CS01 reloj Seleccione [SET para 0]
BIT 0: CS00 Reloj Seleccione [SET 1]

Los ajustes anteriores son para
--------------------------

Temporizador Reloj = CPU del reloj (No Prescalling)
Mode = Fast PWM
PWM de salida = no invertido

* /


TCCR0 | = ( 1 << WGM00) | ( 1 << WGM01) | ( 1 << COM01) | ( 1 << CS00);

/ / Set OC0 PIN como salida. Es PB3 en ATmega16 ATmega32

DDRB | = ( 1 << PB3);
}

/ ************************************************* *****************
Establece el ciclo de trabajo de salida.

Argumentos
---------
deber: Entre 0 - 255

0 = 0%

255 = 100%

La funcin establece el ciclo de trabajo de salida PWM generada en OC0 PIN
El voltaje promedio en este pin de salida ser

deber
Vout = ------ x 5v
255

Esto puede ser usado para controlar el brillo de LED o velocidad del motor.
*********************************** ********************************** /

void SetPWMOutput (deber uint8_t)
{
OCR0 = deber;
}

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

Loop Espera simple

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

void Wait ()
{
_delay_loop_2 ( 3200 );
}

void main ()
{
brillo uint8_t = 0 ;

/ / Inicializar PWM Canal 0
InitPWM ();

/ / Haga esto para siempre

mientras que ( 1 )
{
/ / Ahora Loop con el aumento de brillo

por (brillo = 0 ; brillo < 255 ; brillo + +)
{
/ / Ahora Set El Brighness usando PWM

SetPWMOutput (brillo);

/ / Ahora esperar algn tiempo
Wait ();
}

/ / Ahora Loop con la disminucin del brillo

por (brillo = 255 ; brillo> 0 ; brillo -)
{
/ / Ahora Set El Brighness usando PWM

SetPWMOutput (brillo);

/ / Ahora esperar algn tiempo
Wait ();
}
MODO PWM FASE CORRECTA
La fase de modo PWM correcta (WGM01: 0 = 1) proporciona una fase de alta resolucin
PWM correcta
opcin de generacin de forma de onda. El modo PWM de fase correcta se basa en una
operacin de doble pendiente.
El contador cuenta repetidamente desde abajo hacia MAX y luego de MAX a abajo. En
inversora Comparar el modo de salida, la salida de comparacin (OC0) se despeja en el
partido comparar entre TCNT0 y OCR0 mientras contaje, y situado en el partido, mientras
que comparar conteo regresivo. En la inversin de la salida del modo Comparar, se
invierte la operacin. La operacin de doble pendiente tiene menor frecuencia mxima de
operacin de una sola operacin pendiente. Sin embargo, debido a la caracterstica
simtrica de los modos de PWM de doble pendiente, se prefieren estos modos para
aplicaciones de control de motores.
La resolucin de PWM para el modo PWM de fase correcta se fija a ocho bits. En el modo
PWM de fase correcta del contador se incrementa hasta que el valor del contador coincide
MAX. Cuando el contador llega a MAX, cambia la direccin de conteo. El valor TCNT0
ser igual a MAX para un ciclo de reloj temporizador. El diagrama de tiempos para el
modo PWM de fase correcta se muestra en la Figura que est a continuacin.
El valor TCNT0 es en el diagrama de temporizacin que muestra como un histograma
para ilustrar el funcionamiento de doble pendiente. El diagrama incluye salidas PWM no
invertidas e invertidas. La pequea lnea horizontal marca en las pistas TCNT0
representan partidos comparativas entre OCR0 y TCNT0.

El contador indicador de desbordamiento del temporizador (TOV0) se establece cada vez
que el contador llegue a FONDO. El indicador de interrupcin se puede utilizar para
generar una interrupcin cada vez que el contador alcanza el valor INFERIOR. En el
modo PWM de fase correcta, la unidad de comparacin permite la generacin de formas
de onda PWM en el pin OC0. Ajuste del COM01: 0 bits a 2 producir un PWM no
invertida. Una salida PWM invertida puede ser generada mediante el establecimiento de
la COM01: 0 a 3 (vase la Tabla). El valor real OC0 slo ser visible en el pin de puerto si
la direccin de datos para el pin del puerto se configura como salida. La forma de onda
PWM es generada en la limpieza (o ajuste) del Registro OC0 al comparar partido entre
OCR0 y TCNT0 cuando el contador se incrementa, y la creacin (o compensacin) el
Registro OC0 a comparar partido entre OCR0 y TCNT0 cuando el contador disminuye. La
frecuencia PWM para la salida cuando se usa la fase correcta PWM se puede calcular por
la siguiente ecuacin:


La variable N representa el factor de pre-escala (1, 8, 64, 256, o 1024).
Los valores extremos para el Registro OCR0 representan casos especiales cuando se
genera una salida de forma de onda PWM en el modo PWM de fase correcta. Si el OCR0
se fija igual a la parte inferior, la salida estar continuamente bajo y si se establece igual a
MAX, la salida ser continua alta para el modo PWM no invertida. Para PWM invertida la
salida tendr los valores lgicos opuestos. En el comienzo del perodo de 2 en la Figura
anterior OCn tiene una transicin de alta a baja a pesar de que no hay coincidencia de
comparacin. El punto de esta transicin es el de garantizar la simetra alrededor
INFERIOR.
Hay dos casos que dan una transicin sin coincidencia de comparacin:
OCR0A cambia su valor de MAX, al igual que en la Figura 33. Cuando el valor es
OCR0A MAX el valor pin OCn es el mismo que el resultado de un conteo regresivo
Compare Match. Para asegurar la simetra alrededor INFERIOR el valor OCn en MAX
debe corresponderse con el resultado de un conteo progresivo Compare Match.
El temporizador empieza a contar a partir de un valor ms alto que el de OCR0A, y por
esa razn no alcanza la comparacin del partido y de ah el cambio OCn que habra
sucedido en el camino.

COM1X1 COM1X0 Efectos en OCX1
0 0 No conectado
0 1 No conectado
1 0 Borrado en la comparacin, cuenta ascendente. Puesta en
marcha
de la comparacin, cuenta descendente (PWM no
invertido).
1 1
Borrado en la comparacin, cuenta descendente. Puesta
en marcha
de la comparacin, cuenta ascendente (PWM invertido).

http://extremeelectronics.co.in/avr-tutorials/timers-in-compare-mode-part-i/
http://extremeelectronics.co.in/avr-tutorials/timers-in-compare-mode-part-ii/
http://www.atmel.com/images/doc2503.pdf

También podría gustarte