Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 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
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.
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:
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.