informe pendulo invertido
Post on 16-Jan-2016
102 Views
Preview:
TRANSCRIPT
FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y FORMALES
PROGRAMA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CONTROL AUTOMATICO IVDOCENTE:
ING. LUCY ANGELA DELGADO BARRA
PENDULO INVERTIDO
TRABAJO PRESENTADO POR:
MARTIN VALENCIA ALEJO
TERESA BRUCE ARREDONDO
EDUARDO ROQUE ORTEGA
Arequipa – Perú
2013
2
3
RESUMEN
Presentamos el diseño e implementación del péndulo invertido
basado controlador PID. El sistema es capaz de mantener el
equilibrio.
se realizará el diseño de una estrategia de control usando la
herramienta de Matlab de tal forma que actuando sobre el carrete
de impresora consigamos en un primer momento la estabilidad
del péndulo partiendo de un estado de reposo y posteriormente
mantener la verticalidad del mismo.
ABSTRACT
We present the design and implementation of the inverted
pendulum based PID controller. The system is able to maintain
balance.
The design of a control strategy will be performed using the
Matlab tool so that acting on the spool printer get at first the
stability of the pendulum starting from a state of rest and then
maintain the same verticality.
PALABRAS CLAVE
Control péndulo invertido, Modelado, Sintonizacion, simulación,
controlador PID. Matlab
KEYWORDS
Controlling inverted pendulum, modeling, tuning, PID controller,
simulation y Matlab
4
Índice general
1 Introducción 4
1.1 Marco Teorico
1.2 Descripción del problema
1.3 Objetivos
1.4 Restricciones del problema
1.5 Diagrama de bloques
5
7
8
8
9
2. Diseño del
sistema
2.1. Diseño angular
2.2. Prueba conexión Opam con ADC pic
2.3. Pruebas de sintonización
10
11
13
3. Construcción
del péndulo
invertido 3.1 materiales a usar
5
1 Introducción
Un mecanismo muy utilizado hoy en dıa para realizar tanto
prácticas como proyectos de investigacion es el pendulo
invertido.
El sistema mas comun es el que esta compuesto por un carro que
se mueve libremente a lo largo de un eje y una barra que pende
de él.
El proyecto propone el uso no sólo de un control clásico sobre
el sistema, sino una combinación de diferentes estrategias como
el control PID de ganancia programada lazo cerrado.
Si se considerase un sistema real, para poder mover el carro,
este se conecta mediante una cinta de transmision que está
conectada al motor, este motor va a proporcionar un par
proporcional a la tensión de control aplicada, dependiendo de la
polaridad de esta tensión se consigue que le motor gire en uno u
otro sentido, haciendo que la cinta se mueva en ambas
direcciones que es lo que se pretende controlar con este
sistema.
6
1.1. MARCO TEORICO
El sistema de péndulo invertido, es un problema clásico en la
ingenieria de control, el cual consiste en una varilla con una
masa en un extremo y en el otro un eje que puede pivotar
bidimensionalmente, todo esto va montado sobre un carro que
puede moverse longitudinalmente.
El primer péndulo invertido fue diseñado en los años setenta y
casi cuarenta años después permanece en los laboratorios como
objeto de estudio.
El interés es porque el modelo matemático para el péndulo
invertido presenta ciertas analogías con modelos de procesos más
complejos, tales como los generadores.
Inicialmente, la demostración consistía en situar de forma
manual el péndulo en la posición vertical invertida, soltarlo
luego y que de forma autónoma, realimentando su posición, el
péndulo continuase en la posición invertida mediante la adecuada
actuación sobre el carro.
APLICACIONES DEL PÉNDULO INVERTIDO
A pesar de que el péndulo es utilizado principalmente, para
demostrar conceptos sobre control, además de probar nuevos
controladores, tiene diferentes aplicaciones tales como:
1. Las perturbaciones que existen en el vuelo de una
aeronave, pueden desestabilizar su vuelo, esto se puede
corregir con el péndulo invertido.
2. Los sistemas robóticos pueden comportarse como un péndulo
invertido, por ejemplo, el péndulo invertido simula la
dinámica de un brazo robótico cuando el centro de presión
cae sobre el centro de gravedad, en ese momento el sistema
se vuelve inestable. Este tipo de problemas pueden ser
modelados con el péndulo, y de esta forma aumentar la
probabilidad de un buen funcionamiento
7
3. El control de la postura y la caminata de los robots
bípedos, puede ser modelado y controlado por el péndulo
invertido, la estructura de un robot humanoide puede
asemejarse a la de un péndulo invertido como el de la
figura 1.1. La semejanza se establece en que la masa del
humanoide (m) se concentra en el punto extremo del péndulo
y que la masa de la barra rígida de longitud l es
despreciable respecto de la masa, siendo l la distancia
desde el suelo al centro de masas del humanoide, el
movimiento en la base del péndulo simula la caminata en el
bípedo.
Figura 1. 1 Semejanza entre el péndulo invertido y
un bípedo
4. El transportador personal Segway (fig.1.2), es básicamente
un sistema péndulo invertido montado en un vehiculo de
transporte, este es el primer dispositivo de transporte
con auto balanceado. El ordenador y los motores situados
en la base mantienen el Segway vertical todo el tiempo. El
usuario se debe inclinar hacia la dirección que quiera
tomar (delante, detrás, derecha o izquierda). El motor es
eléctrico, no contaminante y silencioso, alcanzando los 20
km/h.
8
Figura 1. 2 Segway
1.2. Descripción del problema
Consiste en ajustar los parámetros del sistema combinado
(péndulo invertido - servomotor), por medio de datos en
lugar de ecuaciones matemáticas. Por consiguiente,
muestran el desarrollo del modelo matemático del sistema
péndulo invertido, servomotor y combinado. Para
identificar las ecuaciones y parámetros que describen la
relación del sistema no lineal.
Inicio
Péndulo invertido
Ecuaciones matemáticas
Variables de estado
Método de identificación
Posición Velocidad Estabilidad
9
1.3. Objetivos
1.4. Restricciones Del Problema
10
1.5. Diagrama De Bloques
11
2. Diseño del sistema
2.1. Diseño angular
clc
clear all
close all
%----------------------------
% Valores Reales
%----------------------------
R=1.447e3;
P=(13.96:0.01:14.89)*1E3;
vcc=5.13; % fuente de alimentacion
Ra=4.93e3;
Rb=2.16E3;
%----------------------------
% DIVISOR DE TENSION
%----------------------------
Vin=vcc*R./(P+R);
%----------------------------
% APAM AMPLIFICADOR
%----------------------------
G=(1+Ra/Rb)
V1=Vin*G;
%----------------------------
% OPAM RESTADOR
%----------------------------
V2=vcc;
Vo=V2-V1;
%----------------------------
% Graficas
%----------------------------
plot(P/1E3,Vo)
grid on
title('Vo(R)')
12
xlabel('R(Kohm)')
ylabel('Vo')
%----------------------------
% Cambio a Angulo
%----------------------------
angle=0.1935.*P-2701;
figure
plot(angle,Vo)
grid on
title('Vo(Angle)')
xlabel('angle(°)')
ylabel('Vo')
0 20 40 60 80 100 120 140 160 180 2003.54
3.56
3.58
3.6
3.62
3.64
3.66Vo(Angle)
angle(°)
Vo
2.2. Prueba conexión Opam con ADC pic
Angulo de 90°, de bara, se observa mucho ruido
13
0 10 20 30 40 50 60 70 80 90 100680
690
700
710
720
730
740
750
Se agrego condensador de 100uF, angulo 90°
0 10 20 30 40 50 60 70 80 90 100709
710
711
712
713
714
715
716
717
718
719
Agrego resitencia de 100k paralelo al condensador de 100uF,
también un diodo 14148 de alta velocidad, para evitar la
descarga en el Opam, también se logro mejorar la estabilidad, de
las muestras; se hizo variar el angulo entre 0 y 180 grados.
14
0 10 20 30 40 50 60 70 80 90 100628
630
632
634
636
638
640
642
644
646
Respuesta de la ultima configuración para solo 90°
0 20 40 60 80 100 120 140 160 180 200628
629
630
631
632
633
634
635
636
2.3. Pruebas de sintonización
Resultados con los valores cálculos del modelamiento matematico:
Cada uno de estos valores se encuentra escalado y las constantes
de tiempo son en (ms).
kp=8.86;
ki=1/1000; % casi es cero
kd=250;
Tc=250; % Tiempo de Muestra para los valores
15
Limite superior de pwm = 50ms
0 5 10 15 20 25 30 35 40-300
-200
-100
0
100Proporcional E(k)
n(kt)
Pro
[ e
(kt)
]
0 5 10 15 20 25 30 35 40-60
-40
-20
0
20Integral E(k)
n(kt)
Int[
e(k
t) ]
0 5 10 15 20 25 30 35 40-300
-200
-100
0
100
200
300Derivativo Y(k)
n(kt)
D[
y(kt
) ]
0 5 10 15 20 25 30 35 4070
80
90
100
110
120Muestras Tomadas Y(kt)
n(kt)
y(kt
)
0 5 10 15 20 25 30 35 40-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3Señal - Error [ e(kt)=rkt-ykt ]
n(kt)
e(kt
)
0 5 10 15 20 25 30 35 40-600
-400
-200
0
200
400Señal - Control u(kt)
n(kt)
u(kt
)
0 5 10 15 20 25 30 35 400
20
40
60
80
100
120
En busca de una buena sintonización se realizo un cambio de pwm
= 80ms
16
Resultados obtenidos:
0 5 10 15 20 25 30 35 40-300
-200
-100
0
100
200
300
400Proporcional E(k)
n(kt)
Pro
[ e
(kt)
]
0 5 10 15 20 25 30 35 40-50
0
50
100Integral E(k)
n(kt)
Int[
e(k
t) ]
0 5 10 15 20 25 30 35 40-600
-400
-200
0
200
400Derivativo Y(k)
n(kt)
D[
y(kt
) ]
0 5 10 15 20 25 30 35 4050
60
70
80
90
100
110
120Muestras Tomadas Y(kt)
n(kt)
y(kt
)
0 5 10 15 20 25 30 35 40-0.4
-0.2
0
0.2
0.4
0.6Señal - Error [ e(kt)=rkt-ykt ]
n(kt)
e(kt
)
0 5 10 15 20 25 30 35 40-600
-400
-200
0
200
400
600
800Señal - Control u(kt)
n(kt)
u(kt
)
17
0 5 10 15 20 25 30 35 400
20
40
60
80
100
120Yk
n(kt)
Ang
ulo
NUEVO VALOR PARA KP
Reduje el valor de kp a la mitad
Kp=4.43
Obtuve buenos resultados en la parte de fuerza pero aun sigue
siendo brusca por la parte derivativa.
Analisis de graficas para detección de error
0 5 10 15 20 25 30 35 40-150
-100
-50
0
50
100
150Proporcional E(k)
n(kt)
Pro
[ e
(kt)
]
0 5 10 15 20 25 30 35 40-20
-10
0
10
20
30Integral E(k)
n(kt)
Int[
e(k
t) ]
0 5 10 15 20 25 30 35 40-200
-100
0
100
200Derivativo Y(k)
n(kt)
D[
y(kt
) ]
18
0 5 10 15 20 25 30 35 4050
60
70
80
90
100
110
120Muestras Tomadas Y(kt)
n(kt)
y(kt
)
0 5 10 15 20 25 30 35 40-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4Señal - Error [ e(kt)=rkt-ykt ]
n(kt)
e(kt
)
0 5 10 15 20 25 30 35 40-300
-200
-100
0
100
200
300
400Señal - Control u(kt)
n(kt)
u(kt
)
0 5 10 15 20 25 30 35 400
20
40
60
80
100
120Yk
n(kt)
Ang
ulo
La parte proporcional opero muy bien hasta el punto en que se
presento una caída ligera del péndulo que lo saco hasta 71° en
la muestra 29, por lo que la parte derivarita quiso dar
velocidad a la correcion del error generando que el sistema
oscilara.
Nota: de seguir asi tendré que escoger otro tipo de control,
aparte del PID, la mejor opción es el PI+D, puesto que este
deriva la señal de salida y entrega mejor estabilidad al
sistema, cuando el tiempo de los controladores es lento.
NUEVO VALOR PARA Kd
Reducire el valor de kd en ¼; manteiendo el valor de kp en 4.43.
19
0 5 10 15 20 25 30 35 40-150
-100
-50
0
50
100
150Proporcional E(k)
n(kt)
Pro
[ e
(kt)
]
0 5 10 15 20 25 30 35 40-30
-20
-10
0
10
20
30Integral E(k)
n(kt)
Int[
e(k
t) ]
0 5 10 15 20 25 30 35 40-60
-40
-20
0
20
40Derivativo Y(k)
n(kt)
D[
y(kt
) ]
0 5 10 15 20 25 30 35 4060
70
80
90
100
110
120Muestras Tomadas Y(kt)
n(kt)
y(kt
)
0 5 10 15 20 25 30 35 40-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3Señal - Error [ e(kt)=rkt-ykt ]
n(kt)
e(kt
)
0 5 10 15 20 25 30 35 40-200
-100
0
100
200Señal - Control u(kt)
n(kt)
u(kt
)
3. Construcción del péndulo invertido
3.1 modelado de un motor dc
Un actuador muy común en sistemas de control es el motor DC. El
motor proporciona un movimiento rotativo que emparejado con
engranajes, ruedas y correas es capaz de proporcionar movimiento
de traslación
20
function y=CapturaRS232()%--------------------------------------------------------------------% Inicializacion de Puertos Seriales%--------------------------------------------------------------------PS=serial('COM4'); % Definicion del Puerto a Usarset(PS,'Baudrate',9600); % se configura la velocidad a 9600 Baudiosset(PS,'DataBits',8); % define numero de bitsset(PS,'StopBits',2); % se configura bit de parada a unoset(PS,'Parity','none'); % Sin paridadset(PS,'FlowControl','none'); % Sin control de hardware, o software to % Send (RTS) and Clear to Send (CTS) pins to control data flow. % warning('off','MATLAB:serial:fscanf:unsuccessfullRead')%--------------------------------------------------------------------% Configuracion de Entrada y Salida de Bits%--------------------------------------------------------------------set(PS,'Terminator','CR/LF'); % “c” caracter con que finaliza el envío set(PS,'OutputBufferSize',1); % ”n” es el número de bytes a enviarset(PS,'InputBufferSize' ,1); % ”n” es el número de bytes a recibir %--------------------------------------------------------------------% Programa Principal%-------------------------------------------------------------------- fopen(PS); % Apertura del Puerto para su Lectura tx='S'; fprintf(PS,'%c',tx); f0=fscanf(PS,'%c'); % Borra solo para simulacion % f1=fscanf(PS,'%d'); % Capturo Centenas f2=fscanf(PS,'%d'); % Capturo Decenas f3=fscanf(PS,'%d'); % Capturo Unidades f4=fscanf(PS,'%d'); % Capturo Unidades AN0=f2*100+f3*10+f4; % Restauro valor. y=90+1.8179*(AN0-415); clc%--------------------------------------% Cerrando el puerto%--------------------------------------fclose(PS)delete(PS)clear PS
El transmisor está incluido dentro la placa que contiene el decodificador de
para la transmisión por RF
IMPLEMENTACION
21
Comunicación pc
22
Convierte los pulsos TTL, producidos por el microcontrolador
en pulsos de protocolos RS232
Circuito traductor con conexión RS232
Conclusion: El sistema de control aun es inestable, por lo que
es necesario cambiar los parámetros de kp, kd y ki; partiendo de
los ya calculados.
Usando la teorica del calculo de PID, se entiende que la parte
de velocidad y fuerza son kp y kd, por lo tanto debemos
enfocarnos en esos dos valores, puesto que ki es casi cero.
Si se reduce Kd, la velocidad agregada a la señal de control
disminuirá y por el momento lo que tengo es, brusquedad en el
movimiento para corregir el angulo del péndulo.
23
Es necesario reducir primero kp, luego variare la constante kd
si no obtengo buenos resultados de pwm, estos deberían estar
dentro de los limites de 10ms y 80ms, pero por el momento, el
calculo me arroja valores superiores a los 80ms.
Bibliografía
http://alvarounal.blogspot.com/2012/01/sistema-pendulo-
invertido-por-redes.html
http://tesis.ipn.mx/dspace/bitstream/
123456789/7165/1/26.pdf
top related