Go Down

Topic: ayuda control posición motor DC. (Read 2072 times) previous topic - next topic

Aug 04, 2012, 10:04 pm Last Edit: Aug 05, 2012, 07:56 am by eduaarddo Reason: 1
El proyecto consta de controlar la posicion de un motor DC, mediante el control de un PID  y una salida pwm. modifico el setpoint con un potenciometro, que se supone que debe modificar la frecuencia de la salida pwm, y hacer girar el motor que movera un segundo potenciometro que sera mi retroalimentacion.  El problema es que modifico el setpoint con el potenciometro y la salida pwm no varia, manda solamente pulsos inconstantes. quiero saber si algo esta mal en el codigo.



Code: [Select]

/********************************************************
* PID_PWM_ control de posicion motor DC.
* leer entrada analogica A0 para controlar PWM salida 3
********************************************************/

#include <PID_v1.h>

//definir variavles
double Setpoint, Input, Output;


//especificar parametros
PID myPID(&Input, &Output, &Setpoint,2,5,1, DIRECT);

void setup()
{
 Setpoint=0;
 
 //inicializa la variavle
 Input = analogRead(A0); // retroalimentacion
 Setpoint = analogRead(A1); //  potenciometro modifica setpoint

 //encender PID
 myPID.SetMode(AUTOMATIC);
}

void loop()
{
 Input = analogRead(A0);
 myPID.Compute();
 analogWrite(3,Output);  


eried

Primero parte probando cosas uno por uno. Prueba si controlas el motor, las salidas del PID (con un Serial.print), la lectura del análogo, todo individualmente primero.
My website: http://ried.cl

Go Up