Author Topic: Arduino Based Electronic Load  (Read 4880 times)

0 Members and 1 Guest are viewing this topic.

Offline JuanGgTopic starter

  • Regular Contributor
  • *
  • Posts: 193
  • Country: es
    • My personal blog
Arduino Based Electronic Load
« on: November 04, 2018, 05:05:13 pm »
I have had some problems with my "lab power supply" and I wanted to build another one, so I thought a DC load may be handy to have around.
The design is based around Dave's design shown in this video https://www.youtube.com/watch?v=8xX2SVcItOA, but with a couple more features, including:

    -Arduino controlled.
    -Voltage, current, power and temperature monitoring.
    -CC and external in hardware modes and CP, Cr software modes.
    -Over temperature, over power and over current protection (software)

It can handle around 4 amps and 24 volts, limited by the mosfet.

It's divided in two main boards.

* UI Board: houses the 7 segment displays (I know one is bigger that the others, just what I had aroud...) and the keyboard. The display is multiplexed using a shift register. In addition, the four buttons are read taking advantage of the transistors switching the comon anodes, requiring only one additional pin. Only the first digit had decimal point, so one led was added for the second digit and the remaining two were used as V or A indicators. One additional led indicates if the load is on or off.

* Analog board: Houses the arduino, the LM324 op-amp and other misc stuff. Current is set either by a 12 bit filtered PWM or by an external input from a function generator, allowing for dinamic or pulsed loads. Source is switched by a relay controlled from the arduino.
This is then divided by 10 and fed into the main op-amp, which drives the logic level MOSFET (again, probably not the best one, but what I had around.), mounted on a computer heatsink. A ntc temperature sensor is attached to the heatsink. A transistor drives the cooling fan, depending on the measured temperature.

Current is sensed with an 0.1 ohm shunt resistor made with some bent wire, amplified and fed into one of the arduino's ADC, whose reference is set to the internal 1.1 V. This gives a resolution of around 4 mA.
Voltage is sensed using a plain voltage divider. This measurements are calibrated in software.

Instead of an encoder, a dc motor is used for user input. One side is biased to 1.1 / 2 V and the other is fed into arduino's A3, clamped by some diodes. By measuring the voltage generated by the motor, speed and direction of the knob can be found. This works surprisingly well, although it can't beat a proper encoder.


The whole thing is powered by a 12 V wall wart.

The circuit was first breadboarded and then sordered on some perfboard. The enclosure was designed in fusion 360 and 3d printed in abs plastic, while the front panel overlay was designed in inkscape and printed on photographic paper.

I have attached the code, which comes in 3 separate files, just put them in the same folder and they will appear as "tabs" on the arduino enviroment.

Sorry for the crude description, I hope to include more detail soon.
Beware I have no Electronics/Programing training, so there are certainly tons of things wrong with the thing, that's the point of me posting it here, any suggestions and ideas are welcome

This project was featured in Hackaday: https://hackaday.com/2019/02/28/spot-this-diy-electronic-loads-gracefully-hidden-hacks/
and in the Arduino website: https://blog.arduino.cc/2019/03/05/electronic-dummy-load-is-a-work-of-readily-available-art/

Thank you for the feedback.

Attached are the schematics, code and some photos of the build:

« Last Edit: March 16, 2019, 06:41:56 pm by JuanGg »
 
The following users thanked this post: ledtester, mixiom, Mick, aheid

Offline t1d

  • Super Contributor
  • ***
  • Posts: 1248
  • Country: us
Re: Arduino Based Electronic Load
« Reply #1 on: November 05, 2018, 12:58:31 am »
Looks great! Way to go.
 
The following users thanked this post: JuanGg


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf