Autor Tema: dspic33fj128mc802 MotorPWM module  (Leído 3354 veces)

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

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
dspic33fj128mc802 MotorPWM module
« en: 16 de Diciembre de 2011, 06:45:32 »
Hola,

Estoy trantando de realizar el control de un motor mediante PWM. En los dspic33fjXXXMCXXX ya viene implementado el modulo Motor Control PWM, que difiere de los modulos de los pic18. Estoy programando en CCS y no consigo hacer funcionar el modulo, aunque compilar compila.

Código: [Seleccionar]
setup_motor_pwm(1,MPWM_FREE_RUN | MPWM_SINGLE_PULSE, 1000); 
set_motor_unit( 1,MPWM_INDEPENDENT , MPWM_FORCE_L_1,MPWM_FAULT_NO_CHANGE,0);
set_motor_pwm_duty(1,0,0xfff); 
set_motor_pwm_event(1,1000);

Si alguien tiene experiencia con estas funciones y sabe como funcionan, por favor, que las explique cuanto pueda, ya que en el manual de ccs no dejan nada claro.

Gracias y saludos!
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: dspic33fj128mc802 MotorPWM module
« Respuesta #1 en: 16 de Diciembre de 2011, 10:16:35 »
Si consideras que la configuración es correcta podrías revisar si las instrucciones cargan correctamente los registros necesarios para ese caso mediante debug. Si no tienes idea, a leer el datasheet... Otra posibilidad es definir los registros #word ... y configurarlo "manualmente"



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado fram_22

  • PIC18
  • ****
  • Mensajes: 316
Re: dspic33fj128mc802 MotorPWM module
« Respuesta #2 en: 16 de Diciembre de 2011, 13:00:16 »
yo tengo experiencia pero con C30. Yo te recomendaria configurar el periferico a nivel regstro para comenzar. Te da un gran etendimeinto de periferico.

saludos!

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: dspic33fj128mc802 MotorPWM module
« Respuesta #3 en: 20 de Diciembre de 2011, 07:19:11 »
Hola,

tras haberme currado los registros y hacer mis propias funciones he descubierto que el codigo que pusé, que es el que viene de ejemplo en el manual de CCS, viene mal. Viene mal en el sentido de que los parametros que se introducen en las funciones están mal escritos, ya que en las opciones de algunas funciones en lugar de estar separados por "|" están separados por comas, lo que indica que ya es otro parametro. En fin, un lio de narices que hacen desde CCS.


Si alguien ha estado queriendo trabajar con este modulo, que tenga cuidado y se fije en las funciones e intente trabajar a partir de ellas, en lugar de los ejemplos.

Ya que estamos en faena, el PWM me funciona, pero lo que no controlo es como obtener el ancho de la señal que yo quiera y el duty cicle de esa señal, ¿alguien puesto en pwm podria explicar como obtener, por ejemplo, una señal de 5ms y un duty cicle del 80% (4ms en alto)?

Gracias!


Adjunto codigo que funciona, por si a alguien le sirve de ayuda
Código: [Seleccionar]
   setup_motor_pwm(1,MPWM_FREE_RUN , 10000); 
   set_motor_unit( 1,1,MPWM_INDEPENDENT | MPWM_ENABLE | MPWM_FORCE_L_1,0,0);
   set_motor_pwm_duty(1,1,1000);
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: dspic33fj128mc802 MotorPWM module
« Respuesta #4 en: 20 de Diciembre de 2011, 08:59:40 »
En el foro hay varias explicaciones de como trabajar con el pwm, frecuencia, resolucon y ciclo de trabajo, etc....



Saludos
No contesto mensajes privados, las consultas en el foro

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: dspic33fj128mc802 MotorPWM module
« Respuesta #5 en: 20 de Diciembre de 2011, 09:13:32 »
En el foro hay varias explicaciones de como trabajar con el pwm, frecuencia, resolucon y ciclo de trabajo, etc....



Saludos

No para el Motor Control Module de los dspic33FJ, al menos llevo una semana buscando y no he encontrado nada.

Saludos.
Alberto Aragón Marqueses
albertomarqueses.wordpress.com