So I present the third in what is starting to feel like a long line of Agilent PSU repairs, but before you read on you should know that I have now depleted my collection of broken Agilent E36xx series power supplies so I will need to find another subject to blog about next time! That being said, even though I have blogged about two other PSU;s from the same family, I thought it would be worth videoing the repair exercise and at the same time try to demonstrate how I go about identifying and resolving a fault on this kind of circuit. The E3646A is a different model to the other two PSU’s I have repaired and blogged about – this one is a dual output 0-8v @ 5A / 0-20V @ 2.5A for each channel and the internals are different so I hope this will be of some use for anyone who may need to repair one of these.
Over a year ago now I repaired a HP/Agilent E3631A triple output PSU and have been using it very often ever since. Recently I bought an Agilent E3634A PSU which is a single output but high power supply, I bought it in non-working condition for not very much money (about $90). It turned out to be a non-trivial task, with physically burned out components and a difficult to track down and understand secondary problem. The components to repair the supply cost less that $20 and the repair exercise was challenging and educational so well worth the effort.
I decided that for this repair I would try doing a video teardown and repair which I have not done before. The repair took quite a few hours in the end, although I carried out the repair over about 4 weeks elapsed.
This is a really useful addition to my work bench, the high power nature of this supply makes it very useful for working in low voltage systems like audio amplifiers communications equipment and automotive applications that have high power requirements.
It took a while to decide on the final form factor, I wanted to consider cost and ease of mechanical construction before committing to a layout for the PCB. My original design goal was to make a completely self-contained module for a single fully isolated channel of programmable DC power and my thinking was extending to thermal management. My original idea was to rely on the module to be thermally fixed to a heat sink which could be decided upon by the builder. However, heat sinks are expensive usually and construction would depend on what heat sinks you may have to hand so I thought it would be nice to make this more flexible and use components that are easy to find and obtain for very little money. As a general rule, if you can buy something off the shelf this is always going to be cheaper than making your own, and if you can use off the shelf components that are mass-produced then all the better. I got to thinking about the heat sink I needed – force air cooled and able to handle 100 watts of dissipation in a small space that is mass produced, with a built in fan that can be controlled for quiet and efficient operation, is commonly and easily available, is of standard physical construction, good quality and cheap to buy – enter the common PC CPU Cooler, which meets all of those criteria.
So thats what I have done, I have built the PSU module into a form factor that easily accommodates the CPU cooler and still remains 100% self-contained. The built module with all required power components, mechanical construction with heat sink and cooling fan measures only 150mm wide by 80mm deep by 90mm tall. All you need to make it work is a mains transformer, four 4mm banana output jacks and something to control it via a serial interface.
I have updated the article to include the schematics which I had previously omitted.
The PCB is made with 2oz Copper to handle current and provide better thermal mass. The high power path is run 5mm thick tracks (minimum) and run on both sides of the board. Where possible the top and bottom tracks are joined at the through-hole pads for the power components which is everywhere except at the current shunt resistor. For this I have many small via’s connecting the top and bottom traces to handle current and thermal bonding.
The BODGE WIRES
In laying out the PCB I forgot to pay attention to the star earthing I had set out in the previous post. The impedance of the ground path makes a big difference when you are looking at the lower 1mV of the range. Using DipTrace I had to use a ZERO ohm resistor to properly segregate GND and GNDANALOG nets, but I physically routed to the GND side of that resistor to the wrong point. I done a pretty similar thing on the low-side current sense connection. As a result there are two bodge wires on the board (see photo below). The first is the GNDANALOG to GND connection – Instead of installing R79 (which is ZERO ohm) I have taken a wire from the bottom pad down to the low-side of the current sense resistor array. The second is slightly more difficult to do, I had to cut the track from the top pad of R82 and then again take a wire down to the low-side of the current shunt resistor.
In order to manage the thermal properties of the module, the firmware simply uses the temperature measurement of the heat sink to set the fan speed calculated on the following basis: –
below 25 degrees centigrade – FAN is idle at its lowest speed (0% PWM)
25 to 50 degrees centigrade – FAN is driven with variable PWM 25 degrees = 1%, 50 degrees = 100%, which is a rate of 4% per degree of temperature rise
more than 50 degrees centigrade – FAN is driven at 100%
Controlling a 4-wire fan is pretty easy, the specification developed by Intel describes the electrical interface and requirements for both fan control as well as fan manufacturers. I have added the Intel 4-Wire PWM Controlled Fan Spec as a download on this page for convenience. The fan I tested and used in the video above runs at about 1500 RPM to 3400 RPM with a 0-100% duty cycle on the PWM control signal. The taco output is open collector and provides 2 pulses per revolution.
Next time I am going to *try to* characterize the PSU. I don’t have much experience doing this which is why I say I am going to *try* – none the less I should be able to pull together some basic specs and test conditions.
Following that, I am going to design and make a front panel controller for the PSU. Although I am making this specifically for this project I am thinking about making this more generic so it can be used in other systems and/or test equipment. The basic goal is to create a single PCB front panel with a 4×20 VFD display, some buttons and controls, a micro controller (PIC32 or maybe ARM) with RS232, USB, Ethernet (and possibly a GPIB interface module) with 3-4 independent TTL level internal serial interface channels (to connect to PSU modules for example). Don’t know, all just thoughts at the moment, we shall see…
Here is the latest Revison 0.4 schematic which represents the power supply design as described in this blog and videos with the latest round of prototyping and testing.
The headline changes from last time are as follows: –
I have added -Ve supply using a simple charge pump and a PWM drive from the micro controller.
I have added a difference amplifier to correctly handle remote voltage sensing for both PSU voltage control and output voltage read back
I have modified the design to use low-side current sensing instead of high-side current sensing. In doing so I have dropped the use of the high side current sense amp MAX4080 and made use of a spare op amp element instead. This saves a $3 part and replaces it with half of a $2 part
Removed dedicated buffer amp previously added to drive the ADC, the new design removes the need for this because the voltage and current monitoring are better buffered now. This saves another $2 part.
Moved to a faster micro controller PIC18F46K22 which has more memory, more PWM outputs and more I/O pins. No real reason apart from I needed a second PWM output. The firmware is pretty much compatible.
Here is a video overview of the design changes and latest prototype hardware and test setup as well as some basic tests showing load regulation and programmable voltage accuracy benchmarked against a calibrated HP 34401A bench meter.
NOTE: I used a different mic setup and the sound is really poppy and crappy! My apologies…..My dustbin now has a new microphone in it!
Well It’s been over three months since my last post so for those of you that have been following the project I am sorry to have kept you waiting. Work events have taken over recently; I have been really busy and as a result have not had much time to dedicate to the project. I have not been idle though, in those three months I designed and had made two revisions of PCB, have built them up and done lots of testing and as a result now have a clear view of an end design save a for a couple of minor things that still need to be done.
First of all, here is the latest schematic which represents the power supply design as described in this blog and videos with what I believe are the modifications required from the latest round of prototyping and testing.
Here is a video overview of the prototype hardware and test setup as well as some basic tests including load regulation and programmable voltage accuracy benchmarked against a calibrated HP 34401A bench meter.
Here is a video using the software to demonstrate basic set volts, output read-back tests and a benchmark against HP 34401A
I still have the following outstanding issues I want to address before committing effort to laying out a final PCB.
The “Output Off” circuit needs to be verified to resolve the glitch shown in the video when turning the PSU output on
Verify remote sense circuit and approach
Create and test a charge pump to generate a negative supply with a simple regulator, and specifically making sure the diode switching noise does not affect the ADC’s accuracy or stability
Create a minimum load constant current source for the regulator, and deal with measuring output current and compensating for the current source
There is currently no output protection of any kind, I need to deal with reverse polarity input (connect a battery the wrong way around to the input terminals), power feedback (connect a battery the right way around and power down the PSU), connect mains AC voltage into the output terminals. Apart from passing thoughts I have not looked at circuit protection at all.
Verify the accuracy of the current limiting and ADC read-back
In Part 11 I will make further refinements to the design addressing the outstanding items and get a board designed and ordered ready for Part 12 (the final part I hope).
Please do comment and like the videos if you find them interesting. Thank you for watching.
After a fairly disappointing start with the 12-bit DAC from Microchip I have chnaged the DAC to a 16-bit resolution part LTC2602 from Linear Technology. The goal of getting a resolution that is as good as the HP3631A Power Supply means getting a programmable resolution of 1mv for the low voltage range and 10mv for the high voltage range. The circuit below achieves these goals with a high degree of accuracy and no missing codes throughout the range. The design also exceeds the dynamic voltage and current range of the HP shown in the table below. Furthermore I made a statement that I would aim to not only achieve the same resolution but I would also attempt to improve on it by a factor of 10, that means getting a resolution of 100µV on the low voltage range and 1mV on the high voltage range. The 16 bit resolution of the DAC was not quite enough to achieve this, there were missing codes so I used the DAC modulation technique I used for the 12-bit DAC and extended the 16-bit DAC to 18 bits of resolution which allowed me to achieve the ten-fold programming resolution with no missing codes across the entire range – marvellous 🙂
Here is a brief video overview of the modified hardware and test environment
And here is a video demonstration of programming, measuring and the achieved resolution.
I focused some more on noise measurements and found that modulating the output of the 16-bit DAC created no detectable ripple – at least with the test equipment that I have. In fact the noise I am measuring swamps any ripple that is being created now. Interestingly, the digital signals from the micro controller driving the DAC (the SPI bus) is now creating more noise than the ripple effect of switching between two adjacent codes. Because the digital switching does impose some noise, there is a compromise to be had – you can get higher resolution but suffer some additional noise. For low-noise applications you can forego the additional resolution and get better signal to noise performance. Thankfully this can be controlled entirely in software so can be easily made a programmable option which is what I will do.
Of course this is just the control circuitry, I have no idea how the noise or accuracy will be represented through the linear regulator part of the design in practice – we shall see.
I have broken the schematic into several pages to make it easer to read.
I am happy that the control circuitry and the firmware is now good enough for a Version 1 baseline – this is what we have now. I have increased each range to show the possible extent of each gain option. In the final design the power and voltage ranges required and programmed in the UI/front panel will dictate the actual upper limits of each range, but this table shows the extent of what is possible.
In Part 10 I am going to create the first PCB for the project – Whoo-hoo. However, instead of designing the entire PSU printed circuit board at this stage I am going to focus on the digital control circuitry with the ADC, DAC and Analog switch only. I am going to create a small PCB as a module with a simple 0.1″ pin header (Arduino shield style) with the ADC, DAC, Analog switch, PIC micro controller and power supply parts so I can do the first cut of a board layout to make sure the grounding and noise issues are addressed. It’s not my intention to make this part of the final PSU module but it will be a useful module for prototyping other systems and of course I will not waste too much time if I get it totally wrong :/