Giter Site home page Giter Site logo

mpc's Introduction

A modular, portable lab for learning Process Control

Process Control Temperature Lab

The BYU Arduino Temperature Control Lab is designed as a modular, portable, and inexpensive solution for hands-on process control learning. 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 and convection to the temperature sensor. The lab is integrated into a small PCB shield which can be mounted to any Arduino or Arduino compatible microcontroller. Experiments can then be programmatically controlled using Python over a USB connection.

Key Features

This lab reinforces principles of system dynamics, estimation, and model predictive control, including:

  • The difference between manual and automatic control
  • Step tests to generate dynamic data for empirical modeling
  • Dynamic modeling with first principles
  • Dynamic data reconciliation
  • Tune a moving horizon estimator
  • Tune a PID controller
  • Tune a model predictive controller
  • Combine MHE and MPC

Getting Started

For instructions on configuring your system and getting started with the lab see Getting Started.

Course Modules

The following example modules are included

Step Test

Perform a step test to collect dynamic data. Steps the input voltage up and down and records output temperatures.

Regression

Demonstrates the use of regression in Python to fit first order, second order, and ARX models to collected data.

On_Off_Control

Demonstrates control to a desired setpoint using a binary On/Off controller.

PID Control

Demonstrates control to a desired setpoint using a Proportional, Integral, Derivative controller.

Moving Horizon Estimation

Shows how model parameters can be dynamically estimated during system operation using MHE.

Model Predictive Control

Demonstrates advanced control to a desired setpoint using a Model Predictive Controller.

MHE and MPC

Combines MHE for online model parameter estimation with advanced MPC control to reach a desired setpoint.

Course Website

For more information and instructional videos, visit the Arduino temperature control lab page on the BYU Process Dynamics and Control course website.

Matlab Support

MATLAB must be installed and configured with an add-on package as shown here for MATLAB 2017b. This allows MATLAB to connect to the Arduino device with the command a = arduino. MATLAB files and Simulink models are available to test the basic functionality of the heaters and sensors.

mpc's People

Contributors

apmonitor avatar jckantor avatar aknight0 avatar alchemyst avatar abe-mart avatar gurubaranb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.