ECUADOR
Introducción
1. Tema
2. Objetivos General
Objetivos específicos
Entender cómo funciona un lazo de control.
Entender que es un SetPoint
Conocer cómo opera ante una señal de entrada una salida de control.
Implementar una planta.
a. Materiales
Foco
Sensor LM35
Cables
caja de cartón
Arduino
TIP122
6N137
Resistencias 330omhios
Capacitor 47uF
Capacitor 100uF
Adaptador D-link
Regleta de protoboard
Disipador de calor.
Boquilla para foco.
Potenciómetro de 10K
b. Costos
c. Métodos
1. Se corta la caja para poder implementar la planta.
2. Se coloca cada uno de los elementos electrónicos en el
protborad de acuerdo a su datasheet correspondiente y
polarización.
3. Se cableo cada una de las etapas
4. Se procede con la programación del Arduino Uno.
5. Se procede con la programación de Matlab para poder ver las
señales resultantes.
6. Se carga los programas tanto en el arduino y se hace correr el
programa en Matlab para ver el comportamiento y asi obtener la
función de trasferencia. Y todas las gracias respectivas hasta que
se estabilice el sistema de control.
d. Resultados
Circuito de Potencia y control: Para la parte de potencia tenemos le TIP 122 el mismo
que nos permitirá obtener mayor voltaje y potencia para que se caliente el foco. Asi
como el optoacoplador que permitirá estabilizar el sistema de control.
La Planta: Para la planta nos queda de la siguiente manera donde se puede ver le foco
y el sensor dentro de la caja de cartón.
http://flor.ebizor.com/color-de-la-luz-en-la-fotosintesis/
ANEXOS
Código de Arduino:
int setpoint = 0;
int tempdeseada = 0;
int sensor = 0;
int tempreal = 0;
int salida = 0;
int error = 0;
int erroranterior = 0;
//CALIBRAR EL CONTROLADOR
double Kp = 57.47;
double Kd = 114078;
double Ki = 0;
double proporcional = 0;
double integral = 0;
double derivativo = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
// 1) Leer y aconidcionar el SP de 20 a 50ºC
setpoint = analogRead(A0);
tempdeseada = setpoint/20.1;
if (tempdeseada < 25)
{
tempdeseada = 25;
}
// aplicar el PID
proporcional = Kp * error;
derivativo = (error - erroranterior)*Kd;
integral = (error + erroranterior)*Ki;
// graficar curvas
Serial.print(tempdeseada);
Serial.print(",");
Serial.println(tempreal);
delay(20);
}