Compensador de Temperatura Con Arduino y Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

Por medio de Arduino y simulink se realizó la siguiente programación mediante un

diagrama de bloques para obtener la respuesta de la planta a un escalón (PWM del 100%).
De tal manera que el pin 5 del Arduino controla el voltaje que se el suministra a la celda
Peltier y el pin 7 análogo lee el voltaje del amplificador de instrumentación proveniente de
un puente de Wheatstone con un termistor, este voltaje es convertido a grados
centígrados por medio del bloque Medidor de temperatura.
Los bloques input, OutTemp y OutVolt permiten guardar valores al introducir un escalón:

 Input: guarda el valor del escalón asignado.


 OutTemp: guarda los valores de temperatura de la celda Peltier en grados
centígrados
 OutVolt: guarda los valores de voltaje amplificador de instrumentación.

Compensador de temperatura con Matlab y arudino


Respuesta de la planta en temperatura, la cual se estabilizo aproximadamente a 43 grados
centígrados con el ventilador del disipador encendido. Cabe destacar que la señal de
lectura presenta ruido eléctrico debido a la fuente de alimentación del amplificador de
instrumentación, como se puede observar en la gráfica.

Para obtener la función de transferencia utilizamos la función “System Identification” en


donde introducimos los valores de entrada del escalón y salida de temperatura, el tiempo
desde que empezamos a tomar los datos que es cero y el tiempo en que se realizo cada
lectura que fue de 0.02 segundos.

Compensador de temperatura con Matlab y arudino


Importamos, seleccionamos la opción estimar función de transferencia y colocamos el
numero de zeros y polos de la función de transferencia a estimar. Además, seleccionamos
la opción de tiempo continuo.

La función de transferencia obtenida fue

Compensador de temperatura con Matlab y arudino


La respuesta a un escalón unitario en lazo cerrado de la función de transferencia
aproximada es la siguiente

Como se puede observar para un escalón unitario no se alcanza la señal de referencia por
lo que se decidió implementar un compensador que mejore la respuesta de la planta.
Calculo del compensador mediante el lugar geométrico de las raíces
Función de transferencia de la planta
0.003602
𝐺(𝑠) =
𝑠 + 0.02088
Polo del denominador = -0.02088
Especificaciones
MP: 10%
TS: 28 seg

ln(10%)2
Ϛ= √ln(10%)2 +𝜋2 = .3494

4
𝑤𝑛 = = .4088
(28 𝑠𝑒𝑔)(.3494)
. 1671
𝐻(𝑠) =
𝑠2 + .2856𝑠 + .1671
Polos del denominador = -.1428 +/-.3830j
ϴ= 𝑃𝑂𝐿(−.1428 + .02088, .3830) = 107.657°
∡(s+a)- ∡(s+b)- 107.657°= +/- 180(2q+1)

Compensador de temperatura con Matlab y arudino


-72.343° – 107.657° = -180°
Angulo propuesto de 90 grados

90°- 72.343° = 17.657°


. 3830
𝑧 = −.02088 −
tan(17.657)
𝑧 = −1.22408

𝑠 + .1428 𝑠 + .02088
𝑘𝑐 = | ∗ |
𝑠 + 1.22408 . 003602
𝑠 = −.1428 ± .3830𝑗
𝑘𝑐 = 37.2378
Respuesta con el compensador calculado

Como podemos observar al aplicar un escalón unitario la respuesta de la planta cambia


considerablemente ahora tenemos un error aproximadamente de .0178 en estado estable
a un valor cercano de 28 segundos, aunque con un sobre impulso 28.5%.
1.22408 . 003602
𝑘𝑝 = 37.2377 ∗ ∗ = 55.065
. 1428 . 02088
1
𝑒𝑠𝑠 = = .0178
1 + 55.065

Compensador de temperatura con Matlab y arudino


Compensador con ángulo propuesto de 115°

115° − 72.343° = 42.657°


. 3830
𝑧 = −.02088 −
tan(42.657)
𝑧 = −.4365
𝑘𝑐 = 72.6591
Ahora reducimos el sobre impulso a 10.2%, pero aumentamos el error en estado estable a
.0254
. 4365 . 003602
𝑘𝑝 = 72.6591 ∗ ∗ = 38.314
. 1428 . 02088
1
𝑒𝑠𝑠 = = .0254
1 + 38.314

Compensador de temperatura con Matlab y arudino


Compensador con Angulo propuesto de 120
120° − 72.343° = 47.657°
. 3830
𝑧 = −.02088 −
tan(47.657)
𝑧 = −.3699
𝑘𝑐 = 71.6905
Ahora reducimos el sobre impulso a 7.2%, pero aumentamos el error en estado estable a
.0302
. 3699 . 003602
𝑘𝑝 = 72.6591 ∗ ∗ = 32.035
. 1428 . 02088
1
𝑒𝑠𝑠 = = .0302
1 + 32.035

Compensador de temperatura con Matlab y arudino


Para la implementación del control de la planta en físico utilizamos la opción de ángulo
propuesto de 115 grados ya que nos proporciona unas características intermedias en
cuanto a sobre impulso y error en estado estacionario
Para el control de temperatura con compensador realizamos el siguiente diagrama de
bloques e ingresamos

Donde:
𝑘 = 72.6591
𝑠 + .4365
𝑐𝑜𝑚𝑝𝑒𝑛𝑠𝑎𝑑𝑜𝑟 =
𝑠 + .1428

Compensador de temperatura con Matlab y arudino


Respuesta a una temperatura de referencia de 40 grados

Respuesta a una temperatura de referencia de 30 grados

Como podemos observar al probar el controlador con compensador de manera física


obtenemos una respuesta bastante buena a pesar el ruido eléctrico.
Conclusión: Utilizando Simulink podemos obtener el modelo matemático de un fenómeno
físico, además al calcular diferentes compensadores observamos que entre más alejado
hacia la izquierda estemos del origen vamos reduciendo el sobre impulso, pero
aumentado el error en estado estable.

Compensador de temperatura con Matlab y arudino

También podría gustarte