EEVblog Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: prasimix on January 18, 2015, 09:01:43 pm

Title: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 18, 2015, 09:01:43 pm
(https://i.imgur.com/3rS4WFT.png)

List of important changes

Update 2015-02-14: New power pre-regulator schematic is posted here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg609512/#msg609512).
Update 2015-02-26: Corrected bias power supply schematic (Sheet 1) and simplified post regulator schematic without TLC555/relay based bias control (Sheet 2) is posted here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg618304/#msg618304).
Update 2015-03-21: Spice models (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg634305/#msg634305) added for redesigned power post-regulator.
Update 2015-04-06: Modified post-regulator Spice model (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg645838/#msg645838) with new OE circuit is added.
Update 2015-04-08: New schematics for pre-regulator and post-regulator and new PCBs are presented here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg647489/#msg647489).
Update 2015-05-15: Mosfet pre-regulator board (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg673839/#msg673839) is assembled and tested.
Update 2015-06-20: THT Eagle files, BOM and Gerbers for Pre-regulator PCB r2B5 (06/2015) (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg696972/#msg696972).
Update 2015-07-29: New PCB for front panel (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg719897/#msg719897) designed as Arduino shield for Mega2560 or Due boards is introduced. An 3.2" color TFT touch-screen display replaces monochrome 128x64 LCD. This PCB makes obsolete previous MCU board, 4x4 keypad and BP PCB.
Update 2015-07-30: New AUX power supply with soft-start/stand-by (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg720382/#msg720382) is added that make previous obsolete.
Update 2015-10-03: SMD version of Mosfet pre-regulator (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg769416/#msg769416) board and post-regulator (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg769423/#msg769423) are assembled and tested.
Update 2015-10-21: SMD Eagle files, BOM and Gerbers for the Arduino Shield latest revision (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg782249/#msg782249)
Update 2015-11-01: A new thread about software support for this power supply is opened here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/)
Update 2015-11-10: A repository for hosting hardware design files and source code is created and now available on https://github.com/eez-open (https://github.com/eez-open)
Update 2016-05-02: SMPS LTC3864 pre-regulator (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg932713/#msg932713) module

Redesigned PSU with smaller enclosure and SMPS pre-regulator
Update 2016-03-04: AUX Power supply board (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg886492/#msg886492) with fan controller, Ethernet and USB connection
Update 2016-03-04: New power board (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg886535/#msg886535) (pre- and post-regulator merged into one)
Update 2016-06-17: Redesigned set of PCBs for lower profile enclosure and hybrid power modules is available on the GitHub (https://github.com/eez-open/psu-hw). This revision will be used for planned group buy.
Update 2016-09-03: Custom enclosure made by Varisom, Portugal arrived. Here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1017656/#msg1017656) you can see how it looks like.
Update 2016-09-06: Timgiles (https://www.eevblog.com/forum/profile/?u=112964) added Mouser parts into BOM. Please check GihHub here (https://github.com/eez-open/psu-hw/tree/master/Consolidated/BOM).
Update 2016-10-07: Firmware M2 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1043009/#msg1043009) that support PSU H24005 is released.
Update 2016-12-29: Firmware M3 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1101493/#msg1101493) is released (comes with support for channel coupling, tracking mode, etc.).
Update 2017-02-23:  EEZ H24005 became a fully funded campaign on the CrowdSupply (https://www.crowdsupply.com/envox/eez-h24005).
Update 2017-03-23: Firmware M4 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1167524/#msg1167524) is released (triggering system, list programming).
______________________________________________

Introduction
I’d like to present what I did until now trying to make a bench power supply that should have a solid “analog” core that can be enhanced by adding MCU for on-site or remote programming, monitoring and data logging. My understanding of analog circuits are basic and I tried to compile many ideas found on various places. Initial document was Agilent E3634A Service guide (Part No. E2634-90010, April 2000) and presentations found on i.e. Gerry’s (http://gerrysweeney.com) and Ian’s (http://www.ianjohnston.com) blogs.
Presented work is still not backed by any simulation (I still wonder which one to choose, it that LTspice or something else, your recommendations are welcome). I can imagine that such simulation could save considerable amount of time and material.
There is many DIY power supply projects available (as cheap yet solid enough PSU that comes from various manufacturers) but I decide to try to make one by myself to learn a little about various circuits and parts that are now available on the market. The result of such quest is that I include many components that goes far beyond 2N3055 or LM317 based solutions but since we are in 21 century and logistics is amazing and since my budget is not so tight I think that I should proceed in that way. As a “reality check” to not end up with some really “esoteric” parts all what was selected has to be available through at least one of two European supplier (see below).
It’s also interesting that in DIY projects Vout of 30V is as some kind of magic threshold which is not cross over very often. Maybe it’s just a practical reason for that since most of today equipment do not need anything beyond 24V?
Situation with ideas about digital part and programming is better and many parts that is added on MCU board was inspired by my own view what kind of functionality programmable bench power supply should have. But this is a next step. The first one is to create solid core that can survive various testing torture and do not call into question safety/integrity of the various loads/equipment that could be connected somewhere in the future.
I spent many hours “breadboarding” and end up with complete mess (see picture of my desktop). Thanks to that many components was burned when I touch wrong wire or components or apply wrong voltage :( So, it’s high time to put what is done on PCB. PCBs (see below) will be successors of the first batch where I mainly tested SMPS functionality that was previously unknown to me. On the beginning I tried to test LM5005 (http://www.ti.com/product/lm5005) for bias, LM5118 (http://www.ti.com/product/lm5118) for pre-regulator and LM5119 (http://www.ti.com/product/lm5119) for both functionality since it is dual channel. Unfortunately I never succeed to do any testing with the latest for the simple reason that soldering QFN without reflow oven which I still don’t have became mission impossible despite some encouraging videos such as this one (https://www.youtube.com/watch?v=c_Qt5CtUlqY). Maybe the reason for my failure is not using of a solder paste but even if I succeed I start to wonder what kind of nightmare that may be for the other people who eventually decide to follow this project. Fortunately soldering (with the right soldering tip) of even tiniest SMD ICs (such as 5-pin SOT-23) become surprisingly simple.
In this first post I’d like to present some basic facts about projects such as goals, features, schematic  and PCBs that I’m going to order soon. I hope that will generate discussion that will further improve this project even if that not necessary simplify something that one can already found too complex :) Maybe we even ends up in not so distant future with group buy, who knows. Here we go:

Project goals list
PCB list

Modules feature list
Power board
Schematic on Sheets 1/10 to 4/10
Current status:
Most parts are tested. That also include basic ADC/DAC functionality (set Vout and Iout using DAC and measuring Vout/Iout using ADC). Require additional testing for pre-regulator tracker when pre-regulator enter buck-boost mode (Vin ? Vout). Currently design include a silly way of achieving power up and power down without overshooting regardless of the fact that load is connected or not. That is mainly because a bias supply with separate transformer (LM317/7805/LM339L) is used when experimenting and power-up sequencing is not correct (correct biasing comes too late despite of fact that pre-regulator has huge soft start of ~40ms).
During testing a LM5118 based pre-regulator was on the first PCB version. Power inductor in buck-boost can be under real stress and some of them (Bourns PM2110-820-K-RC1240) can reach, I believe due to the saturation (tested with Vin=40VAC and  Vout=50V/3A), a temperature of 90oC or even more! The most flexible solution is playing with own inductor winded on the ETD ferrite core.
Low noise LDO (LT3030, TPS7A3001) in combination with SMPS pre-regulator (LM5574) was tested on breadboard only. That was pretty challenging and real performance (ripple rejection) was not possible to test.
For load/stability testing the following parts are used: 2 x 8R2/100W, 2 x 33/25W power resistors and 4 x 12V/35W halogen lamps. Tested with full 150W and beyond that (approx. 200W). Testing of two channels will be started when PCB arrived (then will be possible to test SMPS frequency sync and serial and parallel connection). I’d like to extend stability testing using 100R/25W resistor and DC motor (~100W).


(Removed description of obsolete MCU board, 4x4 keypad, Ethernet + USB sockets, Binding posts board and Aux power supply due to message limit of 20000 characters)



Title: Schematic as image files and PCBs
Post by: prasimix on January 18, 2015, 09:20:52 pm
Sheets from schematic (PDF) as separate image files ...
Title: Few LM5118 pre-regulator measurements ...
Post by: prasimix on January 18, 2015, 10:01:44 pm
Here you can find some measurements done on pre-regulator (assembled on first PCB revision) with pure resistive load (two 8R2/100W in connected in series). Vin=40VAC therefore for the upper limit LM5118 is in buck-boost mode that generate more output ripple then is buck mode. For measurements are used simple short ground probing (no differential probing with two channels).

Channel color legend:
Yellow - Vout ripple (AC coupled)
Cyan - Vout (DC coupled)
Magenta - HI mosfet Gate
Blue - LO mosfet Gate

Power inductor is approx. 100uH (custom made on ETD29/16/10 ferrite core).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: diyaudio on January 18, 2015, 10:14:24 pm
Good job I admire your efforts. 

Why the over complex design? a goal with the same specifications can be achieved with a quad op-amp, some regulators and references for the error-amplifiers and power mosfets.
Title: Step response using DAC programming ...
Post by: prasimix on January 18, 2015, 10:21:24 pm
Additional possibly interesting measurement what I can provide in this moment is how PSU follow DAC instructions. Please note that measurement was performed with post-regulator section build on breadboard. DAC command was sent using Arduino in infinite loop sequence of three U_SET value each 5, 20 or 50ms long. Connected load was again 16R4 (2 x 8R2). As you can see there is no overshooting nor undershooting presents. Falling edge is possibly too slow. This is done with 100uF capacitor connected on the output. Channel color legend is the same as in the previous post. HI and LO gate signals frequency is too high to be seen correctly.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 18, 2015, 10:29:24 pm
Good job I admire your efforts. 

Why the over complex design? a goal with the same specifications can be achieved with a quad op-amp, some regulators and references for the error-amplifiers and power mosfets.

Thanks for your feedback. I'm open for any suggestion as long as it can provide 0-50V/3A with isolated low voltage transformer (no AC-DC pre-regulation, I'm still not ready to cope with 230V or 400V from PFC), stable operation (no overshooting regardless of connected load), quit operation (no cooling fan) and isolated and simple communication with digital part.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Alex30 on January 19, 2015, 01:22:01 am
Very impressive prasimix. Way beyond my level of understanding but based on your specs it sounds as though you have made a top of the range PSU. I will be following this with interest! :)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 19, 2015, 08:24:34 pm
Very impressive prasimix. Way beyond my level of understanding but based on your specs it sounds as though you have made a top of the range PSU. I will be following this with interest! :)

Thanks. Maybe it looks a little bit too complex but for basic functionality you need only what is presented on the first three sheets. Even there Pre-regulator and bias circuity could be far simpler (Sheet 1) but I really want to play a little with new stuff and hopefully get i.e. low noise solution despite of inherently noisy SMPS environment. LM5118 based pre-regulator alone in buck mode already shows very nice results (at least far better then what I heard from a friend who told me that I cannot expect anything better then 100mVpp of Vout ripple with SMPS alone).
I'll add more information when I continue works on PCBs and make some real testing with MCU board activated.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: steve_w on January 19, 2015, 08:46:13 pm
Are you doing the boards?

regards

SW
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 19, 2015, 08:50:49 pm
Yes, I posted PCB layout by mistake in separate thread and asked moderator/admin to move it here.
Title: Simple dummy load
Post by: prasimix on January 24, 2015, 10:58:34 pm
While waiting for PCBs I spent some time to organize my halogen lamps based dummy load in a proper way (holder of the first one was almost melted by high temperature). Here are some pictures if some find such approach useful.
Title: Front panel excercise
Post by: prasimix on January 28, 2015, 12:44:16 am
I spent some time to test how is working Front Panel Designer (http://www.schaeffer-ag.de/en/downloads/front_panel_designer/) (v4.41 for 64-bit linux) from Schaeffer AG. It's really nice and simple tool covering everything that I can imagine in this moment. Great feature is built-in price calculator. Unfortunately not so nice "feature" is the total cost of simple design :scared:. Here is what I have in mind for MCU controlled and manually controlled dual channel unit. I took as a reference dimensions of Modushop's Alu-cases (http://www.modushop.biz/ecommerce/cat108_l2.php?n=1) (with front panel's of 320x115mm and 280x115mm respectively).

The first design costs 73.91EUR (87.95EUR incl. VAT, excl. S&H) and the second one 109.74EUR (130.59EUR incl. VAT, excl. S&H) :palm:. Does anybody recently made an order that can tell me how accurate is that price calculator?


Title: Re: Front panel excercise
Post by: prasimix on January 29, 2015, 08:49:16 pm
Here is a few suggestions that I got so far as possible alternative route for excellent but pricey Schaeffer solution. The first two are addressing cover labels, the latest one looks as ingenious total solution (at least for the smaller front and back panels):



Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: ali80 on January 29, 2015, 09:23:15 pm
interesting project, keep up the good work
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Alex30 on January 31, 2015, 12:21:49 am
Those decals are really great but if it was me I would go the cheaper route and get some of those translucent sticker sheets off ebay and then either cut out the label region or carefully cut out the individual letters\symbols depending on what look you wanted, either that or go with option 2 which is a bit more expensive. But yeah, finding cases and workable front panels is an absolute pain, which is why most of my projects are not even boxed because I lose interest! Since I've got into electronics I have always regretted the fact that my mate's dad at high school sold his industrial CNC machine that he used to make cool metal designs on. I've been thinking of getting a 3d abs printer just for easy case designs because it's all just too hard basing your needs on random case sizes you find on these random websites.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: senso on January 31, 2015, 01:05:46 am
Following this thread, seems interesting.

About the front-panel, maybe 10mm thick acrylic laser cut and then a vinil decal on top for lettering, would be cheaper, as almost every big printing services also have acrylic laser cutters.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 31, 2015, 01:15:58 am
Thanks Senso for your input. Acrylic or any other non-metal material has a small disadvantage when we comes to the question of EMI. The PSU is using SMPS as a pre-regulator and good shielding has to be in place. Ok, acrylic panel can be backed with simple single layer PCB from inner/hidden side.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: senso on January 31, 2015, 01:19:46 am
If you can export/re-design your front-panel in SVG/vectorial format there are some online laser/milling services, but usually they are all US based, and shipping to Europe as usual kills the deal.
There is also www.mfg.com (http://www.mfg.com) , it might look sketchy, but I know people that used the service and where satisfied both in quality and good prices, it might be worth a shot.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Alex30 on January 31, 2015, 01:24:46 am
Thanks Senso for your input. Acrylic or any other non-metal material has a small disadvantage when we comes to the question of EMI. The PSU is using SMPS as a pre-regulator and good shielding has to be in place. Ok, acrylic panel can be backed with simple single layer PCB from inner/hidden side.

I don't want to join the tin foil society just yet but I was wondering if tin foil glued onto the interior of a plastic case could provide effective shielding?

Edit
I also envisaged the shielding to be bonded to ground btw
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: codeboy2k on January 31, 2015, 08:09:42 am
I don't want to join the tin foil society just yet but I was wondering if tin foil glued onto the interior of a plastic case could provide effective shielding?
Edit
I also envisaged the shielding to be bonded to ground btw
I've never tried it with Al foil, but I think it could work. I've effectively used paintcans and tin cookie containers with good success. They are tin plated steel and thicker than Al foil, though.

(http://i.imgur.com/SwUdh3p.jpg)

See Wiki here too.
http://en.wikipedia.org/wiki/Aluminium_foil#Electromagnetic_shielding (http://en.wikipedia.org/wiki/Aluminium_foil#Electromagnetic_shielding)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: uChip on February 05, 2015, 05:24:34 am
[editing for clarity] Regarding how to create nice enclosures and front panels for this (or any) project.  Not too long ago I purchased and built the function generator kit shown in the first picture.  Let's not get into the quality (or lack thereof) of the kit.
first picture: Function Generator from JYETech.com
The kit did not come with an enclosure but did come with a pretty nice front panel (silkscreened acrylic) so I designed and printed and enclosure for it.
second picture
I wanted to design nice looking front panels for some other projects so I did some research.  Most of the solutions I found were too expensive, too error prone or required too much artistic crafting (soldering is about as skilled a handcraft as I can do).

What I came up with looks like this:
third picture
The front panel is a sandwich of laser cut acrylic sheets.  Cost is about $15 for the laser cut acrylic.  What is perhaps unique is that the front panel design is created in Eagle CAD.  The front panel is extracted from the PCB design.  The key is an Eagle library that has the front panel mechanicals included as part of the component definition.

For shielding you could 1) paint the interior of the enclosure with a conductive paint 2) apply tinfoil (sort of like gold leaf) to the interior of the plastic 3) enclose appropriate parts of the circuit in a metal box fastened to the floor of the enclosure, or I'm sure there are other solutions.

If you'd like more info or to download the library see this forum thread https://forum.sparkfun.com/viewtopic.php?f=5&t=39492 (https://forum.sparkfun.com/viewtopic.php?f=5&t=39492) and my github repo https://github.com/StdBx/Series100 (https://github.com/StdBx/Series100).

  - Chip

PS. Rereading this, it comes off as a sales pitch.  I'm not selling anything, but I am publishing my work so that others might have an easier time doing something similar.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 06, 2015, 09:24:19 am
Thanks uChip for contribution. I'll keep it in mind as time to make a final decision about housing comes.
Title: PCBs is arrived
Post by: prasimix on February 06, 2015, 09:35:46 am
PCB's arrived yesterday or within 2 weeks from moment of ordering. A nice supplier (printed.cz (http://www.printed.cz/eng/shop/set-full-mode)) which I'd like to recommend.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=134463)

Here is the main board where is located all circuit from Sheet 1 to 4 namely input bridge rectifier and capacitors, power pre-regulator, power post-regulator (CV and CC), bias supply pre-regulator and LDOs, OCP, CC/CV indicators and isolated sync for pre-regulators. That is a functional analog part of the PSU. On the same board is also located digital part that is used to communicate with MCU board via SPI. That mean DAC, ADC and I/O expander.

Title: Additional PCBs ...
Post by: prasimix on February 06, 2015, 09:39:18 am
Companion PCBs to the power board looks in this revision like this:
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kevin.D on February 06, 2015, 10:52:37 am
Nice project. I can see you put alot of effort into it, is it your schematic or from an already  published/tested project ? The reason I ask is that I think there may be a stability/CC performance issue due to the way Q4 is driven. Do you have a spice sim available to post (just the basic main control loop components is all thats needed to show if this is so Q4,Q5,Q6, IC7A-IC7D and associated small  stuff) .

Regards

Edit .I should have read the other few posts above :) I  see someone says it's a kit from  JYETech.com .Still do you have a sim available ?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: uChip on February 06, 2015, 05:05:21 pm
Kevin,
I think you are interpreting my posting above incorrectly.  The JYE Teck kit I refer to has nothing to do with PS design.  As far as I am aware prasimix' design is his own based on previous designs from Ian Johnston and Gerry Sweeney.  Rereading my posting, I can see how you might have interpreted it otherwise.  I'll go back and edit to clarify.
Thanks,
Chip
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 06, 2015, 06:29:22 pm
Nice project prasimix.
How much did all those PCBs set you back?

Huh, it's not easy to say since I made a panel with some other PCBs that not belong to this project. A good way to estimate a cost is to use their online calculator.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 06, 2015, 06:45:39 pm
Nice project. I can see you put alot of effort into it, is it your schematic or from an already  published/tested project ? The reason I ask is that I think there may be a stability/CC performance issue due to the way Q4 is driven. Do you have a spice sim available to post (just the basic main control loop components is all thats needed to show if this is so Q4,Q5,Q6, IC7A-IC7D and associated small  stuff) .

Regards

Edit .I should have read the other few posts above :) I  see someone says it's a kit from  JYETech.com .Still do you have a sim available ?

Thanks Kevin.D. As I mentioned in the first post, I don't have any simulation available. LTspice looks nice but it lacks most of components that I'm using. Any suggestion or help regarding this topic is highly welcomed. When we talks about power board everything is based on many hours spent in front of breadboard. I started with something that was unstable but over time with adding few components and fine tuning (like C49, C54, C55, C56, R39 and R48) I think that I got a stable solution over whole range (0-50V, 0-3A) at least when testing with pure resistive loads (16R8, 33R and 66R). Of course all suggestions how to possibly improve the design are also highly welcomed.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: void_error on February 06, 2015, 10:52:32 pm
For simulations I use SIMetrix, the free version. Its only drawback is that it can only simulates circuits up to 140 nodes. I tried LTspice myself and found it too fiddly because of it's quite primitive UI.

Other tan that, what can I say? Nice design, although a bit too complex for my taste. Keep up the good work :-+
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 07, 2015, 06:22:32 pm
Thanks for recommendation. It seems that it cannot be installed thru Wine on Linux but I'll try it using Virtualbox (https://www.virtualbox.org/).
Title: MCU board and keypad assembled ...
Post by: prasimix on February 12, 2015, 12:10:31 am
I know that this is not a correct order of presenting what is already done under PSU project but I didn't have a chance to make a lot of progress on power board (I got yesterday required inductor for bias ps) so I decide to test how MCU board is working.
The following pictures shows MCU board with minimum components required to make connection to ISP programmer (I'm using Arduino for that) and run simple test melody on buzzer. I reused the following code:

Code: [Select]
/*
 Melody
 
 Plays a melody
 
 created 21 Jan 2010
 modified 30 Aug 2011
 by Tom Igoe

This example code is in the public domain.
 
 http://arduino.cc/en/Tutorial/Tone
 
*/

 #include "pitches.h"

// notes in the melody:
int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
  4, 8, 8, 4,4,4,4,4 };

void setup() {
  // iterate over the notes of the melody:
  for (int thisNote = 0; thisNote < 8; thisNote++) {

    // to calculate the note duration, take one second
    // divided by the note type.
    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
    int noteDuration = 1000/noteDurations[thisNote];
    tone(A1, melody[thisNote],noteDuration); // Arduino pin A1 is PF6 (Pin 37) assigned to BUZZER

    // to distinguish the notes, set a minimum time between them.
    // the note's duration + 30% seems to work well:
    int pauseBetweenNotes = noteDuration * 1.30;
    delay(pauseBetweenNotes);
    // stop the tone playing:
    noTone(A1);
  }
}

void loop() {
  // no need to repeat the melody.
}

... and required header file:

Code: [Select]
/*************************************************
 * Public Constants
 *************************************************/

 #define NOTE_B0  31
 #define NOTE_C1  33
 #define NOTE_CS1 35
 #define NOTE_D1  37
 #define NOTE_DS1 39
 #define NOTE_E1  41
 #define NOTE_F1  44
 #define NOTE_FS1 46
 #define NOTE_G1  49
 #define NOTE_GS1 52
 #define NOTE_A1  55
 #define NOTE_AS1 58
 #define NOTE_B1  62
 #define NOTE_C2  65
 #define NOTE_CS2 69
 #define NOTE_D2  73
 #define NOTE_DS2 78
 #define NOTE_E2  82
 #define NOTE_F2  87
 #define NOTE_FS2 93
 #define NOTE_G2  98
 #define NOTE_GS2 104
 #define NOTE_A2  110
 #define NOTE_AS2 117
 #define NOTE_B2  123
 #define NOTE_C3  131
 #define NOTE_CS3 139
 #define NOTE_D3  147
 #define NOTE_DS3 156
 #define NOTE_E3  165
 #define NOTE_F3  175
 #define NOTE_FS3 185
 #define NOTE_G3  196
 #define NOTE_GS3 208
 #define NOTE_A3  220
 #define NOTE_AS3 233
 #define NOTE_B3  247
 #define NOTE_C4  262
 #define NOTE_CS4 277
 #define NOTE_D4  294
 #define NOTE_DS4 311
 #define NOTE_E4  330
 #define NOTE_F4  349
 #define NOTE_FS4 370
 #define NOTE_G4  392
 #define NOTE_GS4 415
 #define NOTE_A4  440
 #define NOTE_AS4 466
 #define NOTE_B4  494
 #define NOTE_C5  523
 #define NOTE_CS5 554
 #define NOTE_D5  587
 #define NOTE_DS5 622
 #define NOTE_E5  659
 #define NOTE_F5  698
 #define NOTE_FS5 740
 #define NOTE_G5  784
 #define NOTE_GS5 831
 #define NOTE_A5  880
 #define NOTE_AS5 932
 #define NOTE_B5  988
 #define NOTE_C6  1047
 #define NOTE_CS6 1109
 #define NOTE_D6  1175
 #define NOTE_DS6 1245
 #define NOTE_E6  1319
 #define NOTE_F6  1397
 #define NOTE_FS6 1480
 #define NOTE_G6  1568
 #define NOTE_GS6 1661
 #define NOTE_A6  1760
 #define NOTE_AS6 1865
 #define NOTE_B6  1976
 #define NOTE_C7  2093
 #define NOTE_CS7 2217
 #define NOTE_D7  2349
 #define NOTE_DS7 2489
 #define NOTE_E7  2637
 #define NOTE_F7  2794
 #define NOTE_FS7 2960
 #define NOTE_G7  3136
 #define NOTE_GS7 3322
 #define NOTE_A7  3520
 #define NOTE_AS7 3729
 #define NOTE_B7  3951
 #define NOTE_C8  4186
 #define NOTE_CS8 4435
 #define NOTE_D8  4699
 #define NOTE_DS8 4978


Title: LCD display on MCU board ...
Post by: prasimix on February 12, 2015, 12:15:00 am
... and some pictures where a fully assembled board with connected LCD 128x64 and test message (using u8glib (https://code.google.com/p/u8glib/)) is showed. Here is the code:

Code: [Select]
#include "U8glib.h" // Universal 8bit Graphics Library, http://code.google.com/p/u8glib/

// Define LCD type
// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
U8GLIB_ST7920_128X64_1X u8g(A0); // Arduino Pin A0 is PF7 (pin 36) assigned to LCD_SELECT

void draw(void) {
  // graphic commands to redraw the complete screen should be placed here 
  //u8g.setFont(u8g_font_unifont);
  u8g.setFont(u8g_font_tpss);
  //u8g.setFont(u8g_font_osb21);
  //u8g.setFont(u8g_font_04b_03b);
  u8g.drawStr( 0, 10, "Welcome screen");
  u8g.drawStr( 0, 22, "PSU dual 0-50V/0-3A");
  u8g.setFont(u8g_font_04b_03b);
  u8g.drawStr( 0, 30, "- SMPS pre-regulator");
  u8g.drawStr( 0, 36, "- Linear post-regulator");
  u8g.drawStr( 0, 42, "- CC/CV, OCP");
  u8g.drawStr( 0, 48, "- 16-bit DAC, 15-bit ADC"); 
  u8g.drawStr( 0, 54, "- Isolated USB and Ethernet");
  u8g.drawStr( 0, 60, "- Arduino sketches");
}

void setup(void) {
  // Set LCD brightness
  pinMode(11, OUTPUT); // Arduino Pin 11 is PB7 (pin 12) assigned to LCD_BRIGHTNESS
  analogWrite(11, 200); // (value from 0 to 255, 0=dark)

  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1);         // pixel on
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
 
  u8g.firstPage(); 
  do {
    draw();
  } while( u8g.nextPage() );
}

void loop(void) {

  // Nothing to do
 
}
Title: Aux power supply
Post by: prasimix on February 12, 2015, 07:48:06 pm
Aux power supply PCB is assembled and tested. LM5574 works nicely and I choose it because it is also used for bias power supply on power board when input voltage could go up to 67V. The board is intended to provide separated +5V for MCU board and Binding posts board. Max. consumption is ~400mA (mostly consumed by binding posts LEDs and relays when all are active) which LM5574 is delivering without problem.

Here are some pictures of assembled board and basic measurements.
Title: Power pre-regulator inital testing
Post by: prasimix on February 15, 2015, 01:24:18 am
Power pre-regulator is located on the power PCB (Reply #22 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg602811/#msg602811)) and initially presented on the Sheet 1 (Reply #1 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg589404/#msg589404)). I'd like to share some information about initial testing of this part of the system.

First I'd like to starts with some mistakes. Input filter capacitors are located optimistically too close to the rectifier diodes D2 and D3. Since that diodes has to be mounted with screw to the main heatsink there is not many spaces for maneuvering with a screwdriver. It's so difficult to mount mentioned diodes but they could be more accessible.
Another mistake that cost me one LM5118 is that I forgot to add a small resistor in serial with P1. In normal operation a whole section P1, R1 and R2 is not necessary since PREG_FB signal (Sheet 2) will be used for controlling PREG_OUT. I added this section deliberately because in that way you can assemble and test power pre-regulator section without tracking control and the rest of the post-regulator (Sheet 2). So what's happened? P1 was initially set for Vout below 10V and I started to turn P1 too fast (approaching ground) and since LM5118 is buck-boost controller it has no problem to increase Vout to 100V! I heard click and the next action was removing LM5118 with rose's metal (http://"https://en.wikipedia.org/wiki/Rose%27s_metal") from the PCB and mounting another one :headbash:.

In attachment you can see pre-regulator section of the power PCB. Power inductor (TR1) is Wishay IHTH1125MZEB101M5A (http://"http://uk.farnell.com/vishay-dale/ihth1125mzeb101m5a/inductor-100uh-20-9-25a/dp/1764427"). Selected heatsink is RAD-A52317/50 (http://"http://www.tme.eu/en/details/rad-a52317_50/radiators/") (painted in black). I'll play in the future with other inductors and try heatsink Fischer SK85/50/SA (http://"http://www.tme.eu/en/details/sk85_50_sa/radiators/fischer-elektronik/").

Currently I've measured the following temperatures on some key components under max. load when LM5118 enters buck-boost mode (@Iout=3A, Vin=48VAC, Load=16R4, Tabient=23oC):
When pre-regulator is in buck mode temp. figures are much better (@Iout=3A, buck mode, Vin=48VAC, Load=4x35W||4x35W lamp, Tabient=23oC):
Title: Schematic of tested power pre-regulator and measurements ...
Post by: prasimix on February 15, 2015, 02:05:23 am
Attached schematic reflects changes added to the initial version of the power pre-regulator presented in Sheet 1 (Reply #1 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg589404/#msg589404)). It's accompanied with my version of TI's quick calculator (http://"http://www.ti.com/lit/zip/snvu065") that is used for defining component's value.

Unfortunately I didn't succeed with deployment of the output filter (L2, L3, C17 in the first version from Reply #1) to further decrease ripple without serious oscillations when load is attached so it's for now removed from the schematic.

For testing I've used various resistive loads incl. lamps (see Reply #10 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg593824/#msg593824), which actually works like a huge PTC resistor) and DC motor as an inductive load. Signal traces are marked with Vout, Sync (LM5118's pin 11), HO (pin 19) and LO (pin 15). I tried to checked output ripple, possible instability with various loads, gate output signal and power up/down overshoot. I hope that picture titles are self-explaining and as you can see I went with testing Iout with up to 5A (ok, still within projected 150W).
Interesting and on the first sight possibly misleading picture is one which shows power up and down with 4x35W lamp load connected. Since when lamp is cold its resistance is similar to short circuit, LM5118 gradually reach required Vout as wire filament heated.
Title: Power pre-regulator efficiency...
Post by: prasimix on February 15, 2015, 09:01:19 pm
I tried to get some idea about power dissipation and does current heatsink will be enough for extreme case (50V/3A on output). Measuring Vin and Iin as AC (rms) and Vout and Iout as DC I got the following data:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=136300)

If I substract few Watts from ~16W in 50/3A that is dissipated on power inductor (TR1) and Rsense (R12), and also add a couple of Watts because I have to go up to 52V/3A plus at least 6W on Q4 from post-regulator then it's still ~20W for max. output. Due to that probably a little bit bigger heatsink will be required. A previously suggested SK85/50/SA with thermal resistance Rth od 1.35K/W should do a good job keeping temperature to the 50oC if Tambient is 23oC.
Title: Doubt about installing heatsink on back panel of Alu-enclosure
Post by: prasimix on February 16, 2015, 01:37:23 am
I have doubts about one rather simple issue: how to install heatsink on back panel of Alu-enclosure in the most efficient way? When I say efficient mean thermally and financially. One possibility is to open a huge rectangular hole on back panel that all TO-220 devices can be mounted directly on to heatsink. Another one is to mount them directly to the back panel and mount heatsink on opposite (external) side to assist thermal conduction. Second option is mechanically simpler (and cheaper) but with possibly lower thermal performance. But how much lower? Is it worth considering such option? Back panel area will be 280x115mm or 320x115mm (1.5-2mm thick). I'm not aware of calculator which take into account such setup.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Paul Price on February 16, 2015, 02:13:41 am
Making a large hole in the back panel may decrease the structural rigidity of the whole cabinet. Adding a large heatsink to the rear adds to the structural robustness and heatsink compound would eliminate thermal conductivity problems.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: SeanB on February 16, 2015, 02:38:16 am
Mount on the double finned heatsink section, and cut a smallish hole and use some flexible grommeting to cover the edges, then lead the wiring through it to the inside. Using the back panel as a heatsink works, but the holes must be deburred, and the 2 mounting faces ( between device and back, and back and heatsink) must have heatsink compound applied to them, and the back must be flat and unwarped.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 16, 2015, 07:52:11 pm
My idea is to leave TO220 device soldered on the PCB, drill i.e 4mm "thru-hole" on back panel and mounting them with M3 screw to heatsink which is mounted on external side of the back panel. In that case no extra wiring is required (other possibility is to make a M3 hole to both back panel and heatsink). Of course, thermal transfer paste will be applied on the both side of the back panel.
Title: Power board update...
Post by: prasimix on February 26, 2015, 10:02:35 pm
Power board is completely assembled and main function was tested. I have some good, not so good and bad news. Let's start with good one. Using bias power supply presented on the Sheet1 works much better and power up and down issues with overshooting caused by improper power sequencing is not exists any more. While "breadboarding" I used external transformer and set of standard linear regulators (7815, 7805, LM337) that provides required +15, +5 and -15V too late during power-up and vanish too early when power goes down. Power up and down sequencing can be found in the attachment. As a result a whole "mechanic" about controlling post-regulator power mosfet bias with TLC555 and relay is not necessary anymore freeing some PCB real estate.
Not so good news is that I found a mistake in connecting bias power supply coupled inductor. Fortunately it's not so big and with a couple of track cut and rewiring it works fine with existing PCB layout. A new Sheet1 with corrected coupled inductor wiring is also attached. LM5574 works very nicely alone and selected LDO's is probably overkill for a DIY project. I'll probably in next PCB layout make a space for lower-cost alternative like LM317, LM1117 and LM337.
Finally a bad news. Currently the only "small detail" which stopping me to announce this board finished (and functional without MCU control) is that planned tracking control does works with LM5118. It even ends up with its blowout and wiping out my LM5118 stock like a storm. So, LM5118 works just perfectly when it is controlled with "standard" feedback derived from resistor divider network (R1/P1, R2 from the latest Sheet1). When JP2 is shorted on position 1-2 I have a real mess. It even cause that ZD1 used to connect Vccx to the aux bias (as a mean of lowering LM5118 dissipation) is destroyed! I hope that TI's people will came up with some ideas or completely different approach will be required (based on simple PNP or optocoupler trackers published in some LTC's application notes).
Title: Pre-regulator tracking control progress...
Post by: prasimix on March 06, 2015, 08:40:45 pm
I made some progress playing with tracking control for pre-regulator. To be sure and avoid destruction of new arrived LM5118s first I tested that everything works replacing the lower resistor with a LDR (Farnell: 2293503 (http://export.farnell.com/excelitas-tech/vt90n1/ldr-200kohm-80mw-vt900-series/dp/2293503)) in resistor divider based feedback to set pre-regulator Vout (or PREG_OUT in schematic). After that step I built a tracking control coupling LDR with 3mm red LED which could be replaced in the final stage with some ready made solution (i.e. NSL-32SR3, Farnell: 3692218 (http://export.farnell.com/advanced-photonix/nsl-32sr3/optocoupler-2kv-resistive-o-p/dp/3692218)).

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=140259)

This solution works providing difference of ~2.1V between PREG_OUT and OUT+ (after post-regulator), but not completely. It failed to set a desired voltage if during power up load is connected (i.e. 100R resistor) :palm:
If load is connected after power up everything continue to work fine: pre-regulator is "locked" to post-regulator output. Currently don't have idea why is that and yours suggestions are welcomed. Please also find in attachment some measurements during power up: without load (set Vout=10V), without load (set Vout=18V) and with 100R load (set Vout=10V or any other higher then 1.2V).

Please note that "glitch" when Vout is set to 10V. It's present for Vout range of approx. 2v to 18V. Maybe that's a clue to workable solution :-//. Is it in any way connected with the fact that power mosfet driver is not connected to ground but to -2V currently derived from -15V using 13V Zener diode?
Title: Re: Power pre-regulator efficiency...
Post by: Neganur on March 06, 2015, 10:15:55 pm
I tried to get some idea about power dissipation and does current heatsink will be enough for extreme case (50V/3A on output). Measuring Vin and Iin as AC (rms) and Vout and Iout as DC I got the following data:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=136300)

This graph reminds me of cable losses. Were your cables thick enough to not drop any voltage at 3 A ?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: dom0 on March 06, 2015, 10:52:09 pm
The highest current is to the left, the lowest to the right. So the efficiency goes down as load decreases ; not surprising but typical.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 06, 2015, 11:08:07 pm
The highest current is to the left, the lowest to the right. So the efficiency goes down as load decreases ; not surprising but typical.

Exactly.
Title: Re: Pre-regulator tracking control progress...
Post by: prasimix on March 06, 2015, 11:18:11 pm
Here is the latest circuit that appears to works even with load connected :). Still, all yours suggestions are welcomed regarding this solution or any other.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=140271)

Added capacitor C1 is charging during power up via D1. D2 is added to discharge it quickly enough after power down that it is ready for next power up that can happen shortly after. Attached is also the measurement of two consecutive power ups.
Title: Re: Pre-regulator tracking control progress...
Post by: prasimix on March 07, 2015, 12:58:07 am
Phew almost there |O. First R8 (36K) should be 47K to reach full scale (Vout up to 50V). R18 (2K2) also need to be higher (4K7) otherwise it will be very hot with higher Vout. The problem with this "capacitor trap" is that when Vout is once set below 1.2V (LM5118 reference voltage) then tracker stop functioning locked on 1.2V regardless of Vout that is set after above that value. If I connect C1 to -2V (that is also used by power mosfet driver) that issue vanish, but if Vout is set to 0V on then next power up it will jump to 1.2V! :-BROKE
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on March 07, 2015, 04:01:01 am
Had the similar problem with my power supply.
Solved it by using  the output set voltage to control the pre-regulator when the power supply output is switched off.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: teddy529 on March 07, 2015, 04:14:11 am
Mark+ this is awesome!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on March 07, 2015, 08:17:32 pm
My idea is to leave TO220 device soldered on the PCB, drill i.e 4mm "thru-hole" on back panel and mounting them with M3 screw to heatsink

I'm using thick (6 mm) aluminium plate to mount transistors. The plate mounting to external heatsink through rear panel window. It's easy to disassemble - no need to unscrew every TO-220 case. And I can briefly turn on device even without external heatsink in debug state - plate is sufficient heatsink.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 07, 2015, 11:42:00 pm
Had the similar problem with my power supply.
Solved it by using  the output set voltage to control the pre-regulator when the power supply output is switched off.

Are you using op-amp or transistor based tracking control? Can you share it with us?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 07, 2015, 11:44:57 pm
My idea is to leave TO220 device soldered on the PCB, drill i.e 4mm "thru-hole" on back panel and mounting them with M3 screw to heatsink

I'm using thick (6 mm) aluminium plate to mount transistors. The plate mounting to external heatsink through rear panel window. It's easy to disassemble - no need to unscrew every TO-220 case. And I can briefly turn on device even without external heatsink in debug state - plate is sufficient heatsink.

Looks excellent and quite practical! I also like this "debug" feature  :-+
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on March 08, 2015, 12:39:48 am
Had the similar problem with my power supply.
Solved it by using  the output set voltage to control the pre-regulator when the power supply output is switched off.

Are you using op-amp or transistor based tracking control? Can you share it with us?

My circuit differs a lot from yours.
The pre-regulator is derived from a SCR control, instead of SCR's I use a MOSFET.
I use a separate dac to control the pre-regulator. ( and output of the power supply )
The output voltage of the pre-regulator is the sum of the dac output and the output voltage of the power supply.

Currently building version 4, I have attached version 3 of the power supply.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on March 08, 2015, 09:41:23 am
The pre-regulator is derived from a SCR control, instead of SCR's I use a MOSFET.

Similar pre-regulator used in Agilent U8002A circuit (http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_641803UM8FLW.pdf).
Title: New post-regulator à la Liv
Post by: prasimix on March 22, 2015, 07:02:47 am
Many things have happened since my last post. I continued my quest for workable tracking control and tried one that is e.g. used in LTC’s DC2132A (http://www.linear.com/solutions/5086). It’s interesting that they have two schematic revision where tracking control section is updated. Both of them contains RC filter without values. Don’t know why possibly because a whole thing is not so exact and require some experimenting. I tried that circuit and can say that it works fine up to ~25V and after that it starts to produce instability in SMPS pre-regulator especially after 30V which makes this solution unacceptable for my project. I tried to isolate PNP from FB pin using regular optocoupler (4N35), it works a little bit better but still not acceptable and finally when I used LDR coupled with LED it works nice up to 50V. So lets say that this part of the story is closed.
After that I decide to test Liv’s design which he is using in all of PSU’s what he built and presented here (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-24012/) and here (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/). Finally I started to use spice software, first Simetrix (thanks void_error) but shortly came to free version limitation :(. That’s pity since this software works really nice and I started to use it almost instantly. Anyway simple CV control loop model for Simetrix is enclosed in attachment. Next station was Ltspice. Thanks to massive and excellent assistance from Liv I ended up with model which is also enclosed. Actually three of them. First is with LTC2057 (http://www.linear.com/docs/43236) as a current shunt monitor which I selected since I have few of them on disposal for breadboarding.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142851)

Second model is derived from previous one as an example of CV control loop only in case that you have the same problem that I noticed – simulation lasts possibly forever (I left it overnight but without success). It’s possibly a problem with my environment since I’m running LTspice on Ubuntu with Wine. Due to that I also send in attachment another model with AD8610 used as current shunt monitor. I currently have no plan to test AD8610 since it doesn’t look attractive due to its high price. Final candidate for this function is still not selected, but there is no need to stick with only one since there is many nice op-amps that can be used. Here is the table with some of them that I found interesting:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142855)

Any your inputs is highly welcomed. In the final step when a new PCB has to be made I need to decide which package to use SO8 or MSOP8. Again, your inputs is welcomed.

Title: Downprogrammer...
Post by: prasimix on March 22, 2015, 07:14:25 am
New post-regulator include so-called down-programmer. I found this feature (check i.e. this (http://cp.literature.agilent.com/litweb/pdf/5968-6359E.pdf) and this (http://cp.literature.agilent.com/litweb/pdf/5965-8239E.pdf) Agilent documents) useful and decide to definitely test it and eventually add to the next PCB revision. Difference cannot be noticed with huge load (small impedance) but it’s clearly visible with smaller load or no load. Please find below two screenshots from simulations with down-programmer (DP) switched off and on:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142858)
(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142860)

Here is how it looks like when Vout is controlled by sequence 5-7.5-10-7.5V sent using DAC. Notice difference in fall time:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142862)
(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142864)
Title: Rise time...
Post by: prasimix on March 22, 2015, 07:23:07 am
LTspice model presented recently will produce for some reason not so attractive rise time for U_SET step function (tested with PWL(0 0 110u 0 120u 1 2.78m 1 2.8m 50m 3m 50m):

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142870)

In real life it looks much better (115us!):

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=142868)

Title: Power board redesign...
Post by: prasimix on March 28, 2015, 11:46:39 pm
From some previous posts became obvious that Power board which is hosting pre-regulator, post-regulator, bias powers and ADC/DAC sections will require massive redesign. New post-regulator is tested on breadboard and looks very promising. Also I made some testing with new power pre-regulator based on LM5088 (http://"www.ti.com/product/LM5088") device which makes a whole thing cheaper. Bias pre-regulator based on LM5574 works nice and will stay but for bias post-regulators I'd like to use more affordable items such as LM317, LM337 and LP2951 (http://"http://www.ti.com/product/lp2951").
I also starts to think that maybe splitting this board in two section will simplify a whole assembly and testing and make it a more flexible for the future modification when i.e. a modification on the pre-regulator side will not require to thrown away the post-regulator section.
This approach rise a new question: how to interconnect that two section that was previously reside on the same PCB? My first choice is to use board-to-board connectors such as Samtec HTSW-105-08-F-D-RA (Farnell: 1926980 (http://"http://uk.farnell.com/samtec/htsw-105-08-f-d-ra/header-2-54mm-tht-r-a-10way/dp/1926980?ost=1926980")) and SSW-105-02-T-D-RA (Farnell: 2308470 (http://uk.farnell.com/samtec/ssw-105-02-t-d-ra/connector-receptacle-2-54mm-ra/dp/2308470?ost=2308470)). A multiple pins will be used for power out and ground. According to Samtec power rating is at least 5.7A per pin. Actually I don't understand what does it mean: 1 pin powered per row in datasheet. Anyway I hope that four of them for power out will be more then enough for continuous 3A (or even 5A).
I'd like to ask you if you can suggest some better but still "down to Earth" solution.
Title: New model with improved OE circuit...
Post by: prasimix on April 06, 2015, 06:53:55 pm
The model presented in post #55 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg634305/#msg634305) include Output enable circuit which is not optimal. It has two issues: when it is active it drops Vout below zero (up to ~-0.45V) and when power is going down with OE activated some ugly artifacts appears on the output. Here is the measurement of the extreme case when no load is connected:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=145665)

New model incorporate current mirror for controlling power mosfet bias and it resolve successfully before mentioned issues. Here is the schematics and .asc file is in the attachment. Note that if you have a problem with long calculation time for the whole model, simply remove CC/CV indicators section (down left).

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=145667)
Title: New power PCB...
Post by: prasimix on April 08, 2015, 11:56:16 pm
Here is the latest revision of power pre-regulator and post-regulator with new PCBs where that two circuits are separated. Thanks to that I decide to play a little bit with pre-regulator and made two PCB: SMPS version based on LM5088 and another with p-ch mosfet driven by thyristor (will be presented in the post that follow). Pre-regulator PCBs now also include floating charge pump to provide proper power mosfet bias on post-regulator board.

New power board is still comply with requirement that it can works without MCU (ADC, DAC and I/O expander are located on post-regulator PCB but are not mandatory for "manual" operation).

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=146030;image)

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=146044;image)
Title: Mosfet pre-regulator PCB...
Post by: prasimix on April 09, 2015, 12:00:34 am
Mosfet pre-regulator is based on blackdog design presented here (https://www.eevblog.com/forum/projects/very-low-noise-preregulator-for-benchtop-power-supply/msg643869/#msg643869). It looks promising at least in spice simulation that is also attached.
Since I'm going to make a new power PCB I think that one is worth some effort and could be used at least for comparison with SMPS version.

EDIT 2015-05-27: Blackdog inform me that original circuit comes from an English designer.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=146059;image)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: ali80 on April 24, 2015, 10:56:55 pm
great work, thanks for sharing
Title: Floating charge pump for nmos gate bias
Post by: prasimix on April 30, 2015, 06:21:24 pm
Inspired by question asked here (https://www.eevblog.com/forum/projects/charge-pump-question/msg636106/#msg636106) by void_error and not to hijack that thread I'm adding here model of floating charge pump that I'm going to use in the latest revision of the PSU. It's intended to add on top of Vpreg voltage supplied from pre-regulator min. 5V to insure proper operation of power mosfet in the post-regulator. I made a basic testing on the breadboard and it seems that it works at least when DP (down-programmer) circuit is disabled: a whole gate driver that include OE (output enable) circuit in that case consume ~7mA. With DP enabled according to LTspice simulation another 5mA will be required. That is something that I currently cannot produce on breadboard - consumption goes crazy up to 55mA (!) which basic charge pump cannot deliver. If this problem persist possibly circuit presented in second model (555 charge pump v2 (booster).asc) could resolve this problem. This require further investigation.

Current charge pump float on top of the input voltage for the post-regulator (Vpreg). That is required since TLC555 circuit max. supply voltage is 18V. That is accomplished with D3, R3 and filtered with C4 and in that way set to max. 15V. R3 is a problem here if you'd like to cover a whole Vpreg range (2-52V). Even if its value is zero timer cannot work properly from 2V. Due to that auxiliary supply is added (+15V) which is already present in post-regulator circuit. The most critical range is when Vpreg is a little over 15V. If R3 is too high it will be too limiting, if it's too small it will dissipate to much heat. Chosen value of 1K2 is a compromise and in worst case (Vpreg=52V) it will dissipate ~1W.

Maybe R3 could be replaced with some active circuit to provide better limitation/regulation over the range of 15-52V. Any suggestion is welcome.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=149493;image)

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=149491;image)


There is also another approach: to fix bias voltage to max. Vpreg (52V) + 5-12V and don't bother with mentioned auxiliary supply and issue when Vpreg is close to 15V.

The last possibility is to completely remove bias supply generated by charge pump. How that could be possible? If I use 48VAC on the input that rectified and filtered gives ~67VDC and put pre-regulator in-between which deliver 2-52V for the post-regulator it will act as some sort of "isolator" between Vin (67VDC) post-regulator where in the worst case (52V) difference for bias will be even in the case of max. load at least 12V.

To test mentioned scenarios I added some jumpers (JP2 and JP3 on Sheet 1 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=146032;image)). on the latest revision of the pre-regulator PCB.

Title: Charge pump revised
Post by: prasimix on May 02, 2015, 07:17:46 pm
Here is another attempt to have a charge pump that can follow pre-regulator output voltage (Vpreg) and provide in the worst case 5V higher voltage as a power mosfet bias in the post-regulator. I didn't test it yet on the breadboard since I don't have DN2535 (http://"https://www.microchip.com/TechDoc.aspx?type=datasheet&product=DN2535") or similar depletion mosfet but circuit looks correct in LTspice. Simulated case shows how Vpreg changes from 5 to 32 and 52 and back to 5V. When Vpreg drops below 15V Vaux is used as a supply. According to this simulation Vaux could go down to 9V and that the 5V difference is preserved. DN2535 power dissipation is in the worst case ~1W that shouldn't be a problem to manage with tiny TO-220 clip-on heatsink.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=149782;image)

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=149784;image)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: harrimansat on May 03, 2015, 06:55:02 am
Well done!, a lot of job!
Which efficiency do you achieved?
Why don´t directly use mains 220V as power?
My recommendation to make prototypes, especially for power electronics is to use solder breadboard. I don't like jumper boards, especially when aged, connections often faults
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: harrimansat on May 03, 2015, 07:08:23 am
Modern cheap switching power supply, 0-30V, 0-5A, with multiturn pots :


(http://imagizer.imageshack.us/v2/1024x768q90/538/Q8AgkS.jpg) (https://imageshack.com/i/eyQ8AgkSj)
(http://imagizer.imageshack.us/v2/1024x768q90/661/zyFI6c.jpg) (https://imageshack.com/i/idzyFI6cj)
(http://imagizer.imageshack.us/v2/1024x768q90/537/h1D1eQ.jpg) (https://imageshack.com/i/exh1D1eQj)
(http://imagizer.imageshack.us/v2/1024x768q90/540/PktM3O.jpg) (https://imageshack.com/i/f0PktM3Oj)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Rerouter on May 03, 2015, 08:24:36 am
I can see that this thread has been a bit quiet apart from the op, all i can say is its looking like its shaping up to be a really nice piece of kit, :)  :clap:
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 03, 2015, 06:01:39 pm
Well done!, a lot of job!
Which efficiency do you achieved?
Why don´t directly use mains 220V as power?
My recommendation to make prototypes, especially for power electronics is to use solder breadboard. I don't like jumper boards, especially when aged, connections often faults
Thanks. I'm still not ready for 220VAC adventure, but at least in the latest revision I made a clear cut between pre-regulator and post-regulator part of the power PCB. That will open a more room in the future for various scenarios including AC/DC converter without or even with PFC circuit or buck/boost SMPS for battery (car or solar) solution.
PSU should be easily downsized to i.e. 0-20 or 0-30V range and for higher current (up to 5A per channel).

I still cannot talk about overall efficiency. I made some measurement of pre-regulator based on LM5118 in post #36 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg610078/#msg610078).
I'm planning to explore three another type of pre-regulators: based on LM5088 (http://www.ti.com/product/lm5088), LM5116 (https://www.ti.com/product/lm5116) and one proposed by blackdog (see post #61 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg647493/#msg647493)). The latest one probably has the worst efficiency but also the cleanest output.

Modern cheap switching power supply, 0-30V, 0-5A, with multiturn pots :
Looks nice and compact. Still don't like to see a fan ;). I even cannot think about price since to this moment I spent enough time and money to afford the most expensive PSU from brands such as Keysight (Agilent) :). I cannot imagine that my final BOM can be in anyway competitive with mentioned MCH-K305D. From the other side I hope that achieved flexibility and feature set (especially with MCU board added) will make some sense for anyone who eventually decide to follow this project just as I decided to follow Liv's PSU (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/) from where I borrow the "final stage" which in LTspice (see #59 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg645838/#msg645838)) and even horrible breadboard looks very attractive.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Agape on May 11, 2015, 08:19:00 am
I found your design thread when googling DIY lab power supply ideas and read through it in one go. Really like what you are doing and I am definitely going to watch it develop further. I will have to go back and study more about power supply designs as of now I don't have enough knowledge to really understand this but hopefully I will come from this educated and not just confused.

So I have couple notes from reading the thread (if some of them are laughable or silly, please just bear with me):


Well I hope I didn't make complete ass of myself.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 11, 2015, 09:21:37 pm
Funny how you consider THT more DIY friendly than SMT when I think the exact opposite. There is no need to flip flop the board which I find tedious when doing THT and I personally find soldering 0603 easier than THT. Also, I don't think that there was mention about tolerance of used components? ('Normal' THT resistors are 5%, 'normal' SMD are 1%.)

Ha, when I started this project I had zero experience with SMT. With simple lamp magnifier (x3, x8) it started to be a really joyful experience. Personally I can say that I'm now ready for "SMT only" solution even without stencils and oven :) As you can see there is a just a few responses to this project and I'd like to receive more feedback what to use for the "final" PCB revision.

Kudos for modular design. That is really interesting. It got me thinking thought with connection to chain-ability / is there anything stopping to put together more than two power stages? Not that I would need more that 100 volts but sometimes (for motor control applications or electrolysis) I need more that 6A (10A would be nice). So far I was using power supply with few discrete output voltages but something more continuous would be better (for example for DIY thought hole copper plating where you need to control current based on area of the board).

5A per module shouldn't be a problem and I already made some testing with CC loop disconnected.
I set limit to 2 modules due to MCU board and BP post board, but of course with bigger MCU then currently selected Atmel32u4 (for more I/O pins) hopefully that is achievable.

What kind of toroidal transformer are you using? With your requirement of no fan (no noise) I would assume some lower core gain type (usually sold as AUDIO) to minimalize risk of rustling which is sometimes a big problem (and quite annoying).

I'm currently using a custom made by local manufacturer but, I hope that something like this Breve Tufvassons TTS300/Z230/48-48V (http://www.tme.eu/en/details/tts300_z230_48-48v/toroidal-transformers/breve-tufvassons/#) or this one Talema 55188-P1S2 (http://www.tme.eu/en/details/55188-p1s2/toroidal-transformers/talema/#) will be fine. Another possible source (that also included audio grade shuff) with quite attractive prices is Toroidy.pl (http://sklep.toroidy.pl/en_US/c/Toroidal-transformers-STANDARD-GRADE/20). Please note that I currently have no experience with any of mentioned products.

It's quite interesting that you would make analog only capability one of requirements of the design. I can understand the theoretical mental exercise of it but really who would in today's age lab power supply without MCU. Moreover one with quite complicated design and some serious high quality requirements. The design then has to accommodate two ways for controlling voltage and current. Rails on PCB are longer and there is bigger room for interference and error. (At least the lab PSU I have seen up until now usually had some form of shielding of control signal to DAC/ADC. But on other hand you are only shooting for 1 cV/cA and these had 1 mV/mA accuracy so maybe that is OK.)

I think that possibility to have functional unit without coping in the first step with digital part is beneficial for general DIY audience. That together with modular design simplify testing and more gradual approach to the final product. It's not even real (or serious) analog only approach since at least tracking for dual channels is not implemented.
BTW, ADC/DAC control traces on the power PCB is really short and hopefully it will not picking up substantial noise.

Interesting at your choice to add ethernet connection. That is quite industrial. Small note on your panel design. I don't remember when I lastly disconnected ethernet connection on one of my devices. It usually stay connected all the time (non portable devices), but I usually disconnect USB after use. So ergonomically I see the point to have USB connector on front panel, I don't see the point in ethernet's case, quite the opposite.

Yes, I put as much as possible features on the MCU as an exercise :) We'll see to which extent it will works. I'm agree with you about ethernet and USB. Need some rethinking and possibly USB connector could be something like this USB 2.0 B female panel mount to 5Pin F 0.1" header (http://www.ebay.co.uk/itm/2-5ft-USB-2-0-B-female-panel-mount-to-5Pin-F-0-1-header-PCB-motherboard-cable-/321219632228?pt=LH_DefaultDomain_3&hash=item4aca2e9c64) and small "breakout" PCB for ethernet has to go on the rear panel.

I have never had in my hands that display or at least I'm not aware of it. But at that photo it looks positively horrible. I hope that it is only bad photo-effect. (But then it's arduino everybody's dog can change it.)
Huh, it doesn't looks so horrible and it's really cheap (http://www.ebay.co.uk/itm/LCD-Matrix-12864-Dots-5V-Graphic-Module-screen-128X64-LCM-Display-Backlight-Blue-/301602395365?pt=LH_DefaultDomain_3&hash=item4638e754e5) :). Anyway as you can see a DOGL128 (http://www.lcd-module.de/) is also supported by MCU board.

You have the ADS1120 in your schematics as 15-bit, but by the TI it's 16-bit.
Yes, but bipolar, for unipolar you can use only 15 bit.

Do you have plans for some form of distribution? I have seen the OSHW logos on boards but then they are 110x60 mm. Given that Chinese fab houses work with discrete sizes it will get pretty inefficient pretty quick. So if there was way to buy set of PCBs it would be great.
My idea is to publish Eagle and Gerber files of first workable version. Thanks to modular approach that can be done in more steps (i.e. various pre-regulators, post-regulator, MCU board etc.). I can also organize group buy of PCB only (I closed one successfully last year on diyaudio forum) if such thing is not against policy of this forum.

On the same note: Are the boards from Printed.CZ not tinned? Looks like it.
This one is not since I asked for "galvanic Au" surface instead. You can play with different versions on their online calculator (http://www.printed.cz/eng/shop/set-full-mode).

Do you plan on some protection for cases when for some reason there is problem in connection of the boards?
What kind of connection problem you have on your mind?

Well I hope I didn't make complete ass of myself.
Not at all :). I believe that people is here to share some ideas and assist each other not to compete who is the smartest (anyway even the most brilliant mind for electronic could still be a complete 'life idiot' so what at the end could be a "RMS value" of such person?  :-//).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: m100 on May 11, 2015, 11:01:26 pm
Funny how you consider THT more DIY friendly than SMT when I think the exact opposite. There is no need to flip flop the board which I find tedious when doing THT and I personally find soldering 0603 easier than THT.

Many aged over 40 really struggle with seeing and positioning even large SMD passives.  IMHO It's the biggest barrier to repair and construction of modern electronics and magnification with a stereo scope and really good lighting isn't always enough.  SMD is, I guess, fine for those in their 20's who seem to cope even after a heavy weekend and zero sleep.  I know I saw far more and could work at a much smaller scale with a greater degree of dexterity a few decades ago.  Through hole is IMHO far more accessible.  I'd choose it every time because SMD really is a complete PITA for those with less than perfect eyesight.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 11, 2015, 11:15:30 pm
Funny how you consider THT more DIY friendly than SMT when I think the exact opposite. There is no need to flip flop the board which I find tedious when doing THT and I personally find soldering 0603 easier than THT.

Many aged over 40 really struggle with seeing and positioning even large SMD passives.  IMHO It's the biggest barrier to repair and construction of modern electronics and magnification with a stereo scope and really good lighting isn't always enough.  SMD is, I guess, fine for those in their 20's who seem to cope even after a heavy weekend and zero sleep.  I know I saw far more and could work at a much smaller scale with a greater degree of dexterity a few decades ago.  Through hole is IMHO far more accessible.  I'd choose it every time because SMD really is a complete PITA for those with less than perfect eyesight.

Thanks m100 for elaboration. That's something that leads me in decision to have as much as possible THT components. If this project ever ends up with some group buy I'll be glad to prepare two sets of PCBs if we meet required minimum quantity targets for both tracks.
Title: PSU with Mosfet pre-regulator first results...
Post by: prasimix on May 16, 2015, 12:16:04 am
New PCBs arrived and I decided to start with testing blackdog's mosfet pre-regulator. It looks pretty good. It can deliver even with a single mosfet over 6A. With two of them it shouldn't be a problem to deliver declared 10A. I tested it with Vin=48VAC (67VDC) and single 10.000uF capacitor (http://uk.farnell.com/panasonic-electronic-components/ecos1ea103ca/cap-alu-elec-10000uf-25v-snap/dp/1198541?ost=1198541). I didn't measure capacitor current but according to spice model it goes far beyond what manufacturer declared as limit. A rise of its temperature can be detected but nothing alarming (so far).

As a post-regulator I used a new design based on Liv circuit and everything is tested strictly in CV mode. I found two issues: if Vin is mentioned 48VAC output enable circuit cannot bring Vout down to zero but to ~5V. If Vin is e.g. 40VAC it works perfectly. Another issue (or "it's a feature not bug" type of event) is possibly connected with pre-regulator: depends of Vout with the same load (16R4/100W resistor is used) transformer start buzzing. Mostly in the middle range (20-30V). See on the picture 2015-05-15 Mosfet pre-regulator, Vout=25V, Load=16R4.png how output from pre-regulator looks like in that case. Don't know is it normal that transformer is audiable with such type of output (it is completely silent with e.g. 2015-05-15 Mosfet pre-regulator, Vout=10V, Load=16R4.png or 2015-05-15 Mosfet pre-regulator, Vout=50V, Iout=3A.png shape of the output voltage).

I tried to measure overall efficiency of such combination of post-regulator board (r3B36) and blackdog's pre-regulator (r1B2). Cheap DMM has been used for measuring rms values so some significant error can be expected. But regardless of used instrument I noticed a considerable fluctuation in the middle range which I think is connected with transformer buzzing (and accompanied pre-regulator signal shape). Please find below results of three measurements (within 15 minutes time frame).

 
Title: Mosfet pre-regulator board latest revision...
Post by: prasimix on May 16, 2015, 12:23:52 am
Few small changes are made on the mosfet pre-regulator board. Floating charge pump is removed since post-regulator works in full range, full load (0-50V, 3A and up to 5A!) with Vin=48VAC without it. The most important thing is adding of D3 to isolate C3 from mosfet input since witout that it will be in a real trouble trying to deliver something what is not intended :). Also sync isolator is added when more SMPS is presented (like in dual channel version or when MCU board is deployed). The latest schematic is attached.
Title: Re: PSU with Mosfet pre-regulator first results...
Post by: prasimix on May 17, 2015, 08:56:39 pm
if Vin is mentioned 48VAC output enable circuit cannot bring Vout down to zero but to ~5V. If Vin is e.g. 40VAC it works perfectly.
I fixed this one by changing BC557B in OE (output enable) current mirror with BC640. Actually with Vin=48VAC emitter-collector voltage goes beyond BC557B's allowed maximum (if max. Vceo=50V). With BC640 that limit is rised to 80V.

EDIT: BC556B works even better and comes with the same pinout :).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: tombi on May 22, 2015, 01:04:35 am
On a different note - in the post-regulator circuit presented in https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg645838/#msg645838 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg645838/#msg645838), do you find that when it comes out of current limiting the voltage overshoots?

I was experimenting with something similar and and I found when current limiting kicks in then the voltage error amp output takes off to the positive rail. This has no effect because of the diodes. When the current drops though the voltage error amplifier needs to quickly come back down and in my case it didn't do this quickly enough and I got a voltage spike.

I got around it by doing the diode-or arrangement between the set voltage and the current error amplifier output instead - essentially the current error amplifier reduces the Vset. This seemed to work except then the supply output voltage is 0.6V more than the set voltage.

The Agilent supplies seem to have a similar circuit structure to the one in this thread but I wonder how they behave in this case.

Tom
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 22, 2015, 11:21:40 pm
Not exactly understand what do you mean under "current limiting the voltage overshoots". Does it mean that you are trying to set Vout that is too high and with applied load PSU entering CC mode due to set current (i.e. trying to apply 30V with 10R load while current limit is set to 500mA)? If that is a case I noticed "overshoot" only when Vout is set by DAC without taking care of rising edge speed. Otherwise there is no overshoot. See screenshots is attachment: both are with the same load (16R4) and DAC output is not conditioned in any way (max. rising time is in place).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: tombi on May 23, 2015, 12:54:29 am
No I mean when it is in CC mode and the load drops so it goes out of CC mode.

So say you have 30V output, 10R load and 500mA limit then the supply will limit the voltage to 5V. Say the load then changes to 1K - the voltage should float back up to 30 but I was finding the voltage would overshoot 30 briefly before coming back down.

Tom
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 23, 2015, 07:08:52 am
Hi Tom,
thanks for clarification, now I'm understand but didn't test that scenario yet (this give me an idea to create a "test book" that will contain various scenarios worth testing). I'll be back in a few days since I'm currently away.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: technix on May 23, 2015, 07:42:40 pm
Nice work bro. However to me this design is a bit too complex. I also have a plan on a PSU with similar specs but it is less complex and occupies a smaller footprint:

Ratings: CV: 0-30V CC: 0-10A
Resolution: 10-bit DAC.
Structure: Three board construction, analog feedback with DAC control
Analog board: adjustable switch-mode mains pre-regulator with 5V and 12V fixed auxiliary rails, PMOS low drop-out linear main regulator, main op amp TL084, current sense op amp TLC2272.
Digital section: ATmega328P MCU, Arduino Duemilinove compatible USB interface, ADC readings from critical parts in the analog section.
DAC: TLC5615CP 10-bit SPI DAC
Reference: MC1403 2.5V precision reference
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on May 25, 2015, 06:19:54 am
I got around it by doing the diode-or arrangement between the set voltage and the current error amplifier output instead

Once in the special purpose PSU I did tracking limiters for the CC and CV error amplifiers. As a result, opamps outputs could not vary by more than 0.6 V. This shortens CC-CV and CV-CC transients.
Title: Mosfet pre-regulator update...
Post by: prasimix on May 27, 2015, 06:06:56 pm
I made a progress with pre-regulator issue described here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg673839/#msg673839). C2 capacitor of 1nF was too big and it's replaced with 560pF. Now that switching frequency drop from 100Hz to 50Hz in the middle range is not happened any more. Thanks to that efficiency curve is now linear.
Used LTspice model didn't show that with 1nF (560pF in practice) but it can be pushed in that mode of operation with i.e. 2nF (1nF in practice). A new model, real and simulated results are in attachment. You can also see a difference in dissipated power on mosfet with different timing.
Title: Power down without load and bad timing...
Post by: prasimix on May 27, 2015, 06:28:16 pm
I'd like to present here what's happening during power down with Vout set below ~12V and no load is connected. Vout shortly after power down goes crazy peaking 11.7V. That is not the case if some load is connected but regardless of that it looks bad and need to be fixed. The source of the problem was PWRGOOD signal that is used to shut down (using OE circuit) output and is derived from the wrong place, namely +5V LDO. Since that LDO has a much more room to deliver regulated output then +15V (Vdd) LDO it's logical that PWRGOOD signal will lasts too long. On the other side Vdd which is used to supply CV control loop drops too fast and lost control over the loop.
Unfortunately on the current PCB a LM317 is deployed for +15V which do not have any power monitoring. Therefore in a new PCB revision an another type of LDO or discrete PWRGOOD logic has to be added. Maybe the easiest way is to deploy another LP2951 as in the case of +5V which is cheap and could deliver up to 100mA what is more then enough.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 27, 2015, 08:46:40 pm
No I mean when it is in CC mode and the load drops so it goes out of CC mode.

So say you have 30V output, 10R load and 500mA limit then the supply will limit the voltage to 5V. Say the load then changes to 1K - the voltage should float back up to 30 but I was finding the voltage would overshoot 30 briefly before coming back down.

Tom

Hi Tom, that's what I can get if Vout is set to 40V and initial load is 1K and then 16R4 is briefly connected in parallel when Vout drops to ~12V and rise again to 40V. Output looks a little bit noisy since scope was in roll mode and also I didn't take much care about test points.

 
Title: Huge trouble with "Ebay grade" panel meters...
Post by: prasimix on May 29, 2015, 01:54:26 am
I had a tough time trying to figure out why output signal looks horrible when post-regulator enters CC mode (see first two picture). The first suspect was PCB. I'm not happy with current revision since due to urge to put so much components in so little space it ends up with having e.g. far from optimal ground plane. Also in the designing process I completely forgot to dedicate separate track to supply current shunt resistor. But even if I failed miserably (what actually is not a case) I was wondering why even with the smallest current PSU in CC mode behave in such way. I tried to accuse some other part of the post-regulator, but without real reason since it works nicely while in the CV mode.
I started to populate another post-regulator PCB this time with CC loop components only. That combination didn't work (you'll see soon why). I then went to breadboard and there it works! I even try to test everything on bare PCB with current shunt monitor op amp (LTC2057) and minimum surrounding components. That generate even more confusion since in that case it works without changing the rest. But that was not completely true. I didn't connect load to DMM's ammeter but connect it directly to the "high side" of shunt resistor. I didn't spot that at once and after many attempts I finally today realize that eBay (http://"http://www.ebay.co.uk/itm/Red-DC-0-100V-10A-Dual-LED-Digital-Voltmeter-Ammeter-Panel-Amp-Volt-Gauge-New-/281530665538?pt=LH_DefaultDomain_3&hash=item418c890a42") grade panel DMM is connected with that noise generation!
I have two different version, and yes, they are really different: each has its own "noise signature" :). I don't know why they behave like that. Maybe the problem is a combination with PSU which has "low side" current monitoring but this issue really made me in one moment miserable. I started to think about various other op amp hoping that LTC2057 is not appropriate for such "lame" PCB and that with some other less sensitive this issue will disappear. I even start to think about another PCB revision (too soon since the next one should be in proper condition that can generate a group buy and Eagle and Gerber files can be publish).
I was thinking that first milestone will be a PSU which is fully functional with manual controls only, but it seems that I need to continue with adding MCU board or eventually (to say that milestone is reached) to find out why combination with such DMMs does not work (or maybe find some other which works fine and does not cost another fortune).
I'm wondering if anybody else has similar experience?
Title: Re: Power down without load and bad timing...
Post by: prasimix on June 01, 2015, 09:47:17 pm
This is a follow up to post #83 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg681188/#msg681188) where I announced that PWRGOOD signal has to be moved from +5V to +15V LDO. That is actually not enough what is clearly visible on the following picture:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=154695;image)

Improvement is visible since Vout (set to 3.3V) overshoot without load is now smaller and last less time but it's still there and it's actually massive (yellow trace). It's connected with lack of ULVO (Undervoltage-lockout) control of bias pre-regulator (LM5574). It try to insure propoper voltage all the time but cannot manage that (since is is not buck/boost but only buck) when Vin drops below ~35V. That cause oscillation of the output what is reflected to the PWRGOOD signal. With adding ULVO (voltage divider 51K/1K5 to disable output when Vin drops to ~43VDC everything looks fine as you can see on the following picture:

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=154697;image)

One thing less on TO-DO list :) I now have a pretty complete "non-SMPS power" pre-regulator board where I decide to add one more thing that I'll describe in one of future posts.
Title: Testing capacitive load, part I
Post by: prasimix on June 03, 2015, 06:08:13 pm
In the few posts thats follow I'd like to present how PSU (with mosfet pre-regulator) behave when huge capacitive load is connected with or without additional resistive load. I tested it with 470, 1000, 2200 and 10000uF elco and 4x4.7uF ceramic. Also you can see a benefits of DP ("down-programmer").

First let see what happened with 470uF connected to Vout (step is created using OE control) with and without DP activated (default is on). You can see that without DP due to capacitor discharge Vout require tens of seconds to reach zero volt after OE (Output enable) is set off.
Title: Testing capacitive load, part II
Post by: prasimix on June 03, 2015, 06:10:16 pm
The following pictures presents how PSU behave with 1000, 2200 and 10000uf when Vout is set to 50V. I also tried 4x4.7uF ceramic to test if extremely low ESR will cause oscillation. In all cases DP was on, and you can see that it requires some time to discharge capacitor since it use 2R2 to do it. For 10000uf that lasts ~1sec.
Title: Testing capacitive load, part III
Post by: prasimix on June 03, 2015, 06:26:20 pm
Now we comes to more interesting part where additional load is connected what is closer to real scenario when D.U.T. (Device under test) is connected to the PSU. Here we are reaching some limits of what PSU in this revision can do, but I think that it still pretty good and better then average.
This is a also example how DP can improve situation. I tested 1000uF with 16R4 load in parallel on 25V and 40V which alone consume 1.5A and 2.4A. That means that when Vout appears on output terminals that for charging capacitor remain 1.65 or only 0.75A before PSU enters CC mode. Regardless of that when DP is on it can handle both cases nicely. But if DP is set off then you can see oscillation.
If smaller load is connected (33R instead of 16R4) that gives more room for handling capacitor charging and in that case it can go up to maximum 50V. Of course with DP set on. If DP is switched off you can expect oscillation. Of course someone could interpret using od DP as cheating, but I see it as a nice feature.
As mentioned before even with DP PSU has some limitation, that is finite current that it can deliver and that is controlled with CC loop and set it this case to 3.15A. You can see that in the latest picture (50V, load=1000uF+16R4).
All mentioned is my interpretation of presented results and it's possible that it not correct, so your inputs as usual is more then welcome.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 04, 2015, 02:29:00 am
This does not look good. Having 1000 µF and 16 Ohms is not a really critical load. It gets way more tricky if there is a sizable inductor in series with the resistor. Not all 1000 µF caps are equal the ESR of the capacitor also has some influence, but a good supply should not oscillate with any reasonable type.

If the PSU shows oscillation in this case, there seems to be something really wrong with regulator adjustment or design.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 04, 2015, 03:11:42 am
Thanks Kleinstein for your input. It actually not oscillate with DP on (what is default). What inductor value you have on mind that is worth testing? I can try to find it and see what will happen.

Also what's about DC motor? Can we assume it as typical inductive load?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 04, 2015, 04:55:43 am
Usually the critical loads are a pure capacitive load for voltage regulation and an inductive load for current regulation. To get a current flowing the capacitive load needs something extra, like a resistor and Inductor in series. The inductor is to make this something similar to a current sink - so a large inductor would be most critical. Depending on the circuit either rather small or rather large (e.g. 50-90% of maximum) are more critical.

The critical size of cap is often either a rather small low ESR one, of something like the output capacitor or a rather large capacitor of a few mF. Often one has to accept that there is an upper limit (e.g. 10...100 mF) for the allowed size of low ESR capacitor at the output. Usually regulation gets at least poor under such conditions - if not there is likely a problem at other normally easier cases.

A DC motor is a rather complex slightly inductive load with varying current and spikes. So it's good for a quick test, but hard to quantify.

To see not only sustained oscillation, it's helping to look at some fast load changes to. The closer one is to oscillation, the more ringing will be there.

There seems to be some oscillation even with DP on,  in some cases (e.g last picture). Not that large in amplitude, but it still does not look smooth.

I don't know exactly which circuit is the last version, but the one from reply #60 looks suspicious: there are several RC combinations of comparable time constant,that set the compensation. In theory this might be well balanced but usually is not a good idea, as there are too many degrees of freedom. In addition to linear instabilities this can also lead to surprises when switching between CC and CV mode, as the system can have some kind of memory. Usually there should be 1 capacitor that dominates the frequency response over a wide range.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 04, 2015, 03:52:33 pm
Thanks Kleinstein once again. I tried to test it again with CC control loop disengaged. In that case it can easily deliver 3A on 50V using 16R4 load connected in parallel with 10000uF (not 1000uF!).
C63 in current error amplifier feedback (from post #60 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=146034)) was too small. When I increased it to 1nF, and current set to maximum it manage nicely not above mentioned load but also 16R4 || 20000uF combination on max Vout.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 05, 2015, 02:40:14 am
Was at 50 V and 16 Ohms the CC Limit active ? So it might be the CC regulation had the problems.

For testing the regulator stability it's not needed to test at high power / high current. The low current range (e.g. only a few mA) can show trouble as well. Often it helps to use the simulation to find out the critical cases and then do real world tests under similar conditions. There are just too many possible parameters to test every case in real word. Simulation can provide output impedance as a function of frequency and load current - this allows to identify critical loads rather fast. On the real thing one would need some kind of low frequency vector network analyzer to do that - only few of us have such a thing.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 08, 2015, 01:40:07 am
You was right Kleinstein. I found some issue in CC mode possibly due to so many models and schematics that at the end I was put on the post-regulator PCB some values that is not used in simulation. End result was a significant Vout ripple (~1Vpp) when PSU enter CC mode (see the first picture in attachment for 16R4 load in combination with only 470uF).
When I made all required correction I got very nice behavior that is equal with one in CV mode. You can see that on the second attached picture (OE step with 16R4 load in parallel with 10000uF). It shows same stability regardless of DP mode (on or off).
Finally I'm attaching latest LTspice with mosfet pre-regulator included that nicely follows what I got while testing the real stuff. Please note that I left few capacitors with value zero (C2, C3, C12) which was a source of oscillation in both CC and CV mode. CC/CV comparators are also excluded since they are not relevant for stability analysis.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=155549;image)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 08, 2015, 05:15:47 am
I have also simulated some parts of the circuit - without the current limiting. The capacitors C2 and C12 do makes sense, though R1 might need to get a little larger (e.g. 56 Ohms), not give too much load to the OPs. For voltage regulation C15 is problematic and probably best set to 0  - the small shunt in series is a good idea at high frequencies - so no need to compensate for it. Even if one wants to,the circuit would be different.

The cc mode has an obvious problem with the current amplifier: The amplifier has a large (80 times) gain and thus a rather limited bandwith (20 kHz range), as the LTC2057 is rather slow. This requires to have R44 and C17, to have quite some voltage feedback as well. So the output impedance will be rather low, even in CC mode. The bad thing is, that current limiting may also respond rather slow to something like a short from high output voltage - possibly even to late to protect the MOSFET from blowing due to limited SOA rating.
 
Due to the large amount of voltage feedback the cc regulation might be stable, but also far from a real CC mode. So a few more simulation runs may be needed. Another feedback path from Vout- might help, bypassing the amplifier at higher frequencies.
Testing the CC mode should be done without capacitive loading (except for an cap as part of the circuit that may be needed) - the difficult case is inductive loading.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 08, 2015, 07:01:22 pm
Thanks again Kleinstein for another valuable comments. LTC2057 gain can be easily halved to 40V/V with R020/10R/390R combination that I believe could improve a bit its bandwidth. I didn't test yet a short with max. Vout and hopefully that will not damage IRFP250N. Its SOA is not so bad and CC loop should be fast enough to block a disaster.

What kind of test settings you'd like to suggest for inductive load?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: blackdog on June 08, 2015, 11:40:54 pm
Hi prasimix,

I have some remarks  ;D
I lookt a your last schematic and i see a phase lag carnival...

Just for the CV mode, working backwards...

IRFP250, gate capacitors, Q2 and R33 of 2k2, better to use a 5 a 10mA current source here or lower R33 to at least 1K
There is enough current available for charge op the gate capacitors, but not to discharge them.

R23 + C9

Extra gain of Q3

C12

R7 + C1
 
R21 + C11

R36 + C15

C3

R15 + C6

R14 + C15

C4 + R12

Hallelujah  :-DD

Do you think you can win this fight, to get a stable power supply?

----------------------------------------------

Some 2 cents of opinion  ;)
Make the pass transitor as fast as you can, thus current source, or lower R33.
My best performance setup was a Sziklai Darlinton, 2SA1943 and a 2SC2911.

Always use a capacitor direct on the output therminals, rule of thumb, 50uF/Amp
The better yuor design is, the lower the capacitor value can be.

In your design you put two opamps in series and a extra gain stage Q3, all inside 1 loop...
Almost impossible to get it stable unther "normal" use for a lab power supply.

Probably your current limit is too slow to protect your power fet.

---------------------------------------------

Just some pictures to make some info more clear.
First some measurements i have done to get the best Ri of my design.
On the top its 1 Ohm, bottum is 1m-Ohm.
The green line is the output filtering impedance
A = Tip142
B = FET PSMN034
C = 1 Compound Darlington
D = Green line impedance output network
F = Dubble Compound Darlington, YESSS! about 17m-Ohm Ri at 100Khz.
(http://www.bramcam.nl/NA/NA-01-PSU/NA-PSU-Ri-10.jpg)

-----------------------------------------------

This is a picture that shows current through the Darlington with a fast control loop.
It takes about 10uSec to come back to the set current of 5 Amps.
(http://www.bramcam.nl/NA/NA-01-PSU/NA-PSU-29.jpg)


I dit not like that, so i placed a extra current limiting transistor around the darlington pair.
And this is how it lookt afterward...
Only a peak of 7 Amps, and FAST!
I use normaly about 5 Amps Max/Darlington, this from a 10 Amp design power supply
(http://www.bramcam.nl/NA/NA-01-PSU/NA-PSU-30.jpg)

The extra current limithing circuit looks like this:
(http://www.bramcam.nl/NA/NA-01-PSU/iLimit-Compound-01.jpg)

I hope you can use some of my remarks :-)

Kind regarts,
Blackdog

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 09, 2015, 01:52:11 am
The circuit is not that bad, at least not with voltage regulation. At first I also though the extra Gain of Q3 and the extra capacitors used for phase shifts could cause lots of trouble. But looking closer, at least the power stage is actually quite good in the simulation. The rather low current to charge the gate only makes the current raising not that fast - which is a good thing with the poor current regulation. The resistor gate to source is already quite close to a current source.  A little more might help though, but at 50 V 5 mA already give 250 mW which may be to much for Q3.
A  Sziklai Darlinton output stage tends to be more problematic, both in output impedance and local stability. The weak part of the MOSFET output is the often poor SOA limit at higher voltages. So it somewhat needs the pre-regulator.

The extra OP in the CV mode is not such a problem. The higher frequency part of feedback goes around the OP via C11 and R21. Leaving out C15 and having a capacitor at the output, the CV mode should be OK.

The CC mode is the real difficulty, as the output stage uses local feedback to promote good voltage regulation. Here the extra amplifier is a problem, and similar to the CV case the HF part should bypass that amp. Anyway I would not expect to get a very good current regulation, but it can get much better than currently. An extra faster acting current limit may be a good idea.

The test scenarios for the CC mode would be something like setting 1 A (rep. 0.05 A) current limit at something like 40 V and initially no load, and than quickly connect something like a 1-5 Ohms load (e.g. per switch or Mosfet). The worst case would be something like an 1 mH HF capable inductor with little core loss. Already something like 100 µH (ferrite core for SMPS) would be a good test.

The first step would be to run simulations and look at the output impedance. Such a circuit should perform well in simulation first. The simulation also  shows the critical load ranges to test in real world. The hardware test is still needed to include Layout effects like parasitic inductance. At some places (e.g. at the source of the MOSFET or shunt) 100 nH  can make a difference.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 09, 2015, 03:02:27 am
Thanks Blackdog, thanks Kleinstein. As I already said some parts was intentionally left in last LTspice model with zero value just in case that someone want to experiment with that and spot the difference. That parts were present in some previous models and I'll remove it completely in the first new revision to avoid further confusion.

Please also find in attachment measurements that Kleinstein suggests. As resistive load 4R1 is used, Vout is set to 40V and Iout is set to 1A. Results can be found on first three pictures.
As an inductive load a 100uH inductor from Bourns is used (PM2120-101K-RC (http://uk.farnell.com/bourns/pm2120-101k-rc/inductor-toroid-100uh-10-6-1a/dp/1929733)). It's tested without any additional capacitor connected on the output and with 22uF. Results are visible on the remaining pictures.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: blackdog on June 09, 2015, 03:04:41 am
Hi Kleinstein, :-)

The  Sziklai Darlinton is not the problem, it is stable, but you have to make him stable.
Just connecting two transistor together is asking problems...
Just a small emittor resistor on the driver and direct on the base of de driver a small resistor, BINGO and its stable  :-DD
Even with the fast Audio transitors!

Q3 can be a BD139, low cost en good.

I find al this poles a little to much...

Ik like the simple design of the Harrison/HP power supply's.
I have improved the design with good results, basically it's still the Harrison Design,
but with piek current limitor,
extreme low noise reference (output noise under full load < 5uV (22Khz bandwith)
no power of / power off abberations.
Just some "tender loving care" for de Harrison design.

But i can see dat de design of prasimix has potential, and he is learning a lot :-)
I have not used any spice for "my" design, but real measurements, yes it cost a lot of time, but now I know for sure what the performance is of that power supply, real data.
Like you told, it is difficult to "spice" wiring, a lot of people do not know, how to wire a Power Supply for Low Noise, under heave load changes.
The current wiring is best to twist and the sense wires at an angle of 90 degrees to the controle circuit.

Kind regarts,
Blackdog
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 09, 2015, 04:51:00 am
Getting the Sziklai Darlinton unconditional stable is not simple - even in the simulation it takes some effort. There can well be trouble with capacitive loads in a certain range. Also local stability may depend on layout if this loop is very fast. The circuit with Q3 and the MOSFET is in many aspects very similar. It uses C9 and C12 for local stability - they may not be needed as local loop gain is not that large anyway.
The nice thing about such a compound output stage is, that once you have that local loop stable the rest is more predictable.

I also think there are to many caps in the circuit, and some could be left out. The one I don't like at all is C15.
The caps at the differential stage makes things look worse than they are. I would avoid having so many caps there, as the high frequency part bypassed that amplifier anyway.

The nice thing abouts simulations is, that one can fast find out which conditions are most critical. Unless one has a low frequency (e.g. 1 kHz - 10 MHz) vector network analyzer (and the right interface parts), equivalent measurements are rather slow and difficult. Today I would not design a regulator without it. It's very true that cabling is important to - so some real measurements are still needed. Wiring not only effects noise and residual hum, but also stability, especially if one goes for high performance fast regulation. With some experience one can also include some parasitic effects in the simulation to check upfront where layout is critical, and possibly test countermeasures. A fast low impedance output like a voltage regulator can react to surprisingly small parasitic inductance - so consider including the lead inductance for the power MOSFET and the inductance of the shunt.

The measured response looks surprisingly good - I had expected worse. Still the CC regulation seems to be unstable with inductive loading. Recovery of the voltage is rather slow - but better slow than having overshoot.

@ backdog:
The measured curves look impressive. However the sharp peak in the impedance might indicate that there might be instability for some specific loads (e.g. a very low impedance capacitor in the 100 µF range - so maybe not realistic).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 09, 2015, 06:19:34 pm
Do you think that another current shunt monitor op amp (replacement for LTC2057) could improve the thing with CC mode or the whole CC control has to be done in different way? I hope that we can stay with low side monitoring in that case. Thanks.
Title: Re: PCBs is arrived
Post by: Bebo Connon on June 09, 2015, 07:58:14 pm
PCB's arrived yesterday or within 2 weeks from moment of ordering. A nice supplier (printed.cz (http://www.printed.cz/eng/shop/set-full-mode)) which I'd like to recommend.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=134463)

Here is the main board where is located all circuit from Sheet 1 to 4 namely input bridge rectifier and capacitors, power pre-regulator, power post-regulator (CV and CC), bias supply pre-regulator and LDOs, OCP, CC/CV indicators and isolated sync for pre-regulators. That is a functional analog part of the PSU. On the same board is also located digital part that is used to communicate with MCU board via SPI. That mean DAC, ADC and I/O expander.

Nice work, and it is so detail. mark+
For PCB supplier -printed.cz, you mentioned, How much you cost for your pcb like above?

Bebo
Title: Re: PCBs is arrived
Post by: daqq on June 09, 2015, 08:11:38 pm
PCB's arrived yesterday or within 2 weeks from moment of ordering. A nice supplier (printed.cz (http://www.printed.cz/eng/shop/set-full-mode)) which I'd like to recommend.

Here is the main board where is located all circuit from Sheet 1 to 4 namely input bridge rectifier and capacitors, power pre-regulator, power post-regulator (CV and CC), bias supply pre-regulator and LDOs, OCP, CC/CV indicators and isolated sync for pre-regulators. That is a functional analog part of the PSU. On the same board is also located digital part that is used to communicate with MCU board via SPI. That mean DAC, ADC and I/O expander.

Nice work, and it is so detail. mark+
For PCB supplier -printed.cz, you mentioned, How much you cost for your pcb like above?

Bebo
We use printed.cz as well. They have an instant qoute system which is very close to reality. See: http://www.printed.cz/eng/shop (http://www.printed.cz/eng/shop)

All in all very nice people.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 10, 2015, 12:30:39 am
Low side current monitoring is not a principle problem. Auto zero OPs are generally slow, so it would be very difficult to get a bandwith in the 100s of kHz at something like 80 times gain. The simple solution is to bypass the amplifier for the fast part, very similar to the way it is done for voltage regulation. This would mean having an extra R C combination from the upper end of the shunt to the CC regulation amplifier. So it might be enough to have to components air wired and still use the old PCB. To get the right values a few simulation runs would be needed.
My initial guess would be something like 220 Ohms and 220 nF for the extra RC combination, and somthing like 100 K and 10 pF for R44 and  C17. The other point is to have a capacitor or two (e.g. 470 nF film type or ceramic and 100-470 µF low ESR electrolytic) at the output. Measurements will show how much capacitance is needed to get the CC mode stable even with Inductive load.

With this extra Bypass the AZ amplifier can be slow - so the LTC2057 is no problem, just a rather expensive version in a case where a higher voltage is not needed.
Title: Re: PCBs is arrived
Post by: Bebo Connon on June 10, 2015, 04:17:16 pm
PCB's arrived yesterday or within 2 weeks from moment of ordering. A nice supplier (printed.cz (http://www.printed.cz/eng/shop/set-full-mode)) which I'd like to recommend.

Here is the main board where is located all circuit from Sheet 1 to 4 namely input bridge rectifier and capacitors, power pre-regulator, power post-regulator (CV and CC), bias supply pre-regulator and LDOs, OCP, CC/CV indicators and isolated sync for pre-regulators. That is a functional analog part of the PSU. On the same board is also located digital part that is used to communicate with MCU board via SPI. That mean DAC, ADC and I/O expander.

Nice work, and it is so detail. mark+
For PCB supplier -printed.cz, you mentioned, How much you cost for your pcb like above?

Bebo
We use printed.cz as well. They have an instant qoute system which is very close to reality. See: http://www.printed.cz/eng/shop (http://www.printed.cz/eng/shop)

All in all very nice people.

Thanks for reply. and I have checked the site, but I think it is too expensive than my current PCB supplier.
For my project LED lighting/motor controllers, I need the board like this: 2 layer, 10pcs, 1.6mm 85*62mm, blue solder mask,
in printed.cz , in total is nearly €128.91, I don't know if it has included the shipping costs.That's too expensive for me.
In my current PCB supplier - PCBWay( www.pcbway.com/e (http://www.pcbway.com/e) ), it only needs $13, even adding shipping costs,I think this would be more acceptable for me. Following is the pic of my PCB made by pcbway. at least I think it is very good for me. quite good package and quick delivery.  I basically will cooperate with pcbway unless i find a better pcb supplier. Anyway, thanks for your reply @daqq

(http://file.pcbway.com/project/15/02/17/200604105.jpg)

(http://file.pcbway.com/project/15/02/17/200524514.jpg)

(http://file.pcbway.com/project/15/02/17/200621814.jpg)

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: miguelvp on June 10, 2015, 05:06:11 pm
That's not what we hear

https://www.eevblog.com/forum/reviews/pcbway-mini-review/ (https://www.eevblog.com/forum/reviews/pcbway-mini-review/)

and for whatever reason people sponsoring pcbway with the /e usually don't have that many posts and strangely enough they all subscribed around the same time.

There was another one but used /L at the end, so maybe the /e are all the same sales person and the /L gave up trying here.

Then again, maybe you are legit, we'll see.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on June 10, 2015, 07:17:12 pm
The one I don't like at all is C15.

Chains C15, R36; C11, R21 are necessary. When PSU voltage feedback signal is taken by a differential amplifier (with output terminals or SENSE terminals), then we should use the output of the diff. amp. for DC feedback, and for AC feedback (frequency correction). But the output of the amplifier is attenuated, the desired depth of the correction can be achieved only when the inverting operation of the error amplifier. This scheme is a classic, you can see, for example, the Agilent U8002 scheme. Take a signal for frequency correction directly from the output of the PSU is impossible, it should be taken differentially. Otherwise it will be degraded load transient due to the voltage drop across the shunt and other chains. This scheme uses two symmetrical chains, that take close to a differential signal. But it is a compromise.

This requires to have R44 and C17, to have quite some voltage feedback as well.

We have to choose between current surges and voltage surges. Typically current surges are not so terrible for load.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: miguelvp on June 10, 2015, 08:11:26 pm
That's not what we hear

https://www.eevblog.com/forum/reviews/pcbway-mini-review/ (https://www.eevblog.com/forum/reviews/pcbway-mini-review/)

and for whatever reason people sponsoring pcbway with the /e usually don't have that many posts and strangely enough they all subscribed around the same time.

There was another one but used /L at the end, so maybe the /e are all the same sales person and the /L gave up trying here.

Then again, maybe you are legit, we'll see.

yes,both www.pcbway.com (http://www.pcbway.com) and www.pcbway.com/e (http://www.pcbway.com/e) are OK and right for pcbway. Suffix (like /e,/L) is just a recognition for their sales people.


I guess you are an employee there as well:

https://www.eevblog.com/forum/reviews/pcbway-mini-review/msg690786/#msg690786 (https://www.eevblog.com/forum/reviews/pcbway-mini-review/msg690786/#msg690786)

Should I call you Erin, or eosintickleear in the forum, or "Tombs Balsam" as well in the forum?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: miguelvp on June 10, 2015, 08:21:06 pm
Hah, and now you went ahead and deleted that post, cute :)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 14, 2015, 10:20:21 pm
Low side current monitoring is not a principle problem. Auto zero OPs are generally slow, so it would be very difficult to get a bandwith in the 100s of kHz at something like 80 times gain. The simple solution is to bypass the amplifier for the fast part, very similar to the way it is done for voltage regulation. This would mean having an extra R C combination from the upper end of the shunt to the CC regulation amplifier. So it might be enough to have to components air wired and still use the old PCB. To get the right values a few simulation runs would be needed.
My initial guess would be something like 220 Ohms and 220 nF for the extra RC combination, and somthing like 100 K and 10 pF for R44 and  C17. The other point is to have a capacitor or two (e.g. 470 nF film type or ceramic and 100-470 µF low ESR electrolytic) at the output. Measurements will show how much capacitance is needed to get the CC mode stable even with Inductive load.

With this extra Bypass the AZ amplifier can be slow - so the LTC2057 is no problem, just a rather expensive version in a case where a higher voltage is not needed.

Here is an upgraded model presented in post #95 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg688894/#msg688894). This time model comes with step response to an inductive load. I decrease shunt monitor gain from 80 to 40V/V and use OP37 (http://www.analog.com/media/en/technical-documentation/data-sheets/OP37.pdf) instead of auto-zero LTC2057. Also an additional current protection is added (Q10).
I hope that extra RC combination is added on the right place and I tested it with C12 set to 220nF, 22nF and disconnected (Zero). There is a slight decrease in current overshoot with 220nF if that can count as an valuable improvement.

(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=156552;image)

Title: PSU housing ...
Post by: prasimix on June 18, 2015, 02:04:24 am
I spent some time trying to put completed pre-regulators into case Modushop.biz (Hi-fi 2000) Economica EP1152820 L 280 x P 200 (http://www.modushop.biz/site/index.php?route=product/search&search=EP1152820). Used heatsink is RAD-A6023/100 (http://www.tme.eu/en/details/rad-a6023_100/radiators/) which I'll probably paint in black.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: codeboy2k on June 18, 2015, 08:05:40 am
That's going to be a nice case when it's done! good job!

Advice: don't paint the heatsink black, that's a fallacy, and might actually degrade the heat sink performance.  Black paint is putting a continuous barrier of something non-metallic over the surface (acrylic, latex, whatever your paint is made of)... it will be like putting a blanket over your heatsink.

Black heatsinks are actually anodized, which is a process where they increase the thickness of the natural oxide layer, and color it with metallic salts (nickel acetate, cobalt acetate, etc).  This forms an outer protective layer that is also thermally conductive, unlike a basic black paint.

You want your heatsink to be able to conduct the heat away from the aluminum into the surrounding air. If  you paint it, then the heat has to cross that painted boundary, and it will be less effective. Most heat transfer is via conduction, not radiation, so painting it black is likely to lose more in its conductivity then you gain in its radiative ability, and the net effect is negative, not positive.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 18, 2015, 04:48:25 pm
That's going to be a nice case when it's done! good job!

Advice: don't paint the heatsink black, that's a fallacy, and might actually degrade the heat sink performance.  Black paint is putting a continuous barrier of something non-metallic over the surface (acrylic, latex, whatever your paint is made of)... it will be like putting a blanket over your heatsink.

Black heatsinks are actually anodized, which is a process where they increase the thickness of the natural oxide layer, and color it with metallic salts (nickel acetate, cobalt acetate, etc).  This forms an outer protective layer that is also thermally conductive, unlike a basic black paint.

You want your heatsink to be able to conduct the heat away from the aluminum into the surrounding air. If  you paint it, then the heat has to cross that painted boundary, and it will be less effective. Most heat transfer is via conduction, not radiation, so painting it black is likely to lose more in its conductivity then you gain in its radiative ability, and the net effect is negative, not positive.

Thanks for advice. One thing less to do :-+.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: void_error on June 18, 2015, 06:28:51 pm
Nice case! How much did shipping cost?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 18, 2015, 07:34:39 pm
Nice case! How much did shipping cost?

20EUR by DHL :(

EDIT: If it is ordered from Audiophonic (http://www.audiophonics.fr/en/boitiers-diy-boitiers-serie-eco/hifi-boitier-eco-ep1152820-280x200x115-p-1412.html) in France shipment is 8,90EUR (30,40EUR in total incl. VAT).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: rikkitikkitavi on June 18, 2015, 07:39:34 pm
A thin layer of black paint has absoluetly no significant thermal resistanve, but adds some to the radiative thermal dissipation togethet with the convective which is by far the largest part.

So by all means, paint it black and reduce C/W somewhat but dont expect any miracles.

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: void_error on June 19, 2015, 12:26:53 am
20EUR by DHL :(
Same as what I'd get...
EDIT: If it is ordered from Audiophonic (http://www.audiophonics.fr/en/boitiers-diy-boitiers-serie-eco/hifi-boitier-eco-ep1152820-280x200x115-p-1412.html) in France shipment is 8,90EUR (30,40EUR in total incl. VAT).
Apparently it'll ship for 24.50 for me :( I might have to build a case myself...
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: codeboy2k on June 19, 2015, 06:29:39 am
A thin layer of black paint has absoluetly no significant thermal resistanve, but adds some to the radiative thermal dissipation togethet with the convective which is by far the largest part.

So by all means, paint it black and reduce C/W somewhat but dont expect any miracles.

Beg to differ. Waste of time, not proven, and can only hurt more than it can benefit you.

Also see here :
https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50858/#msg50858 (https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50858/#msg50858)
https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50880/#msg50880 (https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50880/#msg50880)
https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50929/#msg50929 (https://www.eevblog.com/forum/projects/the-performance-of-a-heatsink-with-a-black-surface/msg50929/#msg50929)

The last one is interesting and is more along my thoughts. You already have a great heat conductor, the aluminum, why paint it with something that may not actually be a 'black body' and may reduce the thermal conductivity.  Unless you know it won't degrade it, or you know the paint you choose is specifically made for painting heatsinks, why do something when you don't know its real effect?

We engineer things. We don't do anything without knowing why.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on June 19, 2015, 09:00:15 pm
Most heat transfer is via conduction, not radiation

It is not right. The books on the calculation of the heat sink can find a formula for the coefficient of heat transfer by radiation. For example, the following link (http://upcommons.upc.edu/pfc/bitstream/2099.1/14262/1/Heat%20Sink%20analytical%20modeling%20PFC%20Joaquim%20Guitart%20Corominas.pdf):

h = e * k * (Ts^4 - Ta^4)/(Ts - Ta)

Let e = 1.0 (emissivity)
k = 5.6704^-8 W/(m^2 * K^4)
Ts = 100°C = 373K
Ta = 25°C = 298K

For the heat sink temperature of 100°C h = 1.0 * 5.6704^-8 * (373^4 - 298^4)/(373 - 298) = 8.672 W/(m^2 * K)

For the heat sink temperature of 50°C h = 6.80 W/(m^2 * K)

For the plate heat sink it is more than the heat transfer by convection. The finned heat sink fins are irradiated with each other, the "h" is slightly lower. But still "Radiation heat transfer can represent up to 30% of heat rate in natural convection heat sinks" (see the link above).

Advice: don't paint the heatsink black, that's a fallacy, and might actually degrade the heat sink performance.

It is very easy to check. On the heat sink must attach LM317 configured as current source and dissipate to it a certain amount of heat (e.g., 20 watts). Next it is necessary to attach a temperature sensor (e.g., DS18B20 or thermocouple) and measure the settled temperature. From these data, we can easily calculate the thermal resistance of the heat sink. I was doing it for the heat sink of my PSL-3604 PSU. Before painting (heat sink was anodized gray) thermal resistance was 1.325°C/W. After painting black thermal resistance was 1.1°C/W.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on June 19, 2015, 09:18:31 pm
The paint does not have to be black - the radiation is in the IR range, and absorbtion / emission must nor be the same as in the visible range. Most organic paints are rather absorbing in the thermal IR range. The metallic aluminum can be rather well reflecting, especially in the IR range.

Its also possible to have a black paint, that is rather transparent to IR light: black "Edding" brand water proof markers are known to be rather transparent to 950 nm IR LEDs.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on June 19, 2015, 09:55:53 pm
Table from "A Heat Transfer Textbook" by John H. Lienhard IV and John H. Lienhard V:
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: codeboy2k on June 20, 2015, 07:53:24 am
OK, then I'll revise my thinking on painting heatsinks.   

By the way, that's a great link to the PDF of the guys Master Thesis on the analysis of the heatsink, thanks for that.  It's great to see a detailed analysis of heatsinks, and I'll read it to update myself.  My thinking on the matter seems like it might be out of date.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 20, 2015, 08:12:49 am
... and I'm going to find a fine paint in coming days :). Thanks Liv once again.  :-+
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: rikkitikkitavi on June 20, 2015, 08:32:23 am
OK, then I'll revise my thinking on painting heatsinks.   

By the way, that's a great link to the PDF of the guys Master Thesis on the analysis of the heatsink, thanks for that.  It's great to see a detailed analysis of heatsinks, and I'll read it to update myself.  My thinking on the matter seems like it might be out of date.
Compare emissivity of natural aluminium with the highlited areas.
My comment was based on engineering , i e thermal conduction thrpugh a thin paint layer (do the math) , convective heat transfer (similar) and radiative (very different) between natural and painted aluminium.

Doing the numbers you see that there is some difference for natural convection, but with forced convection radiation is neglible due to low face surface to colder surfaces and convective heat transfee increases rapidly with air velocity due to the stagnant film layer thins.
Title: Mosfet pre-regulator PCB r2B5
Post by: prasimix on June 20, 2015, 06:38:04 pm
Mosfet pre-regulator PCB is more or less completed. It now include the following sections:
Items 2, 3 and 4 is reusable for other pre-regulators (like SMPS buck or buck-boost). Last two items are optional: sync isolation can be used to synchronize switching frequency of all SMPS controllers. In dual channel version with SMPS pre-regulators their number can be up to 5 (2 high power, 3 small power).
V/F converter is used since there is enough room to place it on PCB and couple of unused pins were available on I/O expander (MCP23S08) located on the post-regulator PCB. It is not precise (~100Hz/oC in 25-70oC range) like dedicated temperature sensor devices but since it should be used for measuring temperature on main heatsink it is more then enough for monitoring if alarming temperature is reached or not.
In this version is fixed Power good signal issue what is important for proper functioning of post-regulator during power up and power down phase.

Schematic for r2B5 version is in the attachment. In new post that follow I'll attach Eagle files, Gerbers and BOM.
Title: Mosfet pre-regulator PCB r2B5 layout, Gerbers and BOM...
Post by: prasimix on June 20, 2015, 06:41:31 pm
Here is all files required for creating above mentioned mosfet pre-regulator. PCB is maybe a strange or unnecessary mix of THT and SMD components. If this project comes to group buy phase I can redesign everything to use SMD to the maximum extent.

Don't know if custom library is also required for viewing Eagle files.
Title: Assembled Post-regulator PCB...
Post by: prasimix on June 25, 2015, 05:55:38 pm
A small update about post-regulator. It's now assembled as it is shown on following pictures. Initial testing is made with new current shunt monitor section with 40V/V gain and OP27 (http://"http://www.analog.com/en/products/amplifiers/operational-amplifiers/high-voltage-amplifiers-greaterthanequalto-12v/op27.html") op amp.

(https://i.imgur.com/JfkfpYa.jpg)

(https://i.imgur.com/VhaN58r.jpg)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on June 25, 2015, 07:44:06 pm
It's getting amazingly nice!  Congratulations!  ;)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 30, 2015, 07:16:11 am
I made some progress when inductive load is connected to the PSU. In the post #100 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg689591/#msg689591) some kind of oscillation was visible. In the new CC loop gain is lowered to 40V/V and OP27 is used instead of LTC2057. With clamping diode added in parallel to the inductor I got the following response:

(https://i.imgur.com/3u9vE0g.png)

(https://i.imgur.com/TWDOmCs.png)



Title: PSU in enclosure with provisional front panel
Post by: prasimix on July 12, 2015, 02:13:01 am
I almost succeed with mounting all required components into enclosure. Said almost, since as you will see the front panel has to be defined. Also some other mechanical issues have to be resolved. At the beginning I was planned to make a first prototype that is only manually controlled. I also had a chance to order a sample front and back panel for free from shop that belongs to brother's friend. The front panel is prepared for mounting multi-turn pots and cheap (and unusable :(, see post #85 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg682016/#msg682016)) eBay grade DMMs, binding posts for power and sense signals and protective earth:

(https://i.imgur.com/xdXB7w4.jpg)

I adopted it to carry the MCU, keypad and BP (Binding posts) PCBs. Now it looks like this:

(https://i.imgur.com/OEg8SNt.jpg)

(https://i.imgur.com/vlvNpts.jpg)

(https://i.imgur.com/pgoNsLn.jpg)

Please note that this funny look is a provisional and a new front panel has to be designed. In the process I'll probably make a fusion of three mentioned PCBs. More about BP PCB will follow in the next post, here I'd like to present some mechanical obstacles.

First, AUX PCB has to be mounted on the removable top cover because it ends up that there is no enough space to mount everything inside even when MCU, keypad and BP PCBs are mounted on the front panel. This possibly don't looks nice but it's functional and require a little bit longer AC main cables and +5VDC for MCU and BP. The later is also provisional (twisted white-blue) and will be replaced with shorter and shielded one. Actually everything around front panel is provisional.

Second, "double decker" approach has obvious advantage in saving space but from other side if something went wrong on bottom channel, upper channel PCBs have to be removed first. Also even if everything is ok, and you'd like to concurrently monitor signals on both channel you are in trouble.
One can say that even sharing single main heatsink is not a good idea and makes channels chained to each other. I thing that is of secondary importance in comparison with the previously mentioned fact.

Transformer: few years ago I ordered a custom made toroidal which is declared as 2x150VA (2x48VAC). I know that is too low for continuous planned capacity of 2x150W. But, I expected that it can deliver without hassle at least 1.5A per channel or 150W in total. Some preliminary testing told me that this is not a case. Ok, it's summer time and my room temperature is 29oC but with such kind of load it can go easily to ~80oC. Don't looks nice :confused:. What are you thing?

Now we comes to the most problematic part: front panel. First please note that USB cable (see bottom left corner) is connected directly to the MCU PCB regardless the fact that small "breakout" PCB for Ethernet and USB socket was made:

(https://i.imgur.com/SJk3o20.jpg)

It's not mounted even provisionally since I had no idea where to put it: on the front panel or maybe on the back panel. Both are pretty populated and that is one more indication that this enclosure is too small. But, the same manufacturer have another slightly bigger (http://"http://www.modushop.biz/site/index.php?route=product/product&path=69_124&product_id=475") (and not too big) that could serve the purpose better.
If USB socket (Ethernet will be covered in some of the following topics) can be mounted on the front panel it will be nice to put it on the MCU. Also CC/CV LEDs could be placed on the MCU and at the end the Keypad which is  currently a separate PCB could be merged with MCU. But, here we came to the problem. The MCU PCB is "piggybacked" on the LCD and that adds ~10mm depths which is too big for chosen keypad's tactile switches. That means that "Front panel mainboard" should have a hole for LCD and some simple and not too expensive mean of connecting LCD. Currently I have no clear idea how to do that and especially what kind of connection to use. Possibly my description is also to confusing that someone understand what I wants to point out.
Title: Binding posts PCB...
Post by: prasimix on July 12, 2015, 02:15:56 am
A few words about BP PCB. Main intention is to provide simple and secure handling of Sense inputs and making serial and parallel connections without additional external cables. The former will double voltage (up to 100V!) and the later will do the same with current (up to 6A BUT, with proper transformer you can expect up to 10A since everything can be easily scaled up to 5A per channel!). It also includes output protection (combination of TVS, VAR and SAR).
And some extra: since all mentioned cases (remote sensing and channel interconnection) are not ordinary cases, an additional LED indication (MCU programmed) is provided on top of what will be displayed on the LCD screen. An 16-channel LED driver SPI device is used (TLC5925 (http://www.ti.com/product/tlc5925)) to drive LED's, small relays for remote sensing and power relays for PSU's power outputs.
The following scenarios are covered with current BP PCB version:

(https://i.imgur.com/sud8A7E.png)

LEDs over sense binding posts are yellow and LEDs over power posts are green or bicolor and can switch to red to indicate special wiring: serial or parallel. To avoid MCU programming error on BP PCB is "hardcoded" protection of concurrent activation of relay in chage for serial and parallel connection which could cause a major disaster.
And also few pictures ...

(https://i.imgur.com/Wt9OePW.jpg)

(https://i.imgur.com/2TLfVcs.jpg)

(https://i.imgur.com/enJ9Uxk.jpg)
Title: Hello world and simple channel setup...
Post by: prasimix on July 12, 2015, 02:17:34 am
Some progress is also made on MCU programming side. I had some tough time understanding SPI modes (http://"https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus") and particularly with many presumptions how to handle MISO signal (data sent from peripheral device to MCU) :). Another story was communicating with LCD but after all I can say that first code is done which provides basic functionality using MCU control.
When code will be in good shape (decently debugged and tested) I'll make it public on Bitbucket (http://"https://bitbucket.org/"). Maybe some sequences will be also recorded with camcorder and provide to public.
Right now I have welcome screen, self-test (check SPI devices availability) and setting of voltage, current and their limits.
Welcome screen (info about model, firmware, number of channels, range, pre-regulator type, ADC and DAC resolution):

(https://i.imgur.com/XU6Xzpo.jpg)

If self-test passed screen will looks like this:

(https://i.imgur.com/kNspv6A.jpg)

Here is how self-test screen will be in case that one channel is faulty (a SPI cable is removed from Ch#2):

(https://i.imgur.com/wFTOEhs.jpg)

Green LED's that belongs to Ch#2 (left side) should not be active. Not really a bug because proper BP PCB handling is wait to be added.

Three values for each channel will be presented most of the time in two rows. Depending of detected mode of operation (available on I/O Expander inputs) in the first row with bigger numbers will be shown measured output voltage (CV mode) or current (CC mode). Second row displays measured and max. value of current (CV mode) or voltage (CC mode). Here is an example when both channel is in CV mode (first with load, second without load connected):

(https://i.imgur.com/P2vfgcc.jpg)

If Ch#1 enters CC mode voltage value will be replaced with output current:

(https://i.imgur.com/1z4jBJ2.jpg)

If i.e. second channel is not defined or did not passed initial self-test, screen will looks like this:

(https://i.imgur.com/a9N5MQJ.jpg)

Please also note color coded keys in the keypad's first column: they are used as "Function" keys and match right side menu (four position). The rest of the keypad is standard phone pad (0-9, * and #). Idea is to reach any menu options with minimum keys pressed. Also important function like "fine" and "coarse" output adjustment (increasing and decreasing) will be assigned to "hotkeys" on phone pad.

So far all SPI functionality is tested, namely: ADC, DAC, I/O expander (on post-regulator PCB), LED driver (on BP PCB), RTC, external EEPROM, LCD, Ethernet (on MCU PCB). And now one sad fact: Ethernet is out of game with current MCU if Arduino sketches is used. It's library (EtherCard (http://"https://github.com/jcw/ethercard")) in combination with other already used (LCD and Arduino itself), requires more memory than ATmega32u4 (http://"http://www.atmel.com/devices/atmega32u4.aspx") has :(. That calls for another MCU PCB version and next time I'll not go below ATmega2560 (http://"http://www.atmel.com/devices/atmega2560.aspx"). But with current set of ideas what could be added it's quite possible that even 256K will not be enough :).
Anyway, idea is to put set of nice functionality in 32K and release MCU PCB with existing MCU. I hope that software feature list will be ready for release soon.
Title: Re: PSU in enclosure with provisional front panel
Post by: Liv on July 12, 2015, 05:18:40 pm
At the beginning I was planned to make a first prototype that is only manually controlled.

In the 21st century, power supply with manual control are not wanted. No need to spend time to support this version.
Title: Arduino shield as PSU front panel
Post by: prasimix on July 30, 2015, 03:46:26 am
I'd like to present here the current results of thinking what to do with PSU front panel and all bits and pieces that is planned to be mounted on it, namely MCU PCB with LCD 128x64 display, 4x4 keypad and what I call BP PCB which is presented in post #133 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg708528/#msg708528). Starting with MCU programming shows also that current MCU (Atmega32u4) will not be sufficient to support all SPI devices and that even if i.e. Ethernet is skipped that adding some advancing functionality could become questionable.
First I decide to merge all mentioned PCBs into single one. Also thanks to suggestion from one member I decided to put in the core of the new PCB a 3.2" color touch-screen TFT display. That automatically remove from the scene keypad, provides better presentation in color and four times more pixels and even comes with connector for the SD-card. Chosen display can be found on many places and price is very competitive in comparison with monochrome especially if you take into account that keypad is not necessary any more, and that SD-card support is included (I bought mine here (http://eckstein-shop.de/32-inch-240x320-TFT-with-Touch-panel_1)). It looks like this:

(https://i.imgur.com/tA47pUZ.jpg)

... and it's accessible directly via i.e. UTFT (http://www.rinkydinkelectronics.com/library.php?id=52) and UTouch (http://www.rinkydinkelectronics.com/library.php?id=56) libraries. Such type of displays usually use 16-bit parallel bus, few more wires for touch screen and standard SPI for SD-card (SD card operate in SPI mode). So many lines require more capable MCU (more I/O pins and more memory for sw library) but as I already said current MCU was not right choice and adding TFT/touch-screen/SD-card create strong demand for migrating to something else where at least two scenarios becames possible: adding a new MCU to the new PCB or maybe create front panel PCB as an Arduino shield for models with more capable MCUs such as Mega2560 (still 8-bit but with many I/O's and 256K program flash memory) or Due (32-bit, 512K memory). Idea to create "MCU-independant" solution sound very attractive but, there was a "small detail": supply voltage is different for mentioned boards, and of course later which works with 3.3V cannot tolerate 5V on its I/O pins. Supporting both of them will require some level translation. That is accomplished using SN74LVCC3245 (http://"http://www.ti.com/product/SN74LVCC3245A") in the following setup: all peripherals are set to 3.3V, main supply is 5V and if Mega2560 is used 5V<->3.3V translation will be done. In case of Due, same level shifters will be used but with 3.3V on both side ("A" and "B") and on-board 1A LDO will step down 5V to 3.3V. Arduino Due require up to 800mA (http://"https://www.arduino.cc/en/Main/ArduinoBoardDue"), therefore a new AUX PS is designed which I'll present in the next post.
The new PCB, what is as I mentioned before an Arduino shield now has the following functionality:


(https://i.imgur.com/OW7dpyN.png)

(https://i.imgur.com/282sYU4.png)

(https://i.imgur.com/Guu8LbA.png)

(https://i.imgur.com/LVUvO7K.png)

(https://i.imgur.com/MU5RWS6.png)

When all mentioned is put together on the one place it looks like this (no auto-router function is used):

(https://i.imgur.com/44ATMSo.png)

... or without ground planes displayed:

(https://i.imgur.com/e172HUT.png)

The front panel should looks like this (main switch is copied from the previous design, it can be much more smaller now, more about that in the next post):

(https://i.imgur.com/NJpGIkX.png)

So, at the end such solution can be used to "computerize" any PSU with SPI devices added on the power supply PCB side. All your comments and suggestion are welcome. I'll check all in the coming days and if nothing horribly wrong is found I can go with ordering PCB (together with new AUX PS).
Title: Pinouts for Arduino PSU shield...
Post by: prasimix on July 30, 2015, 03:47:39 am
Please find below an overview of all Arduino pins used for this "shield" (that possibly could simplify understanding schematics).

EDIT 2015-08-05: ETH_SELECT signal also require level shift

(https://i.imgur.com/eVCbnzF.png)
Title: New AUX PS with soft-start/stand-by
Post by: prasimix on July 30, 2015, 07:59:05 pm
With introducing possibility to works with ARM MCU that can be found on Arduino Due board, requirement for power is changed. Existing AUX power supply is designed to deliver up to 300mA with LM(2)5574 controller that cannot deliver more then 500mA. New controller is selected, LM(2)5575 from the same family that can deliver up to 1.5A.
(version with prefix 2 is designed for lower max. Vin). PCB layout is redesigned in a way to insure better power inductor cooling and possibly better EMI performance.
In parallel with redesigning SMPS part of this PCB I start thinking about adding some sort of soft-start capability since toroidal transformer and huge input capacitor that is deployed in mosfet pre-regulator cause huge inrush current when main power is applied. I started with simple delayed relay which bypass power NTC that is connected in serial with transformer. Thanks to discussion with some people I ended up with replacing relay with two triac. Here is how the new AUX PS PCB schematic looks like:

(https://i.imgur.com/Drckigl.png)

Soft-start that is shown in upper right section. Solution is compromise between two contradicting requirement that require transformer and input/bulk capacitor. Optimally former has to be switched when input voltage is in its peak, and later when it is in zero. But there is only one power up and decision when to start is based on what is less stressful for the circuit. Since speed of current increase for transformer "pre-magnetization" is slower then one for charging up capacitor two triacs is deployed: one with ZCD (zero-crossing detection) optotriac and another with "non-ZCD". Power up sequence is controlled with MCU, at the beginning both triac are turned off.
Then one with ZCD is used to apply power resistor and after some period od time (up to 1 sec) another one with non-ZCD is fired to bypass power resistor. Now the first one can be turned off. Small heatsink is added to "direct" (second) triac to help dissipate couple of watts that is expected during operation.
Such solution also allows PSU stand-by mode and high current AC main voltage switch is no longer required.

New PCB layout is shown below.

(https://i.imgur.com/CHTGGsu.png)

(https://i.imgur.com/JDAGSx8.png) (https://i.imgur.com/NImlCJ5.png)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: lunemec on August 04, 2015, 03:10:28 pm
Hello parasimix,

these suplies are awesome. You did a superb job. How much did it cost to build the last prototype (in CZK/eur). I want to build some supply and your design looks the most complete here on the forums. I have 19V 2.5A adapter lying around, is it possible to change input voltage? Also I want to build cheaper version, I think analog version with multiturn pots without lcd would be more than enough. Any suggestions on modifying this scheme for that purpose?

Thank you,
Lukas
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 04, 2015, 06:31:53 pm
Hi Lukas, you can found pre-regulator details in post #128 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/120/) with BOM for TME and Farnell. For lower Vin you need to change voltage divider R19/R21 (Sheet 2/2) that define UVLO of LM5574. Current values define cut-off at ~43V and you need to decrease it. Let say with R19=18K and R21 unchanged you'll move that point down to ~18V.

Basic solution (without MCU) needs also post-regulator. I'm working on final PCB layout and it will be published soon together with BOM. In case of post-regulator you need to decrease gain of voltage error amp (four resistors) to be within 2.5V for full scale. Similar thing could be doe for current error amp, but with 2.5A its pretty close to what I have now (3.15A for full scale). Again changing four resistors and possibly current shunt resistor.

Important: if you'd like to proceed with basic solution take into account issue presented in post #85 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg682016/#msg682016). I gave up trying to find a reason why such DMM generate such problem in CC mode. You have to find somehow what's going on in case that you are going to use such DMMs.

Please also note that I'd like to run a GB for PCBs in coming months if I received enough inquiry.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: lunemec on August 04, 2015, 06:37:22 pm
parasimix, I'd be interrested in the pcb's but I need to know the price estimate it would cost to build this supply (let's say without the transformer) ... Because if it would be something like 5000 CZK/200 eur, that would be way too much for DYI project ...

Thanks,
Lukas
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 04, 2015, 06:52:50 pm
If you check pre-regulator BOM you'll see that is around ~25EUR without PCB. Soon we'll know what's about post-regulator.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Rolo on August 05, 2015, 05:28:31 pm
Just a quick thumbs up for this project. I like reading it and learn from the way you design. Can't wait to see the display lite up !
Just curious, did you already do some tests with the new LCD ? 
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 05, 2015, 06:26:09 pm
Just a quick thumbs up for this project. I like reading it and learn from the way you design. Can't wait to see the display lite up !
Just curious, did you already do some tests with the new LCD ?

Working on it ;). That will require some time. I'm trying to use UTFT (http://www.rinkydinkelectronics.com/library.php?id=51) and UTouch (http://www.rinkydinkelectronics.com/library.php?id=55) libraries. Arduino demo sketches works "out of box" (I'm currently using Mega2560 with level translation shield (http://eckstein-shop.de/TFT-LCD-Mega-Shield-fuer-Arduino-Mega-2560_1)) but first disappointment was that only monospaced fonts are supported and there is no many fonts available. I need pretty big fonts (over 48pts) for displaying V and A values. Therefore the first step was to find some free truetype and convert/prepare it that can be used for this project. That is already done and proportional fonts is now supported. Nice thing with new display is the colors, so it will be possible to highlight some information using different color. More news will follow soon...
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Rolo on August 05, 2015, 11:37:01 pm
I agree, most Fonts are simple upscaled versions of a small font, resulting in blocked characters. Not wat you want on a fancy TFT. One reason is that they struggle to get it to fit in the flash memory of an Arduino Uno, once you make the step to controllers with more flash (as you did) it possible to load fonts with more details.
I did some experiments with a 2.2 inch TFT and found this article very informative. He uses Adafruit libs as base but made an extension with nice proportional fonts, even some big numbers only and 7 segment fonts.
Maybe this is of any help to you.
http://www.instructables.com/id/Arduino-TFT-display-and-font-library/ (http://www.instructables.com/id/Arduino-TFT-display-and-font-library/)

 
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 07, 2015, 09:34:42 pm
Thanks Rolo for that link. Issue with fonts is solved in a way that selected TrueType font is converted into BDF and then further handled with some additional code.
Title: IEEE 488.2 specification
Post by: prasimix on September 05, 2015, 04:11:17 pm
While waiting for new batch of PCBs that include new MCU board designed as Arduino shield (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg719897/#msg719897) and accompanying aux power supply I'm working on specification for interfacing MCU with the rest of the world using USB (or serial over USB) and Ethernet. I found very simple (text based) and pretty straightforward SCPI (http://www.ivifoundation.org/scpi/) that is used for communication with test equipment. SCPI specification is free but IEEE 488.2 this has to be supported partially is not. IEEE asks $313 for non-members or "only" $250 for members. I'd not ready to spent such amount of money for it and wondering if anyone knows if some good reference or book exists that cover basic IEEE 488.2 without violating owner's copyright.

Thanks.
Title: Re: IEEE 488.2 specification
Post by: TerraHertz on September 05, 2015, 04:35:09 pm
IEEE asks $313 for non-members or "only" $250 for members. I'd not ready to spent such amount of money for it and wondering if anyone knows if some good reference or book exists that cover basic IEEE 488.2 without violating owner's copyright.

http://www.mksa.deit.univpm.it/biblioteca/sala_tecnica/scaffale_strumenti/Strumenti/ieee488/ (http://www.mksa.deit.univpm.it/biblioteca/sala_tecnica/scaffale_strumenti/Strumenti/ieee488/)
  std488dot1 1987.pdf   09-Mar-2004 10:16    3.3M
  std488dot1 2003.pdf   09-Mar-2004 10:10    1.8M
  std488dot2 1987.pdf   09-Mar-2004 10:20     10M
  std488dot2 1992.pdf   09-Mar-2004 10:21    1.9M

It should be the law that nothing can be a standard in any way for anyone, unless the full details are freely available.
Copyright was supposed to be so individual authors could profit from their creativity (for a limited time), not so corporations could screw us all forever.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 05, 2015, 04:46:12 pm
Wow! That was quick and it's the Full Monty! Massive thanks for that TerraHertz. That definitely will simplify the rest of the journey :).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: technix on September 15, 2015, 11:41:48 pm
My M130v1 power supply plan no longer have that complex human interface at all. The user interface is now a simple 16x2 HD44780 LCD, 4 buttons and a USB connection - the device is controlled almost exclusively over USB from a computer. Since at least for me I always have at least one computer next to my workbench, building the complexity as a computer program instead of in hardware makes more sense to me. It is just still too expensive for me to use Bluetooth Low Energy or I may even start rolling test gear using iPhones as control interfaces.

Also I almost never used level shifting of any sort, but I use lots of PCF8574 and MCP23017 I2C GPIO expanders because a 3.3V I2C bus will be able to have both 5V and 3.3V devices on it running at the same time. This also allows me to use smaller MCUs like the ATmega328P which is also a lot cheaper. I did use two microcontrollers but still.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 16, 2015, 05:32:08 pm
Thanks Technix for your input. This project is started with possibly different ground that yours. I'd like to list few of them:


Title: Arduino shield for PSU assembled...
Post by: prasimix on September 24, 2015, 04:55:02 pm
New PCB comes few days ago and I took time to assembly first Arduino shield that replaces three PCB used before. Here is how bare board looks:

(https://i.imgur.com/DpLQ7eb.jpg)

(https://i.imgur.com/w64pf7J.jpg)

Top side of the PCB with all parts inserted without Arduino board:

(https://i.imgur.com/1MD7xJf.jpg)

... or with Arduino (Mega2560) inserted:

(https://i.imgur.com/SaSbpzS.jpg)

Bottom side that will be visible on PSU front panel carry TFT touch screen display, binding posts, LED indicators and connectors for battery's NTC. I didn't use spacer sleeve for LEDs for better mechanical strength, but I'll order possibly this one (http://www.tme.eu/en/details/fix-ledh-9/spacers-for-led/fixfasten/).

I tested all parts and can say "so far so good" - buzzer, Ethernet, RTC, external EEPROM and LED/relay driver works. Communication with TFT display also works. Optional V/F converters for monitoring battery temperature while charging also works. No error on PCB layout or logic is found.

For selecting Arduino Mega2560 or Due only two jumpers has to be set on the PCB.

In parallel a good progress is made on software side. First set of SCPI commands are implemented and I'll post few sample session soon. I'm continue to works on new AUX PS that will supply Arduino shield and which also has MCU controlled soft-start for main toroidal transformer.




Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: void_error on September 25, 2015, 04:06:25 am
It looks really nice!... Besides color matching, :blah: but any board color except green or yellow would have looked better with the Arduino board.
If I remember correctly you used a Czech PCB house.
Looking forward to see how it all comes together...
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: alexanderbrevig on September 25, 2015, 05:19:05 am
Looks amazing! Posting mostly so I can keep tabs on your awesome project :)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 25, 2015, 07:48:52 am
It looks really nice!... Besides color matching, :blah: but any board color except green or yellow would have looked better with the Arduino board.
If I remember correctly you used a Czech PCB house.
Looking forward to see how it all comes together...

:) Yes, I'm still with printed.cz where you can order many other colors. The green one is the cheapest and I'd like to spare some money in this phase. If GB is ever happen we can choose any other color.

Anyway I forgot to add a picture of how it looks on the other side:

(https://i.imgur.com/zlzucgl.jpg)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: fivefish on September 25, 2015, 05:34:04 pm
Very nice project! I can tell a lot of work (and money) went into this. Kudos to you.

Hey, what kind/brand of binding posts are those? Where can I get them?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Theboel on September 25, 2015, 06:00:24 pm
sorry if its already asked,
is this project can be available for a "kit" form  :-[
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 25, 2015, 07:18:53 pm
Very nice project! I can tell a lot of work (and money) went into this. Kudos to you.

Hey, what kind/brand of binding posts are those? Where can I get them?

Here is an extract from BOM (it will be available online when ready):

(https://i.imgur.com/28ISVtE.png)

I'm using TME (http://www.tme.eu/en/) but Farnell has something similar (and more expensive).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 25, 2015, 07:21:18 pm
sorry if its already asked,
is this project can be available for a "kit" form  :-[

My intention is to organize GB for PCB and possibly enclosure with customized front panel. For all PCB detailed BOM will be published and everything can be ordered from just two supplier: TME.eu and Farnell (TME is cheaper but cannot offer all ICs).
Title: New AUX PS with soft-start ...
Post by: prasimix on September 27, 2015, 02:36:05 am
The latest version of AUX PS PCB that will be used for powering Arduino shield is now also assembled and tested. Bare board looks like this:

(https://i.imgur.com/2IJRu4z.jpg)

(https://i.imgur.com/ep8V51D.jpg)

Assembled with all components:

(https://i.imgur.com/DrczCIg.jpg)

(https://i.imgur.com/gbqFizg.jpg)
Title: AUX PS measurements
Post by: prasimix on September 27, 2015, 02:37:26 am
When Arduino shield is connected to the AUX PS from the previous post and everything is turned on (all LEDs and three relays) the +5V output (yellow) and SW signal (cyan) looks like this:

(https://i.imgur.com/SgsxxA8.png)

Since this revision of AUX PS PCB also include main transformer soft-start I also made some testing of that functionality. For current measurement (magenta) a small current transformer is used to sense what's going on on AC mains.
First I check what's going on when transformer is simply connected to the AC mains (a 500VA Talema 55186-P1S2 (http://www.tme.eu/en/details/55186-p1s2/toroidal-transformers/talema/) transformer is used for testing):

(https://i.imgur.com/my2juvr.png)

Then if the same transformer is connected with 22R/7W used for soft-start functionality then I got the following in-rush current:

(https://i.imgur.com/qAxHxJD.png)

Then I tried with power-up sequence controlled by Arduino shield when first soft-start triac (cyan) is activated then after 700ms, direct triac (blue) is switched on, and finally soft-start is switched off after 100ms:

(https://i.imgur.com/A1DrFRX.png)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on September 27, 2015, 03:19:52 am
The optocoupler part looks dangerrously close. SMT opto-couplers are already a problem when is comes to creapage disdance. There usually is not room for an extra line under the OK. One might even need a cutout under the OK to get sufficient clearance.

Also under the transformer the creapage distance looks rather small - at least not suitable for a dirty / humid enviroment.

Usually the fuse should go before the MOVs and similar overvoltage protection parts.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: technix on September 27, 2015, 05:49:43 am
Well I have finalized my design of M130v1 (25V max at 1.5A, 7.5A max at 5V), and I used a hybrid design that drew concepts from both switch-mode and linear power supplies. I used a mains frequency transformer to step the voltage down to 35V full wave rectified (transformer not on board but rectifiers are), and used three step-down converters to provide the required power rails, +5V (MCU), +30V (op amps and digipot) and the adjustable output rail. The adjustable step-down is then cascaded with a NMOS linear stage to smooth out most the remaining ripple.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 27, 2015, 08:46:50 am
The optocoupler part looks dangerrously close. SMT opto-couplers are already a problem when is comes to creapage disdance. There usually is not room for an extra line under the OK. One might even need a cutout under the OK to get sufficient clearance.

Also under the transformer the creapage distance looks rather small - at least not suitable for a dirty / humid enviroment.

Usually the fuse should go before the MOVs and similar overvoltage protection parts.

Thanks once again Kleinstein for your valuable comments. I forgot to mention that schematic for this PCB is presented in post #138 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg720382/#msg720382).
Do you referring to horizontal or vertical improper clearance? I think that MOC205x and MOC206x are designed to be used with AC mains (EU 230VAC included) and they have clearance of ~7mm. I'm using SMD parts and Cu traces are isolated at least "dirty" factor should not be an issue. Anyway I made a correction and one possible layout could be like this:

(http://i.imgur.com/YJuh47J.png)

Regarding fuse, this one is not main fuse but only 80mA for PCB transformer. Therefore I believe that is on the right side.
Could you please let me know what traces under transformer look problematic? On the left side is AC mains and on the right 12VAC.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on September 27, 2015, 06:14:46 pm
Die optocoupler should be OK, but this is about the minimum distance one should have if the secondary side is not PE connected.

The distance from the 12 V AC part to the mains connected part on the right now looks a little too small.  Like with the optocoupler this should be something like 7 mm minimum, better 8 mm.  How much clearance is needed depends on the enviroment. Humid or dusty enviroment might need even more distance and thus a cutout under the optocoupler.

If there already is another fuse, than it's Ok to have an extra fuse just for the transformer.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 27, 2015, 06:55:02 pm
The distance from the 12 V AC part to the mains connected part on the right now looks a little too small.  Like with the optocoupler this should be something like 7 mm minimum, better 8 mm.  How much clearance is needed depends on the enviroment. Humid or dusty enviroment might need even more distance and thus a cutout under the optocoupler.

This is a corrected version where ~8mm spacing around secondary traces was added:

(http://i.imgur.com/O0EglZP.png)

 
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 29, 2015, 11:36:54 am
I am hoping you intend to place an insulator under the heat sink, on the aux board? Around the mains tracks on the top or red layer?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 29, 2015, 04:36:40 pm
I am hoping you intend to place an insulator under the heat sink, on the aux board? Around the mains tracks on the top or red layer?

Thanks for your comment. It can be done easily without hassle of insulating heatsink. Here it is:

(https://imgur.com/z1AZIPg.png)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 29, 2015, 04:42:38 pm
I am hoping you intend to place an insulator under the heat sink, on the aux board? Around the mains tracks on the top or red layer?

Thanks for your comment. It can be done easily without hassle of insulating heatsink. Here it is:

(https://imgur.com/z1AZIPg.png)
Wow that was quick. Don't want you to touch a mains hot heat sink :-)
Title: New mosfet pre-regulator PCB...
Post by: prasimix on October 03, 2015, 06:20:40 pm
The new mosfet pre-regulator board with SMD components is now also finished. In bias pre-regulator sections LM317 is replaced with LP2951. Bias voltage for op-amps on the post-regulator board is decreased from +/-15V to +/5V. The +5V for supplying digital section is still separated (using another LP2951). V/F converter is added for temperature monitoring and PCB also can carry now three smaller power capacitor that can provide higher max. ripple current figure then the single one. The bare board looks like this:

(https://i.imgur.com/7eUxAcS.jpg)

(https://i.imgur.com/HOeP8UP.jpg)

With all components (except sync isolator for syncing with LM5574 on another channel's pre-regulator):

(https://i.imgur.com/BlHihnM.jpg)

(https://i.imgur.com/9kUAEuB.jpg)



Title: New post-regulator PCB board (SMD verision)...
Post by: prasimix on October 03, 2015, 06:43:13 pm
The new post-regulator board with SMD components is also finished. Connection with pre-regulator is now accomplished using single connector. This board just as previously presented pre-regulator is 60x100mm that is within limits of Eagle freeware (http://www.cadsoftusa.com/download-eagle/freeware/) edition (that means modifications is also possible on top of opening and viewing). No errors is found in layout and no additional cuting and wiring was required this time :).
The bare board looks like this:

(https://i.imgur.com/qF1zLIp.jpg)

(https://i.imgur.com/87wZ3Wr.jpg)

Assembled (everything is hand soldered, connectors for manual OE and DP control and CC/CV LEDs were not mounted):

(https://i.imgur.com/eZISL5m.jpg)

(https://i.imgur.com/BzCiDRO.jpg)

Mosfet pre-regulator and post-regulator when connected occupy 122x100mm:

(https://i.imgur.com/QYrpT4d.jpg)

Mounted on SK85/50/SA (http://www.tme.eu/en/details/sk85_50_sa/radiators/fischer-elektronik/) heatsink that is enough that without fan temperature (Tamb=25oC) goes to 60oC with 3A load:

(https://i.imgur.com/VbA4Rri.jpg)

With this a hardware part of the adventure is mostly finished. Actually what is still missing is manufacturing of the front panel that do not cost a fortune and can be easily obtainable to anyone. That topic is already discussed in this thread but I'm still not sure what to do.
Anyway in the time that comes focus will be on the software part. First with "boring" SCPI that will offer remote control using serial (via USB on Arduino board) or Ethernet (on Arduino PSU shield (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg762573/#msg762573)) communication. Support for local control using TFT touch-screen will follow.

Of course detailed BOM with parts number for TME and Farnell are in preparation and will be published together with Eagle "source" files (PCB schematics and routing).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: isopropilick on October 05, 2015, 12:10:24 pm
Really good job!!! :-+
I love that smd work, looks incredibly close to branded manufacture. Keep it up.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on October 05, 2015, 12:24:27 pm
Looking forward to completed project.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: fivefish on October 05, 2015, 02:01:33 pm
Again, lots of work went into this. Great job!

That heatsink looks awesome... nice thick one!
Part#/Brand?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 05, 2015, 05:54:28 pm
That heatsink looks awesome... nice thick one!
Part#/Brand?

Please click the link in the sentence above the picture ...
Title: Re: New mosfet pre-regulator PCB...
Post by: BFX on October 06, 2015, 07:49:39 am
it's super project with lot of inspiration for next builders  :-+
thx
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Erythros on October 06, 2015, 10:53:59 pm
Excellent. It is starting to look mature with only the finalizing touches missing. I really admire your dedication. When I look at all the hours and money you had to put into it and no talk about production or even crown founded short supply production to mitigate costs that's something you don't see that often.

Are you still writing software for both Due and Mega? It seems like bigger source of problems than it is worth. Given that the architectures are different. I would probably go just with Due as it costs under 20 USD now ("clone", "based on Due" or whatever). But well... I a interested in how you will tackle it.

The change from 3 boards to just two (plus the Display Module) seems on one hand logical but on the other your box have to meet size criteria which previously it didn't have to. Also I have read somewhere in this thread about building more than dual channel PSU (there is no thing as too much channels). It looked simpler with modular control PCB setting. BTW, is the software side capable of dealing with more than two channels?

Next you will be building extra precision PSU  :-DD
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on October 07, 2015, 12:28:53 am
When I look at all the hours and money you had to put into it

Yes, really big and hard job! When I made my PSU, it took 4 years. However, I spend a little money, I tried to use components from old boards.

Next you will be building extra precision PSU

Also there was a desire to make a precision PSU, that's just it quickly disappears when this job does not bring any money.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 07, 2015, 12:50:39 am
Excellent. It is starting to look mature with only the finalizing touches missing. I really admire your dedication. When I look at all the hours and money you had to put into it and no talk about production or even crown founded short supply production to mitigate costs that's something you don't see that often.

Are you still writing software for both Due and Mega? It seems like bigger source of problems than it is worth. Given that the architectures are different. I would probably go just with Due as it costs under 20 USD now ("clone", "based on Due" or whatever). But well... I a interested in how you will tackle it.

I can say so far so good regardless the huge difference in programming but also in capability. For instance Due don't have built-in EEPROM but have some sort of RTC what Mega don't have. Fortunately such difference is dissolved by including such devices on the Shield PCB. Also from what I can see now Arduino IDE is more mature (if that is a proper word for this context) when we talk about AVR then ARM architecture. Currently we faced (my colleague that is dedicated to the software part and me as "project manager and tester") with at least one "show stopper" on Due side: lack of support for chosen (and cheap) Ethernet controller. We'll see if something will pop up in the near future.
Due to the "DIY spirit" of the project I still think that its worth trying to support both architecture regardless of the fact that Due is in the same price range (yet more powerful) or as a clone even much cheaper then genuine Mega (https://store.arduino.cc/product/A000067).

The change from 3 boards to just two (plus the Display Module) seems on one hand logical but on the other your box have to meet size criteria which previously it didn't have to. Also I have read somewhere in this thread about building more than dual channel PSU (there is no thing as too much channels). It looked simpler with modular control PCB setting. BTW, is the software side capable of dealing with more than two channels?

I have that on my mind. There is a few possible "branch" from the current Arduino Shield PCB (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg762573/#msg762573):
Next you will be building extra precision PSU  :-DD
Yes, never say never :)
Title: Short circuit and transient response measurement
Post by: prasimix on October 08, 2015, 09:01:59 pm
I'd like to present some measurement of short circuit and transient response. For the first measurement a simple low Rdson mosfet switch is used to short output terminal with 0R010 power resistor:

(https://i.imgur.com/EKaXjol.jpg)

(https://i.imgur.com/VKg4MsB.png)

Output signal from signal generator (SIG trace) is limited in duration (SW trace) and output (Vout trace) is monitored:

(https://i.imgur.com/ERCmFnR.png)

Recovery time from short circuit is ~1.2ms:

(https://i.imgur.com/8yPGMxe.png)

Measurement of voltage drop on the Rsense (connector X10) can give some idea about current:

(https://i.imgur.com/C9TZMDp.png)

Zoom in on the rising edge:

(https://i.imgur.com/xraRatl.png)

... and zoom in on the falling edge (some oscillation is visible?):

(https://i.imgur.com/geczo6i.png)

To test transient response I built a Closed Loop Transient Load Tester as described in LTC's app note AN104-15 (http://"http://www.linear.com/docs/29876"). I was not able to follow procedure completely since I cannot afford any current probe. Therefore I just monitored Vout when the tester is connected and active.

Tester is housed in cute and easy to drill Hammond HM1590U (http://"http://www.tme.eu/en/details/hm-1590u/multipurpose-enclosures/hammond/1590u/") enclosure (if somebody is interesting in PCB, I can publish it):

(https://i.imgur.com/a6qoEtw.jpg)

(https://i.imgur.com/GuexxWF.jpg)

At the beginning I tried to test output voltage up to 50V and (of course!) that cost me few output transistors (D44H11) since that violate badly SOA. I noticed that PSU perform almost uniformly from 10 to 50V (below 10 and definitely below 7V tester starts to generate some bad oscillation. First I blamed my PSU but when I tested the same range with i.e. 3-pin standard regulators I realize that something is wrong with tester by design or because I made some bad mistake during assembly). Anyway I proceed staying mostly in the middle of the scale, to Vout=25V.
I also noticed that measure point is important. I tried that with both AC probe described in above mentioned LTC document and with 10x probe that comes with Rigol MSO. Also connecting some capacitor in parallel with probe can change results. My AC probe looks like this:

(https://i.imgur.com/BD78mwG.jpg)

Tester have possibility to adjust DC bias of little above 1A. On top of the another 1A can be added depending of the input signal level that is used for switching on and off additional load current. Transient response vary in accordance with selected continuous (DC bias) and "switched" load (signal level). If we goes with "full scale": 1A DC bias and 1A switched load on the chassis binding posts I got the following results, 146mV over-/undershot (measured at the tester's binding posts):

(https://i.imgur.com/KRYTlfT.png)

Zoom in on the rising edge (undershoot is 78mV or 0.31% at 25V):

(https://i.imgur.com/v3H6YdX.png)

... and zoom in on the falling edge (overshoot is 72mV or 0.28% at 25V):

(https://i.imgur.com/8kgAdms.png)

If I move probe from testers binding posts to the post-regulator PCB output terminals, results looks better when over-/undershot drops to 54mV:

(https://i.imgur.com/9CsxXA7.png)

Maybe is good to add what MSO capture when load tester output is switched off but signal from the signal generator is still present:

(https://i.imgur.com/4VzvE9z.png)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on October 08, 2015, 09:21:09 pm
The supply voltage of 7.5V is quite low for driving the mofset.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 08, 2015, 09:25:10 pm
The supply voltage of 7.5V is quite low for driving the mofset.

It seems that MC34152 (http://www.tme.eu/en/details/mc34152p/drivers-integrated-circuits/on-semiconductor/mc34152pg/) have no problem with that.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on October 08, 2015, 09:39:03 pm
The supply voltage of 7.5V is quite low for driving the mofset.

It seems that MC34152 (http://www.tme.eu/en/details/mc34152p/drivers-integrated-circuits/on-semiconductor/mc34152pg/) have no problem with that.

Correct, but the gate source voltage of the mosfet is quite low, a higher gate source will reduce the on resistance of the mosfet.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 08, 2015, 09:42:59 pm
Ok, with Vgs of ~7V and Vds=25V you think that is not enough to put IRLI540 into saturation?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on October 08, 2015, 09:58:29 pm
Ok, with Vgs of ~7V and Vds=25V you think that is not enough to put IRLI540 into saturation?

At 7.5V supply voltage you won't get a gate source voltage of ~7V, I would go for a gate source voltage of at least 10V, a supply voltage of 12V.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 08, 2015, 10:02:32 pm
But trace SW (cyan) tells us that is ~7V on gate input.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: mij59 on October 08, 2015, 11:12:09 pm
But trace SW (cyan) tells us that is ~7V on gate input.

Ok, but properties will vary from mosfet to mosfet, I think there's not much margin build in.   
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 14, 2015, 02:09:17 am
Currently we faced (my colleague that is dedicated to the software part and me as "project manager and tester") with at least one "show stopper" on Due side: lack of support for chosen (and cheap) Ethernet controller. We'll see if something will pop up in the near future.

A small update here: support for the ethernet controller (ENC28J60) that works with both Mega and Due exists and preliminary tests are encouraging. Here is a fork (https://github.com/mvladic/arduino_uip/tree/Arduino_1.5.x) from original UIPethernet library that also include API for selecting SS pin (originally it was hard-coded) and soon will be added some other things (i.e. hostname settings).
Anyway decision to proceed with both AVR and ARM support looks like good exercise to make a more generic code.
Title: Arduino Shield +BP r1B12a for programmable dual channel bench power supply
Post by: prasimix on October 21, 2015, 09:55:03 pm
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).

(https://i.imgur.com/Pz8jx8l.png)

You can find in attachment Eagle schematic and PCB layout, Gerber files, Arduino pin mapping and Binding post controller (TLC5925 (http://www.ti.com/product/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).

(https://i.imgur.com/zezN84h.png)

What is possibly interesting to do with this shield in the future? Here is some ideas:
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 21, 2015, 09:56:58 pm
I'm sending Eagle and Gerber files separately due to attachment length restriction ...
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 21, 2015, 10:04:44 pm
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:

(https://i.imgur.com/FrHILEM.png)

You can find in attachment BOM ...
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 21, 2015, 10:06:23 pm
... and Eagle and Gerber files for the shield variant presented above (without binding posts section).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 21, 2015, 10:53:01 pm
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 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg708529/#msg708529). Now it looks like this:

(https://i.imgur.com/NhY9FDs.jpg)

(https://i.imgur.com/ExkCkJH.jpg)

(https://i.imgur.com/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 (http://www.modushop.biz/site/index.php?route=product/product&path=69_124&product_id=475)).

The final step is to order two-color Acryl GS laser cutout (thanks 0xdeadbeef (https://www.eevblog.com/forum/projects/printing-on-to-a-front-panel/msg778350/#msg778350)) to cover hand drilled alu plate.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: fuzzoli on October 22, 2015, 04:22:26 am
Hey there!

Is there a consolidated post listing all of the Eagle files for the entire PS?  I took a look, but must have missed it. 

This is one of the best projects in the forum!  I'm sure I'm not the only one who thinks each new update is like opening another present on your birthday! :-)

Keep up the great work!

-Frank
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on October 29, 2015, 09:18:33 am
Still working on it. The easiest way to check what is already available is to check from time to time the list of important changes at the top of the first (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg589395/#msg589395) post.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 02, 2015, 03:15:49 am
A new thread about software support for this power supply is opened here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on November 07, 2015, 04:13:42 am
A new thread about software support for this power supply is opened here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply).

I'm not sure what happened to it, but the link no longer works :(
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 07, 2015, 04:29:50 am
A new thread about software support for this power supply is opened here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/).

I'm not sure what happened to it, but the link no longer works :(

Hm, a slash at the end was missing. Please try once again.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 11, 2015, 04:01:55 am
I'm started to commit files related to this project on the GitHub.
Please follow https://github.com/eez-open (https://github.com/eez-open) where also firmware/software part of the project will be published soon in accordance with "roadmap" introduced here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg794341/#msg794341). A dedicated site with more info about project is also under construction.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on November 15, 2015, 10:00:46 am
I'm started to commit files related to this project on the GitHub.
Please follow https://github.com/eez-open (https://github.com/eez-open) where also firmware/software part of the project will be published soon in accordance with "roadmap" introduced here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg794341/#msg794341). A dedicated site with more info about project is also under construction.
Is this part of homework? I see too many formal maneurisms :D

Congratularions, nice design ;)

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 15, 2015, 10:16:47 pm
Is this part of homework? I see too many formal maneurisms :D

I didn't get it. Please clarify.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on November 15, 2015, 10:35:29 pm
Is this part of homework? I see too many formal maneurisms :D

I didn't get it. Please clarify.
Is this project part of homework for a subject of your studies?

 I understand some people don't like to show their "dirty work", but the common way in FOSS is "release early, release often" and there's no need to be ashamed of improving iteratively your stuff.

I can understand it is you require some football reviewing process because it's a project for your learning center.

Anyway, just an appointment. I was too curious, sorry for your annoyances.

Great work!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 16, 2015, 12:26:58 am
Is this part of homework? I see too many formal maneurisms :D

I didn't get it. Please clarify.
Is this project part of homework for a subject of your studies?

 I understand some people don't like to show their "dirty work", but the common way in FOSS is "release early, release often" and there's no need to be ashamed of improving iteratively your stuff.

I can understand it is you require some football reviewing process because it's a project for your learning center.

Anyway, just an appointment. I was too curious, sorry for your annoyances.

Great work!

Thanks for clarification. I'm now closer to understanding :-+. This is my homework only in a way that I'm doing it from my home :). The new web pages (http://www.envox.hr/eez/) that I started to build dedicated to this project will contain current status but also to some extent brief overview of past challenges, "dead-ends" and mistakes. In that way I think it could be more beneficial for people that don't want to goes thru all posts in this and few other threads, and also people who eventually follows mentioned posts don't want to read many now obsolete and irrelevant things once again.

Also there is no learning center. As it is said on the home page: all presented projects are created in a way to be suitable for DIY. Idea is to promote open source and contribute to the open source community. I think that chosen approach is not completely strange and unusual: creating hardware first as a reference design for the software that has a potential to be used with similar devices or even in the long run with the different type of devices within the same category (that means instruments like wave/function generators, DMMs, electronic loads, scopes etc.).

Your and other members input is welcomed, and hopefully it will follow and helps us to create something that makes sense. Many thanks!
Title: New enclosure is arrived ...
Post by: prasimix on December 04, 2015, 07:49:46 pm
A new enclosure (http://www.modushop.biz/site/index.php?route=product/product&path=69_124&product_id=475) is arrived that is 40mm wider then previous one presented here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg782268/#msg782268). 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:

(https://i.imgur.com/laRpHAz.jpg)

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

(https://i.imgur.com/mI36fvp.jpg)

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

(https://i.imgur.com/9DfFiW6.jpg)

The binding posts (http://www.tme.eu/en/katalog/#search=BS-244DSM&s_field=accuracy&s_order=DESC) were extended using the 8mm spacer (http://www.tme.eu/en/details/tfm-m5x8_dr218/metal-spacers/dremec/218x8/) (marked red). The binding post's metal top was shorted for about 9mm before spacers can be properly mounted.

(https://i.imgur.com/QNGrzBJ.jpg)

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

(https://i.imgur.com/majqxsL.jpg)

(https://i.imgur.com/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):

(https://i.imgur.com/ZMhBJXR.jpg)

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

(https://i.imgur.com/P5VloFk.jpg)

... and with transformer mounted:

(https://i.imgur.com/2GGsWS8.jpg)

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

(https://i.imgur.com/vTU3dHU.jpg)


Title: Completed enclosure
Post by: prasimix on December 04, 2015, 08:14:05 pm
I forgot to add a picture of the completed enclosure (with top cover mounted). Actually now only a front mask is missing.
Please also note that handles (http://www.modushop.biz/site/index.php?route=product/product&product_id=304) are not included in the enclosure package.

(https://i.imgur.com/GpQ6p1q.jpg)

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on December 04, 2015, 11:26:05 pm
I see you got anI already defined enclosure for a good price. That's nice!

I'm interested in getting enclosures for my future projects. I'm not sure if I can use generic ones or would need to use custom enclosures.

 How much did cost to you? I'm worried about the shipping costs.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on December 05, 2015, 07:05:07 am
I see you got anI already defined enclosure for a good price. That's nice!

I'm interested in getting enclosures for my future projects. I'm not sure if I can use generic ones or would need to use custom enclosures.

 How much did cost to you? I'm worried about the shipping costs.

Hi timofonic, this enclosure is not customized in any way for me.  All holes and cuts I made by myself with very basic and not precise tools, but at the end it looks fine. Cover mask that is missing on the front panel will hide TFT display border areas and make it even more visually appealing.

They are using only DHL and for Croatia it was 20EUR. They have online shipping calculator so you can check what does it mean for your destination.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on December 08, 2015, 11:29:43 am
I see you got anI already defined enclosure for a good price. That's nice!

I'm interested in getting enclosures for my future projects. I'm not sure if I can use generic ones or would need to use custom enclosures.

 How much did cost to you? I'm worried about the shipping costs.

Hi timofonic, this enclosure is not customized in any way for me.  All holes and cuts I made by myself with very basic and not precise tools, but at the end it looks fine. Cover mask that is missing on the front panel will hide TFT display border areas and make it even more visually appealing.

They are using only DHL and for Croatia it was 20EUR. They have online shipping calculator so you can check what does it mean for your destination.

That's interesting. Does the shipping costs get nearly the same if ordering a few of them?

I found the following projects, maybe they are somewhat similar. c4757p (aka Chris Palvina) collaborated in the project too, he's planning to do a FLOSS modular oscilloscope. He collaborated on other interesting Open Hardware projects

https://github.com/semianalog/mod12003
https://github.com/semianalog/mod1base

( https://github.com/WCP52/ )

I found this SCPI parser. Did you know about it?

https://github.com/j123b567/scpi-parser

(I asked both sigrok and scpi-parser projects about some collaboration, too)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: fuzzoli on December 08, 2015, 04:04:07 pm
Would it be possible to rotate the boards 90o?  It seems Eagle doesn't like the 60w x 100h dimensions.  The reason I'm asking is because I'd like to line up mounting holes on the Pre and Post Regulator boards so they could be mounted back-to-back.  Thanks!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on December 08, 2015, 08:11:08 pm
That's interesting. Does the shipping costs get nearly the same if ordering a few of them?

I can confirm that at least for the quantity of 2. You can contact that guys they are very responsive and ask what max. weight is covered by stated shipping cost.

I found the following projects, maybe they are somewhat similar. c4757p (aka Chris Palvina) collaborated in the project too, he's planning to do a FLOSS modular oscilloscope. He collaborated on other interesting Open Hardware projects

https://github.com/semianalog/mod12003 (https://github.com/semianalog/mod12003)
https://github.com/semianalog/mod1base (https://github.com/semianalog/mod1base)

( https://github.com/WCP52/ (https://github.com/WCP52/) )

Thanks for this! I added semianalog into our list of related links (http://www.envox.hr/eez/bench-power-supply/psu-related-external-links.html) (if someone knows for other that is not listed please let me know). It looks like a fully featured module that include MCU controller SMPS pre-regulator and dedicated OVP circuit. I'm wondering what is a "front end" for it: a PC or another dedicated MCU board that could handle more power modules.

I found this SCPI parser. Did you know about it?
https://github.com/j123b567/scpi-parser (https://github.com/j123b567/scpi-parser)

Yes, of course :) as I stated that here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg790949/#msg790949). Please note that we are currently using our fork (https://github.com/mvladic/scpi-parser) that includes some optimization for the AVR MCUs. Please also note that one can shortly found that MCUs with 32K of flash memory that are mentioned too often in DIY programmable power supply projects are far too small for decent coverage of PSU functionality of commercial middle of high end solutions (that almost without exception offers SCPI remote control). We currently can live with 256KB or 512KB MCUs but it's now much easier for us to imagine how to use something like BeagleBone (http://beagleboard.org/black) if we'd like to stay completely into open hardware/open software arena or if not then solutions such as RasPi (https://www.raspberrypi.org/products/raspberry-pi-2-model-b/).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on December 08, 2015, 08:14:53 pm
Would it be possible to rotate the boards 90o?  It seems Eagle doesn't like the 60w x 100h dimensions.  The reason I'm asking is because I'd like to line up mounting holes on the Pre and Post Regulator boards so they could be mounted back-to-back.  Thanks!

I'm not so sure what that mean that Eagle doesn't like mentioned dimensions? All PCB designs are now available here (https://github.com/eez-open/psu-hw) but please note that some of the components are locked, and you need to unlock them before rotation.
Title: Panelized PCB
Post by: prasimix on January 02, 2016, 05:10:58 am
Some people asked me for the panelized PCB for the complete solution (dual channel digitally controlled). You can find it now here: https://github.com/eez-open/psu-hw/tree/master/Panelized

Also a OSH Park profile with gerbers for the individual boards is also created, please visit https://oshpark.com/profiles/eez-open
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: funshine on January 13, 2016, 04:25:55 pm
Hi,
Great job! I've read all the posts, and it's an amazing project.
I have a question related to mosfet pre-regulator, because I was planning to do a psu use the pre-regulator circuit.
from the site, http://www.envox.hr/eez/bench-power-supply/psu-pre-regulator.html, (http://www.envox.hr/eez/bench-power-supply/psu-pre-regulator.html,) it's said
Status Completed, not recommended for toroidal main transformer.
in your post before, there is some big inrush current if a toroidal main transformer is used.
and also there is a soft-start circuit in main 220AC, here: http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html. (http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html.)
I was wandering if this big inrush current is the only problem?
is there any other drawback for the mosfet pre-regulator used with toroidal main transformer?
Thanks!

I tried to add a soft-start to the pre-regulator, by monitoring the mosfet current, using the mosfet Rds-on as the sense resistor.
when the current is big enough, it turn on the SCR, and like the other part, turn on until next cycle.
attachment is the LTspice and some screen shot.
no real test in breadboard or PCB, maybe it can solve the inrush problem?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: funshine on January 13, 2016, 04:27:54 pm
sorry missed the screen shot
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: skrap on January 13, 2016, 04:41:11 pm
Nice work! I really like it :-+

Any particular reason you picked the venerable TL07x in the post reg.?
I like the E36xx-ish style but a TL07x replacement like for example the TI suggested TLE2072 or TL052 would have been a nice improvement.

Why did you decide on a discrete current mirror since MMBT5401 is a single package and won't matched easily?
I guess you already know about the typical modern alternatives (Fig.5 or Fig.12  http://www.analog.com/library/analogdialogue/archives/48-04/current_output.html (http://www.analog.com/library/analogdialogue/archives/48-04/current_output.html) ).

Just a side note; I don't know if you noticed this when looking at the E36xx and similar HP bench PSUs but one of my favorite tricks they used is to let the opamps reference the output as GND so that V+ and V- is always centered around it. That's how they get a way with high-side current sensing for example and it also simplifies the loop-design itself quite a bit.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 13, 2016, 07:51:12 pm
Hi,
Great job! I've read all the posts, and it's an amazing project.
I have a question related to mosfet pre-regulator, because I was planning to do a psu use the pre-regulator circuit.
from the site, http://www.envox.hr/eez/bench-power-supply/psu-pre-regulator.html, (http://www.envox.hr/eez/bench-power-supply/psu-pre-regulator.html,) it's said
Status Completed, not recommended for toroidal main transformer.
in your post before, there is some big inrush current if a toroidal main transformer is used.
and also there is a soft-start circuit in main 220AC, here: http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html. (http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html.)
I was wandering if this big inrush current is the only problem?
is there any other drawback for the mosfet pre-regulator used with toroidal main transformer?
Thanks!

I tried to add a soft-start to the pre-regulator, by monitoring the mosfet current, using the mosfet Rds-on as the sense resistor.
when the current is big enough, it turn on the SCR, and like the other part, turn on until next cycle.
attachment is the LTspice and some screen shot.
no real test in breadboard or PCB, maybe it can solve the inrush problem?

Thanks funshine for your comments. Notice/disclaimer about pre-regulator is valid, and I didn't have a chance yet to elaborate that on this forum but now it's a time. The issue with such kind of pre-regulator is huge current peaks that resulting in excessive heating of main transformer. That is much more obvious in case of toroidal transformer for two reasons: it's primary and secondary windings are more hardly coupled, and core is inside (covered with windings) what make its cooling more difficult. I realized that in latest stage when everything was completed. As you probably know that is not my design, nor I tried to make any chances to eventually improve it. There was no warning that one should at least avoid toroidal type of transformer or at least I didn't remember that blackdog who presented this circuit here (https://www.eevblog.com/forum/projects/very-low-noise-preregulator-for-benchtop-power-supply/msg626382/#msg626382) mentioned anything like that. Unfortunately, I missed opportunity to ask a right question. And yes, as it's usually a case right questions usually moves us in right direction but asking right question require right level of experience and knowledge :).
BTW, blackdog presented this pre-regulator on the thread with right title started by Kalvin: Very Low Noise Preregulator for Benchtop Power Supply. I didn't ask if he eventually find something or not. There is another attempt started by tombi (Tom) based on the same "blackdog"'s pre-regulator (put into quotation since blackdog said that he is not author). Tom's progress could be follow here (http://wahz.blogspot.com.au/p/lab-power-supply.html), and I warned him about possible issue with main transformer (over)heating. On another (not English language) forum was discussion about pre-regulator and I can say some real experts told me such behavior is expected and that Agilent uses special designed transformers when is using SCR or mosfet phase controlled pre-regulation. Interesting thing is also that people on that forum find few errors in schematic of Agilent model E3640 where pre-regulator with SG3525 (http://www.st.com/web/catalog/sense_power/FM142/CL1454/SC352/PF75184) PWM controller! We don't know if that errors are intentional or not but PWM controller cannot work with presented values. Some of the member from the forum succeed to finally run it and answer to my question how hot is transformer was unfortunately the same: its start to be hot pretty soon with higher currents.
To summarize I'd like to say what is possible with current solution: on the transformer I can measure 48oC when current is 2 A. But, with the 5 A SMPS pre-regulator (shown below) temperature rises to 46oC on the same transformer with 4 A! Please take a note that no forced cooling is deployed, and I didn't tested such combination since I'd like to stick with initial goal to not use (noisy) fans what is btw a standard.

(https://i.imgur.com/XMWUTMf.jpg)

For higher currents sourced on both channel transformer temperature could easily rise over 70oC. Not nice at all, so NTC is added to transformer to avoid possibly catastrophic results. So, in general this solution WITH toroidal transformer and WITHOUT any forced cooling is pretty usable for output currents of up to 2 A.

Regarding added inrush current limiter and soft-switch: it was not added to resolve issue with continuous work of pre-regulator but only address initial in-rush current and serves as convenient MCU driven main switch.

It's interesting that so many attention and energy is spent of power supplies without pre-regulation (actually that is post-regulator or final stage in our design) and many people is possibly not aware of the problem when someone presented e.g. linear 0-30 V / 2 A without disclaimer (or awareness) or that it cannot deliver 2 A on 3.3 or 5 V continuously since that requires ~50 W of dissipation on heatsink which is too small or that is sometimes outside pass-element's SOA. From other side many people believes that SMPS (e.g. buck) pre-regulation could solve that problem but didn't think or want to talk about huge output noise that easily bypass linear post-regulator and is still present on the output. Again I'm talking about currents of 2 or more amps. The latest and (first?) resort is main transformer with multiple secondary windings that are switched on sequentially in old-fashioned way with power relays or in some more advanced designs with SCRs or mosfets. If multiple windings transformer is acceptable solution then I'd rather like to recommend Liv's design (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/msg622093/#msg622093) that is superior to mentioned relays, SCRs or mosfets but is not so simple.

The story about pre-regulator and complete power supply is not finished yet. It's a work in progress but now I can say for the first time that I have a real platform that can be used on daily basis without fear that it will kill the connected load/device due to some error in hardware and/or firmware (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/). A real achievement since our primary "expertise" is software not hardware and we learned a lot about different aspect of building and hopefully all that is presented could help other people to make even better solution that is O P E N and suitable for DIY.

Stay tuned ... and I'd like to thanks in advance for all your further inputs.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on January 13, 2016, 08:01:37 pm
it's said Status Completed, not recommended for toroidal main transformer.

If you have in mind when the pre-regulator working at the mains frequency, using a toroidal transformer will be a big peak current when the MOSFET is turned on because of the low leakage inductance. For example, the Agilent U8002 to do two things: in series with the secondary winding of a toroidal transformer added bulk choke and MOSFET switching speed is limited. Heat slightly increased, but due to the low operating frequency efficiency falls not much.

Why did you decide on a discrete current mirror since MMBT5401 is a single package and won't matched easily?

This scheme is not required for high accuracy current mirror, so the cheapest solution suited to discrete transistors.

my favorite tricks they used is to let the opamps reference the output as GND so that V+ and V- is always centered around it. That's how they get a way with high-side current sensing for example and it also simplifies the loop-design itself quite a bit.

Not a bad topology. But then on the output voltage will be the processor, display, control buttons. For the amateur construction this may be unsafe. Agilent usually divides the processor into two parts, one of them floating (output referenced), other earth referenced. They are connected via optocouplers. But this complication of the structure.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 13, 2016, 08:06:44 pm
Nice work! I really like it :-+

Any particular reason you picked the venerable TL07x in the post reg.?
I like the E36xx-ish style but a TL07x replacement like for example the TI suggested TLE2072 or TL052 would have been a nice improvement.

Hi skrap, dual op-amp standard SO-8 packaging are intentionally used on the PCB just to allows one to experiment with different type of op-amps! Yes, mentioned TLE2072 (or maybe TLE2022) looks as good alternative, and someone has to test it.

Why did you decide on a discrete current mirror since MMBT5401 is a single package and won't matched easily?
I guess you already know about the typical modern alternatives (Fig.5 or Fig.12  http://www.analog.com/library/analogdialogue/archives/48-04/current_output.html (http://www.analog.com/library/analogdialogue/archives/48-04/current_output.html) ).

See Liv's answer

Just a side note; I don't know if you noticed this when looking at the E36xx and similar HP bench PSUs but one of my favorite tricks they used is to let the opamps reference the output as GND so that V+ and V- is always centered around it. That's how they get a way with high-side current sensing for example and it also simplifies the loop-design itself quite a bit.

Yes, I did notice that. But such design requires also floating bias supply for op-amps and I tried to avoid complex multiple windings main transformer or adding a small PCB transformer on the pre-regulator PCB. The AC mains is present only on one PCB (AUX PS) that makes a whole design safer.

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: skrap on January 13, 2016, 11:03:27 pm
This scheme is not required for high accuracy current mirror, so the cheapest solution suited to discrete transistors.

What I meant was that the current mirror seems unnecessary complex if you aren't going to match the transistors. For that a unipolar current source would work just fine instead, one transistor and a few resistors would suffice, similar to Q9 in the circuit for example.

Yes, I did notice that. But such design requires also floating bias supply for op-amps and I tried to avoid complex multiple windings main transformer or adding a small PCB transformer on the pre-regulator PCB. The AC mains is present only on one PCB (AUX PS) that makes a whole design safer.

Ah I see, I never thought of it that way. I've always separated the digital and analog supplies due to noise requirements but those were not 0-50V/3A supplies ;-)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on January 13, 2016, 11:31:34 pm
What I meant was that the current mirror seems unnecessary complex if you aren't going to match the transistors. For that a unipolar current source would work just fine instead, one transistor and a few resistors would suffice, similar to Q9 in the circuit for example.

In this case, need on/off current source, the on/off signal must be TTL referenced to ground. It can be a single transistor current source, but the on/off circuit will give the same complexity as the current mirror.

In my PSL-3604 (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/) used several current mirrors. This has the advantage of being easy to switch off all together, and also to set the operating current by a single resistor. The accuracy there is also not required, which allows to implement current mirrors with discrete transistors.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: skrap on January 14, 2016, 10:59:24 am
In this case, need on/off current source, the on/off signal must be TTL referenced to ground. It can be a single transistor current source, but the on/off circuit will give the same complexity as the current mirror.

You can simplify it by removing Q7 and replacing it with a resistor instead and then just tweak the value of R10 for the desired bias. Using a transistor for Q7 really makes the most sense when you create circuits on a wafer where resistors is not only harder to achieve, especially on waferscale, but you also get additional transistors essentially for free.

But if you prefer a transistor over a resistor then why not. It's not like they are expensive anyway :-)

Bellow is a crude example of replacing the transistor and still keep the Q10 on/off-switch and have it connected to the Q11 master-switch. One could even use Q11 directly and skip Q10 and have it control several current sources like you described for PSL-3604. Nice project btw!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: funshine on January 14, 2016, 01:45:07 pm
Thank you for the quick reply!
so the toroidal transformer get hot because the peak current, caused by rectifier voltage much higher than the bulk capacity when mosfet turn on/off.
I guess the lower the output voltage, the higher the transformer's temperature, if the output current stays the same.
so if I replace with R-core transformer, will it be better?

and one more question, if a mosfet pre-regulator used, can the output current get higher when output voltage is low?
for example, a 50VA transformer, ideally 0~25V/ 2A output when no pre-regulator used, can serve only 2A when output voltage is 5V.
with the mosfet pre-regulator, can it serve 4A when 5V output?

I was care about the switching noise, so if there is any chance, I will not add smps pre-regulator, but rather go for the multi-windings.
although with smps pre-regulator, if the switch rise/fall time is controlled very carefully, there maybe some noise?
but agilent E36xx series doing quiet well, don't know whether I can do the same noise level.

Thanks in advance!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on January 14, 2016, 08:24:14 pm
One could even use Q11 directly and skip Q10

Supply voltage for the current source is not stable. Using simple resistor divider we have output current variations. Common-base Q10 uses regulated +5 V supply, so the collector current (and output current of current source) will depend on the R27 value only. Q7, in principle, can be eliminated. But even with discrete transistors, the temperature stability of the current source would be better. How much - it depends on the ratio of the B-E voltage and the voltage drop across R11.

I was care about the switching noise, so if there is any chance, I will not add smps pre-regulator, but rather go for the multi-windings.

I have the same position, so applied to the PSU multi-level output stage.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 15, 2016, 03:44:55 am
Thank you for the quick reply!
so the toroidal transformer get hot because the peak current, caused by rectifier voltage much higher than the bulk capacity when mosfet turn on/off.
I guess the lower the output voltage, the higher the transformer's temperature, if the output current stays the same.
so if I replace with R-core transformer, will it be better?

Sorry, I'm not competent to comment this. Hopefully some other member could explain you the theory. Someone need to test it with R-core or at least with EI-core transformers, neither of them with 100 or more VA is on my disposal.

and one more question, if a mosfet pre-regulator used, can the output current get higher when output voltage is low?
for example, a 50VA transformer, ideally 0~25V/ 2A output when no pre-regulator used, can serve only 2A when output voltage is 5V.
with the mosfet pre-regulator, can it serve 4A when 5V output?

Tested with single mosfet up to 7 A but I cannot remember what output voltage was set.

I was care about the switching noise, so if there is any chance, I will not add smps pre-regulator, but rather go for the multi-windings.
although with smps pre-regulator, if the switch rise/fall time is controlled very carefully, there maybe some noise?
but agilent E36xx series doing quiet well, don't know whether I can do the same noise level.

Thanks in advance!

If I remember correctly in E36xx is not using SMPS pre-regulation.
Maybe solution that is proposed some time ago by void_error could be satisfactory for many people: using smps with pmos switcher that can provide 100% duty cycle: that means that with MCU power control you can handle dissipation on post-regulator pass element when you need "silent" source (without HF switching noise). Here is an example:

(https://i.imgur.com/oLseQID.png)
Title: LTC's AN104 load transient tester PCBs
Post by: prasimix on January 18, 2016, 12:22:15 am
A new GitHub repository (http://"https://github.com/eez-open/ltc-an104-transient-tester") is now available for LTC's AN104 closed loop load transient tester that is mentioned here (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg773065/#msg773065) and some people asked for it.
I create two PCB variants: with and without on board power supply section.

PCBs are also available on OSH Park here (http://"https://oshpark.com/shared_projects/YvkvGbqC") and here (http://"https://oshpark.com/shared_projects/yo6xp4YJ").
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Jon_Paul_Clarke on January 18, 2016, 08:24:28 pm
Dude,
I love how you're documenting and showing this project for all to see. I think a lot of people are very interested in this project, not just for seeing this come to fruition but from a technical standpoint as well. This sort of thing is really the pinnacle of hobby electronics and it is teaching all of us about electronic design solutions. Thanks Heaps and keep up the good work!

Jon, Electronic Noob and All-round Annoyance
Title: Blowing some air ...
Post by: prasimix on January 25, 2016, 08:58:50 pm
I spent some time over the weekend to address the topic about toroidal transformer (over)heating that is mentioned in some of the recent post. It seems that I reinvent the wheel, or actually the fan :). Situation with adding some forced air becomes much much better. Ok, that's against my initial wish that PSU shouldn't have such source of noise. For testing I simply opened the top cover and use hairdryer fan without heater switched on to just blow air over the transformer. A huge temperature drop (20oC and more) is achieved. I have to see how it will looks with smaller fan e.g. 60x60x25 mm mounted on rear panel. Of course some fan control circuit has to be added that fan is not working if load is small (in general below 2 A).
Title: Input protection
Post by: prasimix on February 04, 2016, 08:49:39 pm
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:

(https://i.imgur.com/DAgWwkp.png)

Protection is accomplished using ADG465 (http://www.analog.com/en/products/switches-multiplexers/analog-switches-multiplexers/adg465.html) 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 (https://www.eevblog.com/forum/microcontrollers/robust-microcontroller-input-protection/msg125777/#msg125777). 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.

(https://i.imgur.com/oDhJ5TT.png)

Please let me know what do you thing about above mentioned suggestions.
Title: Thinking about the next revision...
Post by: prasimix on February 08, 2016, 08:55:00 pm
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 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 (http://www.modushop.biz/site/index.php?route=product/category&path=67)) 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:

(https://i.imgur.com/3tsHmZM.png)

(https://i.imgur.com/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.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 08, 2016, 09:31:41 pm
A new PCB is created in accordance with issues mentioned in the previous post. I'd like to highlight few more details:
(https://i.imgur.com/pK4UpUG.png)

(https://i.imgur.com/4rECJ2b.png)

(https://i.imgur.com/k8MYCpk.png)
Title: New Arduino shield schematic...
Post by: prasimix on February 08, 2016, 09:34:57 pm
... and here is schematic (pdf is also enclosed):

(https://i.imgur.com/OUrQhMu.png)

(https://i.imgur.com/eaerWok.png)

(https://i.imgur.com/DYztE78.png)

(https://i.imgur.com/af1gZgH.png)

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on February 10, 2016, 03:05:30 pm
Your little beast grow! But it's looking more and more interesting. Congratulations.

What's that hat in the toroidal transformer? To me, a total novice, it just looks funny. What's the purpose for?

Digital (external) trigger is available only on ch#1

Why? What's the limitation for that?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 10, 2016, 10:20:09 pm
I put so many thing on smaller PCB and just thought that adding second trigger will be too much because it requires 10 components for protection. Maybe protection is too complex, anyway it was placed on the bottom layer even in case of the first channel. If you think that two instead of one external trigger can be useful (e.g. to control each channel independently) and makes sense I'll try to put it on the board.
Also if you have any comment regarding proposed input protection (that has to protect MCU not power modules) please let me know.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: electricar on February 11, 2016, 01:17:18 am
Hello prasimix,

I’m following your project quite a while and am very impressed of how passionate you are about this project. I really learned a lot, thank you!

Currently I’m designing my own power supply but forgive me if I use some of your ideas in my design, but why reinvent the wheel…
Currently I’m working on the pre-regulator and I ask myself why did you replace the solution with the LTC3824 or LTC3864 through the two mosfets?

Thank you very much in advance!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 11, 2016, 02:26:41 am
Hi electricar, feel free to use whatever you thing that make sense for you. Regarding pre-regulator, I'd like to try SMPS build around LTC3864 (http://www.linear.com/product/LTC3864) since as SMPS it's in general more efficient then phase-controlled circuit and put less stress on the mains transformer. LTC3864 is particularly attractive because it is driving external P-ch mosfet that allows 100% duty circle. In that case for smaller output power (that we can control by MCU) you can completely remove switching noise that is otherwise difficult to remove. Higher efficiency become more important with new revision where I'd like to use enclosure for cooling (assisted by MCU controlled fan). It's also possible that LT4320 (http://www.linear.com/product/LT4320) or Liv's "discrete comparator" sync rectifier will be used to further decrease power dissipation (each watt is counting).
Title: LTC3864 evaluation board
Post by: prasimix on February 12, 2016, 11:23:05 pm
Dear people from LTC sent me an evaluation board (http://www.linear.com/solutions/4229) 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.

(https://i.imgur.com/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):

(https://i.imgur.com/bvE0tYN.png)

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

(https://i.imgur.com/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 can be added. 
I'm using a circuit that is mentioned in post #225 build around Q2. Additionally Q3 is added to test 100% duty cycle. It simply disconnect tracker from the feedback voltage divider (R9, R15) that has to be set very high - few volts over 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:

(https://i.imgur.com/BAjxLb6.png)

(https://imgur.com/maoLreL.png)
Title: LTC3864 evaluation board, Part II
Post by: prasimix on February 13, 2016, 12:28:47 am
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:

(https://i.imgur.com/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):

(https://imgur.com/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.

(https://i.imgur.com/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):

(https://i.imgur.com/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.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 13, 2016, 12:48:24 am
And yes, I forgot to mention that since new pre-regulator PCB has to be designed it's possibly the right time to test "sync rectifier" circuit and spare few watts by replacing a regular bridge rectifier. Two solutions comes to mind: that which Liv is using in his PSU and LTC's LT4320 (http://www.linear.com/product/LT4320).
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: timofonic on February 13, 2016, 01:40:48 am
Quote from: prasimix on February 10, 2016, 10:20:09 PM (https://www.eevblog.com/forum/index.php?topic=41685.msg865407#msg865407)
I put so many thing on smaller PCB and just thought that adding second trigger will be too much because it requires 10 components for protection. Maybe protection is too complex, anyway it was placed on the bottom layer even in case of the first channel. If you think that two instead of one external trigger can be useful (e.g. to control each channel independently) and makes sense I'll try to put it on the board.
Also if you have any comment regarding proposed input protection (that has to protect MCU not power modules) please let me know.


You are like 100x Widlar compared to me, my friend. Aren't there ICs with that feature?'

What kind of protections and what variables do you want? Maybe I can ask a friend or someone on the forum can have an idea.

Quote from: prasimix on Today at 12:28:47 AM (https://www.eevblog.com/forum/index.php?topic=41685.msg867206#msg867206)
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:
......


Am I seeing a very good and noiseless output or it's just my ignorance? It's seems planer than my EKG these days :P

Quote from: prasimix on Today at 12:48:24 AM (https://www.eevblog.com/forum/index.php?topic=41685.msg867221#msg867221)
And yes, I forgot to mention that since new pre-regulator PCB has to be designed it's possibly the right time to test "sync rectifier" circuit and spare few watts by replacing a regular bridge rectifier. Two solutions comes to mind: that which Liv is using in his PSU and LTC's
LT4320 (http://www.linear.com/product/LT4320).


Damn. You are filling that project to become really LINEAR hehe.

How much are they? Do you know about the approximate BoM cost right now?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on February 13, 2016, 03:28:43 am
Quote from: prasimix on February 10, 2016, 10:20:09 PM (https://www.eevblog.com/forum/index.php?topic=41685.msg865407#msg865407)
I put so many thing on smaller PCB and just thought that adding second trigger will be too much because it requires 10 components for protection. Maybe protection is too complex, anyway it was placed on the bottom layer even in case of the first channel. If you think that two instead of one external trigger can be useful (e.g. to control each channel independently) and makes sense I'll try to put it on the board.
Also if you have any comment regarding proposed input protection (that has to protect MCU not power modules) please let me know.


You are like 100x Widlar compared to me, my friend. Aren't there ICs with that feature?'

What kind of protections and what variables do you want? Maybe I can ask a friend or someone on the forum can have an idea.

The external trigger is connected to the MCU, and I don't like an idea to do that directly. There are two reasons for that: MCU is 3.3 V and for digital triggers 5 V I presume is still the standard, therefore some level shifting is required. Another reason is overvoltage protection for what I suggested circuit presented in post #229. It looks fine for me. Maybe it could be simpler or more "secure". Idea is to survive typical ESD spikes that could be somehow comes from the environment. How many Volts and Joules I don't know.

Quote from: prasimix on Today at 12:48:24 AM (https://www.eevblog.com/forum/index.php?topic=41685.msg867221#msg867221)
And yes, I forgot to mention that since new pre-regulator PCB has to be designed it's possibly the right time to test "sync rectifier" circuit and spare few watts by replacing a regular bridge rectifier. Two solutions comes to mind: that which Liv is using in his PSU and LTC's
LT4320 (http://www.linear.com/product/LT4320).


Damn. You are filling that project to become really LINEAR hehe.

How much are they? Do you know about the approximate BoM cost right now?

Yeah, it's really depends, for quantity of one is around 5 GBP, but for 100 pcs it's twice cheaper. The same situation is with many other components used in this project. Because of that group buy or even crowd funding campaign structured to address different tastes from bare PCBs up to the completed unit could make a whole thing more realistic.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: electricar on February 14, 2016, 10:48:24 pm
Hi prasimix,

thank you. I'm also trying to implement the LTC3864 but didn't get it quite stable in LTpowerCAD. I want an output of 30V 5A on my PSU. So the LTC3864 output voltage has to be a little bit higher. I'll have to experiment a bit to get it stable from 31V to ca. 5V with a 5A load.
The bridge rectifier solution is very nice! I didn't know that kind of approach yet :)
Title: Further Arduino shield modification (GPIO pin usage optimisation and W5500)
Post by: prasimix on March 02, 2016, 04:14:35 am
I'm playing with couple of additional details for Arduino shield that represents digital control of the PSU. The first one is to further reduce number of used MCU's GPIO pins. First thing that comes into mind is four lines used for CC and CV LED indicators (a pair per channel). For that we can use TLC5925's outputs by reducing power output LED indicators from two to one that should still be good indication about channel output state.

Another more challenging detail is replacing Microchip's ENC28J60 with Wiznet W5500. Such change would improve the solution with the following features:

1. Full and half duplex mode, auto negotiation
2. 10 and 100Mps connection speed
3. 32KB buffer memory
4. Reduced memory and MCU processing power usage

The price difference between them is almost non-existent (see ENC28J60 (http://www.tme.eu/en/details/enc28j60-i_ss/ethernet-integrated-circuits/microchip-technology/) and W5500 (http://www.tme.eu/en/details/w5500/ethernet-integrated-circuits/wiznet/)).
I got yesterday W5500 module from eBay and connect it to the Arduino Due:

(https://i.imgur.com/6QanAKM.jpg)

It works "out of the box" where both power (+5V) and signals (+3.3V levels) are directly supplied from the Due. As chip select Digital pin 10 is used (SS) and thanks to Soohwan Kim (embeddist) library that is available on the GitHub (https://github.com/embeddist/WIZ_Ethernet_Library-IDE1.6.x) I successfully tested few scenarios such as DHCP connection, Web server and NTP client.
Title: AUX PS with fan controller, Ethernet and USB connection
Post by: prasimix on March 04, 2016, 07:49:33 pm
New Auxiliary power supply board (r5B6) required for the revised Arduino shield board is finalized. It includes few minor changes as follows:

1. 4-pin "power" connector is replaced with 6-pin IDC connector for power (+5V) and signal lines (PWR_DIRECT, PWR_SSTART, FAN_CONTROL, FAN_SENSE)
2. Ethernet and USB connectors mounted on the reverse side that allows direct mounting on the new (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg863419/#msg863419) enclosure's rear panel (require 14 mm spacers).
3. Fan supply (+12V), PWM control and fan sense is added
4. Optionally Ethernet and USB could be guarded with surge protection circuits (IC3, IC4).
5. THT bridge rectifier (B1) is replaced with a SMD
6. Heatsink (KK1) is now SK 145/37,5

(https://i.imgur.com/yz9Crmo.png)

(https://i.imgur.com/xUgOldd.png)

(https://i.imgur.com/8acFLIU.png)
Title: New power board (pre- and post-regulator merged into one)
Post by: prasimix on March 04, 2016, 09:22:45 pm
New power board (r5B6) schematic and layout are also finished. Pre-regulator and post-regulator sections are now merged and phase-control pre-regulator is replaced with the SMPS based on LTC3864 that also allows 100% duty cycle operation. The post-regulator section remains unchanged based on Liv's design that works happily on the two previous revisions for few months in the row.
The power board is directly connected to the Arduino shield using 26-pin 0.1" socket. Thanks to that 3 cables (SPI, power output and sense input) are removed from the picture. Only AC input (X1 connector) from the main transformer and optional Sync cable (X2, X3) now remains.
This revision includes also the following modifications and new features:

(https://i.imgur.com/mXLaj9d.png)

(https://i.imgur.com/fo3jTCZ.png)

(https://i.imgur.com/5o6YpA8.png)

(https://i.imgur.com/7AOfWEh.png)

(https://i.imgur.com/MMp0XEV.png)

(https://i.imgur.com/TjAK6Zz.png)

Title: Power board ground layout
Post by: prasimix on March 04, 2016, 09:34:50 pm
A few words about ground layout. Main ground plane is located on the bottom layer. But before simply filling it I tried to make route to each ground connection separately that is visible on the picture below colored in magenta. All manually connected ground are additionally connected on top layer with trace colored light green. Also I added intentionally a separator (yellow) to split aux SMPS ground from rest of the signal ground. That signal ground meet SMPS power ground (light blue), SMPS analog ground (brown) and down-programmer ground (red) in single point (circled orange).

Your comments are welcomed :-/O.

(https://i.imgur.com/pQln6Ot.png)

Title: Arduino shield with W5500 Ethernet controller
Post by: prasimix on March 05, 2016, 09:55:47 pm
Here is the latest revision (r2B6) of the Arduino shield (digital control) board. It includes the following modifications:
New schematic and PCB are shown below (only Sheet 1 and 3 were changed). Also please find attached new pin mappings.
With this modification this revision is completed. I'm going to order a new PCB panel in coming days and if any other soul is courageous enough to follow me in this stage and want to order PCB panel please let me know, that will help me decrease the cost of this round.

(https://i.imgur.com/HY2HEtF.png)

(https://i.imgur.com/QOxvTI8.png)

(https://i.imgur.com/u4rQRET.png)

(https://i.imgur.com/PUdKRuq.png)

(https://i.imgur.com/A2kADDw.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: sangvikh on March 06, 2016, 06:04:48 am
Looks awesome! I would be up for a group buy.

Is this thing strictly controlled via computer? I see no buttons or encoders on the front panel?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 06, 2016, 09:46:00 am
No, it comes with 3.2" TFT color display and touch screen as a mean of local control and it can be controlled remotely using USB or Ethernet. Current firmware (https://github.com/eez-open/psu-firmware) (M1) offer only remote control, and we are working now to add local control and first results will be presented soon.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on March 10, 2016, 10:02:25 pm
Today I made some transient tests with our lab supply Agilent E3634A on the 25V/7A rail.
The voltage was set to 25V and the output current drawn was 1,5A. The load step was then 1,5A --> 3A.
Unfortunately I couldn't make any screenshots but the undershoot was about 250mV! So your 78mV are really amazing!  :D
The overshoot was a bit lower.
Kudos!
Title: Front and rear panel for the new enclosure
Post by: prasimix on March 14, 2016, 04:48:34 am
I spent some time to define all required holes together with silkscreen design for the new enclosure. The front panel illustration shows all LEDs active (colored) to have a better idea how it should looks like (of course there is no real scenario in which all of them are active in the same time).

(https://i.imgur.com/ex6eLZX.png)

(https://i.imgur.com/jhmWdYT.png)

(https://i.imgur.com/mu1y54O.png)

The enclosure is Galaxy Maggiorato GX283 230 x 230 mm Black (http://www.modushop.biz/site/index.php?route=product/product&path=67_194_117&product_id=527) (but also can be Galaxy Maggiorato GX288 230 x 280 mm Black (http://www.modushop.biz/site/index.php?route=product/product&path=67_194_117&product_id=529)). Holes on the rear panel are intended for IEC connector with switch and fuse Bulgin BVA01/Z0000/10 (http://export.farnell.com/bulgin/bva01-z0000-10/inlet-iec-dp-non-illuminated/dp/3136176), Ethernet ( AMPHENOL LMJ2138812S0LOT6C (http://www.tme.eu/en/details/lmj2138812s0lot6c/rj-connectors/amphenol/)) and USB (LUMBERG 2411-01 (http://www.tme.eu/en/details/2411-01/usb-ieee1394-connectors/lumberg/2411-01/)) connector.
The power switch on the front panel is optional.

If someone is want to play with this a dxf and svg files are attached.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: HAL-42b on March 14, 2016, 05:35:35 am
Are the counterbores for the banana posts necessary for some mechanical constraint?

They are likely to up the costs and are a bit finicky on thin material. It would be nice if a prospective builder could skip them in order to save cost.

Of course it won't be possible if screen thickness or something like that makes the counterbore necessary.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 14, 2016, 05:45:46 am
Are the counterbores for the banana posts necessary for some mechanical constraint?

They are likely to up the costs and are a bit finicky on thin material. It would be nice if a prospective builder could skip them in order to save cost.

Of course it won't be possible if screen thickness or something like that makes the counterbore necessary.

No, the counterbore are not necessary for biding post that I'm going to use. I just added it for better appearance.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on March 14, 2016, 07:50:57 am
Nice front panel there! Although I'm not a fan of touchscreens for test equipment, it does indeed look really clean.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 14, 2016, 06:01:43 pm
Nice front panel there! Although I'm not a fan of touchscreens for test equipment, it does indeed look really clean.

Thanks void_error, do you have some experience with touchscreen on the test equipment that you can share with us? What kind of obstacles did you find?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on March 14, 2016, 07:16:07 pm
Hello, for my opinion just one rotary encoder with push button would be usefull for set voltage and current, so you don't need to type on the screen for every little change.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 14, 2016, 07:44:29 pm
We are currently working with touchscreen that can be used for output values setting in three (actually 5) different mode:
The first one emulate linear potentiometer that are popular on analog mixer devices. But we are going beyond that because touchscreen is 2D device and we are using both X and Z axis for setting desired value: X defines precision of the movement, Y changes the value. Thanks to that you can quickly change e.g. output value from 10 to 30 V and then fine tunned it to let's say 30.25 V
Second one is similar to the first one but here we have predefined steps (e.g. 100 mV, 1 V, 2 V or 5 V).
The third one is "boring" keypad that can be find on so many digitally programmable instruments: you can simply enter and confirm new value.

The difference between "interactive" and "non-interactive" mode is that in later you need to confirm new value, when in former the value will be set immediately (will follow movement of your finger).

Now please let me know if we didn't cover some scenario that is possible with multi-turn pot, keypad or encoder.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on March 15, 2016, 01:48:50 am
I think that rotary knob is most ininuitive and user frandly aproach. In my project I use push to select step and rotary for value.
Few month ago I try to make velocity control so that step is interactively define with rotary speed and I made it. Then I reprogram all my other projects to velocity control :).

I like that you think about that :). Interesting modes and it is worth to test this new aproach.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 15, 2016, 02:03:30 am
So far I can say that touchscreen is an valid substitution (and even "addictive" to some extent, but my opinion should not count since I'm too much bonded to this project). Hopefully some video that I'm planning to make when everything is ready will help other to get an idea about it.
Title: AUX PS for 115VAC
Post by: prasimix on March 15, 2016, 02:18:57 am
Thanks to few people from the North America region with 115VAC mains that decided to join me in the next "experimental PCB group buy" I spent some time to check which PCB transformer could be suitable for the AUX PS PCB. It was much harder then I initially expected but at the end I found Triad Magnetics' VPP28-180 (http://catalog.triadmagnetics.com/item/power-transformers/pc-mount-world-series-power-transformers-1/vpp28-180-1) (Newark: 37B9209, Digikey: 237-1086-ND, Mouser: 553-VPP28-180). It comes with pinout that can coexist with  230VAC transformer using the same real-estate.
Since the AUX PS PCB could also carry few AC input protection components my logic tells me that all selected values for 230VAC should be simply divided by two. In that case we should have the following changes:

SAR1: 2027-23-BLF (230VAC) instead of 2027-47-BLF (470VAC)
VAR1, VAR2: S20K140 (140VAC) instead of S20K275 (275VAC) and
ZD1, ZD2: 1.5KE200CA (200VAC) instead of 1.5KE400CA (400VAC)

Please let me know if I miscalculated something.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on March 15, 2016, 04:13:19 am
Thanks void_error, do you have some experience with touchscreen on the test equipment that you can share with us? What kind of obstacles did you find?

My only reason to not use a touchscreen is that it can get smudgy (full of fingerprints - looks at tablet) therefore it would require more maintenance (cleaning), other than that I guess it's fine as long as the software for it is not poorly written (same goes for regular mechanical buttons/knobs). Other than that, I haven't used any test equipment with a touchscreen but I did 'play' with something that has both buttons, a joystick and a touchscreen and for that particular piece of equipment I can say the interface was horrible (although it was running embedded linux and the response was instant).

I think that rotary knob is most ininuitive and user frandly aproach. In my project I use push to select step and rotary for value.
Few month ago I try to make velocity control so that step is interactively define with rotary speed and I made it. Then I reprogram all my other projects to velocity control :).

I like that you think about that :). Interesting modes and it is worth to test this new aproach.

Velocity control is a nice feature in some cases. I might add that to the user interface I'm going to build for my DIY test equipment projects, although I'm more inclined towards manually selecting the increment value using another button.

I did look into using some big LCD with a touchscreen for the UI but the amount of programming (almost everything from scratch) doesn't make it worthwhile given the little time I have to work on it. I might however try to use one of those 'fancy' color LCDs if I don't have to use a really powerful/expensive PIC micro to drive it just because they're quite cheap and big... but I'm still almost clueless about where to start.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 15, 2016, 04:35:21 am
My only reason to not use a touchscreen is that it can get smudgy (full of fingerprints - looks at tablet) therefore it would require more maintenance (cleaning), other than that I guess it's fine as long as the software for it is not poorly written (same goes for regular mechanical buttons/knobs). Other than that, I haven't used any test equipment with a touchscreen but I did 'play' with something that has both buttons, a joystick and a touchscreen and for that particular piece of equipment I can say the interface was horrible (although it was running embedded linux and the response was instant).

Sounds fair, so it's on my side to present a decent peace of software for controlling touchscreen ;D. We already spent lots of time just to realize that initially selected touch library is useless for level of precision and usability that we wants to achieve. That ends up with rewriting a whole stuff based on more mature approach the you can find on Daniel Beer's pages (http://dlbeer.co.nz/articles/tsf.html) (since simple averaging of multiple ADC readings is far from usable, it's more like a bad joke).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on March 15, 2016, 08:02:36 am
I also doubt the precision of this kind of settings but lets see in realitiy.
And what void_error is noticed is fingerprints. I do not bother few fingerprints on the side of display for some soft touch buttons but don't like fingerprints over the entire surface.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 15, 2016, 09:42:23 am
Precision goes down to the smallest defined step or 10 mV (mA) in our case. But, seeing is believing (actually it's opposite but never mind) so I'll present that soon.
Regarding fingerprints I didn't notice that greasy or clean surface makes any difference :). If something could make a real mess it's a "messy" software when pressing e.g. lightly and/or sloooowly on one side of the screen could be wrongly interpreted resulting in action on the opposite side.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on March 15, 2016, 09:58:45 am
I know what step do you offer by SW.
I mean how precisely and what is the feeling when you slide with finger to set the value ..and is it strict or jumping up and down when you slide .. and it is possible that jump lets say 1V when you lift finger from surface?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 15, 2016, 10:05:31 am
Lifting finger from the surface should change new set value for exactly ZERO! Anything more/or less then that should not be tolerated.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on March 25, 2016, 05:07:48 pm
Hello Prasimix,

at first, I'm very impressed of all your efforts you put in that project and can't wait to see the finished psu.
I'm also planning a dual power supply with similar features you have at 0-30 volts and 0-10A.
I'm often test circuits with vacuum tubes so i need a little bit more current  ;).
My plan and I hope it will work is to use directly a switching supply from Cosel.  It is a pba 300 with 36 volts and current of 9 ampere but it could handle 10 ampere  :D.
This I will also pre regulate via a circuit so that the pre voltage which is feed into the post regulator is 4-5 volts higher than the output.
We will see, if that is working. Advantage of that is, that I not to have a big transformer with bridge rectifier etc.  so that will save money and place in the enclosure.
I saw in one of the post, that you are still search for how to save io's on the arduino.
And would give you the hint maybe to use a different display.
My plan is to use two 4" inch displays with touchscreen from nextion. These displays are controlled via a serial interface. The screen pictures keyboards etc. are all made with an editor. Also a scope function is existing, cause I will use that to show the traces current, voltage and power at a time line like a scope on that display. Maybe it is interesting for you too.
Here is the link :http://wiki.iteadstudio.com/Nextion_HMI_Solution

Hopefully we will hear from you soon, with some progress on that project  :) :) :)

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 27, 2016, 12:25:07 am
Hi Electronix, and welcome.

Auch, Cosel PBA300-36 cost a fortune (more then €1 per watt) and I'm not sure is it possible to push it beyond specified output voltage range (25.2 to 39.6 V) but idea is valid and you succeed there is no need main transformer and pre-regulator anymore.

I'm aware of Nextion but one thing is attractive demo where everyone are happy and everything is simple and another one is trying to build a real stuff with it. It's price and capability together with serial interface looks appealing and possibly in a future I'll get one and check how it works.
In the meantime we'll continue development on dirty cheap and dumb 3.2" TFT which if properly managed could be really usable for controlling at least 2 channel so no need for dual display what you can see in video that I posted today here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg904429/#msg904429).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on March 27, 2016, 07:32:03 am
Thanks  :)
Yes you're right normally they cost a lot of money but you can get them sometimes cheap on eBay.
So my two devices arrived today and a payed 15€ per device, not bad I think ;).
I have the 36 v with 9 ampere version :).
And they have already an remote input where you can control the device from 0 -36 volts with a control voltage of up to 12 volt so very easy in use. The only thing which annoying me a little bit are the two smal fans which running in highspeed mode when the output voltage is over 2,5 volts. But I think that will work, I will spend a temperature control for the fans which should solve the problem than ;).
Regarding the display, I will buy one and will make some tests. I programmed already a test gui with the designer and it looks attractive. Of course I have to check how that will work in real operation but I expect that I can cover all the things I need for the power supply. It is also possible to enter custom code in the gui designer for some things if needed.

In the meanwhile I'm simulate your post regulator and try to get work him stable at max 10 ampere.
I replaced the tl and also the op27 against a max 44246 which have really good specs and he is not so expensive.
I think I will use two mos in parallel to handle that amount of current.
Let's see. The first simulations are not bad. Current control is working with 1ma resulation also voltage control works with 1mv resolution in simulation.
How far you are with the progress of your supply ?
Is there also a video available?
I'm very interested in that.


Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 27, 2016, 06:29:02 pm
That's interesting. I'd like to see a link to 15€ ebay version since genuine one is over 300€/$ (check here (http://www.mouser.com/Search/Refine.aspx?Keyword=PBA300F-36)).

Please note that if you are going to use post-regulator in combination with pre-regulation module that you are mentioned you'll need additional bias power supply for +/-5V (op amps), -9 V (DP) and output mosfet bias that is at least 5 V (better 10 V) higher then output voltage. If you are using e.g. +/-9 V for opamps then no needs for additional -9 V for down-programmer. Output mosfet bias could be floating or fixed above max. input voltage (e.g. 40 V and something in case of 2-32 V input).

I finished two power supplies but thinking about another more compact version. Software part is still in development. In the first milestone (M1) remote control using SCPI commands (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-introduction.html) are accomplished, and now we are working on local control (I posted link to first video in my previous answer to you).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on March 27, 2016, 08:25:54 pm
Hi Prasimix,

I have had a look but the seller has only this types of devices :

http://www.ebay.de/itm/COSEL-PBA150F-24-mit-100-240V-Eingang-Netzteil-24V-6-50A-Spannungsversorgung-/111925331364?hash=item1a0f4505a4:g:dhgAAOSwmmxW2HTy (http://www.ebay.de/itm/COSEL-PBA150F-24-mit-100-240V-Eingang-Netzteil-24V-6-50A-Spannungsversorgung-/111925331364?hash=item1a0f4505a4:g:dhgAAOSwmmxW2HTy)

I think I have had many luck with that. But when you keep your eyes open you will also have luck I think.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on March 27, 2016, 08:30:29 pm
OK, half the power and used/gebraucht makes more sense for 15€ price tag. Anyway, thanks for the link.
Title: Small update
Post by: prasimix on March 30, 2016, 08:02:25 pm
I decided to postpone manufacturing of the latest set of PCBs (revision 5) since it include many changes of which a new SMPS based pre-regulator is the most significant one. Therefore I ordered this time from OSH park only the SMPS pre-regulator PCB that could be connected with existing post-regulator to see how it will work.

The GitHub hardware (https://github.com/eez-open/psu-hw) section of this project is recently updated with various changes. The Arduino shield (digital control) board is now shorter for 25 mm because a new type of connectors are used for remote sensing and load temperature sensors. Also an external digital trigger input is added that will offer more flexibility in controlling the PSU from the outside.
A new SMPS pre-regulator based on already presented LTC3864 controller is also now available (BOM is still missing). Since it allows 100% duty cycle mode of operation, small correction is added on existing post-regulator board that contains digital control of the channel power section.
Finally a complete new revision 5 (https://github.com/eez-open/psu-hw/tree/master/PRELIMINARY/Rev5) is added in PRELIMINARY folder where you can find the following designs:
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on April 03, 2016, 08:39:25 pm
Hello Prasimix,

thanks for sharing your progress on this project.
Did you or your colleague also working on a Windows program to enter a predefined voltage current list for automatically running on that power supply ?
I had a look at the software power view from liv and it is looking like that I have in my mind. The only thing I missed is a function where you can import predefined voltages currents on a time line or do it directly in the voltage current and power chart, by adding points.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on April 04, 2016, 02:27:04 am
Hello Prasimix,

thanks for sharing your progress on this project.
Did you or your colleague also working on a Windows program to enter a predefined voltage current list for automatically running on that power supply ?
I had a look at the software power view from liv and it is looking like that I have in my mind. The only thing I missed is a function where you can import predefined voltages currents on a time line or do it directly in the voltage current and power chart, by adding points.

Cheers

Sven

Hi Sven, we decided in the early stage to implement remote control using some standard or de-facto standard protocol that is used with such kind of device. The SCPI was an obvious choice because it's used by all industry heavy weights (Keysight at al). The SCPI is a plain text protocol therefore one can use telnet session for sending to and acquiring data from a device. Or you can write application in any programming language and OS that will use SCPI commands. More about our implementation you can find in the separate thread (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/) or in the SCPI reference guide (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-introduction.html).
Please also note that we created a software simulator that can be used for both development and evaluation of the firmware without having real device on hand. Our plan is to extent existing SCPI command set and also to create an platform independent remote controller application. The software simulator is already platform agnostic and it's tested on Linux, OS X and Windows and one of the possibility is to use that "front-end" not just for simulation but also to communicate with the real device.
Finally people who are in position to work with SCPI controllers such as NI LabView, Keysight VEE or similar could start writing application for this PSU like for many other laboratory devices and use Serial or Ethernet communication. I wish that MyOpenLab (http://myopenlab.de/startseite.html) is more active because as an open-source project it looks like a logical 3rd party companion for this PSU project.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on April 05, 2016, 04:21:53 am
Hi Prasimix,

this is your chance. http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN (http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN)

New device with much power ;)

Thanks for your answer. At the moment I try to find a circuit where I can track the pre regulated voltage from the cosel power supply depend on what is entered for the uset.
I was seen, that you track the voltage depend on vout. But I think maybe it is better to track voltage a uset, cause than the cosel supply must not go up and down with the voltage if the vout drops down for example when current limiter kicks in.
I will do that by using an op amp which compares uset and pre out and generates a voltage between 1-12 volts for regulate the power supply.

What do you think ?

Sven


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on April 05, 2016, 07:32:57 am
Hi Prasimix,

this is your chance. http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN (http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN)

New device with much power ;)
:) Thanks for that. I'm not sure that they are willing to ship to Croatia, but I can ask.

Thanks for your answer. At the moment I try to find a circuit where I can track the pre regulated voltage from the cosel power supply depend on what is entered for the uset.
I was seen, that you track the voltage depend on vout. But I think maybe it is better to track voltage a uset, cause than the cosel supply must not go up and down with the voltage if the vout drops down for example when current limiter kicks in.
I will do that by using an op amp which compares uset and pre out and generates a voltage between 1-12 volts for regulate the power supply.

What do you think ?
Sven

Think again. If for example post-regulator output is shorted or you entering for any reason "deep" CC mode, then pass mosfet will be under heavy stress. Let's say that you set your output to 20 V, and that you wants 2 V of difference i.e. 22 V on pre-regulator output. If you are in CV mode and source 3 A than 6 W is dissipated on the pass mosfet. But if your load is changed that CC is activated and starts to limit output voltage to e.g. 5 V you'll have 51 W to dissipate! Not to mention short circuit when output voltage goes below 100 mV.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on April 05, 2016, 07:38:56 am
Hi Prasimix,

this is your chance. http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN (http://www.ebay.de/itm/Cosel-Power-Supply-PBA-1000F-36-Netzteil-Stromversorgung-/111957579751?hash=item1a113117e7:g:d5kAAOSwpDdVGqyN)

New device with much power ;)

Huh, I now realized that is a 1 kW beast! 29 A on 36 V.  :scared:
Title: LTC3864 pre-regulator PCB arrived
Post by: prasimix on April 13, 2016, 11:10:59 pm
LTC3864 pre-regulator (post #225 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg842463/#msg842463)) PCB ordered from OSHpark arrived yesterday. That's a little bit more then 3 weeks without paying any extra to speed it up. Not bad. In coming days it remain to see if the PCB layout is well done what is apart from electrical design a very important detail for the SMPS regulator.

(http://i.imgur.com/iWawhJA.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on April 16, 2016, 08:57:18 pm
Hi prasimix,

The pcb's are looking very good and I hope to hear the new progress soon.
What I'm interested in is, how is the accuracy with your design ?
Means, are you able to set a voltage exactly 3 digits after the decimal point ?
Which means 1mV ? I don't know exactly if that is possible with the choosen op amps.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on April 16, 2016, 09:12:28 pm
Didn't tested throughly yet, but from what I can remember goes easily below 10 mV and 10 mA.
3-digit precision has never been a requirement for this project. But as you can see a standard SO-8 packages are used that gives you more freedom to experiment with different opamps and also remote sensing is exists that is one of prerequisite for precise solution (I actually wonder how is possible that someone advertise something as 1 mV precision with few Amperes on the output without remote sensing inputs).

If you have some suggestion for opamps please post it here for possible further discussion.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on April 17, 2016, 03:20:26 am
Hi Prasimix,

of course 10mv resolution is for most cases enough. But sometimes, if you experiment with rf designs it will be useful for can adjusting the voltage in 1 mV steps.
I plan to use in most cases the analog stage design from liv, which is also in most cases used in  your post regulator. For the op amp I have selected a max44246.
Very low drift, very low offset and 5MHz GBP.
As Dac I will use an AD5686 and for adc the same as you choose an ads1120.

Maybe you can have a look at this op amp.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on April 17, 2016, 04:32:22 am
The max44246 is an interesting OP for precision tasks - may be an alternative to the LTC2057 in some cases. But I don't think it is a good choice for an voltage supply.

Here the only OP that is a little critical is the one to amplify the voltage at the shunt. Here something like an LT1037 / OP37 should be a good choice (needs to be reasonable fast do to high gain and not to add extra phase shift). The other OPs don't need to be that fast of low drift. So even the TL072 might be good enough, though slightly better version are available (e.g. TL052).
Title: Latest update ...
Post by: prasimix on May 02, 2016, 06:22:33 pm
A lot of things have happened since my last post so I'll mention some that could be interesting for people who follows this project.

First, Electricar (https://www.eevblog.com/forum/profile/?u=112398) decided not to wait anymore and ordered his batch of PCBs based on preliminary design of the latest revision published on GitHub (https://github.com/eez-open/psu-hw/tree/master/PRELIMINARY/Rev5). He sent me some pictures of them:

Power board (SMPS pre-regulator, post-regulator)

(http://i.imgur.com/h5SY70Zl.jpg)

Aux PS (+5 V for Arduino shield, soft-start/stand-by, AC input protection, 12 V fan control)

(http://i.imgur.com/8OHZgyzl.jpg)

Arduino shield (Due/+3.3 V only, W5500 Ethernet, external digital trigger, remote programming)

(http://i.imgur.com/RPpTNbLl.jpg)

On my side I spent some time thinking again about mechanical aspects of the power supply. For the revised design a new enclosure is proposed (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg863419/#msg863419) without exposed huge heatsink (mounted outside enclosure) since expected power dissipation should be much lower. My intention was to use extruded sides of the Galaxy enclosure as an heatsink. But I comes to another idea inspired by ELV's DPS5135 (http://www.elv.de/dual-power-supply-dps-5315-komplettbausatz.html) power supply. It comes with so-called cooling aggregate:

(https://i.imgur.com/GSZaVpJ.png)

That gives me an idea that two sides of cooling aggregate could be used for mounting power boards. Of course if sides are flat not rounded as in case of LK-40 (http://www.elv.de/kompakt-luefteraggregat-lk-40.html). I found that Fischer elektronik offers many cooling aggregate and that e.g. LA 6 (http://www.fischerelektronik.de/web_fischer/en_GB/heatsinks/D04/Cooling%20aggregates%20with%20axial%20fan/PR/LA6_/index.xhtml) could be perfect candidate for such task. Actually not so perfect since it can manage much more power that we need and it's price (http://www.tme.eu/en/details/la6_150_12v/radiators/fischer-elektronik/la-6-150-12/) is way too high at least in quantity of one.
I've checked what could be workable substitute for such professional solution and found that with two very cheap heatsinks (RAD-A5723/100 (http://www.tme.eu/en/details/rad-a5723_100/radiators/)) and 60 mm fan (Sunon MB60251V1-000U-G99 (http://www.tme.eu/en/details/mb60251v1-g99/dc12v-fans/sunon/mb60251v1-000u-g99/)) that could be done for under 10€:

(http://i.imgur.com/8IumSLpm.jpg)

Following that concept and inspired by Ian Johnston info (http://www.ianjohnston.com/index.php/projects/57-project-021-home-built-bench-power-supply) about Varisom, a Portuguese enclosure manufacturer, I contacted them and ask if they can offer a customize enclosure. Surprisingly I got in almost no time 3D model of asked enclosure. See below a couple of screenshots, and PDF with embedded 3D model can be found in attachment (it seems that Adobe reader is required, some other PDF viewers cannot display such data).

(http://i.imgur.com/UjBhm7dl.png)

(http://i.imgur.com/SiNIsJ4l.png)

The new enclosure size is 280 (W) x 80 (H) x 240 (D) mm and front panel printing could be something like this:

(http://i.imgur.com/ZsspEkc.png)

Both power outputs are now moved on the right side and if we still wants to plug power boards directly to the Arduino shield, that requires modification of the Arduino shield PCB layout. If already proposed shield will be used then some 26-pin flat cable has to be deployed.

Finally, I spent some time assembling SMPS pre-regulator what is a topic for separate post. Progress on the firmware side is also significant that will be covered in the separate thread.



Title: SMPS pre-regulator is assembled and tested..
Post by: prasimix on May 03, 2016, 11:05:29 pm
The SMPS pre-regulator is assembled and tested. I had some trouble with stability when tracking is added but thanks to LTC's support and Dave's video #329 I got nice results. It looks like this:

(http://i.imgur.com/d4Nq4VTh.jpg)

This design will be used on the new power board presented in post #245 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg886535/#msg886535). the corrected schematic is shown on the picture below.

(http://i.imgur.com/3aPjN91h.png)

For testing an existing power supply is used. I just remove old pre-regulator and plug a new one:

(http://i.imgur.com/3pLWrdql.jpg)

Measurement is performed on two points: switching mosfet output and post-regulator output. Standard 10x Rigol probe is connected via 1K resistor to the first point. For second an hand-made 1x AC probe is used (see post #181 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg773065/?topicseen#msg773065)).

(http://i.imgur.com/kbwTrVll.png)
No load

(http://i.imgur.com/K8kqrDnl.png)
Output shorted, Iout=3.5 A

(http://i.imgur.com/BOo2K5Zl.png)
Iout=1 A, Load=8R2

(http://i.imgur.com/6w1qKcal.png)
Iout=2 A, Load=8R2

(http://i.imgur.com/CU9rzDKl.png)
Iout=3.5 A, Load=8R2

Output voltage ripple and noise figure is pretty good: ~1.5 mVrms and ~10 mVpp. I didn't tested yet this configuration with 100% duty cycle switch. Also sync with another channel and on-board LM5574 has to be done.

You can also find in attachment LTspice simulation.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on May 05, 2016, 02:28:12 am
Nice! Now I want my PCBs purple too :'(. OSH Park?
Isn't that big filter capacitor going to be a bit too close to a heatsink?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 05, 2016, 11:19:12 pm
Hi void_error, capacitor is close to the heatsink but thanks to efficiency of such pre-regulator temperature of the heatsink shown on the picture is pathetically low in comparison with previously phase-controlled solution. Anyway this PCB was more proof of concept to proceed with "integrated" power board presented in previous post (still green not OSHpark's purple :)) on which both pre- and post-regulator are located.

I can continue with testing modified arduino shield soon (Elektricar told me that he sent PCBs to me!) and after that we are step away from organizing group buy for all people on this and some other forums that shows interest in this project.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on May 05, 2016, 11:45:35 pm
Looked at the last schematic you posted and realized the diode bridge was replaced with schottky diodes, so the board can be mounted away from any heat source, the only things which might heat up would be the diodes.

This might have been previously asked but what is the reason behind choosing the LTC3864 and not the LTC3824?

Just out of curiosity, how many people are working on this project?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 09, 2016, 06:18:59 pm
Looked at the last schematic you posted and realized the diode bridge was replaced with schottky diodes, so the board can be mounted away from any heat source, the only things which might heat up would be the diodes.

Not just diodes from rectifying bridge but also mosfet switch and diode. Due to that I'm planning to put a "thermal bridge" between PCB and heatsink plate that will assist heat transfer. Also a MCU controlled fan will be deplyed.

This might have been previously asked but what is the reason behind choosing the LTC3864 and not the LTC3824?

Because it's better, more capable? See table in attachment.

Just out of curiosity, how many people are working on this project?

Still two, my colleague is fully dedicated to firmware and I'm trying to do the rest. Due to that everything lasts so much :).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on May 10, 2016, 03:46:03 am
Hi folks,

I wanted to share some of my impressions, because I was so impatient and already ordered a batch of the preliminary PCBs.
Yesterday I finished with the AUX and Arduino PCB, although some parts are missing, the basic functionality is given.
First I have to say, that prasimix makes a great job in helping and fixing problems (if there are any)!
He also gave me some hints how to start testing the different sections of the PCBs.

Here are some points concerning the AUX PCB:

Arduino PCB:
Nothing special, everything went fine, although I was very lucky to have a 6-pin IDC cable from an Atmel programmer to connect the AUX and Arduino PCB (forgot to order one).

After putting all together prasimix sent me a touchscreen demo sketch and luckily everything worked from the scratch! :D (see attached image)
Be aware, that my power resistor on the AUX PCB is quite dangerous, so I put some duck tape around it until I get the right one :scared:

The power board PCB is still missing in my setup and I hope that I can finish it by the end of the week and finally start some real testing!
Because I have the preliminary PCBs and the software is until now only for the “released” PCBs, there will be some issues e.g. the rotation of the touchscreen would be wrong. But for me that’s not a big deal. Did I get this right prasimix?

Until now I’m really happy with this project and impressed of the support by prasimix and can’t wait to go on further testing and finally have a great power supply on my bench!  :clap:
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on May 10, 2016, 03:55:18 am
This might have been previously asked but what is the reason behind choosing the LTC3864 and not the LTC3824?

Because it's better, more capable? See table in attachment.
Double the gate driver current and an almost twice as accurate internal reference as well as the wider range of switching frequencies seem to be the things that make the LTC3864 a better choice by quite a margin.

Just out of curiosity, how many people are working on this project?

Still two, my colleague is fully dedicated to firmware and I'm trying to do the rest. Due to that everything lasts so much :).

It's always nice to have more than one person working on something like this. However it doesn't seem to take so long, been watching this evolve over many iterations since the beginning and it seems to go quite fast. At least faster than I could do it but then again my day job eats up most of my time and my mountain bike almost half of my spare time :(

I'm curious about how the touch screen interface is going to look like when it's finished. I'll be stuck with a Nokia 3310 - like UI for my PSU (and a few more things that share the UI module) and it's going to take almost forever to finish anything as I'm writing the firmware myself :scared:.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 10, 2016, 05:31:23 am

The power board PCB is still missing in my setup and I hope that I can finish it by the end of the week and finally start some real testing!
Because I have the preliminary PCBs and the software is until now only for the “released” PCBs, there will be some issues e.g. the rotation of the touchscreen would be wrong. But for me that’s not a big deal. Did I get this right prasimix?

Until now I’m really happy with this project and impressed of the support by prasimix and can’t wait to go on further testing and finally have a great power supply on my bench!  :clap:
Hi,  and thanks for the hints, do you mean that actual software from github doesn't work on a preliminary rig?
I'm interested on building this amazing PSU but i'm afraid i have to wait Parsimix :D
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on May 10, 2016, 06:17:45 am
Quote
Hi,  and thanks for the hints, do you mean that actual software from github doesn't work on a preliminary rig?
I'm interested on building this amazing PSU but i'm afraid i have to wait Parsimix :D

Hi aigor,

no, I meant that e.g. the display rotation is different because it changed between the revisions.
Because I don't finished the power board yet, I cannot say much more about the software differences.
I think only prasimix could clear things up :) 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 10, 2016, 07:05:58 am
I'm curious about how the touch screen interface is going to look like when it's finished.

I made some intro video (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg904429/#msg904429) recently about using touch screen for programming output values. Your input is welcome.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 10, 2016, 07:25:26 am
The power board PCB is still missing in my setup and I hope that I can finish it by the end of the week and finally start some real testing!
Because I have the preliminary PCBs and the software is until now only for the “released” PCBs, there will be some issues e.g. the rotation of the touchscreen would be wrong. But for me that’s not a big deal. Did I get this right prasimix?

Thanks Electricar for sharing this with us. You're right it is not a big deal. That maybe sounds suspiciously enthusiastic since contents of all screen has to be adopted to landscape format. But, idea is to provide screen editor that anybody can modify existing screens or even introduce their own. Screen editor works with various screen elements, can be used to define touch screen interaction, has font editor and can be used for image manipulations (e.g. logo, icons, etc.). Finaly it offer embeding SCPI commands for interaction with screens and build a complete code ready for uploading and execution on Arduino board.
The first step will be to rotate and adjust existing portrait screens to landscape and continue with support for both version. And yes, this is not wishful thinking but something that will be ready very soon for deployment. Such approach can slow progress at the beginning but will starts to "pay-off" very quickly. The same situation we had with firmware software simulator. It already spares us hundreds of development hours since you can instantly compile, execute and debug code without using Arduino board.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 10, 2016, 07:38:43 am
Hi,  and thanks for the hints, do you mean that actual software from github doesn't work on a preliminary rig?
I'm interested on building this amazing PSU but i'm afraid i have to wait Parsimix :D

Hi Aigor, depends how fast are you with building everything. Support for landscape screen format is not ready now, but I can bet that we'll do our job before you get your PCB :). Please note that even in this moment you can count with nice feature set accomplished using SCPI (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-introduction.html) commands and you can even test that without having physical device. If you'd like to explore what is already done use software simulator (http://www.envox.hr/eez/bench-power-supply/psu-firmware.html) in version M1. If you wants more feel free to get latest public build of M2 firmware where you can even start to test local screen functionality.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on May 10, 2016, 07:55:53 am
I'm curious about how the touch screen interface is going to look like when it's finished.

I made some intro video (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg904429/#msg904429) recently about using touch screen for programming output values. Your input is welcome.

I remember watching that...
I have a few suggestions though, nothing too fancy or complicated. I'll make a list of things I think would make the UI more intuitive some time this week, need to watch the video a few more times carefully, and make a post in the thread where that video is. In my opinion you shouldn't need a manual for using the basic features of a bench PSU.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 10, 2016, 07:59:39 am
I remember watching that...
I have a few suggestions though, nothing too fancy or complicated. I'll make a list of things I think would make the UI more intuitive some time this week, need to watch the video a few more times carefully, and make a post in the thread where that video is.

Excellent, looking forward to see that.

In my opinion you shouldn't need a manual for using the basic features of a bench PSU.

You're right. There is many rooms for improvements. Hopefully we can catch with all suggestions easily when "screen editor" will be ready.

Title: New power board assembled ...
Post by: prasimix on May 15, 2016, 08:14:07 am
Electricar who decided to make PCBs using preliminary new revision layouts sent one PCB set to me. I spent some time yesterday and today to assemble power board which include SMPS pre-regulator. I didn't find any surprise yet. I borrowed one channel from existing PSU for digital control. Output enable, voltage and current programming works fine. Only correction on the PCB was one capacitor in pre-regulator's tracking circuit. I used one THT and solder it over SMD component.
I didn't test it yet with real load. For that I need to mount heatisink for post-regulator's pass element and also some kind of thermal bridge to improve cooling of pre-regulator's mosfet and diode.

(http://i.imgur.com/haIJ37fl.jpg)
Title: Power board testing...
Post by: prasimix on May 17, 2016, 12:14:57 am
I did some new testing trying to load it with up to 5 A. That requires some cooling and I temporately mount post-regulator's power mosfet on external heatsink and fan for blowing air over PCB for cooling pre-regulator's Q1, D5 and L1, L2 and L3.

(http://i.imgur.com/mKoUdUwl.jpg)

(http://i.imgur.com/qJ50OVxl.jpg)

For testing such load I had to made few changes. Referring to schematic from the post #285 R5 is increased from 36K to 47K that increase switching frequency to over 300 kHz. That is required if 33uH power inductor L1 is used. Higher output current require lower sense resistor therefore R2 is decreased from R015 (that is enough for up to 4.5 A) to R012 or could be R010.

Switching frequency synchronization between LM5574 and LTC3864 is now establised. LM5574 is assign as master and its frequency is set about 330 kHz (Rt on pin 7 is decreased to 18K, and Cramp is now 3n9). in operation it looks like this (magenta trace is LTC3864, cyan is LM5574).

(http://i.imgur.com/gCQFIr1l.png)

Two new functions: 100% duty cycle operation and remote programming has to be tested but that requires additional code in firmware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 21, 2016, 02:17:23 pm
Hi Prasimix,

I'm also build now the first prototype based most on liv's analog stage.
I have problems with the prototype to get down to 0 volts.
I used fixed bias voltage at 38volts and -15v for dp.
I would like to ask you, if you can go down to 0 volts ?

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 04:44:39 pm
Yes, it goes down to zero or even a milivolt or two below. Are you using dual rail supply for op CV loop op-amp?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 21, 2016, 05:39:20 pm
Hi Prasimix,

yes, I use +- 15 volts.
Later on, I will post the schematic.
Maybe that will help for discussing further.
Title: AC or DC input?
Post by: prasimix on May 21, 2016, 07:44:15 pm
Inspired with Electronix's suggestion about using AC/DC power supply instead of torodial main transformer I didn't bid for one on the eBay but check what is offered from regular suppliers to insure more predictable availability. I find Mean well's LRS-150-48 (http://www.tme.eu/en/details/lrs-150-48/industrial-power-supplies/mean-well/) with price that is pretty attractive (possibly because it does not include PFC).

(http://i.imgur.com/sMLFpDGh.png)

If we compare it with typical toroidal transformer (that is tree times heavier then two AC/DC PS) we have the following situation:

(http://i.imgur.com/ylrWZp5l.jpg)

How it looks in practice? With output load of 4 A I got the following output noise without anything else (i.e. common mode choke at the input nor ferrite bead on the output cables as show on the picture above):

(http://i.imgur.com/xx2JDzCl.png)

Actually even without anything connected, and when output is disabled noise that somehow comes from LRS-150 is present on the output:

(http://i.imgur.com/WQ6M3vkl.png)

But when common mode choke is added at the input of the power board it starts to look much better:

(http://i.imgur.com/GIVJ1Gel.png)

... or with different time base:

(http://i.imgur.com/F9JEAgUl.png)

How this looks to you?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 21, 2016, 07:59:09 pm
Hi Prasimix,

that looks not to bad ;). At the moment i haven't test my prototype with the switching supply.
I use at the moment a analog regulated ps for the first tests.
In attachment you will find my schematic.
I'm struggling a little bit regarding of that, that the PS will not go to 0 Volts.
At Pin 1 at U1 i have -14,8 Volts.
At the Emitter of Q15 i have -5,4 Volts.

Maybe you have an idea..

cheers

sven

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 08:13:13 pm
Is it possible that input voltage on Q1, Q2 is higher then +36 V used for bias?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 21, 2016, 08:47:41 pm
No, at the moment I use 20v maximum, cause my analog ps does not supply more.
I have now reduced r39 from 470 to 220 ohms and now it is going down to 0 volt :).
Maybe it is cause I'm using different op amps than you and liv.
I have now at q15 emitter -6.6 volts.
I'm going now further with the tests.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 08:49:15 pm
 :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 08:51:23 pm
Sven, I'm wondering what are you going to use to provide +/-36V as bias supply input? Another two secondary windings?
Title: Output ripple and noise measurement on power board...
Post by: prasimix on May 21, 2016, 09:30:05 pm
I tried to see how output ripple and noise will looks with and without using common mode chokes and ferrite bead on output cables but this time with toroidal main transformer as power input. Here is what I got for 1 A and 4 A load in CV mode without additional filtering:

(http://i.imgur.com/fw5Bd4Al.png)

(http://i.imgur.com/maIcMYEl.png)

with added filtering components it looks like this (again for 1 A and 4 A, CV mode):

(http://i.imgur.com/h6NlVD7l.png)

(http://i.imgur.com/R3a2KCEl.png)

How it looks in comparison with some other PSU? With real possibility that I'm going to mix apples and oranges I'd like to mention one of the recent Keysight's device. It's possibly entry-level but it's price is not (~580 GBP (http://uk.farnell.com/keysight-e36100-programmable-power-supply)) and they listed the following figures:

(http://i.imgur.com/emox65Yl.png)

... but I presume that they are using the following testing method to produce such results:

(http://i.imgur.com/JeO2bVXl.png).

Unfortunately I still have no possibility to obtain one differential amplifier and my settings was direct connection of coax cable of my AC probe to the measurement point shown below.

(http://i.imgur.com/UoyP7JIl.jpg)

Next week hopefully firmware will be upgraded to provide 100% duty cycle pre-regulator mode of operation and I'll post additional measurements in that mode.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Liv on May 21, 2016, 09:52:37 pm
I'm struggling a little bit regarding of that, that the PS will not go to 0 Volts.
At Pin 1 at U1 i have -14,8 Volts.
At the Emitter of Q15 i have -5,4 Volts.
Maybe you have an idea..

Connecting the base of the transistor Q13 to the +15 V you increased the current mirrors current in 3 times compared with the PSL-3604. For the rated current R31 must be increased to about 3.9 - 4.7 k.

I tried to see how output ripple and noise will looks

All depends on the field of application of power supply. For most applications, switching power is fine. But I, for example, sometimes working with audio. Modern DVD player with a switching power supply has more dirty output spectrum than the old CD player with a conventional transformer. The spectrum has a higher harmonics of the mains voltage and high-frequency noise. Many problems brings Y-capacitor and mains LC-filter capacitors. It requires mandatory grounding.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on May 21, 2016, 10:54:25 pm
The residual spike look quite good for a supply with a switched mode pre-regualtion. Looks like there is not much difference in using the normal transformer or the switched mode supply. So the source of the visible spikes is the on board regulator.

For noise / spikes from the on board regulator, I would not use common mode chokes. The more important part should be the layout and the type / size of the filtering caps and normal series choke(s). So logical place for extra filtering would be between the preregulator and the linear stage. It might be interesting how the intermediate voltage before the linear stage looks like.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 21, 2016, 11:08:23 pm
@ Prasimix: I use a standard print transformer with 2x30 volts and 166 ma.
This voltage will regulated to +- 38 volts using lm 317 and lm 337.
On the main schematic you will see two additional Lm's which generate the +- 15 volts and a 5 volt will also generated.
Of course for dual power supply I need two of these help supply's.

@ liv: thanks for your hint. I will try to shorten the base resistor and increase the r31 and see what happens ;)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 11:38:08 pm
It might be interesting how the intermediate voltage before the linear stage looks like.

Here we go, reffering to schematic from post #285 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg932713/#msg932713) the following measurements were taken on C16 (power inductor output) for no load, 1 A and 4 A:

(http://i.imgur.com/cTlKgr7l.png)

(http://i.imgur.com/UrY3K8Ll.png)

(http://i.imgur.com/zAdtVV9l.png)

Next two measurements were taken on C14 (post-regulator input) for 1 A and 4 A:

(http://i.imgur.com/qDXyZrBl.png)

(http://i.imgur.com/pvTEvKil.png)

Title: Bias supply output issue
Post by: prasimix on May 22, 2016, 12:02:54 am
@ Prasimix: I use a standard print transformer with 2x30 volts and 166 ma.
This voltage will regulated to +- 38 volts using lm 317 and lm 337.
On the main schematic you will see two additional Lm's which generate the +- 15 volts and a 5 volt will also generated.
Of course for dual power supply I need two of these help supply's.

That's something that I wanted to avoid: mains voltage on channel's PCB (I presume that you are also going to mount that transformer on the channel's PCB). Due to that I make separate so called AUX PS board (http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html) that is supplying digital control board (Arduino shield). The channel's bias supply is derived from single secondary winding. And here I found nasty surprise yesterday!  |O
The LM5574 used as step-down from input (that could be up to 60 V) to +/-9 V that is further regulated down to +/-5V using LDOs generate some strange noise on the output. And it generate that noise only when power pre-regulator is enabled/started! It seems that is an issue that exists for some time since I have it also on previous revision where mosfet phase-controlled pre-regulation is used. Currently don't know how to get rid of this nuisance. :-//. If anybody have any tip where to start digging please let me know. Here is how it looks like when power pre-regulation is not enabled:

(http://i.imgur.com/r9w3ngIl.png)

... and when it's enabled:

(http://i.imgur.com/acFCde7l.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on May 22, 2016, 01:57:08 am
The main raw voltage looks really good - thats what the filtering is good for.  So the output noise seems to come a different way, thought the waveform still looks like the main variable switcher is the source.

Its a surprisingly low frequency (500 Hz and about 5 kHz) for the "noise" on the +-5 V. This spurious signal dowes not look like it appears very strong at the output. Still better find the cause and get rid of it. The low frequency is really odd, not much is running that slow. It might be a regulator going into pulse skipping mode, so very light load to one supply.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 22, 2016, 02:42:52 am
The main raw voltage looks really good - thats what the filtering is good for.  So the output noise seems to come a different way, thought the waveform still looks like the main variable switcher is the source.

Its a surprisingly low frequency (500 Hz and about 5 kHz) for the "noise" on the +-5 V. This spurious signal dowes not look like it appears very strong at the output. Still better find the cause and get rid of it. The low frequency is really odd, not much is running that slow. It might be a regulator going into pulse skipping mode, so very light load to one supply.

Thanks Kleinstein, it doesn't look like it's in pulse skipping mode. Here is how switching output looks like (magenta trace, cyan is output from inductor):
 
(http://i.imgur.com/jzi6d2Fl.png)

... and same but with another time base to see how this low frequency is (not) related to main switching frequency:

(http://i.imgur.com/X7c1B1Xl.png)

I'm start to wonder if this topology with coupled inductor is for some reason not optimal for the LM5574. But strangely I've checked how it looks on one old pre-regulator board where LM5088 is used as a power pre-regulator. And guest what, there is no such issue there.  :palm:
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 22, 2016, 08:34:32 pm
Arduino and ST created a new board STAR Otto (http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-3rd-party-evaluation-tools/ard-otto-stm32.html?icmp=tt3617_gl_pron_may2016) that looks very promising and that should be a nice future upgrade for the power supply's Arduino shield. :clap:

(http://i.imgur.com/jaF9vWbl.jpg)

Key Features
    High-performance STM32F469BIT6 MCU with 2-Mbyte Flash memory, 384-Kbyte SRAM
    Memory: 16-Mbyte SDRAM, 128-Kbyte EEPROM, microSD slot
    Wi-Fi 802.11b/g/n 2.4 GHz link
    MIPI® DSI display interface
    2x MEMS digital microphones
    Headphone and speaker output
    USB host interface
    Camera connector
    Arduino™ Uno, Due, Mega connectors
    Supported by Arduino™ IDE and Arduino™ Studio online IDE

Title: LM5574 output
Post by: prasimix on May 22, 2016, 09:52:00 pm
I wrongly accused power pre-regulator as source of the strange low frequency ripple measured on LM5574 output. It seems that something connected with digital part and my current mess on the table cause it. When simple sketch is running output signal looks fine (see below).

(http://i.imgur.com/8uoGHFtl.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 23, 2016, 05:22:36 am
Hi Prasimix,

For the bias power supply I would not fit them on main board. I have created a small pcb which contains the Lm's and the print transformer.
I have make more tests today and I have many problems with oscillating on the output, when a load is connected.
I try now with different caps on c14 in my design.
I use now 100p.
I also increase the resistors r32 and r44 from 2.2k to 10k and de solder c18 and c23.
So it is stable at the moment with different loads but now I have a big sawtooth on the output without a load  |O. As c out I use 10uf at the moment.
I must think about how to solve that, because first I will solve the main issues and when that is finished I start with more tests in detail.

Maybe someone has i hint regarding the sawtooth without load.
Btw the dp is not in use at the moment, means r3 is not connected.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Liv on May 23, 2016, 07:59:19 am
In real PCB it is very difficult to optimize frequency correction. It makes it much easier to model.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 23, 2016, 05:17:02 pm
Hi Prasimix,

For the bias power supply I would not fit them on main board. I have created a small pcb which contains the Lm's and the print transformer.
I have make more tests today and I have many problems with oscillating on the output, when a load is connected.
I try now with different caps on c14 in my design.
I use now 100p.
I also increase the resistors r32 and r44 from 2.2k to 10k and de solder c18 and c23.
So it is stable at the moment with different loads but now I have a big sawtooth on the output without a load  |O. As c out I use 10uf at the moment.
I must think about how to solve that, because first I will solve the main issues and when that is finished I start with more tests in detail.

Maybe someone has i hint regarding the sawtooth without load.
Btw the dp is not in use at the moment, means r3 is not connected.

Cheers

Sven

From my perspective, I'd like to try the following:
Another think that I didn't succeed to implement is "drivers" Q15, Q18 in your schematic. Therefore a single transistor and two diodes from CC and CV op-amps were added.

I have another question: why you decide to use two pass mosfets (Q1, Q2)?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Kleinstein on May 24, 2016, 02:34:38 am
The output stage normally needs the series resistor at the source - just 0.01 Ohms is likely to little. Also two FETs in parallel without separate reasonably size source resitors usually does not help much - one of them will take most of the load.

The output stage looks rather complicated - which usually is not that good. At least some simulations of that stage are a good idea, as it to complicated for most of us to do the analysis by hand.

The regulation part can also be tricky as it tries to compensate the voltage drop at the shunt. If by change tolerances causes more than 100% compensation the circuit can oscillate. So minor mismatch could be a problem with extreme loads.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on May 24, 2016, 02:48:17 pm
Hi Prasimix, hi kleinstein,

At the moment I use only one power mos.
the second one will only assembled if one mos is not enough to handle the power.
I use this ps with max of 10 amps.
Also I use at the moment only cv mode.
Iset is constant on 5 volts which is than the maximum.
I use 1,5 ampere load for testing.
So I will try several things in the next days. I decrease already c18 and c23 to 1 nf.
The sawtooth will not be there if I connect only one line, means c18 or c23. But than I get an pretty good oscillation when I connect a load. :(

I must thinking about that, what can be the next steps.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 25, 2016, 07:43:12 pm
Hi Prasimix, hi kleinstein,

At the moment I use only one power mos.
the second one will only assembled if one mos is not enough to handle the power.
I use this ps with max of 10 amps.
Also I use at the moment only cv mode.
Iset is constant on 5 volts which is than the maximum.
I use 1,5 ampere load for testing.
So I will try several things in the next days. I decrease already c18 and c23 to 1 nf.
The sawtooth will not be there if I connect only one line, means c18 or c23. But than I get an pretty good oscillation when I connect a load. :(

I must thinking about that, what can be the next steps.

Cheers

Sven

Did you make a e.g. LTspice model that include Q15 and Q18? How its behave?
Title: New Arduino shield is assembled
Post by: prasimix on May 25, 2016, 09:12:53 pm
The new Arduino shield that Electricar sent to me is also now assembled. The main difference is moving from to W5500 Ethernet controller. The RJ-45 socket is now moved to the new AUX PS board that has to be mounted on the rear panel.

(http://i.imgur.com/UrCWvOPl.jpg)

For W5500 control adafruit Ethernet2 (https://github.com/adafruit/Ethernet2) library is used (I think that is in its core WIZ_Ethernet_Library-IDE1.6.x (https://github.com/embeddist/WIZ_Ethernet_Library-IDE1.6.x) with few modifications such as selectable Chip select pin). Two examples that can be used to test W5500 can be found in attachment.

I also came into completely new issue. A TFT display that I ordered from the same supplier as last time send me in appearance a completely same item but with different LCD controller! Instead of SSD1289 that is supported in UTFT the new one comes with ILI9341. Actually there is one difference in appearance - it's _9341 added to the model name.

(http://i.imgur.com/wasQFqKl.jpg)

Now, I have to wait for another SSD1289 based display or try to add support for this ILI9341 controller. Anyway a nice way how to add more delay in development.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 25, 2016, 10:11:37 pm
I'm waiting my pcb set  and other stuff to try to build your amazing creature, when i'm ready i'll post my build
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 25, 2016, 10:12:59 pm
I'm waiting my pcb set  and other stuff to try to build your amazing creature, when i'm ready i'll post my build

What revision you are decided to build?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 25, 2016, 10:40:03 pm
I'm waiting my pcb set  and other stuff to try to build your amazing creature, when i'm ready i'll post my build

What revision you are decided to build?

I'm courageous i decide to try rev5
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 25, 2016, 11:41:15 pm
Ok, welcome to club  :clap:. Your eventual feedback is appreciated.
Anyway please note that Arduino shield will be definitely modified in layout (not in functionality). But don't worry I hope that group buy milestone will be reached and I can send you one shield when it will be available (ok, you have to resolder everything, but that could be a nice exercise :)).
There is also few minor changes in BOMs that I still didn't upload on the github. So many things to do, and not so many time.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 25, 2016, 11:49:39 pm
Ok, welcome to club  :clap:. Your eventual feedback is appreciated.
Anyway please note that Arduino shield will be definitely modified in layout (not in functionality). But don't worry I hope that group buy milestone will be reached and I can send you one shield when it will be available (ok, you have to resolder everything, but that could be a nice exercise :)).
There is also few minor changes in BOMs that I still didn't upload on the github. So many things to do, and not so many time.
Thank you  ;D I'm going to improve my knowledge building your amazing project.
I would like to a report a strange thing happened when i tried to upload firmware into arduino due as you showed in video.
You must use IDE 1.6.9 otherwise you get a error, compiling and uploading went fine, but if i look into serial monitor, it seems blocked into ethernet init and nothing happens even if i wait more then 30seconds.
But for now it's' not a problem, i'm going to try after complete built.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 26, 2016, 03:42:09 am
Damn! i have same tft screen  :-X  do you use low level call in you code to use only SSD1298? maybe it's enough add specific library if the functions are the same for both controller
Can i try without PSU arduino shield?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 26, 2016, 04:46:04 am
Damn! i have same tft screen  :-X  do you use low level call in you code to use only SSD1298? maybe it's enough add specific library if the functions are the same for both controller

Take it easy, possibility to work with more models gives us more flexibility. That "only" requires more time to do everything right. This TFT is not directly supported by UTFT that is some kind of standard library for ebay/alibaba models but we already had the similar situation with UTouch from the same author. As we successfully moved from it maybe it's time to do the same thing with the TFT part.

Can i try without PSU arduino shield?

In what sense? With the latest firmware you can run Arduino shield even without display. So this issue with "wrong" display is not a show stopper if you are going to start PCB assembly right away.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 26, 2016, 05:55:37 am

In what sense? With the latest firmware you can run Arduino shield even without display. So this issue with "wrong" display is not a show stopper if you are going to start PCB assembly right away.
I mean try code on arduino with TFT connected but without your PSU arduino shield
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 26, 2016, 07:51:39 am
That will require a lots of wiring but you can try. You have to follow schematics on sheet 2 and 3 for the Arduino shield (JP3 to JP5 is assigned to TOUCH_SCLK, TOUCH_DIN and TOUCH_DOUT).

Instead of loading firmware you can also use some of the UTouch examples (e.g. UTFT_Demo_320x240). Please take in account that TFT required 5 V for supply but is 3.3 V logic level device!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on May 26, 2016, 08:06:55 am
Thank you! I will try in the weekend

Inviato dal mio NX507J utilizzando Tapatalk

Title: Preliminary AUX PS PCB correction ...
Post by: prasimix on May 26, 2016, 07:46:29 pm
Phew, yesterday when testing a combination of new the Arduino shield and power board started I realize that triac triggering on AUX PS does not work. The problem is with wiring that is made in this revision. Fortunately that issue was not so problematic to fix. One PCB cut, two holes for new wiring and it's now works.

(http://i.imgur.com/QodbK5X.png)

(http://i.imgur.com/afxbSJQl.jpg)

(http://i.imgur.com/jT5ZgnSl.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 26, 2016, 08:14:33 pm
Thank you! I will try in the weekend

Inviato dal mio NX507J utilizzando Tapatalk

Regarding ILI9341 library it seems there is many solutions available. Only on github search (https://github.com/search?utf8=%E2%9C%93&q=ili9341) returns 109 results. If anyone already have something to recommend even only for testing please let me know.
Title: TFT display with ILI9341 ...
Post by: prasimix on May 26, 2016, 11:17:12 pm
He, he, TFT display with different controller wasn't be so great issue. There is a hack in UTFT library that is described on Arduino forum (http://forum.arduino.cc/index.php?topic=325106.0). One line in UTFT.cpp has to be changed from:

Code: [Select]
word dsy[] = {319, 399, 319, 319, 319, 319, 219, 219, 399, 159, 127, 319, 479, 799, 319, 319, 319, 0, 0, 319, 799, 479, 319, 219, 159, 319, 319, 479, 479, 479, 159, 159};
to ...

Code: [Select]
word   dsy[] = {319, 319, 319, 319, 319, 319, 219, 219, 399, 159, 127, 319, 479, 799, 319, 319, 319, 0, 0, 319, 799, 479, 319, 219, 159, 319, 319, 479, 479, 479, 159, 159};
Now we have to add into firmware selection between SSD1289 and ILI9341 controller. In the meantime you can test sketch that is in the attachment.

(http://i.imgur.com/Hw0d7mVl.jpg)
Title: Strange behavior of reset IC...
Post by: prasimix on June 04, 2016, 07:06:17 pm
A lots of things are still happening in parallel and here I'd like to present where I spent many hours by "catching a ghost". Maybe someone more experienced would spot that at once but I still do know why it's happening but fortunately I find a simple (dirty?) solution for that.
This issue is introduced with adding TPS3705-33 (http://www.ti.com/product/TPS3705-33) power supervisor and reset IC. It offers power-on (and power-failure) reset and also watchdog functionality that can be used as extreme measure if firmware for some reason blocked.

https://www.youtube.com/watch?v=3ePL2gwLZLE (https://www.youtube.com/watch?v=3ePL2gwLZLE)
Title: Testing "low ripple" mode of operation
Post by: prasimix on June 05, 2016, 02:32:33 am
Since the Low ripple functionality is now also implemented on the firmware (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/msg955128/#msg955128) side we can test it on the real equipment. Idea about bypassing switching pre-regulator comes from void_error (thank again for that). When "Low ripple" mode of operation is selected the power pre-regulator is bypassed by setting so-called Duty cycle of the SMPS controller to 100 %. That will disable switching frequency and therefore that otherwise hard to filter component disappear entirely from the channel output. In that case the remaining noise  should mainly come from the low power bias switching pre-regulator (LM5574) and the Arduino Due board.

Max. output current for pre-regulator mosfet (SUD19P06 (http://www.vishay.com/mosfets/list/product-69253/)) is limited in firmware to 0.8 A. That value comes from its SOA chart:

(http://i.imgur.com/U0zTJpZl.png)

Maybe I should add some reserve and lower it to 10-20 %. Your input here is welcome. 50 V point is chosen since that is DC voltage at the power board input (LRS-150-48 module). As max. power dissipation for post-regulator's mosfet mounted on heatsink a 20 W is chosen. In real life I'm going to put that heatsink near 60 mm fan that should easily handle 40 W for two channels.

(http://i.imgur.com/ivbbh7al.jpg)

This time as a measurement point a 4mm to BNC adapter is used and no additional capacitors are connected on the output (only output capacitor is 15u in parallel with 470n+1R). Let's starts with grounded probe input:

(http://i.imgur.com/4VF2o41l.png)

When power is switched off:

(http://i.imgur.com/QPhlo2Dl.png)

OUTPut OFF means that SMPS pre-regulator is completely shut down and post-regulator's mosfet bias is switched off (Arduino Due is off course active):

(http://i.imgur.com/HJ830pLl.png)

Connected load is 16R4 power resistor that with output voltage set to 7 V consume about 0.43 A. That is within limits for low ripple mode of operation, but first how it looks when LRIPple if OFF:

(http://i.imgur.com/esunngFl.png)

and finally when LRIPple is ON:

(http://i.imgur.com/rrsb3L7l.png)

It works! :)
While in this mode of operation and set parameters note that dissipation on post-regulator mosfet is about 18.5 W! In the same time pre-regulator mosfet is cold since with Rds(on) of 60 m? is dissipate 25 mW.

If you compare measured noise with LRIPple OFF (SMPS is turned on) with that from e.g. post #310 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg945590/#msg945590) you can see that this one are much more dirty. That is possibly due to the different method of signal probing. I also found that grounding or lack of it can influence greatly appearance on the scope of that noise. The Arduino shield board has 10n capacitors connected from power output terminals to PE (protective earth line), adding the same combination at the input of the pre-regulator (after common-mode choke) can also make a change at least when AC/DC adapter module as in this example is used.
Title: Finalizing revision 5 PCB layout
Post by: prasimix on June 07, 2016, 04:51:05 pm
We are approaching slowly finalization of the Revision 5 PCBs. All new functionality that is added on the preliminary PCBs that Electricar sent to me seems to work. During testing phase some new ideas came and I'd like to include it in the final revision. Before that I'd like to hear your opinion about few things that will affect final PCB layout.

1) Power boards has to be placed closer to each other as announced in post #284 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg931719/#msg931719). A heatsink for post-regulator mosfet is mounted on that board and PCB orientation that is suggested in mentioned looks like this:

(http://i.imgur.com/sVQl2Z1m.png)

... but it is not optimal since pre-regulator power mosfet and diode are SMD components and air-flow over them is marginal. I was planned to add a "thermal bridge" below PCB area where mentioned components are located but I'm not sure if that is better then rotating PCB that its surface is in "air tunnel" like on the diagram below. Such orientation decrease amount of air that reach heatsink but it's not so critical since max. dissipation cannot exceed 20 W per channel. This is important to know for proper location of 26-pin connectors on the Arduino shield.

(http://i.imgur.com/FZdyLcvm.png)

2) Fan blowing orientation: what is better that air is sucked out of enclosure or vice-versa?

3) Enclosure holes: please take a look once again on the proposed enclosure in post #284. The power boards will be located on the right side (looking from the front) and power transformer or two AC/DC modules on the left side. What do you think is there too many ventilation holes on top and bottom plates? How is that related to topic 2)?

4) I'd like to reduce the number of connecting cables to the minimum. On the power board was connector for NTC that should be somehow mounted or glued with silicon onto heatsink. But, the more critical area is the surface of the PCB near pre-regulator power mosfet (Q1). I'm thinking about using a SMD NTC mounted close to that area as on the picture below. Does it makes sense?

(http://i.imgur.com/9QOT3JNm.png)

5) I'd like to offer flexible power board input that people could choose between AC (main transformer) and DC (AC/DC module) input as shown on the following picture:

(http://i.imgur.com/sUQ3S1Wl.png)

That section could reside on the power board but also it can be moved to the AUX PS that is planned to be mounted on the enclosure rear panel. In that case instead of four SMD rectifiers diodes we can use cheaper THT bridge that can be fixed to the rear panel for cooling. Also with such constellation bulk capacitors (that are mounted vertically to the PCB) will not dictates distance between power boards and in that way a total width of the power boards section that possibly can also decrease needed width of the enclosure.

Thanks everyone in advance for your valuable inputs.
Title: Heatsink for power board ...
Post by: prasimix on June 07, 2016, 05:08:03 pm
6) I'd like to use easy to obtain extruded profile heatsink for power board and have a difficulties with width and length when fins orientation is as shown in topic 1) in previous post. Many of them comes with 100 mm width but I need 70 to 76 mm. Also if width is right then they are too short: usually 100 mm, but I'd like to have one from 120 to up to 150 mm. The closer candidate (that is also very affordable) is RAD-A4463/120 (http://www.tme.eu/en/details/rad-a4463_120/radiators/).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 08, 2016, 03:59:41 am
Hi Prasimix,

I ask me, if it is not possible to directly regulate the output voltage of your switching supply if you make some changes on the board of that power supply ?
Normally such kind of ps have a pot where you can adjust the output voltage between a upper and lower limit. I can imagine that these range is only controlled by a few resistors. So if you change the voltage from the pot over a op like I do on the cosel supply's it should also work for you. This will make the pre regulator obsolete  :D

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 08, 2016, 05:23:27 am
Hi Prasimix,

I have another question. I have made on my prototype some measurements and find out when I set voltage to 6.000 volts and add a 2.2 ohm power resistor on the output that than the output voltage goes a little bit lower to 5.994 volts. Have you also made same observations on your design ?
Maybe on my prototype it is a grounding problem. I don't know I'm searching for the problem now.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 08, 2016, 03:18:35 pm
Hi Prasimix,

I ask me, if it is not possible to directly regulate the output voltage of your switching supply if you make some changes on the board of that power supply ?
Normally such kind of ps have a pot where you can adjust the output voltage between a upper and lower limit. I can imagine that these range is only controlled by a few resistors. So if you change the voltage from the pot over a op like I do on the cosel supply's it should also work for you. This will make the pre regulator obsolete  :D

Cheers

Sven

Hi Sven, not so sure because the price of single Cosel unit is comparable with completed dual channel PSU. I'm talking about suppliers such as Mouser (Farnell nor TME cannot offer it) and I think that BOM should not rely on used/discontinued units found on eBay auctions. It seems that Cosel cannot offer a lot for DIY-class of project or maybe I missed something?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 08, 2016, 03:23:53 pm
Hi Prasimix,

I have another question. I have made on my prototype some measurements and find out when I set voltage to 6.000 volts and add a 2.2 ohm power resistor on the output that than the output voltage goes a little bit lower to 5.994 volts. Have you also made same observations on your design ?
Maybe on my prototype it is a grounding problem. I don't know I'm searching for the problem now.

Cheers

Sven

Well, we are talking about 2.7 A and 6 mV voltage drop. I can bet that if you try that on multi-thousand dollars/euros professional unit that you can get the same result. For that you have to use remote sense inputs and connect it wisely (even wrong sequence of connecting power, sense and load terminal could results in 1-2 mV drop).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 09, 2016, 02:07:30 am
"Hi Sven, not so sure because the price of single Cosel unit is comparable with completed dual channel PSU. I'm talking about suppliers such as Mouser (Farnell nor TME cannot offer it) and I think that BOM should not rely on used/discontinued units found on eBay auctions. It seems that Cosel cannot offer a lot for DIY-class of project or maybe I missed something?"

Hi prasimix,

maybe we misunderstood. I mean not that you use a cosel ps. I mean to modify the meanwell ps that you have to be able to adjust the output voltage.

Regarding the 6 milivolt it will be fine if someone can make a test which have a good power supply so that we can compare our self made ps with a professional power supply.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 09, 2016, 02:20:38 am
Hi prasimix,

maybe we misunderstood. I mean not that you use a cosel ps. I mean to modify the meanwell ps that you have to be able to adjust the output voltage.
Ok, now I understand. Mean well has a potentiometar that allows you to set output voltage I think between 44 and 54 V. Not so sure if that also mean that you can go down to e.g. 4-5 V. Maybe someone have such experience.

Regarding the 6 milivolt it will be fine if someone can make a test which have a good power supply so that we can compare our self made ps with a professional power supply.

Cheers

Sven

I still think it's not possible to achieve that without remote sense even with much better power supply. It's simply an Ohm's law in action, connection cable and connection points adds some resistance that are out of reach of CV error amp and 2.7 A is not small current. It's a question of "only" 2.2 miliohms.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on June 09, 2016, 02:50:06 am
I still think it's not possible to achieve that without remote sense even with much better power supply. It's simply an Ohm's law in action, connection cable and connection points adds some resistance that are out of reach of CV error amp and 2.7 A is not small current. It's a question of "only" 2.2 miliohms.

Today I made some measurements with our Keysight E3634A but unfortunately I forgot the spreadsheet at work. But I can say that the drop on the Keysight was worse, even though I measured directly on the power supply output, not at the load. I my opinion the E3634A is a great power supply and with the comparisons I already made, I have to say that I'm impressed every time of prasimix power supply.
I will post the exact values tomorrow.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 09, 2016, 02:35:17 pm
Hi prasimix,

maybe we misunderstood. I mean not that you use a cosel ps. I mean to modify the meanwell ps that you have to be able to adjust the output voltage.
Ok, now I understand. Mean well has a potentiometar that allows you to set output voltage I think between 44 and 54 V. Not so sure if that also mean that you can go down to e.g. 4-5 V. Maybe someone have such experience.

Regarding the 6 milivolt it will be fine if someone can make a test which have a good power supply so that we can compare our self made ps with a professional power supply.

Cheers

Sven

I still think it's not possible to achieve that without remote sense even with much better power supply. It's simply an Ohm's law in action, connection cable and connection points adds some resistance that are out of reach of CV error amp and 2.7 A is not small current. It's a question of "only" 2.2 miliohms.


But I'm using already remote sense. I find out that when I set 6.200 volts I got 6200,5 mV on remote sense op and under load also I have 6,2005 mV on the ic. But I have under load only 6,154 volts on the dummy load which I have connected. Strange.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 09, 2016, 02:41:41 pm
I still think it's not possible to achieve that without remote sense even with much better power supply. It's simply an Ohm's law in action, connection cable and connection points adds some resistance that are out of reach of CV error amp and 2.7 A is not small current. It's a question of "only" 2.2 miliohms.

Today I made some measurements with our Keysight E3634A but unfortunately I forgot the spreadsheet at work. But I can say that the drop on the Keysight was worse, even though I measured directly on the power supply output, not at the load. I my opinion the E3634A is a great power supply and with the comparisons I already made, I have to say that I'm impressed every time of prasimix power supply.



Hi electrical,

yes, that's great. For me I will only want to know which accuracy I can archive with the design of ps and what does a professional ps like your keysight does offer.
Of course it is not bad, but I expect more voltage drop under full load with 10 amps. The problem is, that I have not such kind of dummy load to test under full load.
Thanks in advance for the values.

Cheers

Sven
I will post the exact values tomorrow.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on June 09, 2016, 04:20:30 pm
But I'm using already remote sense. I find out that when I set 6.200 volts I got 6200,5 mV on remote sense op and under load also I have 6,2005 mV on the ic. But I have under load only 6,154 volts on the dummy load which I have connected. Strange.

Are you sinking any current with the dummy load? If yes, you will have a voltage drop on your cables.

Here are the values of my measurement with the Keysight E3634A. I measured directly on the power supply output with a calibrated Keysight E34401A.

without Load:  38,011V
with Load:       37,998V
Load:              15R
Loadcurrent:   2,533A
Voltage drop:  0,013V
      
without Load:  6,000V
with Load:       5,992V
Load:               3R
Loadcurrent:   1,997A
Voltage drop:  0,008V
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 09, 2016, 04:59:19 pm
Sorry guys I cannot follow you since I'm not equipped to perform a mV range measurements. With my entry level UNI-T I can notice a difference depending of how power, sense and multimeter cables are connected. First I think that everything should be measured on load not on power supply binding posts. The best results (again I cannot offer any mV numbers) I got in the following cables are connected in the following order (which could looks counterintuitive or it's simply because of my instrument):

Multimeter -> Sense -> Power -> Load
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on June 09, 2016, 05:21:43 pm
Sorry guys I cannot follow you since I'm not equipped to perform a mV range measurements. With my entry level UNI-T I can notice a difference depending of how power, sense and multimeter cables are connected. First I think that everything should be measured on load not on power supply binding posts. The best results (again I cannot offer any mV numbers) I got in the following cables are connected in the following order (which could looks counterintuitive or it's simply because of my instrument):

Multimeter -> Sense -> Power -> Load

Yes, I also think that you should measure at the load with connected sense wires to be able to compare the results. But I wanted to show that, even when measuring at the power supply binding posts, the drop with the Keysight is higher.

@Electronix:
For clarification: Where did you measure? At the load or at the power supply binding posts?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 10, 2016, 03:48:46 am
Hi electricar,

first thanks for your time to make some measurements and provide it here.
I make my measurements directly on the load where also the remote sense is connected.
I will try to get a little bit deeper in that issue.
But the measurements tell me, that we are on the right way :)

Thanks and I will let you know.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Berni on June 10, 2016, 06:12:13 am
Pretty nice project here, certainly one of the better DIY power supply builds.

I had a plan to make one but i instead just bought a old HP 6624A off ebay cheap. Quite an ancient boat anchor but it works well.
Title: Enclosure rev5
Post by: prasimix on June 13, 2016, 10:46:30 pm
I'm finalizing PCB layout and mechanical details for the revision 5. New Arduino shield and AUX PS boards are finished. Power board is in the queue. Metal enclosure that I'm planning to order from Varisom is also more or less defined. Details can be found in attachment. I also need to redesign front panel in Inkscape and I'll present it in the separate post.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 14, 2016, 04:21:51 am
Hi prasimix,

Can I ask, what the varisom enclosure does cost ?
I'm also making little steps with my ps, the problem is the time  :'(.
I'm managed now, that I have no millivolt difference when I connect a load with 3 amps is connected.
So when I adjust over analog pot 6.000 volts it stays at 6.000 volts  :).
That's very good. I found out that when I make an additional wire from current sense shunt to Ground plane, it solves the issue with the millivolt drops I had before.
I maybe should redesign the pcb but I think it will be very difficult to get it right, cause it depends on which point on ground plane you put the wire.
I must think about that.
So, next is to take the Dac and the isolation ic's to work. Than I will see how the accuracy vis Dac is.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 15, 2016, 06:18:32 pm
Hi prasimix,

Can I ask, what the varisom enclosure does cost ?
I'm also making little steps with my ps, the problem is the time  :'(.
I'm managed now, that I have no millivolt difference when I connect a load with 3 amps is connected.
So when I adjust over analog pot 6.000 volts it stays at 6.000 volts  :).
That's very good. I found out that when I make an additional wire from current sense shunt to Ground plane, it solves the issue with the millivolt drops I had before.
I maybe should redesign the pcb but I think it will be very difficult to get it right, cause it depends on which point on ground plane you put the wire.
I must think about that.
So, next is to take the Dac and the isolation ic's to work. Than I will see how the accuracy vis Dac is.

Cheers

Sven

Hi Sven, I sent an updated (https://github.com/eez-open/psu-hw/tree/master/Mechanical) drawings to the Varisom yesterday and we need to wait for their latest proposal. Before that I got something that is way below Modushop (not to mention e.g. Schaeffer AG/Front panel express). For the quantity of 10 that was 35 EUR (excl. VAT) and include custom made enclosure, painted, with handles and foots, custom drilled front and rear panel and front panel artwork in one color (it's possible to go with more colors but that increase price). If you found our design and dimensions usable that you can benefit from group buy that is planned.
Title: GitHub update
Post by: prasimix on June 15, 2016, 06:36:47 pm
Yesterday I tagged as Version 1.0 (https://github.com/eez-open/psu-hw/releases/tag/1.0) on the GitHub everything that was in the Master branch. That is design with separate pre- and post-regulator boards and Arduino shield with TFT touch-screen with portrait/vertical orientation. We'll continue to support that design together with the new where power board with SMPS pre-regulator is introduced and Arduino shield comes with TFT oriented horizontally.

An updated Arduino shield board r3B3 can be found here (https://github.com/eez-open/psu-hw/tree/master/Arduino%20shield). The main difference from preliminary version (r2B6b) is TFT that is rotated 180 degrees, channel's connectors are moved on the right side and sync master signal that comes from AUX PS is now also incorporated on the board to reduce required number of connected cables. And yes, optional connectors are also added for the following:
AUX PS board r5B8 can be found here (https://github.com/eez-open/psu-hw/tree/master/Aux%20power). Only two changes are added: Sync out and power connector are merged into one, and optional USB isolator (ADuM3160) is added if someone wants to isolate the PSU from PC.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on June 16, 2016, 09:42:39 pm
Received Today my sets of pcb frpom OsPark but these was about preliminary where pre and post regulator are merged into one and the arduino shield is r2B6B
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 16, 2016, 11:14:20 pm
Great! Keep in mind that few changes are required on that PRELIMINARY board set.

For AUX PS board see post #337 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg949148/#msg949148), #373 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg970588/#msg970588) and for the Power board r5B6b you have to make the following changes:

(http://i.imgur.com/a6Teljc.png)

For the Arduino shield please take into account the following:
Code: [Select]
#define EEZ_PSU_SELECTED_REVISION EEZ_PSU_REVISION_R1B9 to
Code: [Select]
#define EEZ_PSU_SELECTED_REVISION EEZ_PSU_REVISION_R2B6Don't be surprised if everything is rotated by 180 degrees on your TFT display :). We still didn't take a time to fix UTFT lib to works with that orientation.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on June 16, 2016, 11:30:35 pm
Thank you Praximix i need some time to build And post results

Inviato dal mio NX507J utilizzando Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 17, 2016, 02:47:06 am
Thank you Praximix i need some time to build And post results

Inviato dal mio NX507J utilizzando Tapatalk

You're welcome, take your time and let me know if you get stuck.
Title: Power board PCB layout is ready
Post by: prasimix on June 17, 2016, 02:52:54 am
Today I finished the Power board r5B8 PCB layout that can be found here (https://github.com/eez-open/psu-hw/tree/master/Power%20board). Things are moved around a little bit, it's now possible to power it from AC or DC input and remote sense polarity reverse protection circuit is also added. This revision I think is ready for the group buy that I'm planned to organize (because after all some people asked for it).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 19, 2016, 01:33:56 am
Hi Prasimix,

I'm now testing my prototype the first time with the Dac. This is an ad 5689r.
I had the question, how did you correct the Dac values ?
For example, I set my Dac to 0,6 volts and get 0,5992 on the output. In the lower ranges the value is more less. I read in the Internet some correction methods for gain and offset error correction, but I would also ask you, how did you implement that. I'm only writing in basic so I'm not a cpp expert ;)

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Berni on June 19, 2016, 04:02:43 am
Hi Prasimix,

I'm now testing my prototype the first time with the Dac. This is an ad 5689r.
I had the question, how did you correct the Dac values ?
For example, I set my Dac to 0,6 volts and get 0,5992 on the output. In the lower ranges the value is more less. I read in the Internet some correction methods for gain and offset error correction, but I would also ask you, how did you implement that. I'm only writing in basic so I'm not a cpp expert ;)

Cheers

Sven

Depending on the resolution of your DAC you might not be able to fix such small errors.

Its mostly geometry to define a line using two points, that line is your lookup table to find the error everywhere. There are two things that define a infinite line. Its offset from 0 and its steepness. So to make it easy to imagine draw a graph of desired voltage versus actual measured voltage. You put in two dosts for your two calibration measurements and then draw a line trough them. The easiest one to pull out of it is the line steepness this is k = (Vm1-Vm2) / (Vd1-Vd2) where Vm are measured and Vd is the desired output. Once you know the steepness k you can extrapolate a line from one of the dots towards zero. The general function for a line is y = x*k + n. You know y and x of that point as Vm1 and Vd1 for example and you just calculated k. So what you need to do is solve for n. You get n = y - x*k. Plug the numbers in and you got the value of n.

Now using the two values k and n you can plug any point in to the line equation of y = x*k + n where x is the voltage you want and y becomes the voltage you must set in order to get it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 21, 2016, 12:26:39 am
Hi Prasimix,

I'm now testing my prototype the first time with the Dac. This is an ad 5689r.
I had the question, how did you correct the Dac values ?
For example, I set my Dac to 0,6 volts and get 0,5992 on the output. In the lower ranges the value is more less. I read in the Internet some correction methods for gain and offset error correction, but I would also ask you, how did you implement that. I'm only writing in basic so I'm not a cpp expert ;)

Cheers

Sven

Please find below simplified extract from firmware where calibration is performed for 50V/3A channel. Also as Berni suggested trying to achieve 100 uV precision with 16-bit DAC is too optimistic.

A) Constants
Code: [Select]
    // DAC range
    const int DAC_RES = 16;
    const uint16_t DAC_MIN = 0;
    const uint16_t DAC_MAX = (1L << DAC_RES) - 1; // 65535

    // ADC range
    const int ADC_RES = 15;
    const uint16_t ADC_MIN = 0;
    const uint16_t ADC_MAX = (1L << ADC_RES) - 1; // 32767
   
    // voltage range
    float U_MIN = 0.0f;
    float U_MAX = 50.0f;

    // current range
    float I_MIN = 0.0f;
    float I_MAX = 3.125f;

    // calibration points
    float U_CAL_MIN =  0.2f;
    float U_CAL_MID = 24.1f;
    float U_CAL_MAX = 48.0f;
    float I_CAL = 0.05f;

B) Helper functions
Code: [Select]
    // make sure x is >= min and <= max
    float clamp(float x, float min, float max) {
        if (x <= min) {
            return min;
        }
        if (x >= max) {
            return max;
        }
        return x;
    }

    // remap x value from [x1, x2] to [y1, y2]
    float remap(float x, float x1, float y1, float x2, float y2) {
        return y1 + (x - x1) * (y2 - y1) / (x2 - x1);
    }

C) DAC helper functions
Code: [Select]
    void dacWrite(uint8_t buffer, float value) {
        uint16_t DAC_value = (uint16_t) clamp(round(value), (float)DAC_MIN, (float)DAC_MAX);

        SPI.beginTransaction(DAC8552_SPI);
        digitalWrite(channel.dac_pin, LOW);
        SPI.transfer(buffer);
        SPI.transfer(DAC_value >> 8); // send first byte
        SPI.transfer(DAC_value & 0xFF);  // send second byte
        digitalWrite(channel.dac_pin, HIGH); // Deselect DAC
        SPI.endTransaction();
    }

    void setVoltage(float value) {
        dacWrite(DATA_BUFFER_A, remap(value, U_MIN, (float)DAC_MIN, U_MAX, (float)DAC_MAX));
    }

    void setCurrent(float value) {
        dacWrite(DATA_BUFFER_B, remap(value, I_MIN, (float)DAC_MIN, I_MAX, (float)DAC_MAX));
    }
   
D) ADC helper functions
Code: [Select]
    int16_t adcRead() {
        uint16_t dmsb = SPI.transfer(0);
        uint16_t dlsb = SPI.transfer(0);
        int16_t adc_value = (int16_t)((dmsb << 8) | dlsb);
        return adc_value;
    }

    float readVoltage() {
        int16_t adc_value = adcRead();
        return remap((float)adc_value, (float)ADC_MIN, U_MIN, (float)ADC_MAX, U_MAX);
    }
   
E) One time calibration procedure:
Code: [Select]
    Step 1): find out calibration min point (u_min_adc, u_min_val)
       
            setVoltage(U_CAL_MIN);
            setCurrent(I_CAL);
            u_min_adc = readVoltage();
            u_min_val = ...read by the user from the external instrument...
   
    Step 2): find out mid point which is only used for sanity check and not for the calculations

            setVoltage(U_CAL_MID);
            setCurrent(I_CAL);
            u_mid_adc = readVoltage();
            u_mid_val = ...read by the user from the external instrument...
           
    Step 3): find out calibration max point (u_max_adc, u_max_val)

            setVoltage(U_CAL_MAX);
            setCurrent(I_CAL);
            u_max_adc = readVoltage();
            u_max_val = ...read by the user from the external instrument...
           
    NOTE: You can print out your calibration parameters with SCPI command "diag:cal?".

F) Finally: read from ADC and convert it to calibrated voltage value
Code: [Select]
    Step 1) read uncalibrated voltage from ADC
       
        float uncalibrated_voltage = readVoltage();

    Step 2) convert uncalibrated to calibrated voltage
   
        float calibrated_voltage = remap(uncalibrated_voltage, u_min_adc, u_min_val, u_max_adc, u_max_val);
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 22, 2016, 12:39:38 am
Hi Prasimix,

I try it now with an example :
dac-min = 0
Dac-max= 65535
Umin=0
Umax=50
Value=12.999

dacWrite(DATA_BUFFER_A, remap(value, U_MIN, (float)DAC_MIN, U_MAX, (float)DAC_MAX)
loat remap(float x, float x1, float y1, float x2, float y2
return y1 + (x - x1) * (y2 - y1) / (x2 - x1)

With values :

0+(12.999-0)*(65535-0)/(50-0)
=17037.7893

I think I made mistake with the 0's.
The value is an desired output voltage.

Can you open my eyes ?
I'm a little bit confused.

Thanks for your help
Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 22, 2016, 04:20:30 am
1) First, you need to calibrate your device:

U_MAX = 50V
I_MAX = 3.125A

 - Set DAC value for current to ROUND(0.05A * 65535 / I_MAX) = ROUND(0.05A * 65535 / 3.125A) = 1049

 - Set DAC value for voltage to u_min_dac = ROUND(0.2V * 65535 / U_MAX) = ROUND(0.2V * 65535 / 50V) = 262
 - Read voltage with voltmeter (it should be around 0.2V) and remember it as u_min_val

 - Set DAC value for voltage to u_max_dac = ROUND(48V * 65535 / U_MAX) = ROUND(48V * 65535 / 50V) = 62914
 - Read voltage with voltmeter (it should be around 48V) and remember it as u_max_val

 2) Use values acquired during calibration to set correct DAC value like following:

 DAC_value = u_min_dac + (desired_value [V]  - u_min_val) * (u_max_dac - u_min_dac) / (u_max_val - u_min_val);

 for example, if you want to set 12.999V, and let say that you read with voltmeter in previous step following:

u_min_val = 0.21V
u_max_val = 48.02V

then you need to set following DAC value:

DAC_value = 262 + (12.999V  - 0.21V) * (62914 - 262) / (48.02V - 0.21V);
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 22, 2016, 05:16:52 am
Hi prasimix,

thanks a lot. That will help defenetly.
 :clap:  :-+
Title: DC fan speed measurement with PWM pulse stretching
Post by: prasimix on June 26, 2016, 09:30:39 pm
I finalize today consolidation (https://github.com/eez-open/psu-hw/tree/master/Consolidated) of all PCB into one PCB panel ready for group buy. In parallel I took some time to test the latest untested circuit of the previous design namely fan control and speed measurement for 3-wire 12V fan where third wire is a tachometer/tach output that can be used for measuring speed and in that way you can check that fan is actually works. I found two issues that requires correction as shown on the picture below.

(http://i.imgur.com/66mRjIRl.png)

I missed adding capacitor (C97) on LDO's output that results with oscillations that makes AUX_FAN_SENSE output completely unusable:

(http://i.imgur.com/kZyFhdZl.png)

R118, R119 makes voltage divider to level shift signal down to 3.3V for Arduino Due MCU. When fan is working (e.g. PWM=255) the AUX_FAN_SENSE output level is correct:

(http://i.imgur.com/iDlxx4yl.png)

... but when power is off (PWM=0) it become 4.3 V (because fan is 12 Vdc):

(http://i.imgur.com/BrZWDk0l.png)

I succeed to fix this issues by adding D21 even on the existing AUX PS PCB with some cutting and rewiring. Finally i spent some time to understand why AUX_FAN_SENSE output is more and more corrupted as fan is going down. For example with PWM=50 I got the following for measurement completely unusable signal:

(http://i.imgur.com/8oH8zYBl.png)

The tach information is chopped by the PWM drive signal, since power is not always applied to the fan. That can be efficiently avoided implementing so-called
pulse stretching - switching the fan on (i.e. PWM=255, for 8-bit drive) long enough to gather the tach information. That can increase audible noise if on period last too long. Also on the other side if its too short for the expected frequency range the results will be inaccurate. For selected fan and default Arduino kHz PWM signal usable range is PWM 12 to 255 that will generate tach signal from 66 to 150 Hz (15 to 6.6 ms). With pulse stretching of 25 ms, and initial delay of e.g. 2 ms I have enough time to measure frequency correctly in the whole range. Here is how it looks like once again with PWM=50 and pulse stretching:

(http://i.imgur.com/wydvv3wl.png)

... or with min. speed when PWM=12 (below this value fan will enter "stall zone"):

(http://i.imgur.com/MUrGYSnl.png)

Now we have to implement all this in the firmware where temperature from both NTC located on the power modules will be used for fan control.
Title: Small AC/DC PCB Mount Power Supply
Post by: prasimix on June 27, 2016, 08:05:10 am
I'm still searching how to effectively address both 115 and 230 Vac input for the PSU. For power modules I already tested Mean well LRS-150-48, 160 W modules. Now remains AUX PS that requires 12V/6VA PCB transformer. I didn't find dual/split primary transformer that is easily available in required form factor from my first two supplier (TME and Farnell). But I come lately into Myrra Small AC/DC PCB Mount Power Supply like 47202 model (Farnell: 2469211 (http://export.farnell.com/myrra/47202/power-supply-ac-dc-12v-0-625a/dp/2469211)).

Does anybody has any experience with such small AC/DC module?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 29, 2016, 02:26:05 pm
Hi prasimix,
I found this one. http://www.mouser.de/ProductDetail/Bel-Signal-Transformer/CL2-50R-12/?qs=sGAEpiMZZMvwUzoUXIIvyZ8riR3Pta28nB2rtxscEwAodHVxIYGp7w%3d%3d (http://www.mouser.de/ProductDetail/Bel-Signal-Transformer/CL2-50R-12/?qs=sGAEpiMZZMvwUzoUXIIvyZ8riR3Pta28nB2rtxscEwAodHVxIYGp7w%3d%3d)
Maybe it helps you.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on July 01, 2016, 05:01:53 pm
Thanks for this, I rather would like to see an item from two suppliers that are already in BOMs. Anyway I'm still not sure what to use at the end: a regular or "electronic" transformer as one mentioned in my latest post. The later can simplify a design because then no rectifier bridge, and bulk capacitor for 5V SMPS regulator is required, nor 12V LDO for the fan.
I'll probably order one from Farnell to make a "final" decision.
Title: TFT display with ILI9341 follow up
Post by: prasimix on July 07, 2016, 01:29:59 am
This is a quick follow up on issue with TFT touch-screen display mentioned in post #339 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg949258/#msg949258) some time ago. That hack works but it's not optimal. Colors looks washed out and pretty distinctive vertical line pattern is visible on the screen. I tried to capture that with my photo camera with limited success:

(https://i.imgur.com/Qnndw7O.jpg)

Fortunately ITEAD put on GitHub (https://github.com/itead/ITEADLIB_Arduino_UTFT_Pro) a week ago a new library that seems to works directly (and correctly) with ILI9341 controller. Screen colors looks way better (possibly the best that this display can provide) and vertical line pattern disappeared completely (the background color is smooth and even):

(https://i.imgur.com/RmgDI1c.jpg)

My display does not come from ITEAD but it's pin compatible and software compatible with their ITDB02-3.2S V2 (https://www.itead.cc/display/tft-lcm/itdb02-3-2s-v2.html) (SKU: IM160418005) model. It's pity that it does not offer holes in corners for simpler mounting on the front panel.

A new library will be distributed with the firmware.
Title: Hot summer day update...
Post by: prasimix on July 25, 2016, 12:11:22 am
Many things happened since my latest post so I'll try to cover it chronologically.

1. Playing with bias power supply
From the beginning I was entertained with the idea to employ only one power input for power and bias. That simplify selection of main transformer (no custom multiple secondary windings is required) and allows me to replace transformer with AC/DC module.
Current design requires 3 or 4 different voltage, namely +5V analog, -5V analog, +5V digital and -9 to 12V for down programmer. Negative voltage requires some conversion that include inductive or capacitive pump and for that coupled inductor is used for bias buck pre-regulation stage (LM5574). I was thinking if such solution could be replaced with someone else and comes to LTC’s LTC3260 (http://www.linear.com/product/LTC3260) a low noise dual supply inverting charge pump that can provides up to 100 mA of output current. Since it can withstand no more then 32 V on input, obviously it still need some pre-regulation. I contacted LTC and they once again generously sent me evaluation boards for LTC3260 but also pre-regulation solution: LT8631 (http://www.linear.com/product/LT8631). That is 1 A synchronous step-down regulator that operate with input voltage of up to 100 V! Demo board comes with fixed output to 5 V but with adding one resistor to feedback voltage divider I increase it to ~13 V to be within LTC3260 safe limits.  The LTC3260 generates three output voltages: negative that “mirror” input positive and two that is additionally regulated with internal LDOs. Demo board already offers +/-5 V that is required for bias. Adding that two boards into the picture wasn’t so difficult – I just removed small inductor that is on the LM5574 input, remove ferrite beads on LDOs outputs, shorted +5V analog and digital inputs and connect demo boards like on the following picture:

(http://i.imgur.com/UPh0MYBl.jpg)

When powered with LRS-150-48 and LT8631, the +5V output on LTC3260 looks like this (take into account pollution generated with nearby Arduino Due and noise floor of used Rigol):

(http://i.imgur.com/lLVDONsl.png)

What to said then this combination works very well. That actually raises another question: if bias consumption is low (as it is!) why to stick to buck type pre-regulation? I didn’t get an answer from LTC regardless the fact that they have a strong candidate for that functionality: LT3013 (http://www.linear.com/product/LT3013) high voltage (up to 80 V) LDO with powergood output that we also need to notify MCU to cut power off immediately if bias power is not correct. I didn’t have time to order it and test it mainly for power dissipation that shouldn’t be more than 1.5 W what is manageable with proper PCB layout.
If this approach is followed existing four ICs and one coupled inductor (as “problematic” part) can be replaced with just two IC and few capacitors and resistors. Regardless of its attractiveness I decided to leave bias section as is for time being.

2. Web site info update
I’m trying to keep web site up to date but it’s still a great challenge – I have no time nor resources to do it properly, not to mention my “English” and my desire to offer multilingual content. Anyway, I also added plug-in for comments (Disqus) and have no idea is it appropriate or not – no comments yet to draw any conclusion.

3. AC/DC module for AUX power module
I already asked for any experience with low power AC/DC modules as possible replacement for iron core PCB transformer used on AUX power module. The main idea behind this is to get "mains power agnostic" power supply. Selecting power AC/DC modules like LRS-150-48 resolves that partially for power side (it's still not the optimal one since it has 115/230VAC switch). Existing AUX power module transformer is 12V/6VA and 12V/5W AC/DC module such as Myrra 47154 (http://export.farnell.com/myrra/47154/power-supply-12v-5w/dp/1825782) or Vigortronix VTX-214-005-112 (http://export.farnell.com/vigortronix/vtx-214-005-112/ac-dc-conv-fixed-1-o-p-5w-12v/dp/2401044) should do the job. I ordered one Myrra to test it and it seems that everything continues to works fine. On top of that with such "electronic" transformer there is not need anymore for bridge rectifier, filtering capacitor and 12V LDO used for powering the cooling fan. Even more: a complete buck (LM25575) for supplying Arduino shield with +5V become questionable since instead of 12V AC/DC module a 5V can be used instead. Of course for that you need 5V DC fan and that narrowing a little bit selection – it seems to me that 12V DC fan is still a common choice. Anyway, I decided to replace existing PCB transformer with “electronic” one and leave LM25575 section.

4. Ethernet RJ-45 jack
The power supply has Ethernet port and I put it directly on AUX power module that should be mounted on the enclosure rear panel. A vertical PCB mounted jack/module is required and I went shopping to the two for me available site: TME and Farnell. I already tested one that I found on TME as shown in post #326 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg948520/#msg948520). My intention was to leave it in the BOM, and I put few of them for my next order when stock was 0. I checked few days ago with TME what is a status of that part and to my surprise I learned that they are not going to order new batch, and even if I put an order right now I need to wait until mid of December. I didn’t like what I heard and started to look for replacement without stock shortage. I found LMJ2138814S0L1T1C (http://www.tme.eu/en/details/rj45-trafo-lp/rj-connectors/amphenol/lmj2138814s0l1t1c/) again from Amphenol. BTW, I tried to use that part number to locate it on the Amphenol official site but without success. Maybe I missed something or they have some other internal codes for search I don’t know. If anyone have any experience with Amphenol search please let me know :)
And another surprise follows soon: new part pinout does not follow the old one. Spot the difference:

(http://i.imgur.com/UEuEgtGl.png)

Needless to say that generates another revision of the AUX power PCB.

5. Design for Manufacturing (DFM)
This is a hard one, but great lesson that I started long before I realized that it has it’s own label. I started building this power supply with clear intention to finish it, not to give up somewhere in the middle and offer everyone who decide to follow this project as much as possible information that it can not only build one but eventually started a small manufacturing :). The DFM seems to require not just a lot of will, time and material to complete a project but also some discipline to put everything in place. Intuitively I knew that something that is modular should be more appropriate for manufacturing and I tried to follow that path. Yes, in one moment I gave up from separate pre- and post-regulator boards but from other side I succeed to simplify wiring and now a complete power channel requires just one cable (power input) and one output connector. Other thing is decision to switch from THT to SMT or to reduce the number of THT parts as much as possible. From the beginning I tried to avoid parts that is hard to get or can generate some difficulty with assembling or increase the price of assembling in “mass” production. I also tried to stay with low cost two layer PCB. So far it works despite the fact that new power module that employs SMPS pre-regulator would be less noisy if 4 layer PCB is used. Anyway, that is rectified to some extend with “low ripple” mode of operation that is mentioned in some of previous post.
I tried to keep in mind mechanical aspects and that results in changing location of PCBs inside enclosure and switching from “portrait” to “landscape” size and saving of about 25% of enclosure volume for the same output power. More about enclosure will follow.
Finally we are coming to the point why I listed this topic: two very useful Dave’s videos:#127 (https://www.youtube.com/watch?v=VXE_dh38HjU) and #235 (https://www.youtube.com/watch?v=Uemr8xaxcw0).
I wish I saw it sooner because that definitely will save a lot of time doing boring job like managing BOM. I learned two important thing:
Aftermath of not taking into account mentioned rules cost me a week of optimization. I finished with changes on PCBs (please check GitHub) and still need some time to generate a separate “DFM-friendly” BOM.

6. Enclosure redesigned and ordered!
This is a nice one. It was on hold for some time mainly because I told Varisom that I’m not in hurry with getting enclosure for this project. In one moment I started to wondering what’s happening and call them to find out if they are still interested or not. Varisom is family business in all positive way what that term means and they indeed care, and it’s different from corporate carefulness (for me as consumer, environment, world peace, etc.). I was on Skype for a couple of hours with shared desktop observing drawing of the new enclosure with all corrections and some new parts. I looks like this (you can also use Adobe Reader to open 3D model in attachment):

(http://i.imgur.com/lQ71YIrl.png)

(http://i.imgur.com/u54kZfLl.png)

Their proposal include:
Price for qty. of 10 (without VAT and shipping): 43 EUR  :-+
I already make an order, if someone is interesting please let me know.
Title: PCB panels for r5
Post by: prasimix on August 17, 2016, 10:54:40 pm
The new PCB panels just arrived. Three panels left if someone is interested. Price is €19.80 (without VAT and shipping costs) or €35.40 with TFT touch screen display.

(http://i.imgur.com/LNblxMOl.jpg)

(http://i.imgur.com/hadCe42l.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on August 17, 2016, 10:57:01 pm
i'm interested, in which way i can pay you? do you use paypal?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 17, 2016, 10:59:02 pm
PayPal is preferred.

Aigor, please check you inbox I sent you message few days ago :).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on August 18, 2016, 06:00:36 am
NICE, cant wait to get them :) !
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on August 18, 2016, 06:23:59 am
Do you have a set left? Prasimix?

Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 18, 2016, 06:55:22 am
Do you have a set left? Prasimix?

Sent from my SM-G925I using Tapatalk

Two remains.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Mihkel on August 18, 2016, 07:17:22 am
Hi Prasimix

Thank you for sharing your great project.  :-+
I'm interested to get one set of PCBs and one TFT Display.
I'll PM you.

Mihkel
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 18, 2016, 05:22:23 pm
All PCBs gone! Thanks all for your support. Stay tunned for next batch (and more).  :popcorn:
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on August 18, 2016, 05:28:49 pm
Thank you Prax

Inviato dal mio Redmi Note 3 utilizzando Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on August 18, 2016, 08:01:33 pm
Thanks Prasimix. ????

Sent from my SM-G925I using Tapatalk

Title: Assembled new boards and enclosure
Post by: prasimix on August 23, 2016, 04:17:42 am
I spent some time over the weekend assembling power boards and Arduino shield. You can see the results on the following two videos:

https://www.youtube.com/watch?v=TgBrSe8ezy8 (https://www.youtube.com/watch?v=TgBrSe8ezy8)

https://www.youtube.com/watch?v=hl6udQN8cQw (https://www.youtube.com/watch?v=hl6udQN8cQw)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: minion on August 26, 2016, 02:30:26 am
hey, nice project!

I only have one small question: on AUX board, why is there a diode D21 on the sense pin, going from the fan?

I was not able to figure it out.  :)

pozdrav iz slovenije!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on August 26, 2016, 02:32:26 am
Please check post #373.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: minion on August 26, 2016, 02:35:01 am
that was fast, tnx  :)
Title: AUX PS r5B9 is assembled ...
Post by: prasimix on August 27, 2016, 01:41:57 am
The AUX PS r5B9 is now also assembled. It looks like this:

(http://i.imgur.com/zv2a66jl.jpg)

All existing circuits from previous revision is now working fine but I made a stupid mistake when adding optional USB isolator. I don't know how it was happen but for some reason I didn't connect supply on the Arduino side. Therefore if any of you who is going to build this PSU wants also USB isolator then two extra wires will be required:

(http://i.imgur.com/PWayJtrl.jpg)
Title: LED marking for different colors
Post by: prasimix on August 27, 2016, 01:55:59 am
I found an another issue that is not so difficult to rectify and it's reminder to RTFM twice or at least study all accompanied pictures |O.
On the Arduino Shield 0805 LEDs are used in different colors (yellow, red, green and orange). For some reason manufacturer decided to swap anode and cathode on red LED:

(http://i.imgur.com/se3iNO3l.png)

Since the same component is used on PCB layout all red LEDs has to be rotated while soldering. Here is an example of how that marking looks link on the PCB:

(http://i.imgur.com/W7acOYYh.jpg)

Another possibility is to find some another LED that has same marking as all others.
Does anyone have an idea why red LED is so special?
Title: Shipment of PCB panel + TFT
Post by: prasimix on August 29, 2016, 07:28:31 pm
I got today TFTs with delay of one week due to incomplete address :(.
Now I can send a set of PCBs and TFTs to all who paid for it. Enclosures departed last Friday from Portugal so I'm expecting them this week.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Aigor on August 29, 2016, 07:30:12 pm
My set was delivered today Thanks!
Title: New custom made enclosure is arrived
Post by: prasimix on September 03, 2016, 06:02:42 am
The custom made metal enclosure is arrived two days ago from Varisom in Portugal. It looks nice (color is RAL5022) and it's well manufactured, robust and should survive real mechanical stress. It was my first try to order a custom made mechanical part and there was few issues that I'll cover in some of the next posts. In the meantime take a look and let me know what you think:

https://youtu.be/XX-ka2rzsrg (https://youtu.be/XX-ka2rzsrg)

(http://i.imgur.com/KHatqKI.jpg)

(http://i.imgur.com/OLHUF1B.jpg)

(http://i.imgur.com/vqpTkKZ.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kolesar007 on September 03, 2016, 12:50:10 pm
Looks really nice and also color is one of my favorite :).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: timgiles on September 03, 2016, 05:01:24 pm
What a fantastic job you have done. Just been looking at the design documents on github - really great.

You mention a group buy possibility. Is this done or planned for later on in the year? Any idea when?

Regards Timothy
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 03, 2016, 05:05:39 pm
What a fantastic job you have done. Just been looking at the design documents on github - really great.

You mention a group buy possibility. Is this done or planned for later on in the year? Any idea when?

Regards Timothy

Hi Timothy, it's planned to the end of this year. Anyway one PCB panel and TFT display left.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 03, 2016, 09:35:09 pm
Hi Guys. To the people that have their psu built. Where did you get your parts from?

Prasimix: with the group buy planed. Is that for a complete kit?

Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 03, 2016, 09:54:35 pm
Hi Guys. To the people that have their psu built. Where did you get your parts from?

Prasimix: with the group buy planed. Is that for a complete kit?

I think that will be impossible. Too many parts for making a kit. Maybe with THT but not SMT parts. At least that is beyond my current apprehension of electronic kit. When I think about group buy that is primarily for specific parts like PCBs, enclosure, TFT display, maybe some ICs like W5500, etc.

I really try to keep up to date BOM that can be found here (https://github.com/eez-open/psu-hw/tree/master/Consolidated/BOM). Yes, I know that choice of suppliers is not optimal. I found e.g. just recently that Farnell don't want to sell to private persons (only to companies). TME cover most of the world but I don't know what is shipping cost outside Europe where is bargain.
If anyone wants to compile e.g. Digikey/Mouser/Arrow or anyone else I can assist if some doubt arise and we can merge that BOM with existing one and make it available on the GitHub to everyone.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 03, 2016, 09:57:28 pm
Yes thought as much. Re kit. Looks like Farnell have 99% of parts so going with them. As I'm in Australia.

Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 03, 2016, 10:02:37 pm
As far as I can remember Farnell is missing three important parts: AC/DC modules (if you don't want to use toroidal transformer), W5500 Ethernet controller and LMJ2138814S0L1T1C RJ-45 jack (last two are required only for Ethernet and can be replaced with cheap eBay module (see Hack #7 (http://www.envox.hr/eez/bench-power-supply/hacking-area.html#hack7)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 03, 2016, 10:33:30 pm
All good going to go with farnell. Eithernet will be via hack and module. Not sure whether I go toroid or ac/dc I have a toroid.

Sent from my SM-G925I using Tapatalk
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 03, 2016, 10:38:51 pm
Ok, for transformer please use Power module AC input option from BOM instead of C1, C2, C3, L1 and X1 (optionally ZD1 too).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: timgiles on September 04, 2016, 12:04:00 am
I would be happy to to add in Mouser part numbers and put together a Mouser Project/BoM for you. Cant promise it will be this weekend/next 24 hrs, but over the next week should be able to get it done. Probably my preferred route for most of the parts as it is a tax free way to get parts in to Europe (Sweden for me). If there is anything I cant decide about, I will leave it for others to help with.

In terms of group buy - sounds good if it is for the larger components.

Regards Timothy
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 04, 2016, 12:12:34 am
Thanks Timothy for initiative. Let me know if you stuck with any components or found some errors in existing BOM!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: timgiles on September 04, 2016, 09:04:37 pm
Just an update - I ended up sitting down last night and going through about 90% of the list. So another hour today should have an almost complete Mouser list. I have inserted a few columns and will upload the update to Github once complete. There were a couple of errors in your Farnell part numbers - I have marked those in the last column. There are a handful of parts I just could not find - an IC, the heatsinks (so hard to find if the same manufacturer is not stocked). So I have left those blank. The IC really needs finding - but I could not find a TI alternative. Prehaps you know Prasimix? Check it out when I upload the updated BoM file.

Where ever possible I have selected the exact same part. The BoM / Project (which I will add a link to once finished) is currently for the exact number of parts needed. However, this is more expensive than it needs to be. Quite a few parts, if a person orders slightly more, ends up being cheaper (50% of more) for that part in total. So, I will also add a second BoM / Project link that uses the same parts but minimises the cost overall by over ordering where applicable.

Finally - There are some parts that are just darn expensive from Mouser. I am thinking therefore of adding in another 'cheapest' BoM and maybe even a 'Guilding the Lilly' BoM as well :-) But that is all if I have time and feel the need to browse Mouser.

Regards Tim
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 04, 2016, 09:10:32 pm
Sounds great! I'm wondering which IC you cannot find.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Mihkel on September 05, 2016, 04:29:29 am
I would be happy to to add in Mouser part numbers and put together a Mouser Project/BoM for you. Cant promise it will be this weekend/next 24 hrs, but over the next week should be able to get it done. Probably my preferred route for most of the parts as it is a tax free way to get parts in to Europe (Sweden for me). If there is anything I cant decide about, I will leave it for others to help with.

In terms of group buy - sounds good if it is for the larger components.

Regards Timothy

I'm also working with BoM and doing the price comparisons. I'll add part numbers from Digi-Key, Mouser and also RS Components. To show best comparison I'll add all prices in same currency, € (without VAT). Unfortunately I have only few free hours per day, so think it will take one week or so, to get the list done. If I get it ready, I'll send the list to Prasimix for checking.

In terms of group buy, maybe I can help. I have worked with electronics for many decades and finding components and replacements is a part of my everyday's job and I can buy components with little discounts from some distributors. I also have (from earlier projects) many passive components already in my shelf, which I can share. So as I'm now working with the BoM anyway for finding best possible prices, I can also do the calculation for 10 sets for example to get the prices even better and share the information with you. I can't say any numbers yet, but I'm pretty sure that total cost of components for 10 sets will be much lower than for one set. In other words, you can buy only the components you need and don't have to spend extra money for buying left over components.

Please let me know, how many of you are interested in components group buy.
If there is interest at least for 10 sets, then I can buy the parts and send the sets to Prasimix.
I hope that he is not against that. He can then send the sets to you along with PCBs.

PS. This is not for making any business and get rich. I'm just trying to lower the cost of this great project for community, including myself.
Prasimix, Thank you again for sharing your project. You have done amazing work.

Cheers
Mihkel
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: poorchava on September 05, 2016, 06:16:27 am
Mouser for one does not sell LT parts

Wys?ane z mojego HTC One M8s przy u?yciu Tapatalka

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: VEGETA on September 05, 2016, 06:44:26 am
how much approximately can this be? If you wanna sell it, will it be reasonable to sell for 200$?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 05, 2016, 04:02:54 pm
how much approximately can this be? If you wanna sell it, will it be reasonable to sell for 200$?

Cannot be so low. Maybe if you have 1000 sets or heavily rely on eBay suppliers. In accordance to the current BOM (https://github.com/eez-open/psu-hw/tree/master/Consolidated/BOM) one set is €287 (without enclosure and PCBs).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 05, 2016, 04:12:52 pm
If there is interest at least for 10 sets, then I can buy the parts and send the sets to Prasimix.
I hope that he is not against that. He can then send the sets to you along with PCBs.

I'm support this and other future initiative that makes this and similar open source project more affordable to the masses.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: VEGETA on September 05, 2016, 04:53:52 pm
how much approximately can this be? If you wanna sell it, will it be reasonable to sell for 200$?

Cannot be so low. Maybe if you have 1000 sets or heavily rely on eBay suppliers. In accordance to the current BOM (https://github.com/eez-open/psu-hw/tree/master/Consolidated/BOM) one set is €287 (without enclosure and PCBs).

Ok, but did you think about that before you designed it?

I mean will people really accept that price? what about the commercial ones?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 05, 2016, 05:18:51 pm
Dear VEGETA, this project is not about competing with closed/proprietary brands nor "amazing" and "spectacular" 10 bucks eBay solutions that provides in seller's wild dreams e.g. 200W output, ideal transient response, no ripple etc.

If money tag on something that draws your attention is only what drives you thru your life, than simply skip this thread (and this forum to some extent). Thousands of Euros is already spent in this project together with hundreds of working hours of two people to offer OPEN hardware and software solution for people that are sick of manufacturers that don't want to share product details with customers and when brutal hacking in hardware and firmware remains with previous removing of the "void warranty" sticker.

If you are interested please spent some time on our GitHub repository and try to place a price tag on e.g. firmware that is open, software simulator that allows you to test firmware even without having real device, etc. Then try to call e.g. Rigol or Keysight and ask them how much their firmware source code would cost you to get an idea how really expensive is this solution or how irresponsible I am when I dare to built such costly solution.

At the end you have in this thread a documented history of what I thought in the process, and here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/) you can find some details about firmware that you for instance can regularly found in 10 bucks eBay power supplies (in wild dreams) :popcorn:.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: VEGETA on September 05, 2016, 06:16:27 pm
Dear VEGETA, this project is not about competing with closed/proprietary brands nor "amazing" and "spectacular" 10 bucks eBay solutions that provides in seller's wild dreams e.g. 200W output, ideal transient response, no ripple etc.

If money tag on something that draws your attention is only what drives you thru your life, than simply skip this thread (and this forum to some extent). Thousands of Euros is already spent in this project together with hundreds of working hours of two people to offer OPEN hardware and software solution for people that are sick of manufacturers that don't want to share product details with customers and when brutal hacking in hardware and firmware remains with previous removing of the "void warranty" sticker.

If you are interested please spent some time on our GitHub repository and try to place a price tag on e.g. firmware that is open, software simulator that allows you to test firmware even without having real device, etc. Then try to call e.g. Rigol or Keysight and ask them how much their firmware source code would cost you to get an idea how really expensive is this solution or how irresponsible I am when I dare to built such costly solution.

At the end you have in this thread a documented history of what I thought in the process, and here (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/) you can find some details about firmware that you for instance can regularly found in 10 bucks eBay power supplies (in wild dreams) :popcorn:.

I am I really reading this? just OMG!

You fail miserably to understand the point! like... totally! I was not comparing this great work to a cheap ebay breakout board, and by no means use one of these! and I have never thought of buying firmware from Rigol or any other vendors (I don't know where you got the idea from).

I just ask about who are the target clients\customers\audience... that you are targeting with this design. I think it is really expensive, or at least not cheap or normal price for most people, and this was my concern. Don't try to label people badly like they are "driven by price tag in their life" or some other stuff because you don't know everyone and you don't live in a place where all people agree with you... which you or them can be wrong at any time.

Most open source designs are meant to be affordable to the users, this is the spirit of it by default. Of course you could build an expensive device for sure but most people when they read "open design" they would think it is "meant to be affordable"... I mean, like #1 requirement. Simply because there are tons of products that works perfectly out there so functionality is not the key factor. Take Dave's power supply design for example, it is very cheap and efficient enough right? maybe I compared this design to it somehow. I guess that uSupply will cost 100$ or so... but your supply will cost at least 400$ if you really want to sell it. And my question is that do you really accept that? maybe it is ok to you and you think it is a good idea... or maybe you don't care about if 10 people made it or 1000.

My question was very normal but you took it personal for some unknown reason.

Good job and keep doing what you think it is good.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: alexanderbrevig on September 05, 2016, 07:43:33 pm
No one said open source has to be cheap or just good enough.
This project is more like https://www.apertus.org/ (https://www.apertus.org/) in that it tries to have a more no-compromise approach. For some, should be most, having access to - and control over - the firmware is worth very much.

prasimix did not make this for you or me, he probably made it for himself and his colleague. Then he is generous enough to let all of us benefit from all his hard work. Excellent :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: VEGETA on September 05, 2016, 08:31:35 pm
No one said open source has to be cheap or just good enough.
This project is more like https://www.apertus.org/ (https://www.apertus.org/) in that it tries to have a more no-compromise approach. For some, should be most, having access to - and control over - the firmware is worth very much.

prasimix did not make this for you or me, he probably made it for himself and his colleague. Then he is generous enough to let all of us benefit from all his hard work. Excellent :-+

Actually, not quite. Open source by default is affordable, but as I said previously, it can be pricey. It is just the default of being cheap and publicly affordable. I repeat, I didn't say it "must" be.

Sharing designs is good but I don't know if it is good if no one will benefit from it or very minimal amount of people. It is the designer's choice after all and no one prevents him from sharing his expensive design. I just put a simple traditional (and very essential) question and got a tsundere response. That was not expect. :-DD
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kaevee on September 05, 2016, 09:24:13 pm
No one said open source has to be cheap or just good enough.
This project is more like https://www.apertus.org/ (https://www.apertus.org/) in that it tries to have a more no-compromise approach. For some, should be most, having access to - and control over - the firmware is worth very much.

prasimix did not make this for you or me, he probably made it for himself and his colleague. Then he is generous enough to let all of us benefit from all his hard work. Excellent :-+

Actually, not quite. Open source by default is affordable, but as I said previously, it can be pricey. It is just the default of being cheap and publicly affordable. I repeat, I didn't say it "must" be.


I have been using open source technologies in my day job since 1995. I have seen this misconception of open source is cheap. It is far away from truth. Total cost of ownership of solutions built around open source technologies is comparable to closed source / proprietary solutions. Open source can be cheaper if used in large volumes. For example, companies like Yahoo! (FreeBSD) and Google (Linux) have exploited the open source operating systems to their advantage. They have definite cost advantage as they run thousands of servers.

It holds true even for end user applications. For example, there is a cost associated to use OpenOffice/LibreOffice in the place of Microsoft Office even though it is a free download. Training people to use open source software will cost money and time.

Open source is all about freedom, missed by most people. Independent software vendors can no longer hold one hostage with closed source or proprietary solutions. Most open source licenses allow one to do whatever he/she wants as long as they don't try to convert it into a closed source solution. There are few licenses which allows one to convert into closed source solution if one acknowledges the original developer in their license. Apple's Mac OS X, based on Darwin is a great example. This freedom is not easy to come by and to be cherished and nurtured by all.

Venkat
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 05, 2016, 09:39:13 pm
Look. Enough is enough. Lets all cool our heads. Calm down.

Can we please get back on topic here.

Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: void_error on September 05, 2016, 11:39:57 pm
Look. Enough is enough. Lets all cool our heads. Calm down.

Can we please get back on topic here.
Yeah, good idea.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: timgiles on September 06, 2016, 06:06:19 am
Updated BOM (I switched the two resistors in my version as well) with Mouser part numbers and link to Mouser Project uploaded to Github. I also corrected the link to TME in the readme.

Please note my message above, I have where ever possible selected the exact same component. I will (unless someone else wants to!) do a follow up that adds the 'cheapest acceptable' components as well. There are some high precision resistors where some might want to spend more to get higher precision and lower TC. So - please do not take this as a definitive Mouser list of components!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: timgiles on September 06, 2016, 06:17:17 am
For those interest: Missing ICs in Mouser

Analogue Devices ADG465
LTC 3864EMSE#PBF

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on September 07, 2016, 01:29:01 am
Hm, interesting. So neither Analog/LTC merge will not improve situation here :). Anyway I added your changes into Master branch, made correction for wrong Farnell parts and refomat document that everything is easier for printing.
Title: Arduino Shield assembling
Post by: prasimix on September 07, 2016, 02:46:23 am
Until now I assembled three sets. Lots of soldering, but that is really relaxing. There is a few thing that require additional attention so I'll try to create something like "building instructions" page that could help in the process of assembling. In the meantime I'd like to share few things on the Arduino board that should be taken into account immediately:

1. Additional capacitor is recommended. There is no place on current PCB revision but it's simple to add it like this:

(http://i.imgur.com/tmcqLP3.jpg)

2. The Ethernet connector (X18) has to be right angled otherwise it will collide with CH1 heatsink :(. But, when right angled connector is used as on the picture below there is no possibility to put a screw to fix TFT display.

(http://i.imgur.com/anQMkkL.jpg)

Fortunately that is not a big issue since TFT is fixed on all four corners because of 11 mm spacers:

(http://i.imgur.com/4qcOmVt.jpg)

3. Push-in connectors (X12, X14) are 4 mm apart from front panel surface. That does not mean that their pins are not accessible. It's more a question of visual appearance and you can fix that by modified cheap DIL16 sockets. You need to cut it since distance between pin rows in not 300 mils. You also need to adjust their height to 4 mm (my version is 5 mm). That can be done in a matter of minute using sandpaper.

(http://i.imgur.com/Pz9yVbF.jpg)

X12 and X14 are not soldered on the PCB but inserted in modified sockets:

(http://i.imgur.com/JNIb6n3.jpg)

... and the end result looks like this:

(http://i.imgur.com/F9MFGaj.jpg)



Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: kaevee on September 08, 2016, 12:45:29 am
For anyone ordering on DigiKey

Item No 9 in consolidated BoM is

http://www.tme.eu/en/details/cl21c121jbannnp/0805-mlcc-smd-capacitors/samsung/ (http://www.tme.eu/en/details/cl21c121jbannnp/0805-mlcc-smd-capacitors/samsung/)

Where as in DigiKey it is

http://www.digikey.com/product-detail/en/samsung-electro-mechanics-america-inc/CL21C121JBANNNC/1276-1768-2-ND/3887426 (http://www.digikey.com/product-detail/en/samsung-electro-mechanics-america-inc/CL21C121JBANNNC/1276-1768-2-ND/3887426)

Regards,

Venkat

Title: Building instructions
Post by: prasimix on September 11, 2016, 02:09:16 am
I added a new folder on GitHub called Building instructions (https://github.com/eez-open/psu-hw/tree/master/Building%20instructions). It's a work in progress. You can find there also images of PCB's layers with values displayed if you don't have Eagle nor want to install its free version only for this project.

To stay informed about changes in this folder simple subscribe (https://github.com/eez-open/psu-hw/subscription) to project's psu_hw repository.

Title: Working with BOM
Post by: prasimix on September 12, 2016, 04:09:26 pm
Dear all, recently few people started to work on improving initial BOM by adding new suppliers and finding mistakes. I started to receive multiple comments and suggestions via email and PM. To make a whole process more transparent I'd like to ask you to start using GitHub's Issue (https://help.github.com/articles/about-issues/) reporting and Pull request (https://help.github.com/articles/about-pull-requests/) features. There we can discuss all issues in a more structured way and have a history of what has been done.

I'd also like to encourage all who find this project interesting to subscribe to project's repository (psu_hw (https://github.com/eez-open/psu-hw)).

Thanks!
Title: Group buy by crowdfunding
Post by: prasimix on September 17, 2016, 07:36:57 pm
Hi everyone, I was thinking how to organize next group buy since people still coming and asking for it, and I decided to try to make it as a crowdfunding campaign. A Crowdsupply (https://www.crowdsupply.com/envox/eez-h24005) platform is selected, and I'd like to offer various options starting with bare PCBs. Maybe a "kit" version that include assembled modules, enclosure and other items required to get a completed unit should be a "central/highlighted pledge". Why not complete unit? Because it require CE and FCC certification that cost a lot and that could be an option only if enough backers shows interest. I'm aware that passing such certification with the current solution could be very challenging since e.g. for lowering a cost I didn't use 4-layer PCB for the Power module where is SMPS pre-regulator. It's also questionable how "noisy" are selected TFT display and Arduino Due "clone" (eBay-grade), etc.

Anyway, this campaign similar to the first experimental group buy (thanks everyone for your support!) is not profit driven, since the main idea is to promote open hardware solutions and try to decrease total cost as much as possible. Therefore if more funds will be raised, a better offer will be, and eventually we can ends up with completed and CE/FCC approved unit. Hopefully someone will jump in with review of what is already done, and what is a chance for existing design to pass EM compliance testing in the first place, or if chances are slim, what to change and prepare a next revision of the Power board with e.g. 4-layers and some extras to increase possibility to pass that testing without much hassle.

Your inputs are, as always, highly welcomed.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: timgiles on September 21, 2016, 03:03:08 pm
Hi,

I would certainly like an option where the 'big' items such as the case, PCB, TFT and heatsinks can be ordered as a pack. Also include some of the more expensive components that have a reasonable 'bulk' discount, which as a single purchaser I am unlikely to use up in a reasonable time. In terms of all the passives, leave them out unless you want to produce a whole kit. Some of the connectors and other mechanical components can be hard for some to find the exact ones needed.

Good luck with everything.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 21, 2016, 04:56:30 pm
The "kit" version should be something like this:

1. Enclosure + heatsinks
2. Arduino Shield module assembled
3. AUX power supply module assembled
4. Power modules (x2) assembled
5. AC/DC power adapter x 2
6. TFT touchscreen display
7. Wiring harness
8. Fan, AC inlet, bolts, nuts, spacers, etc.
9. Arduino Due

That has to be accompanied with building instructions (web pages and few video tutorials). Maybe 5 should be optional for people who already have some suitable toroidal transformer (they also need to follow Hack #1 (http://www.envox.hr/eez/bench-power-supply/hacking-area.html#hack1) to use AC instead of DC input on Power modules).

Above mentioned list represents all required items to build a fully functional unit. Due to that it seems that such offer become subject for FCC certification. Only possibility to skip in this early stage such certification and makes a whole thing more affordable is to use "subassembly" model (see e.g. here (https://www.sparkfun.com/tutorials/398) or here (http://www.emcfastpass.com/fcc-rules-kits-subassemblies/)). In that case few items have to be removed from the above mentioned list, for example 5 and 9.

In summary, I found that neither assembled unit nor complete kit can be publicly offered without FCC certification. Actually CE marking is even bigger issue because it seems that the cost of certified lab here in the EU is much higher then in the US for FCC marking. Therefore the campaign's first milestone fund projection has to be based on few parts (e.g. bare PCBs + TFT + enclosure). If it attract more backers we can starts with preparation for certification (that means having ready another revision of Power module with 4-layer PCB, test radiation at home using SDR, etc.).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kolesar007 on September 21, 2016, 05:23:00 pm
I already have my kit ;).
Now I must check and sort all components, then order some missing parts from fernell and then find some time(most difficult part :) ) to put whole thing together.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Aigor on September 21, 2016, 05:29:46 pm
Same mine job :D

Inviato dal mio Redmi Note 3 utilizzando Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Mihkel on September 27, 2016, 06:09:16 am
Hi Guys. To the people that have their psu built. Where did you get your parts from?

Prasimix: with the group buy planed. Is that for a complete kit?

I think that will be impossible. Too many parts for making a kit. Maybe with THT but not SMT parts. At least that is beyond my current apprehension of electronic kit. When I think about group buy that is primarily for specific parts like PCBs, enclosure, TFT display, maybe some ICs like W5500, etc.

I really try to keep up to date BOM that can be found here (https://github.com/eez-open/psu-hw/tree/master/Consolidated/BOM). Yes, I know that choice of suppliers is not optimal. I found e.g. just recently that Farnell don't want to sell to private persons (only to companies). TME cover most of the world but I don't know what is shipping cost outside Europe where is bargain.
If anyone wants to compile e.g. Digikey/Mouser/Arrow or anyone else I can assist if some doubt arise and we can merge that BOM with existing one and make it available on the GitHub to everyone.

Hi Guys. As I plan to build one PSU for myself also, I did a "little" price comparison to find the best prices for needed components. I added 2 more suppliers to the BoM, Digi-Key and RS Components, with relevant component part numbers. I also added some parameters to the components descriptions, corrected few mistakes in BoM and suggested few other things to Prasimix. Now I have sent the revised BoM to Prasimix for checking and I hope that he will release it soon on Github.

Now in short: I added the best prices I found for every component of each supplier and found that the total cost of components listed in BoM for individual buy is currently around 255 €  (without VAT and shipping costs). The calculation does not include PCB's, TFT Display, Arduino, Meanwell PSU's, AC Input Option components and Custom Enclosure. In calculation I took into account that many components have MOQ (Minimum Order Quantity) and if you are buying components for one PSU, you have to buy some extra components. Of course Digikey and Mouser are selling all components in one piece also, but sometimes is cheaper to buy 10 pcs of the same component from another supplier.

And, as I promised (in post 411), I did also the calculation for Group Buy. So, if we are buying components for 10 sets, the price will be much "better", currently around 195 € (without VAT and shipping costs). Now, IF we go forward with the Group Buy, someone has to buy the components, repack whole this mess and send the packages to the participants. For repacking we need also a bunch (ca 1000 pcs) of ESD bags, what also cost money. I have calculated that I can handle all that mess and the final cost for one set will be 210 € (this covers all shipping costs from suppliers to me and cost of ESD bags). Shipping cost from me to you I will check later. And for people in EU country, VAT will be added also.

But first we need to get together 10 people at least to go forward. So, please let me know how many of you are interested in Group Buy.
I'm doing this because I'm personally also interested to get the components with better price. So, 9 more people please. Who's in?  :popcorn:
If you have any questions, please don't hesitate to ask.

Cheers,
Mihkel
Title: Updated BOM, git repository clean up
Post by: prasimix on September 29, 2016, 08:54:08 am
A new BOM is just uploaded on the GitHub. Mihkel did a great job reviewing timgiles Mouser list, and he added RS components and Digikey. Few capacitors are also changes as it's noted at the end of the document.
Title: Power board corrections...
Post by: prasimix on September 29, 2016, 08:04:10 pm
During the assembly and testing two issues are found on the Power board that will require PCB modifications. Fortunately both can be done without considerable effort or special skills. The simpler one is related to radiated EMI. One of the PCB’s mounting holes is wired to the protective earth potential and the mounted heatsink for the Q4 become also on that potential when it’s fixed on the PCB. Our intention was to attenuate EMI in that way, but the end results is quite contrary when the Power board is mounted into metal (conductive) enclosure! It seems that in that way a whole enclosure is earthed not on one but on three different point (one close to the AC inlet and two via above mentioned wiring of the heatsink) and that generate ground loops.
If you are going to use metal enclosure, it is advisable to simply cut the earth trace that leads to the mounting hole which is near L2 power inductor. Use miniature drill with a diamond mill for that.

(http://i.imgur.com/TzNBMCIm.jpg)

Another issue is connected with selection of the voltage programming source that in our case can be internal (DAC output, IC11) or external signal input (+2.5 V full scale) available via miniature push-in connectors located on the Arduino Shield (X12, X14). Due to the mistake on PCB layout only internal programming (that is default) is possible. To overcome this issue we need to cut U_SET_OUT trace that goes to R52 and connect it to R81.

(http://i.imgur.com/YrCUwP9l.png)

A thin wire (e. g. for wire wrap) about 5 mm long is needed to be soldered (see below, pos. A) and PCB trace has to be cut (pos. B).

(http://i.imgur.com/H9REDyTm.jpg)
Title: Wire harness
Post by: prasimix on October 01, 2016, 07:54:20 pm
I added a new section here (http://www.envox.hr/eez/bench-power-supply/wire-harness.html) about wire harness that should simplify cabling of the PSU. I don't know if specification format is satisfactory, so your feedback is welcome. A PDF document is also attached, and few pictures from it:

(http://i.imgur.com/wAXAGFvl.jpg)

(http://i.imgur.com/9ajmUrEl.jpg)

Title: Wire preparation and pin assembly
Post by: prasimix on October 01, 2016, 08:06:22 pm
For wire cutting, insulation removing and crimping I found very useful the following tools:
Title: Firmware M2 preview ...
Post by: prasimix on October 02, 2016, 08:21:20 am
The firmware M2 is almost finished and what is covered with it can be found on the following two videos:

https://www.youtube.com/watch?v=b-SwEfrz-Qk (https://www.youtube.com/watch?v=b-SwEfrz-Qk)

https://www.youtube.com/watch?v=mfQvZW9PMwk (https://www.youtube.com/watch?v=mfQvZW9PMwk)
Title: Additional cooling ...
Post by: prasimix on October 05, 2016, 09:27:06 pm
My initial intention was to additionally lower temperature of power pre-regulator by adding "thermal bridge" between bottom PCB side and post-regulator heatsink (for Q4 power mosfet). That will affect cooling fan operation since it could work with lower speed (and less audible noise) to manage the same temperature.

I found that use of conductive thermal pad e.g. aluminum block with PCB side insulated (that some of you got with customized enclosure) is a really bad choice since it will drastically increase switching noise!

If you'd like to improve cooling you can use a piece of 5 mm thick silicone thermal pad mounted. Channel temperature that is measured with NTC1 can be lowered in that way significantly. With e.g. 20 mm wide pad  it’s possible to achive 6-7 oC temperature drop on the max. load!

(http://i.imgur.com/VHdIArCl.jpg)

EDIT: search on eBay, AliExpress, etc. for e.g. 100mm x100mm x 5mm GPU RAM IC Chip Cooler Conductive Silicone Thermal Pad. It should be less then 10 USD.
Title: Firmware M2 is released!
Post by: prasimix on October 08, 2016, 04:59:41 am
Dear all, I'd like to inform you that Firmware M2 is released. It's the first version that support local console (TFT color touchscreen display) and use new infrastructure for building all pages and menus that allows us to almost instantly change anything on the display. Therefore all GUI usability issues, mistakes and non-senses can be simple fixed and you can test what is done so far using software simulator (download here (http://www.envox.hr/eez/component/jdownloads/download/1-software-simulator-for-windows.html)) even without having physical device on disposal (you have to use mouse instead of finger tip to navigate thru menus). Your feedback is welcomed.

(https://raw.githubusercontent.com/eez-open/psu-firmware/master/doc/simulator_screenshot.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 11, 2016, 04:02:03 am
Hello everybody,

Im making also good progress with my psu.
I would like to ask if someone knows this software ?
http://www.aktakom.com/support/software/index.php?SECTION_ID=479&ELEMENT_ID=33438 (http://www.aktakom.com/support/software/index.php?SECTION_ID=479&ELEMENT_ID=33438)

This is looking as a software which i think has everything which is need to control a ps.
Even drawing of curves are integrated.
Has someone experience with this sw ?
I try to download it but it is only possible if you register a valid serial number of a
Aktakom power supply.

I will make some photos in the next days when I finished my display ui :)

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 11, 2016, 08:17:59 am
Hi Sven, it looks like SCPI controller application for Windows. Don't know why you'd like to use it since:
Quote
This software is paid-for and its cost is included into device value.
That puts it in the same class with the many other commercial SCPI controller application.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 14, 2016, 07:23:03 am
Hi

I want to ask about how did you develop the GUI part of this project including the software you used and the circuit regarding the display. I see a lot of solutions but they are pricey and more oriented towards professionals.

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 14, 2016, 08:06:35 am
We are using EEZ Studio, a visual toolkit that is still under development but is now completed enough that we are using it actively to create all pages and menus for firmware (M2 and beyond). I promised its presentation before summer but due to lack of resource I still don't feel comfortable to make an introduction.
In short, it enables working with portrait and landscape display, has WYSIWYG editor that simplify massively arrangement of the displayed page items, support different type of bitmap fonts and symbols and generate code that can be combined/called directly with other Arduino sketches. It's cross-platform (Win, Linux, Mac). I can show you some screenshots, like:

Storyboard where you have on one screen all pages, to get a "big picture" and one click navigation to the page of interest:

(http://i.imgur.com/qAqmOJs.png)

... or page editor with all page items, listed Page structures, available Widgets that can be used and Properties of the selected item:

(http://i.imgur.com/PKqwhLO.png)

... or fonts management:

(http://i.imgur.com/DAxAisy.png)

Actually, this power supply project should become a reference design to show what is possible to do with the EEZ Studio. If we found enough resources idea is to approach something similar to Itead Nextion and 4D Systems, but in this case as open hardware and open source, with possibility to support e.g. Energia, mBed, etc. in addition to Arduino code generation (if we make communication e.g. via serial interface than it will become completely platform independent).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 14, 2016, 12:00:52 pm
I am surprised that you got this tool designed. The GUI designer is great really! I wanted something to work with PIC micros or some cheap ARM ones. looking forward for this to be released. thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 15, 2016, 06:37:42 am
Hello everybody,

I'm using the itead displays and it is really simple to create difficult gui's.
Only problem from my side of view is the problem that the Fonds looking a little bit crappy.
They are really cheap and I spend to 5" displays, one for each channel on my psu 32volts 10 amps. 👍
Tomorrow I will post some screenshots from my power supply display.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 21, 2016, 05:36:34 am
Hello everybody,

a Little later, but here are some screenshots.

cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 21, 2016, 10:28:52 pm
Hello everybody,

a Little later, but here are some screenshots.

cheers

Sven
Wow Electronix
Nice GUI.


Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 22, 2016, 02:36:34 am
Just tried to use the BOM upload feature in Digi-Key and 3/4 of the parts wants you to order a whole reel. Comes up with Note and asking to select a different option. Also trying to get the E14 BOM uploader to work. keeps timing out. Any one else have any issues or is it just me?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 22, 2016, 03:04:02 am
OK. I give up. If there is a parts group bye please let me know. Thanks. I thought there a post about it. Not sure if it has gone ahead yet. Cheers
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 22, 2016, 03:06:25 am
Hi strada,

thanks. I know the pictures are not the best. I will make some new ones, also when the ps is in action so that you and the others can see a little bit more on the pictures :)

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on October 22, 2016, 10:44:41 am
Those screenshots of the firmware look really good.   I would love to start building a unit.  I guess I'll head over to GIT and start the reading.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 05:57:06 pm
Those screenshots of the firmware look really good.   I would love to start building a unit.  I guess I'll head over to GIT and start the reading.

If this comment is related to the screenshots presented by Electronix take into account that he is selected different approach and you cannot find that in the Firmware M2 (https://github.com/eez-open/psu-firmware/releases/tag/m2). Hopefully he'll share his project soon on GitHub or someplace else.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 22, 2016, 06:14:19 pm
A fork perhaps?

Sent from my SM-G925I using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 06:32:22 pm
Maybe, but hardly :). Electronix is using Nextion 5" (https://www.itead.cc/nextion-nx8048t050.html) display that comes with 800x480 resolution and dedicated MCU/GPU. That gives you incomparable performance over Arduino Due which we pushed to the limits since it has to take care of all PSU control and drive 320x240 display with touchscreen input. Possible issue with Nextion is that is not open source and you are depending on the manufacturer's imagination and speed of adding new features in the Nextion Editor (https://www.itead.cc/wiki/Nextion_Editor_Quick_Start_Guide). But, Electronix shows that many things is already there and that it looks like solid foundation for project like programmable power supply. Mentioned Editor is in fact a proprietary/closed source equivalent of the open source EEZ Studio that I announced recently.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 22, 2016, 07:30:57 pm
Maybe, but hardly :). Electronix is using Nextion 5" (https://www.itead.cc/nextion-nx8048t050.html) display that comes with 800x480 resolution and dedicated MCU/GPU. That gives you incomparable performance over Arduino Due which we pushed to the limits since it has to take care of all PSU control and drive 320x240 display with touchscreen input. Possible issue with Nextion is that is not open source and you are depending on the manufacturer's imagination and speed of adding new features in the Nextion Editor (https://www.itead.cc/wiki/Nextion_Editor_Quick_Start_Guide). But, Electronix shows that many things is already there and that it looks like solid foundation for project like programmable power supply. Mentioned Editor is in fact a proprietary/closed source equivalent of the open source EEZ Studio that I announced recently.
Well as far i can see. The display from Nextion is no different to a FET or linear voltage reg?

So you are saying EEZ Studio is a competitor to said editor?

Sent from my SM-G925I using Tapatalk
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 07:41:22 pm
It's only a nice "presentation layer" and what will be displayed depends of firmware. Nextion has no clue what kind of circuit has to be controlled. Also if you need remote control (e.g. via SCPI (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-introduction.html)) that has to be written in firmware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 07:53:17 pm
So you are saying EEZ Studio is a competitor to said editor?

Cannot talk about competition since we're not going to play that game. Nextion is a proprietary solution that support their own family of TFT displays with HMI. The EEZ Studio is currently support one TFT display that is used in power supply project and can be extended over time with many others. It's also cross-platform with multi-language capability, not limited to Windows only.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on October 22, 2016, 07:55:09 pm
So you are saying EEZ Studio is a competitor to said editor?

Cannot talk about competition since we're not going to play that game. Nextion is a proprietary solution that support their own family of TFT displays with HMI. The EEZ Studio is currently support one TFT display that is used in power supply project and can be extended over time with many others. It's also cross-platform with multi-language capability, not limited to Windows only.
Sounds good

Sent from my SM-G925I using Tapatalk
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 22, 2016, 10:39:10 pm
Hi guys,

of course. When I have more time I will present more pictures and more details of this Project.
Regarding on the picture it is no fork, it the display protection foil on the display which have some bubbles :).
This week I was lucky cause a make a good deal to get an enclosure from metcase.
It is the unimet 6 I will use.
Some rare details of the project.
Two 5" nextion displays, each for one channel.
Two rotary encoders for mechanical enter of values.
Two cosel pba 300f-36 which can provide up to 36 volts at 10 amps.
These switching power supply's where controlled directly from my circuit so that the difference between in- and output voltage is max 1.5 volts.
Regulation of the entered voltage and current is analog and digital, cause this elaminates teparature drifts.
I want to have an exactly voltage 3 digits after decimal point. Even under load.
Using a 16 bit dac from analog devices it is the ad5689.
Using 24 adc from it it the ads 1256 for read back.
This components are all on one board.
Two of them where needed.
I must build the controller board with atmega25xx.
At the moment I use development board with atmega 16.
for the 5 volts of the controller board and power supply for the nextion displays I will use a small switching supply from meanwell 5 volts with 3 amps. The nextion consumes 500mA so.

Hope you have better overview what I'm working on.  ;)

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on October 22, 2016, 11:12:17 pm
Hi Electronix / Sven,
You have an interesting project. Could you please start a new thread/topic about it and post updates there. Its harder to follow your (and prasimix) updates when they are mixed in the same thread. Would be great.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 11:12:36 pm
Two 5" nextion displays, each for one channel.
Huh, that is massive! :o
Cannot imagine in this moment what can be done with 1600x480 screen resolution.

Regarding controlling board if you're going to use Arduino and Mega, I'd like to suggest to not waste money on it since Due is in same price range and many times faster! Where that could count? Definitely in OVP and OCP if no dedicated protection circuits exists and you have to accomplish that in firmware (with so fast ADC you can possibly manage to go well bellow 1 ms reaction time). Another benefit is that you can continuously send much more data over USB (and/or Ethernet if it's planned) to some remote place (if necessary).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 11:18:28 pm
Sven, did you forgot to mention isolation between channels and control board? Or this is a default and there is no need to be highlighted?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on October 23, 2016, 06:46:58 am
Hi prasimix,

no of course, the isolation is standard  ;) so mentioned it not extra.

I will have a look at the due.

Thanks prasimix
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 23, 2016, 08:51:46 am
Will your eez-studio gui software support creating modern-looking guis for say PIC MCUs?

Anyway, what is the generally used (free) choice for generic gui designs using PIC\STM32\... with traditional tft screens (not third-party ones)? I think of using a normal character LCD for my psu design but maybe use a tft for a v2 of it later on.

thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 23, 2016, 09:19:05 am
I will have a look at the due.

I forgot to mention one huge advantage of Due over Mega: SRAM and flash RAM capacity. Mega has really pathetic 8KB of SRAM. That seems a lot at the start, but when things starts to be complicated you can run out of memory pretty soon.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 23, 2016, 09:47:36 am
Will your eez-studio gui software support creating modern-looking guis for say PIC MCUs?

The EEZ Studio can support any type of GUI. The Nextion looks "modern" in comparison with what is currently implemented on the PSU for two simple reason: EEZ Studio's project file is generic (for example open one used for M2 GUI generation, link (https://raw.githubusercontent.com/eez-open/psu-firmware/master/psu.eez-project)) and is not related to Arduino. It's used to generate final code for the targeted platform (currently Arduino only). So it has potential to support many other IDE/platform including PIC, STM32, etc.. The "only" issue is our limited resources: if someone jump in who wants to add support for mentioned platforms that will speed up a whole process (we are still pretty busy with Arduino).

Anyway, what is the generally used (free) choice for generic gui designs using PIC\STM32\... with traditional tft screens (not third-party ones)? I think of using a normal character LCD for my psu design but maybe use a tft for a v2 of it later on.
I'm not aware of anything that is free or open-source (Nextion is free but works only with their displays). Maybe someone identified a solution that can recommend. I didn't check recently if e.g. Mikroelektronika (http://www.mikroe.com/) offer anything for free.
Title: Various items
Post by: prasimix on October 29, 2016, 10:34:07 pm
A small update that can be useful for people who already started to build their own PSU or are planing to do that.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 17, 2016, 03:35:14 am
I want to build my supply with the same method as yours without the use of LT3083 or any similar devices, I wanna use a mostfet as a switch but I also don't want to use a heatsink. My supply will be limited to 2A maximum but I wanna ask you how much is the drop voltage of your design?

I get the idea of using a pre-regulator to set the voltage at a level enough to regulate while being efficient enough. How much is the drop voltage that you are maintaining?

Plus, how does this achieve 0v output?

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 17, 2016, 03:54:02 am
It depends on which end of the scale you are (it's higher on the lower end) but in average it's about 2.5 V. It's depends of how you set post-regulator output tracking. I'm not using LT3083 and wondering how and where are you going to dissipate any significant difference between input and output power. If you have on the input e.g. 40 V and want to regulate it down to 5 V with 2A you have in worst case (pure linear design) to dissipate 70 W. If you put some switching regulator in between you can decrease that dissipation significantly (i.e. down to few watts distributed between switching and linear mosfet/bjt). If you don't like or want to avoid switching part then you could try with mag amp but for that solution you'll need bigger enclosure and custom made transformer or deployment of three transformers on the input.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 17, 2016, 04:01:04 am
Plus, how does this achieve 0v output?

By setting reference voltage for the voltage control loop to zero :). But, due to various offsets in that loop it's highly likely that control voltage has to go below zero otherwise you'll reach e.g. 10-40 mV at best without applying negative control voltage. That can be fixed with rising "reference ground" of the err op amp (IC6B pin 5 via R44 here (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B10%20Sheet%203of11.png)) for e.g. 100 mV (see IC7B).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 17, 2016, 04:10:29 am
It depends on which end of the scale you are (it's higher on the lower end) but in average it's about 2.5 V. It's depends of how you set post-regulator output tracking. I'm not using LT3083 and wondering how and where are you going to dissipate any significant difference between input and output power. If you have on the input e.g. 40 V and want to regulate it down to 5 V with 2A you have in worst case (pure linear design) to dissipate 70 W. If you put some switching regulator in between you can decrease that dissipation significantly (i.e. down to few watts distributed between switching and linear mosfet/bjt). If you don't like or want to avoid switching part then you could try with mag amp but for that solution you'll need bigger enclosure and custom made transformer or deployment of three transformers on the input.

I think you misunderstood me, I like the pre-regulator part and willing to use it, but I am asking about how much the pre-voltage gonna be regarding to your regulated linear voltage?

Like having a 5v output will require 7.5v input to the MOSFET, is that your case (2.5v dropout)? If so then I ask why didn't you make it like 0.5v only, by setting the pre-regulator to provide 5.5v to the MOSFET?

Also, will this give you true 0v operation?

I gave the example of LT3083 because it is the best IC to do so while achieving 0v without the use of any negative supply. I saw some ICs like this one (http://www.linear.com/product/LT3150 (http://www.linear.com/product/LT3150)) which has another idea, but I won't be using it (don't know how xD).

Your design is based on the basic op-amp configuration, so you can achieve 0v with it as long as you don't use any reference voltage. But the question is the drop voltage. I assume the type of the MOSFET is the answer, especially the Rdson parameter of it. Or maybe the minimum Vgs it needs.

So how did you deal with all that in your design?

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 17, 2016, 04:31:02 am
Lower voltage on the post-regulator is possible but with more difference you should get better performance with dynamic load.
Going down to zero is possible as I just described. Since in PCB version r5B9 offset of 100 mV is not added (IC7B) you can go down to 10-40 mV. Regardless of that you'll get zero when output is switched off (POST_OE is 0).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 17, 2016, 05:10:43 am
Well, 40mV is like 0v to me with no problems.

What are the issues with dynamic loads? you mean when load changes a lot?

let's say I put it to 2v... will that require a heatsink? 2v*2A (max for me) = 4W which is not small but is heatsink a must here? The housing I am going to use doesn't have an opening to mount heatsink and make it outside the box to send heat to the outside air. And a heatsink that is inside is no heatsink at all xD right? Not to mention that I will go all surface mount.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 17, 2016, 09:44:37 am
What are the issues with dynamic loads? you mean when load changes a lot?

Yes.

let's say I put it to 2v... will that require a heatsink? 2v*2A (max for me) = 4W which is not small but is heatsink a must here? The housing I am going to use doesn't have an opening to mount heatsink and make it outside the box to send heat to the outside air. And a heatsink that is inside is no heatsink at all xD right? Not to mention that I will go all surface mount.

4 W is big enough to deserve some kind of heatsink. But that is not all. You have to take into account dissipation on the switching IC, power mosfet, diode and inductor. Don't mount switching parts on the same heatsink with linear (post-regulator) parts otherwise you can expect increased ripple on the output that is coupled over heatsink. But if that is inevitable use silicon thermal pad beneath PCB sections of SMPS pre-regulator and main cooling surface (some kind heatsink or metal enclosure plate).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 17, 2016, 10:59:03 pm
Ok, so how about using this: http://www.digikey.com/product-detail/en/aavid-thermalloy/530614B00000G/HS278-ND/373766 (http://www.digikey.com/product-detail/en/aavid-thermalloy/530614B00000G/HS278-ND/373766)  ??

Put it for the Linear regulator (MOSFET) and use another one for the switching regulator too, will this be good enough without a fan or any air holes? putting the 2 of them on the same heatsink will short them for sure.

Maybe I will pick a package that has an exposed pad from the bottom which can be soldered on the board, then I will expand the copper for it so it can dissipate in the PCB itself. Connecting it to a small heatsink is going to be good enough I guess.

Finally, where did you get your enclosures custom drilled and made? it will be so expensive and that is why I chose a nice ready enclosure (plastic = can not be used as heatsink).

I guess a drop voltage of 1v is good enough, you think?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 17, 2016, 11:23:19 pm
For the beginning I don't know what circuit you are going to build. Is it the Power board that is part of this project or something else?
With heatsink that you suggested you'll get over 85°C for dissipated 4 W on it's surface without forced air cooling since it's thermal resistance is high (16.7°C/W). Doesn't sounds good, but if it's connected with some other metal surface or additionally cooled with forced air that could be something completely different.

Metal enclosure used here is custom made by Varisom (http://varisom.com/) in Portugal.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 18, 2016, 12:57:45 pm
For the beginning I don't know what circuit you are going to build. Is it the Power board that is part of this project or something else?
With heatsink that you suggested you'll get over 85°C for dissipated 4 W on it's surface without forced air cooling since it's thermal resistance is high (16.7°C/W). Doesn't sounds good, but if it's connected with some other metal surface or additionally cooled with forced air that could be something completely different.

Metal enclosure used here is custom made by Varisom (http://varisom.com/) in Portugal.

Well, I want to make a linear lab supply with 2 li-ion batteries inside it... so it is like what you did here, only smaller and more specific to my vision. I have a plastic enclosure and all my stuff will be surface mount, including the linear and switching regulator themselves. What do you suggest for a heatsink or some other similar solution?

I didn't suggest that particular heatsink but I asked you if this is the only affordable and suitable solution for heatsinking smd parts. putting a fan will make it so noisy and maybe heavier than I wanted.... or not?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 18, 2016, 06:58:14 pm
If you are going to power it with batteries then fan doesn't look like a good option since it will shorter battery life to some extent. You are also not to going use a metal enclosure, that makes cooling even more challenging otherwise you could do something that Dave presented in video #744 (another video on this topic is #105). Maybe you will find a solution with piece of Aluminum plate and silicon thermal tab in-between PCB and plate.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kleinstein on November 19, 2016, 12:32:06 am
With battery operation one could go a little lower in the drop for the linear stage, especially if the pre-regulator is relatively fast. For a mains operated version efficiency is not that critical.
For cooling there would still be the option to have a fan, but only operate it if the temperature of the heat sink is high. Even a small fan can make a lot of difference.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 19, 2016, 08:14:27 am
I want something that is a standard, not a one-time hack. As I plan for the future to sell these units if I am lucky enough to make it worth buying xD. Anyway, I think I can make it 1v linear difference which will make a maximum power dissipation of around 2W.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 19, 2016, 11:55:54 am
I read about using a MOSFET (N type) and there seems to be a disadvantage of using it over the darlington npn bjt, which is the dropout voltage. The gate must be higher that the input for this to work which won't be good for a 1v dropout right? I read that your mosfet has a Vsd (diode forward) of 1.3v, is that related to what I said?

I know that if drop voltage is made to be 1v then a max current is 2A then max power dissipation will be 2W which is just great. But what about Rdson parameter here?

So maybe the core of my question is what determines the minimum achievable dropout for a certain mosfet? is it the amount of Rdson or some other parameter?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 19, 2016, 07:37:40 pm
If you are going to build portable power supply with battery source then I don't know if post-regulator based on NMOS is good choice. It's gate voltage and input voltage (on the drain) cannot be the same. Actually if it's the same then max. output voltage will be for 4-5 V lower then input because that is how NMOS works. So if you make e.g. boost pre-regulator that provide 1-16 V for 0-15 V on the output (your 1 V difference) then you need to generate in parallel gate bias that is 21 V or higher or "floating" +5 V or higher that will added on top of pre-regulator output voltage. Otherwise for 10 V on the post-regulator input (drain) you'll get 6 V or lower (depends of load) on the output, and yes that difference has to be dissipated on the NMOS.
In my case I don't have that problem, I have on the input +48 V that is provided to Q7 (DC_OUT in schematic (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B10%20Sheet%203of11.png)) that give me about +6 V difference in the worst case (when max voltage is programmed).

Question is why you are selected this design for your project? If that is for analog part or in the first place for the digital control? If digital control is attractive for you, you can still use it to work with completely different analog/linear part of the solution.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: technix on November 20, 2016, 04:49:23 am
If you are going to build portable power supply with battery source then I don't know if post-regulator based on NMOS is good choice. It's gate voltage and input voltage (on the drain) cannot be the same. Actually if it's the same then max. output voltage will be for 4-5 V lower then input because that is how NMOS works. So if you make e.g. boost pre-regulator that provide 1-16 V for 0-15 V on the output (your 1 V difference) then you need to generate in parallel gate bias that is 21 V or higher or "floating" +5 V or higher that will added on top of pre-regulator output voltage. Otherwise for 10 V on the post-regulator input (drain) you'll get 6 V or lower (depends of load) on the output, and yes that difference has to be dissipated on the NMOS.
In my case I don't have that problem, I have on the input +48 V that is provided to Q7 (DC_OUT in schematic (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B10%20Sheet%203of11.png)) that give me about +6 V difference in the worst case (when max voltage is programmed).

Question is why you are selected this design for your project? If that is for analog part or in the first place for the digital control? If digital control is attractive for you, you can still use it to work with completely different analog/linear part of the solution.

You can use a separate gate drive rail, either at a fixed higher voltage, or using a tracking regulator to give you a few volts above output.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 20, 2016, 08:46:43 am
If you are going to build portable power supply with battery source then I don't know if post-regulator based on NMOS is good choice. It's gate voltage and input voltage (on the drain) cannot be the same. Actually if it's the same then max. output voltage will be for 4-5 V lower then input because that is how NMOS works. So if you make e.g. boost pre-regulator that provide 1-16 V for 0-15 V on the output (your 1 V difference) then you need to generate in parallel gate bias that is 21 V or higher or "floating" +5 V or higher that will added on top of pre-regulator output voltage. Otherwise for 10 V on the post-regulator input (drain) you'll get 6 V or lower (depends of load) on the output, and yes that difference has to be dissipated on the NMOS.
In my case I don't have that problem, I have on the input +48 V that is provided to Q7 (DC_OUT in schematic (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B10%20Sheet%203of11.png)) that give me about +6 V difference in the worst case (when max voltage is programmed).

Question is why you are selected this design for your project? If that is for analog part or in the first place for the digital control? If digital control is attractive for you, you can still use it to work with completely different analog/linear part of the solution.

You can use a separate gate drive rail, either at a fixed higher voltage, or using a tracking regulator to give you a few volts above output.

YES! this was my idea that I hoped someone will say it (So I won't look like an idiot xD). I thought of using a NMOSFET as a switch but the pre-regulator is a SEPIC one to be able to go above or below the 2 18650 batteries voltage (8.4v = nearly 8v) which will be the input of the mosfet linear regulator. This will be say 1v more than the required output and will be given using the microcontroller.

Now for the mosfet gate, I won't take it from the same input rail (the SEPIC one), but rather an external one. This one is a little boost converter making a 30v or so voltage to power op-amps and such stuff in the circuit, which is not that high current one so any cheapy will be enough here.

You said it has to be more than the mosfet input level, which is the case here as 30v will be more than the maximum of this power supply which is 20v. However, should it also be tracked? I mean will it generate significant losses and power dissipation?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 20, 2016, 09:23:18 am
You said it has to be more than the mosfet input level, which is the case here as 30v will be more than the maximum of this power supply which is 20v. However, should it also be tracked? I mean will it generate significant losses and power dissipation?

No, the gate bias don't need to be tracked.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 20, 2016, 05:20:21 pm
Ok so a 25v constant voltage is suitable (assuming the mosfet Vgate can handle it) for this, and by doing that I can achieve 1v dropout right? Now the rest is to get a circuit to activate the gate.

How about connecting the 25v to a transistor BJT type and connecting its other end to the gate of the mosfet, now the gate of the bjt is connected to voltage set op-amp (0-20v for 0-20 output)... I have this plan in mind, will it work?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 21, 2016, 11:00:28 am
Ok so here is my trial:

(http://i.imgur.com/yyRziGj.jpg)

it gives awesome results in LTSpice BUT WITHOUT LOAD!!

When I put loads from 1R to 10K it won't regulate at all! it outputs 4mv or something. Can you describe what did i miss? thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on November 21, 2016, 11:06:45 am
Vegeta: I'm all for seeking advice and all. I just think you should have your own thread about this...... Just saying.

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 21, 2016, 02:14:26 pm
I just think you should have your own thread about this...... Just saying.
Agreed. More people would be able to help then. Maybe start a thread in the beginners section of the forum?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 22, 2016, 06:03:41 am
Ok, but I asked about the core things in this subject and did my best not to stray out. Because I wasn't active the time these circuits were discussed here. If I get the answers for the last questions above, I will start my own for future questions. xD
Title: 3rd channel for digital circuits and USB charger
Post by: prasimix on November 23, 2016, 12:07:27 am
While firmware is progressing to support all hardware functionality I was thinking about some new features that can be added to the existing circuits. On of them is to add 3rd channel that could be used for supplying digital circuits with up to 5 V and 25 W. That low voltage channel could be used as "high power" USB charger that means up to 2 A of charging current with detection of plugged device to offer max. possible output current.

One of the challenge was to try to house it in already pretty packed enclosure. I found that is indeed possible if existing AUX PS module (http://www.envox.hr/eez/bench-power-supply/psu-auxiliary-supply.html) is upgraded with more capable AC/DC module and that Arduino Shield (http://www.envox.hr/eez/bench-power-supply/psu-digital-control.html) is expanded to carry 3rd channel based on sync buck for lower power dissipation (and easier cooling).
Mean Well has 30 W module IRM-30-12 that is compact and affordable (shown below):

(http://i.imgur.com/n1Q5TPs.png)

Of course it is much bigger then existing 5 W module therefore a new PCB layout is required. Since AUX PS module is mounted directly on the rear panel with 5 screws we need to maintain the same positions of the mounting holes and new PCB should looks like this:

(http://i.imgur.com/sOkL3JRl.png)

(http://i.imgur.com/0LwG8YMl.png)

(http://i.imgur.com/hJRYK5Cl.png)

Now +12 V will be shared between +5 V buck for powering Arduino Shield and rest of 25 W will be delivered to the 3rd channel. For that I changed existing 10-pin IDC connector with bigger one (16-pin) that is pin compatible with previous design. Also I decided to select smaller and cheaper power inductor for the +5V buck and use separate AC output connectors for Ch1 and Ch2 AC/DC modules. Since IRM-30-12 is bigger then previous AC/DC module I also put pads for 5 W and 7.5 W modules.

I'll present the 3rd channel circuit in the next post.


Title: Re: 3rd channel for digital circuits and USB charger
Post by: void_error on November 23, 2016, 02:48:31 am
While firmware is progressing to support all hardware functionality I was thinking about some new features that can be added to the existing circuits. On of them is to add 3rd channel that could be used for supplying digital circuits with up to 5 V and 25 W. That low voltage channel could be used as "high power" USB charger that means up to 2 A of charging current with detection of plugged device to offer max. possible output current.

Neat! I was also thinking of adding an extra channel with an USB charging port to my own PSU which is still far from completed but mine wouldn't be isolated from mains earth. I'm curious how you'll do the plugged-in device detection. From my experience some devices increase their drawn current until the voltage drops to a predetermined level and they assume that's the maximum current they can draw.
Title: Re: 3rd channel for digital circuits and USB charger
Post by: prasimix on November 23, 2016, 02:57:02 am
I'm curious how you'll do the plugged-in device detection. From my experience some devices increase their drawn current until the voltage drops to a predetermined level and they assume that's the maximum current they can draw.

Initially I planned to use few analog switches, DAC and ADC inputs of the MCU to accomplish that but then gave up and use standard solution for it such as TPS2511 (http://www.ti.com/product/TPS2511) that comes in MSOP8 package and detect devices such as Apple, Samsung and Sony for charging current of up to 2 A. MCU based solution is more flexible and "future proof" if someone introduce new level on D+, D- lines for charging purpose but I believe that chosen port controller will do the job for a while. Anyway I'm going to test that and let you know.
Title: Re: 3rd channel for digital circuits and USB charger
Post by: prasimix on November 23, 2016, 11:48:42 pm
(http://i.imgur.com/BrmvWXH.png)

Here is proposed circuit for 3rd channel that can be also used as a USB charger. A SMPS controller LT3741 (http://www.linear.com/product/LT3741) (IC35) is used that offer current limitation and is synchronous buck therefore overall thermal dissipation should be smaller. Selected mosfet (Q6, Q31) comes in interesting LFPAK package that is, pretty small, simple for soldering and have good thermal resistance.
Projected output voltage when calibrated should be 6 V and current up to 5 A on the CH3 binding posts or 2.6 A on the USB A socket while used as a USB charger. Max. power will be limited by software to 25 W.
For voltage and current control I first planned to use Arduino DUE DAC outputs but it's too limited (cannot without extra circuit set voltage down to 0 V) and I ended up with SPI 12-bit dual DAC MCP4822 (https://www.microchip.com/wwwproducts/en/MCP4822) that has internal voltage reference (2.048 V). It's possible to use the 10-bit version that is pin compatible (MCP4812).

Voltage programming is accomplished by injecting DAC output 2.048 to 0 V for 0 to 6.3 V via R185. For current programming another DAC output is used. Its 0 to 1.5 V limits output current in range from 0 to 5 A. Max. output current is defined with voltage drop on the Rsense that is 50 mV. Therefore R33 of R010 is selected.
For voltage monitoring MCU ADC input is used (AUX_U_MON). Voltage divider R187, R188 is set to provide almost full scale for max output voltage. For current monitoring (AUX_I_MON) INA282 (http://www.ti.com/product/INA282) (gain 50V/V) is used that gives 2.5 V for max output current (50 mV x 50). INA282 has zero-drift but only 10 kHz bandwidth that is not critical in our case since its used for passive monitoring and not as a part of the current control loop.

Possibly I will add dual RRIO op-amp (e.g. OPA2344 or similar) into the picture one for buffering voltage monitoring divider output (R187, R188) and another one to extend current shunt monitor output from 2.5 V to MCU's ADC full scale (3.3 V).

Switching frequency is defined by MCU and it will we about 640 kHz or two times higher then what is used for CH1 and CH2 power pre-regulators. Therefore a simple divider by 2 that also offer 180 deg phase shifting will be used:

(http://i.imgur.com/BdXJqpgl.png)

For USB charging a separate USB A-type socket will be used. Only one output can be selected at the time: binding posts (J7, J8) or X22 connector (vertical, PCB mounted). K_USB relay MCU controlled is used for that purpose. Maybe it can be replaced with two power mosfets.
TPS2511 (http://www.ti.com/product/tps2511) is used to detect connected USB device and provide up to 2.6 A of output current. Finally as an option is added IC38 for protection.

Adding CH3 require bigger Arduino shield and that is mainly dictated with dimensions and spacing of binding posts and USB-A socket. Additional 50 mm of horizontal space will be enough for that. Because of new AUX PS module and Arduino Shield positions of 4 PCBs on the PCB panel have to be rearranged for better usage:

(http://i.imgur.com/r51Zwlx.png)

If someone wants to play with LT3741 here is the LTspice model (see also attached file):

(http://i.imgur.com/JkuTG2o.jpg)

Your comments and ideas are welcome.
Title: Re: 3rd channel for digital circuits and USB charger
Post by: Kean on November 24, 2016, 01:04:19 am
TPS2511 (http://www.ti.com/product/tps2511) is used to detect connected USB device and provide up to 2.6 A of output current. Finally as an option is added IC38 for protection.

Nice work!  Very thorough.
A minor note - shouldn't IO2 of IC38 connect to USB DP signal?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 24, 2016, 01:05:59 am
Oops! That was mistake. I'll fix that. Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 11:10:21 am
Isn't the INA282 a bit overkill? I mean with 20uV offset it's really accurate but it's also quite pricey. I assume you wanted to share R33 from the LT3741.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 24, 2016, 11:11:29 am
you said your supply is 0-3A so what if the load actually requires more than 3A? how can the design limit that without CC circuit being activated?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 11:29:49 am
It goes into CC mode as soon as the current drawn reaches 3A or whatever it's set to below 3A. If your load requires more current you need a bigger power supply.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 24, 2016, 11:46:25 am
I understood the thing as follows: there is an already 3v on the comparator as a limit made by the designer, so the moment the supply is on, this set voltage is fed into the current limit comparator (assuming 3v = 3a). The the user may pick any value he wants if he wanted say like 2A. Is this correct? where can I see this in the circuit (the preset of the assumed 3v voltage)?

BTW, this current limiting circuit didn't work in LTSpice. Is this the case for you?

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 12:12:59 pm
For the latest schematic the CC loop is built into IC35 and a DAC (IC39) is used to set the current limit. R33 is used by both IC35 and IC36 as the current sense resistor.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 24, 2016, 12:19:08 pm
For the latest schematic the CC loop is built into IC35 and a DAC (IC39) is used to set the current limit. R33 is used by both IC35 and IC36 as the current sense resistor.

i mean does the dac outputs max limit by default from the start (by software) or what is the way?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 12:25:33 pm
i mean does the dac outputs max limit by default from the start (by software) or what is the way?
The DAC output voltage is controlled by software. I assume it outputs 0V at start-up but I haven't read the datasheet.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 24, 2016, 12:50:49 pm
Well, if the design outputs 0v at startup and by default then it is not limited to 3A at all.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 03:00:58 pm
In fact it is. Take a look through the LT3741 datasheet. Output current is determined by the shunt resistor (R33 in this case) and the voltage at the CTRL1 or CTRL2 pins.

For this particular application prasimix chose the value for R33 for a maximum current of 3A. In that case the CTRL pin voltage will be 1.5V. According to the satasheet anything higher than 1.5V will not set the current any higher. If you would want to set the current limit to 1A you'd have to apply 0.5V to the CTRL pins, for 2A it would be 1V, etc.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 24, 2016, 05:32:38 pm
I am seeing the consolidated pdf and I_Set is coming from this DAC: DAC8552IDGKTG4 which I don't see the said resistors so maybe it is just software.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 24, 2016, 06:35:39 pm
Isn't the INA282 a bit overkill? I mean with 20uV offset it's really accurate but it's also quite pricey. I assume you wanted to share R33 from the LT3741.

Nice point void_error. It's a bit of overkill. It's not necessary that R33 is shared I just find it convenient not to introduce another shunt resistor. Hopefully it will works as is, I mean current monitor inputs shouldn't interfere with LT3741 inputs. In not I'll add another shunt resistor.
Do you have any other device on mind? Perhaps INA199 (http://www.ti.com/product/INA199), it's very cheap and TME have it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 24, 2016, 06:59:39 pm
Nice point void_error. It's a bit of overkill. It's not necessary that R33 is shared I just find it convenient not to introduce another shunt resistor. Hopefully it will works as is, I mean current monitor inputs shouldn't interfere with LT3741 inputs. In not I'll add another shunt resistor.
Do you have any other device on mind? Perhaps INA199 (http://www.ti.com/product/INA199), it's very cheap and TME have it.

I was also looking at a TI part. The INA199 seems to be ok, typical offset of 5uV and 150uV max.
As far as distributors go I found one for Farnell that also sells to individuals for my country (see flag) so I'm not limited to TME anymore. I'll drop the link here (http://www.protehno.ro/) just in case anyone is interested. Haven't ordered anything from them yet.

Other than that I have a question: How did you figure out the down programmer? Got any tips?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 24, 2016, 07:04:45 pm
@VEGETA: Current limit indeed works in LTspice if you read datasheet and see what to change. See for example half-scale (2.5 A) simulation:

(http://i.imgur.com/IWX8w9g.png)

Please also read once again #498 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1076768/#msg1076768) to learn that we are talking here about new proposal: a 3rd channel that will accompany existing two power channel. Therefore referring to DAC8552 that resides on Power board is not applicable here. DAC what is proposed for this channel is MCP4822.
Also take note that R33 is set for max. current of 5 A not 3 A (check LT3741 datasheet pg.13).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 24, 2016, 07:10:48 pm
Other than that I have a question: How did you figure out the down programmer? Got any tips?

Actually cannot say anything meaningful. That part comes directly from Liv design (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/msg622093/#msg622093).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on November 25, 2016, 06:58:21 am
With a bit of help from a few forum members I managed to figure it out. The way Liv has drawn it it looks more like a class AB amplifier which can source a few times more current than it can sink and it also acts like one. It appears to be a very stable design and similar to what's used in a few HP/Agilent/Keysight/whatever power supplies. I managed to tweak it so it works with BJTs instead of MOSFETs because it's easier to parallel them for linear operation.

I also did some simulations on the circuit and they can be found here (https://www.eevblog.com/forum/projects/why-does-it-overshoot-600mv-every-time-(control-loop-stuff)/) if anyone is curious.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on November 25, 2016, 09:10:40 am
Ok, can you post a CV CC simulation in LTSpice that works?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Jbates58 on November 26, 2016, 11:19:36 pm
hi all

just wondering if it was to make this PSU (as i am looking for a decent bench PSU for my next toy) i am just wondering what i can do in reguards to beefing up the current?

i do a fair bit of auto motive stuff and would love to be able to push up to 20ish amps. more would be even better. but i am unsure what to do to beef it up to do that.

cheers

Jason
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 26, 2016, 11:52:05 pm
Current design allows MCU controlled paralleling of two channels to get 10 A output.

(http://i.imgur.com/eATQ3QVl.jpg)

Beefing up could include the following:
If you succeed to push both channel to 10 A with paralleling you will get 20 A. BTW, firmware support any voltage and current range, it's a question of changing few constants in the config file.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: KarolNi on December 01, 2016, 05:15:53 am
Hey mates!
I'm thinking about new bench supply. Do you know anything about crowdsourced buy, yet? Might be p'n'p or kit.
Cheers
KarolNi
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 01, 2016, 09:10:04 am
Thanks for asking. Everything is delayed because of weird situation with sending one unit to CS guys for preparing promotional video and sending it around for reviews. It reached their address three weeks ago, and US post send it back the same day because shipping address is supposedly not correct! And it's now who knows where. I have another two but I cannot send any of them because we need it for firmware development and testing. So we'll probably not continue as initially planned and launch campaign without any 3rd party review.

I'm planning few pledge levels: from set of bare PCBs to set of all preassembled modules and wire harness that has to be mounted into customized metal enclosure. No completed unit is planned since certification cost is insane (I got an offer for CE and FCC that is about 10.000 EUR!). That could make sense only if 500 or more units is shipped what is, I'm afraid, way beyond potential of crowdfunding platform since unit cost is not like 30 EUR but tenfold higher.

So, please be patient and stay tuned. In the meantime I'll report progress on firmware side and some thoughts about possible upgrade like e.g. recently announced 3rd channel with USB changing capability, etc.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on December 01, 2016, 11:59:07 am
May I ask how much did it cost and what is the target price? how do you make it worth it while being somehow profitable for you?

thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 01, 2016, 08:17:59 pm
The campaign is conceived as a group buy and should promote free and open source hardware and software. When we comes to term "profitability" even if it for the most people means financial gain on the first place that is not the only possibility. I already profit from this project by learn a lot about different things and by getting a solution that is under my control and that can be almost infinitely modified on the firmware level in accordance with my past, present and future needs. The final price is not set yet, but it will be set to the point that it don't generate any financial loss to me. Therefore I have to take care to not undercalculate and if campaign exceed set target I'm going to add some extra stuff or in "worst" case start to donate extra "units" (modules/kits) primarily to educational institutions if someone will be interested.

The first campaign target is massive 100 units. I don't know if that is possible to reach but below that costs of manufacturing (BOM+PCBA, enclosure, wire harness, transportation box) becomes unattractive.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: vinicius.jlantunes on December 01, 2016, 10:00:00 pm
prasimix, I have quietly followed this thread and am eagerly waiting for the campaign to go-live. I live in a far away country with harsh import duties but do hope the price will be affordable by me and if so will definitely get in.

Either ways I wanted to say your work is admirable. Congrats and all the best in your campaign and any other endeavors!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Theboel on December 01, 2016, 11:42:51 pm
Prasimix,

could You stop for a while made this beauty available to whoever want it and then listen to their feed back and start "B version"
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 09, 2016, 10:35:26 pm
I opened a new topic about crowdfunding related discussion since this forum has a separate section for that. Here is the link (https://www.eevblog.com/forum/crowd-funded-projects/preparing-eez-h24005-for-crowdfunding/msg1087644/#msg1087644).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: alekso56 on December 11, 2016, 07:54:19 am
Hi guys, im not sure where to post this, but i couldn't wait on the crowdfunding thing so i bought about 5 panels, and i have started diy'ing the project, so i have about 4 extra red panels cut with tabs...
Git revision: r5b9
 i can resell them here for about 33$ per complete panel (shipping not included). (i make zero profit off this, it's just to make my money back)
http://i.imgur.com/Ro0iDV1.jpg (http://i.imgur.com/Ro0iDV1.jpg)
http://i.imgur.com/hcA4ASv.jpg (http://i.imgur.com/hcA4ASv.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mrpackethead on December 11, 2016, 07:49:09 pm
Nice project. I'd be keen to take it with pretyt much everything done.   
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on December 26, 2016, 01:18:25 pm
I wanted to ask you about how you made your design stable? and most importantly, is it stable and working nice with low currents like 10mA or maybe less (in CC mode of course)? I've made a circuit that does good stuff but still has these major issues.

One big difference between our circuits is this:

1- you use opamps with negative voltage rail not single supply.

2- your CV loop is somehow weird, I mean R37 and R62 (consolidated pdf) followed by the traditional diff amp. I would say why you put these 2 resistances since you are gonna use a diff amp anyway. I couldn't figure the purpose of C47+R48 as well as D16 too.

picking compensation caps and resistances values is still foggy for me as I am learning, perhaps it is all in the ac analysis rather than blind trial and error.

You went for low-side current sensing which is ok as well as my circuit too. However, what is the benefit of getting this instead of a simpler high-side current sensing using something like LT6106? Here you may get away with just a voltage divider to get your V_monitor instead of the diff amp right?


Thanks for your efforts. I hope I have enough money (and courage :P) to get this when it is available.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 26, 2016, 08:07:33 pm
I'd like to emphasize once more time that post-regulator section is not mine but overly simplified Liv's design (https://www.eevblog.com/forum/projects/diy-bench-power-supply-psl-3604/msg622093/#msg622093).

Yes, the R37 and R62 possibly looks weird since one part of the circuit is "missing" on Sheet #3 and can be found on the Sheet #8 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B11%20Sheet%208of11.png) when you can see that by default R37 and R62 are connected to power output (Out+, Out-) using small signal relays (K_S1 for Ch1 and K_S2 for Ch2). They as used as "protection" in remote sensing mode of operation when sensing wires are disconnected.

C47+R48 improve over- and under-shooting performance. D16 (same as D18) is used against integrator wind up.

I spent some time trying to find out proper high-side current monitor but without success. You can find interesting posts of this theme on void_error's PSU project thread (https://www.eevblog.com/forum/projects/bench-power-supply-design/). There is a few issues here: huge imprecision on small current, min. working voltage (in general cannot works with Vout below ~3 V) and/or very limited bandwidth. The latest is not an issue if it is used just as current monitor, but if you need to add it into CC control loop then it become a problem. For min. working voltage issues you could try to put current monitor before series/pass element but if you're using BJT then you'll also its measuring bias current, and if you have down-programmer (as in this project) then situation/error is even higher. It seems to me that most of the current monitoring ICs are designed for monitoring/supervising (not to actively regulating) well defined load: e.g. DC motor, solenoid, battery, etc.
Therefore low-side monitoring is used and I tested if with both LTC2057 and OP27. Precision is good and can be improved further by adding e.g. two ranges: 500 mA / 5 A and range selection can be MCU controlled.

Diff amp is not used just for monitoring but is an active part of CV loop. Using voltage divider could be used as simple/cheap voltage monitor, but even in that case it should be buffered: that means that you need to use one op amp anyway.
Title: Firmware M3 is released ....
Post by: prasimix on December 29, 2016, 11:36:46 pm
The firmware M3 (https://github.com/eez-open/psu-firmware/releases) is released today. We had some interesting time when for the first time a more then one interrupt is used and spent almost a month trying everything to make operation stable and predictable. Finally we found that Arduino's SPI transactions doesn't masks interrupts properly and we have to see what Arduino team will say. Another interesting thing was related to coupling channels outputs in series and parallel. It's not so straightforward as one can think because this power supply has down-programmer circuit that can make some problem when channels are coupled ni series and enters CC mode or when coupled in parallel and enters CV mode. I'll prepare a video to show what could be happen as we solved that successfully.
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 (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html). 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
This is initated by Kleinstein's suggestion (https://www.eevblog.com/forum/projects/what-should-be-possible-with-programmable-power-supply/msg1005727/#msg1005727) and we added two more options:

(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)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on December 30, 2016, 10:33:28 am
Good job doing the display! BTW what is the display used (price)? You mentioned that you will release the software to design these GUIs, is there any intention left to do it?

thanks again.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 30, 2016, 07:33:56 pm
Display is possibly the cheapest 3.2" touchscreen that can be found on the eBay (example (http://www.ebay.com/itm/3-2-inch-240x320-TFT-LCD-module-Display-with-touch-panel-SD-card-than-128x64-LCD-/172230022307?hash=item2819b594a3:g:SfcAAOSwLF1X-KAo)). Model name is TFT_320QVT.

The EEZ Studio that we are using to editing menus and pages is still not ready for public release. We are working on it and hopefully be ready sometime in 2017. We'll try to add also support for RIVERDI displays based on more powerful controller (FT800/FT801) like 3.5" resistive (http://www.tme.eu/en/details/rvt3.5bcfwr00/intelligent-displays-modules/riverdi/rvt35b320240cfwr00/) and capacitive (http://www.tme.eu/en/details/rvt3.5bcfwc81/intelligent-displays-modules/riverdi/rvt35b320240cfwc81/) one. 
Title: How fast is SCPI remote control?
Post by: prasimix on January 05, 2017, 03:24:29 am
I tested today how fast is remote control using SCPI commands via serial (USB port). It's initiated with question got by email from guy who would like to know is it possible to generate square wave signal faster then 10 Hz. He has another brand power supply that cannot offer more then 5 Hz.

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):
18 Hz, if connected load does not cause changing of mode operation (or CV only)
12 to 14 Hz depending of the selected viewing mode, and when mode operation is changing (CV-CC)

Display is OFF (option DISPLAY_OPTION=0 in conf.h file):
36 Hz regardless if the mode of operation is changing or not!

For testing I used simple Python script that you can find in attachment. Here is a screenshot for 12 Hz SCPI VOLT (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-subsystem-command-reference/psu-scpi-source.html#sour_volt) 0.1 - VOLT 5.1 changed in the loop on the both channel (PSU is in the TRACking (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-subsystem-command-reference/psu-scpi-output.html#outp_trac) mode of operation):

(http://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 (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-subsystem-command-reference/psu-scpi-source.html#sour_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):

(http://i.imgur.com/0Lp1vqRl.png)

(http://i.imgur.com/9WWkuiWl.png)

 



Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mrpackethead on January 05, 2017, 04:47:55 am
Can i  buy one yet>
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 05, 2017, 07:31:42 pm
Can i  buy one yet>

Hi, you cannot buy one but you'll be able to build one if group buy will be successful (I opened a separate thread (https://www.eevblog.com/forum/crowd-funded-projects/preparing-eez-h24005-for-crowdfunding/) for that topic). In best case (Level D) you shouldn't need more then a hour or two to have ready to run unit. In the mean time all firmware features you can check right now using Software simulator (Windows download is here (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html), Mac/Linux instructions are here (https://github.com/eez-open/psu-firmware)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on January 06, 2017, 02:21:17 am
@parasimix

what is the tool or IDE you used to create the software simulator? and how to update the firmware of a running unit in the future?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 06, 2017, 02:35:28 am
what is the tool or IDE you used to create the software simulator?
As you can see on the firmware home page on the GitHub (https://github.com/eez-open/psu-firmware) under section "Simulator GUI Front Panel", It is based on SDL (https://www.libsdl.org/index.php), SDL (https://www.libsdl.org/projects/SDL_image/) Image and SDL TTF (https://www.libsdl.org/projects/SDL_ttf/).

and how to update the firmware of a running unit in the future?
... like the first time by simply connect the PSU using USB to your PC that runs Arduino IDE as described here (http://www.envox.hr/eez/bench-power-supply/building-instructions.html#instr_fw).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jondaddio on January 07, 2017, 09:15:40 am
Looks like a nice power supply!

I see the title of this thread says "DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)", but I noticed the Crowdfund says "0 – 40 V @ 0 – 5 A with a 155 Watt limit (with selected AC/DC modules, otherwise up to 200 W)" in the spec section.

1. Could you clarify what the voltage range is?  I assume it is 0-40V based on the power spec.
2. Not being very familiar with your design, what does "with selected AC/DC modules" mean?
3. It appears the current is up to 5A (vs. the original 3A) and power is up to 200W, depending on what "with selected AC/DC modules" means.

Thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 07, 2017, 09:25:36 am
Looks like a nice power supply!

I see the title of this thread says "DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)", but I noticed the Crowdfund says "0 – 40 V @ 0 – 5 A with a 155 Watt limit (with selected AC/DC modules, otherwise up to 200 W)" in the spec section.

1. Could you clarify what the voltage range is?  I assume it is 0-40V based on the power spec.
2. Not being very familiar with your design, what does "with selected AC/DC modules" mean?
3. It appears the current is up to 5A (vs. the original 3A) and power is up to 200W, depending on what "with selected AC/DC modules" means.

Thanks

Yes, it was a long journey that end up as a 40 V / 5 A max. 155 W model for crowdfunding based group buy. Selected model is Mean Well LRS-150-48 (http://www.tme.eu/en/details/lrs-150-48/industrial-power-supplies/mean-well/) and two can be housed into enclosure. But, you are free to use existing Power boards with other modules to reach max. 200 W per channel. Also Power board can be powered from AC input (i.e. mains transformer). In that case with bigger transformer, and by adding few components on the Power board you can go again up to 200 W per channel.
Two channels can be also internally coupled in series or parallel and firmware will works with them as one "big" channel capable of delivering up to 80 V or up to 10 A (max. 310 W with above mentioned modules).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jondaddio on January 07, 2017, 09:34:42 am
Quote
Yes, it was a long journey that end up as a 40 V / 5 A max. 155 W model for crowdfunding based group buy. Selected model is Mean Well LRS-150-48 and two can be housed into enclosure. But, you are free to use existing Power boards with other modules to reach max. 200 W per channel. Also Power board can be powered from AC input (i.e. mains transformer). In that case with bigger transformer, and by adding few components on the Power board you can go again up to 200 W per channel.
Two channels can be also internally coupled in series or parallel and firmware will works with them as one "big" channel capable of delivering up to 80 V or up to 10 A (max. 310 W with above mentioned modules).

Thank you for the clarification, and the quick response!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: 2bluesc on January 10, 2017, 04:47:16 am
Surprised this hasn't been mentioned yet, but it appears that the Crowd Supply Group Order page (https://www.crowdsupply.com/envox/eez-h24005) was put live on Jan 6th with a complete price of $400.  I'm tempted. It looks awesome and love open source, but I don't reallly need another power supply.   :-//

Title: Channel tracking and coupling
Post by: prasimix on January 10, 2017, 08:11:12 pm
A new video about channel tracking mode:

https://www.youtube.com/watch?v=5BYZ7RP3CQs (https://www.youtube.com/watch?v=5BYZ7RP3CQs)

... and about channel coupling (in series and parallel) is now available:

youtube (https://www.youtube.com/watch?v=Ukn1K1G0pJU)

I'd also like to thanks everyone who decided to join us on the group buy that is started a few days ago.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 10, 2017, 11:42:51 pm
Surprised this hasn't been mentioned yet, but it appears that the Crowd Supply Group Order page (https://www.crowdsupply.com/envox/eez-h24005) was put live on Jan 6th with a complete price of $400.  I'm tempted. It looks awesome and love open source, but I don't reallly need another power supply.   :-//

Thanks. I hope that over the time will be clearly obvious that important part of this project (software/firmware "suite" (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1047372/#msg1047372)) goes well beyond implementation in the programmable power supply. Therefore maybe in the near future will be something here for you too ;).
Title: Two more videos ...
Post by: prasimix on January 14, 2017, 03:15:14 am
Presentation of a few additional protection mechanisms:
https://www.youtube.com/watch?v=GRbDXmmBcUA (https://www.youtube.com/watch?v=GRbDXmmBcUA)

External/remote voltage programming when PSU output follows analog signal (2.5 V for full scale, input protected and backed with software OVP). Thanks to this you can e.g. use it as a pre-regulator when testing/designing another variable power supply :).

https://www.youtube.com/watch?v=_bRxJo1zC8U (https://www.youtube.com/watch?v=_bRxJo1zC8U)



Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: 0xPIT on January 15, 2017, 11:19:00 pm
Are there plans to have stock in the EU?
I'm not interested in paying import duties for a European product...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 15, 2017, 11:31:40 pm
Hard to say as long as campaign set goal is not reached. Any pledge could help in this moment. Please note that is a "group buy" organized for interested backers and I'm not (ab)using crowdfunding principle as a cheap marketing vehicle for my business. I got power supply in accordance to my wishes, learned a lot, had a great opportunity to met people on this and couple of other forums to discuss various topics related to this project.
I could risk to some extend an amount of money for limited stock, but limited means higher production cost. Therefore you cannot expect that order of e.g. 10-20 can cost equal to order of 100+ units.
I have to repeat once again even in case of "EU stock" please note that you cannot avoid VAT (Croatian 25%) if you cannot provide a valid VAT number.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jondaddio on January 16, 2017, 10:15:24 am
I just ordered a complete kit which happened to be the 100th complete kit (site now says "100 claimed").  Approaching the goal fairly quickly.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: minion on January 18, 2017, 07:16:53 am
The goal has been reached!

Congratulations Prasimix!  :)

link: https://www.crowdsupply.com/envox/eez-h24005 (https://www.crowdsupply.com/envox/eez-h24005)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 18, 2017, 10:24:24 am
Just to repeat here what is posted on other part of the forum: I wish to thank you so much for your support :hug: (sorry, no icon associated). Stay tuned and I'll inform you here and via campaign subscriptions about manufacturing details that should start in coming days.

I really do believe that backers will like what they'll get and continue to get without paying for unlocking firmware nor spending nights trying to hack it or e.g. wondering what some IC with identification markings removed by laser could be :). All of you who pledged just for bare PCBs keep in mind that I'll try to assist you as much as I can, and don't be afraid at least two people so far succeed in that small adventure.
Title: Stretch goals for EEZ H24005 campaign
Post by: prasimix on January 18, 2017, 06:46:40 pm
We still have over a month left in the campaign, so there’s plenty of time to exceed our initial goal and hit some stretch goals. Please take our survey (https://crowdsupply.typeform.com/to/AEptyj) to help determine our stretch goals.
Many thanks in advance.
Title: YT view
Post by: prasimix on January 20, 2017, 07:18:12 pm
A new feature that comes with M4 firmware (work in progress) is YT view, a fourth way of monitoring up to two output values like voltage, current and power (delivered energy in Wh and Ah will be added into future):

https://www.youtube.com/watch?v=tPuPrHchPfc (https://www.youtube.com/watch?v=tPuPrHchPfc)

it can be used for monitoring e.g. battery charging process and more importantly to display output changes when arbitrary waveform generator will be added. Next logical step will be to add support for storing and retrieving data on local SD card that will give more autonomy when no PC or similar devices are near by for data logging using SCPI remote control.

This is also the first intensive GUI task that requires TFT display with better controller that has built-in functions like zoom, scroll, pan, etc. That's a reason why a new display is mentioned in survey (https://crowdsupply.typeform.com/to/AEptyj) as one of possible stretch goal on CrowdSupply campaign.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on January 25, 2017, 06:26:50 am
Hi Prasimix,

is there a controlling software for windows which you can recommend?

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on January 25, 2017, 09:33:10 am
Hi Prasimix,
is there a controlling software for windows which you can recommend?
Cheers
Sven

If you look at the software/firmware thread  <here> (https://www.eevblog.com/forum/projects/open-source-firmware-and-software-for-the-programmable-power-supply/) (check message #6) it looks like they have experimented with Keysight/Agilent's windows application.  Another option (just a command-line) would be a telnet client.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 25, 2017, 10:50:12 pm
I cannot recommend anything in this moment. Currently I'm using serial and telnet for exchanging SCPI commands. Over the time we'll probably add possibility that our software simulator (multi-platform) can establish connection with real device and can be used for its programming and monitoring.
I never had a time to see what can be done e.g. with sigrok that someone mentioned or myopenlab (https://myopenlab.de/). As iainwhite said I tested communication with Keysight Connection Expert some time ago and I need to test it again to see if some of changes in Firmware M3 and M4 will cause any problem.

If you find some free/general purpose SCPI controller please let me know.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on January 27, 2017, 03:03:08 am
I wrote a small python utility for sending scpi commands to a tti PSU, it should be easy enough to modify for the EEZ H24005.
Being python/tk it is cross platform.
https://www.eevblog.com/forum/testgear/bench-psu-remote-control-application-for-tti-pl-p-series-(winlinuxmac)/ (https://www.eevblog.com/forum/testgear/bench-psu-remote-control-application-for-tti-pl-p-series-(winlinuxmac)/)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 27, 2017, 03:07:32 am
Nice, you can try it directly with our Software simulator (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html). Just open a connection on port 5025 (localhost or IP address if simulator is running on other computer) ...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 27, 2017, 09:03:15 am
Nice, you can try it directly with our Software simulator (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html). Just open a connection on port 5025 (localhost or IP address if simulator is running on other computer) ...

I have quite a bit of experience using SCPI devices (lately mostly GPSDO's).  I fired up the simulator and connected it to the terminal emulator function in Lady Heather (a GPSDO/GPS control program that supports several SCPI based GPSDOs).  I noticed a few things...

A SCPI device should prompt for input with a prompt like "SCPI > " or maybe " EZPSU > ".   Without a prompt you have no way of telling that the command was noticed by the device.

When an error occurs the prompt should be replaced with the last error code:  "E-123 > " or "E+345 > ".    A *CLS command should reset the prompt back to normal.

After a bit of experimenting the simulator stopped responding.  I think it happened when the error queue filled up.  I had to restart the simulator to get it working again.

As anybody that has a lot of experience with using SCPI to control instruments will tell you... it is OK as a simple command interface for configuring an instrument.  But for actually monitoring an instrument it is HORRIBLE!.  The main difficulty is that responses to queries have no indication of what query the value being sent is in response to.   If the instrument or computer queries and responses get out of sync the whole protocol falls apart.   This can be particularly bad if you string a bunch of queries together with ";"'s

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 27, 2017, 08:50:45 pm
Thanks for your feedback regarding software simulator. Can you provide to me script or code or reference to application used to communicate with simulator when it stuck that I can try to reproduce this at my side?

Regarding SCPI prompt, are you referring to one that has to be displayed when telnet session is established or in general? I'm not sure that some SCPI controller tolerate anything more then SCPI commands alone.

I can imagine how someone could create a real mess with programming, SCPI is not excluded, indeed :). But, I'm also wondering are you talking here about all type of interfaces (i.e. IEEE488, serial, Ethernet)? Do you have any experience with Ethernet when additional listen socket is used/opened that SCPI instrument could send responses asynchronously (when e.g. measurement is finished, when some error alert is triggered, etc.).
Also when string of multiple queries is used, I presume that sync commands such as *OPC should improve situation, or not?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on January 28, 2017, 09:53:53 am
SCPI-Telnet has prompt
SCPI-Raw no prompt
http://www.lxistandard.org/About/LXI-Protocols.aspx (http://www.lxistandard.org/About/LXI-Protocols.aspx)

AFAIK the EEZ PSU supports SCPI-Raw
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on January 28, 2017, 08:28:32 pm
I wrote a small python utility for sending scpi commands to a tti PSU, it should be easy enough to modify for the EEZ H24005.
Being python/tk it is cross platform.
https://www.eevblog.com/forum/testgear/bench-psu-remote-control-application-for-tti-pl-p-series-(winlinuxmac)/ (https://www.eevblog.com/forum/testgear/bench-psu-remote-control-application-for-tti-pl-p-series-(winlinuxmac)/)

Hi Prasimix,
I wrote that python-tk utility because the TTi web interface has poor support for remote control. A decent web interface would be much more convenient and negate the need for installing any apps.
If the Due has space available for a webserver, it could serve up some small html+javascript page which could control the PSU via scpi.
Is that feasible?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2017, 03:44:11 am
Due still have some space, and possibly some simple, and not too CPU and memory demanding web server can be added.
Title: Encoder first preview...
Post by: prasimix on January 29, 2017, 03:47:46 am
I uploaded a new video about first implementation of encoder support in firmware and your feedback is highly appreciated:

https://www.youtube.com/watch?v=12qwjicYb90 (https://www.youtube.com/watch?v=12qwjicYb90)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 29, 2017, 06:15:22 am
Due still have some space, and possibly some simple, and not too CPU and memory demanding web server can be added.

I'd love to see the firmware ported to a Raspberry Pi 3.  For around $30 you have a quad core 1+ GHz processor,  25+ Gflops GPU, 4 USB ports, wifi, ethernet, bluetooth, 1GB of RAM, and however much program space you could possibly want.   With support for the PI 800x480 touchscreen and maybe a couple of extra power boards thrown in.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: bingo600 on January 29, 2017, 06:24:18 am
Due still have some space, and possibly some simple, and not too CPU and memory demanding web server can be added.

I'd love to see the firmware ported to a Raspberry Pi 3.  For around $30 you have a quad core 1+ GHz processor,  25+ Gflops GPU, 4 USB ports, wifi, ethernet, bluetooth, 1GB of RAM, and however much program space you could possibly want.   With support for the PI 800x480 touchscreen and maybe a couple of extra power boards thrown in.

Mark
Depending on the regulator loop the PI (Linux) might not be "tight enough" , but a combi could be "interesting" ...

/Bingo
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 29, 2017, 06:33:51 am
Mark
Depending on the regulator loop the PI (Linux) might not be "tight enough" , but a combi could be "interesting" ...

/Bingo

I was thinking along the lines of possibly having something like an ATMEGA32 doing any of the real-time gruntwork and glue between the PI and the power boards.  I haven't looked at the PSU firmware, but got the impression that there was not much need for real-time control of the loops except for things like possibly triggering fault shutdowns.  A quad-core GHz processor should be plenty fast enough without much need for the ATMEGA helper, but it could be useful.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: krho on January 29, 2017, 06:45:34 am
Linux probably won't work as it is not real time. You'd need a co-processor of some sort to handle quick things.
Otherwise the new Pi3 compute module in SODIMM format is quite small although I find it bit power hungry 5W+.
However it could handle the screen in no time and also a webserver or any other task.

Oh. BTW Cortex M4 is cheaper, has more flash and ram than ATMEGA or XMEGA
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on January 29, 2017, 07:16:19 am
Low level physical interfaces are scarce and poor on the PI.
The Cortex M3 of the Due is the perfect balance between pure old school µcontroller like ATMEGA/XMEGA and full blow µconputer like the PI or the BBB more suitable for the present task.
M4 or M7 would have been cool, but need the complete design of a µC board. Discovery board would have been an option but the learning curve/"getting started" with the dev environment is not as simple and accessible as the Arduino env and the STM32Duino is not "plug&play".
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 29, 2017, 01:54:42 pm
Here are a couple of other things to consider when implementing a SCPI interface:

Allow for backspacing when parsing a SCPI command.  People drive these things from a keyboard and make mistakes while typing.

Different SCPI devices and control programs use either CR or LF to end and execute the command (I know of one bastard device that requires both CR and LF).   I would recommend allowing commands to end with either CR or LF.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2017, 07:15:31 pm
Here are a couple of other things to consider when implementing a SCPI interface:

Allow for backspacing when parsing a SCPI command.  People drive these things from a keyboard and make mistakes while typing.

Different SCPI devices and control programs use either CR or LF to end and execute the command (I know of one bastard device that requires both CR and LF).   I would recommend allowing commands to end with either CR or LF.

Thanks for suggestion, we'll check what is currently supported by used SCPI parser, and reported here and on the GitHub tracker (new opened issue #77 (https://github.com/eez-open/psu-firmware/issues/77)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2017, 07:44:17 pm
Low level physical interfaces are scarce and poor on the PI.
The Cortex M3 of the Due is the perfect balance between pure old school µcontroller like ATMEGA/XMEGA and full blow µconputer like the PI or the BBB more suitable for the present task.
M4 or M7 would have been cool, but need the complete design of a µC board. Discovery board would have been an option but the learning curve/"getting started" with the dev environment is not as simple and accessible as the Arduino env and the STM32Duino is not "plug&play".

This is a just to the point. Arduino IDE is selected for two reasons: it's open source and "plug&play". I'd like to see another more powerful MCU that is directly supported from environment such as Arduino IDE. I was entertained in one moment with idea to squeeze down the TM4C1294 Connected LaunchPad (http://www.ti.com/tool/ek-tm4c1294xl) to Arduino Due/Mega form factor and make it pin compatible with Due or simply put it directly on what is currently called Arduino Shield (http://www.envox.hr/eez/bench-power-supply/psu-digital-control.html) board. That MCU is equipped with many interesting stuff, and together with more capable display such as one with FT80x controller that could be an attractive combination even for more demanding projects. Again, the question is how to make it simple for use, and Lauchpad has Energia IDE (http://energia.nu/) but I'm not so sure that has a so dynamic community like Arduino does.

Talking about SBCs I see more attractive some open source solution such as BeagleBone instead of RPi.
Title: Re: Encoder first preview...
Post by: electricar on January 29, 2017, 10:43:38 pm
I uploaded a new video about first implementation of encoder support in firmware and your feedback is highly appreciated:

https://www.youtube.com/watch?v=12qwjicYb90 (https://www.youtube.com/watch?v=12qwjicYb90)

As you may already know I'm a big fan of the encoder! ;D
Somebody on Youtube already suggested what I would prefer:
- it would be nice to implement the "selection" and "confirmation" mode at once. So one could navigate by clicking, and only when a value is changed, confirmation is used.
- He also had a point on the dynamic acceleration : "it would be quite useful to have a dynamical acceleration - the faster the knob is turned, the higher the 'steps' are used for the encoder. So you have 'fine' and 'coarse' mode without having to change settings"

You current implementation with "Moving up speed" and "Moving down speed" is a constant setting right? So if you have "Moving up speed" set to 5, that will be your setting and therefore step size no matter how fast or slow you rotate the encoder right?
I think what he means is that your step size is dependent on how fast you rotate your encoder. The faster you rotate, the higher is the step size.

It's also possible that you already implemented this with "Moving up speed" and "Moving down speed" and I only have misunderstood your explanation.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2017, 10:51:04 pm
Huh, it seems that "Moving up speed" and "Moving down speed" are really bad choice of wording or my presentation sucks! That two params define what many people asked for: if you turning knob faster that set value will changed faster. Currently is implemented linear "sensitivity" curve but it can be exponential or anything else.
If someone have better terms for above mentioned "speeds" please let me know!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on January 29, 2017, 11:01:08 pm
I think what the other guy was trying to say is. If you turn the knob slowly then it moves the numbers slowly kind of like a fine adjustment. If  you turn the knob fast then the numbers move fast like course adjustment. Does that make sence?

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 30, 2017, 12:17:31 am
Yes, that is already implemented, and "sensitivity" is defined with that two params: one when you'd like to increase and another to decrease value. But naming is obviously not good.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: electricar on January 30, 2017, 12:27:35 am
Yes, that is already implemented, and "sensitivity" is defined with that two params: one when you'd like to increase and another to decrease value. But naming is obviously not good.
Oh ok, so I think you implemented something that is already a step further than what the people wanted! :D

To make it more clear that you already implemented dynamic acceleration you could use something like
Dynamic acceleration sensitivity up
And
Dynamic acceleration sensitivity down

If it is too long to display you can off course make abbreviations or make a separate menu for this.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on January 30, 2017, 05:26:41 am
I am impressed with the rotary encoder implementation.    Also, congratulations on hitting your $60,000 goal this weekend.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on January 30, 2017, 07:57:40 pm
I think what the other guy was trying to say is. If you turn the knob slowly then it moves the numbers slowly kind of like a fine adjustment. If  you turn the knob fast then the numbers move fast like course adjustment. Does that make sence?
...here's 'the other guy'  :D - meanwhile Martin also explained that on YT, and i think i got it now - dynamic acceleration is already there, and these 2 parameters in settings seem to define the profile of acceleration. Still wondering if these parameters are necessary, though...   Can't wait putting my hands on this great piece open hardware and try myself. And sneak at the code... ^-^
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 30, 2017, 08:11:09 pm
Still wondering if these parameters are necessary, though... 

We just added it to have a more freedom in defining encoder behavior. What is still missing are proper names for that options, so your suggestions are welcome  :-+.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kolesar007 on January 30, 2017, 08:19:31 pm
Great rotary implementation :) and I finaly start to build my PS :)
Will "Velocity control" be proper name ?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on January 31, 2017, 01:55:11 am
"(up/down) acceleration increment"?
"dynamic encoder increment up/down"?
 ::)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on January 31, 2017, 02:09:38 am
Enc Up Gain
Enc Dwn Gain

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: 0xPIT on January 31, 2017, 10:44:26 am
It is called acceleration!

So, any plans to sell & ship a full kit from the EU?
I want to buy, but I'm definitely not going to pay import tax and customs... rather give 20% more to you.

Best

 pit
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on January 31, 2017, 07:40:25 pm
So, any plans to sell & ship a full kit from the EU?
I want to buy, but I'm definitely not going to pay import tax and customs... rather give 20% more to you.
well, "import tax" afaik is only about 2.4% (naive TARIC research), plus - in my case - adding 19%VAT. In case this would be offered let's say shipped from germany, you would also have to add 19% VAT.
So imo the only thing to bother with (which also made me think twice) really is "to deal with customs" in general, which might be a bit annoying...
And prasimix already mentioned - shipping from Croatia would mean adding even 25% VAT... :P
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on January 31, 2017, 08:01:07 pm
And prasimix already mentioned - shipping from Croatia would mean adding even 25% VAT... :P

Unless you provide a VAT number. That works in EU, but not from US. I'll be very happy if they shipped from an EU country to avoid the customs hell. It's time consuming and expensive.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on January 31, 2017, 09:16:15 pm
Unless you provide a VAT number. That works in EU, but not from US.
In case you *do have* a VAT id, you may write this off (getting back VAT) in both cases, i'd say...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on January 31, 2017, 09:23:45 pm
Unless you provide a VAT number. That works in EU, but not from US.
In case you *do have* a VAT id, you may write this off (getting back VAT) in both cases, i'd say...

Yup,
But customs are a PITA to work with, just their handling fee (and time) is ridiculous.  :--
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on January 31, 2017, 10:33:07 pm
Nice, you can try it directly with our Software simulator (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html). Just open a connection on port 5025 (localhost or IP address if simulator is running on other computer) ...

This scpi-raw ethernet remote control app seems to work with the simulator, can someone try it with a real psu please?

Requires python3
On linux you may need to "sudo apt install python3-tk" or "sudo dnf install python3-tkinter" or ...

Edit: v2 Minor update to fix ugly labelframe borderwidth on linux
Edit: Python file moved to https://github.com/kevinee/eez-remote (https://github.com/kevinee/eez-remote)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 01, 2017, 06:29:43 am
Yes, it works, error messaging is not handled but simple setting and monitoring output values looks nice! See attached short video...
Thanks for your effort. For starting on linux one has to use the following command line:

 python3 eez_remote_v1.py
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on February 01, 2017, 06:51:22 am
Thats great, thanks for the video  ;D
Yes, error handling should be added but its a starting point for a simple cross-platform app.
Title: Dual range current measurement
Post by: prasimix on February 02, 2017, 08:18:11 pm
I'd like to include current measurement in two ranges, e.g. 0-500 mA and 0-5 A on the next Power board that will continue to be compatible with Arduino shield and firmware will take care about it like with all previous Power board revisions. If this works fine it will become a candidate for group buy on the CrowdSupply.
Idea is to use mosfets as range switches that will be well saturated to provide lowest Rdson. The switching between ranges will be accomplished in a "make-before-break (https://www.maximintegrated.com/en/glossary/definitions.mvp/term/Make-Before-Break/gpk/602)" fashion, that both sense resistors will be connected simultaneously for about max. 1-2 ms.
Additionally I'd like to preserve 4-wire (Kelvin) connections that already exists on the previous board but have no experience nor I had a chance to see how other people design PCB for that. All what I found so far is a not so representative picture of ct'lab DCG power supply (http://www.thoralt.de/wiki/images/e/e8/Schem_DCG2.png) (Q8-Q11 for 4-ranges) but without detailed PCB view.

(http://i.imgur.com/d5YChkd.png)

In our case everything will be done with SMT components and I created a new Eagle components for mosfet and 2512 resistor with exposed addition "sensing" pin. Since the next higher bias voltage then existing +5V is +48V, it is used for Q13, Q14 saturation that is cut to +13 V with ZD17, ZD18. The existing 8-but I/O expander is already fully occupied and therefore it's replaced with 16-bit version (IC7, MCP23S17-E/SS) to provide two more lines for current ranges selection.

(http://i.imgur.com/gz1OeHp.png)

... and here is PCB layout current sensing section:

(http://i.imgur.com/hP29wPh.png)

 I didn't manage to connect other end of ZD17 in a way to not cross sensitive measurement line but at least that is happened under right angle and on the opposite side of the PCB.

Your timely comments are highly welcomed (I'd like to place an order for new PCB very soon).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on February 02, 2017, 08:43:24 pm
Low level physical interfaces are scarce and poor on the PI.
The Cortex M3 of the Due is the perfect balance between pure old school µcontroller like ATMEGA/XMEGA and full blow µconputer like the PI or the BBB more suitable for the present task.
M4 or M7 would have been cool, but need the complete design of a µC board. Discovery board would have been an option but the learning curve/"getting started" with the dev environment is not as simple and accessible as the Arduino env and the STM32Duino is not "plug&play".

This is a just to the point. Arduino IDE is selected for two reasons: it's open source and "plug&play". I'd like to see another more powerful MCU that is directly supported from environment such as Arduino IDE. I was entertained in one moment with idea to squeeze down the TM4C1294 Connected LaunchPad (http://www.ti.com/tool/ek-tm4c1294xl) to Arduino Due/Mega form factor and make it pin compatible with Due or simply put it directly on what is currently called Arduino Shield (http://www.envox.hr/eez/bench-power-supply/psu-digital-control.html) board. That MCU is equipped with many interesting stuff, and together with more capable display such as one with FT80x controller that could be an attractive combination even for more demanding projects. Again, the question is how to make it simple for use, and Lauchpad has Energia IDE (http://energia.nu/) but I'm not so sure that has a so dynamic community like Arduino does.

Talking about SBCs I see more attractive some open source solution such as BeagleBone instead of RPi.

As a side note, I just received the ST news letter which talk about  Arduino STAR OTTO based on STM32F469. But it's still vapor(hard)ware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 02, 2017, 08:49:40 pm
Yes, in fact that is a second announcement (here is the first (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg946295/?topicseen#msg946295) one), it's not included into latest Arduino IDE, and price is still not set but there is some "rumor" that it could be up to €80.
Title: Encoder functionality improvement...
Post by: prasimix on February 04, 2017, 03:45:02 am
First thanks, everyone for suggestions regarding better naming for encoder params. The new settings page looks like this:

(http://i.imgur.com/qd5ASBI.png)

Switch is now always in use, and "Confirmation" and "Selection" mode are merged in one thanks for someone's suggestion. Now you can enable or disable switch Confirmation mode. When enabled you have to confirm new set value with pushing the switch, and when disabled changes will be applied immediately as you turning knob in one or another direction. Moving to next value is performed by switch in round-robin fashion starting from CH1 voltage to CH2 current.

Hopefully new title "Knob acceleration sensitivity" better describe what is all about.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kleinstein on February 04, 2017, 06:14:10 am
The shunt switching is not working correct as shown. You have to make sure to only measure the voltage over the shunt, and not include the MOSFET_on resistance.

The easy version is having the two shunts in series and use only one MOSFET to bridge out the larger one. The voltage sensing also needs to be switched (e.g. a CMOS switch or two small MOSFETs). Alternatively one could use two of the larger FETs for both current paths and always take the voltage from the upper shunt.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 09:13:39 am
Thanks Kleinstein, your comments are very useful as usual. I started with thinking about two shunts in series but somehow ends up with proposal shown in one of the recent posts. Please let me know if such configuration makes sense (I'm not sure does one switch like IC3 is enough or not):

(http://i.imgur.com/z8tYJf2l.png)

EDIT: as Kean notes in post #599 this not going to work: lower leg of HI shunt is shorting LO shunt!

Also if two mosfets are going to use, does something like this make more sense (probably R73, R70 ends shouldn't be connected to mosfet source but POUT- point):

(http://i.imgur.com/qsTFvVUl.png)

Alternatively one could use two of the larger FETs for both current paths and always take the voltage from the upper shunt.

This part I didn't catch. Could you please elaborate it a little bit more?

EDIT: I'm wondering what is more problematic for accuracy: to include mosfet's Rds(on) or to put something on the sensitive paths between shunts and current monitor IC?


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 09:55:57 am
Why not have both sense resistors in parallel. Have a FET in series with the low ohm. So when in low ohm or high current mode the FET is on negating the high ohm resistor. In low ohm mode you calibrate for the RDSon + low ohm resistor. In high resistor mode the FET is off and you only have the high ohm resistor in circuit. Keep it simple. Kelvin measurements are made at entry and exit nodes of the shunt network.

Sent from my D6503 using Tapatalk
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 11:07:18 am
Why not have both sense resistors in parallel. Have a FET in series with the low ohm. So when in low ohm or high current mode the FET is on negating the high ohm resistor. In low ohm mode you calibrate for the RDSon + low ohm resistor. In high resistor mode the FET is off and you only have the high ohm resistor in circuit. Keep it simple. Kelvin measurements are made at entry and exit nodes of the shunt network.

Sent from my D6503 using Tapatalk

Ok, so you are proposing something like this?

(http://i.imgur.com/GuQpov8l.png)

HI range shunt (with lower resistance) cannot negate LO range shunt in total: 10 times smaller current will still flow thru it, but that can be taken into account while calibrating. It's much simpler but I'm not sure how this like any of previously mentioned will behave in practice.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 11:08:56 am
Why not have both sense resistors in parallel. Have a FET in series with the low ohm. So when in low ohm or high current mode the FET is on negating the high ohm resistor. In low ohm mode you calibrate for the RDSon + low ohm resistor. In high resistor mode the FET is off and you only have the high ohm resistor in circuit. Keep it simple. Kelvin measurements are made at entry and exit nodes of the shunt network.

Sent from my D6503 using Tapatalk

Ok, so you are proposing something like this?

(http://i.imgur.com/GuQpov8l.png)

HI range shunt (with lower resistance) cannot negate LO range shunt in total: 10 times smaller current will still flow thru it, but that can be taken into account while calibrating. It's much simpler but I'm not sure how this like any of previously mentioned will behave in practice.
Yes. It's simple and can calibrate in software. Just an idea. The Kelvin connection would be on the high side of the of the FET. Otherwise you are not disconnecting the low ohm. I'll post a pic. Also FET is on 0R02 not 0R2.

Sent from my D6503 using Tapatalk
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 11:14:25 am
(https://uploads.tapatalk-cdn.com/20170204/74ec162bdebfa91e366e1f3b3f9e54d8.jpg)

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: artag on February 04, 2017, 11:27:44 am
You need to at least have separate resistors from sense resistor to opamp. As drawn, you're shorting out the FET with the positive sense leads. Sense leads on 4-terminal resistors aren't isolated, they're just additional terminals (or PCB traces) that don't carry the through current.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 05:44:41 pm
prasimix - in your first series shunt schematic you have the HI shunt kelvin connection shorting out the LO shunt.  You'd need dual analog switches for the top and bottom of both shunts in that arrangement.

Similarly, as Strada916 and artag pointed out, in the later proposed schematic you have the upper shunt kelvin connections effectively bypassing the FET.  And in this arrangement you have to calibrate out the effects of the FET and secondary shunt, which seems a bad idea.

Another suggestion is to have the shunts in series and short the higher value one with a FET under CPU control - as suggested by Kleinstein.  Then have two current monitors, one off each shunt, and an analog switch selecting between the outputs of the two monitor amps before feeding into ADC.  This has the advantage over using the later suggestions in that you don't need to calibrate out the FET RDSon, but it does require another current monitor and a single analog switch.  Actually, if you have a spare ADC channel you don't need the analog switch either...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 05:59:03 pm
Thanks for this Kean. I add a notice to shunt in series proposal. Introducing the second current monitor doesn't look attractive either.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 06:06:31 pm
Introducing the second current monitor doesn't look attractive either.

Is that because of the cost of the current monitor?  I guess in quantity it still adds a significant cost.
No problem, then you should use a dual analog switch for selecting between the shunt kelvin connections (both upper and lower sides).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 06:11:26 pm
Yes, but I'm trying to imagine what will happen when range switching is performing with load connected and output is in CC (or even CV) mode? First it seems that analog switches/multiplexers have to be "make-before-break" too, but is that enough to not introduce glitches?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 06:52:05 pm
Ah, OK.  I wasn't considering that the mode switching could happen while operating, and how that would effect the control loop.

I just took a look at the Agilent 6612B service manual to see how they do it (very nice PSU for testing low current devices).  It appears they always use one shunt for the control loop, and the other is purely used for monitoring and has a clamping circuit across it.  Note that the design is for much lower currents but it may be useful to analyse.  If you're interested check out page 51 for schematic, and 52 for description of operation.  Can be downloaded from Keysight website if you provide your contact details, or various places on the web like http://exodus.poly.edu/~kurt/manuals/manuals/HP%20Agilent/HP%20POWER%20SUPPLIES/CUSTOMERCARE%20(D)/service/66312Aser.pdf (http://exodus.poly.edu/~kurt/manuals/manuals/HP%20Agilent/HP%20POWER%20SUPPLIES/CUSTOMERCARE%20(D)/service/66312Aser.pdf)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 07:03:36 pm
Hm, this is interesting, so precise CC mode is not possible. I'm wondering why is that? Possibly Agilent/Keysight have a good reason for such approach :-//. Are you aware of their any other product that include multi-range and could possibly have schematic exposed at least in the form of building blocks?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 07:57:39 pm
I'm not aware of any, but I haven't really looked.  Not saying it isn't possible, but maybe not as important as precise monitoring.
Maybe open another topic asking this question - you may get more eyes on a new topic than deep in a thread like this...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 08:12:32 pm
I have a circuit that uses a dpdt switch dual range. Current metering. I'll have a look when I get home later

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 08:30:00 pm
If switching range during operation, won't you also need to switch to a different input voltage for the control loop?
Otherwise you'll have to scale the current monitor output to match the different ranges.
Either way, I suspect it will be tricky to do without a glitch, especially if in current limiting mode at the time.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kleinstein on February 04, 2017, 08:58:15 pm
Having the MOSFET R_On in the measurement path is bad, as the R_on has a high TC (AFAIK something like 6000 ppm/K). So this would be acceptable only if R_on is less than 1/100 of the shunt - so not really practical.

Many of the other solutions proposed also don't work. If you need a 4 wire shunt for the lower range as well, you essentially have to switch over both sense lines. Adding a CMOS switch to the sense inputs is usually not a problem - 6 digit DMMs like the Keithley2000 use this to do Autozero and for the shunts as well. Just avoid large thermal gradients in this circuit area.

The easy solution is to use the larger of the shunts in 2 wire mode, connected to the voltage sensing contact of the lower shunt. This how it is usually done in the voltmeters up the the very good ones. E.g. look here:
https://www.eevblog.com/forum/metrology/repair-and-experiments-thread-hp-3458a-u2/msg1124455/#msg1124455 (https://www.eevblog.com/forum/metrology/repair-and-experiments-thread-hp-3458a-u2/msg1124455/#msg1124455)
The thread about Daves new planed meter also has quite a lot about shunt switching.

Switching the shunt seem to be hard to describe in words, so I attach a cride drawing for the series connection option:
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 09:04:51 pm
I started to understand a beauty of this approach. Thanks Kleinsten, Dave...

931 (https://www.youtube.com/watch?v=xSEYPP5Xsi0))

... and Jaromir (https://www.eevblog.com/forum/projects/how-to-provide-multiple-ranges-for-current-monitoring/msg1128505/#msg1128505) for point out Dave's video. I'll implement this concept.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 09:15:58 pm
Most of that info relates to multimeters, and not potential issues doing this in a control loop.
I'd be interested to see if anyone can find a design that goes further than the Agilent 6612B.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 04, 2017, 09:23:23 pm
I'll test it and let you know. Here is how it will looks like if I understand it correctly. Of course Q1 don't need to be so beefy, it eventually make sense if we don't want to increase BOM:

(http://i.imgur.com/iWvVX2cl.png)

The great thing about this approach is that if you are for any reason not satisfied with multiple range you can simple remove lower range (leave LO resistor or replace it with 0R jumper) and keep the highest one on the PCB.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 09:31:22 pm
(https://uploads.tapatalk-cdn.com/20170204/abab671c7b0393a2c7ed2d92911db03f.jpg)

Sent from my D6503 using Tapatalk
This is part of a circuit used in one of my analogue PSU's the sense is off the 22k (R20 and R22) resistors. They use a switch to short the excluded resistor.

Although Dave's approach as posted above is more elegant.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kleinstein on February 04, 2017, 10:07:18 pm
Changing the shunt in the current control loop will also change the gain of the loop. This could be a potential problem, if the current loop is tuned very fast. Often this is not needed, as the CC performance is limited by the output capacitors anyway. So it is well possible that the control can accept an extra gain of a factor of 10. The extra shunt will also increase the series resistor seen and this way make current regulation possibly a little easier. For high frequency range the higher shunt this way reduces the loop gain back to where is was before.

To be on the safe side one might want to check stability of the CC mode loop with the higher shunt and maybe adjust for lower speed. If really needed one would have to switch compensation too. The higher shunt could also effect the CV mode regulation a little, as more voltage drop needs to be compensated.

Switching the shunt should be done under user control, usually when adjusting the set current.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 04, 2017, 10:27:18 pm
I might be wrong but I don't agree with you Kleinstein.

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: artag on February 04, 2017, 10:35:00 pm
The HP6632B has a dual current range. It isn't obvious from the control, but that's how it works internally.

http://cp.literature.agilent.com/litweb/pdf/5962-8119.pdf (http://cp.literature.agilent.com/litweb/pdf/5962-8119.pdf)

The high current range is always in circuit, the low current range has FETs to bypass it and diodes to clamp it. Each sense resistor has its own amplifier.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 05, 2017, 02:17:07 am
The HP6632B has a dual current range. It isn't obvious from the control, but that's how it works internally.

http://cp.literature.agilent.com/litweb/pdf/5962-8119.pdf (http://cp.literature.agilent.com/litweb/pdf/5962-8119.pdf)

The high current range is always in circuit, the low current range has FETs to bypass it and diodes to clamp it. Each sense resistor has its own amplifier.

Actually, just like the 6612B I mentioned earlier in the thread, on the 6632B the high current range monitor (IMON_H) is always used for the constant current control loop.  The low current range monitor (IMON_L) is only used for "readback" and for enabling the clamping FETs.  This is described reasonably clearly in the "Principles of Operation", but a bit more difficult to follow on the schematics where you'll see only IMON_H enters the current control circuits.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on February 05, 2017, 04:32:51 am
Having better current resolution for lower currents is a worthy goal,  but I think that any practical / cost effective implementation (particularly with dual current shunts) will open quite a few cans of worms.  Getting those worms under control and back into their cans will be quite difficult and introduce more compromises to the unit's performance.   
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kleinstein on February 05, 2017, 04:54:48 am
I have not followed all of the task, but AFAIK this supply uses a low output impedance power stage. This makes current regulation more difficult - so one really has to check if it still works with a larger shunt and thus a modified CC loop. Chances are it still works.

The shunt chosen is rather small, likely to get a good transient response. However this somewhat limits the performance at low currents in CC mode. So a switchable shunt makes some sense. It is not only the measurement where a larger shunt would be nice to have, but also the control.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: neslekkim on February 06, 2017, 02:42:12 am
This is a just to the point. Arduino IDE is selected for two reasons: it's open source and "plug&play". I'd like to see another more powerful MCU that is directly supported from environment such as Arduino IDE. I was entertained in one moment with idea to squeeze down the TM4C1294 Connected LaunchPad (http://www.ti.com/tool/ek-tm4c1294xl) to Arduino Due/Mega form factor and make it pin compatible with Due or simply put it directly on what is currently called Arduino Shield (http://www.envox.hr/eez/bench-power-supply/psu-digital-control.html) board. That MCU is equipped with many interesting stuff, and together with more capable display such as one with FT80x controller that could be an attractive combination even for more demanding projects. Again, the question is how to make it simple for use, and Lauchpad has Energia IDE (http://energia.nu/) but I'm not so sure that has a so dynamic community like Arduino does.

Talking about SBCs I see more attractive some open source solution such as BeagleBone instead of RPi.

This one is powerfull, 180Mhz M4, with floatingpoint, and uses same arduino IDE, lots of code, and have even more performant display libraries:
https://www.pjrc.com/store/teensy36.html (https://www.pjrc.com/store/teensy36.html)

https://forum.pjrc.com/threads/26305-Highly-optimized-ILI9341-%28320x240-TFT-color-display%29-library (https://forum.pjrc.com/threads/26305-Highly-optimized-ILI9341-%28320x240-TFT-color-display%29-library)

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 06, 2017, 05:27:08 am
Thanks for your suggestion, this one looks very powerful and has attractive price. For the beginning someone should spent some time to see if our firmware can be without many errors compiled when that board is selected from Arduino IDE. 
Title: Going down to calibrated zero ...
Post by: prasimix on February 14, 2017, 09:12:34 pm
Finally I find some time to test one detail that I ignored for too long time. It's how to go down to zero with programmed output voltage or current when channel is calibrated. Liv warns me about that long time ago that if DAC has not bipolar output (i.e. can generate negative voltage) that it's great chance that if DAC is programmed to zero that you cannot get zero on output due to various parts offsets. The simple solution is to shift reference ground of control loops op-amps to few tens of millivolts. In that case with programmed voltage set to zero output value will become negative and in process of calibration firmware will find a non-zero DAC value that relate to zero on the output.
Insisting on going down to zero possibly does not make a lot of sense for output voltage as for limiting current because if e.g. your resolution is set to 10 mA and during calibration you cannot reach e.g. less then 15 mA, firmware will lock your range to 20 mA that is a huge amount for many small loads and CC mode of operation is needed.
I tried that on Power board r5B9 (that changes is added in version r5B10 and later) where you have to do the following:

(http://i.imgur.com/SVY520a.png)

... on the PCB that looks like this where R42 ground is not cut but resistor is moved from its original position and soldered with one end directly to pin 5 of IC6. On current monitor side R60 and R61 is replaced with single resistor that is soldered on R61 position. Only cut on the PCB that is required is to isolate pin 5 on IC7 from ground. Voltage divider 10K+220R produce about 50 mV derived from +2.5 V voltage reference:

(http://i.imgur.com/ikoeumhl.jpg)

Making this change is not enough. You have to instruct firmware that when channel is not calibrated that take into account ground offset otherwise you'll get strange output values at the beginning of the scale. For example for set 0 V you can expect more then 800 mV or for 0 A a more then 100 mA will be measured without connected load :).

If you have Power board r5B9 and add above described hack you have to add into your conf_user.h the following code:

Code: [Select]
#undef CHANNELS
 #define CHANNELS \
    CHANNEL(1, CH_BOARD_REVISION_R5B10_PARAMS, CH_PINS_1, CH_PARAMS_40V_5A), \
    CHANNEL(2, CH_BOARD_REVISION_R5B10_PARAMS, CH_PINS_2, CH_PARAMS_40V_5A) \

When this hack is applied you are not able to reach full scale (i.e. 40 V) with R47, R57 set to 20K. Use e.g. 24K or 24K9 to ensure full scale for calibrated output.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ondreji on February 18, 2017, 02:42:33 pm
I'm considering to back this project but the case is too big. The shelf is 27cm depth thus I have to fit everything 23cm or so (max 25cm). I've managed to put everything into 230 x 240 x 130 (LxWxH).

The grey rectangle represent maximum outside enclosure dimension. I assumed 50mm height (incl heatsink) for power modules. Additional 2cm (per module) can be gained by rotating aux supply. The ultimate question is: would everything  fit into my box? I would say yes...

PS. It's probably too late but it would be great ho have support level with all the electrical related parts: Core Modules (1 x AUX power supply module, 2 x power boards, and 1 x Arduino shield), power board heatsinks, Arduino Due, LCD module, and Mean Well PSUs (not sure about including wire harness and binding posts)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 18, 2017, 06:14:50 pm
Hi, are you talking about depth or width? Suggested modules constellation is not possible with current Arduino shield at least not without adding extender 26-pin flat cables. Also if Power boards are far away from each other you'll need two instead of one cooling fan. That will also need additional fan speed controller.
Currently only what is possible is to rotate AC/DC power modules, increase enclosure depth and try to stay within width of Arduino shield that is 220 mm.

When time comes I'll try to redesign Arduino shield for "tower"/vertical enclosure where on lower section can have 2 x Power modules and 2 x AC/DC power modules or mains transformer on the upper level. AUX PS could stay on the rear panel.

Anyway, with the current width PSU is a solid base to put a DSO/MSO on top :)

(http://i.imgur.com/dgY5VHNl.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ondreji on February 18, 2017, 09:17:58 pm
Suggested modules constellation is not possible with current Arduino shield at least not without adding extender 26-pin flat cables. Also if Power boards are far away from each other you'll need two instead of one cooling fan. That will also need additional fan speed controller.
Currently only what is possible is to rotate AC/DC power modules, increase enclosure depth and try to stay within width of Arduino shield that is 220 mm.

It looks that I should keep Arduino & two power boards together as they are now. I'll go for taller enclosure to accomodate the shield on tow of two AC/DC PSUs side by side (this will add around 4-5cm) under it. AUX power supply will go to the space where PSU are at the moment.... Thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 18, 2017, 09:22:05 pm
AUX power supply will go to the space where PSU are at the moment.... Thanks!

Mind that AUX PS module has three connectors on its back. You can mount it on rear panel (or any other if you wish) with five 14 mm spacers.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on February 18, 2017, 09:27:13 pm
Suggested modules constellation is not possible with current Arduino shield at least not without adding extender 26-pin flat cables. Also if Power boards are far away from each other you'll need two instead of one cooling fan. That will also need additional fan speed controller.
Currently only what is possible is to rotate AC/DC power modules, increase enclosure depth and try to stay within width of Arduino shield that is 220 mm.

It looks that I should keep Arduino & two power boards together as they are now. I'll go for taller enclosure to accomodate the shield on tow of two AC/DC PSUs side by side (this will add around 4-5cm) under it. AUX power supply will go to the space where PSU are at the moment.... Thanks!
Why not have the AC/DC module in a outside enclosure? That way you only have the PSU boards in the enclosure.

Sent from my D6503 using Tapatalk

Title: Encoder selection
Post by: prasimix on February 19, 2017, 08:27:12 pm
I had a chance to test Passives EC12E20-24P24C-SW (http://www.tme.eu/en/details/ec12e20-24p24c-sw/incremental-type-encoders/sr-passives/) and Bourns PEC11R-4015F-S0024 (http://www.tme.eu/en/details/pec11r-4015f-s0024/incremental-type-encoders/bourns/) encoders. With encoder algorithm that is recently changed and I can say that both of them works nice. The difference is that former has discrete steps (detents) that you can feel when you turning it, while later is like analog pot, operating very smoothly (and it's more expensive).
Don't know what people will prefer more. :-//
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on February 19, 2017, 08:39:55 pm
Personally i like encoders with indents, steps or what ever the correct English term is :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 20, 2017, 01:36:57 am
The correct English term is "detent" - https://en.wikipedia.org/wiki/Detent
And yes, encoders with detents are also my personal preference, but smooth ones do suit certain applications.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 20, 2017, 01:46:55 am
Ok, the same Bourns series has models with detents, but I have to find one that is available in needed quantity. Another possibility is to find a model from some other company. I found that BI technologies also produce encoders, e.g. EN12-HS22AF20 that Farnell not stocked anymore but is available on Digikey and Mouser.
Title: EEZ Studio first preview
Post by: prasimix on February 21, 2017, 12:35:16 am
Finally I managed to make a very short intro video of EEZ Studio. A more videos will follows and its source code will be uploaded on the GitHub in near future.

https://www.youtube.com/watch?v=gfUSl8hXwjE (https://www.youtube.com/watch?v=gfUSl8hXwjE)
Title: Re: EEZ Studio first preview
Post by: jleg on February 21, 2017, 02:37:45 am
Finally I managed to make a very short intro video of EEZ Studio. A more videos will follows and its source code will be uploaded on the GitHub in near future.
that is really impressive - and looks promising.
I wonder if this tool would also be capable of creating GUI code for smaller units than DUE?
And is there also some possibility to handle multi-language setups?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 21, 2017, 03:02:15 am
Thanks for your input. Arduino Due is not a target platform but any display that will be added and has Arduino library. Right now is possible to generate a code for both AVR and ARM MCUs via UTFT library. Problem with smaller MCUs it that they cannot be used with controllers that is covered with mentioned UTFT library (see yellow note here (http://www.rinkydinkelectronics.com/library.php?id=51)). Not because library is not good but because display controllers on such displays are primitive and required lots of code. That's the reason why we'd like to include displays with other controller like FT80x from FTDI/BridgeTek that you can be found on e.g. Riverdi displays. They have a great selection (https://riverdi.com/product-category/displays/) with both resistive and capacitive touchscreens and many screen sizes.

The EEZ Studio project file handles multiple languages and multiple display orientations (i.e. portrait and landscape).

Anyway idea is at the end to have something like Nextion but fully open source and not limited to just one display's manufacturer. Hopefully we'll make it happen in the near future.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on February 21, 2017, 03:09:15 am
it would be a great help if this great solution supports PIC microcontrollers.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on February 21, 2017, 07:54:51 am
Right now is possible to generate a code for both AVR and ARM MCUs via UTFT library. Problem with smaller MCUs it that they cannot be used with controllers that is covered with mentioned UTFT library (see yellow note
ok, UTFT - thanks, that answers my question; so it looks like a Mega could also be usable target - or a Teensy... :)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: garnix on February 28, 2017, 12:29:38 am
OK, I tried to make a preliminary bezel to fit the 3.2" display in the 3.5" hole: http://www.thingiverse.com/thing:2139511 (http://www.thingiverse.com/thing:2139511)

It is just a first try - I took your new drawings from GitHub where you marked the dimensions for the 3.5" and 3.2" display: https://github.com/eez-open/psu-hw/blob/master/Mechanical/EEZ%20PSU%20H24005%20dual%20display%20hole.png (https://github.com/eez-open/psu-hw/blob/master/Mechanical/EEZ%20PSU%20H24005%20dual%20display%20hole.png)

I don't know the exact distance the LCD display is recessed from the front-panel, so I just assumed some value.

There are multiple ways to do such a bezel:

According to your drawings, the two displays are not centered, so a possible bezel can not be symmetrical. I think it would be more aesthetically pleasing to make a symmetric bezel - because you could then do a nice inward-curved bezel.

I think if we stick with those non-centered displays, then two separate front-panels would look nicer and this bezel thing would probably not look that nice.

Some other things to think about: Someone would need to print those 300+ bezels  >:D
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 28, 2017, 03:05:22 am
According to your drawings, the two displays are not centered, so a possible bezel can not be symmetrical. I think it would be more aesthetically pleasing to make a symmetric bezel - because you could then do a nice inward-curved bezel.

Thanks for that garnix. You're right I didn't manage to center them since 3.2" display position is defined with 40-pin connector that is plugged directly to the Arduino shield, while 3.5" display cannot be moved to much on the right since it's frame construction will overlap with 17 mm hole for encoder knob. The only solution to rectify that asymmetry is to move 40-pin 2 mm to the left (actually 2 mm to the right when viewing from the PCB top side).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 04, 2017, 08:25:51 am
can i ask how much shipping cost to jordan and usa for full unit? i mean device only price and shipping price?

450$ seems reasonable for it but other similar ones are the same without shipping which can cost something like 200$ to jordan!! is that how it people normally pay for such devices? i am really confused. also is it tracked or not.

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 04, 2017, 08:55:02 am
can i ask how much shipping cost to jordan and usa for full unit? i mean device only price and shipping price?

450$ seems reasonable for it but other similar ones are the same without shipping which can cost something like 200$ to jordan!! is that how it people normally pay for such devices? i am really confused. also is it tracked or not.

thanks

Direct shipment from Croatia to Jordan is $46. Tracking number is included.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 04, 2017, 09:44:49 am
what is the total weight? and what company do you use? Do you have Aramex?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 04, 2017, 06:49:50 pm
Mention price is for Croatian post (https://www.posta.hr/default.aspx?izracun&id=3417) service. Weight is 4 kg.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 04, 2017, 09:56:06 pm
Jordanian post seems to have similar prices too or even lower. I tried Aramex and it is so expensive, I imagine DHL is the same too. However, is tracking good enough like these companies or not? also, delivery time?
Title: r5B12 boards assembled
Post by: prasimix on March 12, 2017, 01:22:02 am
The new r5B12 PCBs arrived from ITEAD few days ago and I managed to assemble them to test if new added features are working as expected. All boards are now a little bit larger and I tried to keep the same mounting holes spacing as in previous builds.

AUX PS module

(http://i.imgur.com/2gInP9xl.jpg)

(http://i.imgur.com/0Qgif6bl.jpg)

This module now has additional MCU controlled power relay with NO and NC pins exposed and reachable from the rear panel (X6 connector). Cooling fan power is now isolated, 5V buck is removed and dual output 5 W AC/DC module from Vigortronix is used instead.

Power board

(http://i.imgur.com/ijG8bFwh.jpg)

(http://i.imgur.com/NhfQUGbh.jpg)

It's possible now to work with two current range e.g. 0-500 mA and 0-5 A (on the picture that is down left corner section with Q13, Q14, R63, R65). Current shunt monitor op amp (IC7) is changed to LTC2050HV (see sheet #3 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%203of12.png)). I also replaced bias power supply (see Sheet #2 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%202of12.png)) where now TL781 and LTC3260 are used instead of buck regulator (LM5574).
I found two stupid mistakes on this PCB: the power input connector (X2) is rotated i.e. not the same as on the previous board, and choke L1 that is now smaller need different holes spacing.

Arduino shield

(http://i.imgur.com/UDN5gVCh.jpg)

(http://i.imgur.com/XRbs03Qh.jpg)

The most important changes here is encoder that can be now mounted directly on the PCB. Due to that TFT display is moved to the left. PE (Earth) terminal is moved below encoder.
I added 20-pin 0.5 mm FFC connector (X20) for future upgrade to Riverdi 3.5" touch screen display with FT800 (resistive) or FT801 (capacitive) controller. Since that display also has audio, a small audio amplifier is also added (TPA6205).
Playing with PCB layout I succeed to swap control lines for AC power (PWR_SSTART and PWR_DIRECT), but that is corrected and uploaded on the GitHub.

I need to test few more things and if everything is fine I can send to ITEAD final Gerbers and BOM to initiate PCB assembly of few sets first and after that to proceed with the rest that needed for crowdfunding campaign fulfillment.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on March 12, 2017, 02:06:12 am
Love your work. When this thread started out i thought here we go another lab PSU. Well all i can say is great achievement and i look forward to my new PSU .

Sent from my D6503 using Tapatalk

Title: Ethernet controller oscillator issue..
Post by: prasimix on March 12, 2017, 08:03:47 pm
Yesterday I had a chance to see what's happen if so-called bias or feedback resistor is not present in oscillator circuit. W5500 Ethernet controller require 25 MHz clock, and I missed to add 1 Mohm in parallel with crystal. Without that resistor oscillator don't want to start on the r5B12 PCB revision (I didn't notice that on r3B4).

Anyway if anyone of you how has an issue with Ethernet please first check if oscillator is running (XO, pin 31 should have 25 MHz signal).

I added THT resistor as on picture below and that resistor became R176 (see Sheet #10 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%2010of12.png)) in latest build on the GitHub.

(http://i.imgur.com/dDR8vOJl.jpg)

Title: Riverdi 3.5" display demo
Post by: prasimix on March 13, 2017, 07:10:39 pm
I manage to activate a 3.5" Riverdi touch screen display. This is a cheaper resistive touch screen (http://www.tme.eu/en/details/rvt3.5bcfwr00/intelligent-displays-modules/riverdi/rvt35b320240cfwr00/) model with FT800 controller, and capacitive touch screen (http://www.tme.eu/en/details/rvt3.5bcfwc81/intelligent-displays-modules/riverdi/rvt35b320240cfwc81/) model with FT801 controller seems that is pin compatible.

Please note that display has to be rotated for 180 degrees since it's going to be mounted vertically not horizontally (as in a handheld device) for optimal viewing angle. On the picture below I just place it over Arduino shield but in practice it need its mounting rail or bezel (e.g. see garnix proposal in post #636 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1146678/#msg1146678)) that has to be fixed on the front panel.

(http://i.imgur.com/FZQJED6.jpg)

So now we have an upgrade path to more capable display (faster controller, truetype fonts, selection of resistive and capacitive touch screen, built in audio, etc.).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mubes on March 13, 2017, 08:14:35 pm
That looks great. Personally I would prefer to wait for this upgraded display (+matching bezel etc.) but that makes your logistics horrendously more difficult, I suspect....

DAVE
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 13, 2017, 08:18:29 pm
Not just difficult but also impossible if we are talking about campaign fulfillment here. This display is many times more expensive and we'll need some time to add support for it. 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 14, 2017, 01:58:52 am
So the question is: what are the types of displays that are supported with this software of yours (EEZ studio)? I guess support for traditional PIC MCUs is not yet there so maybe just arduino ones?

I have designed a power supply circuit and it is working, next I will do the other stuff reaching down to display choice. Since I wanted to manufacture it I choose PIC MCU not arduino but driving TFT with a good design software is very hard for PIC or any other MCU as well as very pricey.

What will be more cost effective, your solution or something like Nixteon one?

thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 14, 2017, 02:06:38 am
EEZ Studio will be more cost effective, since it will be released as FOSS, but not time effective. I have no idea how could be possible that new platform (PIC, etc.) is added in e.g. this year without new people are not jump into development.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 14, 2017, 03:13:53 am
Being a free software is always a good advantage, but what are the currently supported platforms and hardware? what prices are they tagged with?

Arduino support is good for now if you could make it work with really cheap hardware. I guess the downside is that one would need an arduino for this job while having another MCU for the rest of the design... but don't worry, this is how nexteon works too.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on March 14, 2017, 03:43:05 am
does it support these great and cheap displays: http://www.buydisplay.com/default/tft-display (http://www.buydisplay.com/default/tft-display)
Title: Firmware M4 is released (Triggering system and list programming)
Post by: prasimix on March 23, 2017, 02:33:59 am
Firmware M4 (https://github.com/eez-open/psu-firmware/releases/tag/m4) is released last week. Two main features are triggering system and list programming (sort of "arbitrary waveform generator"). The later one asked for many optimizations and end results is I believe a very satisfactory for such class of device (DIY and open source).

Triggering system allows usage of four trigger source:
When channels are triggered they can be programmed to new fixed output voltage and current ("step" mode) or execution of list of output values will be started.
List could contain up to 256 different output voltage, current with variable duration. Duration (DWELl) could be from 1 ms to 65535 seconds. List can be used when channels are also in "special" modes: tracking and coupling in series and parallel.

I made two part video about above mentioned functionalities and I hope you'll like how quick and easy one can generate e.g. test pattern directly on the device without any extra software and PC connectivity. Your comments and doubts are highly welcomed.

https://www.youtube.com/watch?v=hv_wY3ePyhI (https://www.youtube.com/watch?v=hv_wY3ePyhI)

https://youtu.be/yGn3uoRkYyg (https://youtu.be/yGn3uoRkYyg)
Title: Special "milestone"
Post by: prasimix on March 23, 2017, 03:16:15 am
I also opened a new "milestone" called Your help/assistance needed (https://github.com/eez-open/psu-firmware/milestone/6), a title that is self-explanatory. If you'd like to join us in firmware related development that would be the first place where to look. This list will be updated with new issues or existing one will be moved to next development milestone when we agreement about development are reached.

As suggested there, all contributions are managed under Collective Code Construction Contract (C4) (https://rfc.zeromq.org/spec:22/C4/).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on March 23, 2017, 04:10:02 pm
Awesome! I wouldn't even dare to attempt writing such a complex piece of firmware as this. :popcorn:
Title: Dual range current measurement in practice
Post by: prasimix on March 24, 2017, 10:28:55 pm
This a follow up on post #611 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1128534/#msg1128534). I finished testing dual range current and it seems that everything works just fine. Now I regret that I did not put third (0 - 50 mA) and even fourth range (0 - 5mA) :). There is enough control pins left when I/O expander is upgraded from 8-bit to 16-bit. Never mind.
One thing that is rather confusing to me is required current sense resistor value for the lower current range. For high current 0R020 (R65) is used and I expected that with same current monitor (now LTC2050HV, but can be OP27 as before, too) for 10x smaller range I'll need 10x higher resistance (i.e. 0R2). But that didn't work: the range was "shorter" for ~10 mA on the higher end. I expected that with even higher resistance (e.g. 0R22 or 0R24) I can reach or goes beyond 500 mA point. But that also didn't work. It actually make range ever shorter. After that I tried to go in another direction: selecting lower resistance. With R63 of 0R166 or lower it's possible now to have full low current range both uncalibrated and calibrated. Why is that?  :-//
Please find below detail of current monitoring part that is extract from latest (https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12.pdf) schematic. I don't know if that is somehow related to shifted ground reference (non-inverting input on IC7A) that is ~50 mV (reason for that is addressed in post #621 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1136382/#msg1136382)).

(http://i.imgur.com/lOx92DSh.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on March 25, 2017, 05:38:45 am
It would be handy to have a function that could automatically generate lists with common waveform shapes (like sine, pulse, pulse trains, sawtooth, ramp up/hold/down).  It might be a bit much to do from the screen if you included things like offsets from 0,  min/max values, etc,   but a tool that could do it over SCPI would be neat.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 25, 2017, 10:07:13 am
Thanks. That should be one of the next steps: to add basic shape generation that you're mention over local display editor. It shouldn't be too complicated to do now when all needed infrastructure is in place. Maybe the biggest part will be to specify what type of shapes and params makes sense.

Title: Re: Dual range current measurement in practice
Post by: Macman on March 25, 2017, 06:55:21 pm
One thing that is rather confusing to me is required current sense resistor value for the lower current range. For high current 0R020 (R65) is used and I expected that with same current monitor (now LTC2050HV, but can be OP27 as before, too) for 10x smaller range I'll need 10x higher resistance (i.e. 0R2). But that didn't work: the range was "shorter" for ~10 mA on the higher end. I expected that with even higher resistance (e.g. 0R22 or 0R24) I can reach or goes beyond 500 mA point. But that also didn't work. It actually make range ever shorter. After that I tried to go in another direction: selecting lower resistance. With R63 of 0R166 or lower it's possible now to have full low current range both uncalibrated and calibrated. Why is that?  :-//

I am no expert on analogue circuitry and I may be totally wrong but what you observed seems to make sense to me.

I would have expected the required value for R63 to be 0R2 - 0R02 = 0R18 Ohm

The voltage across the shunt resistors for the 5A in the 5A range is 0.02 * 5 = 0.1V

The voltage across the shunt resistors (with a 0R2 resistor for the 0.5A range) for the 0.49A in the 0.5A range is (0.2 + 0.02) * 0.49 = 0.1078V. This I'm guessing is the point at which the input is becoming saturated.

In order to prevent the input becoming saturated the value of R63 needs to be reduced.
Having a smaller value for R63 will allow a higher current to be measured.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 25, 2017, 07:27:26 pm
Thanks macman, that's probably the right explanation. I forgot to take into account lower (hi range) sense resistor, that is also used for measurement in lo range case. I tried R63 as 0R18 but it was still a little bit to high, possibly for tolerances of both R63 and R65, and as I said, from 0R166 and lower a full 500 mA scale.
But, I still don't understand how or which input became saturated? I can imagine that ADC input could become saturated but it's here used for passive monitoring not as an active element in the current control loop.
With too high rense resistor when "saturation point" is reached anything between that point and max. value (i.e. 500 mA) will give the same output current that indeed looks like saturation. So that term makes sense.

EDIT: Huh, I'm still too sleepy. I forgot a small detail that max. output is defined with 2.5V voltage reference  ;). Therefore everything is just as it has to be.
Title: Output current accuracy in CC mode
Post by: prasimix on April 04, 2017, 01:03:44 am
I finally managed to obtain a better DMM, if that can be said for Fluke 287. It's new, manufactured two months ago, and I presume that is good enough calibrated. Since in firmware M5 we are adding third decimal place for output values I'd like to see is that possible in practice. Chosen voltage reference, and combination of 15-bit ADC and 16-bit DAC should provide 1 mV, 1 mA resolution.

If output is in CV mode of operation it seems that programmed output voltage value can be accurately maintained for many hours (when initial drop without remote sensing is ignored). Don't know if the same can be said for many days or weeks what professional units usually claims. I didn't leave it for such long period yet.

Another scenario is CC mode of operation. There I have something that I cannot explain. Lets take as example an extreme when max. output current is set. With voltage set to 15 V and power resistor of 2 Ohms output will surely enters CC mode for current set to 5 A. Current control loop measure current as voltage drop on R65 (see down right corner, Sheet 3 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%203of12.png)). Power dissipation on R65 is 0.5 W for 5 A, that will heat it considerably very quickly (but it can manage it since it's rated for 2-3 W) and that will affect its resistance despite of how low TCR it has.
Change in its resistance should affect output current and that is something that I can be easily monitored on Fluke which has relative mode of operation (Reference is starting value). I got the following situation after about minute:

(http://i.imgur.com/SnpTOKil.jpg)

Current starts to drop as R65 is heating up. That I understand. Something that I don't understand why ADC cannot measure that difference. That -0.34% or 17.2 mA on 5 A represents almost 113 LSBs/levels/steps on 15-bit scale, but ADC reports changes of barely +/-1 LSB. ADC (IC13, see Sheet 4 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%204of12.png)) measure I_MON (pin 6 on IC7A).
Why I need that? If ADC can measure that difference it could be possible to some extent to maintain with firmware set current in CC mode despite the Rsense resistance fluctuation. Or should I simply forget that since difference is not so huge (I didn't measure more then -0.4%). Other possibility is to push user during calibration process to wait for e.g. 60 or more seconds before externally measured value can be entered that will be used for calculating required correction.
Title: Re: Output current accuracy in CC mode
Post by: Macman on April 05, 2017, 09:56:30 am
Why I need that? If ADC can measure that difference it could be possible to some extent to maintain with firmware set current in CC mode despite the Rsense resistance fluctuation. Or should I simply forget that since difference is not so huge (I didn't measure more then -0.4%). Other possibility is to push user during calibration process to wait for e.g. 60 or more seconds before externally measured value can be entered that will be used for calculating required correction.

As no one else has answered yet. I will give my guess.
I assume when in constant current mode the current for the constant current is measured by the voltage across R65. When R65 heats up less current is required to give the same voltage across R65 so the PSU gives less current output.
When in constant current mode the ADC measured value will be the same irrespective of the temperature of R65 because the PSU will change its output control to maintain the constant voltage across R65. 
Title: Re: Output current accuracy in CC mode
Post by: prasimix on April 05, 2017, 05:34:42 pm
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 07:00:22 pm
Ppm/degrees Celsius?

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 07:01:45 pm
Also is there any flow from low current range?

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 07:23:13 pm
No. What i meant is is there flow from the low range when the high range in in operation?

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2017, 07:25:48 pm
Shouldn't be since Q13 is switched off in that case.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 07:26:28 pm
Have you taken measurements?

Sent from my D6503 using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 07:29:36 pm
Also what does the data sheet say on temp Vs resistance for the sense resistor? Could there be VD at the board to board connectors? (Volt Drop)

Sent from my D6503 using Tapatalk
Edited

Also what do the relays specs say?
Title: Re: Output current accuracy in CC mode
Post by: Macman on April 05, 2017, 07:36:09 pm
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?

I don't know how 'professional' units solve this issue. Other than what you have already suggested the only things I can think of are:

1. Blow air over the shunt resistor.

2. Put a temperature sensor close to the shunt resistor and make a compensation in software.

3. Have a simulation in the software for the temperature changes in the shunt resistor and make a compensation to the current based on the simulated temperature.

With regard to the calibration, my preference would be to allow some time for the temperature of the shunt resistor to stabilise before entering the measured value.
 
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2017, 07:58:12 pm
Also what does the data sheet say on temp Vs resistance for the sense resistor? Could there be VD at the board to board connectors? (Volt Drop)

Cannot find anything in particular, apart from ? ±75 ppm/oC figure (link (http://www.tme.eu/en/Document/1268f259ae334f9f5211971406ec04c2/ASC_WW25N.pdf)).

Sent from my D6503 using Tapatalk
Edited

Also what do the relays specs say?

There is no doubt that some voltage drop exist along a way from Rsense point to output binding posts, but that makes difference only in CV mode. When in CC mode the same current flows, and macman remark makes sense.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on April 05, 2017, 08:07:30 pm
+-0.0075% per °C that is not really that much. Must be something else?

Sent from my D6503 using Tapatalk
Title: Re: Output current accuracy in CC mode
Post by: prasimix on April 05, 2017, 08:15:05 pm
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?

I don't know how 'professional' units solve this issue. Other than what you have already suggested the only things I can think of are:

1. Blow air over the shunt resistor.

2. Put a temperature sensor close to the shunt resistor and make a compensation in software.

3. Have a simulation in the software for the temperature changes in the shunt resistor and make a compensation to the current based on the simulated temperature.

With regard to the calibration, my preference would be to allow some time for the temperature of the shunt resistor to stabilise before entering the measured value.

My comments on:
1. That is already in place, and possibly thanks to that current drift is stabilized pretty quickly and maintained over longer period of time.
2. I'll skip that for a while, but could possibly be cheaper then deploying a massive low TCR sense resistor.
3. Sounds good, question is where to acquire temperature data. The NTC1 (Sheet 1 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%201of12.png)) is primarily used to monitor pre-regulator section and it's on the opposite end of the PCB. But, ADC (IC 13) has built-in temperature sensor. Maybe it can be use as a basis for such simulation.

Finally a good news is that on low range I didn't notice any current drift when e.g. Iout= 450 mA (max. is 500 mA) for over an hour. I was think that situation is the same as in high range, but it is not :).

What can be done almost instantly is introducing "heating up" delay when high range calibration is under way, as you also preferred.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2017, 08:28:18 pm
+-0.0075% per °C that is not really that much. Must be something else?

Sent from my D6503 using Tapatalk

Not for people like you and me, but for one who is "calibrated" in ppms that is possibly huge, ugly and unacceptable  :-//.
Let's say that on max current resistor temperature rise for 50 oC, that is 0,375% what is in range with what I initially reported (0.34%).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on April 05, 2017, 09:38:53 pm
Simply bigger res with same TCR will have lower "to ambiant" thermal resistance.
Two for four bigger sized res with big coper area for R65 could minimise the effect.
Otherwise, the best approach is to have a T sensor near the res (below, through a pcb hole ?) and calibration (adc correction to apply vs temp)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2017, 11:00:48 pm
Adding at least one more resistor (R65A) shouldn't be a problem. There is enough space on existing PCB layout. It should looks like this:

(http://i.imgur.com/Rmldm2el.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2017, 11:32:37 pm
... and even third (R65B) can be placed :)

(http://i.imgur.com/QdPXNDfl.png)

Now, one can add third and fourth current range (50 mA, 5 mA) and we have a new power board revision  :phew:.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on April 06, 2017, 01:30:37 am
You don't really need a temperature sensor.  You can probably do some software based compensation.  You know the voltage across the resistor and can calculate the power it is dissipating.  From that you should be able to come up with an approximate temperature and compensation factor.  It's far from perfect, but should offer an improvement over an uncompensated value.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on April 06, 2017, 02:07:31 am
With acceptable power dissipation as now with multiple R in // that is exactly what I have in mind.
But you still need to have an in case ambient temp measurement (which seems to be the case) at which you will apply the deltaT
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 06, 2017, 02:08:18 am
Firmware based compensation has to be pretty smart. For example let's say that we enters CC mode with output current set to 5 A. At the beginning it could be 5.018 A and it will gradually decreased to 5.000 A (± 1 mA depending of how accurate calibration was), a -0.36 % change. But if output current is set to new value e.g. 1 A, initial current will be first lower e.g. 0.991 A and will start to increase (as resistor is cooling down) to 1.000 A. That is +0.91 % change that has to be taken into account. 
Title: Temperature compensated current measurement
Post by: prasimix on April 09, 2017, 05:14:18 pm
I didn't have a lot of time to search around to find out how current measurement could be temperature compensated directly in analog circuit, and wondering if you have something in mind. Possibly such kind of question is more suitable for metrology (https://www.eevblog.com/forum/metrology/) section of the forum, but just to be in line with what is recently discussed I'm asking it here.
My first guess is that NTC could be introduced in parallel with either R60 or R70 (see sheet #3 (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%203of12.png)) to affect (decrease) IC7 gain as R65 is start to heat up. Mentioned NTC could be in fact consists of two resistors connected in series one ordinary and another NTC to easier find a proper ratio.
Another question is where to place NTC: on top layer near (side by side) the R65 or on the bottom layer beneath R65?
Does it represent too simplistic approach, or something that could be deployed for level of accuracy that we are talking about here (i.e. to have up to ±1 mA accuracy on the full scale of 5 A)?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on April 09, 2017, 11:36:06 pm
You could add a bunch of thermal vias right inside the sense resistor pads to pull some heat through to a copper area on the underside of the board. I would mount the SMT thermistor directly under the sense resistor(s), on other side of PCB.

You could go for off-board sense resistor to allow for much better heatsinking but that adds assembly costs I guess.

Edit: 1mA accuracy on 5A FSO == 0.02% would be hard, do you mean 1mA accuracy on your low amp range setting?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 10, 2017, 12:52:46 am
Edit: 1mA accuracy on 5A FSO == 0.02% would be hard, do you mean 1mA accuracy on your low amp range setting?

You're right that is 0.02% but that was just my guess. Currently I have 18 mA on 5 A (-0.36%). If we can cut that by 10, down to about 2 mA, that will be good achievement.

Thanks for pictures for that power resistors. Such resistor alone properly cooled could be sufficient to decrease temperature drift significantly, but I'm afraid that is something in range of 20 EUR/USD in qty of one?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on April 10, 2017, 01:06:12 am
To get that accuracy you will need to do some software linear calibration procedure for current measurement so you can just use the 5% accuracy types (circa 2 GBP) or if you want 1% they are a little more.

https://www.digikey.co.uk/products/en/resistors/through-hole-resistors/53?k=Current+Sense+Resistors&k=to220&pkeyword=Current+Sense+Resistors&FV=ffe00035&mnonly=0&newproducts=0&ColumnSort=1000011&page=1&stock=1&quantity=0&ptm=0&fid=0&pageSize=25 (https://www.digikey.co.uk/products/en/resistors/through-hole-resistors/53?k=Current+Sense+Resistors&k=to220&pkeyword=Current+Sense+Resistors&FV=ffe00035&mnonly=0&newproducts=0&ColumnSort=1000011&page=1&stock=1&quantity=0&ptm=0&fid=0&pageSize=25)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 10, 2017, 01:13:01 am
Resistor tolerance here is not an issue. It could be anything since software calibration will rectify that to the great extent. I have an issue with TCR, and resistor what I'm currently use has 75 ppm/K and for example suggested PWR221T-30-R020J (https://www.digikey.co.uk/product-detail/en/bourns-inc/PWR221T-30-R020J/PWR221T-30-R020J-ND/3786148) has "massive" 600 ppm/K but that could be misleading since with its TO220 package I can easily mount it on the pretty big heatsink. Hopefully that can give us effective TCR below 10 ppm/K.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: voltsandjolts on April 10, 2017, 01:42:03 am
Yes, good point that 600ppm/K is a poor TC but as you say TO220 heatsinking might make it an improvement over SMT 75ppm/K

How about these 15ppm SMT:

https://www.digikey.co.uk/product-detail/en/stackpole-electronics-inc/CSSH2728FT20L0/CSSH2728FT20L0TR-ND/1923231 (https://www.digikey.co.uk/product-detail/en/stackpole-electronics-inc/CSSH2728FT20L0/CSSH2728FT20L0TR-ND/1923231)

Edit: Sorry that was 1K quantity pricing, unit price is 1 GBP:
https://www.digikey.co.uk/product-detail/en/stackpole-electronics-inc/CSSH2728FT20L0/CSSH2728FT20L0CT-ND/1923243 (https://www.digikey.co.uk/product-detail/en/stackpole-electronics-inc/CSSH2728FT20L0/CSSH2728FT20L0CT-ND/1923243)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 10, 2017, 01:50:17 am
Wow, 5x better TCR for bargain price. Sounds fantastic! I wish I have some of them before.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ebclr on April 12, 2017, 09:47:17 am
A little expensive, but better

https://world.tmall.com/item/543882232437.htm?spm=a312a.7700714.0.0.UHpe5h
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 12, 2017, 04:12:36 pm
A little expensive, but better

https://world.tmall.com/item/543882232437.htm (https://world.tmall.com/item/543882232437.htm)

This one is still 15 ppm (link (https://www.digikey.com/product-detail/en/vishay-foil-resistors-division-of-vishay-precision-group/Y14880R02000B9R/Y1488-.02BCT-ND/4333489)), and cost a fortune, possibly due to exposed 4-wire terminals.

Anyway, it seems that affordable low TCR resistors exists, remaining question is what about adding NTC for temperature compensation? In that case we'll have more freedom in selecting current sense resistor with theoretically and TCR.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on April 12, 2017, 06:50:38 pm
Passive compensation with a NTC would be very elegant but need a lots of tests and validations to select the good parts.
Big affordable low TCR resistor will already give excellent results and necessitate a this stage no more development (apart small routing mods).
If as a later option you want to be able to squeeze the last precision/compensation from the measurement, just expose an ADC input somewhere and a way to mount (a hole) a little PCB with a spacer on top of the resistor(s). It would give the possibility to add a fast thermocouple junction and it conditioning circuit.
Yes, this is a not very elegant big hammer, but with max reproducibility and result.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Teemo on April 12, 2017, 08:03:25 pm
Hello all. I was just stopping by and see a nice discussion here. I was beginning to think maybe there are some more alternative ideas how to compensate in real time for the shunt temperature drift.
 The one idea that comes to my mind for example is periodic real time recalibration with cool(unheated) shunt. Lets say in about every 1s. The extra shunt would be turned on for only a small amount (few ms) of time to prevent it heating, idle times it be bypassed with MOSFET(those are dirt cheap these days).
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Liv on April 12, 2017, 08:32:58 pm
If you look at the best branded PSU, there is nothing done to compensate for the drift of the shunt resistance. Use good resistors, and most importantly, with a large margin of power.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on April 24, 2017, 04:57:35 am
Hello prasimix,

i can confirm what liv is saying.
Please have a look at the screenshot from my power supply.
I enter for example 3,444 amps and you can see on my keysight it
Is very stable also for a longer time period.
(https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/?action=dlattach;attach=310340)

Best regards

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 24, 2017, 05:36:58 pm
Thanks, I got the point. What type and how many resistors you have in your design?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Electronix on April 25, 2017, 04:43:21 am
Hi prasimix,

I used one of the following resistors :

https://www.conrad.de/de/messwiderstand-002-10-w-l-x-b-x-h-22-x-4-x-17-mm-isabellenhuette-pbv-002-1-st-447374.html (https://www.conrad.de/de/messwiderstand-002-10-w-l-x-b-x-h-22-x-4-x-17-mm-isabellenhuette-pbv-002-1-st-447374.html)

For shunt measure I used an op27.

Cheers

Sven
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 25, 2017, 04:47:51 pm
Ok, that's a real stuff both by price and capacity (10W!). It cannot be simply used in my design.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on May 11, 2017, 08:36:42 pm
I'm guessing now that your campaign has ended there is no way to order one until the next batch?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2017, 09:35:28 pm
I'm guessing now that your campaign has ended there is no way to order one until the next batch?

You're right (if next batch happen).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on May 28, 2017, 04:15:12 pm
Any chance of an update? I can't wait to get mine!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 28, 2017, 04:24:43 pm
Any chance of an update? I can't wait to get mine!

Please follow this (https://www.eevblog.com/forum/crowd-funded-projects/preparing-eez-h24005-for-crowdfunding/) thread. I'm going to place a new update on the campaign pages when assembled PCB modules arrived.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on May 28, 2017, 04:53:51 pm
Thanks, will do,
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: void_error on June 13, 2017, 10:19:39 pm
I was looking at the post-regulator schematic (https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B12%20Sheet%203of12.png) on GitHub and noticed R63 is 0R16, shouldn't it be 0R18 to get 10*R65 (10*0R02) on the 500mA range when they're in series?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 14, 2017, 12:31:00 am
You're right, but it seems that something lower is needed because with 0R18 I didn't manage to get full scale (500 mA) for calibrated channel. If I remember correctly max. value for full range was about 0R176 so I picked the next lower value that is easy to obtain.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on June 20, 2017, 09:40:37 am
I noticed on your blog post that you are having trouble sourcing the ZL305-08.

A substitute might be the Samtec CES-108-01-G-S, available at Digi-Key.

https://www.digikey.com/product-detail/en/samtec-inc/CES-108-01-G-S/SAM10955-ND/6692680 (https://www.digikey.com/product-detail/en/samtec-inc/CES-108-01-G-S/SAM10955-ND/6692680)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 20, 2017, 04:31:38 pm
Thanks for that! It looks good. I had trouble finding part with height of 5 mm, most of them are about 7-8 mm. Anyway, what was said in latest update is still valid, ZL305-08 was already purchased and will be included with each bare PCB's set.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Cthulhoid on July 07, 2017, 12:14:20 pm
I'm guessing now that your campaign has ended there is no way to order one until the next batch?

You're right (if next batch happen).

Reading the other thread I understand why that's an "if". Of course, my current power supply decided to die this week to reinforce the message that I should have pre-ordered when I had the chance.  :(
Title: Firmware v1.01
Post by: prasimix on July 20, 2017, 12:57:02 am
A new firmware minor release (v1.01) is now available on the GitHub (https://github.com/eez-open/psu-firmware/releases/tag/1.01) that fix a problem with channel's calibration for older Power boards (i.e. r5B9). It has also include few other small fixes and improvements including possibility to choose which USB port will be used for serial communication (firmware upgrade and SCPI control). The so-called native USB is now set as default one.
Title: Small hack for better current sensing?
Post by: prasimix on August 12, 2017, 07:57:19 pm
I was played recently with few ideas how to reduce offset caused by current sense resistor heating as discussed few posts ago and what was reported as issue #40 (https://github.com/eez-open/psu-hw/issues/40). I tried to cut current sense resistor R65 value to half (from 0R020 to 0R010 (http://www.tme.eu/en/details/lrp2512-r010-1%25/2512-smd-resistors/viking/lrp12ftwrr010/)). That also require IC7 gain to double (R60, R70 from 1K91 to 3K9). Of course the low range resistor R63 is also changed from 0R160 to 0R082 (http://www.tme.eu/en/details/cs1206-0r082-1%25-hp/1206-smd-resistors/viking/cs06ftgur082/).
But I also glued a small heatsink on R65 as shown on the following pictures:

(http://i.imgur.com/KWt9mokl.jpg)

(http://i.imgur.com/ifqsXCFl.jpg)

It seems that offset is now more then three times better (lower). Mounting of heatsink is not optimal, since the R65 is tiny (2512) in comparison with heatsink surface, but thermal glue (http://www.tme.eu/en/details/termoglue-10/glues/ag-termopasty/ag-termoglue-10g/) did the job (after 24 hours of drying). We'll see if such mounting will survive for extended period of time. Used heatsink is ICKSMDK8SA (http://www.tme.eu/en/details/icksmdk8sa/radiators/fischer-elektronik/).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Strada916 on August 12, 2017, 09:03:51 pm
I got an email this morning saying my PSU is on its way. Yay. Sorry for hijacking.

Sent from my SM-A520K using Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: John_K on August 18, 2017, 11:48:46 am
I just received my unit and have it mostly assembled.

The fit is very good except for the front panel: the PCB appears to be forced away from the front panel on the right side (where the two F1 boards plugin) - this causes the upper case to not align with the screw holes on the two F1 boards and the mounting screw for the front right foot pushes up against the front panel PCB.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: soeren72 on August 18, 2017, 04:28:52 pm
Also got mine, noticed the missing screws, but had them myself.
small angle on the connection between front board and power boards, connector i gaping 1mm, so not big problem
Screws for the feet was hell to get in, because of paint.
Calibration went fine, everything just works. and I enjoy using it  :)

Big thanks to prasimix
 
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 18, 2017, 04:29:40 pm
I just received my unit and have it mostly assembled.

The fit is very good except for the front panel: the PCB appears to be forced away from the front panel on the right side (where the two F1 boards plugin) - this causes the upper case to not align with the screw holes on the two F1 boards and the mounting screw for the front right foot pushes up against the front panel PCB.

I'm not really sure that I understand your problem. Yes, it's true that right side of the PCB is slightly higher when mounted but that shouldn't make any problem to plug in both Power modules in place.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 19, 2017, 03:40:33 am
My unit powers up and did the touchscreen cal.   But it fails self test with ADC and IOEXP failures on both CH1 and CH2.  Any ideas?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 19, 2017, 07:07:58 am
My unit powers up and did the touchscreen cal.   But it fails self test with ADC and IOEXP failures on both CH1 and CH2.  Any ideas?

Oops, that doesn't sound good. Please check if you have +48V on power board inputs first.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 19, 2017, 08:45:47 am
My unit powers up and did the touchscreen cal.   But it fails self test with ADC and IOEXP failures on both CH1 and CH2.  Any ideas?

Oops, that doesn't sound good. Please check if you have +48V on power board inputs first.

I found the problem...  red and black wires swapped in one of the 48V Molex connectors...  cable making monkeys need to be spanked...

I fixed that and channel B started passing.    Chan A still had I/O expander and DAC errors.  I tried swapping power boards between the channels and still had problems.   I then started to do a more methodical swap / record results and it started passing self tests...  I haven't had a chance to put it through it's paces.


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 19, 2017, 04:29:27 pm
My unit powers up and did the touchscreen cal.   But it fails self test with ADC and IOEXP failures on both CH1 and CH2.  Any ideas?

Oops, that doesn't sound good. Please check if you have +48V on power board inputs first.

I found the problem...  red and black wires swapped in one of the 48V Molex connectors...  cable making monkeys need to be spanked...

I fixed that and channel B started passing.    Chan A still had I/O expander and DAC errors.  I tried swapping power boards between the channels and still had problems.   I then started to do a more methodical swap / record results and it started passing self tests...  I haven't had a chance to put it through it's paces.

Ok, so issue with one Power board is resolved. If second one still have a problem, then you can disconnect it from the Arduino shield (on the front panel) to check easier under power bias voltages on ferrite beads FB1 (+5V), FB2 (+5V) and FB3 (-5V).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 19, 2017, 10:11:39 pm

Ok, so issue with one Power board is resolved. If second one still have a problem, then you can disconnect it from the Arduino shield (on the front panel) to check easier under power bias voltages on ferrite beads FB1 (+5V), FB2 (+5V) and FB3 (-5V).


Everything seems to be working now.   The swapped wires in one of the power cables fixed the problem where both channels were failing.   After fixing the cable,  the issue where only one channel was failing seemed to be related to a bad connection somewhere (power cable or front panel).  I'm thinking power cable.  Anyway, it's working now.

It might be useful to be able to go into some diagnostic mode (instead of just hanging) if the self tests fail.  Not sure what that mode can / would do though.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 19, 2017, 10:41:13 pm
It might be useful to be able to go into some diagnostic mode (instead of just hanging) if the self tests fail.  Not sure what that mode can / would do though.

 :) Any additional diagnostic would require functional communication with existing peripherals on the Power boards (i.e. I/O expander, ADC and DAC) or more devices in parallel for probing and monitoring. But, if e.g. bias voltages are wrong or not available, or physical connection is compromised then we have limited possibility to acquire additional information that could be valuable for diagnostic.
Also as you can see, if just one channel didn't pass self-test another one will be available for use.

Still, if someone have any idea what to do on top of what we have now please open a new issue in Github.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: garnix on August 19, 2017, 11:54:10 pm
Or is there a description which colorored cable goes into which slot in the connector? So we can quickly check if the cables are correcly wired?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 19, 2017, 11:57:23 pm
Or is there a description which colorored cable goes into which slot in the connector? So we can quickly check if the cables are correcly wired?

Yes, such information are available under Wire harness (http://www.envox.hr/eez/bench-power-supply/wire-harness.html) section on the web (PDF version for download is also available).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 20, 2017, 12:14:10 am
Also maybe, if one channel passes and the other fails,  allow it to work in single channel mode.  That way the unit is semi-usable if a power card craps out.  I suspect that a very large percentage  of use of the supply will be single channel.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 20, 2017, 12:18:19 am
Also maybe, if one channel passes and the other fails,  allow it to work in single channel mode.  That way the unit is semi-usable if a power card craps out.  I suspect that a very large percentage  of use of the supply will be single channel.

That we already have. All what you need is to click on "Home" icon on self-test error report page.
You can do that even if both channel didn't pass self-test. Obviously there is no use of it except that it allow access to system settings page.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on August 20, 2017, 04:19:43 pm
Or is there a description which colorored cable goes into which slot in the connector? So we can quickly check if the cables are correcly wired?

Confirming my cables were fine out of the box. 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on August 25, 2017, 11:19:13 pm
Just built mine, seems to be 6 missing black screws for mine, not 2, (one visit to rs components later) only the 2, little bag of 4 was under a cardboard fold

So far i haven't run the calibration, but no smoke has been released as of yet. the UI, and USB both are working fine,
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mleyden on August 26, 2017, 09:10:07 am
I just received my unit and have it mostly assembled.

The fit is very good except for the front panel: the PCB appears to be forced away from the front panel on the right side (where the two F1 boards plugin) - this causes the upper case to not align with the screw holes on the two F1 boards and the mounting screw for the front right foot pushes up against the front panel PCB.

I'm not really sure that I understand your problem. Yes, it's true that right side of the PCB is slightly higher when mounted but that shouldn't make any problem to plug in both Power modules in place.

I have same problem. It is not possible to align the screw holes on the power board heatsinks with the holes in the bottom case (perhaps with a lot of force applied to the front panel pcb???). It appears that this is due to the front panel pcb pushing the power boards away from the front panel?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on August 26, 2017, 09:23:28 am
I just received my unit and have it mostly assembled.

The fit is very good except for the front panel: the PCB appears to be forced away from the front panel on the right side (where the two F1 boards plugin) - this causes the upper case to not align with the screw holes on the two F1 boards and the mounting screw for the front right foot pushes up against the front panel PCB.

I'm not really sure that I understand your problem. Yes, it's true that right side of the PCB is slightly higher when mounted but that shouldn't make any problem to plug in both Power modules in place.

I have same problem. It is not possible to align the screw holes on the power board heatsinks with the holes in the bottom case (perhaps with a lot of force applied to the front panel pcb???). It appears that this is due to the front panel pcb pushing the power boards away from the front panel?

I'm not sure what happened during both builds.  But the two power boards should plug into the front PCB just fine.  Also the top case and it's holes should be perfectly aligned with the 4 top holes on both power boards...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 26, 2017, 04:31:32 pm
Please let me know if you can measure distance of 42.5 mm between top or bottom plate front edge and lower two holes for Power board heatsinks fixing.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Taki on August 27, 2017, 03:31:06 am
Hi all,

I just finished assembling the PSU and after checking all connections carefully, I powered it up. As it seems one power board (03/2017 r5B12) isn't working as it should: even if every setting seems to happen, I don't get any power on its output. When I swap the boards the error moves to the channel where the defective power board was inserted, while everything else works fine on the other channel.

A fast comparison between both boards didn't show any difference, thus my post here. Is there a (n easy) way to check the board while not inserted into the casing?

Any help would be appreciated!

Taki
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Len on August 27, 2017, 05:34:31 am
I'm having trouble calibrating my EEZ PSU.

I assembled it from a complete kit and it seems to work correctly, but I cannot complete the calibration process on either channel. When I get to the mid current setting, it will not accept the number that I enter - it always gives a "Value out of range" error. I have tried entering the value in amps ("2.48A") or milliamps ("2480mA") and also tried some other random values but it always gives that error.

Board version R5B12
Firmware version 1.0 & 1.01 (I tried both)

I saw a similar problem reported on GitHub but according to that, the problem should have been fixed for version R5B12 of the power boards.

Has anyone else seen this problem with the shipping version of the kit and firmware 1.01?

Is there a later firmware release I should be using? (1.01 looks like the latest on GitHub.)

Should I try hacking the firmware to just accept the value that I enter? Or could that lead to problems with current regulation?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Len on August 27, 2017, 05:47:50 am
Hi all,

I just finished assembling the PSU and after checking all connections carefully, I powered it up. As it seems one power board (03/2017 r5B12) isn't working as it should: even if every setting seems to happen, I don't get any power on its output. When I swap the boards the error moves to the channel where the defective power board was inserted, while everything else works fine on the other channel.

A fast comparison between both boards didn't show any difference, thus my post here. Is there a (n easy) way to check the board while not inserted into the casing?

Any help would be appreciated!

Taki

Did you set a current limit greater than zero? On my unit, one channel will output a voltage with the current limit set to zero and the other will not.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mleyden on August 27, 2017, 05:49:07 am
Please let me know if you can measure distance of 42.5 mm between top or bottom plate front edge and lower two holes for Power board heatsinks fixing.

distance is fine...

I got it sorted when I loosened the M3 screws on the front panel, so that it could move a little. This allowed me to get the screws into the power board heatsinks. All good. Well done on the mechanicals!  :-+

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 27, 2017, 06:50:44 am
I'm having trouble calibrating my EEZ PSU.

I assembled it from a complete kit and it seems to work correctly, but I cannot complete the calibration process on either channel. When I get to the mid current setting, it will not accept the number that I enter - it always gives a "Value out of range" error. I have tried entering the value in amps ("2.48A") or milliamps ("2480mA") and also tried some other random values but it always gives that error.

Board version R5B12
Firmware version 1.0 & 1.01 (I tried both)

I saw a similar problem reported on GitHub but according to that, the problem should have been fixed for version R5B12 of the power boards.

Has anyone else seen this problem with the shipping version of the kit and firmware 1.01?

Is there a later firmware release I should be using? (1.01 looks like the latest on GitHub.)

Should I try hacking the firmware to just accept the value that I enter? Or could that lead to problems with current regulation?

Please open a new ticket on GitHub (https://github.com/eez-open/psu-firmware/issues/new) for this issue. Establish serial (via USB) connection (e.g. Arduino IDE serial monitor or any serial console application) and copy debug trace text that will appear during calibration process. Before start calibration send *IDN? just to be sure that serial communication is established.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 27, 2017, 06:52:54 am
Hi all,

I just finished assembling the PSU and after checking all connections carefully, I powered it up. As it seems one power board (03/2017 r5B12) isn't working as it should: even if every setting seems to happen, I don't get any power on its output. When I swap the boards the error moves to the channel where the defective power board was inserted, while everything else works fine on the other channel.

A fast comparison between both boards didn't show any difference, thus my post here. Is there a (n easy) way to check the board while not inserted into the casing?

Any help would be appreciated!

Taki

If I understand correctly power-up selftest is passed but after that when you set voltage and current that are non-zero value and enable channel output you cannot measure set voltage?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Taki on August 27, 2017, 07:26:09 am

Did you set a current limit greater than zero? On my unit, one channel will output a voltage with the current limit set to zero and the other will not.

Now I'm really embarrassed. It should have been obvious to me that 0 A current would mean 0 V voltage. The one that worked did probably so because it's not calibrated yet.

Thanks for the hint :)

Taki
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Taki on August 27, 2017, 07:28:32 am
If I understand correctly power-up selftest is passed but after that when you set voltage and current that are non-zero value and enable channel output you cannot measure set voltage?

Yes, everything's fine. Just another example of hard thinking before hard working. I should have thought to enable some current  :palm:

Taki
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Len on August 27, 2017, 08:06:45 am
Please open a new ticket on GitHub (https://github.com/eez-open/psu-firmware/issues/new) for this issue. Establish serial (via USB) connection (e.g. Arduino IDE serial monitor or any serial console application) and copy debug trace text that will appear during calibration process. Before start calibration send *IDN? just to be sure that serial communication is established.

Done. https://github.com/eez-open/psu-firmware/issues/160
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on August 27, 2017, 02:41:22 pm
I'm having trouble calibrating my EEZ PSU.

I assembled it from a complete kit and it seems to work correctly, but I cannot complete the calibration process on either channel. When I get to the mid current setting, it will not accept the number that I enter - it always gives a "Value out of range" error. I have tried entering the value in amps ("2.48A") or milliamps ("2480mA") and also tried some other random values but it always gives that error.

Board version R5B12
Firmware version 1.0 & 1.01 (I tried both)

I saw a similar problem reported on GitHub but according to that, the problem should have been fixed for version R5B12 of the power boards.

Has anyone else seen this problem with the shipping version of the kit and firmware 1.01?

Is there a later firmware release I should be using? (1.01 looks like the latest on GitHub.)

Should I try hacking the firmware to just accept the value that I enter? Or could that lead to problems with current regulation?

I'm getting the same thing while calibrating. On current, the channel only is outputting 24.850ma for all the current checks. 

Using a Keysight U1272a meter and 1ohm @1% resister.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on August 27, 2017, 06:41:40 pm
Check your resistance load when your calibrating.  I just got a new resister that the packaging was incorrect.  |O |O |O. It was 1k instead of 1ohm.  :palm: That's causing the problem with the psu not going into CC and causing the errors during current calibration. 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on September 01, 2017, 12:57:10 am
Hi,
I can't connect to the Native USB port. Windows does not find the device. However, I can connect to the programming port.

When I try to compile then this error pops up;
Code: [Select]
"Arduino: 1.8.4 (Windows 7), Board: "Arduino Due (Programming Port)"

C:\Users\Toshiba C660\Downloads\psu-firmware-master\eez_psu_sketch\eez_psu_sketch.ino:31:23: fatal error: Ethernet2.h: No such file or directory

 #include <Ethernet2.h>

                       ^

compilation terminated.

exit status 1
Error compiling for board Arduino Due (Programming Port).

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences."
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 12:58:54 am
This "issue" is discussed here (https://github.com/eez-open/psu-firmware/issues/159) (#159).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on September 01, 2017, 01:07:02 am
Thanks, i'll have a look at it.

Any idea why the native port doesn't work?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 01:09:34 am
Not really (if I presume that you select a right port in IDE and connect USB on right port). Hopefully that is not the issue reported here (https://github.com/eez-open/psu-hw/issues/53) (#53)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on September 01, 2017, 01:20:22 am
It looks like it - Another USB cable, direct in the native port solved that issue..
Now I just need to succesfully compile the firmware.

EDIT:
Fixed the ethernet2 issue, now this pops up;
Code: [Select]
Arduino: 1.8.4 (Windows 7), Board: "Arduino Due (Native USB Port)"

C:\Users\Toshiba C660\AppData\Local\Temp\Temp1_psu-firmware-master.zip\psu-firmware-master\eez_psu_sketch\eez_psu_sketch.ino:23:17: fatal error: psu.h: No such file or directory

 #include "psu.h"

                 ^

compilation terminated.

exit status 1
Error compiling for board Arduino Due (Native USB Port).

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 01:24:36 am
It looks like it - Another USB cable, direct in the native port solved that issue..

Try to check USB patch cable. I've tested each AUX power module by myself before shipping but unfortunately connected to programming not native port at that time.  But still, it's hard to believe that USB isolator (ADuM 3160) that is in between is a source of such issue.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on September 01, 2017, 01:28:05 am
The (internal) patch cable works fine with the programming port, so it seems to be fine. I get a Code 10 like the guy on GitHub.

Just edited the above message. I'm not used to coding/arduinos. Sorry  :palm: :-DD
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 01:31:07 am
If you're on the Windows maybe you can try once again from the scratch as briefly explained in recent video:

https://www.youtube.com/watch?v=Ar5kHiepsNM (https://www.youtube.com/watch?v=Ar5kHiepsNM)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on September 01, 2017, 01:56:49 am
Thanks a lot mate - It's now upgraded.

This text on your website is a little misleading
"The two folders will be used to compile firmware within the Arduino IDE: eez_psu_sketch and libraries. The contents of the latter one must be copied into the Arduino folder containing 3rd party libraries. The directory (folder) needed will vary"

It should say to copy the eez_psu_sketch also - Anyway that was what fixed my problem.

Should i order a new USB isolator and try to replace it? 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 03:41:30 am
Should i order a new USB isolator and try to replace it?

I really don't know what to say. Even don't know if make sense to try with other Arduino Due board since Jlegen who reported #53 said that also didn't help him.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on September 01, 2017, 07:35:22 pm
Should i order a new USB isolator and try to replace it?

That probably wouldn't help. I did some further "research" - i have an external USB isolator module, which happens to use the exact same Adum3160.
And guess what, this thing behaves exactly the same like the EEZ-PSU, with PSU's Due and also with another standalone Due board.

It also turned out that "software" doesn't matter - the same Win10 system which does not work with Adum+Due-native does also not work with a current Linux on the same hardware.
What is however interesting - while the "Due Prog port" through Adum is detected as "USB Fullspeed" (= USB 1.1), the native port is "USB Highspeed" (= USB 2.0). This at least could explain why the Adum behaves differently for prog and native port...

I also found some sort of solution - i dug out a very old laptop which i kept for, well, things like that :), and this laptop is able to properly work with Due's native port with the Adum in between.

Knowing this, i then attached the Due-native to an USB-2 port sitting directly on the mainboard of my Win10 system - and this setup worked!

So the outcome probably is - the Adum simply seems to be a bit picky regarding the USB standard. Avoiding USB ports broken out with headers or hubs seem to help at least sometimes.
My regular laptop however - the system which i use in the lab - still does not work, and "swapping" USB ports is obviously not possible there.

But i think i will now leave the PSU at native port, doing SCPI-tests and fw updates with the old laptop (XP, uh.. :o) mentioned above...

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2017, 07:52:27 pm
Thanks for this explanation, and I'd like to ask you to add it to the issue that you opened on the GitHub. I really don't know what is going here. All my testing was and still is on the Ubuntu, but my colleague Martin works with Windows and didn't report anything similar neither. The only change related to the USB port is announced in firmware v1.01 when we switched from programming to native port following the suggestion from #135 (https://github.com/eez-open/psu-firmware/issues/135). Another benefit from this is that uploading speed is increased 8 times! But, if someone for any reason wants to stick with programming port it's still possible by adding the following code into your conf_user.h file (that is mentioned in assembly instructions):

Code: [Select]
#undef CONF_SERIAL_USE_NATIVE_USB_PORT
 #define CONF_SERIAL_USE_NATIVE_USB_PORT 0

EDIT: Maybe in next release we should add jumper sections for SPU and SPD signals of the ADuM that are now tied to the GND.
EDIT2: SPU and SPD are currently tied to Vdd (HIGH speed) not GND (Thanks Jleg).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on September 01, 2017, 10:43:38 pm
Thanks for this explanation, and I'd like to ask you to add it to the issue that you opened on the GitHub. I
Sure, will do...

Quote
really don't know what is going here. All my testing was and still is on the Ubuntu, but my colleague Marin works with Windows and didn't report anything similar neither. The only change related to the USB port is
Well, as said - it doesn't matter if it's Windows or Linux. If your USB hardware (port on the PC which is used) is 'compatible' with the Adum, you'll never notice any problem.
If you tryout however half a dozen PCs and Laptops of different age, there's obviously some percentage which will fail. My percentage is at '66% failure rate' (3 systems)   :P

Quote
EDIT: Maybe in next release we should add jumper sections for SPU and SPD signals of the ADuM that are now tied to the GND.

That's exactly what i also had in mind, since i noticed in schematics that those pins are on Vdd. Unfortunately i cannot simply test this with my external Adum module, because it's not easy to open without a mess... and i'm not sure if it's a good idea for me to mess with the EEZ Psu pcb, trying to scrap some Adum pins... (careful lifting?)

The speed won't matter for Scpi imo, and a fw update taking longer is imo also not an issue, given that this may happen every few months or so. Unless you're developing, of course...:)

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on September 06, 2017, 08:36:50 am
Hi all!

First I have to say that I'm really very impressed of the work that has been put into this project!  :-+  :clap:
I have assembled my kit, updated the firmware, everything seems to work just fine and I’m happy.


I was playing around with the remote programming input, and noticed a strange behave. Maybe the reason is already known and obvious for some others, but not for me at that moment... Maybe a little better now, but not really...


The setup was like this:
CH1 voltage is controlled by remote input from a sinus signal generator between about 200mV to 1.8V.
Output voltage goes between about 2-30V.
Current limit @500mA.
Psu loaded by a electronic load.

Remote input signal and psu output voltage are simultary measured by a scope.
Current measured externally by a Fluke DMM, and also displayed on the electronic load.

And here it comes:
@200mA on the Fluke and the electronic load, psu shows 70mA!
@500mA on the Fluke, psu shows 172mA
@1000mA on the Fluke, psu shows 341mA
The CC @500mA has not became active yet...

I'm now starting to scratching my head.

The cause:
I measured both remote in and psu voltage out with the scope, with the scope gnd on the probes connected to "its own" negative terminal.
One on remote input (pin 2, analog gnd on push-in), and one on CH1 negative output.

The scope gnd connected those two together making the "missing" current to go beside the current measurement through the analog gnd!
Luckily it looks like everything has survived, as I don't think the analog gnd is capable to handle that kind of current for any longer time.

Disconnecting one of the scope probe gnd solved the problem.

I don’t know if it’s possible to get rid of this issue, or if it’s just something that’s have to be beware of and kept in mind.

/Anders Westman
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 06, 2017, 04:59:08 pm
Your observation is right. Please note the following warning stated in Building instructions in Section 1.1 (http://www.envox.hr/eez/bench-power-supply/building-instructions.html):

Quote
During testing and taking measurements, please note that a channel’s negative output (OUT-) is NOT at ground potential with regard to the mains earth potential in the AC wiring. If you are using a multichannel oscilloscope which does not have isolated channels (the default!) you cannot simultaneously connect the test probe ground of one channel to a PGND point and another channel to an OUT- point. This will interfere with normal operation of the current control loop (IC6A, IC7) because the current sense resistor (R63 or R65) will be shorted out; as well, there is a real risk of damage to either test probes or oscilloscope circuitry, or both. Short of exotic and expensive oscilloscope probe accessories, limiting connections to one probe at a time is wise.

This is a disadvantage of low-side current measurement, so you have to keep that in mind.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on September 06, 2017, 06:30:09 pm
Of course you have already thought about and documented it! Great!
As you say, this is an obvious downside with low side current measure.

I was thinking if this could cause some problem in some other situations too even without a scope involved, e.g. if the psu is feeding some circuit that also generate the remote control voltage.
In a such scenario I believe it could be an easy made mistake to connect the remote input ground to the channel negative output thru the external circuit causing a major interference in the current control in the psu, and potentially high current to flow the wrong way thru the push-in connector.

The interference in the current control with a much lower current measured by the psu than actual, also cause that most of all nice protections like CC, OCP, OPP will not work as expected.

Would it be possible to put a resistor in serial with the remote input ground to increase the input resistance and limit the current thru the push-in connector to a safe level that also not interfere with the current control.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 06, 2017, 06:38:16 pm
My first thought is that as far as channel output are floating (i.e. minus is not connected to Earth) and input signal ground is not earthed that nothing unexpected can happen. But, I have to think again about it :).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on September 09, 2017, 03:38:03 pm
Hi,

I have got a notification that my kit just has been arrived at local post office with a whopping $195 customs duty!

btw the original packing has gone it seems and the box looks very small.

can some one post a picture of the package when it arrived and how much weighs it?

Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: garnix on September 09, 2017, 04:21:19 pm
I was surprised as well how small the package was.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on September 09, 2017, 04:50:14 pm

Thanks @garnix.

The box resembles like as you have shown.
i will get it on monday.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Aigor on September 09, 2017, 10:45:52 pm
Another unit wen well no problem at all :D amazing project
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on September 11, 2017, 08:16:08 am
I built my psu up this week, and also made up a 1 Ohm power resistor to use for calibration (using a scrap AMD CPU heatsink).

Very pleased with it.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: biot on September 13, 2017, 02:32:04 am
Another happy EEZ H24005 user checking in here. Great job, prasimix!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mkudlacek on September 14, 2017, 03:32:03 am
Hello Prasimix,
 I'm sorry I have to report a faulty PSU. After putting everything together I flipped the front panel switch and nothing happend. After double (more like triple) checking nothing seemed to be out of order. So I started to trace power on aux PSU board and it seems I have faulty Vigortronix AC/DC module. The 230V is on the input pins, but the outputs are nothing like 12V a 5V. Check the screenshots from my oscilloscope. The first one with big wave is from 12V pins, the second one is from 5V pins. Both measurements are taken with the front PCB completely disconnected. What should I do?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 14, 2017, 04:11:52 am
Did you measure that with or without Arduino shield board connected?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mkudlacek on September 14, 2017, 10:47:59 pm
Without Arduino and front PCB connected. Only the DC power supplies were connected to the AUX PSU.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 15, 2017, 01:40:31 am
Connected AC/DC modules are not import for this. I could try to contact Vigortronix (manufacturer of TR1) and see if they have any idea what's going on.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mkudlacek on September 15, 2017, 04:06:23 am
I can unsolder the Vigortronix module and test it outside of the AUX PSU. Thus we can determine whether the error is in the module itself or some combination error with the rest of the board. Will I be able to do it with ordinary microsoldering gun?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on September 15, 2017, 07:02:45 am
Hello Prasimix,

I just finished assembling of my PSU kit and everything went smooth.
a BIG thanks to you for this great work done  :-+

successfully updated the firmware to latest version and finished the calibration.
btw am not satisfied with the calibration, may be because of my DMM's quality( only the 1 ohm resistor is enough right? i have read something about 3.3 ohm resistor somewhere).

1-am not able to establish a serial communication with PC for getting a debug trace(*IDN returns nothing), only the programming port is working, native port is code10 as mentioned earlier in this thread.
   and when i connected the usb cable directly to DUE's port, the PSU is always ON irrespective of the standby switch position, is that normal?

2- and just noticed that when the outputs are OFF, there is around -400mV present on the outputs and if i changed the current to non zero, it reduces to -50mV, is my PSU is ok?

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 15, 2017, 08:14:18 am
I can unsolder the Vigortronix module and test it outside of the AUX PSU. Thus we can determine whether the error is in the module itself or some combination error with the rest of the board. Will I be able to do it with ordinary microsoldering gun?

Sure, especially with some help of desoldering braid.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 15, 2017, 08:17:03 am
successfully updated the firmware to latest version and finished the calibration.
btw am not satisfied with the calibration, may be because of my DMM's quality( only the 1 ohm resistor is enough right? i have read something about 3.3 ohm resistor somewhere).

Everything below approx. 4 ohm should be ok. What kind of problem your have?

1-am not able to establish a serial communication with PC for getting a debug trace(*IDN returns nothing), only the programming port is working, native port is code10 as mentioned earlier in this thread.
   and when i connected the usb cable directly to DUE's port, the PSU is always ON irrespective of the standby switch position, is that normal?

Yes, that is normal since Arduino Due is in that case powered from PC (over USB cable).

2- and just noticed that when the outputs are OFF, there is around -400mV present on the outputs and if i changed the current to non zero, it reduces to -50mV, is my PSU is ok?

Yes, it is.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mkudlacek on September 18, 2017, 07:41:52 pm
I can unsolder the Vigortronix module and test it outside of the AUX PSU. Thus we can determine whether the error is in the module itself or some combination error with the rest of the board. Will I be able to do it with ordinary microsoldering gun?

Sure, especially with some help of desoldering braid.

I can't get it out, even with the desoldering braid. I ordered a rework station, I'll post a result as soon as I'll get it, hopefully this week.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 18, 2017, 07:45:05 pm
Hm, it shouldn't be so difficult, but ok I cannot judge of your (de)soldering skills. I did it few times in past with no hassle, just ordinary soldering iron, desoldering braid and eventually a few drops of flux.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mkudlacek on September 19, 2017, 02:20:13 am
Ok, so it took a little bit of persuasion, but the module is out. I hooked it up to scope, but the result is the same. No 5V and strange 11-18V wave on the 12V output. Hopefully the 18V didn't do anything bad to the rest of the power supply.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 19, 2017, 03:13:40 am
Thanks, I'm going to contact Vigortronix tomorrow.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: reportingsjr on September 19, 2017, 10:31:41 am
Wow, I'm really sad I missed the crowdfunding of this! What an amazingly well done piece of equipment.

If anyone who has one wants to sell, send me a PM!!!!! :)

Prasimix, is there a list to join just in case you do end up deciding to do another run?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 19, 2017, 06:19:33 pm
Prasimix, is there a list to join just in case you do end up deciding to do another run?

Crowd Supply announced (https://www.crowdsupply.com/envox/eez-h24005/updates/mission-almost-accomplished) that they are going to take care of second batch. I have no details about it then to say that they (as anyone else!) is more then welcome to do that and can count on my support. Anyone still interested could subscribe to campaign to get notifications in future.
Title: r5B13 revision...
Post by: prasimix on September 24, 2017, 11:36:30 pm
I just finished uploading of all files for next revision r5B13 that is addressing few issues reported from few backers (i.e. USB isolator speed issue). List of fixed issues are available here (https://github.com/eez-open/psu-hw/milestone/5?closed=1). I'll make it as new release in coming days if no issues are found.

Please note that r5B12 that is used for crowdfunding revision is removed from GitHub master branch but, of course will remain accessible through Releases (https://github.com/eez-open/psu-hw/releases) page.
Title: Data logging format
Post by: prasimix on October 03, 2017, 09:21:25 pm
I'm working on specification for implementing data logging/acquisition of the channels outputs that is planned for forthcoming firmware v1.1 (after v1.02 (https://github.com/eez-open/psu-firmware/milestone/8) that is addressing few minor issues). Idea is to provide the following functionality:
The latest two bullets are where I need your assistance. I cannot found any data format and structure used by commercial vendors. All what I found until now is SCPI command set that they are using to perform "internal" and/or "external" data logging. For example, Rigol has RECorder SCPI subsystem and related GUI options. Keysight has ELOG (from "external" logging) subsystem but without single word about how logged data are formatted. If anyone have power supply from mentioned or any other vendor and use data logging, please let me know. We can continue independently, but it could be nice if we can follow some existing format. Hopefully in that case other software for logged data presentation can be used.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jleg on October 04, 2017, 12:59:22 am
sounds promising! In case you didn't already find this - the specs for Rigol's recording format are here:
https://www.eevblog.com/forum/testgear/rigol-dp832-convert-the-rof-files-(recorded-data)/msg488462/#msg488462 (https://www.eevblog.com/forum/testgear/rigol-dp832-convert-the-rof-files-(recorded-data)/msg488462/#msg488462)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 04, 2017, 01:03:07 am
sounds promising! In case you didn't already find this - the specs for Rigol's recording format are here:
https://www.eevblog.com/forum/testgear/rigol-dp832-convert-the-rof-files-(recorded-data)/msg488462/#msg488462 (https://www.eevblog.com/forum/testgear/rigol-dp832-convert-the-rof-files-(recorded-data)/msg488462/#msg488462)

Great, that is a good start.
Title: Firmware v1.02
Post by: prasimix on October 06, 2017, 05:01:30 pm
A new firmware minor release v1.02 is now available on the GitHub (https://github.com/eez-open/psu-firmware/releases/tag/1.02). Nothing spectacular can be found there, except maybe incorrect displaying of values below 1, in YT-view mode (issue #170 (https://github.com/eez-open/psu-firmware/issues/170)).
Title: Possible candidates for firmware v1.1
Post by: prasimix on October 06, 2017, 05:51:26 pm
There is a few possible candidates for next firmware release (planned v1.1) and I'd like to hear your feedback on them or, if you found it useful just like/vote for it on the Github:
We also spent some time on #165 (https://github.com/eez-open/psu-firmware/issues/165) (Prepare .HEX/.bin for direct firmware upload without Arduino IDE) but without working solution that could be simpler then installing and using Arduino IDE to compile and upload firmware. I'd like also to ask if someone knows about possible solution for #96 (https://github.com/eez-open/psu-firmware/issues/96) (Arduino start-up 10 ms transition) which is really frustrating and makes AC soft-start unusable in case when PSU is powered up mechanically (i.e. front standby or rear power switch).

Of course, feel free to suggest new functionality or improvement of what you already experienced with your PSU (please check first if such thing is already reported).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on October 06, 2017, 09:08:00 pm
I have some thoughts and wishes about the firmware.

1.
Then changing values in step mode the size or “gain” of the steps follows between different settings.
E.g. I choose to change the voltage in 0.5V steps (next lowest step size) and then choose to change the current in 250mA steps (next highest). If I then go back to set the voltage again, the step size now is 2V instead of 0.5V as it keeps the setting to the next highest value.
This may be a little surprising, especially then the rotary encoder is used.
Maybe the step size can be remembered for each value, or always be set to the lowest value then entering a new screen?

2.
The indication for the currently selected current range flicker between 500mA and 5A if the current limit is changed with the rotary encoder in the range under 500mA.
I don't know if this is just a graphical fenomen or if the range actual is changing.

3.
I miss the opportunity to simultanly switch both channels on and off with a single press then they are in “normal” uncoupled mode.

4.
I miss the opportunity to switch on and off each channel with an external signal, e.g. a physical switch or button then you don’t can/want to look at the psu.
Maybe the trigger input can be used?

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 06, 2017, 10:19:34 pm
1. Then changing values in step mode the size or “gain” of the steps follows between different settings.
E.g. I choose to change the voltage in 0.5V steps (next lowest step size) and then choose to change the current in 250mA steps (next highest). If I then go back to set the voltage again, the step size now is 2V instead of 0.5V as it keeps the setting to the next highest value.
This may be a little surprising, especially then the rotary encoder is used.
Maybe the step size can be remembered for each value, or always be set to the lowest value then entering a new screen?

Yes, I'm aware of that, but if was never implemented. Please create a new issue (https://github.com/eez-open/psu-firmware/issues/new) for it that is not forgot once again.

2. The indication for the currently selected current range flicker between 500mA and 5A if the current limit is changed with the rotary encoder in the range under 500mA.
I don't know if this is just a graphical fenomen or if the range actual is changing.

You're right. Maybe doesn't looks nice but it just show that autoranging is doing its job! It's happen when current range is set to Best (default), Autoranging is ON and without load. When you connect load it will stop switching current ranges from low to high over 0.5 A.

3. I miss the opportunity to simultanly switch both channels on and off with a single press then they are in “normal” uncoupled mode.

You have two possibility to do that when channels are not coupled: using trigger step or put channels in tracking mode. Former allows you to set different output voltage and current, in later case they will be the same.

4. I miss the opportunity to switch on and off each channel with an external signal, e.g. a physical switch or button then you don’t can/want to look at the psu.
Maybe the trigger input can be used?

Yes, you can set PIN1 Function under System settings (1)... Digital I/O as Trigger input when channels are in step mode, or you can use Inhibit. For improved usage of the latest one you need firmware v1.02 (issue #166 (https://github.com/eez-open/psu-firmware/issues/166)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on October 06, 2017, 11:50:49 pm
Quote
Yes, I'm aware of that, but if was never implemented. Please create a new issue for it that is not forgot once again.
Done. #176 (https://github.com/eez-open/psu-firmware/issues/176)

Quote
You have two possibility to do that when channels are not coupled: using trigger step or put channels in tracking mode. Former allows you to set different output voltage and current, in later case they will be the same.
That feels a little bit complicated to be useful in practice.
E.g. if I set CH1=5V and CH2=12V and like to switch both channels on or off at the same time because the circuit under test needs the two supplies without “any” delay.


Quote
Yes, you can set PIN1 Function under System settings (1)... Digital I/O as Trigger input when channels are in step mode, or you can use Inhibit. For improved usage of the latest one you need firmware v1.02 (issue #166).
That could work, but will require changed setting to control the output either on or off with the trigger, if I understand correctly? Not possible to toggle the output that way?
I would like an easy accessible way to by a physical switch be able to control the output both on and off for each channel separately. 
I’m find it handy to be able to look at my circuit then I turn on the psu. It’s a little bit tricky to press the right spot on the touch screen while not looking. With the feel of a physic button it’s much easier.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 07, 2017, 12:19:27 am
Quote
You have two possibility to do that when channels are not coupled: using trigger step or put channels in tracking mode. Former allows you to set different output voltage and current, in later case they will be the same.
That feels a little bit complicated to be useful in practice.
E.g. if I set CH1=5V and CH2=12V and like to switch both channels on or off at the same time because the circuit under test needs the two supplies without “any” delay.

In practice that means that for output enable you need two click (to initiate trigger) and for disable still just one since they are "coupled" with trigger. Current architecture do not allow simultaneous switching of both channels but sequential with delay well below 1 ms (about 260 us) as shown below. "Step" values of voltages and currents could be any combination.

(https://i.imgur.com/vxyTB4yl.jpg)

Quote
Yes, you can set PIN1 Function under System settings (1)... Digital I/O as Trigger input when channels are in step mode, or you can use Inhibit. For improved usage of the latest one you need firmware v1.02 (issue #166).
That could work, but will require changed setting to control the output either on or off with the trigger, if I understand correctly? Not possible to toggle the output that way?
I would like an easy accessible way to by a physical switch be able to control the output both on and off for each channel separately. 
I’m find it handy to be able to look at my circuit then I turn on the psu. It’s a little bit tricky to press the right spot on the touch screen while not looking. With the feel of a physic button it’s much easier.

The easiest way is to define PIN1 function as Inhibit. In that case you can for example connect foot pedal to front panel CH1's push-in connector pin 7 and 8 and control both channel outputs simultaneously!
Title: Re: Possible candidates for firmware v1.1
Post by: texaspyro on October 07, 2017, 02:16:55 am
We also spent some time on #165 (https://github.com/eez-open/psu-firmware/issues/165) (Prepare .HEX/.bin for direct firmware upload without Arduino IDE) but without working solution that could be simpler then installing and using Arduino IDE to compile and upload firmware.

I was hoping that we could use XLOADER to download .hex files to the power supply,  but it looks like XLOADER does not support the Due.  BTW, one feature that would be nice to add to XLOADER is showing the progress of the upload.  Currently it uploads "blindly" and uploads can take a lot of time.  Without a progress bar or indication you don't know anything is happening until / if the upload completes.

Perhaps the author of XLOADER can be persuaded to part with the source code or modify it to support the Due...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on October 07, 2017, 02:22:35 am
Here's a thread that talks about adding an XLOADER type program to the Arduino package.  It mentions there is a devices file in XLOADER that might be able to be used to add due support:

http://forum.arduino.cc/index.php?topic=225263.0 (http://forum.arduino.cc/index.php?topic=225263.0)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on October 07, 2017, 02:27:54 am
Another possible staring point:

https://github.com/TheokieZA/TRUpdater
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 07, 2017, 02:47:00 am
It seems that both XLOADER and TRUploader are using avrdude that is also used by Arduino IDE when AVR (8-bit) boards are in question. For Due, Arduino IDE is using bossac, and it works from command line but cannot work alone, you need before uploading to reset serial port that bossac don't know how to do.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on October 14, 2017, 07:46:07 pm
What’s the plan for the temp sensor on the push-in connectors?
As discussed earlier a useful battery charging funktionalley could be a little tricky to implement well.
One simple function meanwhile could be just an external over temp protection.
I found it useful sometimes to have an “emergency stop” for high temp on e.g a heatsink.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 14, 2017, 07:50:58 pm
It's planned for next firmware release v1.1 (issue #143 (https://github.com/eez-open/psu-firmware/issues/143)) but still without clear idea what to do with it (hence no description there yet). Feel free to add any suggestion directly into mentioned task.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on October 15, 2017, 07:14:51 am
Added to #143 (https://github.com/eez-open/psu-firmware/issues/143)

Idea for temp sensor functionally: External overheat protection.
Protection can be set in two levels: Warning and Trip.

Regular overtemp protection:
Warning or Trip occurs then temp goes over setpoints.

Delta T protection:
Warning or Trip occurs then temp rises faster than setpoints.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 07:59:45 pm
Don't know if it's a bug or not.
If i couple the supply in series @ 57V/5A, and start to charge my forklift batteries, the amps and powermeter are displaying the actual output. But the voltage displays 57.00V - When going to settings > Over voltage protection, then the real value like ie. 54.60V is displayed.
I expected the display to show the measured output, not the programmed setting. (Newest firmware, downloaded yesterday)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 08:03:32 pm
There is two possiblity why you have such high difference (when both channels are calibrated):
Problem with second one is that you cannot benefit from remote sensing when outputs are coupled in series.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 08:14:33 pm
Yes it is in CC mode. The large batterypack can take much more current.
But even in CC mode, I expected to see the actual output voltage.

EDIT: I did not use remote sense.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 08:16:18 pm
:) Think once again, you're in CC mode, your output voltage could be anything from almost 0 to programmed voltage (i.e. 57 V in your case).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 08:20:06 pm
Yeah I know. But why would you not display the real output voltage?
I've got some cheap Tenma's and some more expensive EMI, TDK Lambda, etc. They all show the actual output voltage, also in CC mode. I really thought all PSU's were like that.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 08:24:24 pm
OK, once again, since it seems that I missed something: outputs are coupled in series, Vset = 57 V, Iset = 5 A, and when battery is connected, PSU enters CC mode and you can see Vout that is lower then 57 V, or not?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 08:37:41 pm
OK, once again, since it seems that I missed something: outputs are coupled in series, Vset = 57 V, Iset = 5 A, and when battery is connected, PSU enters CC mode and you can see Vout that is lower then 57 V, or not?

Maybe a language barrier, English isn't my native :)
Yes, series coupling, Vset = 57V, Iset = 5A, when connected, the PSU enters CC. I can see 57V on the main screen, even though the output voltage is lower. However, if I go to Settings > OVP and Voltage limit, then I can see the actual output voltage in that menu.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 08:43:27 pm
Maybe a language barrier, English isn't my native :)

Neither mine :)

Yes, series coupling, Vset = 57V, Iset = 5A, when connected, the PSU enters CC. I can see 57V on the main screen, even though the output voltage is lower. However, if I go to Settings > OVP and Voltage limit, then I can see the actual output voltage in that menu.

That's very strange, and I cannot reproduce it on my side, so far. Could you post some screenshots, or short video here or you can report it as a new issue on GitHub (https://github.com/eez-open/psu-firmware/issues/new).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 08:54:50 pm
I hope this makes sense - I raised the output voltage for a short duration of time to reproduce. (The batteries are almost fully charged now)
Sorry for the bad picture quality.

I don't know why it's in CC mode when the output is lower than 5A (maybe a calibration step I missed). But that's not a problem for now.

EDIT: Doh :palm:
I think I got it now. It won't display the output voltage and amps at the same time. Thats the settingpoint i'm seeing. |O

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 09:05:46 pm
Oh, now I understand. You are in display view 1 (default). In that view only three of possible four values are displayed, i.e. Vset, Iset and third one depends of mode of operation: in CC mode you'll see Vout or (Vout is lower then Vset) and in CV mode a Iout (Iout is lower then Iset) will be displayed. Since your Iset is 5 A, and you can read 4.801 A, it seems that you're in CV mode of operation. But, it cannot be that with 4.801 A you also have Uout lower then Uset of 60 V!

Try to set your display view to any of 2, 3 or 4 where all four values are displayed (use small "gauge" icon in the top right corner), and let me know what you can read then.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 15, 2017, 09:07:07 pm
EDIT: Doh :palm:
I think I got it now. It won't display the output voltage and amps at the same time. Thats the settingpoint i'm seeing. |O

That's right!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: cs.dk on October 15, 2017, 09:46:14 pm
Display 2, 3 and 4 looks normal to me - I think we sorted it out :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jth on October 27, 2017, 12:30:42 am
Hi
What is the recommended way to program battery charging profiles? Also trying to find how to control the external relay, Digital Out #2, on the back since I would like to discharge the battery to cycle it.
Charge with 150mA up to X volt, set to 3mA and discharge with Digital Out2 relay load until x Volt is reached. Repeat with 200mA charge until X Volt. And so on..
I got some UPS batteries that some may have survived and need some cycles to start working.

It is much work to do all this manually with all of them and I would like to automate it. This could work if I do it with expect commands and SCPI programming but I can not find the Dout2 switching.

--
Johan T
Sweden
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 27, 2017, 04:00:03 am
There is still no battery charging profile per se. But you can for instance define list with one step in which you can define charging time (as dwell), max. voltage and charging current. You can do that using channel trigger tab:

(https://i.imgur.com/h7gSgr1.png)

Select Edit lists where you can define list step params:

(https://i.imgur.com/dad1923.png)

If you want to couple DOUT2 with channel output then go to System settings (page 1):

(https://i.imgur.com/WgZ5KMr.png)

(https://i.imgur.com/IRvredM.png)

Set Function to "Channel ON couple" and Polarity to "Positive".

If you wish to play with SCPI then Digital I/O commands are under [SOURce]:DIGital:OUTPut:DATA,  [SOURce]:DIGital:PIN<n>:FUNCtion and [SOURce]:DIGital:PIN<n>:POLarity.
LIST commands SCPI example can be found under Programming examples (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-programming-examples.html) (10.5.)

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jth on October 29, 2017, 07:28:58 pm
Thank you.
I just made this expect script to control the PSU. Now others can use it and modify it for their needs. Relay is working but I ended up connecting a small fan for discharging and then why not also run it while charging, so I ended up not using the relay as much. I can turn it off to measure the current more accurate without the fan.

Is there a command to end and disconnect the telnet session?  If there is none I would make a request if we can create it. It is usually better to close connections in a more controlled way. I may be able to take a look at it later but not right now.
 
Code: [Select]
#!/usr/bin/expect -f                                                                                                                                   
set timeout 10                                                                                                                                         
log_user 0                                                                                                                                                           
 #stty echo                                                                                                                                                           
 #exp_internal 1                                                                                                                                                       
                                                                                                                                                                     
set min_volt 10.5                                                                                                                                                     
set max_volt 14.1                                                                                                                                                     
                                                                                                                                                                     
spawn telnet 1.2.3.4 5025                                                                                                                                             
expect "*'^]'."                                                                                                                                                                         
sleep .1;                                                                                                                                                                               
                                                                                                                                                                                       
 # Shut off or on realy
 #send "DIG:PIN3:POL NEG\r"
 #send "DIG:PIN3:POL POS\r"
 #expect "POS\r\n"

 # Brightness
 #send "DISP:BRIG 15\r"
 #expect "15\r\n"

while (1) {

 # Read set V A
 #send "INST?\n"
 #expect "CH1\r\n"
 #send "VOLT?\r"
 #expect "\.*\r\n"
 #send "CURRENT?\r"
 #expect "\.*\r\n"

 #Read actual V A
send "MEAS:VOLT?\r"
expect -re "(\[0-9]+)\.(\[0-9]+)"
set volt "$expect_out(0,string)"
send_user "[clock format [clock seconds] -format {%d %H:%M}] $volt"
send_user "V "

send "MEAS:CURRENT?\r"
expect -re "(\[0-9]+)\.(\[0-9]+)"
set ampere "$expect_out(0,string)"
send_user "$ampere"
send_user "A "

if { [expr $volt < $min_volt ] } {
  send_user "Below $min_volt V. Starting charge.\n"
  send "ABORT\r"
  expect "ABORT\r\n"
  send "LIST:VOLT 14.1,14.1\r"
  expect "LIST:VOLT 14.1,14.1\r\n"
  send "LIST:CURR 0.8,0.4\r"
  expect "LIST:CURR 0.8,0.4\r\n"
  send "LIST:DWEL 30,120\r"
  expect "LIST:DWEL 30,120\r\n"
  send "TRIG\r"
  expect "TRIG\r\n"
  send_user "Charge started.. "
  }

if { [expr $volt > $max_volt ] } {
  send_user "Above $max_volt V. Starting discharge.\n"
  send "ABORT\r"
  expect "ABORT\r\n"
  send "LIST:VOLT 14.1\r"
  expect "LIST:VOLT 14.1\r\n"
  send "LIST:CURR 0.002\r"
  expect "LIST:CURR 0.002\r\n"
  send "LIST:DWEL 120\r"
  expect "LIST:DWEL 120\r\n"
  send "TRIG\r"
  expect "TRIG\r\n"
  send_user "Discharge started.. "
  }

send_user "\n"
sleep 60
}
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 29, 2017, 10:24:38 pm
Thanks for script. Currently there is no command to end and disconnect telnet session. Feel free to add that as a new issue into firmware's Github. Don't know right now if we can implement it or not, since we are still depending of 3rd party Ethernet lib.
Title: Daylight saving change issue...
Post by: prasimix on October 30, 2017, 09:14:40 am
It seems that we have a Groundhog day (http://www.imdb.com/title/tt0107048) hour situation :-[. My PSU had DST set to "Europe" for automatic daylight saving change based on European rules and it was happened in 3:00am (set to 2:00am), but it continue to do that every full hour. I've tested than long time before but it seems that I missed to wait that full hour passed. This issue is reported this morning as #180 (https://github.com/eez-open/psu-firmware/issues/180), and if you experienced the same issue, just turn off DST on Set date and time page under System settings or send the following SCPI command: SYST:TIME:DST OFF. A firmware fix will follow soon.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on October 30, 2017, 10:19:51 am
Just curious...
How do you power off your PSU? Touch screen, front stand by switch or the big real switch on the back?

Skickat från min Nexus 6 via Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on October 30, 2017, 11:53:37 am
How do you power off your PSU?

I tend to use the Front standby switch - just because I like the feel & action of a physical switch.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 30, 2017, 05:57:28 pm
Just curious...
How do you power off your PSU? Touch screen, front stand by switch or the big real switch on the back?

Skickat från min Nexus 6 via Tapatalk

I'm using touch screen as much as I can. When sort of "panic" condition is present then just switch off the front panel "standby" switch. The AC switch on the rear is used when move unit from one side to another, or when I'm opening enclosure.

Touch screen in current design is the only way that guarantee AC softstart (due to Arduino "feature" #96 (https://github.com/eez-open/psu-firmware/issues/96)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 03, 2017, 02:42:07 am
Touch screen in current design is the only way that guarantee AC softstart (due to Arduino "feature" #96 (https://github.com/eez-open/psu-firmware/issues/96)).

Some brainstorming here about a possible workaround for this startup issue.

The idea is to use the voltage monitoring in IC31 TPS3705-33D to delay the control of PWR_DIRECT and PWR_SSTART and “wait out” the 10ms pulse from the Arduino.
PFO will be held low and block PWRSS and PWRDIR until R1 has charged up C to the level that input PFI goes above 1.25V.
From the datasheet (see picture), this level is calculated as: VTH=((R1+R2)/R2)x1.25

Have I missed something?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 03, 2017, 02:48:46 am
That looks promising and more realistic then waiting that someone hack/fix Arduino side of the story. :-+
When I find some spare time I can try this, and update latest Arduino shield revision accordingly. Of course, if you or someone else already did that, please let us know result.
Title: Re: Possible candidates for firmware v1.1
Post by: s8548a on November 03, 2017, 05:18:37 am

Of course, feel free to suggest new functionality or improvement of what you already experienced with your PSU (please check first if such thing is already reported).

is it possible to make the standby LED multi color like, Red when the PSU is OFF (back panel mains is ON), Green when ON and Orange for Standby ?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on November 03, 2017, 05:54:34 am
Do you tried to look at /hardware/arduino/sam/cores/arduino/USB/CDC.cpp to see if some init code touch too more things that it needs ?
Otherwise we need to dig more deeply into the Due setup() routine.
I did not checked the datasheet but I could not believe that it is a normal behavior of the sam3x  when used as "bare metal".
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on November 03, 2017, 07:05:07 am
successfully updated the firmware to latest version and finished the calibration.
btw am not satisfied with the calibration, may be because of my DMM's quality( only the 1 ohm resistor is enough right? i have read something about 3.3 ohm resistor somewhere).

Everything below approx. 4 ohm should be ok. What kind of problem your have?

1-am not able to establish a serial communication with PC for getting a debug trace(*IDN returns nothing), only the programming port is working, native port is code10 as mentioned earlier in this thread.
   and when i connected the usb cable directly to DUE's port, the PSU is always ON irrespective of the standby switch position, is that normal?

Yes, that is normal since Arduino Due is in that case powered from PC (over USB cable).

2- and just noticed that when the outputs are OFF, there is around -400mV present on the outputs and if i changed the current to non zero, it reduces to -50mV, is my PSU is ok?

Yes, it is.

Apologies for the delayed reply, was been away from PSU.

After calibration, there were offsets on both channel while measuring. i.e if I set 500mV, am getting around 530mV , same like for current also, the V/R calc is not matching.
also while current calibration, there is a drift when resistor is getting heating up. when to input the measured current? immediately or after stabilizing the reading?

and later found that the calibration mismatch is because of my DMM 3.5 digit and 0.5% accuracy only.
actually what kind of spec DMM you guys were using (and forum members too) for calibration? 5.5digit or 6.5digit?
what is the minimum spec needed?

while calibrating, the voltage input field can accept a maximum of 15 digit, but actually what is the optimum digit reading is recommended/needed (it takes 5.5 digit it seems)?
but in the calibration parameters on the channel calibration settings page shows different digit accuracy of the cal parametors.

in the 150mV calibration, the reading on my DMM were oscillating too much after the decimal point- which reading to take?  (will confirm tomorrow in Cal center may be its my DMM)

as I dont have the equipment's,tomorrow i am taking my PSU to the calibration center for a perfect calibration, please suggest me a calibration procedure to perform there.
how much warm up time is needed before the calibration?
for voltage calibration, it can be measured with their calibrator DMM.
and how to do the current calibration there? programmable current generator?

Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on November 03, 2017, 07:08:17 am
I tried to establish a serial communication for getting the calibration debug messages, but it is not working.

any debug steps for repair the serial communication?
Title: Re: Possible candidates for firmware v1.1
Post by: prasimix on November 03, 2017, 09:05:51 am

Of course, feel free to suggest new functionality or improvement of what you already experienced with your PSU (please check first if such thing is already reported).

is it possible to make the standby LED multi color like, Red when the PSU is OFF (back panel mains is ON), Green when ON and Orange for Standby ?

Yes, but for the cost of at least one more I/O line to drive multicolor LED. Currently all TLC5925 (IC21) outputs are assigned, not in the most efficient way but that is current situation. Supporting that on firmware side is much easier when hardware change is in place.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 03, 2017, 09:10:13 am
Do you tried to look at /hardware/arduino/sam/cores/arduino/USB/CDC.cpp to see if some init code touch too more things that it needs ?
Otherwise we need to dig more deeply into the Due setup() routine.
I did not checked the datasheet but I could not believe that it is a normal behavior of the sam3x  when used as "bare metal".

No one so far had a time to dig into the Arduino code, and as far as I know that 10 ms "set" (or glitch :)) is not a normal behavior of MCU. Anyway, thanks for pointing out first place where to start looking.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 03, 2017, 09:32:21 am
Apologies for the delayed reply, was been away from PSU.

After calibration, there were offsets on both channel while measuring. i.e if I set 500mV, am getting around 530mV , same like for current also, the V/R calc is not matching.
also while current calibration, there is a drift when resistor is getting heating up. when to input the measured current? immediately or after stabilizing the reading?

and later found that the calibration mismatch is because of my DMM 3.5 digit and 0.5% accuracy only.
actually what kind of spec DMM you guys were using (and forum members too) for calibration? 5.5digit or 6.5digit?
what is the minimum spec needed?

while calibrating, the voltage input field can accept a maximum of 15 digit, but actually what is the optimum digit reading is recommended/needed (it takes 5.5 digit it seems)?
but in the calibration parameters on the channel calibration settings page shows different digit accuracy of the cal parametors.

in the 150mV calibration, the reading on my DMM were oscillating too much after the decimal point- which reading to take?  (will confirm tomorrow in Cal center may be its my DMM)

as I dont have the equipment's,tomorrow i am taking my PSU to the calibration center for a perfect calibration, please suggest me a calibration procedure to perform there.
how much warm up time is needed before the calibration?
for voltage calibration, it can be measured with their calibrator DMM.
and how to do the current calibration there? programmable current generator?

Thanks.

Huh, please try to be realistic here. We are not talking about reference piece of equipment built by Keysight and similar guys :). This PSU is built with initial precision of 10 mV / 10 mA in mind and despite the used voltage reference (REF5025 that is actually overkill) the rest of the circuity cannot offer anything better then setting voltage in steps of around 0.6 mV (16-bit DAC) and twice coarser readout (15-bit ADC, hence 1.2 mV). Situation with current is better since max. range is 5 in comparison with 40 for voltage. 

So, you don't need something like 5.5 or 6.5 digits DMM. For instance, I had initially use UNI-T UT58D and recently Fluke 287. When working with Fluke range is manually set to 3 digit and I'm entering average measure (it has min/avg/max function). So, if your first voltage calibration point (150 mV) is not stable just enter, value with one decimal place (e.g. if you read 56.341 mV set 56.3 mV).

For high range current calibration it's up to you to decide what is more preferable moment for measurement: when shunt resistor is cold or heated. Later is more practical if you wants to have more accurate reading for load that is connected for prolonged period of time.

I also have to say that calibration could be further improved by enabling user to move additionally calibration "curve" (actually it's a straight line in our case) offset and angle in tiny steps. I'll let you know when eventually that feature is added into firmware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 03, 2017, 09:37:14 am
I tried to establish a serial communication for getting the calibration debug messages, but it is not working.

any debug steps for repair the serial communication?

It's quite possible that you belongs to group of people that have issue with "speed conflict" caused by USB isolator. Please check first discussion about issue #53 (https://github.com/eez-open/psu-hw/issues/53).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on November 03, 2017, 11:19:14 am
So, you don't need something like 5.5 or 6.5 digits DMM.

You mean I didn't need to use my ensemble of 4 x HP-3458A's?   :-//  I'll go back and recalibrate it with the AN8008.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 03, 2017, 06:40:42 pm
Ha, ha, you can but don't expect precision in ppm :).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 12:37:17 am
Touch screen in current design is the only way that guarantee AC softstart (due to Arduino "feature" #96 (https://github.com/eez-open/psu-firmware/issues/96)).

Some brainstorming here about a possible workaround for this startup issue.

The idea is to use the voltage monitoring in IC31 TPS3705-33D to delay the control of PWR_DIRECT and PWR_SSTART and “wait out” the 10ms pulse from the Arduino.
PFO will be held low and block PWRSS and PWRDIR until R1 has charged up C to the level that input PFI goes above 1.25V.
From the datasheet (see picture), this level is calculated as: VTH=((R1+R2)/R2)x1.25

Have I missed something?

I've checked this issue once again. Don't know if that is Arduino issue or something else. Here is how it looks when front panel switch is used to power up Arduino shield board:

(https://i.imgur.com/NizsA0ml.jpg).

SS (blue) and DIR (magenta) traces are measured on gates of Q32 and Q33. RST (cyan) is measured directly on the Ardiuno Due pin (i.e. how MCU see RESET signal). With different time base we can see that glitch lasts 25 ms:

(https://i.imgur.com/IgZC2eHl.jpg)

IC29A gate (AND) should is used to prohibit activation of softstart outputs but it seems that PWRSS and PWRDIR needs another 25 ms to be set to low state after reset condition. If we measure concurrently that two signals and outputs to Q32 and Q33 we will get this:

(https://i.imgur.com/Lw45lwCl.jpg)

... and schematic with trace descriptions:

(https://i.imgur.com/orU6dINl.png)

Therefore your suggestion with power-up delay should work only if it's somehow added to end of RESET pulse (e.g. additional 30 or more milliseconds).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on November 04, 2017, 02:47:35 am
Ha, ha, you can but don't expect precision in ppm :).

Well, I do expect ppm level precision,  but life seldom meets expectations.    :-DD
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 07:32:55 am
Some questions here about CC in serial mode and the power limit warning.
Coupling: Serial
Voltage: 80V
Load: Resistor ~3Ohm

Current limit=1A Both channels are in CC mode
Vout=2,79V
Vset=80,00V
P=2,78W

CL=1,5A - CH1 in CC mode, CH2 in CV. Why?
Vout=4,17V
Vset=42,09V - Why?
P=6,26W

CL=3,9A - CH1 in CC mode, CH2 in CV.
Vout=10,02V
Vset=80,00V
P=36,06W
Warning: Power limit exceeded. - Why?


I can see that the theoretical power will exceed 310W @ 80V 3,9A, but in CC mode in this case we are far away from that.

Why does CH2 go into CV and Vset drops down from 80V?

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 07:39:38 am
Upper power limit is checking when you set new value, not in "runtime". So, if you don't need/expect more then e.g. 40 W then you don't to set 310 W, or not?
Regarding channels coupling did you have a chance to watch this video?

https://www.youtube.com/watch?v=Ukn1K1G0pJU (https://www.youtube.com/watch?v=Ukn1K1G0pJU)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 08:22:09 am
Thanks!  :-+
I have seen that video, but it was about then you released it, so obviously I didn’t remember it all correctly... 

Another observersion:
With the output On I am able to go “over” the 310W limit (e.g. over 4A@80V) if I use the steps. It is also possible with the rotary encoder if it’s done slowly, about max one step per second.
If it has been set “too high”, the keypad is the only way to go back down again if the output is Off. Step, slide and rotary encoder are all blocked by the “Power limit exceeded” warning.
If the output is On it is possible to go back down the same way it is possible to go up over the limit.
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 09:34:47 am
Therefore your suggestion with power-up delay should work only if it's somehow added to end of RESET pulse (e.g. additional 30 or more milliseconds).

It looks like there is ~200ms from 3V3 is live to RST=1 and after that we need another 25ms delay of the and gate. Right?

A quick test on the bench with 100k for R1 and R2 and 1uF for C gave a delay of about 60ms until 1.25V was reached.

If R1 is feed from RST out on IC31 (pin.7) instead of the 3V3 rail, the 60ms delay will not start until RST goes high.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 08:22:35 pm
Thanks!  :-+
I have seen that video, but it was about then you released it, so obviously I didn’t remember it all correctly... 

Another observersion:
With the output On I am able to go “over” the 310W limit (e.g. over 4A@80V) if I use the steps. It is also possible with the rotary encoder if it’s done slowly, about max one step per second.
If it has been set “too high”, the keypad is the only way to go back down again if the output is Off. Step, slide and rotary encoder are all blocked by the “Power limit exceeded” warning.
If the output is On it is possible to go back down the same way it is possible to go up over the limit.

Hm, this is interesting. I tried it just now, outputs are coupled in series, current is set to 4 A and, output is on, and with slowly increasing output voltage I'm repeatedly get error message on attempt to go over 77.50 V that is right (77.5 x 4 = 310). I need more input here.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 08:39:58 pm
Thanks!  :-+
I have seen that video, but it was about then you released it, so obviously I didn’t remember it all correctly... 

Another observersion:
With the output On I am able to go “over” the 310W limit (e.g. over 4A@80V) if I use the steps. It is also possible with the rotary encoder if it’s done slowly, about max one step per second.
If it has been set “too high”, the keypad is the only way to go back down again if the output is Off. Step, slide and rotary encoder are all blocked by the “Power limit exceeded” warning.
If the output is On it is possible to go back down the same way it is possible to go up over the limit.

Hm, this is interesting. I tried it just now, outputs are coupled in series, current is set to 4 A and, output is on, and with slowly increasing output voltage I'm repeatedly get error message on attempt to go over 77.50 V that is right (77.5 x 4 = 310). I need more input here.
Try to increase current instead of voltage in cc mode.

Skickat från min Nexus 6 via Tapatalk

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 09:01:09 pm
Therefore your suggestion with power-up delay should work only if it's somehow added to end of RESET pulse (e.g. additional 30 or more milliseconds).

It looks like there is ~200ms from 3V3 is live to RST=1 and after that we need another 25ms delay of the and gate. Right?

A quick test on the bench with 100k for R1 and R2 and 1uF for C gave a delay of about 60ms until 1.25V was reached.

If R1 is feed from RST out on IC31 (pin.7) instead of the 3V3 rail, the 60ms delay will not start until RST goes high.

We are almost there. Only what is missing is AND-ing instead of OR-ing PFO and WDO outputs.

EDIT: without introducing more components maybe we should tied permanently WDO to MR input (JP8 is out) and connect PFO to IC29A input.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 09:19:01 pm
Therefore your suggestion with power-up delay should work only if it's somehow added to end of RESET pulse (e.g. additional 30 or more milliseconds).

It looks like there is ~200ms from 3V3 is live to RST=1 and after that we need another 25ms delay of the and gate. Right?

A quick test on the bench with 100k for R1 and R2 and 1uF for C gave a delay of about 60ms until 1.25V was reached.

If R1 is feed from RST out on IC31 (pin.7) instead of the 3V3 rail, the 60ms delay will not start until RST goes high.

We are almost there. Only what is missing is AND-ing instead of OR-ing PFO and WDO outputs.

EDIT: without introducing more components maybe we should tied permanently WDO to MR input (JP8 is out) and connect PFO to IC29A input.
Why AND-ing PFO and WDO? Anyone should be able to shut off the power independently, or?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 09:22:33 pm
Yes but, WDO is on the power-up high and in that way cancels effect of delayed PFO. With minimum additional components it should looks like this:

(https://i.imgur.com/npBftzAl.png)

WDO will now generate reset if watchdog failed (i.e. firmware stuck).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 10:22:49 pm
Yes but, WDO is on the power-up high and in that way cancels effect of delayed PFO. With minimum additional components it should looks like this:
WDO will now generate reset if watchdog failed (i.e. firmware stuck).

The two diodes on PFO and WDO are in the wrong way in my last sketch. See new one below.
With the diodes in the opposite way PFO and WDO should be able to pull the AND-gate (pin 2 on IC29A) low independently of each other.
Am I missing something?

Your solution will work, but is a little harder to hack in on an existing board, and will not be able to shut down the power in case of stuck firmware (WDT).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 10:28:43 pm
You're right, but I'll stay with solution in my previous post. No need to introduce two more components. I think that we also we don't need 100K on previous R160 position (if diode are not using). PFO and WDO are not open collector outputs.

I'll try to modify my Arduino shield and let you know how it looks like.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 10:47:01 pm
You're right, but I'll stay with solution in my previous post. No need to introduce two more components. I think that we also we don't need 100K on previous R160 position (if diode are not using). PFO and WDO are not open collector outputs.

I'll try to modify my Arduino shield and let you know how it looks like.
Right, R160 pollup is not needed in your version.
What is D21 needed for?
Do we have a strong high level on the anode to charge up the cap?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 11:11:06 pm
D21 is added that IC31 output not interfere with reset generating by Arduino IDE during before firmware upload is begin. I'll check if that side of diode is appropriate to charge capacitor.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 05, 2017, 12:56:46 am
D21 is added that IC31 output not interfere with reset generating by Arduino IDE during before firmware upload is begin. I'll check if that side of diode is appropriate to charge capacitor.
It looks like IC31 is capable to drive several mA.
That will be enough to charge the cap directly from pin2 (reset) on IC31.
What was your thought then getting the charging from outside (anode) D21?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 05, 2017, 01:35:44 am
What was your thought then getting the charging from outside (anode) D21?

To cover last possible but unlikely scenario: that someone use Arduino Due on-oboard reset switch instead of SW3 (when. e.g. when top cover is open) :D. I just finished modification and on the power up you can see that SS and DIR are free of glitch:

(https://i.imgur.com/Dv8bW1Ml.jpg)

If I'm using Arduino reset instead of SW with PFI voltage divider connected to D21 cathode glitch is still there:

(https://i.imgur.com/aX6BMCgl.jpg)

... but with connection to D21 anode we have clean situation like in power up scenario:

(https://i.imgur.com/fROZwsGl.jpg)

Here is how modification looks like if someone is interesting to add this improvement:

1. IC31 is removed and pin 4 is disconnected from the GND:

(https://i.imgur.com/dEsbMndl.png)

2. JP8 position is changed:

(https://i.imgur.com/SUHxvkHl.png)

3. Pin 5 is connected to other side of the JP8 (yellow wire), combination of  2 x 100K and 1uF is soldered to pin 4 (one leg to GND on supercap, another on D21 anode):

(https://i.imgur.com/SZSfy4vl.jpg)

Thanks Pjoms once again for your assistance.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 05, 2017, 01:58:46 am
Thanks!  :-+
I have seen that video, but it was about then you released it, so obviously I didn’t remember it all correctly... 

Another observersion:
With the output On I am able to go “over” the 310W limit (e.g. over 4A@80V) if I use the steps. It is also possible with the rotary encoder if it’s done slowly, about max one step per second.
If it has been set “too high”, the keypad is the only way to go back down again if the output is Off. Step, slide and rotary encoder are all blocked by the “Power limit exceeded” warning.
If the output is On it is possible to go back down the same way it is possible to go up over the limit.

Hm, this is interesting. I tried it just now, outputs are coupled in series, current is set to 4 A and, output is on, and with slowly increasing output voltage I'm repeatedly get error message on attempt to go over 77.50 V that is right (77.5 x 4 = 310). I need more input here.
Try to increase current instead of voltage in cc mode.

Skickat från min Nexus 6 via Tapatalk

Tried but still without success. I set voltage to 80 V, connect 16R4 load to be in CC mode and starts to change current and cannot go over 3.87 A.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 05, 2017, 02:30:06 am
Tried but still without success. I set voltage to 80 V, connect 16R4 load to be in CC mode and starts to change current and cannot go over 3.87 A.

This phenomenon seems to rise with lower load resistance.
At 15 ohm I also got a stable behaviour, but under ~10 ohm it went easier and easier.
With a 3 ohm load I have no problem to reproduce it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 05, 2017, 06:28:11 pm
Tried but still without success. I set voltage to 80 V, connect 16R4 load to be in CC mode and starts to change current and cannot go over 3.87 A.

This phenomenon seems to rise with lower load resistance.
At 15 ohm I also got a stable behaviour, but under ~10 ohm it went easier and easier.
With a 3 ohm load I have no problem to reproduce it.

I can confirm this with smaller load: tested with 2R, voltage set to 80 V, in CC mode I can slowly increase current up to 5 A (i.e. 400 W). Do you mind to open this as new issue in GitHub for firmware?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 05, 2017, 09:15:55 pm
I can confirm this with smaller load: tested with 2R, voltage set to 80 V, in CC mode I can slowly increase current up to 5 A (i.e. 400 W). Do you mind to open this as new issue in GitHub for firmware?

Ok. #183 (https://github.com/eez-open/psu-firmware/issues/183)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 06, 2017, 12:15:01 am
I can confirm this with smaller load: tested with 2R, voltage set to 80 V, in CC mode I can slowly increase current up to 5 A (i.e. 400 W). Do you mind to open this as new issue in GitHub for firmware?
Ok. #183 (https://github.com/eez-open/psu-firmware/issues/183)

More observersions, setup same as described above:
Coupling: Serial
Volt: 80V
Enable output and increase the current in cc-mode.


Load 0-4.7 Ohm.
Keypad or SCPI-command can be used to go back under power limit level with no load or output off.

Current can be set from about 1.5-3A to anything up to 5A using keypad or SCPI-command without power limit warning.
If current is set to something below 1-1.5A power limit warning occur as expected. This limit does not seem to be fixed. Sometimes I was able to jump directly from 1.1A to 5A without any warning, but sometimes I have to go from something like 2-3A. From 3A to 5A seems to always work.


Load 10 ohm.
PSU shut down due to “CH2 fault detected” then jumping from 3A to 5A using keypad.

Log:
**ERROR: -243,"CH2 fault detected"
**ERROR: -350,"Queue overflow"
**ERROR: -243,"CH2 fault detected"
**ERROR: -350,"Queue overflow"
**ERROR: -243,"CH2 fault detected"
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 12:17:32 am
Are you receiving **ERROR: -243,"CH2 fault detected" also in CV mode?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 06, 2017, 12:23:41 am
Are you receiving **ERROR: -243,"CH2 fault detected" also in CV mode?
CH1 is in CC and CH2 in CV, but CH2 also goes into CC when changing current to 5A just before the PSU shut down.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 12:25:20 am
OK, it seems that we need to improve "balancing algorithm" for channels coupled in series.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 12:35:12 am
Please try the following scenario: instead of using built-in coupling is series, use tracking mode, set both channel to max. voltage, use external wiring and by changing current check if you can get channel fault detected error.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 06, 2017, 12:48:41 am
Please try the following scenario: instead of using built-in coupling is series, use tracking mode, set both channel to max. voltage, use external wiring and by changing current check if you can get channel fault detected error.

Not able to set 5A.
No shut down, but:
**ERROR: 500,"Down-programmer on CH1 switched off"
**ERROR: -350,"Queue overflow"
**ERROR: -245,"CH1 output fault detected"
**ERROR: -350,"Queue overflow"
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 12:51:02 am
Good, what was load and set current when you got output fault detected?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: P