Arduino Based Temperature Controller

Our goal is to develop a 4-channel temperature controller based on the Arduino Nano Every (external link). Why pick the Nano Every? It's very inexpensive, so if we burn out a board (which has happened), we aren't out a lot of money. It's also very compact. Since much of our casing/finishing boxes will be 3D printed, the smallness of the Nano Every allows us to make the boxes smaller. There are just enough pins for us to do what we want, meaning we don't have a lot of unused resources on the board. A successful project from the student working on it will be

What we need to do

  1. Read temperature from a sensor (NTC thermistor as first go).
  2. Control PWM output on a resistive heating element.
  3. Program a PI loop (we aren't using the derivative part) to control heater output and verify setpoint temperature is maintained.

That will create a basic single channel temperature controller. From a faculty perspective, a successful project will be

  1. Get the Arduino to communicate with a computer running a Python script.
  2. Have Python tell the Arduino what setpoint we are aiming for, and verify the condition is met.
  3. Create a progam that controls multiple channels on the Arduino.
So far Richard has figured out how to do the student part once. Then we had to take a long-ish break, so we're back trying to get things going again.


Updated 1 November 2024