Beruflich Dokumente
Kultur Dokumente
Asignatura: CONTROL ll
Profesor: Vctor Manuel Ypez Garca
Control PID motor CC
Alumno: Roberto Rodrguez Valencia
Numero de control: 14121352
DESARROLLO
Para el desarrollo de la prctica se hizo uso del motor de CC con el que cuenta el
kid de instrumentacin del laboratorio de ingeniera elctrica, as como los dems
elementos del kid para la parte de instrumentacin, para la parte de control se
utiliz un Arduino Mega con el procesador Atmel 2560 y el software de
programacin propio de arduino.
Se comenz haciendo la instrumentacin requerida para el acoplamiento de las
seales entre nuestros 2 dispositivos, ya que, nuestro controlador maneja seales
de amplitud mxima de 5Vcc y lecturas analgicas de 0 a 5Vcc discretadas a 10
bits. Y por el otro lado el kid de instrumentacin maneja seales de 12Vcc
internamente, dado esto ya que tenemos 2 acoplamientos entre nuestros
dispositivos, uno para la transmisin de la seal al motor y el otro para la
retroalimentacin al microcontrolador.
Al ser solo establecer lmites en niveles de voltaje esto se realiz de una manera
muy emprica, el procedimiento fue dar 0Vcc al motor y verificar que el nivel de
voltaje de la salida fuera de igual manera 0Vcc, si esto no se cumpla ajustbamos
nuestro compensador ya sea de ganancia o de offset hasta conseguirlo.
El siguiente paso fue alimentar nuestro motor con 12Vcc que esto establecera el
lmite mximo de voltaje generado y verificar que nuestra salida sea de 5Vcc, de
igual manera si esto no se cumpla deberamos hacer que se cumpla con ayuda
del compensador, verificado el lmite superior regresbamos a inyectar 0Vcc para
verificar que todo estuviera en orden.
El procedimiento para acoplar la seal de control de salida del microcontrolador
fue el mismo, pero acoplamos de 0Vcc a 0Vcc (aunque suene absurdo esto puede
no cumplirse) y de 5Vcc de la salida del micro a 12Vcc para alimentar la etapa de
potencia del kid.
Finalizado esto los valores de los compensadores fueron
Compensado de entrada al kid:
OFFSET = 0 , Ganancia = +2.4
void setup()
{
Serial.begin(9600);
pinMode(motor,OUTPUT);
pinMode(dir,OUTPUT);
pinMode(paro,INPUT_PULLUP);
digitalWrite(dir,HIGH);
Sintonizacion( 30, 5, 0.0 ); // Kp, Ki, Kd del Controlador PID
}
La funcin del setup de arduino es una funcin que solo ser leda por el micro al
inicio del programa (similar al BIOS de una PC) en esta se establece la funcin (si
son salidas o entradas digitales) de los pines declarados en la seccin anterior del
programa tambin se establecen los valores de ganancias para el controlador PID,
para este caso como se puede ver en el cdigo la ganancia de la parte derivativa
es nula, esto por la cuestin de que un sistema deber cumplir siempre el criterio
de tener ms ceros que polos.
void PID()
if(ttrans>=h)
Serial.println(error);
errSum += error;
lastErr = error;
lastTime = now;
} }
char a = Serial.read();
ref=velocidad;
Serial.println("Velocidad: ");
Serial.print(a);
Serial.println(velocidad);
analogWrite(motor,salida);
} }
if(digitalRead(paro)==LOW){
digitalWrite(motor,LOW);
digitalWrite(motor,LOW);
ref=0;
delay(20);
retro=map(analogRead(retroalimentacion),0,1023,0,255);
PID();
salida=constrain(salida,0,255);
analogWrite(motor,salida); }
Este es el armado bsico que se debe de hacer para controlar con el PID
digitalizado y cargado a una placa arduino, a esto se le pueden aadir accesorios
como podra ser un filtro pasa bajas para eliminar ruidos de altas frecuencias que
se puedan generar, como se pudo ver en el programa se cuenta con un botn de
paro de emergencia, este al detectar el pin un 0 detiene por completo el motor y
este no arrancara hasta que se indique por algn comando de nuevo.
CONCLUCION
Con esta prctica se analiz el comportamiento real de los compensadores, se
pudieron observar varias cosas como la importancia de las ganancias en la
digitalizacin, en este caso las ganancias fueron dadas aleatoriamente hasta que
obtuvimos un buen desempeo del compensador, como se mencion no usamos
la parte derivativa del compensador, pero en un momento de la practica si lo
hicimos (con precaucin) y observamos como lo dice el teorema de los ceros y
polos que al momento de aadir ms ceros que polos el sistema se comport de
manera inestable, en nuestro caso oscilo en todas las velocidades dadas
incluyendo al 0 (detenido).