Saturday, 18 February 2017


I have been using the constant current version of my LDBiasDriver and I felt that it would be handy to be able to control the current, monitor it, etc. via a PC. To this end, I designed and have so far had the PCB manufactured for my "LDBiasController".

This new board provides a variable resistance to two LDBiasDrivers as well as monitors the current using an Arduino Nano. I plan to create a serial protocol to do the control and monitoring but I will create a MATLAB or C# based GUI.

In terms of specifications, initially I was going to use a digital potentiometer but the cost of versions with more than 256 steps was prohibitive. I considered (and even designed) a version with two pots to create about 16 bits of resolution but it would have been non-linear and thus hard to control accurately. In the end, I went with the MCP4726 Digital to Analog Converter (DAC) which provides 12 bits of resolution from 0 to 2.5V.

I also wanted an external input capability which can be switched in (I used a 4066 IC for this) to modulate the laser drivers at up to 1 kHz (10 kHz is possible with higher noise version of the MLD203 drivers from ThorLabs). There is no way to guarantee or even sometimes generate a 0-2.5V external signal, so I opted to put a digital pot to attenuate this signal if need be. I am able to switch the output of the DACs through the digital pots too which further enhances the resolution to about 20 bits (I hope)!

Here's the GitHub link to the design files:

As a side note, I had these manufactured at Elecrow. I'm super impressed with them as they added slots to the DC power jack on the board on their own accord saving me a huge potential headache in future!

No comments:

Post a Comment

Hybrid ESP8266+UNO Energy Measurement

To complement my home automation system I needed to add a multi-channel power measurement system to my DB board. I figured four channels is ...