Applets "Utilidades"

Ver el tema anterior Ver el tema siguiente Ir abajo

Applets "Utilidades"

Mensaje por Admin el Mar 20 Sep 2011 - 14:41

Abro este tema para comentar todo lo relacionado con los applets en el bloque "Utilidades".

Informar de errores, dudas, mejoras, ideas para nuevos applets.. lo que sea.

Aprovecho para comentar que he actualizado el Calculador PWM y le he añadido un fragmento de código SDCC de ejemplo.


Un saludo.

Admin
Admin

Mensajes : 5
Fecha de inscripción : 25/11/2008

http://pic-linux.forosactivos.net

Volver arriba Ir abajo

Favor con la ecuacion

Mensaje por tony8a87 el Mar 20 Sep 2011 - 17:11

Hola te puedo molestar con la ecuación que utilizas a partir de
Fosc (MHz):
Frec. PWM (Hz):
Duty Cycle (%):

y obtener estos resultados???
Registro DEC HEX BIN
PR2:
T2CON:
CCPR1L:
CCP1CON:

gracias!!!
avatar
tony8a87
Participante Activo
Participante Activo

Mensajes : 34
Fecha de inscripción : 10/08/2010

Volver arriba Ir abajo

Re: Applets "Utilidades"

Mensaje por Admin el Mar 20 Sep 2011 - 17:53

Si claro...

Todo parte de la formulita que puedes encontrar en los datasheet de cualquier Pic:

PWM Period = [(PR2) + 1] • 4 • TOSC • (TMR2 Prescale Value)

Se despeja PR2 y te queda esta formulita:
PR2 = (pwm_period)/(prescale * tosc * 4)-1

Primero se calculan los periodos a partir de las frecuencias
tosc = 1/fosc;
pwm_period = 1/pwm_freq;


Y ahora se empiezan a darle valores al prescaler 1, 4, 16 y si PR2 > 256 se pasa al siguiente valor, si se llega a prescaler 16 y PR2 sigue mayor que 256 es que la frecuencia pwm elegida es demasiado baja para esa velocidad de reloj. Si PR2 < 1 es que la frecuencia pwm es demasiado alta.

Algo así:

for( prescale=1; prescale<=16; prescale *= 4)
{
PR2 = pwm_period/(prescale * tosc * 4)-1;

if (PR2 < 256 ) break; // tenemos un resultado válido
}


Para calcular la frecuencia real:
pwm_freq_actual = 1/((PR2 + 1) * osc_period * 4 * prescale)

Y el máximo valor de duty:
duty_Max = pwm_period / (tosc * prescale)

Para T2CON:
Bits 0 y 1 configuran el prescaler.
Bit 2 activa el Timer2.

CCPR1L:
Guarda los 8 bits más significativos de duty.

CCP1CON:
Bits 5 y 4 guardan los 2 bits menos significativos de duty.
Bits 0 a 3 configuración del módulo CAPTURE/COMPARE/PWM:
11xx = modo PWM

Creo que más o menos eso es todo.


Última edición por Admin el Mar 20 Sep 2011 - 18:45, editado 1 vez

Admin
Admin

Mensajes : 5
Fecha de inscripción : 25/11/2008

http://pic-linux.forosactivos.net

Volver arriba Ir abajo

Re: Applets "Utilidades"

Mensaje por tony8a87 el Mar 20 Sep 2011 - 18:40

Muchas gracias.

Saludos cordiales!!
avatar
tony8a87
Participante Activo
Participante Activo

Mensajes : 34
Fecha de inscripción : 10/08/2010

Volver arriba Ir abajo

Re: Applets "Utilidades"

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.