https://github.com/evangelos-karavas/mpc-for-tmp36-sensor
Model Predictive Control for temperature sensor TMP36 with power transistor
https://github.com/evangelos-karavas/mpc-for-tmp36-sensor
arduino-uno breadboard matlab mpc-control system-design temperature-control
Last synced: about 1 year ago
JSON representation
Model Predictive Control for temperature sensor TMP36 with power transistor
- Host: GitHub
- URL: https://github.com/evangelos-karavas/mpc-for-tmp36-sensor
- Owner: Evangelos-Karavas
- Created: 2024-03-31T18:35:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-31T19:34:52.000Z (about 2 years ago)
- Last Synced: 2025-02-05T10:35:06.625Z (over 1 year ago)
- Topics: arduino-uno, breadboard, matlab, mpc-control, system-design, temperature-control
- Homepage:
- Size: 960 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MPC for temperature control
In the folder Matlab Code there is a file for the MPC model in Simulink and the all the workspace variables needed to run the project.
Also there is the Schematics file to see and understand all the connections needed for the project to work.
# About
This project was created to understand the Model Predictive Control in association with the TMP36 sensor.
The sensor sends data to the controller, which has a reference point for the sensor to reach. We stimulate
the sensor with a power transistor who operates only on the command of the controller.
At first, we need a model for the controller, so we had to stimulate the sensor with a PRBS signal, and take its data to
the System Identification App in Matlab. Then, we continue to extract the model (Process Model) and use it as our system
in the MPC Designer Block.
Subsequently, we can also tune the Controller. To do so, we can set some Constraints about the temperature, or make the
controller more Robust or Aggressive. After you make some changes, you can save the changes on the controller.
# Use
To run the code, you need to setup the Hardware and select the Run on board or Connected IO. Setup the Stop Time to be
infinite and change the ref block to whatever temperature you want. The temperature must be between the ranges of your
sensor (In my case I chose 50 degrees C).