Está en la página 1de 11

UNIVERSIDAD TECNOLOGICA METROPOLITANA

FACULTAD DE INGENIERÍA

INGENIERÍA EN ELECTRÓNICA

Laboratorio de Control Automático II

Experiencia de Laboratorio N°1


“Programación de microcontroladores para Aplicaciones Industriales”

Integrantes: David Bravo Mackenney


Fabián Carrasco Burgos
Nataly Castillo Rosales
Profesor: Patricio Galarce Acevedo
Fecha: 06/09/2018
1.- Objetivos:

- Obtener modelo y parámetros de la planta en base a mediciones de


laboratorio y simulación en Matlab.

-Comprender conceptos de escalamiento de variables analógicas en procesos


Industriales
- Calcular ganancias para control de respuesta transitoria.
- Elaborar programa de un controlador discreto del tipo PID en un micro controlador.
-Implementar un lazo de control discreto realimentado, utilizando un micro
controlador.
Comparar los cálculos teóricos y simulación con la implementación del lazo de control
realimentado.

2.- Informe Previo:

2.1.- Investigue sobre el modelo dinámico de una planta de primer orden (por ejemplo, un
circuito), y realice su simulación en Matlab (realice todos los supuestos que sean necesarios
y descríbalos dentro del informe).

La planta utilizada para obtener el modelo dinámico de primer orden, fue un circuito serie
RC, como la figura que aparece a continuación.

A continuación, se muestra la simulación en Matlab del circuito RC serie, con los valores ya
mencionados.

2
2.2.- Obtenga la función de transferencia del modelo escogido en el punto anterior, y utilizando
la función de transferencia obtenida, calcule el tiempo de establecimiento y la amplitud máxima
de la respuesta en lazo abierto.

Considerando valores teóricos ; para R = 1KΩ y C = 1µF


1
𝑠𝑐 1
𝑓𝑡 = =
1
𝑅 + 𝑠𝑐 𝑅𝑆𝐶 + 1

𝜏 = 𝑅𝐶 = 1 ∗ 103 ∗ 1 ∗ 10−6 = 1 ∗ 10−3

𝑡28 = 0,3285 ∗ 𝜏 = 0,3285𝑚𝑠

𝑡63 = 0,9942 ∗ 𝜏 = 0,9942𝑚𝑠

𝑇 = 1,5 ∗ (𝑡63 − 𝑡28 ) = 9,98 ∗ 10−4


𝐾=5
𝐿 = 𝑇 − 𝑡28 = 6,70 ∗ 10−4
𝑇 9,98 ∗ 10−4
𝐾𝑝 = = = 0,2979
𝐾 ∗ 𝐿 6,70 ∗ 10−4 ∗ 5
1
𝐾𝑑 = lim 𝑅𝑆𝐶+1 = 1
𝑠→0

3
𝑡𝑠 = 5 ∗ 𝜏 = 5 ∗ 1 ∗ 10−3 = 5 ∗ 10−3

2.3.- Para el modelo establecido en el punto anterior, calcule las ganancias de un control del tipo
proporcional – integral, de tal manera que el tiempo de establecimiento en lazo cerrado sea 1/4 del
tiempo de establecimiento en lazo abierto, y el sobre impulso no supere el 10% (el desarrollo de los
cálculos debe estar en el pre informe).

Para controlador Tipo PI por si solo se calcula una ganancia proporcional;

𝑇 ∗ 0,9 0,9 ∗ 9,98 ∗ 10−4


𝐾𝑝 = = = 1,34
𝐾𝐿 6,70 ∗ 10−4 ∗ 1

𝐿 6,70 ∗ 10−4
𝑇𝑖 = = = 2,23 ∗ 10−3
0,3 0,3

1 ∗ 𝑡𝑠𝑙𝑎 5 ∗ 10−3
𝑡𝑠𝑙𝑐 = = = 1,25 ∗ 10−3
4 4

4
𝑙𝑛(𝑀𝑝)2 𝑙𝑛(0,1)2
𝜉=√ = √ = 0,591
𝑙𝑛(𝑀𝑝)2 ∗ 𝜋 2 𝑙𝑛(0,1)2 ∗ 𝜋 2

2.4.- Realice la simulación del punto anterior en Matlab para verificar que se
cumplen las condiciones de tiempo de establecimiento en lazo cerrado y sobre
impulso (agregue los gráficos correspondientes de justificación en el informe).

Se obtiene la siguiente respuesta al escalón, con tiempo de establecimiento indicado en la


siguiente imagen:

3.- Trabajo de Laboratorio:

3.1.- Cambie los valores reales de su planta (modelo dinámico o función de transferencia),
recalcule los valores de las ganancias de su controlador PI, tiempo de establecimiento y
sobre impulso (según los parámetros de la planta de primer orden que utilizará en el
laboratorio).
𝜏 = 0,92 ∗ 10−3 𝑠

5
1
𝑠𝑐 1 1
𝑓𝑡 = = =
1 𝑅𝑆𝐶 + 1 𝑆 + 1
𝑅 + 𝑠𝑐 𝑅𝐶

𝑡28 = 0,3285 ∗ 𝜏 = 0,3285 ∗ 0,92 ∗ 10−3 = 302 ∗ 10−6


𝑡63 = 0,9942 ∗ 𝜏 = 0,9942 ∗ 0,92 ∗ 10−3 = 914 ∗ 10−6

𝑇 = 1,5 ∗ (𝑡63 − 𝑡28 ) = 918 ∗ 10−6


