Descripción: Sistema por modulacion de pulsos PWM aplicado en sitemas de Radio-Transmisiones de AM
Descripción completa
Proceso de filtrado de una señal PWM de arduinoDescripción completa
PWM FACIL DE ENTENDERDescripción completa
Banda AnchaDescripción completa
Informe 555 pwmDescripción completa
PWM Teknik
Cálculo del PWM Para variar el periodo (T) de trabajo de un PWM se utiliza la siguiente fórmula: T = (PR2 !) " # " Tos$ " PR%&'%Rtimer •
T =* Periodo del PWM
•
PR2 =* +alor +alor ,ue introdu$e en la fun$ión setup-$$p.()/0
•
Tosc =* Tiempo de instru$$ión del P1' (!fos$=!23M4z=53nanosegundo (!fos$=!23M4z=53nanosegundos) s)
•
PRESCALER =* =* %ste valor permite obtener fre$uen$ias m6s elevadas a $ambio de perder bits de resolu$ión0 'on$retamente lo ,ue 7a$e este n8mero es definir el n8mero de overflo9s (ve$es ,ue se llega al final de la $uenta en el timer) ne$esarios para genererar la interrup$ión0
%n la siguiente imagen (se usa una fre$uen$ia de reloj de 23M4z) 7a un ejemplo en el ,ue T vale #5;s (es de$ir< de$i r< una fre$uen$ia de 22<224z para el PWM)0 4abiendo utilizado las 2 e$ua$iones: Tp9m = (PR2 !) " # " Tos$ Tos$ " PR%&'%Rtimer ===> #5; = ( PR2 !) " # " !23M ===> PR2=224 TiempoTimer TiempoTimer = >(25?@$arga) > (25?@$arga) " P& 2A " Tinst ===> 23; = >(25?@ carga)"!2A"#23M ===> carga=158
%l $ódigo para $onfigurar el PWM es sen$illo< pues sólo 7a ,ue $onfigurar el Timer aso$iado a los PWM e indi$ar mediante setup-$$p. ,ue se va a utilizar el PWM0 setup_timer_2(T2_DIV_BY_1,158,1); _1,158,1); ! setup_timer_2(T2_DIV_BY setup_ccp1(CCP_PWM); //CCP1 y CCP2 ser! uti"i#$%&s y 2 setup_ccp1(CCP_PWM); setup_ccp2(CCP_PWM); setup_ccp2(CCP_PWM); //sus puert&s s&! s$"i%$s PWM
B Cesde este momento tan sólo 7a ,ue utilizar la fun$ión set_pwmX_duty(ValorDelPWM); op$ionalmente en el robot de los talleres 23!2 la fun$ión Motores(); los dos siguientes blo,ues de programa$ión son e,uivalentes 7a$en lo mismo0 Dorma genEri$a: ! set_p'm1_%uty(p'm); M1I!11; //P$r$ ue $*$!ce 2 B M1I!2+; //s&! est&s *$"&res Dorma parti$ular del robot de los talleres 23!2: ! 2
i!t1 p'm; M&t&res(p'm,1,-.-);
%n ambos $asos la variable pw se 7abr6 de$larado $omo un entero de !? bits mediante la siguiente instru$$ión: !
i!t1 p'm;
F se le 7abr6 dado un valor entre 3 !32B antes de utilizarla0
Supongamos que se desea una frecuencia de 1KHz a un ciclo de trabajo de 50 con una frecuencia del oscilador de !"Hz.
#o primero es revisar la $oja de datos %en mi caso el 1&'(() o cualquiera que tenga **P+. ,stablece una f-rmula P" Period %P2+3 14!67S* %6"2 Prescale 8alue+ Pero es menos complicado si se contempla en funci-n de la frecuencia %recordar que f1/t+9 'p:m %'osc+/%P231+;%6"2 Prescale 8alue+;%!+4 #o que interesa es el P2
P2 debemos recordar que es de ( bits> por lo que el valor m?@imo no debe e@ceder 255 %mu< importante+.