Autor Tema: pic con 3 pwm?  (Leído 27998 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pic con 3 pwm?
« Respuesta #15 en: 06 de Noviembre de 2012, 16:39:25 »
o un dspic33ep256mu806 que tienes 14 PWM y añadiendole los OC como PWM tendrias un total de 30 PWM jajja

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: pic con 3 pwm?
« Respuesta #16 en: 06 de Noviembre de 2012, 17:22:08 »
La solución de tapi8 (hacer los PWM por software) también hay que tenerla en cuenta.  Para frecuencias bajas (50 o 60 herz) puede ser una opción válida.
Creo que los variadores de velocidad para brushless: Brushless speed controller (ebay) utilizan un micro Atmel AVR con esa forma de control.
La ventaja de los micros AVR es que trabajan a más mips que la mayoría de los PIC, son más rápidos para hacer por soft las salidas PWM.

El problema de programar las 6 salidas PWM es que el programa se puede complicar y con los precios tan bajos de los micros PIC con 3 PWM integrados (gratis si los pides como samples), creo que es mejor escoger PWM por hardware para hacer un prototipo.


Saludos.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: pic con 3 pwm?
« Respuesta #17 en: 06 de Noviembre de 2012, 17:47:48 »
El PIC18F4550 tiene 2 generadores de PWM independientes (Timer2 y Timer4). Uno de los PWM tiene una sola salida y el otro PWM tiene asociadas 4 salidas.
Las 4 salidas asociadas a un sólo generador PWM permiten hacer puentes en H para control de motores de corriente continua, pero no sirven para controlar puentes de trifásica.

Hola Picuino, he estado revisando detenidamente la hoja de datos del PIC18F4550 y no logro encontrar en donde habla de dos módulos PWM ni del Timer4.  Como mencioné antes veo que hablan de un solo módulo PWM (en modo simple o enhaced) controlado por el Timer2.  Me podrías indicar en que parte encuentro esa información?

Saludos!

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pic con 3 pwm?
« Respuesta #18 en: 06 de Noviembre de 2012, 18:02:09 »
En la pagina nº 1 pone:

Up to 2 Capture/Compare/PWM (CCP) modules:
- Capture is 16-bit, max. resolution 5.2 ns (TCY/16)
- Compare is 16-bit, max. resolution 83.3 ns (TCY)
- PWM output: PWM resolution is 1 to 10-bit

En la seccion 15, la primera pagina:
In 28-pin devices, the two standard CCP modules (CCP1
and CCP2) operate as described in this chapter.

Y luego en el ECCP:
TABLE 16-1: PIN ASSIGNMENTS FOR VARIOUS ECCP1 MODES
Note: When setting up single output PWM
operations, users are free to use either of
the processes described in Section 15.4.4
“Setup for PWM Operation” or
Section 16.4.9 “Setup for PWM Operation”.
The latter is more generic but will
work for either single or multi-output PWM.
ECCP Mode CCP1CON
Configuration RC2 RD5 RD6 RD7
All PIC18F4455/4550 devices:
Compatible CCP 00xx 11xx CCP1 RD5/SPP5 RD6/SPP6 RD7/SPP7
Dual PWM 10xx 11xx P1A P1B RD6/SPP6 RD7/SPP7
Quad PWM x1xx 11xx P1A P1B P1C P1D

En la figura 16-1 Se puede observar el esquema de las 4 salidas de PWM (no se si son individuales o no).

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: pic con 3 pwm?
« Respuesta #19 en: 06 de Noviembre de 2012, 18:49:24 »
Hola MerLiNz, eso es correcto y lo del número de salidas de PWM es lo que expuse en la respuesta #7 de este hilo, pero creo que se está confundiendo el número de pines de salida que puede generar el módulo PWM con el número de módulos o generadores de PWM.  Esto es de algo que se discute bastante en los foros de Microchip, ya que al parecer no han sido muy claros al describir que es cada cosa en sus hojas de datos. A lo que me refiero finalmente, es que no puedes poner en funcionamiento los dos supuestos módulos PWM del PIC18F4550 y tener una señal desplazada de la otra 120º, por poner algún ejemplo, ya que es un solo temporizador el que lo maneja (Timer2).

Saludos!

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pic con 3 pwm?
« Respuesta #20 en: 06 de Noviembre de 2012, 19:42:43 »
Lo que no puedes es variar la frecuencia de de ambas salidas (ya que ambas van por el tmr2), pero si los dutys

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: pic con 3 pwm?
« Respuesta #21 en: 06 de Noviembre de 2012, 20:02:45 »
Lo que no puedes es variar la frecuencia de de ambas salidas (ya que ambas van por el tmr2), pero si los dutys

Hola MerLiNz, nuevamente eso es correcto.  Creo que tenemos un problema de interpretación, pero estamos hablando de lo mismo: Varias Salidas generadas por Un Solo Módulo PWM manejado por Un Solo Temporizador.  Al no existir dos o más modulos PWM no puedes generar señales con el desfase que quieras entre una señal y otra.

Saludos!
« Última modificación: 06 de Noviembre de 2012, 20:05:10 por bmb »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pic con 3 pwm?
« Respuesta #22 en: 07 de Noviembre de 2012, 07:08:15 »
Citar
La solución de tapi8 (hacer los PWM por software) también hay que tenerla en cuenta.  Para frecuencias bajas (50 o 60 herz) puede ser una opción válida.

Yo mantengo que es la mejor, la frecuencia del PWM es de 1KHz, 4KHz, 8, 12, 16KhZ estas son las opciones que llevan los variadores comerciales que yo instale hace algun tiempo, a 4 KHz cada ciclo son 250us donde hay que poner en alto 3 salidas y despues bajarlas cada una a su debido tiempo, en 250us hay que ejecutar 15 0 20 instruciones (sin contar bucles de tiempo) da tiempo de sobra y trabajando solo a 4MHz. Las frecuencias de entre 1 y 200Hz es la de la senoide resultante, ojo no es lo mismo.

Citar
Hola MerLiNz, nuevamente eso es correcto.  Creo que tenemos un problema de interpretación, pero estamos hablando de lo mismo: Varias Salidas generadas por Un Solo Módulo PWM manejado por Un Solo Temporizador.  Al no existir dos o más modulos PWM no puedes generar señales con el desfase que quieras entre una señal y otra.

bmb creo que tienes un error de concepto, los PWMs estan en fase, empiezan al mismo tiempo y tienen la misma frecuencia (es la portadora que va a 1,4,8,12 y 16KHz, son las mas tipicas) lo que varian son los DUTTYs de cada uno, otra cosa es que las senoides que generan si esten desfasadas 120º entre ellas.

Con cualquier TIMER por software puedes generar tantos PWMs como salidas tenga el PIC.
« Última modificación: 07 de Noviembre de 2012, 07:10:41 por tapi8 »

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: pic con 3 pwm?
« Respuesta #23 en: 07 de Noviembre de 2012, 10:04:21 »
...los PWMs estan en fase, empiezan al mismo tiempo y tienen la misma frecuencia (es la portadora que va a 1,4,8,12 y 16KHz, son las mas tipicas) lo que varian son los DUTTYs de cada uno, otra cosa es que las senoides que generan si esten desfasadas 120º entre ellas.

Con cualquier TIMER por software puedes generar tantos PWMs como salidas tenga el PIC.

Hola tapi8, nuevamente de acuerdo.  Hay por ahi varias notas aplicativas de Microchip en donde se diseñan variadores de frecuencia trifásicos con PICs de este tipo en donde se genera uno de los PWM por software. Tal vez no me he hecho entender; de pronto se entienda lo que quiero decir si miramos la hoja de datos de un PIC que si tiene por ejemplo 3 módulos PWM independientes cada uno con su temporizador como por ejemplo el caso del dsPIC33EPXXXGP50X, en donde en la primera página puedes leer:
Citar
"High-Speed PWM
Up to three PWM pairs with independent timing
• Dead time for rising and falling edges
• 7.14 ns PWM resolution
• PWM support for:
- DC/DC, AC/DC, Inverters, PFC, Lighting
- BLDC, PMSM, ACIM, SRM
• Programmable Fault inputs
• Flexible trigger configurations for ADC conversions"

Saludos!

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: pic con 3 pwm?
« Respuesta #24 en: 07 de Noviembre de 2012, 11:29:37 »
El PIC18F4550 tiene 2 generadores de PWM independientes (Timer2 y Timer4). Uno de los PWM tiene una sola salida y el otro PWM tiene asociadas 4 salidas.
Las 4 salidas asociadas a un sólo generador PWM permiten hacer puentes en H para control de motores de corriente continua, pero no sirven para controlar puentes de trifásica.

Hola Picuino, he estado revisando detenidamente la hoja de datos del PIC18F4550 y no logro encontrar en donde habla de dos módulos PWM ni del Timer4.  Como mencioné antes veo que hablan de un solo módulo PWM (en modo simple o enhaced) controlado por el Timer2.  Me podrías indicar en que parte encuentro esa información?

Saludos!

Tienes razón, me he confundido con el timer4. Edito el mensaje para corregirlo.
El único generador de PWM es el Timer2 que tiene asociados dos comparadores para generar 2 señales con ciclos de trabajo diferentes (CCP1 y CCP2).
Además la señal CCP2 puede controlar los 4 pines de salida de un puente en H.

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: pic con 3 pwm?
« Respuesta #25 en: 07 de Noviembre de 2012, 11:43:07 »
Con cualquier TIMER por software puedes generar tantos PWMs como salidas tenga el PIC.

Pero hay que tener en cuenta que con tres módulos PWM la programación se simplifica mucho y el precio de los microcontroladores dsPIC especializados en control de motores es barato.

Los dsPIC33FJ16(GP/MC)101/102 cuestan menos de 2 euros, tienen sólo 18 pines (hay versión PDIP para hacer prototipos sobre protoboard), mucha capacidad matemática para los algoritmos de control de motores y un conversor analógico-digital verdaderamente rápido para tomar muestreo de corrientes o tensiones.

Saludos.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pic con 3 pwm?
« Respuesta #26 en: 07 de Noviembre de 2012, 14:16:50 »
Teneis razon ambos Picuino y bmb, pero estos PICs tan potentes en ensamblador son muy complicados de programar, por lo menos para mi  :lol: :lol: si con un 16f logro lo mismo comiendome el coco un poco mas pues...En velocidad de ejecucion no me preocupa van sobrados y el programa es mio totalmente, en mi caso necesito tener muy claro como va todo y si a veces ya me cuesta entender lo que yo hago... :lol:

La idea es hacer una ESC (control de velocidad electronico) para vehiculos electricos. Despues de generar la senoide, que es lo mas tedisoso sobre todo en assembler (ya lo tenia casi hecho, pero esta casi todo mal y tengo que rehacerlo de nuevo :5]), variar la frecuencia, ya menos tedioso, viene un poco lo mas complicado, que es la parte de regular potencia, leer acelerador, velocidad del motor, consumos de corriente y algo mas que se me olvide. Haciendolo yo desde 0 se en que momentos hay tiempos para esas lecturas, variar parametros (varian constantemente), regular frec y potencia en arranques y frenadas, tambien cuando la velocidad del motor y la que marca el acelerador no coinciden etc.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pic con 3 pwm?
« Respuesta #27 en: 07 de Noviembre de 2012, 15:27:59 »
los dspic33E los tienes hasta 70MIPS, ya lo puedes hacer con asm, como con C que no tendras problema de velocidad xD. La programacion no es muy complicada.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: pic con 3 pwm?
« Respuesta #28 en: 07 de Noviembre de 2012, 17:27:41 »
Cuando comencé a programar en C, no volví a programar en assembler. Hay algunas cosas (muy pocas) que conviene hacerlas en assembler y que se pueden incluir dentro de un programa en C con la directiva _asm.
El C es muy cercano a la máquina y muy potente. El programa de control que quieres hacer es complicado y creo que programarlo en C te va a facilitar las cosas.


Saludos.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: pic con 3 pwm?
« Respuesta #29 en: 07 de Noviembre de 2012, 18:56:39 »
Cuando comencé a programar en C, no volví a programar en assembler. Hay algunas cosas (muy pocas) que conviene hacerlas en assembler y que se pueden incluir dentro de un programa en C con la directiva _asm.
El C es muy cercano a la máquina y muy potente. El programa de control que quieres hacer es complicado y creo que programarlo en C te va a facilitar las cosas.


Saludos.

+1  :)

Sin embargo, si quieres experimentar con asm, por aquí hay una Nota Aplicativa muy interesante de Microchip (algo vieja) que te puede dar un buen inicio.  Como dice MerLiNz, no parece muy complicada. Por aquí encuentras el código fuente y esa Nota Aplicativa para varios dsPICs.

Saludos!