Autor Tema: Como generar una señal PWM con un frecuencia especifica, alguien sabe?  (Leído 743 veces)

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

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Solo eso si alguien sabe como o que parametros en flowcode debemos setear para generar una frecuencia en particular por ejemplo 20 khz haciendo uso de un cristal de 4 Mhz, gracias.

Desconectado remi04

  • PIC16
  • ***
  • Mensajes: 204
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #1 en: 01 de Abril de 2019, 05:49:37 »
Solo eso si alguien sabe como o que parametros en flowcode debemos setear para generar una frecuencia en particular por ejemplo 20 khz haciendo uso de un cristal de 4 Mhz, gracias.

 Si es usando un módulo pwm me temo que no puedes generar lo que quieras , tienes que conformarte con las opciones que puedas conseguir mediante los divisores y las fuentes según el oscilador.

  Otra cosa es que lo hagas por software.  Usando un timer e interrupciones o en casos más bestias donde no quieras el micro para nada más, mediante bucles.

  Si lo que quieres es una frecuencia concreta pero fija, dime qué micro usas, fuente del oscilador y la frecuencia del cristal si es que lo usas y vemos a donde se puede llegar con el módulo pwm.
« Última modificación: 01 de Abril de 2019, 05:52:22 por remi04 »

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3389
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #2 en: 01 de Abril de 2019, 07:12:38 »
Dependiendo del micro y sus timer debes de jugar con los valores marcados en rojo para obtener los indicados en verde.
Ver imagen adjunta.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #3 en: 01 de Abril de 2019, 21:33:14 »
Bueno si es posible (claro que no se obtendran la frcuencias exactas, pero se aproximan bastante, al menos en simulaciones habria que medirlas).

Lo que hay que hacer es calcular PR2 y saber que predivisor es el mas adecuado para nuestra frecuencia, esto se calcula de acuerdo a una ecuacion que se puede encontrar en el datasheet propio de cada PIC y pueden ver como se hace siguiendo el hilo que hay aca, en todo pic.

Hilo---> http://www.todopic.com.ar/foros/index.php?topic=30740.0

Y les dejo una captura para que vean donde colocar esos valores que calcularon... 8)

Lo unico que no puedo hacer es que el led en la simulacion en Flowcode funcione si me funciono simulando en proteus y armado en fisico en el protoboard pero si quiero simularlo en flowcode no me funciona el programa es el que ven en la imagen, si alguien se anima y lo quiere probar y decirme que hice mal, gracias.  :mrgreen:
« Última modificación: 01 de Abril de 2019, 21:36:45 por cicloide2 »

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3389
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #4 en: 02 de Abril de 2019, 04:42:15 »
En un rato lo reviso.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #5 en: 02 de Abril de 2019, 11:32:40 »
Gracias FER_TACA   :-/ :-/ :-/ :-/  :-)

Use un cristal de 4 Mhz, y mi led lo asocie al pinport que indica el PWM1 portc2

Te muestro los seteos con capturas...
« Última modificación: 02 de Abril de 2019, 11:46:01 por cicloide2 »

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #6 en: 02 de Abril de 2019, 11:46:26 »
Seteo del PWM ...

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3389
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #7 en: 02 de Abril de 2019, 12:11:06 »
………………………………………………….
Lo unico que no puedo hacer es que el led en la simulacion en Flowcode funcione si me funciono simulando en proteus y armado en fisico en el protoboard pero si quiero simularlo en flowcode no me funciona el programa es el que ven en la imagen, si alguien se anima y lo quiere probar y decirme que hice mal, gracias.  :mrgreen:

Ten en cuenta que el LED de simulación en Flowcode no podrá simular el brillo de salida, es demasiado rápido para procesarlo sobre la marcha, para ver su correcto funcionamiento  se tiene que usar un LED real y un microcontrolador.

Los duty de PWM de más del 50% probablemente no aumentarán el brillo del LED, pero debería ser visible por debajo del 50%.

Como el período de PWM es 49, ls duty de hasta el 50% incluyen los valores 0-25, que tomarán aproximadamente 0,5 segundos a 20 ms por valor.

