DIY programmable (SCPI) bench power supply
An open source (software and hardware) power supply that bridges the gap between DIY/hobbyists/education
The EEZ H24005 is a dual channel fully programmable (Arduino Due controlled) power supply. It is characterized by modular and compact design, broad capabilities and, 3.2" TFT color touch-screen display. The EEZ H24005 is a maker and hacker friendly project that anyone can build and modify at home.
Two floating power channels are isolated and thanks to built in power relays can be safely (controlled by MCU) connected in series or parallel to provide up to 80 V and 10 A on the output. A serial hybrid topology is used with SMPS pre-regulator and linear post-regulation. The pre-regulator thanks to LTC3864 controller can work in 100% duty cycle mode and can be by-passed and power channel can enter so-called "low ripple" that is MCU controlled to stay within SOA of regulated elements. Additionally channel's SMPS regulators are synchronized and driven with anti-phase (180 degrees) signals that helps maintain low ripple when outputs are connected in parallel.
All circuits are located on three different PCBs:
Internal wiring is reduced to bare minimum to simplify assembly. Therefore Power boards are directly connected to the Arduino Shield and thanks to high voltage SMPS power and bias pre-regulators only one power input is used (hence one connecting cable is required!). Power board accept both AC and DC power input. In first case that could be AC mains power transformer otherwise AC/DC power module is used.
The Arduino shield is designed to carry Arduino board (Due or 100% compatible, possiblySTAT-OTTO, etc.), TFT touch-screen display and all front panel connectors (push-in, power binding posts) and various LED indicators.
Main hardware features:
It's now highly mature but still ongoing project since we are continue with adding new functionality into firmware. It comes with comprehensive set of SCPI commands. Thanks to SCPI it’s possible to remotely program and monitor power supply. For the local control a color TFT touchscreen with intuitive GUI is used. All menu pages are designed in the EEZ Studio (screenshot), a visual toolkit for rapid GUI development that will be also available as a free and open source in coming months and can be used in many other projects.
Main firmware M2 features:
Thanks to EEZ Software Simulator one can evaluate all functionality and even start modifying existing or adding features into firmware (an Arduino sketch!) without having physical unit on disposal. The EEZ Software Simulator is cross-platform and can be compiled and run on Linux, Windows and OS X. It’s a great tool developed to simplify debugging and speed up development process.
Hardware details (i.e. Eagle and Gerber files, BOM, mechanical drawing, building instructions, etc.) can be found on the GitHub here, and firmware here.
Two floating power channels are isolated and thanks to built in power relays can be safely (controlled by MCU) connected in series or parallel to provide up to 80 V and 10 A on the output. A serial hybrid topology is used with SMPS pre-regulator and linear post-regulation. The pre-regulator thanks to LTC3864 controller can work in 100% duty cycle mode and can be by-passed and power channel can enter so-called "low ripple" that is MCU controlled to stay within SOA of regulated elements. Additionally channel's SMPS regulators are synchronized and driven with anti-phase (180 degrees) signals that helps maintain low ripple when outputs are connected in parallel.
All circuits are located on three different PCBs:
- AUX PS module
- Power board (one per channel)
- Arduino Shield
Internal wiring is reduced to bare minimum to simplify assembly. Therefore Power boards are directly connected to the Arduino Shield and thanks to high voltage SMPS power and bias pre-regulators only one power input is used (hence one connecting cable is required!). Power board accept both AC and DC power input. In first case that could be AC mains power transformer otherwise AC/DC power module is used.
The Arduino shield is designed to carry Arduino board (Due or 100% compatible, possiblySTAT-OTTO, etc.), TFT touch-screen display and all front panel connectors (push-in, power binding posts) and various LED indicators.
Main hardware features:
- 2 x 40 V, 5 A per channel (hackable to e.g. 30 V or up to 50 V, 3 V or 4 A)
- Voltage and current control in 10 mV/mA or better (thanks to 16-bit DAC / 15-bit ADC)
- Remote voltage sense built-in with reverse polarity protection
- Remote voltage programming with built-in OVP protection
- Output enable and down-programmer circuit
- Cooling with passive heatsink and speed controlled 60 mm fan
- AC input voltage protection
- AC soft-start/stand-by circuit
- USB (could be isolated), Ethernet (W5500 chip)
- RTC with supercap backup
- External EEPROM
- Power relays for MCU controlled power outputs connections
- Signal relays for MCU controlled voltage sense connections
- Digital I/O: 1 x input (protected, 3.3 and 5 V level logic)
- Battery NTC input (opto-isolated with V/F converter)
It's now highly mature but still ongoing project since we are continue with adding new functionality into firmware. It comes with comprehensive set of SCPI commands. Thanks to SCPI it’s possible to remotely program and monitor power supply. For the local control a color TFT touchscreen with intuitive GUI is used. All menu pages are designed in the EEZ Studio (screenshot), a visual toolkit for rapid GUI development that will be also available as a free and open source in coming months and can be used in many other projects.
Main firmware M2 features:
- Remote control with SCPI commands via serial (USB) or Ethernet
- Local control using color touch-screen display
- Touch-screen calibration wizard
- Voltage and current calibration wizard
- 10 user profiles
- Various protections: OCP, OVP, OPP, OTP
- Output value limits
- Date/time settings
- Ethernet settings
- "Low-ripple" mode control
- Various output values display modes (digits, horizontal and vertical bar graph)
- Various output values programming: keypad, step, slider
- Remote sensing, remote programming control
- Event viewer
Thanks to EEZ Software Simulator one can evaluate all functionality and even start modifying existing or adding features into firmware (an Arduino sketch!) without having physical unit on disposal. The EEZ Software Simulator is cross-platform and can be compiled and run on Linux, Windows and OS X. It’s a great tool developed to simplify debugging and speed up development process.
Hardware details (i.e. Eagle and Gerber files, BOM, mechanical drawing, building instructions, etc.) can be found on the GitHub here, and firmware here.
Updates from the author
prasimix 8 years ago
https://www.youtube.com/watch?v=gfUSl8hXwjE
prasimix 8 years ago
https://www.youtube.com/watch?v=12qwjicYb90
prasimix 8 years ago
Without any optimization and with selecting most demanding viewing mode (bar graphs) that we are refreshing as soon as any change is detected (but not faster then ~300 samples/s) I got the following:
Display is ON (that means display will be frequently refreshed):
Display is OFF (option DISPLAY_OPTION=0 in conf.h file):
Here is a screenshot for 12 Hz SCPI VOLT 0.1 - VOLT 5.1 changed in the loop on the both channel (PSU is in the TRACking mode of operation):
https://i.imgur.com/Lwp6eoql.png
In firmware M4 we are planned to add SCPI LIST subsystem when you'll be able to load waveform shape that will be internally executed in the loop. Our goal is to reach 120 Hz (sine wave generation) in that way, but we'll see.
Apart to digital (SCPI) remote programming it's already possible to achieve much higher speed using so-called remote voltage programming (VOLT:PROG). In this case the PSU can easily survive much faster changes, e.g. 500 Hz as shown in next couple of screenshots (square and sine, yellow trace is output, cyan is controlling analog signal produced by signal generator):
https://i.imgur.com/0Lp1vqRl.png
https://i.imgur.com/9WWkuiWl.png
prasimix 8 years ago
With this firmware we covered almost everything on hardware level (only digital input, and load/batter NTC are not addressed). Please find below the main features of this release. Shown screenshots are from software simulator. All yellow painted text represents enabled/"clickable" options (in a "follow the yellow brick road" manner).
Channel coupling
Allows doubling of max. output voltage (up to 80 V) or current (up to 10 A). Outputs are wired internally thanks to two MCU managed power relays. Presentation and programming of output values and protections are unified/centralized.
http://i.imgur.com/ai55M6A.png
http://i.imgur.com/6VYcI07.png
http://i.imgur.com/yCHGb4h.png
http://i.imgur.com/JtVghs3.png
Tracking mode
Presentation and programming of output values and protections are centralized. When any protection tripped on one channel it will shut off both channel. Output enable/disable function is also unified.
http://i.imgur.com/UPGOH3H.png
http://i.imgur.com/e9gJ8Ir.png
Additional system protections
http://i.imgur.com/tHBG64l.png
AUX temperature sensor settings
http://i.imgur.com/BS1FAEB.png
Lock local console (touch screen)
When locked only unlock icon is enabled. Lock can be protected with system password.
http://i.imgur.com/fbWBUxl.png
Sound control
http://i.imgur.com/DJtcNRa.png
prasimix 8 years ago
The campaign will be conducted on the CrowdSupply and I'd like to hear your opinions about pledge levels. First please note that I'm not going to offer a completed solution. Also please note the campaign is conceived as a group buy to achieve few goals:
- Manufacture assembled modules (combined they have almost 800 items and that is far too much for many DIYers/makers despite the fact that DIY-friendly SMD packages are solely used)
- Manufacture compact metal enclosure to mount safely all parts and
- Decrease the cost per unit
Again, this is a group buy, not a new product production kick start, because it's not a profit driven (I have another source of money for living). Therefore prices of all pledges will be set to cover without loss the cost of manufacturing, packaging, transportation and campaign fullfilment cost, crowdfunding platform and payment gateway fees. I was thinking about the following pledge levels (the final number and contents will be set in accordance with your wishes):- Set of bare PCBs only (4 of them, 2 layer)
- As above + metal enclosure (with other metal parts such as TFT display support, AC/DC modules support, channel's heatsinks)
- Set of assembled PCBs only
- As above + metal enclosure set + wire harness
- As above + TFT display + AC/DC modules (2 of them)
- As above + Arduino Due
The latest one include all what is needed to assembly a fully functional unit that can be ready to run after firmware is uploaded. In essence you'll need a screwdriver for that operation and PC with Arduino IDE for uploading. Of course, you also need multimeter to calibrate it using built-in calibration wizard (see video).Thanks in advance for your valuable inputs.
avaldebe 8 years ago
I'm following your crowdsupply campain, and will pledge depending on the final price. Do you have any estimates how much the tiers 4, 5 and 6 will cost?
prasimix 8 years ago