Archive for May, 2016

Ultra stable TEC controller as Arduino Shield

May 31, 2016

I didn’t have time for my hobby for a long time, but recently I got around restarting some lingering laser related projects. One thing I felt was needed is an update of my stable laser diode and TEC drivers for holography applications. See here for background. In short, one needs to avoid mode hops by having an exceedingly tight diode current and temperature control. We are talking about stability of the order of 1/1000 degree for extended periods of time. This is in particular critical for ECDL lasers.

This new project was partly motivated by requiring bi-directional drive (so cooling AND heating), so one does not need to run the laser below room temperature. This necessitates a H-bridge PWM drive mode, and this is already close to full digital control. The other motivation was the design of solarfire and dnar and others described in this forum. However that design is not stable enough and also I am not familiar with the microprocessor. So I decided to come up with a stability-improved design, based on the Arduino. It is dirt cheap (whole ready-to-use boards for less than 3 Euro incl shipping..) and there exists lots of useful software for it.

However in order to meet design goals, one has to make some efforts in the hardware and software design. Hardware means precision opamps, voltage references, and <=5ppm/C stable resistors. Fortunately I have a large stockpile of those.
Software means to bring inputs and PWM outputs to like 16bit resolution, which is far more than the usual 10bit ADC input and 8bit PWM output resolutions. Strictly speaking 16bit PWM output is easily possible but then the PWM frequency is a few kHz and this requires an enormous amount of filtering increasing size and also noise pollution. In fact I managed to cook up a software solution for the PWM driver that gives 16bit resolution while still running at 62.5khz! And input wise with suitable oversampling and "dithering” the resolution can increased to 16bit as well.
This avoids expensive 16bit ADC’s.

So all in all, here are the main features of the design that are working as of now:

-full H-bridge for bi-directional TEC drive
-up to +/-3A current
-temperature stability < 1/1000 degree for hours
-noise level about 2/10.000 C
-control via USB serial terminal, optionally LabVIEW
-LCD display
-automatic PID control loop configuration per pushbutton
-saving basic operating data in EEPROM
-ready interface for companion diode driver

So far only a development prototype exists, but I am about finishing
PCBs which could be used as add-on shields for the Arduino Uno.

My plan later is to make an update for the LD driver too, giving another Arduino shield which can be stacked on top. This setup is supposed to be suitable for desktop laser diode controllers.

Finally 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.

Here a picture of the LabVIEW interface showing stability of a few 1/10.000 degrees.