Bipolare adjust. precision current-source with 12-bit DAC and PICO RP2040
Here I test the current-source with 12-bit DACs from Microchip. At first I tested the I2C DAC MCP4725, but the result was not so good: 3 to 6 mV offset (expected 0...1 mV), also the linearity was bad. Therefore I tested it with a SPI-DAC MCP4822 (dual). He is better from the offset (1... 2mV) , also the linearity (1-2 %). I tested it with different insulator-ic's : ADUM1200 for I2C and ADUM1400 for SPI and with opto-couplers.
Also the price for SPI-insulator chip (ADUM140x about 10 €) is higher compared with I2C (ADUM125x about 3 €) , therefore I tested it with four optocoupler . I found a small cheap breadboard ( Optoinsulator HW-399) with optocoupler TLP281-4 and 4 transistors to turn threw the coupler inverted signal.
I used 3 Pins for the SPI-interface (only CLOCK, MOSI, CS used for the DAC) and one for changing the
output polararity of the currentsource .
It functions, but only very low SPI frequency (15 kHz max).
The slewrate from normal LED-couplers is to small.
But it's ok for applications like transistor-curvetracer changing I-base every 20 s or so.
For higher frequencies I have tested the currentsource with an ADUM1400, making a small PCB with the same dimensions and pins like the HW-399 board, using the NC-Pin for +5V power supply.
(the ADUMxxxx insulators use magnetic-transformer and need on both side +3-5V power )
The max. speed I tested is 12 MHz .
21-08-25 :
Now I used for the ADUM1400 a normal adapter board from SO16W to DIL ,
dimension 21.6 mm (h) and 30.5 mm(w) and DIL-Pins with distance 22.86 m (9x2.54mm) from Pollin.
The Enable-Pin on the isolated side must be on High-Level (with a resistor from 5 V) .
The adapter is better from the insulation and easier to solder.
For save space, I placed the MCP4822 under them.
Also I changed the max. input-voltage of the OPamp from 4V to 1 V with a 10k / 3.3k divider.
The result is good, small offset and accectable linearity.
Build This Project
Bring this design to life with the Elektor PCB Service, powered by Eurocircuits. Upload the project files and order professionally manufactured PCBs or assembled boards through a proven European production platform.
Supporting KiCad, Eagle, Gerber, and ODB++ formats, the service is suitable for everything from prototypes and validation builds to series production and volume manufacturing.
Made in Europe. Fast. Reliable. Professional.

Discussion (3 comments)