In this project we will design an build an Electronic DC Load which is capable of Constant Current, Constant Power and Constant Resistance. The design will use a rotary encoder for input entry and a 20×4 LCD display as the user interface. In Part 1 of this project we will discuss the basic design and then build and test the initial prototype.
Below are links for the prototype software plus a zip file with the schematic, PCB artwork and component layout:
Above shows the PCB wired for testing with heatsink and fan added.
Underside of PCB showing the locations of the 3 IC’s.
Close up of 20×4 LCD showing setting in Constant Current Mode.
In part 2 of this project we will make some changes in the way the LCD displays the information. The set current and set power levels are now set in Amps and Watts to three decimal places. Safety limits have also been added to limit maximum current setting and maximum power. After start up the unit goes in to constant current mode. A battery capacity function has also been added to test the life of batteries in mAh. The power mosfet has now been changed to a BUK956R1-100E (from NXP) to improve power handling. Finally software has been upgraded to Version 2.0.
Below are links to the downloads for Part 2 of this project:
Below is the new LCD layout with the heatsink temperature now at the top left of the display.
When the power limit is exceeded the Load switches OFF and the display informs “Exceeded Power Limit”.
To accommodate the new feature of Battery Capacity Testing we have now added a Real Time Clock (RTC) which also uses the I2C bus to interface with the Arduino.
Below is the Safe Operating Area graph, taken from the datasheet, of the Power Mosfet. This illustrates the ability of the Mosfet to handle 3A at 30 volt. However, this is at 25°C and in reality the power handling will be lower than that as the Mosfet heats up. At a later stage we will consider adding Mosfets in parallel to overcome this.
In Part 3 of this project we will make a number of improvements and additions. These will include a keypad, improved accuracy, fault protection and enhanced battery capacity discharge test mode. A 4.096 volt reference had been added to the DAC improving accuracy. A battery capacity testing menu has been added.
Below are links to download the latest version of software (version 8) and the updated schematic of the whole project, which now includes Real Time Clock and Voltage Reference Modules:
Please not that the new software now uses a keypad library – ensure that you have the latest version of this library and read the information on the following web page:
Direct link for the keypad.h library is below:
In Part 4 of this project on the Electronic DC Load we are going to add a remote voltage sense circuit, increase the power capacity by adding additional power mosfets and build the completed unit into a metal project case. We will also upgrade the software to allow for input entry via the keypad as well as the rotary encoder.
Below are download links to the latest version of software.
Also a zip file with the updated schematic for the main PCB, schematic and PCB artwork for the Remote Voltage Sense , Parts List, details of alternative power mosfets, wiring diagram and any notes:
To increase the Power Cut-Off Level simply change the value in the code below in software:
float PowerCutOff = 50;
Suggest changing 50 to 99
WIRING DIAGRAM LAYOUT LINK BELOW:
Below is the Remote Sense Circuit which uses a OPA277 OP Amp as a difference amplifier. The negative 5 volt supply for the OP Amp is generated by the a ICL7660 voltage converter IC.
The 20K preset between pins 1 & 8 of the OP Amp is adjusted for a NULL sense output when the sense input terminals are shorted together.
In part 5 of this project we will improve the power Mosfet’s current handling capability. Also a Transient Mode will be added providing a pulse option for the DC Load. The software will be updated providing extra features such as; user setting of battery cut-off voltage for battery capacity mode and user setup of safety limits.
Below are links for downloading the latest software and updated schematic diagram:
The Remote Voltage Sense circuit remains as show in Part 4 of this project.
Above is the revised circuit for paralleling the Power Mosfets. Additional 0.1 ohm resistors have been added in the source return of each of the Mosfets so as to reduce the effect of the negative temperature coefficient of the gate/source threshold voltage.
In Part 6 of this project we are going to make modifications to the Power Mosfet drive circuit to improve the ability to handle higher current/power levels whilst protecting the Mosfets from over heating and possibly going in to thermal runaway. We are also going to design, build and test the trigger input circuit. In addition to this I have updated the software to Version 25.
Below are links to download the latest software. Also there are two zip files providing the PCB artwork, Schematic and Parts List for both the Mosfet Drive Circuit and the Trigger Input Circuit.
IMPORTANT: PLEASE REMEMBER WHEN PRINTING THE PCB ART WORK SET YOUR PRINTER TO PRINT ACTUAL SIZE.
In part 7 of this project we will have a look at a number of updates and improvements. We will also use a new single sided PCB with all the components on one board. The Arduino software has also been updated to version 27.
Below are download links to two zip files which provide all the details. One for the updates, schematic, PCB artwork and parts list etc. and another with all the KiCad files. Also a link for the latest software:
The latest version now uses a double sided PCB.
Latest download links for this project are listed below:
Arduino software for 5×4 matrix keypad option:
Arduino software for 4×4 matrix keypad option:
The schematic and all other documents are in the zip file below:
Download links for this project are listed below:
Arduino software update (Version V35) for 5×4 matrix keypad option:
Arduino software update (Version V35B) for 4×4 matrix keypad option:
The schematic and all other documents are in the zip file below:
Additional files which include LCD wiring details, Rotary Encoder wiring details, I2C LCD Module variations and Arduino code changes and heatsink spacing details. can be downloaded from the link below:
DC Load PCB version 9.2 Gerber Files can now be downloaded from the link below:
The above video covers the data logging option in Battery Capacity Mode of the DC Load. We we pass serial data to a PC using a USB lead and use some freeware software. The data will be saved as a text file which can then be used later in a spreadsheet to create a graph.
Below are links to an information sheet which shows the additional lines of code added to the Arduino software for this feature. Also an information sheet about CoolTerm the serial logging freeware also used:
Below is a link to Roger Meier’s web site where you can download CoolTerm:
LATEST PCB (Version 9.3) now includes additional grounding tracks and extra pin added for keypad header so either 5×4 or 4×4 matrix keypad can be used easily.
Above shows underside of PCB showing changes
The PCB (version 9.3) gerber files can be downloaded from the link below:
The version 9.3 schematic, component layout and updated parts list can be downloaded from the link below: