EEVblog Electronics Community Forum

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

Title: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 18, 2015, 10:01:43 am
(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, 10:20:52 am
Sheets from schematic (PDF) as separate image files ...
Title: Few LM5118 pre-regulator measurements ...
Post by: prasimix on January 18, 2015, 11:01:44 am
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, 11:14:24 am
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, 11:21:24 am
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, 11:29:24 am
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 18, 2015, 02:22:01 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! :)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on January 19, 2015, 09:24:34 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! :)

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, 09:46:13 am
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, 09:50:49 am
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, 11:58:34 am
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 27, 2015, 01:44:16 pm
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, 09:49:16 am
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, 10:23:15 am
interesting project, keep up the good work
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Alex30 on January 30, 2015, 01:21:49 pm
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 30, 2015, 02:05:46 pm
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 30, 2015, 02:15:58 pm
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 30, 2015, 02:19:46 pm
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 30, 2015, 02:24:46 pm
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 30, 2015, 09:09:42 pm
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 04, 2015, 06:24:34 pm
[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 05, 2015, 10:24:19 pm
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 05, 2015, 10:35:46 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.

Title: Additional PCBs ...
Post by: prasimix on February 05, 2015, 10:39:18 pm
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 05, 2015, 11:52:37 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 ?
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: uChip on February 06, 2015, 06:05:21 am
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, 07:29:22 am
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, 07:45:39 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 ?

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, 11:52:32 am
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, 07:22:32 am
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 11, 2015, 01:10:31 pm
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 11, 2015, 01:15:00 pm
... 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, 08:48:06 am
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 14, 2015, 02:24:18 pm
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 14, 2015, 03:05:23 pm
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, 10:01:19 am
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 15, 2015, 02:37:23 pm
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 15, 2015, 03:13:41 pm
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 15, 2015, 03:38:16 pm
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, 08:52:11 am
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, 11:02:35 am
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, 09:40:45 am
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, 11:15:55 am
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, 11:52:09 am
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, 12: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, 12: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 06, 2015, 01:58:07 pm
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 06, 2015, 05:01:01 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.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: teddy529 on March 06, 2015, 05:14:11 pm
Mark+ this is awesome!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: Liv on March 07, 2015, 09:17:32 am
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, 12: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, 12: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 07, 2015, 01:39:48 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?

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 07, 2015, 10:41:23 pm
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 21, 2015, 08:02:47 pm
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 21, 2015, 08:14:25 pm
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 21, 2015, 08:23:07 pm
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, 12: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, 08:53:55 am
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, 01: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 08, 2015, 02:00:34 pm
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, 12:56:55 pm
great work, thanks for sharing
Title: Floating charge pump for nmos gate bias
Post by: prasimix on April 30, 2015, 08:21:24 am
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, 09:17:46 am
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 02, 2015, 08:55:02 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
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: harrimansat on May 02, 2015, 09:08:23 pm
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 02, 2015, 10:24:36 pm
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, 08:01:39 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
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 10, 2015, 10:19:00 pm
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, 11:21:37 am
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, 01: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, 01: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 15, 2015, 02:16:04 pm
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 15, 2015, 02:23:52 pm
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, 10:56:39 am
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 21, 2015, 03:04:35 pm
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, 01: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 22, 2015, 02:54:29 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
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 22, 2015, 09:08:52 pm
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, 09:42:40 am
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 24, 2015, 08:19:54 pm
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, 08:06:56 am
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, 08:28:16 am
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, 10:46:40 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

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 28, 2015, 03:54:26 pm
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, 11:47:17 am
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, 08:08:13 am
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, 08:10:16 am
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, 08:26:20 am
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 03, 2015, 04:29:00 pm
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 03, 2015, 05:11:42 pm
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 03, 2015, 06:55:43 pm
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, 05:52:33 am
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 04, 2015, 04:40:14 pm
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 07, 2015, 03:40:07 pm
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 07, 2015, 07:15:47 pm
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, 09:01:22 am
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, 01: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 08, 2015, 03:52:11 pm
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 08, 2015, 05:02:27 pm
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 08, 2015, 05:04:41 pm
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 08, 2015, 06:51:00 pm
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, 08:19:34 am
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, 09:58:14 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.

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, 10:11:38 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.

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 09, 2015, 02:30:39 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.
Title: Re: PCBs is arrived
Post by: Bebo Connon on June 10, 2015, 06:17:16 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.

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, 07:06:11 am
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, 09:17:12 am
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, 10:11:26 am
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, 10:21:06 am
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, 12: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 17, 2015, 04:04:24 pm
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 17, 2015, 10:05:40 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.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 18, 2015, 06:48:25 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.

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, 08:28:51 am
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, 09:34:39 am
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, 09:39:34 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.

Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: void_error on June 18, 2015, 02:26:53 pm
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 18, 2015, 08:29:39 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.

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, 11:00:15 am
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, 11:18:31 am
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, 11:55:53 am
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 19, 2015, 09:53:24 pm
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 19, 2015, 10:12:49 pm
... 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 19, 2015, 10:32:23 pm
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, 08:38:04 am
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, 08:41:31 am
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, 07:55:38 am
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, 09:44:06 am
It's getting amazingly nice!  Congratulations!  ;)
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 29, 2015, 09:16:11 pm
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 11, 2015, 04:13:01 pm
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 11, 2015, 04:15:56 pm
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 11, 2015, 04:17:34 pm
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, 07:18:40 am
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 29, 2015, 05:46:26 pm
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 29, 2015, 05:47:39 pm
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, 09:59:05 am
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, 05:10:28 am
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, 08:31:53 am
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, 08:37:22 am
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, 08:52:50 am
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, 07:28:31 am
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, 08:26:09 am
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, 01: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, 11:34:42 am
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, 06:11:17 am
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, 06:35:09 am
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, 06:46:12 am
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, 01: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, 07:32:08 am
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, 06:55:02 am
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 24, 2015, 06:06:25 pm
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 24, 2015, 07:19:05 pm
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 24, 2015, 09:48:52 pm
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, 07:34:04 am
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, 08:00:24 am
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, 09:18:53 am
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, 09:21:18 am
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 26, 2015, 04:36:05 pm
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 26, 2015, 04:37:26 pm
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 26, 2015, 05:19:52 pm
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 26, 2015, 07:49:43 pm
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 26, 2015, 10:46:50 pm
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, 08:14:46 am
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, 08:55:02 am
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, 01: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, 06:36:40 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?

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, 06:42:38 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?

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, 08:20:40 am
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, 08:43:13 am
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, 01:10:24 am
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, 01:24:27 am
Looking forward to completed project.
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: fivefish on October 05, 2015, 03:01:33 am
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, 06:54:28 am
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 05, 2015, 08:49:39 pm
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, 11:53:59 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.

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 06, 2015, 01:28:53 pm
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 06, 2015, 01:50:39 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.

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, 10:01:59 am
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, 10:21:09 am
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, 10:25:10 am
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, 10:39:03 am
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, 10:42:59 am
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, 10:58:29 am
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, 11:02:32 am
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, 12: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 13, 2015, 03:09:17 pm
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, 10:55:03 am
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, 10:56:58 am
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, 11:04:44 am
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, 11:06:23 am
... 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, 11:53:01 am
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 21, 2015, 05:22:26 pm
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 28, 2015, 10:18:33 pm
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 01, 2015, 04:15:49 pm
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 06, 2015, 05:13:42 pm
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 06, 2015, 05:29:50 pm
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 10, 2015, 05:01:55 pm
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 14, 2015, 11:00:46 pm
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, 11:16:47 am
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, 11:35:29 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!
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on November 15, 2015, 01:26:58 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!

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, 08:49:46 am
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, 09:14:05 am
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, 12: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 04, 2015, 08:05:07 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.

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, 12: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, 05:04:07 am
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, 09:11:08 am
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, 09:14:53 am
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 01, 2016, 06:10:58 pm
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, 05:25:55 am
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, 05:27:54 am
sorry missed the screen shot
Title: Re: DIY programmable dual channel bench PSU 0-50V/3A
Post by: skrap on January 13, 2016, 05:41:11 am
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, 08:51:12 am
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, 09:01:37 am
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, 09:06:44 am
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, 12: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, 12: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 13, 2016, 11:59:24 pm
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, 02:45:07 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?

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, 09:24:14 am
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 14, 2016, 04:44:55 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?

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 17, 2016, 01:22:15 pm
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, 09:24:28 am
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, 09:58:50 am
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, 09:49:39 am
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, 09:55:00 am
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, 10:31:41 am
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, 10:34:57 am
... 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, 04:05:30 am
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, 11:20:09 am
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 10, 2016, 02:17:18 pm
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 10, 2016, 03:26:41 pm
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, 12: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 12, 2016, 01:28:47 pm
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 12, 2016, 01:48:24 pm
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 12, 2016, 02:40:48 pm
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 12, 2016, 04:28:43 pm
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, 11:48:24 am
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 01, 2016, 05:14:35 pm
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, 08:49:33 am
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, 10:22:45 am
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, 10:34:50 am
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, 10:55:47 am
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 05, 2016, 07:04:48 pm
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 05, 2016, 10:46:00 pm
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, 11:02:25 am
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 13, 2016, 05:48:34 pm
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 13, 2016, 06:35:35 pm
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 13, 2016, 06:45:46 pm
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 13, 2016, 08:50:57 pm
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, 07:01:43 am
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, 08:16:07 am
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, 08:44:29 am
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 14, 2016, 02:48:50 pm
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 14, 2016, 03:03:30 pm
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 14, 2016, 03:18:57 pm
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 14, 2016, 05:13:19 pm
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 14, 2016, 05:35:21 pm
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 14, 2016, 09:02:36 pm
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 14, 2016, 10:42:23 pm
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 14, 2016, 10:58:45 pm
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 14, 2016, 11:05:31 pm
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, 06:07:48 am
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 26, 2016, 01:25:07 pm
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 26, 2016, 08:32:03 pm
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, 07:29:02 am
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, 09:25:54 am
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, 09:30:29 am
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, 09:02:25 am
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, 10:39:25 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
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on April 03, 2016, 04:27:04 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

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 04, 2016, 06:21:53 pm
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 04, 2016, 09:32:57 pm
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 04, 2016, 09:38:56 pm
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, 01: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, 10:57:18 am
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, 11:12:28 am
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 16, 2016, 05:20:26 pm
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 16, 2016, 06:32:22 pm
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, 08:22:33 am
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, 01: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 04, 2016, 04:28:12 pm
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, 01: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, 01: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, 08:18:59 am
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 09, 2016, 05:46:03 pm
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 09, 2016, 05:55:18 pm
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 09, 2016, 07:31:23 pm

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 09, 2016, 08:17:45 pm
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 09, 2016, 09:05:58 pm
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 09, 2016, 09:25:26 pm
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 09, 2016, 09:38:43 pm
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 09, 2016, 09:55:53 pm
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 09, 2016, 09:59:39 pm
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 14, 2016, 10:14:07 pm
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 16, 2016, 02:14:57 pm
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, 04:17:23 am
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, 06:44:39 am
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, 07:39:20 am
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, 09:44:15 am
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, 09:59:09 am
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, 10:13:13 am
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, 10:47:41 am
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, 10:49:15 am
 :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on May 21, 2016, 10:51:23 am
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, 11:30:05 am
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, 11:52:37 am
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, 12: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, 01: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, 01: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 21, 2016, 02:02:54 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.

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 21, 2016, 03:57:08 pm
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 21, 2016, 04:42:52 pm
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, 10:34:32 am
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, 11:52:00 am
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 22, 2016, 07:22:36 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
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Liv on May 22, 2016, 09:59:19 pm
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, 07:17:02 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

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 23, 2016, 04:34:38 pm
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, 04:48:17 am
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, 09:43:12 am
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, 11:12:53 am
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, 12: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, 12: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, 12: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, 01: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, 01: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 25, 2016, 05:42:09 pm
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 25, 2016, 06:46:04 pm
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 25, 2016, 07:55:37 pm

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 25, 2016, 09:51:39 pm
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 25, 2016, 10:06:55 pm
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, 09:46:29 am
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, 10:14:33 am
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, 01: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, 09:06:17 am
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 04, 2016, 04:32:33 pm
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, 06:51:05 am
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, 07:08:03 am
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 07, 2016, 05:59:41 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
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Electronix on June 07, 2016, 07:23:27 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
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 08, 2016, 05:18:35 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

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, 05:23:53 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

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 08, 2016, 04:07:30 pm
"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 08, 2016, 04:20:38 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: electricar on June 08, 2016, 04:50:06 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.
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, 04:35:17 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.


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, 04:41:41 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.



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, 06:20:30 am
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, 06:59:19 am
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, 07:21:43 am
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 09, 2016, 05:48:46 pm
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 09, 2016, 08:12:13 pm
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, 12: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 13, 2016, 06:21:51 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
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: prasimix on June 15, 2016, 08:18:32 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

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, 08:36:47 am
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, 11:42:39 am
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, 01: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, 01: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 16, 2016, 04:47:06 pm
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 16, 2016, 04:52:54 pm
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 18, 2016, 03:33:56 pm
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 18, 2016, 06:02:43 pm
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 20, 2016, 02:26:39 pm
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 21, 2016, 02:39:38 pm
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 21, 2016, 06:20:30 pm
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 21, 2016, 07:16:52 pm
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, 11:30:39 am
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 26, 2016, 10:05:10 pm
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, 04:26:05 am
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, 07:01:53 am
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 06, 2016, 03:29:59 pm
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 24, 2016, 02:11:22 pm
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, 12: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, 12: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, 12: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 17, 2016, 08:00:36 pm
NICE, cant wait to get them :) !
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on August 17, 2016, 08:23:59 pm
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 17, 2016, 08:55:22 pm
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 17, 2016, 09:17:22 pm
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, 07:22:23 am
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, 07:28:49 am
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, 10:01:33 am
Thanks Prasimix. ????

Sent from my SM-G925I using Tapatalk

Title: Assembled new boards and enclosure
Post by: prasimix on August 22, 2016, 06:17:42 pm
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 25, 2016, 04:30:26 pm
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 25, 2016, 04:32:26 pm
Please check post #373.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: minion on August 25, 2016, 04:35:01 pm
that was fast, tnx  :)
Title: AUX PS r5B9 is assembled ...
Post by: prasimix on August 26, 2016, 03:41:57 pm
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 26, 2016, 03:55:59 pm
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, 09:28:31 am
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, 09:30:12 am
My set was delivered today Thanks!
Title: New custom made enclosure is arrived
Post by: prasimix on September 02, 2016, 08:02:42 pm
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, 02:50:10 am
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, 07:01:24 am
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, 07:05:39 am
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, 11:35:09 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?

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, 11:54:35 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A
Post by: Strada916 on September 03, 2016, 11:57:28 am
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, 12: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, 12: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, 12: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 03, 2016, 02:04:00 pm
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 03, 2016, 02:12:34 pm
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, 11:04:37 am
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, 11:10:32 am
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 04, 2016, 06:29:29 pm
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 04, 2016, 08:16:27 pm
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 04, 2016, 08:44:26 pm
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, 06:02:54 am
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, 06:12:52 am
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, 06:53:52 am
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, 07:18:51 am
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, 08:16:27 am
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, 09:43:33 am
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, 10:31:35 am
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, 11:24:13 am
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, 11:39:13 am
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, 01: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 05, 2016, 08:06:19 pm
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 05, 2016, 08:17:17 pm
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 06, 2016, 03:29:01 pm
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 06, 2016, 04:46:23 pm
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 07, 2016, 02:45:29 pm
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 10, 2016, 04:09:16 pm
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, 06:09:26 am
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, 09:36:57 am
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, 05:03:08 am
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, 06:56:30 am
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, 07:23:00 am
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, 07:29:46 am
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 26, 2016, 08:09:16 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.

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 28, 2016, 10:54:08 pm
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, 10:04:10 am
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, 09:54:20 am
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, 10:06:22 am
For wire cutting, insulation removing and crimping I found very useful the following tools:
Title: Firmware M2 preview ...
Post by: prasimix on October 01, 2016, 09:21:20 pm
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, 10:27:06 am
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 07, 2016, 05:59:41 pm
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 10, 2016, 05:02:03 pm
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 10, 2016, 09:17:59 pm
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 13, 2016, 08:23:03 pm
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 13, 2016, 09:06:35 pm
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, 01:00:52 am
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 14, 2016, 07:37:42 pm
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 20, 2016, 06:36:34 pm
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, 11:28:52 am
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 21, 2016, 03:36:34 pm
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 21, 2016, 04:04:02 pm
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 21, 2016, 04:06:25 pm
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 21, 2016, 11:44:41 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.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 22, 2016, 06:57:06 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.

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, 07:14:19 am
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, 07:32:22 am
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, 08:30:57 am
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, 08:41:22 am
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, 08:53:17 am
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, 08:55:09 am
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, 11:39:10 am
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, 12: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, 12: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, 12: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 22, 2016, 07:46:58 pm
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 22, 2016, 09:51:46 pm
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 22, 2016, 10:19:05 pm
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 22, 2016, 10:47:36 pm
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, 11:34:07 am
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 16, 2016, 04:35:14 pm
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 16, 2016, 04:54:02 pm
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 16, 2016, 05:01:04 pm
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 16, 2016, 05:10:29 pm
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 16, 2016, 05:31:02 pm
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 16, 2016, 06:10:43 pm
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 16, 2016, 10:44:37 pm
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, 11:59:03 am
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, 12: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, 01:57:45 am
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, 07:58:14 am
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 18, 2016, 01:32:06 pm
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 18, 2016, 09:14:27 pm
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, 12: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, 08:37:40 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: technix on November 19, 2016, 05:49:23 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.

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 19, 2016, 09:46:43 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.

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 19, 2016, 10:23:18 pm
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, 06:20:21 am
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, 12: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, 12: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, 03:14:26 am
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 21, 2016, 07:03:41 pm
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 22, 2016, 01:07:27 pm
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 22, 2016, 03:48:31 pm
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 22, 2016, 03:57:02 pm
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, 12: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 23, 2016, 02:04:19 pm
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 23, 2016, 02:05:59 pm
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, 12: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, 12: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, 12: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, 12: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, 01:12:59 am
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, 01:19:08 am
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, 01:25:33 am
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, 01:50:49 am
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, 04:00:58 am
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, 06:32:38 am
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, 07:35:39 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.

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, 07:59:39 am
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, 08:04:45 am
@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, 08:10:48 am
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 24, 2016, 07:58:21 pm
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 24, 2016, 10:10:40 pm
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, 12: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, 12: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 November 30, 2016, 06:15:53 pm
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 November 30, 2016, 10:10:04 pm
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, 12: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, 09:17:59 am
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, 11:00:00 am
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, 12: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, 11:35:26 am
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 10, 2016, 08:54:19 pm
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, 08:49:09 am
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, 02:18:25 am
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, 09:07:33 am
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, 12: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 29, 2016, 11:33:28 pm
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, 08:33:56 am
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 04, 2017, 04:24:29 pm
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 04, 2017, 05:47:55 pm
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, 08:31:42 am
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 05, 2017, 03:21:17 pm
@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 05, 2017, 03:35:28 pm
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 06, 2017, 10:15:40 pm
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 06, 2017, 10:25:36 pm
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 06, 2017, 10:34:42 pm
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 09, 2017, 05:47:16 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.   :-//

