control pid

19
CONTROL PID Informática industrial ITESM – CSF

Upload: pablo-robles-gil

Post on 02-Jul-2015

273 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Control Pid

CONTROL PID

Informática industrial

ITESM – CSF

Pablo Robles Gil

01016668

Page 2: Control Pid

CONTENIDO

I. Introducción 3-6I.1 Principios TeóricosI.2 Acondicionamiento de la señal (linealización)

II. Fabricación del dispositivo 6-8

III. Programación 8-11III.1 Algoritmo

IV. Resultados 12-14

V. Análisis de resultados 14

VI. Conclusión 14-15

VII. Fuentes 15

2

Page 3: Control Pid

I. Introducción

El objetivo de este proyecto es construir una máquina que, mediante componentes mecánicos y electrónicos, sea capaz de balancear una esfera sobre un riel y mantenerla estática sobre un punto predeterminado por el usuario.

Para lograr esto se construyó un dispositivo que utiliza un sistema de control de lazo cerrado tipo PID programado en un microcontrolador BS2.

En esta sección se describen los principios teóricos sobre los cuales se fundamenta el funcionamiento del dispositivo.

I.1 Principios Teóricos

Control de lazo cerrado.

Un sistema de control es un dispositivo o una serie de dispositivos utilizados para manipular, dirigir o regular el comportamiento o funcionamiento de otro dispositivo o conjunto de ellos.

El tipo mas simple de sistema de control es el de lazo abierto, en el cual el comportamiento del dispositivo manipulado no tiene efecto sobre el sistema que lo controla. Un ejemplo de esto es el interruptor de una lámpara. Este puede estar prendido o apagado y el hecho de que la lámpara brille o deje de hacerlo no tiene ninguna influencia sobre el interruptor.

En un proceso automatizado, el control de lazo abierto no es eficiente a menos que los factores que pueden alterar el proceso estén controlados y todos los parámetros del proceso estén perfectamente calibrados, ya que de lo contrario el sistema sale de control sin tener posibilidad de actuar en consecuencia.

Por otro lado un sistema de control de lazo cerrado tiene la capacidad de retroalimentarse con el fin de tomar acciones que lo mantengan en un estado predeterminado.

Esto se logra tomando muestras del estado del sistema. Estas muestras son comparadas con el estado predeterminado y en caso de diferir, el sistema actúa y corrige el sistema de manera que se alcance el estado deseado.

Control PID (Proporcional – integral - diferencial)

El tipo de control de lazo cerrado mas simple es el control on-off. Este consiste en un sistema que simplemente “actua” o “no actua” dependiendo de la posición del estado del sistema con respecto a un valor predeterminado. En el sistema on-off no importa la magnitud de la diferencia entre el estado y el valor predeterminado, sino solo la posición.

3

Page 4: Control Pid

Un ejemplo de este tipo de sistema es un calentador de agua.

El usuario posiciona la perilla a cierta temperatura (valor predeterminado), el quemador del calentador se enciende y calienta el agua. Cuando esta alcanza la temperatura deseada el quemador se apaga y cuando esta baja de la temperatura deseada el quemador vuelve a encenderse.

Fig. 1. Comportamiento de control on - off

El control on-off es muy útil en casos donde cierto grado de inexactitud es aceptable ya que como se aprecia en la Fig. 1 existe un sobretiro que provoca que el sistema entre en un estado oscilatorio alrededor del punto predeterminado.

Control proporcional

El control proporcional es parecido al control on-off, con la peculiaridad de que este toma en cuenta la magnitud de la diferencia entre el estado real del sistema y el valor predeterminado (estado ideal). El sistema actúa en consecuencia de la magnitud de dicha diferencia.

La magnitud con la que actúa el sistema es proporcional a la magnitud de la diferencia entre el estado real y el estado ideal.

A esto se le llama aporte proporcional y de una manera mas abstracta se representa de la siguiente manera:

P = Kp*(estado ideal – estado real)

4

Page 5: Control Pid

