INFORME PENDULO INVERTIDO
Short Description
Download INFORME PENDULO INVERTIDO...
Description
FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y FORMALES
PROGRAMA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
DOCENTE:
CONTROL AUTOMATICO IV ING. LUCY ANGELA DELGADO BARRA
PENDULO INVERTIDO
TRABAJO PRESENTADO POR: MARTIN VALENCIA ALEJO TERESA BRUCE ARREDONDO EDUARDO ROQUE ORTEGA
Arequipa – Perú 2013
2 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
3 Índice general 1 Introducción 1.1 1.2 1.3 1.4 1.5
Marco Teorico Descripción del problema Objetivos Restricciones del problema Diagrama de bloques
4 5 7 8 8 9
2.
Diseño
del
sistema 2.1. Diseño angular
10
2.2. Prueba conexión Opam con ADC pic
11
2.3. Pruebas de sintonización
13
5. Construcción del
péndulo
invertido
3.1 materiales a usar
4
1 Introducción Un
mecanismo
prácticas
muy
como
utilizado proyectos
hoy de
en
dıa
para
investigacion
realizar es
el
tanto
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
conectada
al
mediante
motor,
una
este
cinta
motor
va
de a
transmision
que
proporcionar
un
está 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,
direcciones sistema.
que
haciendo es
lo
que que
la se
cinta pretende
se
mueva
controlar
en con
ambas este
5
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
bidimensionalmente, todo
el
otro
esto va
un
eje
que
montado sobre
puede
pivotar
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 Inicialmente,
la
generadores.
demostración
manual el péndulo en la
consistía
en
situar
de
forma
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
controladores, tiene diferentes 1. Las
perturbaciones
aeronave,
que
de probar
nuevos
aplicaciones tales como: existen
en
el
vuelo
de
una
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 3. El control de la postura y la caminata
de
los
robots
bípedos, puede ser modelado y controlado por el péndulo
6 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.
Figura 1. 2 Segway
7 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
1.3. Objetivos
Velocidad
Estabilida
8
1.4. Restricciones Del Problema
1.5. Diagrama De Bloques
9
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;
10 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)') xlabel('R(Kohm)') ylabel('Vo') %---------------------------%
Cambio a Angulo
%---------------------------angle=0.1935.*P-2701; figure plot(angle,Vo) grid on title('Vo(Angle)') xlabel('angle(°)')
11 ylabel('Vo')
Vo(Angle)
3.66
3.64
Vo
3.62
3.6
3.58
3.56
3.54 0
20
40
60
80
100 120 angle(°)
140
160
180
200
2.2. Prueba conexión Opam con ADC pic Angulo de 90°, de bara, se observa mucho ruido
750
740
730
720
710
700
690
680
0
10
20
30
40
50
60
Se agrego condensador de 100uF, angulo 90°
70
80
90
100
12
719
718
717
716
715
714
713
712
711
710
709
0
10
20
30
40
Agrego resitencia
de 100k
también
14148
un
diodo
50
60
paralelo al
de
alta
70
80
90
100
condensador de
velocidad,
para
100uF,
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.
646
644
642
640
638
636
634
632
630
628
0
10
20
30
40
50
60
70
80
Respuesta de la ultima configuración para solo 90°
90
100
13
636
635
634
633
632
631
630
629
628
0
20
40
60
80
100
120
140
160
180
200
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
Limite superior de
pwm = 50ms Proporcional E(k)
100
Pro [ e(kt) ]
0
-100
-200
-300
0
5
10
15
20 n(kt)
25
Integral E(k)
20
35
40
Derivativo Y(k)
300 200
0
100 D[ y(kt) ]
Int[ e(kt) ]
30
-20
0 -100
-40
-200 -60
0
5
10
15
20 n(kt)
25
30
35
40
-300
0
5
10
15
20 n(kt)
25
30
35
40
14
Muestras Tomadas Y(kt)
120
Señal - Error [ e(kt)=rkt-ykt ]
0.3 0.2
110
e(kt)
y(kt)
0.1 100 90
0 -0.1 -0.2
80 70
-0.3 0
5
10
15
20 n(kt)
25
30
35
-0.4
40
0
5
10
15
20 n(kt)
25
30
35
40
Señal - Control u(kt)
400 200
u(kt)
0 -200 -400 -600
0
5
10
15
20 n(kt)
25
30
35
40
0
5
10
15
20
25
30
35
40
120
100
80
60
40
20
0
En busca de una buena sintonización se realizo un cambio de pwm = 80ms
Resultados obtenidos:
15
Proporcional E(k)
400 300
Pro [ e(kt) ]
200 100 0 -100 -200 -300
0
5
10
15
20 n(kt)
25
Integral E(k)
100
30
35
40
Derivativo Y(k)
400
D[ y(kt) ]
Int[ e(kt) ]
200 50
0
0 -200 -400
-50
0
5
10
15
20 n(kt)
25
30
35
-600
40
Muestras Tomadas Y(kt)
120
0
5
10
20 n(kt)
25
30
35
40
30
35
40
Señal - Error [ e(kt)=rkt-ykt ]
0.6
110
15
0.4 0.2
90
e(kt)
y(kt)
100
80
0
70 -0.2
60 50
0
5
10
15
20 n(kt)
25
30
35
-0.4
40
0
5
10
15
20 n(kt)
25
Señal - Control u(kt)
800 600
u(kt)
400 200 0 -200 -400 -600
0
5
10
15
20 n(kt)
25
30
35
40
25
30
35
40
Yk
120
100
Angulo
80
60
40
20
0
0
5
10
15
NUEVO VALOR PARA KP Reduje el valor de kp a la mitad
20 n(kt)
16 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 Proporcional E(k)
150 100 Pro [ e(kt) ]
50 0 -50 -100 -150
0
5
10
15
20 n(kt)
25
Integral E(k)
30
40
100
10
D[ y(kt) ]
Int[ e(kt) ]
35
Derivativo Y(k)
200
20
0
0
-100
-10 -20
30
0
5
10
15
20 n(kt)
25
30
35
40
-200
0
5
10
15
20 n(kt)
25
30
35
40
17
Muestras Tomadas Y(kt)
110
0.3
100
0.2
90
0.1
80
0
70
-0.1
60
-0.2
50
0
5
10
15
20 n(kt)
25
Señal - Error [ e(kt)=rkt-ykt ]
0.4
e(kt)
y(kt)
120
30
35
-0.3
40
0
5
10
15
20 n(kt)
25
30
35
40
Señal - Control u(kt)
400 300
u(kt)
200 100 0 -100 -200 -300
0
5
10
15
20 n(kt)
25
30
35
40
25
30
35
40
Yk
120
100
Angulo
80
60
40
20
0
0
5
10
15
20 n(kt)
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
sistema, cuando el tiempo de los controladores es lento.
al
18 NUEVO VALOR PARA Kd Reducire el valor de kd en ¼; manteiendo el valor de kp en 4.43.
Proporcional E(k)
150 100 Pro [ e(kt) ]
50 0 -50 -100 -150
0
5
10
15
20 n(kt)
25
Integral E(k)
30
D[ y(kt) ]
Int[ e(kt) ]
0 -10
0 -20 -40
-20 0
5
10
15
20 n(kt)
25
30
35
-60
40
Muestras Tomadas Y(kt)
120
0
5
10
15
20 n(kt)
25
30
35
40
30
35
40
Señal - Error [ e(kt)=rkt-ykt ]
0.3 0.2
110
0.1 e(kt)
100 y(kt)
40
20
10
90 80
0 -0.1 -0.2
70 60
35
Derivativo Y(k)
40
20
-30
30
-0.3 0
5
10
15
20 n(kt)
25
30
35
-0.4
40
0
5
10
15
20 n(kt)
25
Señal - Control u(kt)
200
u(kt)
100
0
-100
-200
0
5
10
15
20 n(kt)
25
30
35
40
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
19
function y=CapturaRS232() %-------------------------------------------------------------------% Inicializacion de Puertos Seriales %-------------------------------------------------------------------PS=serial('COM4'); % Definicion del Puerto a Usar set(PS,'Baudrate',9600); % se configura la velocidad a 9600 Baudios set(PS,'DataBits',8); % define numero de bits set(PS,'StopBits',2); % se configura bit de parada a uno set(PS,'Parity','none'); % Sin paridad set(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 enviar set(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
20
IMPLEMENTACION
21
Comunicación pc
Convierte los pulsos TTL, producidos por el microcontrolador en pulsos de protocolos RS232
Circuito traductor con conexión RS232
22
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. 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-penduloinvertido-por-redes.html http://tesis.ipn.mx/dspace/bitstream/123456789/7165/1/26.p df
View more...
Comments