Title: Channel tracking and coupling
Post by: prasimix on January 10, 2017, 09:11:12 am
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, 12: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 13, 2017, 04:15:14 pm
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, 12: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, 12: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 15, 2017, 11:15:24 pm
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 17, 2017, 08:16:53 pm
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 17, 2017, 11:24:24 pm
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, 07:46:40 am
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, 08:18:12 am
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 24, 2017, 07:26:50 pm
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 24, 2017, 10:33:10 pm
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, 11:50:12 am
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 26, 2017, 04:03:08 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)/)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 26, 2017, 04:07:32 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) ...
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 26, 2017, 10:03:15 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) ...

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, 09:50:45 am
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 27, 2017, 10:53:53 pm
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, 09:28:32 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)/)

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 28, 2017, 04:44:11 pm
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 28, 2017, 04:47:46 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)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 28, 2017, 07:15:22 pm
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 28, 2017, 07:24:18 pm
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 28, 2017, 07:33:51 pm
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 28, 2017, 07:45:34 pm
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 28, 2017, 08:16:19 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".
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on January 29, 2017, 02:54:42 am
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, 08:15:31 am
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, 08:44:17 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".

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, 11:43:38 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)

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, 11:51:04 am
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, 12: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 29, 2017, 01:17:31 pm
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 29, 2017, 01:27:35 pm
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 29, 2017, 06:26:41 pm
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, 08:57:40 am
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, 09:11:09 am
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, 09:19:31 am
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 30, 2017, 02:55:11 pm
"(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 30, 2017, 03:09:38 pm
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 30, 2017, 11:44:26 pm
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, 08:40:25 am
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, 09:01:07 am
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, 10:16:15 am
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, 10:23:45 am
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, 11:33:07 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) ...

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 January 31, 2017, 07:29:43 pm
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 January 31, 2017, 07:51:22 pm
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, 09:18:11 am
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, 09:43:24 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".

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, 09:49:40 am
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 03, 2017, 04:45:02 pm
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 03, 2017, 07:14:10 pm
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 03, 2017, 10:13:39 pm
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 03, 2017, 10:55:57 pm
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, 12: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, 12: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, 12: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, 12: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, 06:44:41 am
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, 06:59:03 am
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, 07:06:31 am
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, 07:11:26 am
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, 07:52:05 am
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, 08:03:36 am
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, 08:57:39 am
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, 09:12:32 am
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, 09:30:00 am
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, 09:58:15 am
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, 10:04:51 am
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, 10:15:58 am
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, 10:23:23 am
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, 10:31:22 am
(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, 11:07:18 am
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, 11:27:18 am
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, 11:35:00 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Kean on February 04, 2017, 03:17:07 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.

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 04, 2017, 05:32:51 pm
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 04, 2017, 05:54:48 pm
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 05, 2017, 03:42:12 pm
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 05, 2017, 06:27:08 pm
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, 10:12:34 am
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, 03:42:33 am
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, 07:14:50 am
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, 10:17:58 am
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, 10:22:05 am
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, 10:27:13 am
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, 09:27:12 am
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, 09:39:55 am
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 19, 2017, 02:36:57 pm
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 19, 2017, 02:46:55 pm
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 20, 2017, 01:35:16 pm
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 20, 2017, 03:37:45 pm
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 20, 2017, 04:02:15 pm
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 20, 2017, 04:09:15 pm
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 20, 2017, 08:54:51 pm
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 27, 2017, 01:29:38 pm
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 27, 2017, 04:05:22 pm
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 03, 2017, 09:25:51 pm
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 03, 2017, 09:55:02 pm
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 03, 2017, 10:44:49 pm
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, 07:49:50 am
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, 10:56:06 am
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 11, 2017, 02:22:02 pm
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 11, 2017, 03:06:12 pm
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, 09:03:47 am
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, 08:10:39 am
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, 09:14:35 am
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, 09:18:29 am
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 13, 2017, 02:58:52 pm
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 13, 2017, 03:06:38 pm
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 13, 2017, 04:13:53 pm
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 13, 2017, 04:43:05 pm
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 22, 2017, 03:33:59 pm
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 22, 2017, 04:16:15 pm
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, 05:10:02 am
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, 11:28:55 am
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 24, 2017, 06:38:45 pm
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 24, 2017, 11:07:13 pm
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, 07:55:21 am
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, 08:27:26 am
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 03, 2017, 03:03:44 pm
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 04, 2017, 11:56:30 pm
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, 07:34:42 am
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, 09:00:22 am
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, 09:01:45 am
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, 09:23:13 am
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, 09:25:48 am
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, 09:26:28 am
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, 09:29:36 am
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, 09:36:09 am
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, 09:58:12 am
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, 10:07:30 am
+-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, 10:15:05 am
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, 10:28:18 am
+-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, 11:38:53 am
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, 01: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, 01: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 05, 2017, 03:30:37 pm
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 05, 2017, 04:07:31 pm
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 05, 2017, 04:08:18 pm
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, 07:14:18 am
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, 01: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 09, 2017, 02:52:46 pm
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 09, 2017, 03:06:12 pm
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 09, 2017, 03:13:01 pm
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 09, 2017, 03:42:03 pm
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 09, 2017, 03:50:17 pm
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 11, 2017, 11:47:17 pm
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, 06:12:36 am
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, 08:50:38 am
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, 10:03:25 am
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, 10:32:58 am
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 23, 2017, 06:57:35 pm
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, 07:36:58 am
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 24, 2017, 06:43:21 pm
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, 06:47:51 am
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, 10:36:42 am
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, 11:35:28 am
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, 06:15:12 am
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, 06:24:43 am
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, 06:53:51 am
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, 12: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 13, 2017, 02:31:00 pm
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 19, 2017, 11:40:37 pm
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, 06:31:38 am
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, 02:14:20 am
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 19, 2017, 02:57:02 pm
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, 09:57:19 am
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, 11:03:51 am
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, 01: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, 06:28:52 am
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, 06:29:40 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 18, 2017, 05:40:33 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?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 18, 2017, 09:07:58 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: texaspyro on August 18, 2017, 10:45:47 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.


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 19, 2017, 06:29:27 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.

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, 12: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, 12: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, 01: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, 01: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 19, 2017, 02:14:10 pm
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 19, 2017, 02:18:19 pm
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, 06:19:43 am
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, 01: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 25, 2017, 11:10:07 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.

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 25, 2017, 11:23:28 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.

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, 06:31:32 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Taki on August 26, 2017, 05:31:06 pm
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 26, 2017, 07:34:31 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?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Len on August 26, 2017, 07:47:50 pm
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 26, 2017, 07:49:07 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.

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 26, 2017, 08:50:44 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?

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 26, 2017, 08:52:54 pm
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 26, 2017, 09:26:09 pm

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 26, 2017, 09:28:32 pm
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 26, 2017, 10:06:45 pm
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, 04:41:22 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?

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, 08:41:40 am
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 August 31, 2017, 02:57:10 pm
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 August 31, 2017, 02:58:54 pm
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 August 31, 2017, 03:07:02 pm
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 August 31, 2017, 03:09:34 pm
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 August 31, 2017, 03:20:22 pm
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 August 31, 2017, 03:24:36 pm
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 August 31, 2017, 03:28:05 pm
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 August 31, 2017, 03:31:07 pm
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 August 31, 2017, 03:56:49 pm
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 August 31, 2017, 05:41:30 pm
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, 09:35:22 am
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, 09:52:27 am
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, 12: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 05, 2017, 10:36:50 pm
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, 06:59:08 am
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, 08:30:09 am
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, 08:38:16 am
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, 05:38:03 am
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, 06:21:19 am
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, 06:50:14 am

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, 12: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 10, 2017, 10:16:08 pm
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 12, 2017, 04:32:04 pm
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 13, 2017, 05:32:03 pm
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 13, 2017, 06:11:52 pm
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, 12: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 14, 2017, 03:40:31 pm
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 14, 2017, 06:06:23 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?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on September 14, 2017, 09:02:45 pm
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 14, 2017, 10:14:18 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 14, 2017, 10:17:03 pm
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, 09:41:52 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.

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, 09:45:05 am
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 18, 2017, 04:20:13 pm
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 18, 2017, 05:13:40 pm
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, 12: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, 08:19:33 am
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, 01: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, 10:21:25 am
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 03, 2017, 01:59:22 pm
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 03, 2017, 02:03:07 pm
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, 06:01:30 am
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, 06:51:26 am
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, 10:08:00 am
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, 11:19:34 am
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, 12: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 06, 2017, 01:19:27 pm
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 06, 2017, 03:16:55 pm
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 06, 2017, 03:22:35 pm
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 06, 2017, 03:27:54 pm
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 06, 2017, 03:47:00 pm
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, 08:46:07 am
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, 08:50:58 am
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 14, 2017, 08:14:51 pm
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, 08:59:45 am
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, 09:03:32 am
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, 09:14:33 am
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, 09:16:18 am
:) 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, 09:20:06 am
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, 09:24:24 am
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, 09:37:41 am
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, 09:43:27 am
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, 09:54:50 am
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, 10:05:46 am
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, 10:07:07 am
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, 10:46:14 am
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 26, 2017, 01:30:42 pm
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 26, 2017, 05:00:03 pm
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, 08:28:58 am
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, 11:24:38 am
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 29, 2017, 10:14:40 pm
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 29, 2017, 11:19:51 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

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on October 30, 2017, 12: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, 06:57:28 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

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 02, 2017, 03:42:07 pm
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 02, 2017, 03:48:46 pm
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 02, 2017, 06:18:37 pm

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 02, 2017, 06:54:34 pm
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 02, 2017, 08:05:07 pm
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 02, 2017, 08:08:17 pm
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 02, 2017, 10:05:51 pm

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 02, 2017, 10:10:13 pm
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 02, 2017, 10:32:21 pm
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 02, 2017, 10:37:14 pm
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, 12: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, 07:40:42 am
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 03, 2017, 01:37:17 pm
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 03, 2017, 03:47:35 pm
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 03, 2017, 08:32:55 pm
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 03, 2017, 08:39:38 pm
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 03, 2017, 09:22:09 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.
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 03, 2017, 10:34:47 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 09:22:35 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 04, 2017, 09:39:58 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

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 04, 2017, 10:01:09 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.

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, 10:19:01 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.

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, 10:22:33 am
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, 11:22:49 am
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, 11:28:43 am
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, 11:47:01 am
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, 12: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 04, 2017, 01:56:46 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.
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 04, 2017, 02:35:44 pm
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 04, 2017, 02:58:46 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

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 04, 2017, 03:30:06 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.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 05, 2017, 07:28:11 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.

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, 10:15:55 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)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 05, 2017, 01:15:01 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)

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 05, 2017, 01:17:32 pm
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 05, 2017, 01:23:41 pm
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 05, 2017, 01:25:20 pm
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 05, 2017, 01:35:12 pm
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 05, 2017, 01:48:41 pm
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 05, 2017, 01:51:02 pm
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: Pjoms on November 05, 2017, 02:02:10 pm
Good, what was load and set current when you got output fault detected?
Vset: 80V
Iset: changed from 3A to 5A by keypad
Load: 10 ohm
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 09:42:03 am
I also reproduced latest issue. It's generated by situation that power limitation was intended to block: that power on any of AC/DC module do not exceed 155 W. If that happens even for very short time, the PWRGOOD signal will failed causing that firmware report e.g. -242,"CH1 fault detected" and enters standby.

