|Product Performed to Expectations:||9|
|Specifications were sufficient to design with:||10|
|Demo Software was of good quality:||10|
|Product was easy to use:||10|
|Support materials were available:||10|
|The price to performance ratio was good:||10|
|TotalScore:||59 / 60|
This time I'm going to review for you the HMP4040, which is an extremely versatile programmable power supply, having 4 isolated channels that go from 0 to 32 V, 0 to 10 A, with 1 mV output voltage resolution and 1 mA or 0.2 mA (< 1 A) output current resolution, and a whopping 384 W total output power. This makes it the beefiest of the series and one of the best lab power supplies available on the market right now.
The models in the series come in two form factors, based on their current sourcing capabilities. The big ones, the HMP4030 and HMP4040, for which only the number of channels differ (3 vs 4), can source up to 10 A on each channel, simultaneously, giving you a total of 40 A if you connect them in parallel, while the ones in the smaller form factor can only do 5 A per channel, with the exception of the HMP2020, which can do 10 A on channel 1.
I had it for over a month and I've been using it every day, so I can get a good feel. After that, I started writing the review and performing more involved testing as I did that. What follows, is the result of several days of tests and generally messing around.
First thing I noticed when I got it from the UPS guy was how heavy it was (12.8 kg). This proved to be a challenge when it came to moving it around the bench, especially when the bench was very deep and it was stacked 60-70 cm from the edge of the bench, so I just found a good spot for it and didn't move it afterwards.
The packaging was good, but unfortunately, someone along the way opened the box and didn't put it together properly. I assume that's the UPS customs officers. After that, it was at the mercy of the guys loading and unloading the trucks. Long story short, its weight made it more vulnerable to the abuse that is shipping and it came with a bent case.
One of the legs was pushed in enough that it had very little stability. The problem was the bent sheet of metal that covers the chassis, so I had to open it up to fix it and make sure nothing on the inside is damaged and most importantly, that the cover isn't touching any of the circuitry.
I promptly proceeded to removing the back panel, which also requires removing the remote communication board (mine came with the LAN/USB board, which is the default option, but GPIB or RS-232/USB boards are also available). Great occasion to take a better look at it. Interestingly enough R&S says in their datasheet that you can build your own, just in case GPIB, LAN, USB, or RS232 doesn't work for you (hah!), but I haven't found the information on how to do that. Maybe that information can be provided on request.
I have to say... it looks much more busy than I thought it would. It looks like the brain of the operation is a STM32F407 MCU, which relies on an external USB transceiver (SMSC's USB3320) to reach high-speed operation (480 MB/s), since the on-chip transceiver (of the STM32) is only useful for full-speed USB. Similarly, for the LAN, it's relying on the Micrel (now Microchip) KSZ8721 Ethernet PHY. I assume this is done for latency considerations, because there's no way this power supply would need all that bandwidth.
On the other side of the board we find an Altera MAX II CPLD, which I can't tell what it does, and a Cypress SRAM chip that's right under the STM32 part.
When looking on the inside, we can see a clean and well thought out design. The 4 channels are constructed on separate boards, fed directly from the huge toroidal transformer, which is responsible for the bulk of the weight. All 4 channels are being served by the same tubular heat sink, that goes from one side to the other of the instrument and has a fan on one end.
Doesn't matter much, but as an interesting design choice, the heatsink is not really tubular, even tho at first sight it might seem like that, and it would also look like it's made out of untreated aluminium - also not true. In fact, it's a very long, heatsink with fins, all black (because black radiates heat best), and it simply has an untreated aluminium cover on top, to force the air to flow over the fins.
It all seems to be controlled by an Atmel (now Microchip) ATmega1280 MCU, that's hosted on the same board that holds the keypad. I assume this chip is simply dispatching commands to the channels, reading back their status and keeping track of the UI, while the regulation and voltage/current sensing is done on the channel boards themselves (which makes absolute sense, considering they're isolted).
A closer look at the channel boards, reveals that each channel is controlled by another Atmel part, the ATmega64, but to which extent, I am not sure. I couldn't identify the other ICs around it, so from here on, I can only guess. My assumption is that this MCU is being used to read back the voltage and current, as it has a 10-bit ADC. That's not enough for the resolution the supply is providing, but it can be oversampled and additional bits can be obtained. Interestingly, this MCU also sports a 16-bit PWM controller, which would allow it to set the voltage in 1 mV steps from 0 to 32 V.
Ideally, you would want to implement the control loop inside the MCU, but that's not always attainable as it puts higher demands on the output resolution of the controller or requires it to have a slower response (so it can obtain the necessary extra resolution by low pass filtering a lower resolution signal). Thing is... the MCU has enough circuitry around it, that the control loop could be implemented in that section alone (without the MCU), and I'm going to guess that is what is going on there, because it would go hand in hand with the fact that the PWM controller can set the output to any value from 0 to 32 V. So the ICs I couldn't identify are probably opamps and they make up some sort of a PID controller, which gets its set point from the PWM of the MCU.
If my guess is correct, then the way the supply will behave, will be a direct result of how well this controller is tuned (and we'll take a look at that).
On the back of the channel board, we have the part of the circuit that deals with the high currents: rectifiers, output transistors and support circuitry.
After I was done nosing around, I got back to the bent leg. The problem was only with the sheet metal, so I covered it with paper and put it in the vise. It's not like new, but it got it back on its feet.
The interface is almost perfect. Having all that real estate, meant that they could have all the buttons they wanted to have, and it works great. You can either enter values with the keyboard, or dial them in using the knob. It really doesn't get in your way and is very intuitive.
That knob is pushable and it's also useful for navigating the menu and confirming options.
I was fooled by the LCD at first, thinking it's a segment based LCD, but it's actually graphical. No advanced features are present however (like any sort of graphs), but the menu is graphical and that helps. I would have hoped that different layouts would be available for the display, to maybe have more information available at the same time, but this works too. When the output is enabled, you see the sensed voltage and currents, and when it's off, you see the set points. The viewing angle is not great, maybe 100 degrees (50 degrees on each side).
It's very difficult to paint a correct picture in words, regarding how the interface works, so I made a little video where I mess around with the settings. As you'll see, it's very straight forward and allows you to quickly set everything up.
Given that it has a 160 W maximum output power per channel, when a value is entered, that would result in a higher power than that, it adjust the other one so 160 W won't be reached. For example, if the current is set to 10 A and you try to set 30 V, it will accept the 30 V, but will drop the current limit to 5.3 A.
The menu system is very basic and it works fine.
If you're not used to their power supplies (and I wasn't), you'll find it weird that the sockets are in this order (negative, then positive), but I was able to get used to it. None of my power supplies have them like that so it was very distracting at first.
My biggest issue with this power supply is that it has sockets, not binding posts. In my opinion this is wrong, on this kind of power supply, for two reasons:
1) You can't easily put channels in series or parallel with just a piece of wire. This can obviously be done on the back of the instrument, but because it's so heavy, it's a real chore to do that, and frankly, I wouldn't have bothered even if it was easy to move. Each time I had to do that, I just hacked something on the front.
2) Since you can't just connect a wire on the front panel, you'll have to stick to banana plugs and they only work fine up to a couple of amps, after that, they can get extremely hot, because the contact they make is not sufficiently good and they start dissipating a lot of the power. Good cables are easy enough to come by, but good banana plugs not so much. This also makes it difficult to connect high current cables like the ones in the photo below.
Luckily the banana sockets are mounted on their own board and they appear to be easy to replace. I think I'm going to find some binding posts that will fit there and swap them. This should give me easy and safe access to the 10 A.
Like expected, it works with SCPI commands, but it's not VXI compatible. The protocol used seems to be a plain telnet-like protocol, as opposed to VXI, which is RPC based. I have no opinion about this either way, because I was able to interface with it just fine and it does what it's supposed to do. The only downside is that it's not discoverable, so you have to know the IP and port, but you can easily retrieve that from the system menu (or just assign it a static IP).
It also comes with a basic web interface, that can take screenshots and run SCPI commands on the instrument. The screenshot function doesn't take screenshots of the menu items. It's fairly safe to say that all this is running on the small LAN/USB board on the back.
The commands are very straight forward, but you have to keep in mind that each channel presents itself as a different instrument, so in order to work with one of the channels, you first have to select it.
INST OUT1 // Selects channel 1. VOLT 1 // Sets voltage to 1 V. CURR 1 // Sets current to 1 A. OUTP 1 // Set output to be on for this channel. INST OUT2 // Selects channel 2. OUTP 0 // Set output to be off for this channel. OUTP:GEN 1 // Enable outputs for the channels that are supposed to be on.
The instrument has the ability to produce arbitrary waveforms. What this means is that you can set a maximum of 128 points points through which it should cycle. Each point consists of a set voltage and current, and a time period (10 ms resolution) for which the point should be active. There's also a repetition count, which can be set to 0 (infinite) or to an arbitrary number.
These waveforms start automatically when you turn on the channel they are assigned to.
Definitely one of its best features, as it allows to test board which require sequential powering and having these arbitrary waveforms allows you to do just that, by having a repeat count of 1 (the channel doesn't turn off when the waveform is done).
The output capacitance on this one is 330 uF, which is fairly light weight for such a high power power supply. Ideally, you want just enough capacitance on the output, such that when the load changes a lot, you can delay the level change for enough time that the control circuit picks it up and takes the appropriate action (pumps more current or reduces the current flow). This cap basically opposes the change in voltage, and because of that the bigger it is, the better the ripple specs, but at the same time, the worse of a lab power supply you get, because it has a higher potential to fry your DUT.
In this case, the value is reasonable and I expect to see that reflected in the transient response plots.
The ripple specifications are < 1.5 mV (RMS) and < 1 mA (RMS), and from what I measured it meets them just fine. There doesn't seem to be much of a difference between the 4 channels and that's to be expected, considering they're clones of each other. There were small variations across all channels tho, but I assume that's because of component tolerances.
What struck me as odd was that the ripple was present regardless if the output was on or off, but it did seem to change with increasing voltage (only when the output was on - I expect they set the voltage to 0 when it's off, in addition to disconnecting the output). The reason I find this particularly odd, is because it has a relay on the output, which I thought would completely disconnect it, or at least disconnect the power to the output cap. I measured the sockets, with the output off, and found out that it disconnects the 330 uF cap, but a 4 uF capacitance remains. Didn't investigate further, because it would have meant taking it apart again and I've already been through that more times than I want to admit.
|5 V, output off||5 V, output on|
|20 V, no load||30 V, no load|
As you can see, ripple doesn't change much between output on and off states, until we get to higher voltages, where the low frequency component increases in amplitude. Either way, it appears to be in spec.
|1.5 V, 5 A|
1.5 V, 10A
|10 V, 5 A||10 V, 10 A|
The high frequency ripple seems to get denser (frequency doesn't change) as the load current increases. Still stays in the specified 1.5 mV.
I'm not particularly happy about the frequency spread of the ripple. It's concentrated between 2.5 and 8 MHz, which might pose a problem for people working with low frequency RF (for example HAM related stuff, as it covers the 80, 60 and 40 meter bands).
For sure, one the key aspects of this power supply is the 1 mV resolution up to 32 V. On the current range, it has 0.2 mA resolution up to 1 A and 1 mA resolution up to 10 A. The readback has a 1 mV resolution across the range and 0.1 mA resolution up to 1 A and 1 mA for the rest of the range.
The following measurements were made on an Agilent 34410A 6 1/2 meter, directly at the banana sockets.
The output voltage seems to lower by ~5 mV at 32 V, ~3 mV at 20 V, ~ 1 mV at 10 V, and about 0.5 mV lower than that (0.4 mV at 1 mV set).
When used without the sense wires, the output voltage seems to drop by 25 mV per ampere, but I don't know how much this is contributed by my banana adapters making improper contact, and how much from the internal circuitry as I am unable to connect both the load cables and the DMM cables directly (one has to go into the other).
With the sense wires, the voltage is the same with and without a load.
I was only able to test the accuracy to 2.5 A without blowing the fuse on my meter. What I found was that it has an accuracy of 0.1 mA up to 1 A (when the readback switches from mA to A) and 1 mA from 1A to 2.5 A.
This is excellent. I was surprised to see it following the meter so closely.
Another important aspect of a power supply is how it ramps up & down. As a rule of thumb, you don't want overshooting and you want it to ramp up as fast as possible, which are two things that don't go hand in hand, in fact, they work against each other.
So far, this is the best ramp up behaviour that I have seen. It's very fast and with virtually no overshoot. It appears to hold its shape with a constant resistance load too.
|5 V, no load||10 V, no load||32 V, no load|
The ramp down is just the a capacitor discharging. No surprises there.
|5 V, no load||10 V, no load||32 V, no load|
When a small current limit is set, it gets kicked in into CC mode during ramp up, because of the output capacitor. Once the cap is charged, it switches back to CV mode. This is to be expected.
Let's now take a look at how it ramps up, into a constant current condition.
|10 V, 500 mA, into 10 Ohm||30 V, 500 mA, into 10 Ohm|
Ok... there's quite a bit of overshoot there. The farther the set voltage is from the CC voltage, the higher the overshoot. If we compare the no-load ramp up trace with the one where it gets kicked into CC mode, we can see that it's following the no-load path precisely, as if the CC circuitry wasn't clued in yet, and then it gradually gets to the point where it's supposed to be. This looks a lot like an integrator windup issue and it's probably a result of implementing the controller with analog circuitry, since it's not a trivial problem to tackle, while if it was done in software, it would have been easy to fix.
|10 V, 500 mA, into 10 Ohm, comparison with no-load ramp up||30 V, 500 mA, into 10 Ohm, comparison with no-load ramp up|
For the next test, I put it in CC mode and then removed the load, to see how it recovers.
|recovery from CC mode, 100 mA CC||recovery from CC mode, 100 mA CC|
There's a bit of overshoot at higher currents, but it doesn't seem to get worse than that with increasing current.
In this case, with the supply in constant voltage mode, I connected and disconnected a 1 Ohm load and observed the recovery time.
|1 Ohm in||1 Ohm out|
Looks good, recovers fast from both events, with no oscillations or other surprises.
This is a good power supply. Lots of power in a compact format, very good construction, reasonably clean output and very accurate. Should serve well both in a lab and in a production environment.
For the time I had it, I didn't notice anything weird or out of place, with the exception of the banana sockets, which I wish they were binding posts. It has been overall a pleasant experience to use it and I only opened the manual to look up the specifications.
If you have any questions about it, feel free to ask me in the comments section.