This is a very simple and low cost TEC PID controller. Here is a simple schematic of it.
The controller is based on Arduino (AVR ATMega series 8bit MCU), so I haven’t spend a lot time programming it. The temperature sensor is a very cheap 10K thermistor and direct sampled by AVR’s internal ADC. The DAC part is actually a low-pass filtered PWM. The controller is connected to the computer through a USB-USART adapter.
A photo of the TEC controller is shown below. I use the power stage from my 3A CC driver in the same project as you can see from the photo
I design a simple serial command line interface for system monitoring and parameter adjustment. You can simply type ‘P10’ and press enter to set parameter P to 10 for PID controller. It is same for other command such as ‘I0.5’ for setting I=0.5, ‘D1.24’ for setting D=1.24. The power stage can be turned off with command ‘OFF’ and be turned on again with ‘ON’. system states including output power, target temperature, PID parameters will be continuously updated on the serial interface.