Ayuda con PWM

Ver el tema anterior Ver el tema siguiente Ir abajo

Ayuda con PWM

Mensaje por AcoranTf el Jue 20 Ene 2011 - 20:58

Deseo realizar un sintetizador PWM que entregue una señal senoidal. La idea es atacar con esa señal una etapa de potencia para un inversor CC/CA.
Las caracteristicas que deseo son:
Frecuencia de muestreo del PWM = 12800 Hz.
Frecuencia de la señal senoidal final = 50 Hz.

De lo que se deduce que tendre 256 muestras por ciclo, (256 * 50 = 12800)
En principio deseo utilizar el PIC18F4523, pero no es critico.
El problema es que en programacion estoy pez y no soy capaz de sacar eso. ¿Alguien me ayuda?.
Gracias anticipadas.

Saludos.

AcoranTf
Participante Activo
Participante Activo

Mensajes : 44
Fecha de inscripción : 10/11/2009

Volver arriba Ir abajo

Re: Ayuda con PWM

Mensaje por carlostex el Vie 21 Ene 2011 - 16:45

Hola, si entiendo bién quieres generar la señal mediante software?, El hardware que tienen algunos PIC permite generar una señal cuadrada, pero no se de alguno senoidal. El problema de generarlo por software son las operaciones matemáticas que tendria que realizar el pic lo que puede llevar mucho tiempo e impedir que el pic haga otra cosa. Pero la razón principal es que la salida seria una señal digital. la mejor forma es con un oscilador y aplicar algún filtrado.

carlostex
Participante
Participante

Mensajes : 19
Fecha de inscripción : 30/10/2010

Volver arriba Ir abajo

Re: Ayuda con PWM

Mensaje por AcoranTf el Vie 21 Ene 2011 - 21:46

Hola Carlostex y gracias por responder.
Lo que quiero es utilizar el modulo PWM del PIC, por eso entre otras cosas elegi el PIC18F4523. Efectivamente se generara una onda "cuadrada", pero de ciclo util variable y es esa caracteristica la que hace que la salida se comporte como si realmente fuese senoidal. Esto es asi porque al integrar las distintas muestras con su correspondiente ciclo util, o duty cicle, el resultado es una semisenoide, (mas abajo explico como no es posible ver los semiciclos negativos). El filtrado se realiza despues del paso de potencia, ya que en caso contrario no tendria sentido hacerlo por PWM y bastaria un simple oscilador senoidal.
Resumiendo, lo que necesito es utlizando la funcion PWM del PIC, general una onda con frecuencia 12800 herzios y con un ciclo util que comenzaria en 0 e iria aumentando hasta 255, en pasos de 4. Seguidamente decreceria desde 255 hasta 0 igualmente en pasos de 4 y cada vez que se llegue a 0, se invertira una salida del PIC, esta se utiliza para indicar al hardware que se cambia de semiciclo y por tanto se conmutan los transistores que trabajan cada vez.
Si analizas lo anterior, veras que el hecho de saltar de 4 en 4 es tan simple como que un ciclo completo de la senoide, tiene 4 etapas: 1ª de 0 a maximo, 2ª de maximo a 0, 3ª de 0 a minimo y 4ª de minimo a 0, por ello y como quiero que cada ciclo de la senoide dure 256 ciclos de la frecuencia base, pero siempre llegando hasta el maximo, (5 V.) y al minimo, (-5 V.), es que lo hago de esta manera. Con ello se consigue una pseudosenoide de 50 Herzios a la salida del PWM, (solo se verian semiciclos positivos, los negativos son "discriminados" por la salida citada antes y que se conmuta en todo paso por 0, ya que el micro no puede trabajar con tensiones simetricas). Esto es facilmente verificable si se filtra debidamente dicha señal, para eliminar todo rastro de la frecuencia base de 12800 Hz.
Y en pocas palabras, necesito general una señal PWM de 12800 Hz. que sera modulada indefinidamente para obtener el ciclo util en cada momento por el contenido de un registro del PIC, que a su vez contiene un simple contador de 0 a 255 en saltos de 4. Esta funcion no debe ocupar mas que una parte no superior al 20 % del tiempo de procesador, ya que necesito el resto para otras rutinas de control y medida.
Espero haberlo explicado de forma inteligible, de todos modos si algo no entiendes, simplemente preguntame.

Saludos.

P.D.: Edito para comentar que estudiando el comportamiento del PIC18F4523 en cuanto al PWM se refiere, he visto que tiene un modo especificamente para controlar etapas de potencia en modo puente completo, ello significa que no necesitaria la salida adicional comentada antes para seleccionar los dos semiciclos, bastaria con utilizar dicho modo, con lo que el PIC acondiciona sus 4 salidas de PWM para excitar el puente completo.

AcoranTf
Participante Activo
Participante Activo

Mensajes : 44
Fecha de inscripción : 10/11/2009

Volver arriba Ir abajo

Re: Ayuda con PWM

Mensaje por carlostex el Sáb 22 Ene 2011 - 2:51

Entiendo, mira este post creo que es lo que nececitas:
Aquí

Por lo que leí, se puede cambiar el duty cicle es un periodo determinado, lo que te permitirá cambiar el valor con las interrupciones del reloj, por lo que vas a aprovechar mas el procesador, de hecho cambiar el ciclo requeriría de muy pocas instrucciones así que esa tarea hasta podrías considerarla despreciable.

carlostex
Participante
Participante

Mensajes : 19
Fecha de inscripción : 30/10/2010

Volver arriba Ir abajo

Re: Ayuda con PWM

Mensaje por AcoranTf el Sáb 22 Ene 2011 - 9:51

Hace varias semanas estuve mirando precisamente ese articulo y no termine de entenderlo, pero como despues he estado estudiando un poco sobre el PIC, ahora me empieza a resultar mas comprensible.
En ese proyecto ha utilizado tan solo 20 muestras por ciclo y eso es muy poco para un buen resultado practico, pero eso no es el problema. Para mi lo dificil es calcular los valores momentaneos de los registros implicados y el mecanismo de las interrupciones para controlar la recarga de ellos, asi como relacionarlo todo con la frecuencia del reloj, (tendre que estudiarme a fondo las formulas). Pero volvere a repasar a fondo todo el articulo a ver si en esta ocasion, con mas info del PIC lo consigo.

Saludos.

AcoranTf
Participante Activo
Participante Activo

Mensajes : 44
Fecha de inscripción : 10/11/2009

Volver arriba Ir abajo

Re: Ayuda con PWM

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.