You are on page 1of 22

FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y FORMALES

PROGRAMA PROFESIONAL DE INGENIERA


ELECTRNICA

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 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

3
ndice general
1 Introduccin
1.1
1.2
1.3
1.4
1.5

Marco Teorico
Descripcin del problema
Objetivos
Restricciones del problema
Diagrama de bloques

4
5
7
8
8
9

2.

Diseo

del

sistema
2.1. Diseo angular

10

2.2. Prueba conexin Opam con ADC pic

11

2.3. Pruebas de sintonizacin

13

5. Construccin
del

pndulo

invertido

3.1 materiales a usar

1 Introduccin
Un

mecanismo

prcticas

muy

como

utilizado
proyectos

hoy
de

en

da

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 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

conectada

al

mediante

motor,

una

este

cinta

motor

va

de
a

transmision

que

proporcionar

un

est
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,

direcciones
sistema.

que

haciendo
es

lo

que
que

la
se

cinta
pretende

se

mueva

controlar

en
con

ambas
este

1.1. MARCO TEORICO


El sistema de pndulo invertido, es un problema clsico en la
ingenieria de control, el cual consiste en una varilla con una
masa

en

un

extremo

en

bidimensionalmente, todo

el

otro

esto va

un

eje

que

montado sobre

puede

pivotar

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
Inicialmente,

la

generadores.

demostracin

manual el pndulo en la

consista

en

situar

de

forma

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

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 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

6
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

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.

Figura 1. 1 Semejanza entre el pndulo invertido y


un bpedo
4. El transportador personal Segway (fig.1.2), es bsicamente
un sistema pndulo 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 direccin que quiera
tomar (delante, detrs, derecha o izquierda). El motor es
elctrico, no contaminante y silencioso, alcanzando los 20
km/h.

Figura 1. 2 Segway

7
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

combinado.

Para

identificar las ecuaciones y parmetros que describen la


relacin del sistema no lineal.

Inicio

Pndulo
invertido

Ecuaciones matemticas

Variables
de estado

Mtodo de identificacin

Posicin

1.3. Objetivos

Velocidad

Estabilida

1.4. Restricciones Del Problema

1.5. Diagrama De Bloques

2.

Diseo del sistema

2.1. Diseo 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 conexin Opam con ADC pic


Angulo de 90, de bara, se observa mucho ruido

750

740

730

720

710

700

690

680

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

10

20

30

40

Agrego resitencia

de 100k

tambin

14148

un

diodo

50

60

paralelo al

de

alta

70

80

90

100

condensador de

velocidad,

para

100uF,

evitar

la

descarga en el Opam, tambin 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

10

20

30

40

50

60

70

80

Respuesta de la ultima configuracin para solo 90

90

100

13

636

635

634

633

632

631

630

629

628

20

40

60

80

100

120

140

160

180

200

2.3. Pruebas de sintonizacin


Resultados con los valores clculos 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) ]

-100

-200

-300

10

15

20
n(kt)

25

Integral E(k)

20

35

40

Derivativo Y(k)

300
200

100
D[ y(kt) ]

Int[ e(kt) ]

30

-20

0
-100

-40

-200
-60

10

15

20
n(kt)

25

30

35

40

-300

10

15

20
n(kt)

25

30

35

40

14

Muestras Tomadas Y(kt)

120

Seal - 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

10

15

20
n(kt)

25

30

35

-0.4

40

10

15

20
n(kt)

25

30

35

40

Seal - Control u(kt)

400
200

u(kt)

0
-200
-400
-600

10

15

20
n(kt)

25

30

35

40

10

15

20

25

30

35

40

120

100

80

60

40

20

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


= 80ms

Resultados obtenidos:

15

Proporcional E(k)

400
300

Pro [ e(kt) ]

200
100
0
-100
-200
-300

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
-200
-400

-50

10

15

20
n(kt)

25

30

35

-600

40

Muestras Tomadas Y(kt)

120

10

20
n(kt)

25

30

35

40

30

35

40

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

0.6

110

15

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

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

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 deteccin de error
Proporcional E(k)

150
100
Pro [ e(kt) ]

50
0
-50
-100
-150

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

-100

-10
-20

30

10

15

20
n(kt)

25

30

35

40

-200

10

15

20
n(kt)

25

30

35

40

17

Muestras Tomadas Y(kt)

110

0.3

100

0.2

90

0.1

80

70

-0.1

60

-0.2

50

10

15

20
n(kt)

25

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

0.4

e(kt)

y(kt)

120

30

35

-0.3

40

10

15

20
n(kt)

25

30

35

40

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


presento una cada ligera del pndulo 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 opcin es el PI+D, puesto que este
deriva

la

seal

de

salida

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

10

15

20
n(kt)

25

Integral E(k)

30

D[ y(kt) ]

Int[ e(kt) ]

0
-10

0
-20
-40

-20
0

10

15

20
n(kt)

25

30

35

-60

40

Muestras Tomadas Y(kt)

120

10

15

20
n(kt)

25

30

35

40

30

35

40

Seal - 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

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


3.1 modelado de un motor dc
Un actuador muy comn 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 traslacin

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
envo
set(PS,'OutputBufferSize',1);
% n es el nmero de bytes a
enviar
set(PS,'InputBufferSize' ,1);
% n es el nmero 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 transmisin por RF

20

IMPLEMENTACION

21

Comunicacin pc

Convierte los pulsos TTL, producidos por el microcontrolador


en pulsos de protocolos RS232

Circuito traductor con conexin RS232

22

Conclusion: El sistema de control aun es inestable, por lo que


es necesario cambiar los parmetros de kp, kd y ki; partiendo de
los ya calculados.
Usando la teorica del calculo de PID, se entiende que la parte
de

velocidad

fuerza

son

kp

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 seal de control
disminuir y por el momento lo que tengo es, brusquedad en el
movimiento para corregir el angulo del pndulo.
Es necesario reducir primero kp, luego variare la constante kd
si no obtengo buenos resultados de pwm, estos deberan estar
dentro de los limites de 10ms y 80ms, pero por el momento, el
calculo me arroja valores superiores a los 80ms.
Bibliografa
http://alvarounal.blogspot.com/2012/01/sistema-penduloinvertido-por-redes.html
http://tesis.ipn.mx/dspace/bitstream/123456789/7165/1/26.p
df

You might also like