TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: miguel_26 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
-
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
-
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!!!!
-
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?
-
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?