Autor Tema: Control PID triple  (Leído 1919 veces)

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

Desconectado miguel_26

  • PIC10
  • *
  • Mensajes: 2
Control PID triple
« en: 17 de Septiembre de 2007, 10:33:07 »
Hola,

Estoy tratando de controlar tres motores de CD simultaneamente con el PIC18F4550 con tres controladores PID independientes. He visto que con este pic puedo generar hasta 7 señales de PWM, yo solo necesitaría 3, pero hasta ahora solo he podido generar dos. Este es el código que tengo:

setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_ccp3(CCP_PWM);
 
setup_timer2(T2_DIV_BY_16,255,1);

set_pwm1_duty(valor1);
set_pwm2_duty(valor2);
set_pwm3_duty(valor3);

Este código me funciona solo para dos pwm (me genera bien las señales), pero cuando agrego el código para el tercero me marca error diciendo que el identificador setup_ccp3 no ha sido definido.
Alguien sabe si me falta definir algo?

Gracias

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Control PID triple
« Respuesta #1 en: 17 de Septiembre de 2007, 12:55:55 »
Fijate, extraído del datasheet.


15.0 CAPTURE/COMPARE/PWM (CCP) Modules

PIC18F2455/2550/4455/4550 devices all have two
CCP (Capture/Compare/PWM) modules.



Dicho en castellano, el 18F4550 solo tiene 2 PWM por eso te da error.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Deimos

  • Visitante
Re: Control PID triple
« Respuesta #2 en: 17 de Septiembre de 2007, 13:36:24 »
Que yo sepa el PIC18F4550 solo tiene dos módulos CCP, el tercer módulo te lo estás inventando. Hay micros especializados en control de motores y suelen tener de 6 a 8 salidas PWM complementarias entre sí. Estas salidas las distingues en el pinout porque las llaman PWMxH o PWMxL.

Salu2!!!!

Desconectado miguel_26

  • PIC10
  • *
  • Mensajes: 2
Re: Control PID triple
« Respuesta #3 en: 19 de Septiembre de 2007, 07:33:04 »
Sí, tienen razón, me confunfí por un artículo que ví en la web pero ahí generaron el tercero por software. Ahora estoy usando el PIC18F4431 que ese si tiene varios pwms independientes. Aún no tengo el PIC físicamente así que lo estoy simulando con el PIC18 simulator pero no me genera las señales. Este es el código (para dos señales solamente) de configuración que he usado:

 setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_COMPLEMENTARY);
 setup_power_pwm(PWM_CLOCK_DIV_16|PWM_FREE_RUN,1,0,periodo,0,1,0);
 set_power_pwm0_duty(duty_cycle1);
 set_power_pwm2_duty(duty_cycle2); 

me falta definir algo?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Control PID triple
« Respuesta #4 en: 19 de Septiembre de 2007, 12:19:30 »
me falta definir algo?

La verdad no uso el CCS pero por curiosidad, esa función de configuración del PWM te configura los pines correctos como salida?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything