Control PID de un Balancin con Arduino

Control PID de un Balancin con Arduino

Escrito Por: admin Publicado En: Sistemas de Control Fecha de Creación: 2016-07-21 visitas: 4520

Control PID de un Balancin con Arduino

 

 

 

DIAGRAMA DE CONEXIÓN ( NO DE SIMULACIÓN)

 

 

 

El potenciometro se debe conectar en el eje de rotación del Balancin.

El Motor DC con helice se debe coloca en la punta del balancin

En la parte trasera del balancin se debe colocar un contrapeso para no le custe trabajo subir a la helice.

 

CÓDIGO ARDUINO

 

 

 

#include <PID_v1.h>

 

int valorpote;     //Variable que recoge el valor del potenciómetro

int pwm1;          //Variable del PWM 1

int pin2=9;   //Entrada 2 del L293D  al Enable salida PWM

 

 

//Define Variables we'll be connecting to

double posicion, Setpoint,Output, error;

 

//Specify the links and initial tuning parameters

double Kp=1, Ki=0.1, Kd=0.23;

PID myPID(&posicion, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);

 

 

 

void setup(){

 

    Setpoint = 130; //posicion referencia   Voltalje

 

   pinMode(pin2,OUTPUT);

 

  posicion = analogRead(0);  

 

  Serial.begin(9600);  //Iniciamos la comunicación con el puerto monitor serial

 

  myPID.SetMode(AUTOMATIC);

 

}

 

void loop(){

 

  posicion = analogRead(0);

 

  error = Setpoint - posicion;

 

 

 //  valorpote=analogRead(1);

 

 

   myPID.Compute();

 

  //Timer1.pwm(salidaPWM, Output,1000);

 

 

   pwm1 = map(Output, 0, 1024, 0, 255);

 

 

 

  // int ancho=50;

 

   analogWrite(pin2,pwm1);

 

 

 

  Serial.println("x");

 

  Serial.println(posicion);

   Serial.println(error);

    Serial.println(Output);

  Serial.println(pwm1);

 

 

  Serial.println("x");

 

 }

Etiqueta: Control PID de un Balancin con Arduino

Same In Category

comments powered by Disqus