𝐾=1
𝐿 = 𝑇 − 𝑡28 = 616 ∗ 10−6

Para controlador Tipo PI por si solo se calcula una ganancia proporcional;

𝑇 ∗ 0,9 0,9 ∗ 918 ∗ 10−6


𝐾𝑝 = = = 1,34
𝐾𝐿 616 ∗ 10−6 ∗ 1

𝐿 616 ∗ 10−6
𝑇𝑖 = = = 2,05 ∗ 10−3
0,3 0,3

Diseñando el controlador en simulink:

Se obtiene la siguiente respuesta al escalón, con tiempo de establecimiento indicado en la


siguiente imagen:

6
3.2.- Realice la programación del controlador PI en un microcontrolador (PIC o Arduino) e
implemente el siguiente lazo de control.

Se procede a construir la programacion del controlador mediante el uso del software de


Arduino (se utiliza Arduino UNO como hardware a controlar). En cada linea del programa
se detallara mediante un comentario las instrucciones de estas mismas:

//ZONA DE DECLARACION DE VARIABLES

float sp = 3; //Set Point de 3 Volt para Vc (el cual se fue variando para
probar su funcionamiento)
int lectura = 0;
float vc = 0;
float error = 0;
float kp = 1.68; // Se estima una variacion del +- 5% (1.691 - 1.869)
int vm = 0;

7
float sc = 0;
float iT, eT, dT, iT0, eT0;
float Tm=0.02;
float Td=0.0035175; // Se estima una variacion del +- 5% (0.0031825 -
0.0035175)
float Ti=0.004; // Se estima una variacion del +- 5% (0.001273 -
0.001407)
float a,b,c;

//ZONA DE CONFIGURACION DEL PROGRAMA

void setup() {
Serial.begin(9600);
delay(100); // Se genera un delay (microsegundos)

iT0=0.0;
eT0=0.0;
a=kp;
b=(kp*Tm)/Ti;
c=(kp*Td)/Tm;
}

//ZONA DE REPETION DE RUTINA DEL PROGRAMA

void loop() {
lectura = analogRead(A0); //Adquiero la lectura analogica en el pin A0
(0 – 1023)
vc = map(lectura, 0, 1023, 0, 5); //Escala la Vp
Serial.println(vc);

//ZON DE DECLARACION DE ECUACIONES CARACTERISTICAS DEL


CONTROLADOR

error = sp - vc;
iT=b*error+iT0;
dT=c*(error-eT0);
sc = iT+dT+error*kp;
vm = (sc * 255) / ((a+b+c)*5); //(a+b+c)*5=(kp+ki+kd)*errormaximo

//MEDIANTE UN “IF” SE CREA UN MARGEN DE TRABAJO DE 0-255


if (vm >= 255)
vm = 255;
else if (vm <= 0)

8
vm = 0;

//RETROALIMENTACION DEL CONTROLADOR


iT0=iT;
eT0=error;
______________________________
analogWrite(6, vm); // Se utiliza el pin 6 como salida del controlador
delay(20);
}

3.3.- Obtenga los parámetros de respuesta transitoria y compárelos con los valores
obtenidos de sobre impulso y tiempo de establecimiento del punto 3.1

Aqui va un screenshot de la planta sin controlador

Y de la plnata controlada:

9
4.- Informe final.

4.1.- Informe detallado del trabajo de laboratorio.

3.1 Considerando Valores Prácticos

𝜏 = 0,92 ∗ 10−3 𝑠

1
𝑠𝑐 1
𝑓𝑡 = =
1 𝑅𝑆𝐶 + 1
𝑅 + 𝑠𝑐

𝑡28 = 0,3285 ∗ 𝜏 = 0,3285 ∗ 0,92 ∗ 10−3 = 302 ∗ 10−6


𝑡63 = 0,9942 ∗ 𝜏 = 0,9942 ∗ 0,92 ∗ 10−3 = 914 ∗ 10−6
𝑇 = 1,5 ∗ (𝑡63 − 𝑡28 ) = 918 ∗ 10−6
𝐾=1
𝐿 = 𝑇 − 𝑡28 = 6,16 ∗ 10−6
Para controlador Tipo P por si solo se calcula una ganancia proporcional;

𝑇 918 ∗ 10−6
𝐾𝑝 = = = 1,49
𝐾𝐿 616 ∗ 10−6 ∗ 1

Para controlador Tipo PI por si solo se calcula una ganancia proporcional;

𝑇 ∗ 0,9 918 ∗ 10−6


𝐾𝑝 = = = 1,34
𝐾𝐿 616 ∗ 10−6 ∗ 1

𝐿 616 ∗ 10−6
𝑇𝑖 = = = 2,05 ∗ 10−3
0,3 0,3

Para controlador Tipo PID


1,2 ∗ 𝑇 918 ∗ 10−6 ∗ 1,2
𝐾𝑝 = = = 1,79
𝐾𝐿 616 ∗ 10−6 ∗ 1

𝑇𝑖 = 2𝐿 = 616 ∗ 10−6 ∗ 2 = 1,23 ∗ 10−3

𝑇𝑑 = 0,5𝐿 = 616 ∗ 10−6 ∗ 0,5 = 0,308 ∗ 10−3

1
0
4.2.- Conclusiones.
Resultados Teoricos sin controlador:

Resultados Teoricos con controlador:

Resultados Practicos sin controlador:

Resultados Practicos con controlador:

1
1