Autor Tema: Varios PWM por TMR0 Adjunto informacion  (Leído 9120 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mardel_electro

  • PIC10
  • *
  • Mensajes: 3
Varios PWM por TMR0 Adjunto informacion
« en: 12 de Julio de 2012, 17:10:59 »
Buenos dias Colegas, aqui les adjunto un material que encontre en mi pc sobre la implementacion de varios pwm, utilizando el tmr0 y obteniendo diferentes valores modificando la variable que controla el overfloww de dicho timmer.Lo leo y releo pero no termino de entender bien su funcionamiento , y al intentarlo plasmar en niple mediante diagrama de flujo para asi poder entenderlo mejor no me funciona.

Les adjunto el tutorial basado en un pic 16f873A y tambien adjunto el diagrama de flujo hecho sobre un pic16f648A

Desde ya muchas gracias y quedo a la espera de toda la ayuda posible o indicacion de lo que estoy haciendo mal.En este caso el ejemplo lo hace sobre una salida pero como hago para realizarlo sobre 8 salidas por ejemplo?..

En el siguiente link , demuestran que si se puede hacer , mediante programacion en basic pero tampoco, esta muy clara la operatoria de independencia entre cada pwm.

http://www.neoteo.com/8-canales-de-pwm-con-un-16f628a

Saludos

Desconectado lmtreser

  • PIC16
  • ***
  • Mensajes: 133
    • Automatismos Mar del Plata
Re: Varios PWM por TMR0 Adjunto informacion
« Respuesta #1 en: 12 de Julio de 2012, 23:36:55 »
Hola! No manejo Nipple pero igual creo poder ayudarte. En el PDF esta muy bien explicado:

1. Se configura la interrupción por timer0
2. Se inicializa un variable contador con valor 0
3. Se inicializan dos variables TPWM (período) y DUTY (ciclo de trabajo)
4. Se carga TMR0 con 254
5. Se define un bit de salida con el valor 1, el pin por donde vas a sacar la señal PWM

Dentro de la interrupción lo que haces es incrementar el contador. Si este es igual al ciclo de trabajo manda el pin de salida a 0, si en cambio es igual al período manda el pin de salida a 1. Modificandole el valor a la variable DUTY cambias el tiempo en ON de la señal. Lo acabo de implementar en BASIC y funciona perfectamente.

Saludos!

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: Varios PWM por TMR0 Adjunto informacion
« Respuesta #2 en: 14 de Julio de 2012, 13:16:05 »
hola: en el ejemplo que vi en el video ( sin leer el articulo) la frecuencia varia y mucho....
Saludos enrique...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Varios PWM por TMR0 Adjunto informacion
« Respuesta #3 en: 14 de Julio de 2012, 14:45:41 »
hola: en el ejemplo que vi en el video ( sin leer el articulo) la frecuencia varia y mucho....
Saludos enrique...


Eso pasa si la frecuencia elegida es demasiado alta, entonces cual variación en los ciclos de reloj utilizados se nota en la frecuencia. O está mal implementado  :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: Varios PWM por TMR0 Adjunto informacion
« Respuesta #4 en: 14 de Julio de 2012, 18:48:16 »
hola: en el ejemplo que vi en el video ( sin leer el articulo) la frecuencia varia y mucho....
Saludos enrique...


Eso pasa si la frecuencia elegida es demasiado alta, entonces cual variación en los ciclos de reloj utilizados se nota en la frecuencia. O está mal implementado  :mrgreen:
es prioritario que la frecuencia sea la misma en un pwm para el correcto diseño del  filtro, después de leer el articulo con mas detenimiento sabre si es causa de una mala implementacion.
Saludos enrique

Desconectado lmtreser

  • PIC16
  • ***
  • Mensajes: 133
    • Automatismos Mar del Plata
Re: Varios PWM por TMR0 Adjunto informacion
« Respuesta #5 en: 15 de Julio de 2012, 00:12:01 »
Enrique crear señales PWM mediante software no es tan eficiente como utilizar el módulo que trae el PIC. Se trata de una solución económica a muchos problemas dónde la frecuencia no sea un punto critico.

Yo genere 3 señales PWM a 1,4KHz y funciona muy bien.


 

anything