Hola controleras y controleros, hoy vamos a aprender como implementar un Predictor de Smith en un microcontrolador PIC, utilizando como controlador primário un PID. Todo será implementado en el compilador CCS C.

Antes que nada te hago la invitación para 👉 Ver el Curso de PIC completo.

Predictor de Smith

El predictor de Smith es una estructura de control ampliamente utilizada en la industria para poder realizar control de procesos que presentan un retardo dominante. La estructura se presenta a continuación:

Predictor de Smith
5. Predictor de Smith

Donde P(s) es el proceso (Horno), C(S) será el controlador primário (En este caso usaremos un PID), Gn(s) es el modelo del proceso (función de transferencia del horno), Ln es el retardo del horno.

Mira la siguiente entrada para entender el funcionamiento del 👉 Predictor de Smith.

Predictor de Smith con PIC

Para la implementación de la estructura del predictor de Smith dentro del microcontrolador, tendremos que recurrir a la representación discreta de la estructura.

Predictor de Smith Discreto

Y para eso vamos a tomar la función de transferencia que obtuvimos de la Identificación del Horno de Temperatura.

G_n(s)=\dfrac{2.3553}{370s+1}e^{-30s}

Vamos a discretizar esa función de transferencia con un tiempo de muestreo de T=10s usando el retenedor de orden cero ZOH. Donde obtendremos una función de transferencia discreta de la siguiente forma:

G_n(z)=\dfrac{b_0z+b_1}{z+a_1}z^{-d}

G_n(z)=\dfrac{0.0628}{z-0.9733}z^{-3}

Implementando un controlador PID discreto, podemos proceder a montar nuestra estructura del predictor de Smith en un microcontrolador PIC.

Predictor de Smith en un Horno con PIC

Ecuaciones en diferencias

Para poder escribir la función de transferencia discreta dentro del microcontrolador PIC, se debe transformar dicha función en una ecuación en diferencias.

G_n(z)=\dfrac{\hat{y}(k)}{u(k)}=\dfrac{0.0628}{z-0.9733}z^{-3}

Se lleva a potencias negativas en z

\dfrac{\hat{y}(k)}{u(k)}=\dfrac{0.0628z^{-1}}{1-0.9733z^{-1}}z^{-3}

Se resuelve para obtener la salida del modelo

\hat{y}(k)(1-0.9733z^{-1})=0.0628z^{-1}u(k)z^{-3}

\hat{y}(k)-0.9733\hat{y}(k)z^{-1}=0.0628z^{-1}u(k)z^{-3}

\hat{y}(k)-0.9733\hat{y}(k-1)=0.0628u(k-1-3)

\hat{y}(k)=0.0628u(k-1-3)+0.9733\hat{y}(k-1)

Con eso ya podemos calcular el resultado de la salida del modelo (función de transferencia) del horno en lenguaje C.

Notemos que

Salida del modelo

Y que u es un vector. En este caso de 15 posiciones, donde la ultima posición corresponde al tiempo actual (presente) y las demás posiciones corresponden a muestras en el pasado.

Vector U con retardo

Implementación del Predictor de Smith en un PIC 18F4550

El controlador primário del PIC, sera el controlador PID explicado en la entrada Control de Temperatura de un Horno.

El circuito a ser implementado, será el mismo empleado en la entrada anterior de la identificación del horno.

Donde se ve que se usa 2 XBEE para realizar una comunicación inálambrica.

La respuesta del controlador sobre el horno

El código del PIC en CCS C y el código en MATLAB para la interfaz gráfica pueden ser descargados a continuación, solo basta con que compartas el contenido de este post con cualquiera de los siguientes botonos, de esa forma ayudas a que más personas aprendan sobre esto y contribuyes a mejorar la educación.

Código en CCS C (PIC C)

Código en Matlab

Perfecto controleros y controleras con esto llegamos al final de otro post del sitio web.

Recuerda que si deseas apoyar mi trabajo, puedes invitarme a un café y seguirme ayudando a mantener los servidores de este sitio web, es muy barato el café y contribuyes con el tiempo y esfuerzo invertidos en las clases elaboradas en el canal y pagina web: 👉Invitar a un Café a Sergio ☕️

Espero que esten muy bien y nos vemos en la próxima.

Predictor de Smith con PIC
5 (100%) 2 vote[s]

Esta entrada tiene 2 comentarios

  1. tus videos me encantan, eh aprendido mucho con ellos, pero en estos últimos videos si que me he perdido, quisiera implentar el control pid solo con la termocupla y la resistencia sin la parte de matlab pero no me doy idea de como si pudieras ayudarme te estaría muy agradecido, de antemano gracias

    1. Juan es exactamente igual, en tu caso solo vas a usar la resistencia, el relé de estado solido y la termocupla. Omites la parte de MATLAB, que únicamente es para visualización. En tu caso puedes usar un LCD para ver los resultados, de la forma como lo hicimos en los videos de los PID anteriores.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Predictor de Smith con PIC
Cerrar menú