Está en la página 1de 3

Introducción

El control automático hace parte importante de cualquier tipo de proceso industrial


ya sea de manufactura, industrial naval, aeroespacial, aplicaciones robóticas,
procesos económicos, biológicos, entre otros. Debido a que el control automático
va de la mano con prácticamente todas las ramas de la ingeniería (eléctrica,
electrónica, mecánica, sistemas, industrial, química, etc.), este artículo no se centra
en alguna en especial, así, el lector puede fácilmente construir un controlador PID
análogo sin necesidad de haber adquirido conocimientos previos de electrónica,
pero teniendo sí como base lo relacionado con teoría de control. Una de las
aplicaciones típicas de control análogo es el posicionamiento angular de motores
de corriente directa. Implementar un control PID para este tipo de aplicación es lo
más conveniente, puesto que puede hacerse mediante tecnología de fácil
manejo y de bajo costo, referenciando como tal a los amplificadores
operacionales. Palabras Clave: teoría de control, PID análogo, amplificadores
operacionales

Con el fin de iniciar el diseño del controlador, en primera instancia deben tenerse
en cuenta las diferentes señales que intervienen en el proceso. La señal de salida,
o variable controlada, que como su nombre lo indica es la señal que se desea
controlar; la señal de set point, que se define como la señal de entrada o el valor
deseado; la señal de error, la cual arroja la diferencia entre la señal de entrada y
la de salida y la señal de control, producida por el controlador para disminuir o
eliminar el error. En la figura 2 se pueden observar dichas señales en el diagrama
de bloques del sistema.
Introducción al Control PID de posición.

En aplicaciones de control el primer paso es identificar la variable que queremos


controlar y la variable que podemos modificar.

En nuestro caso la variable a controlar será la posición del motor y la variable de


actuación. Esencialmente estamos interesados en convertir nuestro motor DC en
un servomotor, al que le podamos decir a que posición queremos que vaya.

Un controlador PID es un tipo de control muy usado en la práctica por su sencillez,


dado que no requiere una caracterización completa del sistema. Se basa en
combinar 3 términos (Proporcional, Integral y Diferencial) relacionados con el error
con unas constantes que se pueden determinar a través de un proceso de prueba
y error.

En nuestro caso, siendo Pref la posición deseada (target u objetivo) y siendo pos
(determinada por los encoders) la posición real del motor, definiremos el error en
un momento dado como

A partir de este error, modificaremos nuestra variable de actuación en base a la


siguiente expresión:

Por el momento podemos considerar que pid es simplemente un valor que, en caso
de ser positivo, indica que el motor debe girar hacia delante y si es negativo, hacia
atrás.

En la fórmula, el primer término es proporcional al error, el segundo proporcional a


su integral y el tercero va con su derivada.

La idea es que el primer término trata de reducir el error actual. Si el error es positivo
(no hemos llegado a Pref), pid es positivo, por lo que aumenta la posición y se
reduce el error. Si el error es negativo (nos hemos pasado), se invierte el duty y nos
movemos en sentido contrario, acercándonos de nuevo al objetivo.

El segundo término refleja la influencia del "pasado" del error: nuestra actuación no
será la misma si puntualmente tenemos un cierto error que si llevamos un "rato"
largo con dicho error. En el segundo caso la actuación será más enérgica.

Finalmente el tercer término refleja el "futuro" del error (su tendencia, capturada en
su derivada). Imaginad que estamos a 5 unidades de nuestra posición deseada, o
lo que es lo mismo, tenemos un error e=5. No es lo mismo si nos estamos acercando
al objetivo (se está reduciendo el error, derivada negativa) que si nos estamos
alejando (derivada positiva, el error está aumentando). En el primer caso a lo mejor
no hay que hacer casi nada (la propia inercia del movimiento nos lleva al objetivo,
mientras que en el otro caso está claro que hay que corregir la situación.

En nuestro caso en vez del continuo antes descrito tendremos una implementación
discreta. Cada cierto tiempo (en la rutina del servo de la que hemos hablado en
temas anteriores) se mide la posición actual (encoders) y se calcula un término de
error:

Para calcular el término de control, el error instantáneo se traduce de forma natural


en el error medido en el instante n, pero para la parte integral y derivativa
tendremos que hacer aproximaciones numéricas:

 La integral se substituye por una suma de valores anteriores del error.


Además se limita en el tiempo, sumando los últimos N errores, en vez del
historial completo de errores. Formalmente tendríamos que añadir un
término h (el intervalo de tiempo entre muestras) pero dicho término
(constante) puede ser absorbido por la constante de integración Ki.

 En cuanto a la estimación numérica de la derivada, lo más inmediato es


substituirla por la diferencia entre errores sucesivos, aunque pueden usarse
estimaciones más exactas. De nuevo, el factor h que aparece puede
entrar dentro de la constante Kd, por lo que no es necesario introducirlo
explícitamente:


 En su variante discreta el término de control a calcular para actuar sobre el
PWM del motor será por tanto:


 Indicar por último que no es necesario que la frecuencia de toma de
medidas sea la misma que la frecuencia de actuación del servo. Es posible,
p.e. tomar medidas con una frecuencia de 100 Hz pero solo actuar sobre el
motor 20 veces por segundo (20 Hz). En estos ejemplos por simplicidad
usaremos la misma frecuencia para ambos, por lo que tras tomar cada
medida, calcularemos el término de control y modificaremos el ciclo ON del
PWM.

También podría gustarte