This the second revision of my electronic load. It is intended for testing DC power supplies, solar panels and battery capacity.
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. 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. It works up to 19.8V, 5A and 15W. 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 opamp circuits and the STM32 12-bits ADC. Battery capacity is measured by loading the battery and integrating the 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 over time.
Specifications
- Current set range: 0 to 5 A dc
- Current set resolution: 10-bit, 4.88 mA/bit
- Current read range: 0 to 5 A dc
- Current read resolution: 12-bit, 1.22 mA/bit
- Voltage read range : 0 to 19.8 V dc
- Voltage read resolution: 12-bit, 4.83 mV/bit
- Accuracy read voltage/current, set current: 5% without calibration
- Max power : 15W limited in software, overridable.
- Thermal resistance heatsink+mosfet: 5.9 Kelvin/Watt
- Microcontroller: STM32F103C8T6 ARM Cortex-M3 (blue pill)
- Power supply: micro USB cable (not included)
- Load connector: screw terminal 2 pins 5.08mm pitch for 24-12 AWG
- Net Weight: 70 grams
- Size: 79x53x49 mm, 3.2x2.1x2.0 inch (l x w x h)
- USB cable is not included
Quik start
- Connect power supply + and - to the electronic load
- Connect USB cable to the computer
- Start Arduino IDE
- Select the COM port (115200bps)
- Open Arduino Serial Monitor
- Type any of the commands below into Serial Monitor
- Every second the voltage, current, power and mAh are printed to the serial port
Serial Monitor Commands
- Type CC 100 to set a constant current of 100 mA
- Type CP 100 to set a constant power of 100 mW
- Type CR 100 to set a constant resistance of 100 Ohm
- Type limit v 1000 to set the undervoltage limit to 1000mV
- Type limit p 15000 to set the power limit to 15W
- Type help for more 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.
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 we plan to 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 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 "cc1000" to start the measurement under a load of 1000mA. We plan to make software to test battery internal resistance. That may be an indicator for the battery lifetime. It will shortly test the voltage at two currents (4 and 5A) and calculate the internal resistance from that.
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.
How is it tested? At 5V and 19V voltage reading accuracy must be below 5%. At 0.1A and 3A the current setting and reading accuracy must be below 5%.
Quality, support, repairs and return shipping cost
- I check quality by doing an electrical test and visual inspection before shipping.
- I give support through email
- I repair the device for free
- All shipping is at your cost
Warnings
- I do not accept any liability for any damage caused by using the device
- Use this device only in an electronic lab environment
- Do not hot plug the device, set current to zero before connecting to the power source
- Do not use the device for anything else than the intended purpose
- Do not use the device outside the specifications
- The device is not protected against overvoltage, over-current and over-temperature
- There is no electrical isolation between the load and the USB connector
- Do not burn yourself because the mosfet+heatsink can get 120 degrees Celsius warmer than ambient
- Take precautions for handling this electrostatic sensitive device because components are exposed
- Don't hurt your self, the heat sink may have a sharp edge
- Keep the device away from children