A new firmware build is now available in master branch. Please download (https://github.com/eez-open/psu-firmware/archive/master.zip) (or git pull) it and check what you'll get now.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on November 06, 2017, 09:10:43 pm
A new firmware build is now available in master branch. Please download (https://github.com/eez-open/psu-firmware/archive/master.zip) (or git pull) it and check what you'll get now.

It looks like I have some smoking hot resistors here now, and a stable behaviour from the PSU and the power supervisor.
Good work!   :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on November 06, 2017, 10:06:16 pm
Does the latest firmware need any hardware modifications? Are the hardware modifications optional or required for correct operation?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on November 06, 2017, 10:19:21 pm
No hardware modifications is needed, it was purely firmware issue taking care of existing hardware limits (i.e. used power modules that can deliver max. 155 W of possible 200 W).
Title: Foot pedal control
Post by: prasimix on November 26, 2017, 02:25:02 pm
I've missed this for a long time, but now it's added: channel's output control using "third" hand or foot pedal, when nobody is around for assistance, etc. :)

https://www.youtube.com/watch?v=wG9moiu5fOY (https://www.youtube.com/watch?v=wG9moiu5fOY)

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 08, 2017, 01:38:44 pm
Hello prasimix

I have an issue with my recently assembled power supply (crowdsupply buy, I know it's been a while!  :popcorn:).
It did work fine when I finished assembling it, however, I did not go through the calibration at that time. It rebooted once with no apparent reason but it was already late and I thought I would come back to it later.

Today it just won't boot. It keeps resetting after the "Ethernet initialization" message and boot loops...
Disconnecting the 48V PSUs and USB/Ethernet cables didn't help.
The wiring has been checked and seems ok, I followed the assembly instructions here: http://www.envox.hr/eez/bench-power-supply/group-buy-kit-assembly.html (http://www.envox.hr/eez/bench-power-supply/group-buy-kit-assembly.html)

Thinking that it could be a firmware issue, I updated the firmware to the git head this morning: 0fd1a68, without success.
I probed the 5V which seems stable on the Arduino at the time of the reset.

See the video of the boot loop here, hope that helps !
https://www.youtube.com/watch?v=3DOfJAOzgeU (https://www.youtube.com/watch?v=3DOfJAOzgeU)

Thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 08, 2017, 02:00:18 pm
Please establish serial connection (e.g. Arduino Serial monitor or any other serial terminal app) and let me know what is displayed there.
Title: AUX power supply based on TNY266 and Feryster transformer
Post by: prasimix on December 08, 2017, 07:03:29 pm
I started few days ago searching for possible alternative for AC/DC two outputs module VTX-214-005-0512. It's price at the beginning of this year was under 6 GBP on Farnell (http://export.farnell.com/vigortronix/vtx-214-005-0512/power-supply-ac-dc-5v-0-5a/dp/2627176), and since then it jumped up to 14 GBP! Why is that, I don't know. For crowdfunding campaign I managed to buy it directly from manufacturer for 5 GBP.
So, we need small and cheap flyback and two most problematic components are controller and transformer. I don't like an idea of winding my own transformer that should withstand AC mains and it is small enough. Fortunately I found for me a new source of magnetics and that is Feryster from Poland. They have a plenty of ready-made transformers and various chokes used for switching applications. In addition it seems that they took extra time to support Power Integrations controllers such as TNY266.
Feryster has two outputs transformer TI-EE16-1534, that is available thru TME (link (https://www.tme.eu/en/details/ti-ee16-1534/pcb-transformers/feryster/)) and Remagas (http://sklep.remagas.pl/en/). I've contacted Feryster and they offer me even bare PCB for TNY266 evaluation that is published in Power Integrations EPR-9 (http://Engineering Prototype Report (EPR-9)).

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

As a first step I decide to use component values as specified in schematics from page 4 of EPR-9:

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

As we can see only zener diode is used for regulating output. That is just fine in our case since that 5 V is used for driving relays and LEDs on Arduino Shield, and it's further decreased to 3.3 V with an LDO. TNY266 operates on 132 kHz that is jittered to reduce EMI. It's not audible at all regardless of connected loads that I tried.
Interestingly it starts to work with only 40 Vdc, therefore for first start I've used successfully EEZ H24005 outputs coupled in series for total of 80 V :).

You can see below few measurements on primary and secondary side (all measurements on primary side was conducted with isolated scope!).
First screenshot is TNY266 Drain (pin 5) where Vin=230 Vac and without any load (LED only):

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

Same pin, but this time with 8R2 power resistors connected to main output (+5V):

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

As we can see peaks goes up to 540 V, despite the used clamping (200 V TVS + schottky). I don't know how it looks to you, maybe there is some room for improvement here and I'll try to use RCD snubber instead. From the other side the PCB layout is really not representative (despite the fact that is designed by manufacturer not Feryster who sold it to me). Actually it looks like they didn't follow even their own recommendations for good layout.

Next screenshot is output ripple on +5V output without load (LED only):

(https://i.imgur.com/0AvSQNYl.png)

Again, but this time with 8R2 load connected:

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

Finally we can see how output ripple looks like on second output (+12V) with 66R load connected, and 8R2 on main output. It's expectedly much higher since it lack LC filter as in case of main output. But even as is it should be fine for powering cooling fan.

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


 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: chris_leyson on December 08, 2017, 09:14:05 pm
Hi prasimix, haven't looked at the Power Integrations TinySwitch designs but it's good news you've got a transformer and PCB sorted out from Feryster. TNY266 is rated for 700V so a 200V clamp should be good but an RCD clamp might be worth a try. I've been looking at LinkSwitch designs with primary side regulation around the 10W to 12W power level. For the most part it does what it says on the data sheet but sometimes the jitter modulation seems to do unexpected things at certain load currents. I'm still looking into that one.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 08, 2017, 09:42:28 pm
Thanks for this info. Please keep me informed if you got any new insights about it. In my case consumption is much lower it's between 3.5 and 4.5 W. But as you said, if that depends of load it could happen even on smaller load. I have to conduct more testing on my side too.
In the meantime I tried RCD snubber with R=100K and C=2n2. It looks better now, for example with Vin=230 Vac and connected load of 8R2 on main output (+5V) I got peaks that is more then 100 V lower:

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

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 09, 2017, 12:14:10 pm
I couldn't get anything on the serial connection. I noticed that the USB cable was not plugged into the right connector in the video. I changed it to the programming connector (lower connector), but still couldn't get anything at 9600 baud.
I tried other speeds, but couldn't get anything either.
After some tinkering, I managed to get the PSU not to boot anymore  :clap:

I had to reflash the Arduino firmware to fix the issue.
By doing that I noticed that plugging the Arduino directly to my laptop (without passing through the Aux power board) allowed it to boot completely! I suspected a power rail dropping and took the following readings on the Arduino shield IDC-10 connector X16.
People can access the pinout here (I so love open source!): https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a%20Sheet%209of12.png
IDC-4: PWR_SSTART
IDC-5: FAN_SENSE
IDC-6: FAN_PWM
IDC-7: DOUT2
IDC-10: +5V

The 5V is the interesting signal here, as it drops to about 3.8V when the Arduino resets.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 09, 2017, 12:24:39 pm
The USB cable was connected on the right port (i.e. Native) that is set as default in firmware for version 1.01 and newer (that is mentioned in building instructions). Did you try to establish serial connection with USB cable plugged in directly into Due?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 10, 2017, 08:51:05 am
Hi guys,

My power supply is going great. One question, is there a known issue with the USB? I can't connect to my power supply or the TechSpace's power supply with either of two HP Windows 10 laptops. My Home PC works and finds the Arduino Due port, so does my Mac laptop, but not the Windows 10 HP laptops. I just get a "Composite Device" with an exclamation mark.

When I try a bare Arduino Due, no problem with either laptop, comes straight up.

I am connected to the native port on both power supplies. I thought I read something about the isolator chip, but can't find it, not sure if it was relevant.

Thanks

Josh
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 10, 2017, 09:10:08 am
It's reported as issue #53 (https://github.com/eez-open/psu-hw/issues/53).

Unfortunately it's related to AdUM3160 isolator chip. It has speed selection and it was hard-wired to Hi-speed on r5B12 revision (used in crowdfunding campaign). It seems that some PCs don't like it and I'm not sure is that a software (operating system) issue or hardware (USB ports).

Some people reports that if you connect it to Programming instead of Native port on Due it works fine. If you are going to make that changes for further working with firmware add change before compilation as stated in post #750 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1292483/#msg1292483).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 10, 2017, 09:26:59 am
Thanks. Seems not OS related, my desktop (i5-3570K based Asrock USB3) and laptop both running latest 1709 Windows 10. Both laptops are intel based (one Core i7, one Core i5). My 2009 macbook works (also intel, but a much older Core 2 Duo).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 10, 2017, 09:30:47 am
Maybe AdUM3160 is too "dumb" or new PC chipsets USB support is too "smart". It's pity that I didn't noticed that during development. I'm using five years old Gigabyte motherboard with Ubuntu and it works just fine. :-//
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 10, 2017, 09:36:11 am
Yeah, weird. I also tried a USB 2.0 hub and a USB 3.0 hub with the offending laptops, to no avail. At least I know I am not crazy (well, not more crazy than usual).

Thanks, and what a great project this is. I am still waiting for the GUI designer to be released so I can change the colours, as the angle I use it the yellow/brown is hard to see.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 12, 2017, 03:13:07 pm
Hi, I tried to establish a connection with the Native USB port through the AUX board but it doesn't enumerate as a serial port (W10 Pro 1709).
As you suggested, I connected directly my laptop to the Native USB port, and this allows the Arduino to complete the boot process. Here is the trace:
Code: [Select]
**TRACE: Ethernet not connected!
**TRACE [2017-12-08 23:55:57]: PWR_DIRECT -> HIGH
**ERROR [2017-12-08 23:55:57]: 630,"Fan test failed"

Let me know if you need me to probe anything on the Shield or the AUX board.
Thanks
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 12, 2017, 03:32:21 pm
That's all what you have? If that is a case then something is wrong on AUX PS board. Fan error is expected since you have not connection with AUX PS board. Try to power up AUX PS board only and check output of TR1. Maybe you have the same issue as reported in post #762 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1301135/#msg1301135). Another usual suspect is ADuM3160 (IC17).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 12, 2017, 04:19:39 pm
About the serial, yes that's all I have, I start Putty as soon as the port shows up in the device manager. I just managed to get a few lines more  :-/O
Code: [Select]
**TRACE: Touch screen calibration points: 3533, 447, 439, 3520, 415, 480
**TRACE: Touch modification ENABLED
**TRACE: Ethernet initialization started...
**TRACE: Ethernet not connected!
**TRACE [2017-12-09 00:59:31]: PWR_DIRECT -> HIGH
**ERROR [2017-12-09 00:59:32]: 630,"Fan test failed"

Output of TR1 is as follow:
Voltage across C77 (not mounted) is 17.57V when the standby switch is ON, or 10.44V when it's OFF  :o.
Voltage across X5-1 and X5-10 on AUX board is 4.99V.

I do not understand the fan error since the ribbon cable is plugged between the Shield board and the AUX board.
I can make pictures of the assembly if that can help diagnose the issue.
The self-test also indicates "SD card failed".
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 12, 2017, 04:26:18 pm
Can you add a small load on +12V rail (e.g. 220 Ohm resistor) and measure voltage once again?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 13, 2017, 10:28:40 am
214 Ohm resistor mounted on the 12V rail across C77:
Standby switch off: 9.72V measured
Standby switch on: 12.77V measured

See attached reading during the reboot event.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 13, 2017, 10:36:54 am
Ok, stand-by switch (front panel) did not affect powering of TR1. But you can measure different voltages and on top of that it seems that 12 V is in one moment shorted! Did you try to power-up PSU without fan connected? Maybe it is shorted.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Romain on December 13, 2017, 01:06:07 pm
Good call!
D11 was shorted. I replaced it with a 1N4004 (I didn't have an SMD part at hand).
The PSU now boots, the fan spins and it passes the fan test.  :-+
It's just showing the "SD card failed" message. Why is that?

https://www.youtube.com/watch?v=MTBsnnoyPq8 (https://www.youtube.com/watch?v=MTBsnnoyPq8)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 13, 2017, 01:18:10 pm
It's just showing the "SD card failed" message. Why is that?

It's quite possible that SD card is not plugged properly any more. It's could happen during shipment. That SD card slot is on the rear side of TFT display, and it seems as cheap as display itself :). Unfortunately you have to detach Arduino shield from front panel. Make sure to put everything back after disassembling. Consult building instructions (http://www.envox.hr/eez/bench-power-supply/building-instructions.html#instr_wire) and particularly Fig. 22, 23 and 24. As a precaution step, you can try to check if SD card is working on your PC with SD card reader.

Thanks for another video. If you are not going to use Ethernet, simply disable it to avoid waiting for connection timeout. You can activate it anytime from system settings page.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 14, 2017, 10:02:27 pm
Hi guys,

I have also put together a PSU based on the r5B12 revision documents (i.e. similar to the crowd supply version) and I am quite happy with it. First of all great job on developing and documenting the PSU so well !!!

One thing however which I encountered is that there is a considerable drift of up to +100mA from the set voltage after power on, which may take up to an hour of operation to stabilise. The drift is clearly temperature related as it stops drifting once the PCBs and ICs have heated up to a stable operation temperature. In my test I set a voltage of 3.5V and passed a current of 7mA, which caused a 100mA drift over the time of approx 45min to 1hour. I suspcet if I would pass higer currents the PCB would heat up faster and the drift would stop earlier. 

I tracked down the source of this drift to the OpAmps that were used for the Voltage feedback loop and current feedback loop (i.e. IC5 and IC6). Their output gain seems to be quite sensitive to temperature, and since they are mounted in close proximity to the bias supply circuit they heat up considerably. If I place a punctual cooling source onto the package of IC5 i see an immediate drop in voltage by 100-200mA, back down to the original voltage before the drift started. Cooling of other ICs on the power board causes no change in output voltage. This led me to belive these ICs are the main source of the problem.

So maybe we should considder to:
a) choose a zero-drift OpAmp model (e.g. http://www.linear.com/products/zero-drift_amplifiers (http://www.linear.com/products/zero-drift_amplifiers)). Idealy a drop-in replacement for the one that is used right now. But this may be hard to find
b) improve the thermal management on the PCB
c) implementing a feedback loop in firmware to counteract the drift

Has anyone else experienced this on his PSU? It would be great if someone could confirm this problem on his PSU, so I can be sure I did not do something wrong when assembling mine. Also I would like to get your input about how we should try to improve this. I? happy to take a shot at option c) but I would need some help with selecting a OpAmp replacement to try out option a). Option b) is probably not an option right now for those of us who have already a PSU.

I'm looking forward to your input.
Patrick
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 14, 2017, 11:07:18 pm
Hi Patrick, that sounds pretty weird, but lets see what can be done. First, please let me know what mode did you test: CV or CC? If you are in CC mode, then at least part of the control loop has zero-drift op amp if you've used LTC2050HV (IC7). Drift of 100 mA on 7 mA is insane, but maybe I somehow missed to record it all this time.
Please let me know what is your output voltage, current and connected load that I can try to setup similar environment and see what is going on. Certain current drift exists when you are in CC mode due to overheating of Rsense which TCR is huge (75 ppm/oC) and you can see up to 0.6 % drift, but that is still only about 20-30 mA on the 5 A and that is reported as issue #40 (https://github.com/eez-open/psu-hw/issues/40).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 14, 2017, 11:33:06 pm
Hi,

I just realised I wrote mA. Well that does not make sense at all  |O. I am in CV mode with set voltage of 3.5V and I have a drift of >100mV to 3.65V. To me it seems as if the drift is caused by IC5, which handles the voltage loop. If I put some ice on the IC the voltage drops right back down to 3.5V (so the set voltage).

My test setup: I hope that makes more sense  ::)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 15, 2017, 08:13:10 am
I've made a first test now (PSU was turned off over night) and during initial one hour I can measure positive drift of not more then 3.7 mV with mentioned 3.5 V and 470R as load. I'll repeat it a couple of more time over a day.
That is far better then what you reported, but also maybe my construction is a little bit different! Please note thermal pad that is placed underneath Power board PCB (see Fig 14. (http://www.envox.hr/eez/bench-power-supply/power-board.html)). Nearby TL783 (IC3) is considerable source of heat (about 1.5 W) but that has a "bad" and "good" side: the good side is that you can count with more predictable PCB temperature over wider ambient temperature range. Therefore if we wait that temperature is stabilize and perform calibration then we can expect more predictable output voltage over the time (of course with connected load you have to use remote sensing if better precision is needed).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 15, 2017, 09:24:05 am
I do not have the thermal pad yet that you've mentioned, as I found it hard to source. Maybe that is why my board heats up more than yours. But I wouldn't have thought that it has such a dramatic effect? 3.7mA sounds very good. Over what time frame did you record it? Mine keeps climbing very slowly but steadily over the course of ~1h.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 15, 2017, 09:36:17 am
I've tested it for an hour.

5mm thick silicone thermal pad can be found online, usually as 100 x 100 mm sheet (I've used 25 x 70 mm only per board) e.g. at eBay (https://www.ebay.co.uk/itm/100mm-x-100mm-x-5mm-Thickness-Blue-GPU-VGA-CPU-Thermal-Conductive-Silicone-Pad/221603149342?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2055119.m1438.l2649) or AliExpress (https://www.aliexpress.com/item/1-Pcs-100mm-100mm-5mm-CPU-Heatsink-Cooling-Conductive-Silicone-Pad-Thermal-Pad-High-Quality/32361045983.html).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 15, 2017, 10:24:22 am
i am running this test too. I will post my results. I am running both channels, each at 3.5V with 20mA and a 470R resistor giving CV at 7-8mA.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 15, 2017, 12:37:51 pm
Ok, after 2 hours, here are my results:

Channel 1:
8mA
Start: 3.5018 VDC
End: 3.5036 VDC (Fluke 287)
1.8mV change

Channel 2:
8mA
Start: 3.500 VDC
End:  3.503 VDC   (Fluke 87V)
3mv Change
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 15, 2017, 12:47:02 pm
Hm, curious. So maybe not having the 5mm thermal pad underneth the pre-reg/ bias circuit is having such a big effect? I have ordered one from AliExpress now. Can only take a month or so until it is delivered and i can test that ;-) Thanks @prasimix for the link.

In the meantime I will do some more testing on my boards to see if there is anything else that is causing this. I will report back. Thanks for trying this out on your devices
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 15, 2017, 02:13:00 pm
Two more measurements: 3.5 V and full-scale (40 V):

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

(https://i.imgur.com/NJGhzxkm.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 15, 2017, 02:35:45 pm
Ok I also did another set of measurements. I found some thin old thermal pads lying around at home and I stacked them up and placed them where the 5mm thermal pad would usually be. I also enabled the fan a bit earlier than usual. Using this configuration I was able to get a drift of only 5mV over 1 hour !! :-+

Using the thermal pad and fan the PCB stays considderably cooler. Before I was measuring up to 45 degC on the PCB. With thermalpad and fan I reach a maximum temperature on the PCB of 26 degC. A dramatic improvement.

So to me this confirms that this is a thermal effect which can be reduced using the thermal pad. However, it may still be a potential candidate for further improvement in a future version, don't you think?

Anyway, I'm quite happy with this right now. As I said, the good thermal pads are ordered and on the way.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 15, 2017, 02:40:37 pm
However, it may still be a potential candidate for further improvement in a future version, don't you think?

Absolutely, everyone are invited with suggestions. Also we should remember that heating up of up to an hour is recommended practice before calibration that you can find in many high class commercial devices manuals (Keysight, etc.).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 15, 2017, 04:48:10 pm
BTW, I just noticed that my unit collect about 130 working days, or translated in hours its more the 3000 :)

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

I wasn't been so active working in last few months but almost all of the time the unit has been powered on and subjected to various types of tortures :). On of the most challenging so far was driving a high voltage converter that generate massive EMI that, for instance, my mobile phone was almost damaged on 1.5 meter distance, and TFT display controller painted in white a whole screen few times during nearby discharging sparks. Apart from that it also saved me a day a big time few times thanks to various protections that was implemented some of them is related to my foolishness, therefore I can say that foolproof testing is passed. So far, so good.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on December 19, 2017, 06:23:46 am
I ran a similar test while charging some batteries.  Had about 430+ma @ 3.0volts.  It stay pretty consistent.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: phuebner on December 19, 2017, 08:08:39 am
Thanks Dwaine for also testing this. It seems that this thick slap of thermal pad underneath the pre-regulator and bias supply is really important... I wouldn't have thought so before, but it became quite apparent now.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 29, 2017, 08:39:18 am
Hi Guys,

Since upgrading 2 units to Firmware v1.1, I get "SD Card Failed" on boot. I have reseated the card, still get the error. Anyone else seeing this?

Josh
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 29, 2017, 08:42:21 am
Please note the Firmware v1.1 is not released yet! If you are using the latest build from master branch, you have to install also additional SdFat (https://github.com/eez-open/SdFat) library used by new set of SCPI commands that works with SD Card (MMEMory subsystem).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 29, 2017, 09:26:47 am
Ahhh. That would do it. Serves me right for using git. That answers the other question about why the web site says 1.02.  |O
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 08:45:04 am
I tried to compile 1.1 again, i already had the SD-Fat library from your github installed, and initially it works, then after being in standby from the switch overnight, i get the error for the SD card again when i turn on. The SD Card is fine, i disassembled and checked it.

FWIW, I am using Atom and PlatformIO to compile. I have now selected the tag 1.02 and am trying that, (learning about GIT as I go!) initially it works. I will try an extended standby cycle tonight, but there may be an issue with 1.1's SD card handling as the repo stands right now. I know it isn't released yet, just letting you know what I found.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 30, 2017, 09:26:09 am
Thanks a lot for info. Perhaps to be sure that SdFat lib is correct try to execute some of new added SCPI commands, for example MMEM:CAT? (use e.g. Arduino IDE Serial monitor, or if you have Ethernet, use telnet session initiated with telnet <psu_ip_address> 5025).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 11:49:03 am
*IDN?
Envox,EEZ H24005 (Due),CS17054,v1.1

MMEM:CAT?
"System Volume Information,FOLD,0"

MMEM:INFO?
12288,7974543360

*TST?
1

DIAG:INFO:TEST?
"1, EEPROM, installed, passed","0, SD card, installed, failed","1, Ethernet, installed, passed","1, RTC, installed, passed","1, DateTime, installed, passed","2, BP option, installed, skipped","1, Fan, installed, passed","1, AUX temp, installed, passed","1, CH1 temp, installed, passed","1, CH2 temp, installed, passed","1, CH1 IOEXP, installed, passed","1, CH1 DAC, installed, passed","1, CH1 ADC, installed, passed","1, CH2 IOEXP, installed, passed","1, CH2 DAC, installed, passed","1, CH2 ADC, installed, passed"


Still had SD Card Fail on startup, with a single high pitch beep.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 30, 2017, 12:10:49 pm
Ok, so you can get MMEM:CAT? even with that self-test error when waking up from standby? Does it works when you powering it up (hard reset/power switch)?  Whatever is the case could you please add your observations as comment in issue #88 (https://github.com/eez-open/psu-firmware/issues/88).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 12:18:19 pm
Added to Github.

Same error at hard reset. Seems to work immediately after flashing firmware (no errors), but never after that, soft restart or hard restart, next boot gives the error.

I also can't seem to make the serial port work other than for firmware updating. When I enable the serial port in the UI it doesn't "stick", and no debugging info seems to come out of the port (Native Due).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 30, 2017, 12:29:50 pm
Added to Github.

Same error at hard reset. Seems to work immediately after flashing firmware (no errors), but never after that, soft restart or hard restart, next boot gives the error.

Thanks.

I also can't seem to make the serial port work other than for firmware updating. When I enable the serial port in the UI it doesn't "stick", and no debugging info seems to come out of the port (Native Due).

That is something else. Did you experience the same issue with serial port with v1.02 (https://github.com/eez-open/psu-firmware/releases/tag/1.02)? Also, did you change your host PC? We have a lot of trouble with USB possibly thanks to USB isolator as many people reported that it works with one PC and didn't respond with other.
USB isolator speed is fixed to "Full speed" (12 Mbit/s), but many (newer?) PC USB ports don't like it, many they are expecting  "High speed" what is theoretically 480 Mbit/s but still higher then "Full speed".
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 12:40:43 pm
Issue 1:
With this desktop I can get the serial port to connect every time. I use a USB3 hub, seems to work correctly. I can monitor the port ok, as well as do firmware updates, just dont see anything.
Nothing comes out the serial port that I used to flash the firmware after a successful flash. No SCPI commands return any text. DISP:TEXT OK does nothing on the serial port.

Issue 2:
On the GUI, I go to page 2, select "Serial (via USB) settings", click "Enable", click "Set" - "Serial Settings Saved!" - "OK". Then, when you click "Serial (via USB) settings" it is not enabled anymore.

I tried enabling with the serial via SCPI over telnet, still nothing out the serial, or no SCPI commands worked over serial.

Same result 1.02 or 1.1.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 12:52:25 pm
Found a typo in the SCPI manual:


Quote
5.15.39. SYSTem:PON:OUTPut:DISable
Syntax SYSTem:PON:OUTPut:DISable {<bool>}
SYSTem:PON:OUTPut:DISable?
111
EEZ PSU SCPI reference v1.0
Description This command controls status off all channel outputs on power up. If enabled (ON), all
outputs will be disabled regardless of what is stored in user profile selected for auto
recall.
Return Query returns status of forced output disabling on power up.
Parameters Name Type Range Default
<bool> Discrete ON|OFF|0|1 OFF
Usage
example
OUTP?
1
SYST:PON:OUTP 1


Should be

SYST:PON:OUTP:DIS 1
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 30, 2017, 01:37:28 pm
Issue 1:
With this desktop I can get the serial port to connect every time. I use a USB3 hub, seems to work correctly. I can monitor the port ok, as well as do firmware updates, just dont see anything.
Nothing comes out the serial port that I used to flash the firmware after a successful flash. No SCPI commands return any text. DISP:TEXT OK does nothing on the serial port.

Issue 2:
On the GUI, I go to page 2, select "Serial (via USB) settings", click "Enable", click "Set" - "Serial Settings Saved!" - "OK". Then, when you click "Serial (via USB) settings" it is not enabled anymore.

I tried enabling with the serial via SCPI over telnet, still nothing out the serial, or no SCPI commands worked over serial.

Same result 1.02 or 1.1.

Ok, it seems that we have a problem when selected speed is higher then default (i.e. 9600). I can reproduce that problem enabling and working with USB it that case. Please confirm.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 30, 2017, 11:51:37 pm
Ahh, interesting. After successfully storing 9600, i can then change and store any value successfully, including 115200, and this is true for 1.02 and 1.1. If you disable, you need to reenable with 9600 first, then you can change to another value.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 31, 2017, 12:11:47 am
RE SD Card:

If I move the lines

#if OPTION_SD_CARD
    sd_card::init();
#endif

down below

#if EEZ_PSU_SELECTED_REVISION == EEZ_PSU_REVISION_R3B4 || EEZ_PSU_SELECTED_REVISION == EEZ_PSU_REVISION_R5B12
    fan::init();
#endif

and recompiled, and that seems to avoid the error. Not sure if you needed the SD card earlier, but that was my observation. May be timing related.

After this, however, the MMEM:CAT? caused the unit to lock up.

I added this to the issue 88 on Github.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 31, 2017, 07:37:40 am
Ahh, interesting. After successfully storing 9600, i can then change and store any value successfully, including 115200, and this is true for 1.02 and 1.1. If you disable, you need to reenable with 9600 first, then you can change to another value.

Please open a new issue in GitHub for this one.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on December 31, 2017, 07:48:55 am
RE SD Card:

If I move the lines

#if OPTION_SD_CARD
    sd_card::init();
#endif

down below

#if EEZ_PSU_SELECTED_REVISION == EEZ_PSU_REVISION_R3B4 || EEZ_PSU_SELECTED_REVISION == EEZ_PSU_REVISION_R5B12
    fan::init();
#endif

and recompiled, and that seems to avoid the error. Not sure if you needed the SD card earlier, but that was my observation. May be timing related.

After this, however, the MMEM:CAT? caused the unit to lock up.

I added this to the issue 88 on Github.

We have to inspect what is going on here, just one more thing: what unit you have? From crowdfunding (version r5B12) or earlier one which has Arduino Shield r3B4?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 31, 2017, 08:10:35 am
I have crowd funding unit, and so does my local techspace.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on December 31, 2017, 08:21:00 am
Ahh, interesting. After successfully storing 9600, i can then change and store any value successfully, including 115200, and this is true for 1.02 and 1.1. If you disable, you need to reenable with 9600 first, then you can change to another value.

Please open a new issue in GitHub for this one.

https://github.com/eez-open/psu-firmware/issues/193 (https://github.com/eez-open/psu-firmware/issues/193)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 11, 2018, 10:21:31 pm
@Prasimix,

I was fiddling with eh H24005 to control it with an ARB. Not being able to handle the push-in connectors immediately but did in the end (ahum). Did not quite get the results I wanted but that would be me I guess (SDG2042x => H24005) Re-reading the schematics and bumped into the fact that X12-1 is the input for remote programming however the schematics on page 11 state that is'connected to ground pin X12-2 is the input? See below link to your schematics file.




http://www.envox.hr/eez/component/jdownloads/send/2-psu/15-eez-h24005-schematics.html?Itemid=0 (http://www.envox.hr/eez/component/jdownloads/send/2-psu/15-eez-h24005-schematics.html?Itemid=0)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 11, 2018, 10:25:58 pm
The link is broken but if you let me know what sheet number and version you are referring to I can find it. In the meantime did you have a time to watch short video that cover that topic:

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: ChrisG on February 11, 2018, 10:34:00 pm
Hi Prasimix, for me the link is not broken but I've also noticed in your latest RB513a version that the same reference is there on page 11 X12-1 is tied to ground and X12-2 is the input which does not match the pink text on page 8. The pink text does correspond with the white embossed text on the front panel though. LINK: https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a.pdf

I've seen your video indeed already and it did already help a lot.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 11, 2018, 10:40:25 pm
Ok, so I don't understand where is a problem: you have to bring external signal (2.5 V for full scale i.e. 40 V) to pin 1 and return/gnd to pin 2 as stated on the PSU front panel. Of course, the frequency cannot be in kHz or MHz, it could go up to few hundred of Hz. Also set current should be greater the zero, otherwise if channel is calibrated properly current control loop will hold output to zero Volts.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 11, 2018, 10:45:59 pm
Hi Prasimix, the only 'problem' I noticed, or perhaps mistake is that I read X12-1 to be input and X12-2 to be GND. But on page 12 they are reversed in your schematic. Am I now mistaking perhaps?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 11, 2018, 10:51:09 pm
Huh, I'm possibly too tired and should go to bed, but are we talking about this part on Sheet 8 of 12:

(https://i.imgur.com/E8eftiVh.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 11, 2018, 10:56:41 pm
YEp an compare that to....


(http://)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 11, 2018, 10:59:13 pm
:) Yes, but that is External trigger input not analog input for remote programming. Please note that X12 and X14 are mounted on the bottom side of the PCB therefore pin counting is mirrored. What you marked are pins 7 and 8 on front panel.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 11, 2018, 11:02:16 pm
:) Yes, but that is External trigger input not analog input for remote programming. Please note that X12 and X14 are mounted on the bottom side of the PCB therefore pin counting is mirrored. What you marked are pins 7 and 8 on front panel.

That is quite the puzzle then to mentally reverse that. I believe you could follow my thinking here as the text on the front panel is exactly the same and from left to right. :-)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 14, 2018, 07:04:11 pm
Hi Prasimix, can I send you a PM since I'm trying to generate with my ARB  (SDG2042X) voltages on the H24005 but am barely successful. Using a simple wire from the COAX to the channel #1 or #2 input at: 1.00 Vpp and 1.00 V offset I'm getting a TOO high voltage programming voltage input detected message (orange box). Lowering to 500mV and 500 mV it's working but the graph at 2, 20 or 200Hz barely is a nice sinusoidal or square wave trace. Any tips, suggestions?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 14, 2018, 09:13:15 pm
Lowering to 500mV and 500 mV it's working but the graph at 2, 20 or 200Hz barely is a nice sinusoidal or square wave trace. Any tips, suggestions?

Are you referring to "YT-view" mode on the PSU's display or did you measured that with your scope? Please note that YT-view is quite limited, and fastest refresh rate is 10 ms.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 15, 2018, 04:15:54 pm
Yes I was referring to the YT view too indeed. I will re-test again later today. I was not sure how to get a 0 - 40 V range on the output. You were showing a more dynamic and larger graphs too. What are the max off-set and Vpp voltages?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 16, 2018, 07:59:21 am
Ok, then you have to know that with current MCU that is trying hard to generate and measure output voltage and current, and draw that on display without assistance of graphical controller/accelerator (which doesn't exists :)) you cannot expect miracle.
Here is few examples of signal measured with scope. Pulse with D=0.3, 100 Hz, programing voltage of 2.5 V (i.e. full scale) and DC offset on the half (1.25 V) is show below. You can see that rising speed is about 20 V/ms, and falling about 10 V/ms without load attached.

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

... ramp with same frequency and amplitude is 2 V / 1 V DC offset:

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

... sinewave with same frequency and amplitude:

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

It's clearly visible that such frequency is too high for analog part of the PSU, sinewave with lower frequency, e.g. 60 Hz looks much better:

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

But on the PSU display you can expect even with the fastest refresh rate od 10 ms (i.e. 10 drawings/sec) a nebulous graph:

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

You have to considerably lower the frequency to get meaningful results on the display, e.g. 5 Hz sinewave:

(https://i.imgur.com/mwxBLhrl.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 17, 2018, 01:42:27 pm
Hi Prasimix, I've tested with 1.4V offset and 2.4Vpp. Following is a screen shot on the output signal when the output of H24005 is under load: 10 Ohm at 4A.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 17, 2018, 01:50:10 pm
Ok, so you can see that top is cut off, that seems ok to me since you reached top voltage and thanks to current limitation (4 A for 10R) OVP is not tripped on. Remaining question is "hole" on rising edge. Does it there even with lighter load, or no load, too?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: ChrisG on February 17, 2018, 02:06:50 pm
Under no load everthing is perfect. 40Vpp, solid sinewave until 60Hz or so. At higher frequencies 100Hz I have the same result as you have with the bottom triangle. Though between 20 - 60Hz the falling edge of the sine-wave is a bit jerky but when fiddling with the BNC from ARB to H24005 it goes away. Guess the BNC with the wires to the H24005 is not of the best quality perhaps. Although that problem disappears with the e.g. 100Hz frequency.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on February 17, 2018, 02:24:38 pm
Ok, that "hole" also make sense to some extent with huge load, it's possible that pre-regulator cannot deliver enough power on time. Possibly with bigger Cout on its output situation could be optimal.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on March 16, 2018, 10:27:50 am
After reading all these pages I felt kind of challenged by the idea of building my own H24005. The author has done a lot of work to make this a great project. All the information is available on the EEZ website and on GitHub. Real encouragement can be found in the sections dedicated to DIY building. A complete Bill of Materials is published (GitHub) with references to part suppliers. Well, I decided to give it a go, ordered some parts (..), and a fitting enclosure.
 
Soldering all the parts kept me off the streets for quite a few evenings but was not too difficult.

The enclosure I used has a bit more height inside than the one specially designed for the group buy version. Therefore, I could use an eighty-millimeter fan for cooling, bigger is better isn’t it…? At least less noisy. More about it later.

Most hiccups were taken care of during assembly and after running the calibration procedure all seems well. However, two out of three startups give a “beep” -Fan failed- fault.
 
It looks like my choice for the bigger fan causes the startup test to fail: the fan accelerates slower obviously than the sixty-millimeter original.

The firmware has a parameter “FAN_NOMINAL_RPM”, default 4000 rpm. I ‘re’ defined this in the conf_user.h header file. My fan does about 2000 rpm. But that did not solve the startup test issue. Some searching reveals that the timing limits are hardcoded in the software: fan.cpp file. For testing this I doubled the hard-coded timing values and “tadah”, it passed the startup test all the time.

So far, so good. But the project deserves a better solution, I think.

@Prasimix:

Will it be possible to change the hard-coded timing limits to something that is dependent upon nominal fan rpm? And don’t you agree that this makes the firmware more flexible for builds with other cooling fans than the default one? Can this be integrated in the next firmware version?

Maybe a remark is needed then in the building instructions to make builders aware of the possibility to use adapted fan timings.

I did an attempt to write an adaptation in the firmware, the fan.cpp file, but I feel hardly qualified for this. I am a typical -following-the-examples- programmer. Nevertheless, the adaptation is working for my build.

The modified fan.cpp file is attached here, renamed to fan_cpp.txt for forum posting rules reason. I also included my conf_user.h header file for clarity.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on March 16, 2018, 11:22:14 am
Hi @morris6, this looks amazing!

Fan issue shouldn't be a problem to fix at all. Just please be so kind and open a new issue in GitHub firmware (https://github.com/eez-open/psu-firmware/issues/new), describe what you want and we can add it in v1.1 release.

Another possible issue with your fan is its position. It seems to me that power boards are not evenly positioned regarding fan center and that one channel will be better cooled then another. Anyway, even if that is a case firmware monitor temp sensors on both channels (together with "ambient" temperature) and should keep fan working depending of highest measured temperature.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on March 16, 2018, 11:45:52 am
Ok, thanks Prasimix. I will open a new issue for this.

In my build the fan exhausts warm air. Cooling air is entering through slits in the side panels of the casing. But you are right, cooling will not be equal. Just hoping it will proof to be sufficient.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 05, 2018, 03:24:13 pm
Hello all EEZ H24005 owners. We just finished adding PID for fan control, so anyone interested in testing it feel free to get the latest version from master (https://github.com/eez-open/psu-firmware) branch and check #188 (https://github.com/eez-open/psu-firmware/issues/188). Many thanks in advance for your feedback.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 05, 2018, 08:58:01 pm
@Prasimix

In this new version of the firmware the startup test failure fan issue with my bigger and slower fan is solved. Thanks for that.

@All

When using a different fan in your build than the 'BOM' one you can make the following adaptation in the conf_user.h file when compiling your firmware:

Code: [Select]
// Nominal fan RPM (for PWM=255)
#undef FAN_NOMINAL_RPM
#define FAN_NOMINAL_RPM   2000

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 08, 2018, 02:08:49 pm
Hi @saltech,

To answer your PM about the enclosure I used for my build, you are not the first asking me about it, so I will answer your questions here.

Enclosure is a Bopla Botego BO 62618. For sale at Conrad, ordering # 520455 (-only- 79 Euro  :o , but couldn't find them elsewhere). The material is ABS, I used a 3 mm aluminum plate as a sturdy chassis.

The heat sinks are from TME, ordering # RAD-A52317/70. They are 70 mm x 150 mm x 25 mm, and I shortened them by 9 mm to make them 141 mm for a better fit. The 70 mm width is just enough, 75 mm would be better for the mounting hole pattern. Quality wise there are better brands but these do the job.

Some pictures:

FrontInside picture shows how the heat sinks are mounted. Also you can see the openings in the side panel for cooling air entry. Left and right of the orange power relays the longer pin headers I choose to use; these give more distance between power boards and Arduino shield and add some mounting flexibility.  ;)

The silicon pad between pcb and heat sink I got was a little bit thinner than the advertised 5 mm. To get some pressure on the pad I reduced the distance between pcb and heat sink. At the four 5 mm spacers a 0.4 mm recess is milled into the heat sink. It also needed a 1 mm pocket for the main power fet Q4, for better fitting. See heatsink picture.

Concerning the front panel, yes, always difficult. I now have some label printer strips on the front.

I enjoyed assembling this well designed DIY power supply, I hope you will too.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 08, 2018, 02:58:29 pm
I can see at least two nice details on your unit that I don't have: placing of SD Card that it can be easily removed without disassembling front panel and r5B13 (or r5B13a) power board that has three current shunt resistors in parallel instead of just one. I'd like to know how you manage to expose SD Card like that and did you measured current offset on hi-range (something that was reported in #661 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1177594/#msg1177594))? Does three resistors improve this issue to any extent?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 08, 2018, 08:44:11 pm
Well, in my build it also is not easy to change the SD card, you would need to disassemble the whole front panel. That is why I put an SD card socket, a push push type, on a piece of board and placed this on a bracket beneath the Arduino shield. It is (wire wrap) wired direct to the signals on the LCD1 connector. Gnd and +3v3 from C140 and C105, shield wire to Earth connector.

Another detail, originally the reset switch hides partly behind the display. I placed the switch in the empty space of SP2 on the r5B13, that's the wire you see running to IC31. You can reach it trough a hole in the front panel or easily when the top of the case is removed.

To answer your question about current offset in hi-range: during calibration I observed no problem in this range. But the measuring time was not long because I was overheating my load resistor(s). I will try to test this issue again after assembling a better load, with cooling or so.

At what current does the change over from mid to high occur? The lowest range is not implemented yet in the software is it?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 08, 2018, 09:25:04 pm
At what current does the change over from mid to high occur? The lowest range is not implemented yet in the software is it?

Well, with r5B13 you also got three instead of two current ranges (i.e. 0-50 mA, 500 mA and 5 A). The lowest one is not supported in firmware since I don't have such Power board yet :). We can try to add it blindly and send to you updated firmware to test it. In the mean time you can safely use middle and high range if Autorange is selected under Channel's advance settings ... Current ranges:

(https://i.imgur.com/sGPyP0w.png) (https://i.imgur.com/QiUbfdm.png)

If I can recommend a huge, solid and cheap power resistor, take a look at this one (https://www.tme.eu/en/details/al200w-2r2/resistors-200w-and-more/sr-passives/) from SR Passives:

(https://static4.tme.eu//products_pics/c/2/7/c27b70bc885cfc378c0ea91bf9953cf6/53059.jpg)


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: fuzzoli on April 10, 2018, 04:55:42 pm
Does anyone in the US want/need the VTX-214-005-0512 power module for the Aux PS?  The only places that have it are Sierra IC ($100 min. order), and Newark.  However, the Newark stock is in the UK, with a $20 freight charge, so I was looking to see if anyone here in the States wants to share the wealth pain as $20 to ship a $14 part is a bit much.  :--

Thanks,

-Frank
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 10, 2018, 05:02:51 pm
Phew, I understand your frustration and due to that I've tested another solution that probably can be placed in the same area on AUX PS board but based on #861 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1369761/#msg1369761). Also It's highly possibly that someone else (from China where VTX possibly also manufacture their adapters) has a pin-compatible replacement but with reasonable price. In a time when I chose that part it was about 5 GBP (unit price!) on Farnell and now it's still insanely high (~16 GBP (http://export.farnell.com/vigortronix/vtx-214-005-0512/power-supply-ac-dc-5v-0-5a/dp/2627176)).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 11, 2018, 10:32:31 am
About the issue in post #661:

I think it's a good idea to give the psu some time to stabilize during calibration of the high current range. After doing so the ADC indication is pretty much in line with the measuring DMM, within 1 - 2 mA near the 5 A. limit.

Measurements were done with a Keysight 34461A. This DMM has enough resolution to see (parts of) milli amps in the 10 A. range.

I observed, with the r5B13 boards that have the three parallel 0.03 ohm resistors for R65, R65A and R65B, a difference of about 15 mA between initial (cold) and stabilized at 5 Amps indication in CC mode. So about 0.3 % offset (?). The resistors used are Bourns CRA series 2512 size and spec'd +/- 50 ppm/C, Farnell 2321759. Screen picture 'current.png', at about 1' 30'' cooling fan started.
Compared to the r5B12 board only slightly better.

Hmm.. "Advanced settings > Current ranges > Currently selected" is not visible directly after switching the psu to on. It appeared only after some fumbling with the settings  ...  ?


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 11, 2018, 10:58:53 am
Thanks for that. It seems that without implementing a sort of active temperature compensation the last resort is to put some physically (and financially) huge current sense resistor like e.g. Isabellenhütte PBV-R010-F1-1.0 (https://www.buerklin.com/en/precision-metal-film-resistor/p/40e606). And yes, before that someone should try CSSH2728FT20L0 (TCR 15 ppm/°C) mentioned in #681 (https://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg1182424/#msg1182424).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 13, 2018, 08:10:03 pm
The Isabellenhütte one is 30 ppm/K so has to be kept cool. The other suggestion looks better at 15 ppm/K. Improving the temperature induced offset comes at a cost, for me it's good enough for now.

However:

During trials I stumbled over the following: With the current range selected to 0.5 A I could not reach the full 500 mA current in the load resistor when increasing voltage. At about 460 mA for power board 1 and 490 mA for power board 2 the CC mode became active. Both channels were calibrated and external measurements were equal to the indication on the psu.
 
First I suspected the sense resistor for the 500 mA range being to high, R63: 0.082 ohm 1%, but that is not the case. The problem is in the pcb trace that connects R63 with the R65's. This trace carries the 'full' current in the 500 mA range and is part of the sense 'stack'. Although not long, about 9 mm before it divides and connects to the R65's, the trace is rather thin, 16 mill (from eagle), so 0.41 mm. But its resistance value must be below 0.008 ohm to arrive at the wanted total of 0.100 for current measuring in this range. With a resistance calculator (https://www.allaboutcircuits.com/tools/trace-resistance-calculator (https://www.allaboutcircuits.com/tools/trace-resistance-calculator)) I found 0.0108 ohms for this piece of trace. Combined with the tolerance of R63 this is too much. See picture Layout.png

The solution was a simple piece of wire from R63 to R65, picture R65R65C.JPG.

The layout below the three R65's is really nice I think however a bit critical. There is space for a wider trace, certainly when the fork is omitted.

Another reason to minimize the resistance of this trace is the resistance temperature coefficient of copper,  about 4000 ppm/K.
 
I had another issue with the layout during soldering the R65's: Several times the thin measure point traces did not even connect to R65's when I hand-soldered them.  :-[  Makes the problem above even worse.

So I would like to suggest to change the layout here. A wider trace from R63 to the inside of R65A, and maybe connect the measuring point traces direct to the islands of R65A. Like picture Suggest.png

For the low current range (50 mA) R179 I used a 0.82 ohm resistor, not tested since this range is not yet active in the firmware. But maybe soon...?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 13, 2018, 09:53:17 pm
The Isabellenhütte one is 30 ppm/K so has to be kept cool. The other suggestion looks better at 15 ppm/K. Improving the temperature induced offset comes at a cost, for me it's good enough for now.

A good thing about Isabellenhütte is that comes in huge package similar to TO-247 that can be easily mount to the additional heatsink. But still, it cost a small fortune.

However:

During trials I stumbled over the following: With the current range selected to 0.5 A I could not reach the full 500 mA current in the load resistor when increasing voltage. At about 460 mA for power board 1 and 490 mA for power board 2 the CC mode became active. Both channels were calibrated and external measurements were equal to the indication on the psu.
 
First I suspected the sense resistor for the 500 mA range being to high, R63: 0.082 ohm 1%, but that is not the case. The problem is in the pcb trace that connects R63 with the R65's. This trace carries the 'full' current in the 500 mA range and is part of the sense 'stack'. Although not long, about 9 mm before it divides and connects to the R65's, the trace is rather thin, 16 mill (from eagle), so 0.41 mm. But its resistance value must be below 0.008 ohm to arrive at the wanted total of 0.100 for current measuring in this range. With a resistance calculator (https://www.allaboutcircuits.com/tools/trace-resistance-calculator (https://www.allaboutcircuits.com/tools/trace-resistance-calculator)) I found 0.0108 ohms for this piece of trace. Combined with the tolerance of R63 this is too much. See picture Layout.png

The solution was a simple piece of wire from R63 to R65, picture R65R65C.JPG.

The layout below the three R65's is really nice I think however a bit critical. There is space for a wider trace, certainly when the fork is omitted.

Another reason to minimize the resistance of this trace is the resistance temperature coefficient of copper,  about 4000 ppm/K.
 
I had another issue with the layout during soldering the R65's: Several times the thin measure point traces did not even connect to R65's when I hand-soldered them.  :-[  Makes the problem above even worse.

So I would like to suggest to change the layout here. A wider trace from R63 to the inside of R65A, and maybe connect the measuring point traces direct to the islands of R65A. Like picture Suggest.png

No, something else is probably your problem here since I can easily go over 500 mA in low (in your case middle) range (current range set to Best/Default, and with Autoranging set to on).  Did you try to replace R179 with 0R for test before you put that extra wire?

For the low current range (50 mA) R179 I used a 0.82 ohm resistor, not tested since this range is not yet active in the firmware. But maybe soon...?

Hopefully yes, maybe not as a "official" release (i.e. the v1.2, since we are finalizing now the v1.1) but included in the one of the future version in the GitHub master branch.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 16, 2018, 05:48:37 am
Reply to @RedSpanner question, since it can be useful for other builders, too:

Quote
The firmware (finally) loaded correctly, but first power up, I got error messages
on Channel 1:
Self-test is not passed
- CH1 IOEXP failed
- CH1 ADC failed

If one or more SPI peripherals is complaining during self-test then one or more of the following things could be the problem:

You can get some additional info over the serial console when powering it up (or reseting). Additionally, you can also send DEBUG? command to get some info.
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 16, 2018, 09:09:53 am
No, something else is probably your problem here since I can easily go over 500 mA in low (in your case middle) range (current range set to Best/Default, and with Autoranging set to on).  Did you try to replace R179 with 0R for test before you put that extra wire?

Sorry to bring it up once more, other builders of r5B13 boards may also run into this issue.

When working with the psu in the 500 mA range it seems not possible to reach the full 500 mA with the r5B13 power board as it is. Somewhere between 460 and 490 mA the CC mode takes over, although the set current limit is 500 mA. Seen this with all four power boards I have tested.

Comparing the r5B13 with the r5B12 power board layout the trace between R63 and R65 is much shorter, see picture r5B12.JPG. Also the shunt resistors are twice the value, halving the relative influence of trace resistance.

I soldered R63 and R65, -A and -B on a spare power board r5B13, picture measureC.JPG. While under a load of 500 mA, in series with an external 4 ohm load resistor, I measured these voltages:

left pad of R63, supply from load resistor   : 52 mV
other of pad of R63, trace to R65         : 11 mV
left side of R65, -A and -B            :  5 mV
right side of R65, -A and -B ,common       :  0 mV

I also measured these voltages on a 'life' power board in the psu while in 500 mA range and under almost 500 mA load. They are about the same.

So there is a 6 mV drop over the trace from R63 to R65, apparently a trace resistance of 0.012 ohm here! Total shunt for 500 mA sums up to 0.104 ohm in stead of 0.092. Compare this to a power board r5B12: R65 is 0.02 and R63 is 0.16 ohm. The trace between adds about 0.006 ohm, being less than half length. That is 3% of the total. The 0.012 ohm trace of the 5B13 board adds 13% to the total shunt resistance for the 500 mA range. So the voltage measured is 13% higher than intended... You can calibrate this away but the set value voltage from the DAC is limited, and so the current can not reach the intended 500 mA in CC mode.

Another thing: 13% of the 500mA shunt is the copper trace with 4000ppm/K Temperature Coefficient, significantly worsening the temperature stability of the 500 mA range.

@ Channel failure after assembly:

With one of my boards I had IC11 swapped, pin 1 to pad 4, that caused -5V rail failure.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: chenguoping on April 16, 2018, 09:14:46 am
Hi prasimix,
about the serial console, there has three questions, 1) what port should be used, native or programming? 2) does the arduino due should be modify, that means don't powered by usb cable. 3) which baud ratio should be set?

thanks alot
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 16, 2018, 10:16:58 am

Sorry to bring it up once more, other builders of r5B13 boards may also run into this issue.

When working with the psu in the 500 mA range it seems not possible to reach the full 500 mA with the r5B13 power board as it is. Somewhere between 460 and 490 mA the CC mode takes over, although the set current limit is 500 mA. Seen this with all four power boards I have tested.

Comparing the r5B13 with the r5B12 power board layout the trace between R63 and R65 is much shorter, see picture r5B12.JPG. Also the shunt resistors are twice the value, halving the relative influence of trace resistance.

I soldered R63 and R65, -A and -B on a spare power board r5B13, picture measureC.JPG. While under a load of 500 mA, in series with an external 4 ohm load resistor, I measured these voltages:

left pad of R63, supply from load resistor   : 52 mV
other of pad of R63, trace to R65         : 11 mV
left side of R65, -A and -B            :  5 mV
right side of R65, -A and -B ,common       :  0 mV

I also measured these voltages on a 'life' power board in the psu while in 500 mA range and under almost 500 mA load. They are about the same.

So there is a 6 mV drop over the trace from R63 to R65, apparently a trace resistance of 0.012 ohm here! Total shunt for 500 mA sums up to 0.104 ohm in stead of 0.092. Compare this to a power board r5B12: R65 is 0.02 and R63 is 0.16 ohm. The trace between adds about 0.006 ohm, being less than half length. That is 3% of the total. The 0.012 ohm trace of the 5B13 board adds 13% to the total shunt resistance for the 500 mA range. So the voltage measured is 13% higher than intended... You can calibrate this away but the set value voltage from the DAC is limited, and so the current can not reach the intended 500 mA in CC mode.

Another thing: 13% of the 500mA shunt is the copper trace with 4000ppm/K Temperature Coefficient, significantly worsening the temperature stability of the 500 mA range.

Thanks for more input. I also have 10 mOhm as R65 (with accompanying different R63, R60, R70). I still think that bigger error is announced with R179 then with thiner trace between middle and hi range resistors. Once again, did you try to replace R179 with 0R?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 16, 2018, 10:21:42 am
Hi prasimix,
about the serial console, there has three questions, 1) what port should be used, native or programming? 2) does the arduino due should be modify, that means don't powered by usb cable. 3) which baud ratio should be set?

thanks alot

1) Starting from firmware v1.02 native port is selected as default, but with change in firmware configuration you can use programming port, too.
2) Arduino due should not be modified, since +5V that comes from USB is removed on the connector that comes from AUX PS board to Arduino Shield.
3) I'm regularly using 115200 bauds for all type of interaction (e.g. even when LISTs are executing on both channel). If should go up to 2Mbauds as offered on Arduino, I've tested it but not in all scenarios.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 16, 2018, 12:50:04 pm

Thanks for more input. I also have 10 mOhm as R65 (with accompanying different R63, R60, R70). I still think that bigger error is announced with R179 then with thiner trace between middle and hi range resistors. Once again, did you try to replace R179 with 0R?

OK. I tried a power board with R179 shorted, and with only the original trace as connection between R63 and R65. After recalibration maximum current in 0.5A range is 494 mA. When I remove the short over R179 the results are the same, 494 mA.

In r5B13 board schematic R179 is at the bottom end of the divider R60-R62, compare with R70-R71. In 0.5A range current passes via Q13, R63 and R65,-A and -B. Only in 50 mA range current flows via R179 etc., with Q34 switched on. Well.. that's how I read it.

Using a single 10 mOhm resistor on the layout of r5B12 is less critical because the trace R63-R65 is about half the length compared with r5B13 layout where there are three parallel resistors of 30 mOhm. See my earlier post, trace resistance about 6 mOhm vs 12 mOhm (measured).

R179 can have some influence on the 'common mode rejection ratio' of opamp IC7A though.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 16, 2018, 08:46:22 pm
Hm, now I'm confused. If R179 is removed then you shouldn't have correct reading since nothing is connected to non-inverting input of IC7. also did you try to slightly decrease resistance of R63 to e.g. 80 mOhm (you can manage that also with soldering another 33 Ohm resistor in parallel).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 17, 2018, 07:03:10 am
Sorry, I didn't remove R179, I shorted it to find a possible effect. None found.

Putting 33 ohm parallel to R63 is exactly what I did earlier in post #942 when I suspected R63 high. That started me to have a look at the trace resistance.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 17, 2018, 07:35:34 am
Ok, did you try to go in opposite direction and increase R63 a bit, and see what reading you can get on the full scale after calibration?
I do believe that I'll find time and parts soon to complete r5B13 that you sent to me and check on my side what is possible with existing design.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 17, 2018, 01:31:59 pm
@prasimix

This time I increased R63 with one of 0.01 in series as you proposed. Full scale, after calibration, was 435 mA.
Next I did was 33 ohm parallel to R63, it reached 497 mA.
I then tried 12 ohm parallel, resulting in indeed 500mA, full range in 0.5 a range.
I also did R63 in series with 0.01 and a wire to R65, but that reaches 498 mA max.

It seems you can already see whether 500 mA will be reached, the last calibration step will have a higher current than the target of 480 mA. Am I right with this assumption?

When I parallel the trace from R63 to R65 with a piece of wire, the 480 mA calibration step gives 525 mA actual current, and 500 mA full scale is no problem.

As a last one I did R63 in series with a 0.01 - 0.03 parallel combination, followed by a wire to R65, bypassing the trace. This gives for the R63 combination calculated resistance of 0.082 + 0.0075, so just below 0.09 ohm. Calibration current at target 480 is now 490 mA. And, of course, 500 mA full scale is OK.  8)


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 17, 2018, 02:38:28 pm
It seems you can already see whether 500 mA will be reached, the last calibration step will have a higher current than the target of 480 mA. Am I right with this assumption?

Yes, that is right assumption. Rsense should be selected in a way that when uncalibrated max. current goes beyond full range (i.e. more then 500 mA in this case). Anyway, it seems that R65 on r5B13 version should go below initially proposed 82 mOhm. Checking what is available on e.g. Mouser site, we can find the following values: 81, 80.6 or 80 mOhm.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 17, 2018, 05:09:13 pm
Well, in stead of decreasing the value of R63 isn't it a better choice to decrease the resistance of the trace between R63 and R65, N$70 in the design files? See post #942.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 17, 2018, 07:36:44 pm
You're right, that should be a simpler to change in next revision then looking for a resistor with "exotic" value :)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on April 17, 2018, 08:39:27 pm
Yeah, those low TC resistors are difficult to find.
For further trials I just ordered some 15 ppm/K ones: https://www.buerklin.com/en/smd-precision-metal-film-resistor/p/16e866?an=20000000.20100000.20101000 (https://www.buerklin.com/en/smd-precision-metal-film-resistor/p/16e866?an=20000000.20100000.20101000)

They also have 0.01, 0.04 and 0.05 in this series.
Title: Firmware v1.1 is released
Post by: prasimix on May 01, 2018, 09:53:13 am
Dear all, the firmware v1.1 (https://github.com/eez-open/psu-firmware/releases/tag/1.1) is now released. But, this time it does not comes alone but accompanied with first milestone of EEZ studio. A first introduction how to use one of its modules is now available in separate thread here (https://www.eevblog.com/forum/testgear/eez-studio-for-accessing-your-(scpi)-instruments/msg1509535/#msg1509535). More specific information how to use it to access EEZ H24005 I'll continue to post in this thread.
Two main feature of v1.1 are added file management for built-in SD card and internal data logger. In this version both of them are accessible only using SCPI commands, but don't worry a decent support to automate interaction with SD card and data logger is included in mentioned EEZ Studio.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jfitter on May 06, 2018, 02:52:14 am
I have a new Astec LPS355 (48V/350W) single ended supply left over from a previous job. Am I missing something or will this circuit only work with two independent supplies? I see that the -ve rails are separated from the power ground in the post regulators so does that still mean the outputs can be stacked? Power supply design is somewhat of a new area for me. Any help appreciated.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 06, 2018, 05:34:08 am
Here is a video (again :)) that show how two EEZ H24005 channels outputs can be combined in series and parallel:

https://www.youtube.com/watch?v=Ukn1K1G0pJU (https://www.youtube.com/watch?v=Ukn1K1G0pJU)

If your Astec outputs is not earthed (i.e. its floating) you can use it as power source for Power board. Please note that you can use max. 200 W of its 350 W.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: jfitter on May 06, 2018, 08:13:33 am
Thanks for your reply, however I am still unsure. I have seen the video but it shows only how to configure the software.
The SMPS I have is this http://www.farnell.com/datasheets/55283.pdf (http://www.farnell.com/datasheets/55283.pdf). I have only one of them. It is a single output, 48V and is isolated, so there is +48V and 0V.

My concern is that if I use this SMPS then both post-regulator boards will share a common +48V and 0V. The supply is rated at 350W which is enough to drive both regulators to their rated limit (almost) but the common 0V worries me. How does the power supply stack one output on top of the other to get 80V and can this be done using just a single SMPS?

It is a rather nice SMPS and it would be a shame to waste it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 06, 2018, 08:19:05 am
Ok, now I understand what are you asking. You have to use one AC/DC module with floating output per channel, that's the only way to keep them isolated from each other and to couple their outputs in series for total output voltage of up to 80 V.
Title: New video about firmware v1.1 main features
Post by: prasimix on May 06, 2018, 03:23:11 pm
Preview of two main features added to firmware v1.1: SD card file management and internal data logging using SCPI commands. The EEZ Studio version M1 (its ESW module) is used for interaction with the EEZ H24005 (i.e. initiate data logging and exchange files).

https://www.youtube.com/watch?v=CfrrbtKvat0 (https://www.youtube.com/watch?v=CfrrbtKvat0)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 10, 2018, 10:54:35 pm
First, really nice work with EEZ Studio and the data logging!

With FW 1.1 I have noticed a strange behaviour that never seen before on this power supply.
I have measured the time that takes for the voltage to recovery then a load is connected.

The setup:
Volt: 5V
Current: 3A
Load: Resistor 4,7 ohm

The load is connected from plus to the anode on a BTW68-600 thyristor to get a clean coupling without any bouncing.
 
I have used this setup before and always got a recovery time about 2 to 8 ms.
With FW 1.1 I often gets two dips in the voltage! Why???

CH1 (yellow): Output voltage measured on the terminals of the psu.
CH2 (cyan): Gate voltage on the thyristor, and trigger.
CH3 (magenta): Voltage over anode and cathode on the thyristor.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 07:32:25 am
Please let me know what you have under Current ranges settings (Current range and Autoranging)?

(https://i.imgur.com/wsmSlgL.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 11, 2018, 07:54:07 am
Current range: Best (default)
Autoranging: On
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 08:00:21 am
Please try it with Autoranging disabled.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 11, 2018, 08:00:31 am
Current range: Best (default)
Autoranging: On
And if current rage is fixed on 5A there is of course no problems... [emoji849][emoji4]

But a little bit strange that I didn't see two dips before the official fw 1.1?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 08:04:47 am
Yes that's strange since as far as I know nothing is changed in that part of the code. Anyway, I'll try to check that in coming days on my side, too.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 09:13:53 am
You actually touched here the question of autoranging performance. With MCU that is busy with so many other tasks it require considerable time (up to 8 ms) to change from lower to higher current range. With adding one more range (0-50 mA) in revision r5B13 it makes it even worser for current that belongs to the highest current range (i.e. above 500 mA). Maybe we should start to think here about adding extra analog circuits to accomplish autoranging more efficiently. Perhaps with two comparators (in case of three range version) to detect "out of range" and switch range to next (higher) one. Any suggestions from your side are welcome, and I'll also try to think about it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on May 11, 2018, 09:25:17 am
Do you still have free interrupt lines to hook the comparators in a very simple (and interrupt latency efficient) manner ?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 09:55:38 am
Thanks Tazz for your input. We gave up for now from interrupts since we never got reliable interrupt handling on Arduino Due (it was reported (https://github.com/arduino/ArduinoCore-sam/issues/13) to Arduino but no action there so far). Therefore a lots of attention was put into making polling (main loop) as fast as possible. But, as we can see it can lasts up to 8 ms, that is way to slow in comparison with analog part capability.
My first thought is to use comparator with enable function and in case of autoranging it will become enabled and take care about activating accompanying current range MOSFET (i.e. one of Q13, Q14 or Q34 on this schematics (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a%20Sheet%203of12.png)). When autoranging is activated, output pins of I/O expander are not used neither firmware should take care about current range switching.
If that makes sense I should start a quest for suitable, or better to say, affordable comparator.

EDIT: Second thought is to use general purpose comparator that is continuously monitoring "out or range" condition and when autoranging is enabled it's output state will be forwarded to the MOSFET using some simple logic gate (e.g. '125, '08, etc.).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on May 11, 2018, 12:27:27 pm
Hooo my .... I remember why I hate arduino now. Interrupts broken on a µC env, I will forbid my son to touch such thing until this whole ecosystem is more sane otherwise he will only learn how to think/do bullshit.
It is a miracle what you accomplish for EEZ H24005.
It would even be better with proper µC support as completely relying on full HW/analog solution to every encountered problems will rapidly become a dead end.

Yes simple (good) comparators and output gating by the µC would be a very good solution for this case.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 02:23:18 pm
I cannot say what's going on with AVR and some other Arduino boards, but Due doesn't work and Due is unfortunately "dead meat" so we can expect any progress there.
But, this is a good opportunity to mention something else. We're spent some time searching for Arduino alternative. First one was XMOS xCORE200 announced in other thread, and I even made an evaluation board (https://www.eevblog.com/forum/projects/diy-instrumentation-bus-(or-dib)/msg1429010/#msg1429010) for that MCU (with multiple mistakes and wrong presumptions, the latest corrections are on GitHub (https://github.com/eez-open/xmos-eval-board)). XMOS is so far put on hold primarily due to lack of needed information and support. Therefore we started to explore STM32, and I can say that it's progressing very well. Here is a screenshot (board is STM32F429I-DISC1 (http://www.st.com/en/evaluation-tools/32f429idiscovery.html)). Porting GUI/HMI was gone almost seamlessly in a couple of days. I'll keep you informed about further progress and some other activity regarding the next PSU revision ;).

(https://i.imgur.com/lR4PeYK.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: krho on May 11, 2018, 03:02:31 pm
@prasimix: AFAIR, the EULA for STM evaluation boards forbids you to re-sell them or use in commercial products. So It's good for prototyping but for a final version you'll have to build the circuit yourself.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 11, 2018, 03:15:10 pm
Sure, that board neither by size nor features does not fit into our PSU format. It is used to speed up migration from Arduino Due. We'll make our own "digital board" with STM32F4 (or F7).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Tazz on May 11, 2018, 04:46:27 pm
Very good choice.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: krho on May 11, 2018, 06:19:31 pm
BTW: I know you are working on your graphics library however if you don't know There is a rather excellent one https://littlevgl.com/ under permissive license. Which AFAIR works directly with the f429 board.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 12, 2018, 06:31:30 am
BTW: I know you are working on your graphics library however if you don't know There is a rather excellent one https://littlevgl.com/ under permissive license. Which AFAIR works directly with the f429 board.

Yes, we are aware of it and made some evaluation.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 12, 2018, 08:23:14 pm
Can someone try to reproduce this issue that I have with the current autorange.
Official fw 1.1.

1. Set current limit to more than 500mA
2. Change Current range from “Best” to “0.5A”. (current limit sets to 500mA)
3. Change Current range back to “Best” or “5A”
4. Current limit can still not be set to more than 500mA. “Current limit exceeded”

Reset/restart of the psu is needed to make it possible to set current over 500mA.


EDIT: Just changing Current range from “Best” to “0.5A” and back to “Best” makes it impossible to set the current over 500mA.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 12, 2018, 09:33:44 pm
It seems that PSU starts to be too smart ;). What it's doing is just fine: when you push it to work within 500 mA, it will automatically set current limit to 500 mA, too. Therefore if you goes back to full range (5 A) it didn't increase limit without asking for your attention! Restart can be a "remedy" for that depending of Autorecall on power-on state and selected Power-on profile. If former is ON and later is 0 then current od 500 mA will be remembered and applied during next start up, too.

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

Anyway you have all right to complain, questioning and criticize since "official" user manual was never created and published.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 12, 2018, 10:04:14 pm
Ok, now I see! I didn’t notice that the limit under OCP was left at 500mA...
Good or bad, right or wrong, it depends of who’s asking...  ;)
It was just not the behaviour I expected then playing around, but I understand the reason.
Thanks for clearing things up.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 13, 2018, 05:21:33 am
Feel free to open a new issue (https://github.com/eez-open/psu-firmware/issues/new) if you think that we should change existing behavior.
Title: Making current auto-ranging analog
Post by: prasimix on May 15, 2018, 09:57:32 am
Mimicking current auto-ranging that is implemented in firmware using analog circuit is not so simple as I was initially thought. I'll try to describe currently used algorithm/procedure.

Lets define CURR_500MA as output that activate low current range mosfet (0-500 mA) and CURR_5A for high current range (0-5 A). I_SET is programmed current, and I_MON is measured output current.

When new value is entered that is lower then 500 mA (I_SET < 0.5) CURR_500MA is enabled or when I_SET > 0.5, CURR_5A is enabled.
Every ~5 ms firmware makes the following comparison:
1. if CURR_500MA is enabled but output enters CC mode and I_SET > 0.5, CURR_5A is enabled and DAC is loaded with I_SET value (range change is doing in "make-before-brake" fashion)
2. if CURR_5A is enabled and I_MON < 0.5 then CURR_500MA is enabled and DAC is loaded with max. value (i.e. 0xFFFF).

Using the same approach we should remember somehow I_SET value when measured/actual output current value is fluctuating between two ranges. For example, lets say that current is set to 1 A and connected load draw 0.8 A. First, the CURR_5A is enabled and DAC is loaded with value for 1 A. Lets say that load is now decreased to draw only 0.2 A. CURR_500MA is now enabled and DAC is loaded with max. value since in low range that is just 0.5 A that is lower then initially set 1 A. When load is increased again to 0.8 A, CC mode is detected, CURR_5A is enabled and initial I_SET value (1 A) has to be written back to DAC.
Title: Re: Making current auto-ranging analog
Post by: prasimix on May 15, 2018, 08:05:04 pm
The good thing is that we have to switch between I_SET and max. value that don't need to be calibrated or anything else. Therefore, it should be possible to switch between I_SET (defined by DAC) and +Vref (2.5 V) that represent the max. value using a simple 2-to-1 mux/analog switch.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: EEVblog on June 04, 2018, 05:18:08 am
I split Alvieboy's thread here:
https://www.eevblog.com/forum/projects/diy-psu/ (https://www.eevblog.com/forum/projects/diy-psu/)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 14, 2018, 05:24:32 am

Huh, please try to be realistic here. We are not talking about reference piece of equipment built by Keysight and similar guys :).

Sorry, this was my first professional PSU and I am still learning it.so please kindly bear with me if some questions looks too dumb ;)

a datasheet might be helpful,but i know the specs now. nice documentation  :-+

The cal lab way did't worked out, so I got an Agilent U1252A DMM, though it burnt a hole in my pocket, it was a nice investment and so much learning.

I just measured my old calibration with this DMM and please see the attached graphs made with this DMM.
in the no load voltage measurement, I think i have to get rid off the last digits on the readings.
the disturbance on the second channel load measurement is caused by me.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 14, 2018, 05:33:10 am
I have updated the firmware to V1.1 and now I am getting the SD card failed error on startup.
disassembled the PSU for re-inserting the SD card and formatted using SD Formatter too, but still same result.

To solve the serial port issue, I have shorted the SPD and SPU pins of IC17 to GND, then I am getting an error "Windows has stopped this device because it has reported problems. (Code 43)" when checked on  device manager.

Please find the debug info got by LAN
Code: [Select]
CH1 U_DAC = 1619
06/14/2018 11:05:19 AM
CH2 U_DAC = 1409
CH1 U_MON = 438
CH2 U_MON = 647
CH1 U_MON_DAC = 748
CH2 U_MON_DAC = 673
CH1 I_DAC = 1393
CH2 I_DAC = 1442
CH1 I_MON = 741
CH2 I_MON = 705
CH1 I_MON_DAC = 726
CH2 I_MON_DAC = 747
AUX TEMP = 401
CH1 TEMP = 449
CH2 TEMP = 430
MAIN_LOOP_DURATION = 9874 10500 11111 / 9860 10500 11125 / 9436 10113031
ADC_COUNTER = 0 / 0 / 12
Dynamic ram used: 544
Program static ram used 33904
Stack ram used 4360
My guess at free mem: 59496
SD volume is FAT 0
SD card begin result: 1
SD fs begin result: 0
SD fs begin result error: 132354
SD blocks per cluster: 0
SD cluster count: -1
SD fat start block: 0
SD fat count: 2
SD blocks per fat: 0
SD root dir start: 0
SD data start block: 0
SD card size: 7990 MB
SD flash erase size: 128 blocks
SD erase single block
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 14, 2018, 08:13:41 am
I have updated the firmware to V1.1 and now I am getting the SD card failed error on startup.
disassembled the PSU for re-inserting the SD card and formatted using SD Formatter too, but still same result.

Please download the latest SdFat from master branch (https://github.com/eez-open/SdFat), compile and upload firmware and send me once again results of DEBUG?.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 14, 2018, 04:29:56 pm
I have recompiled with the SDFat library from the link you have provided, and still getting SD card failed on startup.

Please find the debug info attached:
Code: [Select]
CH1 U_DAC = 1409
06/14/2018 9:54:05 PM
CH2 U_DAC = 1409
CH1 U_MON = 643
CH2 U_MON = 642
CH1 U_MON_DAC = 643
CH2 U_MON_DAC = 673
CH1 I_DAC = 1825
CH2 I_DAC = 1442
CH1 I_MON = 740
CH2 I_MON = 706
CH1 I_MON_DAC = 944
CH2 I_MON_DAC = 747
AUX TEMP = 359
CH1 TEMP = 396
CH2 TEMP = 387
MAIN_LOOP_DURATION = 9862 10499 11123 / 9813 10501 12269 / 9227 10112503
ADC_COUNTER = 0 / 0 / 12
Dynamic ram used: 480
Program static ram used 33904
Stack ram used 4360
My guess at free mem: 59560
SD volume is FAT 32
SD card begin result: 1
SD fs begin result: 1
SD blocks per cluster: 64
SD cluster count: 243584
SD fat start block: 12576
SD fat count: 2
SD blocks per fat: 1904
SD root dir start: 2
SD data start block: 16384
SD card size: 7990 MB
SD flash erase size: 128 blocks
SD erase single block
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 14, 2018, 05:39:53 pm
Thanks for new results. Does your SD card failed every time or just occasionally? From the latest response it seems that initialization was successful (i.e. SD fs begin result = 1).

Also please let me know if you can check that SD card someplace else (e.g. your PC) or try to use other SD card that works fine.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 14, 2018, 06:03:53 pm
I just remembered that one time during the power ON there was no SD card failure message, so for a quick test, disabled ethernet and did a 10 power ON/OFF's.

3 out of 10 is successful, no sd card failure message. Then managed to get one with ethernet enabled and I was able to do a datalog via EEZ Studio.

Please find attached the screenshot.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 15, 2018, 10:49:13 am
We've reduce SPI speed from CPU/3 to CPU/4. Could you please download and compile latest firmware build (https://github.com/eez-open/psu-firmware) and try this once again?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 15, 2018, 11:06:27 am
I have tested with a 2gb SD card from a digital camera and it is failed always. Please find the debug info attached.

Code: [Select]
CH1 U_DAC = 2379
06/15/2018 3:54:55 PM
CH2 U_DAC = 4123
CH1 U_MON = 776
CH2 U_MON = 709
CH1 U_MON_DAC = 1127
CH2 U_MON_DAC = 2030
CH1 I_DAC = 65535
CH2 I_DAC = 2495
CH1 I_MON = 740
CH2 I_MON = 705
CH1 I_MON_DAC = 32767
CH2 I_MON_DAC = 1274
AUX TEMP = 375
CH1 TEMP = 425
CH2 TEMP = 410
MAIN_LOOP_DURATION = 305 829 1405 / 289 835 47823 / 147 10282678
ADC_COUNTER = 0 / 69 / 48462
Dynamic ram used: 944
Program static ram used 33904
Stack ram used 4360
My guess at free mem: 59096
SD volume is FAT 0
SD card begin result: 1
SD fs begin result: 0
SD fs begin result error: 132098
SD blocks per cluster: 0
SD cluster count: -1
SD fat start block: 0
SD fat count: 2
SD blocks per fat: 0
SD root dir start: 0
SD data start block: 0
SD readCSD failed

replaced to the 8gb card and got self test past in a couple of attempts and please find that debug info attached.

Code: [Select]
CH1 U_DAC = 1619
06/15/2018 4:34:41 PM
CH2 U_DAC = 4123
CH1 U_MON = 432
CH2 U_MON = 643
CH1 U_MON_DAC = 749
CH2 U_MON_DAC = 2030
CH1 I_DAC = 1393
CH2 I_DAC = 2495
CH1 I_MON = 741
CH2 I_MON = 705
CH1 I_MON_DAC = 727
CH2 I_MON_DAC = 1273
AUX TEMP = 366
CH1 TEMP = 382
CH2 TEMP = 377
MAIN_LOOP_DURATION = 305 829 1529 / 305 829 2654 / 147 10109220
ADC_COUNTER = 0 / 0 / 12
Dynamic ram used: 480
Program static ram used 33904
Stack ram used 4360
My guess at free mem: 59560
SD volume is FAT 32
SD card begin result: 1
SD fs begin result: 1
SD blocks per cluster: 64
SD cluster count: 243584
SD fat start block: 12576
SD fat count: 2
SD blocks per fat: 1904
SD root dir start: 2
SD data start block: 16384
SD card size: 7990 MB
SD flash erase size: 128 blocks
SD erase single block

yes, will test right now.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 15, 2018, 11:22:08 am
It is working now, 10/10 cycles success  :-+

Code: [Select]
CH1 U_DAC = 1619
06/15/2018 4:49:52 PM
CH2 U_DAC = 4123
CH1 U_MON = 434
CH2 U_MON = 645
CH1 U_MON_DAC = 748
CH2 U_MON_DAC = 2031
CH1 I_DAC = 1393
CH2 I_DAC = 2495
CH1 I_MON = 741
CH2 I_MON = 705
CH1 I_MON_DAC = 728
CH2 I_MON_DAC = 1273
AUX TEMP = 372
CH1 TEMP = 410
CH2 TEMP = 399
MAIN_LOOP_DURATION = 305 828 1414 / 305 829 2652 / 147 10114271
ADC_COUNTER = 0 / 0 / 12
Dynamic ram used: 480
Program static ram used 33904
Stack ram used 4360
My guess at free mem: 59560
SD volume is FAT 32
SD card begin result: 1
SD fs begin result: 1
SD blocks per cluster: 64
SD cluster count: 243584
SD fat start block: 12576
SD fat count: 2
SD blocks per fat: 1904
SD root dir start: 2
SD data start block: 16384
SD card size: 7990 MB
SD flash erase size: 128 blocks
SD erase single block

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 15, 2018, 11:43:51 am
Great, we'll commit in a few moments a new release that include this important hotfix that other can upgrade it, too.
Title: Firmware v1.1.1 with SD card hotfix
Post by: prasimix on June 15, 2018, 12:17:34 pm
New firmware v1.1.1 is now available on GitHub (https://github.com/eez-open/psu-firmware/releases/tag/1.1.1).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 17, 2018, 04:47:36 pm
How to roll back to Firmware V1.02?

I mean, the sketch,psu_lib and sci-parser comes from 1.02 release, ethernet library which version I should use?

Update:Master lib works.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 17, 2018, 05:05:31 pm
my psu goes to standby while switch on the channel outputs (both), when OCP is enabled and output voltage from 5v and above with current below 9mA

when OCP disabled works upto 39.99, at 40V goes to standby. no idea what went wrong.

Code: [Select]
CH1 U_DAC = 33244
06/17/2018 10:28:33 PM
CH2 U_DAC = 18389
CH1 U_MON = 744
CH2 U_MON = 679
CH1 U_MON_DAC = 16561
CH2 U_MON_DAC = 9164
CH1 I_DAC = 2420
CH2 I_DAC = 2203
CH1 I_MON = 740
CH2 I_MON = 706
CH1 I_MON_DAC = 1242
CH2 I_MON_DAC = 1127
AUX TEMP = 383
CH1 TEMP = 408
CH2 TEMP = 399
MAIN_LOOP_DURATION = 306 858 1441 / 144 841 100866 / 24 8346299
ADC_COUNTER = 0 / 0 / 1082
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 18, 2018, 07:48:15 am
How to roll back to Firmware V1.02?

I mean, the sketch,psu_lib and sci-parser comes from 1.02 release, ethernet library which version I should use?

Update:Master lib works.

Ethernet lib was not changed recently (i.e. from 1.02 to 1.1.1)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 18, 2018, 07:52:14 am
my psu goes to standby while switch on the channel outputs (both), when OCP is enabled and output voltage from 5v and above with current below 9mA

when OCP disabled works upto 39.99, at 40V goes to standby. no idea what went wrong.

Code: [Select]
CH1 U_DAC = 33244
06/17/2018 10:28:33 PM
CH2 U_DAC = 18389
CH1 U_MON = 744
CH2 U_MON = 679
CH1 U_MON_DAC = 16561
CH2 U_MON_DAC = 9164
CH1 I_DAC = 2420
CH2 I_DAC = 2203
CH1 I_MON = 740
CH2 I_MON = 706
CH1 I_MON_DAC = 1242
CH2 I_MON_DAC = 1127
AUX TEMP = 383
CH1 TEMP = 408
CH2 TEMP = 399
MAIN_LOOP_DURATION = 306 858 1441 / 144 841 100866 / 24 8346299
ADC_COUNTER = 0 / 0 / 1082

I need more info for this one. What did you changed, e.g. just firmware or more stuff? Did you test that with or without connected load, what is load value, etc. Anyway this sound pretty weird.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 18, 2018, 05:56:35 pm
Changes made: after updating to V1.1.1 just re-calibrated.

PSU was going to standby without load.

I thought of a wrong calibration might happened and today tried to do the calibration again , after the first voltage point 150mV, the 19.10 voltage is not coming.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 19, 2018, 07:10:47 am
That's really strange. You'd like to say that calibration works fine in 1.02 and not in 1.1.1? Can you set 19 V outside of calibration wizard?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 19, 2018, 09:42:52 am
No, I checked on the 1.02 and 1.1.1, same behavior.

either my PSU was faulty already and I did't noticed or something happened during the re-assembly.

The calibration wizard is working, apologies, that was a midnight blunder I made. The issue is actually as below:
psu goes to standby while switch on the channel outputs (both), when OCP is enabled and output voltage from 5v and above with current below 9mA setting-no load.
when OCP disabled works upto 39.99, at 40V goes to standby.

Code: [Select]
CH1 U_DAC = 17471
06/19/2018 3:11:56 PM
CH2 U_DAC = 17263
CH1 U_MON = 8675
CH2 U_MON = 8615
CH1 U_MON_DAC = 8672
CH2 U_MON_DAC = 8600
CH1 I_DAC = 2524
CH2 I_DAC = 2495
CH1 I_MON = 742
CH2 I_MON = 704
CH1 I_MON_DAC = 1292
CH2 I_MON_DAC = 1273
AUX TEMP = 403
CH1 TEMP = 461
CH2 TEMP = 447
MAIN_LOOP_DURATION = 287 1092 2188 / 287 1090 2218 / 30 10107278
ADC_COUNTER = 926 / 9210 / 240243
Dynamic ram used: 684
Program static ram used 33908
Stack ram used 4360
My guess at free mem: 59352
SD volume is FAT 32
SD card begin result: 1
SD fs begin result: 1
SD blocks per cluster: 64
SD cluster count: 243584
SD fat start block: 12576
SD fat count: 2
SD blocks per fat: 1904
SD root dir start: 2
SD data start block: 16384
SD card size: 7990 MB
SD flash erase size: 128 blocks
SD erase single block


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 19, 2018, 09:46:20 am
... or something happened during the re-assembly.

Yeah, that's the tough one to debug remotely :). Try to establish serial communication (e.g. using EEZ Studio or any serial console) and check out what error is reported when PSU goes into stand-by.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 19, 2018, 10:11:28 am
Connected the PSU via serial from the Arduino port directly ( back panel port was not working, shorted the SPD and SPU pins of IC17 to GND still not working)


**TRACE [2018-06-19 15:40:15]: Profile 0 saved!
06/19/2018 3:37:46 PM
**TRACE [2018-06-19 15:40:18]: Profile 0 saved!
**TRACE [2018-06-19 15:40:18]: PWR_DIRECT -> LOW
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 19, 2018, 10:15:58 am
Doesn't help a lot. Nothing faulty is reported then that PSU is going into stand-by. That's happen when you reach 40 V or when you works with OCP and low voltage?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 19, 2018, 10:24:49 am
with OCP and low voltage, for eg: I cant switch ON the channel with 5V and 8mA set. if set 9mA and above can switch ON with upto 39.99V
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 19, 2018, 10:37:50 am
Ok, does your current is calibrated, more or less accurately? For example if OCP is active and channel is uncalibrated the firmware could read without load current of mentioned 9 mA and will trip the OCP and if you set "Shutdown when protection tripped" (see below) then PSU will goes to stand-by.

(https://i.imgur.com/2jr9te2.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on June 19, 2018, 12:32:00 pm
Yes it is enabled.

I will disable it until a precise calibration done again.

Thank you very much for your patience and your precious time. :-+
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: iainwhite on June 20, 2018, 09:31:43 pm
I installed firmware 1.1.1 onto my psu and also downloaded EEZstudio to try.   
I was able to connect via USB and do some basic logging to the SD card.
It all seems to work very well.

Thanks for the updates.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on July 15, 2018, 02:00:34 pm
The SD-card issue is a quite interesting behaviour.
I have the crowd campaign unit and have never got any error from the SD-card, but yesterday then I started the pdu I got SD-card error every single time.
Updating fw fixed it, but what is different now that suddenly makes that problem to appear?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on July 15, 2018, 03:03:35 pm
You'd like to say that from yesterday you started to receive SD card errors with old firmware (i.e. that what was originally delivered) or v1.1?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on July 15, 2018, 03:30:46 pm
I have updated fw every time you have released something new. The version I had then the SD card error occurred yesterday was v1.1 and installed in June.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on July 15, 2018, 03:34:03 pm
Hm, yes that is strange or perhaps not since we are decided to switch to different SD Card lib due to some other issue with first one. We found that with new lib (introduced with v1.1) SPI speed has to be lower and that is implemented in hot-fix release v1.1.1.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on July 16, 2018, 08:21:14 am
On FW V1.1.1, last week I have got SD card failure when PSU faced mechanical shock while moving it.

re-assembling the front panel solved it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on July 16, 2018, 08:27:01 am
Yeah, that SD card socket that comes with TFT LCD is far for optimal. In next version (it such thing is happen) I'll use a separate push-push type of socket/connector that hold SD card much better and is more resilient to mechanical shock.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: chenguoping on July 17, 2018, 07:56:21 am
Hi prasimix,
I am interesting the software of PSU, does there has any doc to introduce the design procedure or detail. thx.

best regards.
 
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on July 17, 2018, 08:04:08 am
Everything is open source, hosted on GitHub (https://github.com/eez-open/psu-firmware). Short intro about architecture can be found in readme.md (https://github.com/eez-open/psu-firmware/blob/master/readme.md) or here (http://www.envox.hr/eez/swdoc/index.html) (pages generated by Doxygen). Reference manual about SCPI is available in web (http://www.envox.hr/eez/bench-power-supply/psu-scpi-reference-manual/psu-scpi-introduction.html), .odt (https://github.com/eez-open/psu-firmware/tree/master/doc/SCPI%20reference%20guide) and .pdf format.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: denco on July 19, 2018, 10:13:10 pm
Hello prasimix,

First of all thanks for all the hard work you put into this awesome project.
I am going to build a EEZ H24005 and I had a question based on the modification on the SD card mentioned by morris6.
Well, in my build it also is not easy to change the SD card, you would need to disassemble the whole front panel. That is why I put an SD card socket, a push push type, on a piece of board and placed this on a bracket beneath the Arduino shield. It is (wire wrap) wired direct to the signals on the LCD1 connector. Gnd and +3v3 from C140 and C105, shield wire to Earth connector.
I saw that there is an optional (not assembled) micro SD card on the bottom of the Arduino shield board which is also connected through SPI to the Arduino, just like the SD card on display.
Would it be possible to replace this micro SD card by a right angled 6 or 8 pins header to connect to a separate PCB with a push push (micro) SD card socket, like the one morris6 used?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on July 20, 2018, 05:52:26 am
It should be possible. Perhaps if you can find some ready made SD Card adapter on eBay or similar shops then you can replace existing micro SD card socket and put on that place a header with pinout that match such adapter.

EDIT: if you are not going to use SD card on the TFT you can also bring to that header LCDSD_CS instead of EXTSD_CS used for micro SD card. If not, that can be define in firmware.
Title: Web simulator!
Post by: prasimix on August 03, 2018, 04:32:59 pm
Just as an exercise of working with Emscripten, we made possible to run EEZ H24005 simulation on the web, i.e. you don't need to install prepared Windows (http://www.envox.hr/eez/component/jdownloads/download/2-psu/1-software-simulator-for-windows.html) or build/run Linux/Mac simulator version anymore :). You can find it on the the following address: https://www.envox.hr/eez-psu-simulator (https://www.envox.hr/eez-psu-simulator). SCPI console is also included.

(https://i.imgur.com/3guEmLx.png)
Title: Re: Web simulator!
Post by: prasimix on August 03, 2018, 05:22:00 pm
A small hint: to connect/disconnect load simply click on "resistor" image. When enabled/connected you can change its value by click and drag over resistor image or you can use SCPI command: SIMU:LOAD, for example to set on the current channel load of 4.7 Ohm enter: SIMU:LOAD 4.7.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 05, 2018, 09:49:38 am
I just run into a case there I need a small AC supply to test a device.
Would it be possible to make an “AC-mode” there a predefined list is doing the half wave for each channel. The channels are external serial coupled to make a midpoint reference. 
If it’s possible to calculate the list in the firmware just by typing in AC voltage and frequency that would be great, but some predefined voltages at 50 and 60Hz should possible cover many cases.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 05, 2018, 10:00:47 am
Please open a new issue (https://github.com/eez-open/psu-firmware/issues/new) in firmware repository for this. I cannot promise anything since Due is already too busy taking care of TFT display and all other things to provide 50/60 Hz (neither half or full wave) but possibly we can make some optimization if we make it as special case that not necessarily works with already implemented LIST function.

Did you perhaps tried to use remote voltage programming input to accomplish such thing?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 05, 2018, 10:07:50 am



Did you perhaps tried to use remote voltage programming input to accomplish such thing?

I have thought of that but not test it.
It will probably work just fine, but need some external circuits.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 05, 2018, 10:10:20 am
Yes, you have to split AC signal into two halves. I'm agree that is not straightforward. We'll see what can be done in firmware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 05, 2018, 03:41:15 pm
Please open a new issue (https://github.com/eez-open/psu-firmware/issues/new) in firmware repository for this.

Done. #209 (https://github.com/eez-open/psu-firmware/issues/209)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 08, 2018, 05:01:58 pm



Did you perhaps tried to use remote voltage programming input to accomplish such thing?

I have thought of that but not test it.
It will probably work just fine, but need some external circuits.


I made a quick try using the remote voltage programming inputs for AC generating.

- Both negative terminals on the psu are connected together. AC out on the positive terminals.
- The control signals feeds from a two channel function generator with one channel phase shifted 180 deg.
- Each signal is half wave rectified through a diode, and the dc-level from the function generator is raised to compensate for the voltage drop in the diodes.


It works quite nice, but with some drawbacks.
1. The max limit for current/power is what the down programmer can handle as it have to sink all current from the other channel.
2. As both control signals have a common ground, the both analog Gnd (pin 2 on the front connector) also will be common which messes up the current measurements due to the low side current shunt.

Despite the limit of the down programmer I still believe that an AC feature like this will be useful if it is possible to squeeze in the firmware.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 08, 2018, 05:04:17 pm
Thanks for an update. Do you think that an option to turn off DP could improve your situation?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 08, 2018, 05:10:49 pm
Thanks for an update. Do you think that an option to turn off DP could improve your situation?

Correct me if I’m wrong, but without the DP it will be impossible for the “off” channel to sink the current from the one that is doing its half wave?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 08, 2018, 05:12:17 pm
Oops, you're right :)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 08, 2018, 08:07:35 pm
Can the DP protection handle a pulsing load? If it has to dissipate for example 5 W 50Hz the average will be 2.5 W but it’s never goes over 1 W for 5 sec to trip the protection?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 08, 2018, 09:21:11 pm
Hm, that could be problematic. DP MOSFET is in DPAK soldered on very limited pad and NTC sensor is not close to it (that control cooling fan), therefore if firmware cannot detect pulsed excess of power dissipation that can damage MOSFET (due to overheating).
It was a stupid move from my side to use DPAK instead of THT package that can be mounted on heatsink beneath :(. Due to that we added that firmware protection that has its limitations. I have to check with my colleague what firmware can do.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 15, 2018, 02:35:16 pm
Greetings! My H24005 has stopped working and before I started disassembly I thought I would see if there were any suggestions.

Thinks were running fine, putting out 14V at about 20mA connected to a recalcitrant charging circuit. As so often happens, work rudely interfered. I was away for about 15 minutes. I found my power supply with a blank screen. I powered it off, turned it back on, and the backlight on the LCD flashes once and then thinks looked like there was no power.

I plugged the USB into my computer and the Arduino failed to appear. Took the cover off, powered up, and the two lights on the USB connector side of the Arduino were on.  I thought it might be the Due, so I unseated it. Looks like the Due is fine. I upgraded the firmware to 1.1.1 while it was out. Reseated the Due, powered up, and the same behavior. When I power up and switch off standby, the LCD backlight flashes briefly (.25 secondish) and then the system appears dead except for the two lights that are on the Due.

I did measure 3.6 volts on pins 22 and 23 of the Arduino, other than that, I have not poked further. My next step is to pull the front panel off, but before I start that, I wanted to check if anyone had a different suggestion.

Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 15, 2018, 03:57:10 pm
Did you managed to establish remote connection? If yes, check if it response to SCPI messages such as *IDN? or *TST?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 15, 2018, 06:00:19 pm
I hope this is me who should reply!

I never got any response from the Due if it is installed in the power supply. I upgraded the firmware while the Due was stand-alone.

However, I just tried to see if I got a response from plugging the USB cable from my computer directly to the Due while it was in-situ. The system powered up, went through the Ethernet config (which failed because it wasn't connected) and gave a 'Fan Error'. Same behavior with either the native or programming port.

If I plug a known good USB cable into the back connector and put the black cable into the native Due port, which IIRC is the proper port, I get the same 'display flash but otherwise not working' behavior.


Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 15, 2018, 06:30:57 pm
Where you got that "fan error" message? On remote console (i.e. Arduino serial monitor or similar terminal console application)?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 15, 2018, 07:37:35 pm
Where you got that "fan error" message? On remote console (i.e. Arduino serial monitor or similar terminal console application)?
It showed up on the LCD which works fine when a USB cable from my laptop is plugged into the Arduino.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 15, 2018, 07:44:58 pm
Ok, we are progressing here :). If you got "fan error" then you shouldn't hear shortly after power up that fan is switched on and off. One possibility for that is failure in Vigortronix 5/12V AC-DC module on the AUX PS board or that fan is stalled due to some (electro)mechanical failure.
If fan sink too much current that will also drop 5 V down to nothing and your Due cannot be powered properly any more, hence you got just a flash on the screen. When you connect Due with USB cable directly, then it is powered from your PC and you can see that error message.
Please first check Vigortronix outputs (5V and 12V).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 16, 2018, 10:25:02 am
Please first check Vigortronix outputs (5V and 12V).
Spot on! With the Aux power board disconnected from everything except the AC mains, the output of the 5V side is 3.7 volts, and the 12V side is 0.

I am off to Digi-Key.

Thank you!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 16, 2018, 10:34:46 am
Hm, how frustrating. That component cost a fortune (see Newark (http://www.newark.com/vigortronix/vtx-214-005-0512/power-supply-ac-dc-5v-0-5a/dp/96Y9849?ost=VTX-214-005-0512) or Farnell (https://export.farnell.com/vigortronix/vtx-214-005-0512/power-supply-ac-dc-5v-0-5a/dp/2627176)) and is not a "no name" AC/DC module, and so far it is the only component that few people reported as damaged.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 16, 2018, 11:31:13 am
Yup, it seems to be only available from Newark/Farnell in the UK. However, even with the additional freight charges, the Vigortronix is cheaper that the equivalent US-sourced part. Plus, the US-sourced part would need to be wired in rather than fit the footprint. I ordered an extra one, just in case. If somebody from the US is browsing this and needs one, I will send it to them at cost ($23.58) plus US postage if it is available.

You did good with this power supply. I don't use 80% of it's capability, but for what I need, it's the cat's pyjamas.

Thanks for taking time to help me with this.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 16, 2018, 11:35:03 am
Thanks for feedback about usage. I'd like to know why you're using 20% of its capabilities: because you don't need more or you don't know how to use them?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: kirby on August 16, 2018, 12:42:08 pm
Thanks for feedback about usage. I'd like to know why you're using 20% of its capabilities: because you don't need more or you don't know how to use them?

I don't need them. My main use is to safely keep me from doing stupid stuff. I can set the current limit on a channel to a safe level and not worry (as much)! The more advanced capability (serial/parallel combinations, remote sense, SCPI, etc.) are there if I need them.
Title: Rotary encoder issue
Post by: Pjoms on August 22, 2018, 06:21:56 pm
I have noticed a quite scary issue with the rotary encoder twice the last days.
Both times I was increasing the voltage by one step, but the voltage raised 100 times that increment!

Yesterday I was in step mode set at 0.1V but the voltage raised 10V. Channel was on.

Today I was at the “normal” home screen and the voltage raised 1V instead of 10mV. Channel was off.

Unfortunately I have not find any way to reproduce it...
- Crowd campaign unit
- Latest fw 1.1.1 with the “SD-card fix”.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 23, 2018, 05:50:06 am
Thanks for that. I can confirm that such bug in firmware exist. I still don't know when it can exactly happen neither find a time to investigate it in more details. Please report it on GitHub that we can track it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 23, 2018, 06:18:16 am
Done. #210 (https://github.com/eez-open/psu-firmware/issues/210)

This is just a long shot thought, but as I will remember the psu had been on but untouched for some time before both of my situations. Can it be something with the velocity control and the timers around that causing it to jump that exact range of 100 times one increment?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 23, 2018, 10:02:24 am
I can confirm that bug can be reproduced if after startup you wait for some time (more then few minutes less then an hour) and first increment will be 100x higher. For example, if initial voltage is set to 12 V, first increment will be 13 V instead of 12.01 V. It's possible that is somehow connected with timer or counter "overflow". We'll continue to work on it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 27, 2018, 12:04:41 pm
Issues #207 (https://github.com/eez-open/psu-firmware/issues/207) and #210 (https://github.com/eez-open/psu-firmware/issues/210) are fixed and ready for testing in master branch. If everything works fine we can release that as hotfix v1.1.2.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 27, 2018, 12:59:42 pm
Issues #207 (https://github.com/eez-open/psu-firmware/issues/207) and #210 (https://github.com/eez-open/psu-firmware/issues/210) are fixed and ready for testing in master branch. If everything works fine we can release that as hotfix v1.1.2.

Well done! I hope I can test #210 tonight.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on August 27, 2018, 08:36:22 pm
I have made a quick test of the latest master branch firmware regarding #210 and it looks promising. No x100 jump after one hour, but I have only tried once yet.
Title: Project files in KiCAD format
Post by: prasimix on August 29, 2018, 04:47:33 pm
I'd like to inform you that thanks to LJJS's effort, project is now available also in KiCAD format (https://github.com/eez-open/psu-hw/tree/master/Consolidated/KiCad). I'm not familiar with it (and have to install it once again :)), but you're more then welcome to check that and eventually report what you find here or on the GitHub under #37 (https://github.com/eez-open/psu-hw/issues/37).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on August 30, 2018, 11:38:42 am
I am assuming these are meant to match the originals as closely as possible?

Currently they throw some DRC warning in KiCad, Any issues if I go through and clean them up?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 30, 2018, 11:42:26 am
You are welcome to do that, and if possible create new pull request.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on August 30, 2018, 12:56:04 pm
Could I ask, for IC10, your footprint doesnt seem to be made to the normal 0.65mm pitch, is this how its done on your eagle client?, or an import error?

Equally a first glance shows the relays footprints missing, I'll pack this into a push request.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on August 30, 2018, 12:59:52 pm
IC10 (DAC8552) package is imported from TI.com site and converted with Ultra Librarian and it seems that it's fine at least in Eagle.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on September 01, 2018, 09:19:30 am
Ok, Pull request made.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 01, 2018, 09:20:24 am
Ok, Pull request made.

Accepted, thanks!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: s8548a on September 21, 2018, 06:48:19 pm
Issues #207 (https://github.com/eez-open/psu-firmware/issues/207) and #210 (https://github.com/eez-open/psu-firmware/issues/210) are fixed and ready for testing in master branch. If everything works fine we can release that as hotfix v1.1.2.

Trigger system is working fine, tested the Manual and Pin1 with Step mode and List mode  :-+

the Bus mode (need to confirm), when INIT the output is OFF and when *TRG, directly the Step value is updated to the channel. (when init from the touch screen and *TRG via BUS it works as it should)
Title: USB isolator failure...
Post by: prasimix on September 24, 2018, 01:57:09 pm
Huh, it was happened again: ADuM3160 USB isolator failed again: this is a second time in less then a year and I cannot see a pattern of what was happened. My EEZ H24005 PSU is continuously powered on or in standby state (i.e. the AUX PS board where the ADuM3160 is located is always powered on). USB cable is also continuously connected to my desktop PC which is also most of the time powered on or in standby state. Today, when I tried to make connection with PSU, USB port is not recognized any more, and ADuM3160 is very hot. If I disconnect the USB cable, it's start to cool down. But I had the same issue with other USB isolator and PCB board, like on that is shown on picture below. It was continuously connected to the same PC and after few months it just mysteriously stops to respond and when PC side is connected USB isolator IC (ADuM4160 in that case) also is running extremely hot.
Does anyone experienced similar issue with ADuM's isolators?


(https://i.imgur.com/JOdBSLml.jpg)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on September 24, 2018, 08:42:55 pm
Where would the design files be for him? I can have a look over if there are any datasheet Gotcha's If its available.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 25, 2018, 06:06:47 am
EEZ H24005 USB isolation section can be found on sheet 7 here (https://raw.githubusercontent.com/eez-open/psu-hw/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a%20Sheet%207of12.png) (png) or here (https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a.pdf) (pdf).
Mentioned stand alone isolator board I bought some time ago on the ebay, and cannot find any schematics.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Rerouter on September 25, 2018, 11:37:52 am
At a glance, your USB input has no AC shunting between the USB ground and the PE ground, So at a guess some noise got in, and exceeded common mode.

The other thing of note is your PE ground trace has very little separation to the traces of the isolated side, If you had a bad ground connection and it floated to half mains there is the possibility that something jumped to a data pin.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 25, 2018, 04:58:48 pm
Thanks for that. Another thing that crossed my mind and could make a situation even worser is possibility that PC and PSU are on different AC phases (I didn't check that yet). Anyway, instead of using ferrite bead that can be often seen when USB isolator is not in place, perhaps I should use a capacitor with hi-value resistor in parallel, or you'd like to suggest something else?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: T3sl4co1l on September 28, 2018, 08:09:27 pm
No TVS diodes?  May be hot plugging transient.

Tim
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 29, 2018, 05:36:17 am
No discrete TVS but IC16 is in place that is 2-channel TVS. Perhaps I should use 4-channel IC to add protection to VBUS and Gnd lines, too?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: T3sl4co1l on September 29, 2018, 01:11:41 pm
FYI, referring to
https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a.pdf
ZD4 and 5 are wrong, if one fails shorted, mains becomes connected to protective earth.  SAR1 is all that's necessary. :)

The TPD2E001 (IC16) covers VBUS so ZD17 isn't needed, and it should be fine with hotplugging.  Do eliminate FB6 with great prejudice, however, and tie shell/ground to XUSB_GND in as many points as possible.  Pour a ground plane in the area (stitched, both layers; or inner layer if multilayer).

Leave a generous isolation gap around the XUSB_GND pour, say 1.6mm or more to main circuit ground.  You can add an R+C across the isolation gap to dampen EMI on the cable (as Rerouter hinted).  Typical values might be 220pF + 100R.  Doesn't need to be Y-type (it's ground to ground, if everything is behaved..), but can be.

Tim
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 29, 2018, 04:26:36 pm
FYI, referring to
https://github.com/eez-open/psu-hw/blob/master/Consolidated/EEZ%20PSU%20consolidated%20r5B13a.pdf
ZD4 and 5 are wrong, if one fails shorted, mains becomes connected to protective earth.  SAR1 is all that's necessary. :)

Thanks, but in that case one or both fuses (housed in AC inlet) should blow (or rather explode :)). My idea was to have two level of protection: TVS and MOV+SAR. So far, such failure didn't happened to me, neither other users reported it.

The TPD2E001 (IC16) covers VBUS so ZD17 isn't needed, and it should be fine with hotplugging.  Do eliminate FB6 with great prejudice, however, and tie shell/ground to XUSB_GND in as many points as possible.  Pour a ground plane in the area (stitched, both layers; or inner layer if multilayer).

ZD17 is optional, not mounted, added just to make place on the PCB if IC16 is not used.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: T3sl4co1l on September 30, 2018, 05:24:58 am
No, I mean it, you're just making it needlessly vulnerable and dangerous.  Those poor TVS diodes will explode as soon as a mains surge hits the thing.  They're frail at those voltages.

It will fail.  Maybe not today, maybe not in ten years, but you're cursing some poor bastard who builds/buys it and plugs it into their dirty power, and it blows up while they're out at work and burns down their apartment and all their neighbors have to suffer their mistake (or something hyperbolic like that).

(It takes a big fucking TVS to handle mains transients, typically over "30kW" rated (versus the "1.5kW" parts shown).  Those suckers are expensive, too.  Upside, they don't wear like MOVs do, as long as you never exceed their ratings.  Which isn't the easiest thing to guarantee, given the random nature of real surge events, so you may wind up using many together (even more $$) to ensure that.)

And anyway, you've got transformers!  What are you worrying about the common mode voltage?  That GDT + MOVs will keep things well within the typically 2.5kV rated range of anything safe to plug into the wall!  Just the MOVs would be fine, even kind of overkill as the transformer itself is capable of limiting transients to a fair degree...

FYI,
Tim
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 30, 2018, 07:13:36 am
Thanks Tim for additional information about TVS. Huh, it sounds dangerous. You are suggesting that it will catch the fire before fuse blow. At least backers from US is in the better position since their units also comes with TVS rated for 400V. Therefore their AC mains input has to be very dirty :).

Regarding transformer, two AC/DC modules (Mean well LRS-150-48) are used in this model instead of bulky mains frequency transformer. I presume that SMPS transformer is not so capable of limiting transients.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: T3sl4co1l on September 30, 2018, 02:27:39 pm
Ahh, all the more reason, the Meanwell units are already rated for it!  (Notably, Safety & EMC spec, IEC 61000-4-5.  Industrial, too.)  I wouldn't even bother with the MOVs, but you can if you like. :)

Tim
Title: Re: USB isolator failure...
Post by: morris6 on October 05, 2018, 02:40:23 pm
Huh, it was happened again: ADuM3160 USB isolator failed again:
Sorry for this somewhat late reaction..

Thinking about the failing ADuM 3160 isolator:

Normally the whole control section of the H24005, the arduino and so on, is totally isolated from the rest of the system. It is isolated by the ADuM 3160 USB isolator IC17 and control signal isolators IC19 - IC23. Power, 5V, comes from the TR1 supply module, the GND net of the control section is not connected to anything outside this section. So it looks like there is no path to prevent any buildup of a static charge.

In fact, when measuring voltage between PE and digital GND on point 8 of the left-hand auxiliary connector there is some voltage building up slowly. This happens while the H24005 is in standby as well as when switched on. Highest I have seen, after +/- 15 minutes was more than plus 10 Volts on a high impedance voltmeter. What is the cause? The meter, with its input open and nothing connected, has the habit of going to a negative indication. So it looks as if something else is loading the GND net positive referenced to PE. When switching the meter out of 'high-Z' to 10 Meg input the voltage drops to about zero.

I think there is nothing against connecting the control section GND net direct to PE with a piece of wire from point 6 to point 8 on the left-hand auxiliary connector. Just to provide a discharge path. Or a resistor 1 Meg or so? This will keep the 'inner' side of the isolator under control.

Another thing.. Also both power regulator sections are fully isolated and not protected against static. Shouldn't there be a (high) resistive discharge path as well? Or do the MeanWell supplies take care of that?

--------

PS. It looks like there is a typo in schematic 7/12 'Ethernet and USB PCB connectors' : near IC17 the GND symbols are wrongly identified as 'PGND', actually they are on the 'GND' net.
Title: Re: USB isolator failure...
Post by: prasimix on October 05, 2018, 03:17:31 pm

Another thing.. Also both power regulator sections are fully isolated and not protected against static. Shouldn't there be a (high) resistive discharge path as well? Or do the MeanWell supplies take care of that?

I think that Mean Well has output coupled to PE with capactitor. Also both Power modules binding posts are coupled to the PE. Don't know if that is enough or even relevant as protection against building of static.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: T3sl4co1l on October 05, 2018, 06:29:53 pm
Ethernet has a 1nF 1.5kV from cable (center tap on the transformer) to GND for ESD protection.  Note that that's a consistent value (i.e., figure 8kV contact discharge from 300pF), but only for single shots (there's no leakage to drain accumulated charge!).

Tim
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 09, 2018, 10:46:30 am
Just a quick question, can you achieve isolation of 2 channels with only one AC-DC module (or any DC source)? I thought about it and my answer was no. I just wanted to read your opinion.

However, there is the floating regulator design so does it allow for example connecting the 2 channels in series or parallel assuming both of them has only one power source (a battery pack for example).

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 09, 2018, 02:21:47 pm
As far as I know the answer to the first question is no, and yes to the second one as you suggested.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 10, 2018, 05:27:00 am
As far as I know the answer to the first question is no, and yes to the second one as you suggested.

Good, looks like I got it correctly.

However, for the floating regulator.. I kinda have a problem of understanding how it would be 2 channels in series while both of them returns to battery negative terminal.

I will ask someone here since he know a lot about them.

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 10, 2018, 05:36:16 am
For two channels in series you cannot expect that both of them provide a full range but just half, e.g. 2 x 20 V for single power input that can provide up to 40 V on output. You still have to make a "floating" control logic for at least "upper" channel.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 10, 2018, 06:13:22 am
For two channels in series you cannot expect that both of them provide a full range but just half, e.g. 2 x 20 V for single power input that can provide up to 40 V on output. You still have to make a "floating" control logic for at least "upper" channel.

If both 20v 2A then two in series will be 40v 2A and in parallel 20v 4A, I know that already since it is what all PSUs are.

but what is the floating control logic for the upper channel? In my design, we used an isolated DC-DC module to get the control logic working and so on as I remember. Now we have to get 1 per channel so we have to get 2? what if I plan to use a microcontroller with external ADC + DAC to control both channels...? how will all that fit?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 10, 2018, 06:40:42 am
If both 20v 2A then two in series will be 40v 2A and in parallel 20v 4A, I know that already since it is what all PSUs are.

Yes, but in parallel you could go up to 40V if their single power input provide enough voltage and power.

but what is the floating control logic for the upper channel? In my design, we used an isolated DC-DC module to get the control logic working and so on as I remember. Now we have to get 1 per channel so we have to get 2? what if I plan to use a microcontroller with external ADC + DAC to control both channels...? how will all that fit?

Yes, you should deploy two isolated bias power supply for control logic each referenced to positive power channel output. If MCU/digital control is required you have to isolate it on digital (before DAC/ADC looking from digital to analog section) or analog side (after the DAC/ADC section). Digital isolation is easier and cheaper to achieve without compromising linearity/precision. SiLabs has great isolators for attractive price.
Some sort of isolation between MCU and more then one power channels is required anyway if you'd like to have two separated floating power output.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: VEGETA on October 10, 2018, 08:48:32 am
Quote
Yes, but in parallel you could go up to 40V if their single power input provide enough voltage and power.

Yes, assuming the source is powerful.

A side question: can this be achieved by 4 parallel 18650 li-ion batteries (using buck-boost converter)?

Quote
If MCU/digital control is required you have to isolate it on digital (before DAC/ADC looking from digital to analog section) or analog side (after the DAC/ADC section)

You mean powering the arduino by an isolated dc-dc converter? as well as DAC and ADC?

Quote
SiLabs has great isolators for attractive price

I only buy stuff from Aliexpress, thus I searched and found this one: ADUM1201 and ADUM1400 which is 4 channels (2 for each supply channel). Looks like it has this one from Silabs too: SI8660BA.

 Looks like it is just up to 5v but I guess this is suitable since ADC\DAC won't go above. So now I can just power the MCU via any means then get the signal (SPI,I2C) from it to this IC then to DAC. The same for ADC too. Is this method correct?

However, I guess you could use one IC per channel since you don't want to mix the voltages between them, is it correct?


Quote
Some sort of isolation between MCU and more then one power channels is required anyway if you'd like to have two separated floating power output.

Isn't this achieved already by using digital isolators between ADC\DAC and MCU for each channel? while MCU itself could be powered directly from the battery pack.

I have a design that is working in LTSPICE here in the forum, with cooperation with kelinstein if you would like to take a look.


_________________

EDIT: I have attached the design image quickly.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 10, 2018, 05:38:20 pm
A side question: can this be achieved by 4 parallel 18650 li-ion batteries (using buck-boost converter)?

I have no experience with 18650 batteries. Possibly yes to some extent since such batteries are used in Dave's uSupply.

Quote
If MCU/digital control is required you have to isolate it on digital (before DAC/ADC looking from digital to analog section) or analog side (after the DAC/ADC section)

You mean powering the arduino by an isolated dc-dc converter? as well as DAC and ADC?

Yes, your digital control (MCU+peripherals) need separated power rail, that can be floating or e.g. PE referenced.

I only buy stuff from Aliexpress, thus I searched and found this one: ADUM1201 and ADUM1400 which is 4 channels (2 for each supply channel). Looks like it has this one from Silabs too: SI8660BA.

 Looks like it is just up to 5v but I guess this is suitable since ADC\DAC won't go above. So now I can just power the MCU via any means then get the signal (SPI,I2C) from it to this IC then to DAC. The same for ADC too. Is this method correct?

However, I guess you could use one IC per channel since you don't want to mix the voltages between them, is it correct?

That's correct.

Quote
Some sort of isolation between MCU and more then one power channels is required anyway if you'd like to have two separated floating power output.

Isn't this achieved already by using digital isolators between ADC\DAC and MCU for each channel? while MCU itself could be powered directly from the battery pack.

I have a design that is working in LTSPICE here in the forum, with cooperation with kelinstein if you would like to take a look.

You have to provide isolation in all sections: analog/linear and digital. No common ground is allowed if you want two separated isolated channels or their coupling in series. That doesn't matter for parallel coupling.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on January 28, 2019, 08:57:40 pm
It's a bit silent here.. let's give this thread a bump. The EEZ H24005 is a great project FWIW and I have build three pieces so far.


@prasimix:

I feel a bit like the sorcerers apprentice digging into this. The possibility to open the psu-firmware project file was not presented and discussed yet, nevertheless.. 

It all started with trying to correct some typo's in the screen texts. It looked like this could be done using EEZ-Studio after opening the psu.eez-project file. I felt a bit uncertain about what I was doing, but it worked out fine. After correcting some typo's in the texts of the pages just "Build" and "Save". Several files are updated auto-magically... Then start the Arduino environment, compile and load the corrected firmware. Nice!

Next was cleaning up the small text font characters, pixel editing character by character. Same procedure.. Nice!

And then.. the degree symbol. It shows on screen as "oC" while "°C" is intended. Of course this is a "minor" issue, but a device wherein so many hours of development are invested deserves better, I think. For this a simple text correction didn't work, for several different reasons I think. Ascii code page problems, 'char' type signed or unsigned, It proved too difficult for me, I am only apprentice remember..!
So I copied a trick that is used elsewhere in the psu firmware. Also icons are addressed as text item. I created a new icon "°C" at position 151 in the small fonts section of the psu.eez-project file. Most probably you consider this as a definite "NoNo", editing this file by hand. But it worked. After changing the text string in value.cpp from "oC" to "\u0097" the new icon "°C" shows up on the display, after compile and load of course.

I took the liberty to open an issue on Github about this and uploaded the altered files there.

Some pictures of the display "Before" and "After" are posted here to get an idea of the cleaned fonts and the "°C" symbol.

Maybe these alterations can be taken along in the next firmware update.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2019, 03:21:58 pm
Glad to see that someone had a time and patience to dive into the GUI project without waiting that I eventually find a time to describe a whole process (and what I've promised a few times in the past :(). Anyway, it seems that you successfully managed what you'd like to change what is a sort of proof that working with EEZ Studio ESP module is pretty intuitive. I presume that you are already find out that M2 version (https://github.com/eez-open/studio/releases/tag/M2) of EEZ Studio is needed to edit EEZ H24005 project, and this is a note for other who is willing to follow your steps.
Thanks for adding your changes into GitHub. We'll try to include that possibly in first next firmware release.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: morris6 on January 29, 2019, 09:32:41 pm
Yes, I was using the M2 version. You mean M3 version cannot be used yet or anymore for this purpose?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 29, 2019, 10:38:55 pm
Unfortunately M3 cannot be used for H24005 project, it will support only a new STM32 MCU board. But, if any issue arise with using M2 feel free to report it on GitHub and we'll try to take care of it.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on April 28, 2019, 02:26:52 am
I was one of the crowd supply backers, so I didn't build my H24005 from components. Now I have an... opportunity to learn more!

One way or another, with the channels coupled in parallel, I fried ZD7 and ZD10. I was set to 4.2V 10A because I was using it to top-balance cells in a Li-ion battery. I did not turn power off while moving clips from one set to the next and don't know whether I had a transient or brushed the clips against inverted voltage, but in any case both TVSs gave up the ghost with visible smoke and damage; one looks like it caught fire; of course it's ZD7, the one that's between the relays and the header, so it will be fun to get to. (I noticed that the KiCad layout moved ZD7 to the other side of the header; maybe I'm not the only one?)

Before I order replacement SMAJ48A-TR from Mouser, I'm curious what else might have died and need replacement, so I can ship all the likely-needed parts at once... I checked the R65 sense resistors on the power boards and they are still good, so I'm hoping the FETs behind them are OK. Would it make sense to remove the cooked TVSs and try powering the unit back up with no load and check the output voltage, then try a dummy load, or are there other things worth testing first?

I'd appreciate suggestions. Thanks in advance for any help here!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 28, 2019, 06:22:44 am
Hm, I guess it is better chance that was happened due to inverted voltage then transient that has to be enormous (48 V and more). I'm aware of stupid placing of ZD7 on crowdfunding version of the board. The "easiest" way is to remove K_SER relay first and then ZD7. That issue is rectified in more recent revision.

It makes sense to remove ZD7 and ZD10, start the unit with both channel off, set currents to small value (i.e. below 100 mA), try to enable outputs of one channel at time and see what will happen.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on April 28, 2019, 06:33:22 am
I have the crowd supply version and I find the encoder is unusable to adjust current and voltage. I have compiled and updated firmware, have I missed a setting, or is the encoder operation just not used?

I also don't like the colours used, can I change them?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 28, 2019, 08:03:39 am
I have the crowd supply version and I find the encoder is unusable to adjust current and voltage. I have compiled and updated firmware, have I missed a setting, or is the encoder operation just not used?

That's strange, that can be frustrating. Could you please give us more info, in what way it is unusable? Perhaps a short video of "unusability in action"? Does your encoder push button works? It's possible that you have mechanical failure, too.

I also don't like the colours used, can I change them?

We still didn't manage to provide a simple way of color changing (e.g. by providing various color scheme including a user defined one). It theory is possible to change it by editing psu.eez-projec (https://github.com/eez-open/psu-firmware/blob/master/psu.eez-project)t file using the EEZ Studio M2 (https://github.com/eez-open/studio/releases/tag/M2) (see below). Currently that is a substantial work, there is many pages that has to be checked (despite the fact the we are tried to use style "inheritance"). Once modified it has to be build and new firmware has to be compiled and uploaded on the unit (using the Arduino IDE). There are many points where you can failed. Good thing is that you can always goes back to the latest working firmware by simply download it from the GitHub.

(https://i.imgur.com/8NgTrxu.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on April 28, 2019, 09:08:13 am
I will do a video when I get a chance. Basically when you turn the knob, sometimes it increments in the correct way, sometimes it goes backwards, or jumps around without moving. The button works correctly. I have tried to find the correct method of turning it, holding my tongue at the right angle, slow or fast, but it is a bit hit and miss.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on April 28, 2019, 09:29:12 am
It seems to be more of a problem clockwise. See video attached.

https://youtu.be/-LBV2er1DRk

Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 28, 2019, 09:58:11 am
Many thanks for additional info. My first impression is that something is wrong with encoder. Before trying to replace encoder, I suggest to probe encoder outputs with 2-ch scope. It shouldn't be problem to access encoder pins when top cover is removed. Encoder should generate a two square signal with shifted in phase.
I presume that you're using the latest firmware, too.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on April 28, 2019, 10:00:19 am
Yeah, latest firmware. Yes, ok, I will test the encoder, just wanted to know it it was strange, sounds like it is.

Thanks.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 28, 2019, 11:22:51 am
Perhaps applying some cleaning agent such as Kontakt 60 (https://www.tme.eu/hr/en/details/60_200/cleaning-maintaining-products/kontakt-chemie/70009-008/) could resolve mechanical issue.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on April 28, 2019, 09:50:55 pm
Hm, I guess it is better chance that was happened due to inverted voltage then transient that has to be enormous (48 V and more).

That was probably the problem. This is a salvaged chevy volt battery with tabs sticking out every 4.2V cell and I expect I brushed the wrong one. It would be easy to do, and easy to not notice doing it.

It makes sense to remove ZD7 and ZD10, start the unit with both channel off, set currents to small value (i.e. below 100 mA), try to enable outputs of one channel at time and see what will happen.

ZD7 was a pile of char, so I cleaned it up so it wouldn't conduct. ZD10 looked undamaged but disconnected at one end and sticking up at an angle, and looked a bit like a failed cold solder joint. I have not tested it, merely removed it.

I tested it without ZD7 and ZD10. In the 0-1V range, floating with no load, calibration is off by .001V on channel 1 and  .005V on channel 2, and with a 2Ohm load by about .02V in that range. I had not run calibration on it recently so I don't know whether that's even a change.

Looks like it survived.  :phew:  I'll order new TVS diodes.

Is the remote voltage sense tolerant of inverted voltages? It has occurred to me that I could build charging cables with a diode embedded inline to protect against another inadvertent touch, with separate remote sense wires in order to get precise control of voltage on the other end of the diode. Does that make any sense?

Thank you so much for the help!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on April 29, 2019, 06:26:43 am
Is the remote voltage sense tolerant of inverted voltages? It has occurred to me that I could build charging cables with a diode embedded inline to protect against another inadvertent touch, with separate remote sense wires in order to get precise control of voltage on the other end of the diode. Does that make any sense?

Yes, and it has remote sense reverse polarity protection (Q18, Q20) that in case of inverted voltages immediately disable power output (via Q17) and notify MCU of error condition (Q19). Please note that such protection works for output voltage of approx. 1 V and above.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on April 29, 2019, 10:36:15 pm
Yes, and it has remote sense reverse polarity protection (Q18, Q20) that in case of inverted voltages immediately disable power output (via Q17) and notify MCU of error condition (Q19). Please note that such protection works for output voltage of approx. 1 V and above.

That's awesome! I ordered some high-current schottky diodes to build these cables and they'll arrive with the replacement TVSs. Very much appreciated!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on May 02, 2019, 12:32:29 am
Looks like it survived.

Replacement TVSs installed. Each channel works separately. Parallel coupling appears to work but I haven't tested more than 5A through my small dummy load so I don't know whether it really works. Series coupling definitely doesn't work.

I didn't think to test series coupling before doing the repair, so I don't know whether the failure started before or after. I don't know whether I broke a relay or have a bad solder joint, but I would guess that I broke the K_SER relay removing it and re-installing it. Edit: Yup, damaged a pin on K_SER. One more thing to order!

Of course, I didn't test beyond the individual channels before reassembling the whole unit. Brilliant of me. :palm:

Thanks again for the help!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 02, 2019, 06:41:05 am
Replacement TVSs installed. Each channel works separately. Parallel coupling appears to work but I haven't tested more than 5A through my small dummy load so I don't know whether it really works.

When outputs are coupled in parallel channels should deliver current evenly thanks to software based balancing. Therefore, going above 5 A shouldn't be a problem if it already works with lower current.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on May 03, 2019, 08:36:48 pm
I broke a pin on the K_SER relay when I was removing it to replace the diode. :palm: Probably I had not completely freed the pin from solder and didn't notice when trying to free the relay. New K_SER relay installed, now serial coupling works as well as parallel.

Now, I want to test power on each channel. I used the 2 Ohm 100W resistor that I originally calibrated with. I can max out power at 30W per channel. Voltage displayed is not quite right (in CC, 8V limit on the PSU display shows as 7.9V read on my meter, read directly at the terminals).

I tried to re-calibrate using that same resistor, but I'm not succeeding. In the calibration wizard:

Is there a (re-)calibration bug in the v1.0 firmware?

Also, when parallel coupled, which remote sense terminals are active?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 04, 2019, 07:14:51 am
I broke a pin on the K_SER relay when I was removing it to replace the diode. :palm: Probably I had not completely freed the pin from solder and didn't notice when trying to free the relay. New K_SER relay installed, now serial coupling works as well as parallel.

Now, I want to test power on each channel. I used the 2 Ohm 100W resistor that I originally calibrated with. I can max out power at 30W per channel. Voltage displayed is not quite right (in CC, 8V limit on the PSU display shows as 7.9V read on my meter, read directly at the terminals).

What is max. current that you can measure? Is it above 500 mA or not?
Delivered mentioned max. 30 W is in CV mode or it goes into CC mode?

I tried to re-calibrate using that same resistor, but I'm not succeeding. In the calibration wizard:
  • Channel 1, step 1, I'm reading 92.8mV, step 2 I'm reading 115mV and can't get past that point in the wizard because I'm out of range.
  • Channel 2, step 1, I'm reading 125.5mV, step 2 I'm reading 125.6mV; again out of range and can't get further.

Is there a (re-)calibration bug in the v1.0 firmware?

Shoudn't be, but I cannot remember correctly. Note that at least #171 (https://github.com/eez-open/psu-firmware/issues/171) related to calibration is fixed in v1.02 (https://github.com/eez-open/psu-firmware/releases/tag/1.02).

Also, when parallel coupled, which remote sense terminals are active?

Both.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on May 04, 2019, 12:28:49 pm
What is max. current that you can measure? Is it above 500 mA or not?

I have a fluke 87V; I can measure up to 10A in high current range; 400mA in low current range.

In the calibration wizard, though, I can't get past step 2; I'm measuring only voltage across the resistor. I'm not running current through the meter.

(I'm not sure if I'm answering the question though?)

Delivered mentioned max. 30 W is in CV mode or it goes into CC mode?

That's in CC mode. I can measure 40V without load, but through the 2 Ohm resistor I'm limited to about 8V because of max power at 30W.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 04, 2019, 04:08:16 pm
What is max. current that you can measure? Is it above 500 mA or not?

I have a fluke 87V; I can measure up to 10A in high current range; 400mA in low current range.

In the calibration wizard, though, I can't get past step 2; I'm measuring only voltage across the resistor. I'm not running current through the meter.

(I'm not sure if I'm answering the question though?)

Ok, so you cannot pass calibration of current high range (0-5 A) or what?

Delivered mentioned max. 30 W is in CV mode or it goes into CC mode?

That's in CC mode. I can measure 40V without load, but through the 2 Ohm resistor I'm limited to about 8V because of max power at 30W.

You've limited voltage to 8 V? Did you try to set it e.g. to 11 V, current to 5 A, and power to max (i.e. 155 W) and check if it can deliver all 5 A? If it cannot deliver more then 30 W with 2R load does it mean that max. current is just about 3.87 A?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on May 05, 2019, 01:15:57 am
Ok, so you cannot pass calibration of current high range (0-5 A) or what?

I can't even pass the second step of the calibration wizard, which I think is at low current range. It says it is supposed to be 19.1V and what I read is 0.115V.

You've limited voltage to 8 V? Did you try to set it e.g. to 11 V, current to 5 A, and power to max (i.e. 155 W) and check if it can deliver all 5 A? If it cannot deliver more then 30 W with 2R load does it mean that max. current is just about 3.87 A?

When I set current to 5A and voltage to 40V across 2R (not during calibration), it said I was power-limited to 30W, but it is configured for the normal 155W max. My recollection is yes, that the PSU display showed 3.87A as you would expect. I didn't confirm current at all with the Fluke, only voltage.

I am currently using channel 1, uncoupled, to charge Li-ion cells to 4.2V, and it's successfully delivering 5A CC initially until it switches back to 4.2V CV.

My assumption is that I have damaged an additional component or several somewhere.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 05, 2019, 06:29:09 am
Ok, so you cannot pass calibration of current high range (0-5 A) or what?

I can't even pass the second step of the calibration wizard, which I think is at low current range. It says it is supposed to be 19.1V and what I read is 0.115V.

Put the calibration procedure aside for the moment. What you can measure with your Fluke if you set Vout to e.g. 20 V, without load connected?

You've limited voltage to 8 V? Did you try to set it e.g. to 11 V, current to 5 A, and power to max (i.e. 155 W) and check if it can deliver all 5 A? If it cannot deliver more then 30 W with 2R load does it mean that max. current is just about 3.87 A?

When I set current to 5A and voltage to 40V across 2R (not during calibration), it said I was power-limited to 30W, but it is configured for the normal 155W max. My recollection is yes, that the PSU display showed 3.87A as you would expect. I didn't confirm current at all with the Fluke, only voltage.

I am currently using channel 1, uncoupled, to charge Li-ion cells to 4.2V, and it's successfully delivering 5A CC initially until it switches back to 4.2V CV.

My assumption is that I have damaged an additional component or several somewhere.

Who said that power is limited to 30 W? Is that a message that pop up on the screen when you try to set voltage or current, or you can read that limitation on some of menu pages?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on May 05, 2019, 05:34:04 pm
Put the calibration procedure aside for the moment. What you can measure with your Fluke if you set Vout to e.g. 20 V, without load connected?

Without load connected, I can measure any voltage I set, up to the max 40V, on each channel. According the fluke, the channels are typically consistently about 0.004V different in no-load, which was what made me want to re-calibrate; I recall them being closer after my initial calibration.

Who said that power is limited to 30 W? Is that a message that pop up on the screen when you try to set voltage or current, or you can read that limitation on some of menu pages?

It's a message that pops up on the screen when I turn on a channel configured for (for example) 5A and 40V across a 2R load. When I look in channel configuration it still says 155W, so I don't know where the 30W limit is coming from.

(Thanks for continuing to help me here, sorry when I miss the point or am not clear!)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 05, 2019, 09:38:29 pm
Put the calibration procedure aside for the moment. What you can measure with your Fluke if you set Vout to e.g. 20 V, without load connected?

Without load connected, I can measure any voltage I set, up to the max 40V, on each channel. According the fluke, the channels are typically consistently about 0.004V different in no-load, which was what made me want to re-calibrate; I recall them being closer after my initial calibration.

Ok, so far so good. Without load you can set any output voltage. Therefore you should be able to pass voltage calibration (when load is not connected). For current calibration (with load connected), if you still cannot pass all steps, I'd like to suggest you to upgrade firmware to the latest version first.

Who said that power is limited to 30 W? Is that a message that pop up on the screen when you try to set voltage or current, or you can read that limitation on some of menu pages?

It's a message that pops up on the screen when I turn on a channel configured for (for example) 5A and 40V across a 2R load. When I look in channel configuration it still says 155W, so I don't know where the 30W limit is coming from.

(Thanks for continuing to help me here, sorry when I miss the point or am not clear!)

Please note that power limitation is not calculated in real time, but only when new voltage or current value is set. Since max. power per channel is limited with used AC/DC power module (LRS-150-48), that limitation is also put into firmware, i.e. you cannot set any U, I combination that will result in more then 155 W. Therefore, you cannot set 40 V and 5 A since that is 200 W. If you'd like to draw max. current with 2R load, set e.g. voltage that U * I product is equal or less then 155 W. For example, you can combine voltage from 10 V to max. 31 V with 5 A (31 * 5 = 155).
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on June 02, 2019, 07:20:35 pm
Ok, so far so good. Without load you can set any output voltage. Therefore you should be able to pass voltage calibration (when load is not connected). For current calibration (with load connected), if you still cannot pass all steps, I'd like to suggest you to upgrade firmware to the latest version first.

For the benefit of anyone else who has the same problem and searches: I had misunderstood or misremembered the calibration process and thought I was supposed to put the 2 Ohm load across for voltage as well as current measurements.

I recalibrated without problems once I calibrated voltage without the load connected, and then connected it to calibrate current.

 :-[

Please note that power limitation is not calculated in real time, but only when new voltage or current value is set.

You would think that as a software developer it would occur to me that garbage in, garbage out.

Thank you again.

On to a firmware upgrade! I note that at least some of the build instructions (Building instructions/Complete kit assembly instructions (150 dpi).pdf) show pictures indicating to connect the internal USB cable to the programming port, but the flashing instructions say to use the regular port as supported by the more general DIY assembly instructions (Building instructions/EEZ PSU H24005 building instructions.pdf). Just a note for the next person.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 02, 2019, 09:56:02 pm
On to a firmware upgrade! I note that at least some of the build instructions (Building instructions/Complete kit assembly instructions (150 dpi).pdf) show pictures indicating to connect the internal USB cable to the programming port, but the flashing instructions say to use the regular port as supported by the more general DIY assembly instructions (Building instructions/EEZ PSU H24005 building instructions.pdf). Just a note for the next person.

Yes, it's possible that in some of older building instruction docs the programming port is mentioned (and was valid in that time) instead of native, a change introduced in firmware v1.1. Therefore, all potential new builders should consult the latest version available on the project web pages: https://www.envox.hr/eez/bench-power-supply/building-instructions.html (https://www.envox.hr/eez/bench-power-supply/building-instructions.html)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: mcdanlj on June 03, 2019, 11:34:09 am
Yes, it's possible that in some of older building instruction docs the programming port is mentioned (and was valid in that time) instead of native, a change introduced in firmware v1.1.

 :-+ I'll move that cable now that I've flashed current firmware. Thanks for making that clear. Making that external port available as a native port makes a lot of sense!
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on September 24, 2019, 06:13:23 am
The EEZ H24005 became the first piece of certified open source hardware in Croatia (link (https://certification.oshwa.org/hr000001.html))

(http://i.imgur.com/0rHtyPd.png) (https://imgur.com/0rHtyPd)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: exe on September 24, 2019, 08:19:24 am
The EEZ H24005 became the first piece of certified open source hardware in Croatia

Congratulations!
Title: EEZ Studio
Post by: prasimix on October 29, 2019, 10:28:30 am
We are just released new Nightly build (https://github.com/eez-open/studio/releases/tag/nightly-build) of the EEZ Studio in which is returned back support for the H24005 project. It is inspired by an attempt to chinesify its GUI initiated by request that came from one Chinese university. That could be an interesting exercise to see if we can add such a huge character set since almost all Due flash memory is already consumed. Anyway, we could learn something that will be applicable on BB3 project where we have much more resources available.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: krho on October 29, 2019, 07:23:52 pm
Well at least on BB3 you can add QSPI flash and map it in memory mode so you could have images and fonts in QSPI.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on October 30, 2019, 02:07:36 pm
We already have SDRAM on the BB3's MCU module that is used for frame buffer and fonts. It's 8 MB in size, and probably can be doubled in the future if needed.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on January 01, 2020, 05:57:12 am
We are just released new Nightly build (https://github.com/eez-open/studio/releases/tag/nightly-build) of the EEZ Studio in which is returned back support for the H24005 project. It is inspired by an attempt to chinesify its GUI initiated by request that came from one Chinese university. That could be an interesting exercise to see if we can add such a huge character set since almost all Due flash memory is already consumed. Anyway, we could learn something that will be applicable on BB3 project where we have much more resources available.


I just tried the nightly build (0.96) of the EEZ Studio to adjust the colours used in psu.eez-project for H24005, but I must be doing something wrong. When I build, the C and H files are broken, I get a buch of "not defined" lines instead of the arrays and enums. actions.cpp and actions.h are ok, but gui_document.h gets this at the end:

Code: [Select]
    PAGE_ID_PROFILE_BASIC_INFO = 80,
    PAGE_ID_COUPLED_CHANNELS_DEFAULT_VIEW = 81,
    PAGE_ID_COUPLED_CHANNELS_HORIZONTAL_BAR_VIEW = 82,
    PAGE_ID_COUPLED_CHANNELS_VERTICAL_BAR_VIEW = 83,
    PAGE_ID_COUPLED_CHANNELS_YTBAR_VIEW = 84
};

undefined

undefined

undefined

undefined

}

gui_document.cpp becomes

Code: [Select]
/*
* EEZ PSU Firmware
* Copyright (C) 2017-present, Envox d.o.o.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.

* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with this program.  If not, see http://www.gnu.org/licenses.
*/

#include "psu.h"

#if OPTION_DISPLAY

#include "lcd.h"
#include "gui_document.h"

namespace eez {
namespace psu {
namespace gui {

undefined

undefined

undefined

#if DISPLAY_ORIENTATION == DISPLAY_ORIENTATION_PORTRAIT
undefined
#elif DISPLAY_ORIENTATION == DISPLAY_ORIENTATION_LANDSCAPE
undefined
#endif

}
}
} // namespace eez::psu::gui

Regards,

Josh
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on January 02, 2020, 05:55:50 pm
Hi Josh, you have to download the latest project from Master branch that latest EEZ Studio can work with multiple color themes.
The Build option will take into account colors from currently selected themes. What is missing in H24005 project is that styles has "hardcoded" colors instead of picking one from color palette. One thing that is not so intuitive is that you have to first define color in color palette and then drag&drop it into selected item or style.

(http://i.imgur.com/W9KyLpH.png) (https://imgur.com/W9KyLpH)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Helix70 on January 03, 2020, 12:03:16 am
Thanks, I will give that a try.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 06, 2020, 11:36:40 am
Regarding issue #143 (https://github.com/eez-open/psu-firmware/issues/143)
Is there any possibilities that at least the BATT command (MEASure:TEMPerature? BATT) will be implemented in the H24005 firmware?
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 27, 2020, 02:28:46 pm
Sorry for late response, of course that is possible. We're currently working on finalization of EEZ Studio 1.0 and Martin can add the requested command shortly after.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on May 27, 2020, 02:32:24 pm
What do you consider to be your most important tool and why?
My EEZ H24005 Power supply I bought it on CrowdSupply (https://www.crowdsupply.com/envox/eez-h24005) a few years ago, and it is the best power supply I have. Much better than the Rigol. I use it a lot. Every project needs a power supply.


https://www.elektormagazine.com/news/electronics-workspace-lab-equipment (https://www.elektormagazine.com/news/electronics-workspace-lab-equipment)

(https://www.elektormagazine.com/assets/upload/images/42/20200526201928_breed-workspace-a.png)
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Pjoms on May 27, 2020, 10:21:26 pm
We're currently working on finalization of EEZ Studio 1.0 and Martin can add the requested command shortly after.
Sounds great.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Burning Circuits on June 01, 2020, 09:42:14 am
I want to realize a breakout board based on the LTC3864 with only the low-power components.
The high power component (coil, mosfet, schottky, output capacitors, ecc.) would be external for testing.

But in the envox page, the mod told me that it could be a complete waste of time, because the slightest difference in the placement of the trace can make a huge difference.
There is no possibility to make a breakout board based on a buck IC without integrated switch?

Could be wast of time also if I realize the BB board also with the high power component and remote only the v-sense direct to the post regulator?

In the PC power supply, for example, I noticed that the DC-DC converters IC are mounted on a separated PCB.
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: prasimix on June 01, 2020, 05:15:16 pm
I did a similar thing when I tested the new switchers for power pre-regulator for the DCP405 module from the BB3 (https://www.eevblog.com/forum/projects/eez-h25005-a-possible-successor-of-eez-h24005-programmable-power-supply/) project. The complete pre-regulator is on its own PCB which goes to the main PCB where the remaining circuits are (i.e. bias pre-regulator, post-regulator, digital control, etc.). Switchers of interest were TPS54560 and LM5145.
Schematics and PCBs in Eagle are in attachment. Please note that due to limited space and just 2-layers both of them requires additional cooling for max. current (5 A).

(http://i.imgur.com/3gBe4Mx.jpg) (https://imgur.com/3gBe4Mx)

Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Burning Circuits on June 02, 2020, 02:52:51 pm
I did a similar thing when I tested the new switchers for power pre-regulator for the DCP405 module from the BB3 (https://www.eevblog.com/forum/projects/eez-h25005-a-possible-successor-of-eez-h24005-programmable-power-supply/) project. The complete pre-regulator is on its own PCB which goes to the main PCB where the remaining circuits are (i.e. bias pre-regulator, post-regulator, digital control, etc.). Switchers of interest were TPS54560 and LM5145.
Schematics and PCBs in Eagle are in attachment. Please note that due to limited space and just 2-layers both of them requires additional cooling for max. current (5 A).

Thank you very much
Title: Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
Post by: Dwaine on February 08, 2021, 08:26:32 am
Just following up with my own EEZ PSU H24005.   It's still going strong without any failure.   I use it all the time and it has not failed me once.\

Thanks for designing a great power supply.