## Advanced Temperature Control

This Arduino lab is a hands-on application of machine learning and advanced temperature control with two heaters and two temperature sensors. The labs reinforce principles of model development, estimation, and advanced control methods.

The heater power output is adjusted to maintain a desired temperature setpoint. Thermal energy from the heater is transferred by conduction, convection, and radiation to the temperature sensor.

This lab is a resource for model identification, estimation, and advanced control development with full source code examples available in MATLAB and Python.

#### Lab Resources

Lab software is available in MATLAB, Python, and Simulink. The GEKKO package is recommended for Python or first-time users without a language preference.

A basic version of this lab is also available. The more basic lab instructions are for tuning a Proportional Integral Derivative (PID) controller with Single Input Single Output (SISO) control.

This advanced control lab is for multivariate control with Multiple Input Multiple Output (MIMO) modeling, estimation, and control.

#### Lab Instructions

The advanced control lab has three phases including model development, parameter and state estimation, and advanced control. The models developed and tuned in the initial phase are used directly in model predictive control. Model forms are from empirical identification or fundamental energy balance relationships and include single (SISO) and dual heater (MIMO) modules. Relationships may be linear or nonlinear with continuous or discrete variables.

#### Advanced Control Labs with Solutions

**Digital Twin Model Development**

**Machine Learning with Parameter and State Estimation**

**Model Predictive Control**