Control de inversor con PWM extraño

Hola! Estoy programando un dsPIC30F4011 para controlar un inversor para alimentar un motor de induccion asincrono. La pregunta es un poco larga, gracias por leerla al que le interese.

Ademas de hacer un PWM senoidal normal con frecuencia=20khz, necesito para encender los IGBTs hacer un PWM a 1 Mhz de 50% de ciclo de trabajo (constante) para que pase la señal a un transformador de alta frecuencia que es el que dispara al transistor. Para apagar el IGBT simplemente todo el rato el PIN apagado(no hacer nada, vamos). Es decir, cada vez que la señal de la salida del PWM normal (20khz) este encendida, debe a su vez cumplir que se encienda y apague con frecuencia 1MHz y ciclo de trabajo 50%. Los IGBTs conmutarian a 20Khz, la otra señal es solo para pasarla por el transformador y activarlos.

La cosa es que no se como utilizar el modulo PWM del que dispone el dsPIC, si con override o no, o utilizar un timer, pero creo que el micro no tiene tanta velocidad para eso.

La otra opcion seria generar por una parte la señal PWM senoidal normal (20khz) y por otra 1 señal de 1MHz y ciclo de trabajo cte 50% y combinarlas, ya fuera del micro. No se me ocurre nada mas, y la opcion de hacerlo todo dentro del micro no se como hacerla.

Cualquier sugerencia sera bienvenida

Muchas gracias por su atensión.
 
Explicame porque override. No veo el impedimento con 6 canales independientes o complementarios de PWM, ademas de los 3 generadores de ciclos de trabajo, pudiendo cambiar estas "al vuelo", trabajando con una resolución de 16 bits.
Lo decis por la operación de ECM? digamos que vos podes controlar las EE/SS independientemente de la unidad de comparación del duty, so se si lo que vos queres es forzar la señal para complementarla. En fin, porque no hacerlas independientes una de la otra?
La entrada de reloj creo que permite un DC de 40MHz, habra que chequear.

Saludos
 
Gracias por contestar!

Lo que yo quiero es hacer un PWM senoidal normal para controlar un inversor y obtener 3 ondas "senoidales" , es decir, que vaya cambiando el PDC (tiempo de trabajo) cada vez que se genera la interrupcion . La frecuencia del PWM seria de unos 20Khz (a la que conmutan los IGBTs)

El problema es que para disparar los IGBTs dispongo de un transformador de alta frecuencia que necesita 1Mhz, por lo que cada vez que una patita tenga la señal en alto (el tiempo depende del ciclo de trabajo que este cargado), necesito una frecuencia de 1Mhz para que se active el IGBT. Esta señal de 1Mhz debe funcionar al 50% (es decir, 0,5us ON y 0,5us OFF). Esto solo para encender el IGBT, que estara encendido segun el ciclo de trabajo que marque el PCD en ese momento

Lo que yo he hecho es lo siguiente. Con el modulo PWM del dsPIC consigo generar el PWM senoidal, con salidas complementarias, tiempo muerto, etc... a 20KHz, pero ahora necesito que el tiempo que esten (que deben estar) las patitas en alto, no esten en alto todo el tiempo, sino que vayan cambiando su estado con una frecuencia de 1MHz, para que al pasar por el transformador dispare el IGBT. Eso no se muy bien como hacerlo. Se me ocurre con un timer de 1Mhz, y al generar la interrupcion, hacer que las señales vayan cambiando, pero para eso duarante ese tiempo necesito override, para controlar la señal con el timer y no con el modulo PWM. Ademas el micro no tiene velocidad suficiente porque la rutina de interrupcion del timer me dura mas de 1us (luego frecuencia < 1Mhz)

No se si me he expresado muy bien, me ha costado bastante decir lo que queria.

Gracias de nuevo!
 
Hola amigos, intento generar dos señales pwm senoidal, pero no se que estoy haciendo mal, la señal no se genera bien(oscila el periodo y el ciclo de trabajo no corresponde).
Luego he hecho un pwm sencillo y la señal es inestable(se pierde y vuelve a salir).
Os dejo el programilla por si encontrais algun fallo.

Gracias
 

Adjuntos

  • pwm_191.txt
    1.3 KB · Visitas: 107
  • pwmsenoidal_146.txt
    3.8 KB · Visitas: 183
A ver thom, creo que te estas complicando la vida. No entiendo porque quieres utilizar un transformador y excitarlo con una señal ajena al generador senoidal. Lo ma sencillo seria utilizar uno o varios circuitos integrados del tipo IR2110, que estan especializados en el manejo de MosFet e IGBT a distinto potencial. Mirate la hoja de datos del IR2110, donde tambien hay ejemplos de aplicacion y veras que es mucho mas facil que utilizar transformadores.

Para moisesmesa, siento no poder ayudarte, ya que en programacion estoy pez.

Saludos.
 
Hola a todos.
Estoy configurando los PWM del 18f452 pero me funciona solamente uno.
alguien alguna vez tuvo ese problema, me podrian ayudar?
desde ya muchas gracias.

Los configuro de la sig manera:

movlw b'11000000'
movwf INTCON

movlw b'00000000'
movwf T2CON
bcf PIE1,1
bcf IPR1,1

movlw 0x00
movwf TMR2
movlw 0xFF
movwf PR2

movlw 0x77
movwf CCPR1L
bsf CCP1CON,4
bsf CCP1CON,5
movlw b'00001100'
movwf CCP1CON

movlw 0x77
movwf CCPR2L
bsf CCP2CON,4
bsf CCP2CON,5
movlw b'00001100'
movwf CCP2CON

bsf T2CON,2
 
Atrás
Arriba