Donde Kp es una constante que dependerá del tipo de sistema y de otros parámetros. Este valor tiene que ser calibrado para cada sistema y varia dependiendo de los factores a que pueden afectar a dicho sistema.

Este tipo de control, utilizando un Kp adecuado, es considerablemente mas eficiente que el on-off sin embargo no es suficiente para sistemas que requieren de mas precisión y velocidad de respuesta.

Control diferencial

Idealmente se desea que un sistema de control alcance el valor predeterminado lo mas rápido posible con un sobretiro y oscilación mínimos. El control proporcional no puede lograr esto por si solo ya que un tiempo de respuesta veloz implica un Kp alto y por otro lado un sobretiro y oscilación mínimos requieren un Kp bajo.

Generalmente es posible conocer la taza de cambio en el estado del sistema. Esta taza de cambio se multiplica por una constante Kd para ser incluida en el aporte total del sistema.

D = Kd*(estado actual – estado anterior)

Un sistema PD bien calibrado tendrá un tiempo de respuesta un poco menos veloz son embargo un sobre tiro y oscilación mínimos.

Control integral

Un problema recurrente con lo controles PD es que a veces se estabilizan a cierta distancia del punto predeterminado. Esto puede ocurrir debido a que el error en el estado no es lo suficientemente grande para crear un aporte significativo.

Sin embargo al integrar dicho error en el tiempo se puede llegar a tener un valor suficientemente grande para proveer un aporte que corrija el error.

I = Ki*∑*(estado ideal – estado real)

Un sistema que utiliza estos tres controles es conjunto puede ser bastante confiable y es el que se utilizo para controlar el dispositivo construido en este proyecto.

I.2 Acondicionamiento de la señal (Linealización de sensores )

Algunas veces las señales producidas por un sensor tienen que ser acondicionadas para servir al propósito en que serán utilizadas. En este caso el voltaje de salida del sensor IR sharp 2y0a21 no es lineal en relación a la distancia que mide. Por esta razón es necesario acondicionar esta señal mediante programación antes de utilizarla en el control PID.

5

Page 6: Control Pid

Fig. 2. Relacion voltaje-distancia del sensor IR *ver anexo

En la Fig. 2 es posible notar que no existe una relación lineal entre el voltaje de salida y la distancia medida. Es por esta razón que la señal del sensor sharp debe ser linelizada.

II. Fabricacion del dispositivo

La fabricación del dispositivo se divide en dos fases principlaes: construcción y programación. Estas a su vez se subdividen de la manera siguiente:

Construcción

Diseño y planeación de la estructura Diseño del circuito Construcción

Programación

Linealización del sensor IR Programación y calibración del control proporcional Programación y calibración del control diferencial Programación y calibración del control integral Calibración

Diseño y planeación de la estructura

Para la base y la estructura del soporte era necesario un material rígido pero fácil de manipular y formar por esta razón se utilizó el foamboard. Para el riel se utilizo un ángulo de aluminio de 50 cm de largo debido a que es un material liviano y barato. Además de que soporta una pelota de ping pong perfectamente.

6

Page 7: Control Pid

El extremo del riel que sirve como eje esta sostenido por dos postes de lego. El extremo opuesto se encuentra sostenido por una cuerda que pasa por una polea justo encima de el. Esta cuerda se enrolla en un cilindro que gira impulsado por un servo mediante un sistema de engranes con amplificación.

Fig.3. Detalle de la construcción

Diseño del circuito

El dispositivo utiliza un sensor IR con salida de voltaje análogo para medir la posición de la pelota sobre el riel. Debido a la naturaleza de esta señal es crucial considerar que el circuito necesita incluir un convertidor A/D para procesar esta señal. En este caso se utilizó un ADC 0831.

Construcción

Para la construcción de la estructura se dibujaron plantillas en el foamboard que después fueron cortadas y ensambladas.

En la parte mecánica se utilizaron algunas piezas de “Lego Technics” que fueron adaptadas al diseño y estructura de foamboard.

Linealización del sensor IR

