Arduino-based high precision TEC controller for laser diode holography

Return to home page

Overview

Hardware design

Software

Measurements

Download

Version History


 

Overview

After dealing with many versions of analog-driven TEC-Controllers specifically suited for laser diode hologrpahy, I thought it would be time to modernize and find a digital solution. For background, see here. The advantage is of course broad adaptability with regard to PID parameters, easy remote control, protection features, getting rid of potentiometer/trimpot drift, and dual (heating and cooling) drive capability being almost for free, since a bi-directional PWM H-bridge is already close to digital control in the first place.

Moreover today whole Arduino Uno boards are available for about 3 Euro including shipping from China, so almost any other solution would be more expensive. Add to it the easy programmibility and broad range of software for the Arduino, so there are many good reasons to go this way.

To be clear: the primary purpose of this controller is to temperature stabilize laser diodes for holography. This requires stability to about 1/1000 degrees, tied to a specific kind of hardware, for a relatively narrow temperature range. Also, tuning does not need ultrafine steps, it is more important that a given temperature is kept stable for a long time. The intended heat loads involve laser diodes with up to about 500mA drive and mechanically look typically like as shown further below. So explicitly, the controller is not optimized for fine scanning over temperature (like for spectroscopy).

My plan later is to make an update for the LD driver later too, giving another Arduino shield which can be stacked on top. This setup is supposed to be suitable for desktop laser diode controllers with nice controls and LCD display. Moreover a miniature version is planned with less power (1.5A), where both TEC and laser drivers are on one board and a stacked-on Arduino Nano is used for control. This setup is supposed to go into compact laser heads.

So here are the specifications:

- hardware as Arduino Uno Shield, and cheap parts if possible
- full H-bridge for bi-directional TEC drive
- 12V unipolar supply
- up to +/-3A current; intended Peltier sizes about 10x10mm to 20x20mm
- standard 10k Thermistor for sensing
- setpoint range about 10 deg, modifiable by choosing different resistors
- temperature stability < 1/1000 degree for hours
- noise level about 2/10.000 deg
- PWM ripple about 80mV_pp at 50:50 duty cycle
- precision current control/monitoring via dedicated sense circuitry
- configurable current limit (max +/-3A)
- auto turnoff for open/shorted thermistor, temperature out of range, and H-bridge overtemp.
- control via potentiometer incl rasterization for stability
- additional control via USB serial terminal, optionally LabVIEW
- optional LCD display
- automatic PID control loop configuration
- saving basic operating data in EEPROM
- ready interface for companion laser diode driver

 


General notes about the hardware design

Here the schematics, higher resolution pdf is linked here (older version 1.1 with simplified current sense):

A few comments on the schematics: