## Heat Transfer Dynamics and Control

This lab is an application of feedback control for a temperature control device. Heat output is adjusted by modulating the voltage to a transistor. A thermistor measures the temperature. Energy from the transistor output is transferred by conduction, convection, and radiation to the temperature sensor.

This lab teaches principles of system dynamics and control. In particular, this lab reinforces:

- Dynamic modeling with balance equations
- The difference between manual and automatic control
- Step tests to generate dynamic data
- Fitting dynamic data to a First Order Plus Dead Time (FOPDT) model
- Obtaining parameters for PID control from standard tuning rules
- Tuning the PID controller to improve performance

#### Download

The following activities should be completed with this lab.

A two page is due at the end of the project that details the modeling, parameter estimation, and control performance.

#### Install Python Packages

If there is an error message that a Python package is missing (such as pyparsing), use the following resource to install the missing modules with the *pip* or *conda* package managers.

#### Solution Files

Additional approaches for modeling, estimation, and control are provided at the link below. Although solution examples are given, each team must conduct original work. In addition, each Arduino lab is slightly different and can lead to unique solutions that are optimized for the particular dynamic characteristics of that device.

Solutions include additional advanced methods for control that are not covered in this class but are learned in Dynamic Optimization.

- Dynamic modeling
- First principles
- Empirical / machine learning

- Dynamic Estimation
- Parameter regression
- Kalman filter
- Moving Horizon Estimation

- Process control
- ON/OFF control
- PID control
- Stability analysis

- Advanced control
- Linear and Nonlinear
- Model Predictive Control
- SISO - Single Input Single Output
- MIMO - Multiple Input Multiple Output