Anda di halaman 1dari 20

FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y FORMALES

PROGRAMA PROFESIONAL DE INGENIERA ELECTRNICA

PENDULO INVERTIDO

TRABAJO PRESENTADO POR:


MARTIN VALENCIA ALEJO
EDUARDO ROQUE ORTEGA

Arequipa Per
2014

RESUMEN
Presentamos el diseo e implementacin del pndulo invertido
basado controlador PID. El sistema es capaz de mantener el
equilibrio.
se realizar el diseo 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
pndulo 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 pndulo invertido, Modelado, Sintonizacion, simulacin,
controlador PID. Matlab
KEYWORDS
Controlling inverted pendulum, modeling, tuning, PID controller,
simulation y Matlab

1 Introduccin
Un mecanismo muy utilizado hoy en da para realizar tanto
prcticas como proyectos de investigacin es el pndulo invertido.
El sistema ms comn es el que est 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 slo de un control clsico sobre el
sistema, sino una combinacin 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 transmisin que est conectada
al motor, este motor va a proporcionar un par proporcional a la
tensin de control aplicada, dependiendo de la polaridad de esta
tensin 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.

1.1. Marco Teorico


El sistema de pndulo invertido, es un problema clsico en la
ingeniera 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 pndulo invertido fue diseado en los aos setenta y
casi cuarenta aos
despus permanece en los laboratorios como
objeto de estudio.
El inters es porque el modelo matemtico para el pndulo
invertido presenta ciertas analogas con modelos de procesos ms
complejos, tales como los generadores.
Inicialmente, la demostracin consista en situar de forma manual
el pndulo en la posicin vertical invertida, soltarlo luego y
que de forma autnoma, realimentando
su posicin, el pndulo
continuase en la posicin invertida mediante la adecuada actuacin
sobre el carro.
APLICACIONES DEL PNDULO INVERTIDO
A pesar de que el pndulo es utilizado principalmente, para
demostrar conceptos
sobre control, adems 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 pndulo invertido.
2. Los sistemas robticos pueden comportarse como un pndulo
invertido, por ejemplo, el pndulo invertido simula la
dinmica de un brazo robtico cuando el centro de presin
cae sobre el centro de gravedad, en ese momento el sistema
se vuelve inestable. Este tipo de problemas pueden ser
modelados con el pndulo, y de esta forma aumentar la
probabilidad de un buen funcionamiento
3. El control de la postura y la caminata de los robots bpedos,
puede ser modelado y controlado por el pndulo invertido, la
estructura de un robot humanoide puede asemejarse a la de un
pndulo 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 pndulo y que la masa de la barra
rgida 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 pndulo simula la
caminata en el bpedo.

1.2.

Descripcin del problema


Consiste en ajustar los parmetros del sistema combinado
(pndulo invertido - servomotor), por medio de datos en lugar
de ecuaciones matemticas. Por consiguiente, muestran el
desarrollo del modelo matemtico del sistema pndulo
invertido, servomotor y combinado. Para identificar las
ecuaciones y parmetros que describen la relacin del
sistema no lineal.

1.3. Description del Sistema


Esquema Basico de Control

Controlador: Tiva C 80MHz, 32bits


Actuador: Sistema de movimiento de brazo
Sensores: Posicin del pndulo
Controlador

Placa adquisidora de datos


Tiva C123G de Texas Instruments
10 entradas analgicas de 0-3V, conversor A/D de 12 bits
10 salidas analgicas de 0-3V, conversor D/A de 8 bits
40 entradas y salidas multiplexadas

Actuador

Motor
o Caractersticas Elctricas:
sin escobillas
tensin nominal 24 VCC
corriente nominal 2
o

Caractersticas Mecnicas:
El motor cuenta con caja de reduccin

Puente H
o Amplificador de Potencia
o Inversor de Marcha
Seal PWM
o Por medio de un canal del microcontrolador se enviara
una seal modulada en ancho de pulso que controlara la
velocidad del motor

Sensores

La posicin del pndulo es medida por un potencimetro


lineal.

1.4

Modelamiento Matemtico

Variables del Sistema


m: masa del pndulo

g: gravedad
l: longitud del pndulo
r: radio de giro del brazo

I: inercia del brazo

Ecuacin de Estado:

ml 2

mrl cos

mrl cos
0
1

2 mrl sin
I mr 2

mrl sin

0

mgl sin bs

2
K
0

R v KR

Se establece como:

x1 , x2 , x3 , x4

y uv

Para definir la matriz de variables de estado:

x3

x4

x1

2
2
x ( I mr )( 1 mrlx x sin x b x ) r cos x ( 1 mrlx sin x K u K x )
3 4
1
s 3
1 2
3
1
4
2
R
R
2

2
2
2
2
2
2
2

x3 ml ( I mr mr cos x1 )
l ( I mr mr cos x1 )


x
2
4 1 mrlx sin x K u K x r cos x ( 1 x x sin x mgl sin x b x )
3
1
4
1 2 3 4
1
1
s 3
R
R
2

