Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Índice de Términos— Control, PID, Barra y bola, 2. Adquirir datos del sensor por medio de
Servomotor, No lineal Simulink
3. Controlar la planta por medio del servomotor
I. INTRODUCCIÓN a partir de un sistema en lazo cerrado en
Se tratará un sistema de barra y bola donde se Simulink.
4. Discutir respuestas de la planta ante
implementará un control clásico. Primero se presenta
diferentes entradas y controladores
un esquema en el que se aprecia la forma en que van
conectados los diferentes dispositivos comunes en un III. PLANTEAMIENTO DEL PROBLEMA Y
lazo de control, el actuador será el servomotor, el DELIMITACIÓN
sensor será de distancia, el controlador un Arduino.
Se hace la caracterización del sensor de distancia Debido a que es un sistema altamente no lineal
infrarrojo Sharp. Una vez realizada y verificado la (puesto que su modelamiento dinámico es de
comunicación planta-simulink, se comienza a segundo orden) y presenta variables adversas como
establecer el rango de operación, es decir el Angulo la fricción, la gravedad, el tiempo de respuesta del
mínimo y máximo del servomotor que controla la controlador, ruidos y perturbaciones hace que se
posición de la bola, para comenzar a registrar los dificulte el control. Las fricciones con consecuencia
datos de distancia del sensor versus grados de de rugosidades en la superficie del movimiento de la
servomotor, la toma datos será cada 0.1 s. Ya bola y rozamientos en las articulaciones. Los ruidos
obtenidos los datos se guardan en el workspace de se pueden presentar en el sensor de distancia.
Matlab, para luego ser graficados y por medio del Además, es importante tener en cuenta el error de
comando “ident” Toolbox de Matlab se hace posición del servomotor puesto que su robustez no es
modelamiento de función de transferencia. tal alta.
Para implementar el diagrama en lazo cerrado, es
necesario establecer ciertas ecuaciones que permitan IV. CONTROL CLÁSICO
transformar las acciones de control para que el 1. Realizar una planta que nos permita
servomotor las pueda interpretar, ya que fue él solo implementar un controlador clásico.
interpreta ángulos positivos. Se prueba con varias
constantes observando y analizando el
comportamiento.
II. OBJETIVOS
A. Objetivo General: Realizar un sistema de
control clásico para una planta de barra y bola.
B. Objetivos específicos:
1. Realizar una planta que nos permita
implementar un controlador clásico.
Fig. 1. Diagrama general de componentes.
En el diagrama anterior se tienen las respectivas 2. Adquirir datos del sensor por medio de
conexiones las cuales son de la siguiente manera: Simulink
La placa arduino va conectada a la PC, esta Para implementar el control PID se utiliza
conexión permite el envío de datos para Matlab, al cual se le instala el paquete de Arduino
programar el control del servomotor y el para lograr la comunicación.
sensor Sharp.
El arduino va conectada directamente al Se realiza la caracterización de la planta con
servomotor para el control del giro. simulink para la adquisición de datos con el comando
El servomotor se alimenta a una fuente a 5V “ident” y proceder a realizar el modelado de la
y se controla con el arduino misma para encontrar la función de transferencia y
Por ultimo tenemos el sensor Sharp que nos calcular las constantes PID del controlador.
indica la posición de la bola. Se le añade un
capacitor para disminuir ruidos.
Con la función de transferencia hallada, se intentó 3. Controlar la planta por medio del servomotor
calcular los controladores, pero esta tarea fue a partir de un sistema en lazo cerrado en
infructuosa, puesto que ésta es muy inestable y de Simulink.
respuesta lenta, por lo que este método de
identificación no nos funcionó. Pero si fue muy útil Posteriormente se tuvo que determinar el
para entender el comportamiento de la planta. comportamiento para cuando la bola se encuentra al
lado derecho del set point (el centro de la barra).
A continuación se procedió a conocer los valores
analógicos que lee el sensor a lo largo de todas las
posiciones de la bola en la barra.
Tomando medidas para cada centímetro, se realiza 𝑒𝑟𝑟𝑜𝑟 = 200 − 450 = −250
una aproximación de la función que usa el sensor Luego, sabemos que cuando hay un error de cero, la
para medir distancias. bola esta en el centro.
Para cuando el error sea de -250, el ángulo dado por
el servomotor deberá ser de 0°, cuando el error sea
de 0 el ángulo deberá ser de 90°.
𝑦 = 𝑚𝑥 + 𝑏
90 − 0
𝑦= (𝑒𝑟𝑟𝑜𝑟) + 90
0 + 250
90
𝑦= (𝑒𝑟𝑟𝑜𝑟) + 90
250
Luego se probó con una constante proporcional de debería tener su propio controlador. Porque como se
0.6, que también dio resultados aceptables observó en la identificación, cuando la bola se aleja
mucho del centro, los cambios son muy abruptos.
Además la derivativa no nos sirve, porque amplifica
el ruido del sensor, deberíamos disminuir el ruido
para poder usarla, el capacitor lo desmulló, pero no
fue del todo suficiente.
V. RECURSOS
Fig. 16. Respuesta con P=0.6. El eje y representa la
medida del sensor, el x representa el tiempo. Materiales Precio
Madera 10. 000
Servomotor SG5010 25. 000
Se puede observar que el tiempo de asentamiento es Arduino MEGA 40. 000
de 3s, lo cual es una mejora, el problema es que el Sensor 20. 000
tiempo de subida aumenta un poco. El error en estado Otros 5. 000
estacionario es casi de cero. El sobrepico se podría Total 100. 000
mejorar.
VI. CRONOGRAMA
Semanas Actividad
1 Investigación de planta
2 Diseño de la planta
3 Corte de madera
4 Ensamble
5 Montaje eléctrico
6 Adquisición de datos del sensor por
medio de simulink
7 Pruebas de control
8 Pruebas de control
9 Pruebas de control
Fig. 17. Planta física 10 Discusión de resultados
11 Informe y exposición
Se probó aplicar acción derivativa, pero aumentan las
sobre oscilaciones, sin llegarse a estabilizar en un
tiempo esperado. Esto es debido a que la distancia de
la bola es muy sensibles a los ángulos de entrada. REFERENCIAS
Para mejorar esto, se podría delimitar en más [1] Página oficial de Matlab. www.matlab.com
secciones la barra, es decir hacer un rango de
operaciones para distancias cercanas al centro, y otro Imágenes???????????
para distancias lejanas. Cada una de estas secciones
Fig. x. Diagrama de bloques en simulink con filtro kalman para la adquisición de datos.
De esta gráfica se puede deducir que de 0 hasta 115 grados y la segunda a la lectura análoga del sensor de
grados la inclinación no era lo suficiente como para la distancia.
hacer cambiar de posición a la bola, luego esta se A continuación se procede a crear el modelo difuso
mueve hasta llegar a su otro punto de movimiento que controlará la planta en compañía de un PID. Se
máximo que termina estando con un ángulo de 180 tendrán 6 conjuntos
grados.
load Barrabin.dat
theta = Barrabin(:,1);
r = Barrabin(:, 2);
figure(1)
plot(theta,r)
title('Sistema barra bola') Fig. x. chequeo del entrenamiento de la planta.
xlabel('Tiempo (sec)')
%Data(t-99,:)=[theta(t) theta(t-1)
theta(t-2) theta(t-3)];
Data(t-199,:) = [theta(t) theta(t-1)];
end
trnData = Data(1:280,:);
chkData = Data(1:280,:);