Se dividió el riel en segmentos de 0.5 cm y se hizo una tabla con los valores arrojados por el sensor. Fue necesario encontrar el pico de voltaje producido alrededor de los 10 cm. Los incrementos de 0.5 cm se midieron a partir de dicho pico. Ver Fig. 2.

Programación y calibración del control PID

La programación del control PID se llevó a cabo en tres fases. Primero el control proporcional, segundo el diferencial y por ultimo el integral.

7

Page 8: Control Pid

Cada fase requirió de ajuste y calibración por lo que es necesario que este lista antes de pasar a la siguiente.

Calibración

Factores como la iluminación o el tipo de pelota que se utilice influyen en los valores de la constantes de cada control por lo que es necesario calibrar el dispositivo en bajo diferentes circunstancias.

III. Programación

El sistema de control PID utilizado en este dispositivo fue programado en un microcontrolador BS2 de parallax. Para esto se utilizo el editor de BS v 2.4.2.

El programa utiliza 23% de la memoria EEPROM y aproximadamente 6 bytes de la memoria RAM.

' {$STAMP BS2}

' {$PBASIC 2.5}

Variables

cs CON 0 - adc

clk CON 1 -adc

d0 CON 2 -adc

adc VAR Byte – valor digital del voltaje

dist VAR Word – valor del sensor linelizado mediante tabla lookdown

flag VAR Bit – indica posición de la desviación

flag2 VAR Bit – indica dirección de movimiento de la bola

prop VAR Word – aporte proporcional

error VAR Byte – desviación con respecto al valor predeterminado

errorold VAR Byte – desviación guardada en memoria para diferenciar

setpoint CON 30 – valor predeterminado

kp CON 14 – constante del control proporcional

kd CON 18 – constante del control diferencial

servo VAR Word – aporte total

dif VAR Word – aporte diferencial

8

Page 9: Control Pid

delta VAR Byte – diferencial del error

rutina principal

main:

GOSUB leeADC – adquiere datos del sensor IR mediante convertidor A/D

GOSUB calcdist – linealiza la señal del sensor IR mediante la tabla lookdown

GOSUB generaporte – genera los aportes proporcional y diferencial

GOSUB servos – manda pulsos al servo para que actúe con el aporte generado

GOTO main

Subrutinas

leeADC:

LOW clk –prepara al convertidor para la lectura

LOW cs –prepara al convertidor para la lectura

PULSOUT clk, 210 –prepara al convertidor para la lectura

SHIFTIN d0, clk, MSBPOST,[adc\8] – adquiere datos

HIGH cs – apaga convertidor

RETURN – siguiente subrutina

calcdist: - esta tabla genera una relación lineal entre los valores del sensor IR y las distancias de la bola al sensor.

LOOKDOWN adc,>= [168,166,162,147,138,135,126,120,116,112,107,102,99,96,92,90,86,85,83,80,

79,76,74,72,71,69,67,68,64,64,63,60,60,58,57,56,55,55,56,53,52,52,51,51,51,49,48,

48,48,47,47,46,46,46,45,45,44,44,43,43,43,42,42,40,40,40,39,39,39,39,38], dist

RETURN – siguiente subrutina

generaporte:

IF dist>setpoint THEN error=ABS(setpoint-dist):flag=0:ENDIF

IF dist<setpoint THEN error=ABS(setpoint-dist):flag=1:ENDIF

9

Page 10: Control Pid

- Aquí se calcula la diferencia que hay entre el valor deseado y el verdadero. El error. Flag indica de que lado esta ese error.

prop=error*kp MAX 45 – aquí se genera el aporte proporcional, tiene un tope de 45.

delta=ABS(error-errorold) – aquí se genera el diferencial del error

IF error>errorold THEN flag2=0 – la pelota se esta alejando del setpoint

IF error<errorold THEN flag2=1 – la pelota se esta acercando al setpoint

errorold=error – dato necesario para diferenciar el error

dif=delta*kd MAX 35 – aporte diferencial

IF flag=0 AND flag2=0 THEN servo= 650+prop+dif

IF flag=0 AND flag2=1 THEN servo= 650+prop-dif

IF flag=1 AND flag2=0 THEN servo= 650-prop-dif