2
2
2
2
2
2
l ( I mr mr cos x1 )
( I mr mr cos x1 )

Definicin de la funcin de transferencia, de la entrada respecto


a la salida.

s rl

(s )(s 2 g )
(s)
1
l
U (s)
Y ( s)

C
sI

A
B
U (s)

( s)

s
(
s

Para la aplicacin Real solo se deben contar con los siguientes


parmetros:

l =0.41 [m]

r =0.13 [m]

M = 0.5 [kg]

m = 0.05 [kg]

g =

9.8 [m/seg2]

Parmetros desconocidos

K: constante de fuerza electromotriz

R: resistencia elctrica

2.

Diseo del PID

Resultados con los valores clculos del modelamiento matemtico:


Cada uno de estos valores se encuentra escalado y las constantes
de tiempo son en (ms).
kp=8.86;
ki=1/1000;
kd=250;
Tc=250;

% casi es cero
% Tiempo de Muestra para los valores

Limite superior de

pwm = 50ms
Proporcional E(k)

100

Pro [ e(kt) ]

-100

-200

-300

10

15

20
n(kt)

25

30

Integral E(k)

35

40

Derivativo Y(k)

20

300
200

0
D[ y(kt) ]

Int[ e(kt) ]

100
-20

0
-100

-40
-200
-60

10

15

20
n(kt)

25

30

35

-300

40

10

Muestras Tomadas Y(kt)

15

20
n(kt)

25

30

35

40

30

35

40

Seal - Error [ e(kt)=rkt-ykt ]

120

0.3
0.2

110
0.1
y(kt)

e(kt)

100

90

0
-0.1
-0.2

80
-0.3
70

10

15

20
n(kt)

25

30

35

-0.4

40

10

15

20
n(kt)

25

Seal - Control u(kt)


400
200

u(kt)

-200
-400

-600

10

15

20
n(kt)

25

30

35

40

120

100

80

60

40

20

10

15

20

25

30

35

40

En busca de una buena sintonizacin se realizo un cambio de pwm


= 80ms

Resultados obtenidos:

Proporcional E(k)
400
300

Pro [ e(kt) ]

200
100
0
-100
-200
-300

10

15

20
n(kt)

25

30

Integral E(k)

35

40

Derivativo Y(k)

100

400
200

D[ y(kt) ]

Int[ e(kt) ]

50
0

-200

0
-400

-50

10

15

20
n(kt)

25

30

35

40

-600

10

15

20
n(kt)

25

30

35

40

Muestras Tomadas Y(kt)

Seal - Error [ e(kt)=rkt-ykt ]

120

0.6

110
0.4
0.2

90

e(kt)

y(kt)

100

80

70
-0.2
60
50

10

15

20
n(kt)

25

30

35

-0.4

40

10

15

20
n(kt)

25

30

35

40

Seal - Control u(kt)


800
600

u(kt)

400
200
0
-200
-400
-600

10

15

20
n(kt)

25

30

35

40

25

30

35

40

Yk
120

100

Angulo

80

60

40

20

10

15

20
n(kt)

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 deteccin de error

Proporcional E(k)
150

Pro [ e(kt) ]

100
50
0
-50
-100
-150

10

15

20
n(kt)

25

30

Integral E(k)
200

100

10

D[ y(kt) ]

Int[ e(kt) ]

20

-100

-10

10

15

20
n(kt)

25

30

35

-200

40

10

0.3

100

0.2

90

0.1

80

-0.1

60

-0.2
5

10

15

20
n(kt)

25

20
n(kt)

25

30

35

40

30

35

40

70

15

Seal - Error [ e(kt)=rkt-ykt ]


0.4

110

e(kt)

y(kt)

Muestras Tomadas Y(kt)


120

50

40

Derivativo Y(k)

30

-20

35

30

35

-0.3

40

10

15

20
n(kt)

25

Seal - Control u(kt)


400
300

u(kt)

200
100
0
-100
-200
-300

10

15

20
n(kt)

25

30

35

40

25

30

35

40

Yk
120

100

Angulo

80

60

40

20

10

15

20
n(kt)

La parte proporcional opero muy bien hasta el punto en que se


present una cada ligera del pndulo que lo saco hasta 71 en la
muestra 29, por lo que la parte derivadita quiso dar velocidad a
la correccin del error generando que el sistema oscilara.
Nota: de seguir as tendr que escoger otro tipo de control,
aparte del PID, la mejor opcin es el PI+D, puesto que este deriva

la seal 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.

Proporcional E(k)
150

Pro [ e(kt) ]

100
50
0
-50
-100
-150

10

15

20
n(kt)

25

30

Integral E(k)

35

40

Derivativo Y(k)

30

40

20

20

D[ y(kt) ]

Int[ e(kt) ]

10
0

-20

-10
-40

-20
-30

10

15

20
n(kt)

25

30

35

-60

40

10

Muestras Tomadas Y(kt)


0.3

110

0.2

25

30

35

40

30

35

40

0.1
e(kt)

100
y(kt)

20
n(kt)

Seal - Error [ e(kt)=rkt-ykt ]

120

90
80

0
-0.1
-0.2

70
60

15

-0.3
0

10

15

20
n(kt)

25

30

35

-0.4

40

10

15

20
n(kt)

25

Seal - Control u(kt)


200

u(kt)

100

-100

-200

10

15

20
n(kt)

25

30

35

40

3. Construccin del pndulo invertido

Microcontrolador Texas Instruments, Placa de


adquisidor de datos

Potencimetro Lineal Industrial

Puente Inversor H, 100V, a 23 Amp

Motor DC con caja Reductora, 24Vdc - 2 A

Vista Superior del Pndulo Invertido

Vista Lateral del Pndulo Invertido

Vista Completa del Pndulo Invertido

ANEXO
Programacin del Microcontrolador:
#include "Energia.h"
#include <LCD.h>
void
void
void
void
void

setup();
loop();
Motor_Parada();
Motor_Izquierda(int dutty);
Motor_Derecha(int dutty);

#define PIN1 PB_5


#define PIN2 PB_0
/*Constantes Calculadas
float kp = 4.42;
float ki = 1/100;
float kd = 62.5;
float Tc = 250;*/
float
float
float
float

kp
ki
kd
Tc

=
=
=
=

4.42;
1/200;
0;
250;

int ek = 0, ek1 = 0, fXg = 0;


int rkt = 90;
int ucontrol;
void setup() {
LCD.init(PA_7, PA_6, PA_5, PA_4, PA_3, PA_2);
pinMode(PIN1, OUTPUT);
// sets the pin as output
pinMode(PIN2, OUTPUT);
// sets the pin as output
}
void loop()
{
float alpha = 0.15;
int fxg = 0;
int teta = 0;
char Mensaje1[20];*/
int rti0 = 0;
int limitband=30;
while (1) {
int Xg = analogRead(A7);

fxg = (int) (Xg * alpha + fxg * (1 - alpha));


teta = (int) (0.625 * (fxg - 760) + 90);

if(90-limitband<= teta && teta <=90+limitband)


{
ek = rkt - teta;
if (-3<= ek && ek <=1)
ek = 0;
float
float
float
float

uik = kp * ki * (ek + ek1) * Tc / 2;


pk = kp * ek;
dky = kp * kd * (ek - ek1) / Tc;
var_ukt = pk + uik + dky;

ucontrol = (int) var_ukt;


if (0<= ucontrol && ucontrol <=5)
Motor_Parada();
else if (5<ucontrol && ucontrol <=50)
{
if (ucontrol > 50)
ucontrol = 50;
Motor_Derecha(ucontrol);
}
else if (-50<= ucontrol && ucontrol <0)
{
ucontrol = -ucontrol;
if (ucontrol > 50)
ucontrol = 50;
Motor_Izquierda(ucontrol+40);
}
ek1 = ek;
}
else
{
Motor_Parada();
}
rti0++;
delay(2);
}
}

void Motor_Parada() {
analogWrite(PIN1, 0);
analogWrite(PIN2, 0);
}

void Motor_Izquierda(int dutty) {


dutty = (int) dutty * 255 / 100;
analogWrite(PIN2, 0);
analogWrite(PIN1, dutty);
}
void Motor_Derecha(int dutty) {
dutty = (int) dutty * 255 / 100;
analogWrite(PIN2, dutty);
analogWrite(PIN1, 0);
}
6. Conclusin:

El sistema de control sigue siendo inestable, por lo que es


necesario cambiar los parmetros kp, ki y kd, a partir del ya
calculado.

Usando el clculo terico de PID, se entiende que la


velocidad y la fuerza de kp y kd son, por lo tanto, debemos
centrarnos en estos dos valores, ya ki es casi cero.

Si Kd se reduce, sumado a la velocidad de la seal de control


se reducir y hasta ahora lo que tengo se quebr en marcha para
corregir el ngulo del pndulo.

Kp debe reducirse primero, entonces voy a variar la kd


constante si no obtengo buenos resultados pwm, deben estar dentro
de los lmites de 10 ms y 80 ms, pero por ahora, calcular los
valores de rendimientos ms altos que los de 80 ms.
BIBLIOGRAFA

Aplicacin Informe SPRA083:

"Aplicacin de los controladores PID y Deadbeat con la


familia TMS320"

Katsuhiko Ogata, "Sistemas de Control de Tiempo


Discreto".

Enrique Palacios Mauricio Otros Y, Microcontrolador


PIC16F84A "Desarrollo de proyectos".

Eduardo Esquivel Zenteno, "Introducci n una los


Microcontroladores PIC ".

Ogata,
Katsuhiko.
Ingenier

a
de
control Moderna. Controles PID e introducci n robusto de
control al. Tercera edici n. P gina 669. Editorial
Prentice Hall. 1998.

Anda mungkin juga menyukai