DIY programmable dual channel bench PSU 0-50V/3A

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
The Arduino Shield for PSU updated ...

Arduino shield is tested and we'll continue do use it for the software development where already a great progress is made and that will be presented soon in a separate post.
A one mistake is found on this shield that became visible when Arduino Due board was connected for the first time :(. No SPI bus was available (as wrongly presumed) on the same pins as Mega2560. The only way of using hardware SPI on Due is thru 6-pin CSPI connector that not exists on this shield. That required a small surgeon on the Due board: cutting lines that comes to the pim 50, 51 and 52 and connect it to the ICSP connector. That is now corrected. Also assigning LEDs for first channel CC and CV indications on pin 0 and 1 that is usually busy during uploading was not so nice. Therefore I relocate them to pin 4 and 5 (see EEZ Arduino pin mapping r1B11 document).

Pz8jx8l.png


You can find in attachment Eagle schematic and PCB layout, Gerber files, Arduino pin mapping and Binding post controller (TLC5925) mapping. Here is also a BOM with ordering codes from Farnell and TME. Since TME is much cheaper and Farnell stocks parts that cannot be found on TME, I made third column what includes the cheapest pick from both suppliers (see below). There is only a few parts that you have to buy somewhere else: the TFT touch-screen display and few cables (references are also included into the BOM).

zezN84h.png


What is possibly interesting to do with this shield in the future? Here is some ideas:
  1. Add more channel; at least one to have under control some kind of "aux" i.e. 0-8V output (there is enough free pins for additional up to four channels)
  2. Replace the Ethernet with wireless
  3. Add two more power relays on the "BP" (binding posts) side to allow grounding (connect minus output to the mains earth)
  4. Add two more signal relays to cover remote sensing case when two channels are connected in serial.
  5. Rearrange binding posts to have in one row power outputs and in another remote sense inputs using much smaller connectors
  6. Somehow combine BPs LED indicators with CC/CV indicators
  7. Completely remove binding posts section if that someone think that is unnecessary luxury
 

Attachments

  • EEZ Arduino shield+BP r1B12a.zip
    953.8 KB · Views: 81
  • EEZ Arduino shield+BP r1B12a (Eagle files).zip
    203.3 KB · Views: 81
  • EEZ Arduino shield+BP r1B12a (Gerber files).zip
    228.4 KB · Views: 72
The Arduino shield, a "short version"

The idea #7 from the previous post is actually already accomplished. It wasn't too complicated and requires literally cutting existing shield into half and cleans up components that are not required anymore. Here it is:

FrHILEM.png


All required files are in the attachment ...
 

Attachments

  • EEZ Arduino shield r1B12a.zip
    862.6 KB · Views: 71
  • EEZ Arduino shield r1B12a (Eagle files).zip
    164.9 KB · Views: 69
  • EEZ Arduino shield r1B12a (Gerber files).zip
    193.1 KB · Views: 67
Front panel

With new Arduino shield I'm hopefully just a step away from the functional and decent front panel. Just as a reminder the first attempt was presented here. Now it looks like this:

NhY9FDs.jpg


ExkCkJH.jpg


MC28F4o.jpg


Placement of the communication ports (Ethernet and USB) is possibly not "by the book" but with this enclosure I ran out of available space on the back panel. A new PSU that I am planning to assembly shorty will go in 40mm wider enclosure (Modushop.biz/Hi-fi 2000 Economica EP1153220 L 320 x D 200).

The final step is to order two-color Acryl GS laser cutout to cover hand drilled alu plate.
 
Thanks guys for your interest. After all that time that I already spent building this power supply I really doubt that anyone could afford same luxury. Creating GB for PCB shouldn't be a problem but there is so many things that one have to collect and assembly to have functional solution. Due to that I start wondering about possibility to make some small batch of assembled PCB. If there is interest for such approach then only few big things will remain, namely: enclosure and decent front panel. Main transformer shouldn't be a problem and with such "almost ready to fly kit" approach one could assembly it in few afternoons, upload Arduino sketch and decide how to work with it: using local TFT with touch-screen, PC that is near on the bench (via USB or Ethernet) or by some remote client from "smartphone" or tablet PC (FYI, software part of the project is progressing nicely and I'll present it here very soon).

I'd like to hear your opinions about above mentioned approach. Also I heared for the first time a few days ago for the CircuitHub service. It sounds for me as "too good to be true" especially because it's possible to organize a group buy that could decrease costs dramatically.
 
New enclosure is arrived ...

A new enclosure is arrived that is 40mm wider then previous one presented here. That one is huge enough to house larger transformer and that AUX power supply PCB is no more mounted on the top cover what is not so practical. The unpacked enclosure looks like this:

laRpHAz.jpg


AUX power supply PCB is now mounted on the side support plate:

mI36fvp.jpg


The front panel without final acrylic top mask looks like this:

9DfFiW6.jpg


The binding posts were extended using the 8mm spacer (marked red). The binding post's metal top was shorted for about 9mm before spacers can be properly mounted.

QNGrzBJ.jpg


The USB and Ethernet sockets are now mounted on the rear panel:

majqxsL.jpg


3djawBu.jpg


When Front and rear panel is mounted with two side supports we got the following "frame" that can be easily separated from the bottom plate where main transformer is mounted (only one channel is shown):

ZMhBJXR.jpg


I made a support for the main transformer because it was not possible to simply mount it without deforming a bottom plate:

P5VloFk.jpg


... and with transformer mounted:

2GGsWS8.jpg


Previously mentioned "frame" with bottom plate that carry transformer now looks like this:

vTU3dHU.jpg


Finally, the completed enclosure with top cover mounted now looks like this:

GpQ6p1q.jpg


Actually now only a front mask is missing. Please also note that handles are not included in the enclosure package.
 
Input protection

I'm working on new front panel where I'd like to add few new features such as remote programming input and digital trigger input. For both of them I'd like to add some basic over-voltage protection and found two circuits that I believe can be used in both cases but they are differ in price and number of components. I'll present first as possible protection for analog input (remote programming) where allowed analog signal is in range from 0 ... 2.5 V:

DAgWwkp.png


Protection is accomplished using ADG465 Single Channel Protector with one TVS with higher breakdown voltage before it. Analog supply is +/-5 V.

Another circuit is copied from (heated) discussion that I found here. I added SN74LV1T34 buffer/shifter that allows various type of input logic voltage (1.8 to 5 V) as digital trigger signal. MCU is 3.3V therefore shifter is also connected to same voltage.

oDhJ5TT.png


Please let me know what do you thing about above mentioned suggestions.
 
New revision for smaller enclosure

While firmware is still under development I spent some time to summarize observations and obstacles found in the latest revision of the hardware part and see to which extent is possible to include it into the next revision. The following things asks for some attention and improvement:
  • The power supply has two channels and their PCBs are mounted on two level using eight 50 mm spacers. Such construction does not allow access to the lower section (channel #2) when everything is assembled and e.g. we are willing to conduct some measurements on that channel.
  • Each channel is connected with digital control module (Arduino shield) using 10-wire flat cable (SPI-bus) and 2 x 2-wire cables (power output and remote sense input).
  • Each channel (indeed) require dedicated heatsink (two separate or one shared by both channel)
  • Both Arduino Mega2560 and Due boards are supported, but Mega’s price/performance looks pathetic in comparison to the Due. Support for Mega costs us 6 level shifters.
  • Two different type of digital isolators is used: 2- (input) and 6-channel (output). Such “careless” selection require additional two ‘125 logic buffers (one extra IC)
  • Using 4 mm binding posts for remote sense inputs looks attractive and robust but that’s “too bold” and many professional models use much smaller connectors. Additional obstacle is their location in between power output. Therefore no standard 750 mil (19.05 mm) distance between positive and negative posts was provided (that is recommended when e.g. BNC to 4 mm adapter has to be used).
  • Software triggering will be added into one of the following firmware releases, but it could be also interesting that some functions are triggered with external signal.
  • Similar to the previous one: there is no possibility to perform tracking functionality based on external signal. That is called “remote programming” and it could be helpful to use the PSU as a “smart” pre-regulator during development and testing with all additional features such as current limitation, OVP, OCP and OPP managed by the MCU.
  • The enclosure is fully packed: six PCB’s (+ piggybacked Arduino board), big main transformer and two heatsink are mounted outside the box. But still, is it possible to make it smaller with smarter organization and still without using mains voltage “pre-regulation” that can remove huge transformer from the scene?
The quest for the better solution was initiated with rearranging of the PCBs. Once again it’s started with selecting of suitable enclosure that has enough room for not less then two channels. This time an enclosure from the different line of the same manufacturer comes to mind (Galaxy Maggiorato) that comes with 1, 2, 3 or 4U (40 to 165 mm) height. The current enclosure is 115 mm high therefore 3U (120 mm) looks as good replacement. But such dimension is mainly dictated with the size of the Arduino shield PCB (200 x 105 mm) and that is result of vertical placement of the TFT display. Existing PCB is pretty crowded, but with smaller remote sense inputs, removing of 6 level shifters (Mega is out of game, but will be still supported by the firmware for a while), no ‘125 logic IC (better digital isolator’s selection) and minimizing output protection to only TVS (MOV and SAR are going out) we can rotate TFT and lower the PCB’s height below 80 mm. In that way even 2U (80 mm) enclosure starts to be a real candidate for the next revision!
Such reduction in volume (about one third) require new location of channel’s power modules (pre- and post-regulator PCBs). They could be eventually merged into single board but more importantly is to change their form factor that is suitable for mounting them not any more near the rear panel but on the side supports (one channel per each side). Above mentioned enclosure comes with 10 mm aluminium profile that possibly could safely dissipate up to 15 W (per side).
Moving channel’s PCB to the new position remove additional cabling from the picture (10-wire digital, 2 x 2-wire analog). Now we can plug power modules directly to headers located on the opposite ends of the redesigned Arduino Shield (of course here we must take care about rotation of pins because PCB’s are turned “face to face” and we don’t want to end up with “left” and “right” channel PCB variants!). 20-pin connector should be enough to carry all required signal and power lines.
It’s obvious that next revision is not a trivial one. In that case adding more stuff like what is mentioned in the last two bullets (digital trigger and remote programming) makes sense. An open question is where to locate input terminals for them: on the rear panel (that is quite usual for many professional models) or at the front panel? I think that for the bench power supply that is not mounted and forgotten somewhere in huge laboratory rack, front panel sounds more handy.
I tried to draw a new proposal using the FreeCAD, this is my first encounter with it so not many details are on the drawing that follows:

3tsHmZM.png


LqXHBiZ.png


You can see that AUX power supply is now moved on the rear panel. There is also enough place to add 60 x 60 mm fan. The AUX power supply PCB with minor changes could be now used for mounting (vertical) USB and Ethernet connectors. One important thing that should not be skipped are limited ability of enclosure to dissipate a heat. That calls for more efficient solution and with currently used pre-regulator that is not a case. That topic will be discussed in one of the coming posts.
 
New SMPS pre-regulator with 100% duty cycle

Dear people from LTC sent me an evaluation board for the LTC3864 DC/DC Controller with 100% Duty Cycle Capability. My intention is to use it as pre-regulator in the new design. The complete regulator circuit is really tiny and it’s located on both upper and bottom layer. PCB has 4-layer.

nfpp9fw.jpg


The board could deliver 5 V, 2 A with broad input voltage from 5 to 55 VDC. I tested it first without changing anything with load of little above 2 A (3.3 and 8.2 Ohm connected in parallel). The output (yellow) and input (cyan) ripple and noise is shown below (Vin=20VDC):

bvE0tYN.png


Improvement is visible with additional LC filter at the output (8.2uH + 22uF):

8DSEgJY.png


Next step was to modify a board a little to be able to deliver variable output depending of the post-regulator output. Taking into consideration the rating of the power inductor, mosfet and diode my intention was to not go over about 24 V with load of not more then 1.5 A. To accomplish that I first replace original voltage divider’s resistors used in feedback loop to set new output voltage. I got 24.5 V with 4.7K + 140K combination, and had a chance to desolder and solder 0402 size components for the first time :). Tested, everything works as expected so that in next step a “tracker” circuit (Q2) can be added.

Schematic of the modified evaluation board looks like this:

1um9K6o.png


Additionally Q3 is added to test 100% duty cycle. It simply disconnect tracker from the feedback voltage divider (R3, R5) that has to be set very high – few volts above the max. input voltage. For mentioned combination that gives 24 V at the output, input voltage should not be higher then 20 V to insure that the controller will enter the 100% duty cycle mode. A breadboard is used for connecting additional tracker components:

maoLreL.png


For testing how LTC3864 board is working with tracker I’m using my PSU where first channel is set to 20 V and second one is used to control board output. First, I made a screenshot when no power is applied (to see "reference" noise):

LqdPUV7.png


On the following screenshot is shown output after the filter and switch node signal when control voltage is set to 10 V (load is 0.3 A):

I3oBDyW.png


And now when Q3 is disabled LTC3864 goes into 100% duty cycle mode. Switching frequency is zero and output ripple and noise are as clean as possible.

s86bpWt.png


I also tested how external switching frequency sync is working. Here is an example when external frequency (blue trace) is set to 390 kHz (Vin=33 V, Vset=9 V):

ieVR1KF.png


Now, I have to make a PCB that should reproduce comparable results. Hopefully I'll succeed regardless two obvious restrictions: everything has to be done on a 2-layer PCB and with larger components. Both of them could make a whole thing more noisy and unpredictable, but could lower the total cost and offer more flexibility for experimenting with higher voltage and current. My intention is to deliver up to 40 V (+ few Volts) and min. 3 A.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.