Академический Документы
Профессиональный Документы
Культура Документы
Muchas veces necesitamos aplicaciones en donde tenemos que utilizar más de un PWM y si nuestro
Microcontrolados no dispone de módulos suficientes los podemos generar por software.
Primero necesitamos recordar mediante le siguiente grafico como es el funcionamiento del PWM.
Vamos a trabajar primero desde software mediante demoras pero no es óptimo pues no podemos
controlar ciertos intervalos de tiempo de compasiones en las iteraciones por ejemplo, lo ideal sería
trabajar con TIMER pero inicialmente lo haremos con las demoras, para ello lo primero es definir la
frecuencia que queremos trabajar.
Prodas CTS
prodas
En este ejemplo vamos a controlar un LED por lo tanto la frecuencia deberá ser mayor a la que el
ojo humano puede distinguir un parpadeo, en este caso trabajaremos a 100Hz.
0,01 s
Entonces necesitamos dos demoras que sumadas nos den 10ms pero para conseguir eso antes
necesitamos plantearnos cuantos valores de Duty Cycle queremos, yo utilizaré 255, por lo tanto mi
base de tiempo será
A continuación se presenta el sub procedimiento para generar distintos tiempos mediante una
demora base de 40us.
Cuando tengamos lista nuestra demora configurable vamos a realizar el sub procedimiento para
generar el PWM.
Prodas CTS
program pwm_delay
sub procedure demora (dim intervalos as byte) 'demora segun valor intervalos
dim i as byte
for i=0 to intervalos
delay_us(40) 'demora base de 40 us
next i
end sub
main:
' Main program
TRISD.0=0
while true
genera_PWM(10) 'cargo el valor del CICLO UITL
wend
end.
Prodas CTS