IF flag=1 AND flag2=1 THEN servo= 650-prop+dif

Dependiendo de la situación del sistema en cada momento los aportes se suman o restan. 650 es el valor del servo que pone al riel en una posición horizontal.

RETURN – siguiente subrutina

servos:

PULSOUT 3, servo – manda el pulso al servo

PAUSE 10 – esta pausa le confiere un funcionamiento mas suave al servo

RETURN – siguiente subrutina

10

Page 11: Control Pid

III.1 Algoritmo

Fig.4. Diagrama de flujo del algoritmo del sistema de control

11

Page 12: Control Pid

IV. Resultados

Control Proporcional

Fig.5. Comportamiento del sistema con un Control proporcional de Kp = 14

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534540

10

20

30

40

50

60

70

Control P.

C. P

tiempo

po

sic

ion

Fig.6. Comportamiento del sistema con un Control proporcional de Kp = 5

12

Page 13: Control Pid

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034040

10

20

30

40

50

60

70

Control PD

Control PD

timepo

po

sic

ion

Fig.7. Comportamiento del sistema con un Control proporcional de Kp= 14 y Kd= 15

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901910

5

10

15

20

25

30

35

Control PD

C. PD

tiempo

po

sic

ion

Fig.8. Comportamiento del sistema con un Control proporcional de Kp= 14 y Kd= 20

13

Page 14: Control Pid

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511605

101520253035404550

Aporte PD

D

P

tiempo

ap

ort

e

Fig.9. Magnitud del aporte proporcional y diferencial en el tiempo.

V. Análisis de resultados

Las graficas presentadas en la sección de resultados permiten apreciar la manera en que trabaja el sistema utilizando el control proporcional o el control proporcional-diferencial.

Como se ve en la fig. 5. el control proporcional por si solo mantiene al sistema en un estado oscilante. Comparando las figs. 5 y 6 se puede apreciar el diferente sobretiro que provocan diferentes valores de Kp. De hecho en la fig.6. existe un sobretiro creciente en el tiempo.

En las fig. 8 se aprecia la manera en que el aporte diferencial bien calibrado causa que el sistema entre en una oscilación decreciente hasta llegar a la estabilidad.

La fig. 7 muestra un control PD mal calibrado que aunque oscila menos que el control P, no alcanza la estabilidad.

La fig.9. muestra la manera en que cada aporte actua y como en conjunto logran estabilizar al sistema. Se puede ver que mientras P varia D alcanza sus picos ya que es cuando la pelota esta en movimiento.

VI. Conclusión

Los sistemas de control PID tienen infinidad de aplicaciones y permiten al hombre controlar sistemas que son inestables por naturaleza. Debido a que el hombre tiene capacidades limitadas (como un tiempo de reacción lento a comparación de una computadora), existen ciertas tareas para las cuales una computadora programada con sistema PID es mucho mas eficiente y adecuada.

14

Page 15: Control Pid

Estos sistemas de control permiten al hombre crear maquinas difíciles de controlar ya que es dicho sistema quien haga el “trabajo sucio” de mantener el sistema en un estado estable.

Por ejemplo un jet de guerra moderno es piloteado por un hombre, sin embargo es una computadora la que esta haciendo todos los ajustes finos que llevan al avión a donde el piloto lo ordena. Si las ordenes del piloto no estuvieran asistidas y procesadas por dicha computadora probablemente este no seria capaz de despegar la nave.

Los sistemas de control son importantes para la sociedad moderna ya que los encontramos en todas partes desde un refrigerador o un auto, hasta las maquinas mas complejas cuyo funcionamiento seria imposible sin la asistencia de estos controles.

Gracias a herramientas de este tipo es que el hombre puede crear maquinas sumamente útiles que serian imposibles de manejar o controlar con las limitadas capacidades del hombre, o también crear procesos mas eficientes que ahorren energía tan escasa en tiempos como estos.

VII. Fuentes

Barr, Michael. "Closed-Loop Control," Embedded Systems Programming, August 2002 , pp. 55-56.

Parallax Inc. “Process control student guide”

15