Podría valer la pena tener una decisión que establezca el deber de nuevo en 0 si es mayor de 49 para evitar esperar al 100% resetendo la variable del duty.

20 KHz esuna frecuencia rápida pero debería estar bien, ciertamente no tendrás ningún parpadeo. Cualquier cosa sobre 60Hz es generalmente bastante buena.

F.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #8 en: 04 de Abril de 2019, 21:16:05 »
Hola Fer_Taca hay algo que no entiendo? ese valor "49" no es el valor al cual desborda TIMER2 y cuando el PWM llega al maximo valor? si la resolucion es a 10 bit la cuenta de mi contador deberia ir de cero a 1023 y (PWM =0 hasta PWM= MAXIMO y volver a empezar, o etoy errado?.

 Pregunto esto por que si bien no tengo osciloscopio solo tengo el pic, un led (en real armado en el proto se ve el led trabajando bien) y la simulacion de proteus (que es mi unico osciloscopio)  veo que en esa simulacion efectivamente comienza de cero y llega hasta el maximo (el PWM) pero despues hace algo raro  como que se queda en un valor estanco un buen rato  en el 40% (por decir algo) y despues de un rato vuelve a empezar eso esta bien? te dejo los dos archivos el de proteus y el de flowcode para que los veas.

« Última modificación: 04 de Abril de 2019, 21:35:09 por cicloide2 »

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #9 en: 04 de Abril de 2019, 21:18:21 »
El de proteus no lo puedo pasar a .ZIP , veo como hacerlo y lo subo.

Listo aca el de proteus mi version es la 8.8
« Última modificación: 04 de Abril de 2019, 21:39:39 por cicloide2 »

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3389
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #10 en: 05 de Abril de 2019, 11:08:17 »
Despues de un par de horas, revision todo.

F.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3389
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #11 en: 05 de Abril de 2019, 12:37:12 »
Acabo de revisar los adjuntos.

1º La parte del Proteus no puedo abrirla ya que mi versión es la 8.6.SP3 y me lo has mandado en versión 8.8. No puedo observar por tanto el efecto que indicas.


2º En cuanto a la simulación de proteus que no ves variar el duty, el resultado es que tienes una mala configuración. Dentro del diagrama haces referencia a "PWM2" y sin embargo en las propiedades del componente de simulación haces una llamada a "PWM1". Cámbialo y veras como te simula. Adjunto imagen


No obstante recuerda según mi post anterior que en Flowcode no puedes ver cambiar el brillo del led por el problema de la capacidad de recursos que consume Flowcode a la hora de simular. Pero mas allá de un valor de 49 no vas a apreciar mucho cambio en el brillo.


F.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #12 en: 05 de Abril de 2019, 21:09:59 »
Lo del led lo entendi, es por eso que ahora lo coloque en otro lado para que me indique cuando desbordo el timer 2, en lo real funciona bien (lastima no tener un osci para verificar ).

Lo que te quise decir en mi anterior post era que al llegar al 100% y volvia a empezar ( es decir. despues de recorrer los 10 bit ) no empezaba nuevamente en cero ,  arramcaba en  35% (aprox) por un instante y luego sì arrancaba desde cero.

Lo que hice en fue limitar la cuenta para que no llegue al 100% y ahi si funciona como quiero.

Ahi te subi mi correccion fijate si podes y tenes tiempo y ganas de armar el modelo en prteus y verlo funcionando (sobretodo conectando el osciloscopio), si en el bloque desicion pones 1024 y lo probas,

 vas a ver lo que te digo y no se por que pasa, ahora si lo dejas en 1000 si funiciona, por que sera que sucede eso?
 
Gracias.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #13 en: 05 de Abril de 2019, 21:11:00 »
Captura proteus, para que veas el modelo y lo armes en tu proteus

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 321
Re:Como generar una señal PWM con un frecuencia especifica, alguien sabe?
« Respuesta #14 en: 05 de Abril de 2019, 21:13:01 »
Ultima modificacion al archivo flowcode

pd. : CAMBIE EL CRISTAL A 20MHZ  por eso cambiaron las cuentas se me olvido aclararlo  :mrgreen:
« Última modificación: 06 de Abril de 2019, 10:26:14 por cicloide2 »