This the second revision of my electronic load. It is intended for testing DC power supplies, solar panels and battery capacity. The load can be easily set using the Arduino Serial Monitor.
It is special because the hardware and software is open source, it is Arduino compatible, and it is a cheap tool all hardware designers should have. The software is made by my brother Bertrik. With respect to revision 1 the Arduino Nano was upgraded to a STM32 Arduino compatible board and as a result, the resolution to measure voltage and current has improved much (12 bit in stead of 10 bit ADC). It works up to 19.8V, 5A and 18W. The load can be set to constant current, constant power, or constant resistance by simply typing it into the Arduino Serial monitor. The constant current loop is implemented in hardware with an opamp, a mosfet, and a small current sense resistor. For setting the current a 16-bits timer is used to generate a PWM signal, that is low pas filtered to make it an analog input signal for the constant current circuit. The constant power and constant resistance mode is implemented in software. Load voltage and current are measured using a pair of high precision opamps (MCP6074) and the STM32 12-bits ADC. Battery capacity is measured by loading the battery with constant current and integrating current over time. To protect the battery against undervoltage the load is removed when the voltage falls below a configurable threshold. The device can also be used to simply log a voltage or current over time.
Serial Monitor Commands
Storing the data Arduino Serial Monitor is not able to store the serial port data. I recommend using Realterm because it can store the data in a file and add a timestamp for further processing in other tools, for example in a spreadsheet.
Testing a power supply Constant voltage power supplies can be tested by applying different loads and see how the voltage is affected. It may also be used to test a dc-dc converter efficiency under different loads. For example type cc 100 in the serial monitor and you will see the the current being set and the voltage updating at regular interval. Soon pulsed loads will be supported in embedded code. Youtube video with demo of setting the current
Testing a solar panel Solar panels generate most power at a certain voltage, the maximum power voltage, Vmp. The Vmp can be found in the IV-curve of a solar panel, which is the current versus the voltage. You can manually apply different loads but the solar radiation may change during testing. To avoid these variations one could make embedded code that quickly tests the solar panel in a second or so.
Testing a thermal electric generator TEG's generate most power at a certain current, the maximum power current, Imp. The Imp can be found in the IV-curve of a TEG, which is the current versus the voltage. This device is ideal for finding the Imp.
Testing batteries Battery capacity is usually indicated in mAh (milliamp hours) which is the load current in mA multiplied by the time in hours. This electronic load is ideally suited for battery testing. It can test a battery under constant current, constant power and constant resistance, exactly the three ways capacity is indicated in the battery's datasheet. But be careful. The battery voltage must not drop too low otherwise the battery gets damaged permanently. You first need to type the limit voltage "limit v 1000" (it stops at 1000 mV), "reset" to reset the mAh counter and then "cc 1000" to start the measurement under a load of 1000mA. Youtube video with demo of measuring battery capacity
Software The software is free and open source and published by my brother Bertrik. Software description https://revspace.nl/ElectronicLoadR2 Actual software on https://github.com/bertrik/ElectronicLoadR2
Hardware Hardware is open source and it is published on https://github.com/jrsikken/ElectronicLoadR2
What you get You will get a fully assembled, pre-programmed, and tested device with above specifications, it looks like the picture above. The USB cable is not included and you need to install a driver for the USB serial port to work.
USB driver installation On a Windows 10 machine (without any drivers or Arduino IDE installed) the device was immediately detected and a COM port appeared. On a Windows7 machine I had to Download this zip file. Run drivers/win/install_drivers.bat and install_STM_COM_drivers.bat. If that doesn't work I recommend to open Windows device manager, right click on Maple DFU, select update driver, and make Windows search for driver in the folder drivers/win/.
How is it tested? At 3V and 19V voltage reading accuracy must be below 5%. At 1A and 5A the current setting and reading accuracy must be below 5%.
Quality, support, repairs and return shipping cost
Re-programming the ELectronic Load If you want to update embedded code to the latest version or write your own Arduino program for the STM32 microcontroller, you need to follow the installation steps on this page. If programming fails even though the STM32 shows up as a COM port on your computer you may need to install the USB drive. See USB driver installation above.
Calibration of voltage and current reading
Using a variable voltage power supply and a multimeter you can make your device more accurate at a certain voltage/current. Let's say you want the voltage reading to be most accurate at around 10V, you need to set you variable power supply to arround 10V, then using multimeter you measure exact voltage at the test points of the electronic load (lets say 10.12V) and then you simply type "cal v 10120" and you're done. It will store a factor close 1.00000 into flash memory and it will use that from now on.
For calibrating current you need to put your multimeter in series with the power supply. Let's say you want it to be really accurate around 1A, then you first type "cc 1000" to set a current close to 1000 mA, and then you read the exact current using the multimeter (let's say 996mA) and then you type "cal i 996". It will store a factor close 1.00000 into flash memory and it will use that from now on.
To read the calibration factors you need to type "cal". If you want to reset the calibration factors you need to type "cal r".
Tom | Dec. 28, 2017
David | Dec. 18, 2017
|Shipping Rate||First item||Additional items|
PostNL: Worldwide without track&trace
PostNL: Worldwide including track&trace
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!
Father and IoT hardware engineer.