Friday, 5 December 2014

Improved Current Load

Some Free Advice!

(Update - July 2019 - see the end of this post regards how not to blow this up!).

Back when I wrote about my failure to build a current limiting circuit for my Alarm Panel Interface, Zega was kind enough to offer me some advice.

Long story short, half the oscillations I was chasing in my limiting circuit were due to my quick and dirty Constant Current Load.  

Here's the Problem...

And (a part of) the Cause!

Take Two

So thanks to the tip from Zega, I was ready to punch out V2 which would not only *not* oscillate, but provide a display of the current it's sinking, and provide a method to set the current limit before sinking a circuit.

From the schematic, you'll see three sub-circuits.  The first and most obvious is the constant current load section, with R2 and C6 added to curb oscillations.

You will also notice the 'Set Monitor' an 'Sense Monitor' sub-circuits.  When S2 is in the 'Set' position, and as I have a 1 ohm sense resistor, the voltage is a sample of the set voltage from the adjustment pot, which happens to equal current in the load (i.e. 1V set = 1A limit, 0.1V set = 100mA limit etc).

Combine this with an eBay sourced voltage display, and I have a real quick and dirty easy method of displaying the target current limit.  Flick S2 to Sense, and this displays to voltage across the sense resistor, for a display of the actual current being drawn.  Sweet!

Panel Design

Front Panel Mockup 

One other painful aspect of my first load was that it was a bastard to set for low currents.

So to fix that I added S1 to give me a high / low range.  Simply switching a higher resistance in series with my adjustment pot achieves this goal.  Note that I've not attempted to increase the precision of the display - so piratically I'm limited to adjustments in multiples of 10mA (0.01 A) but that suits my purposes.

Note the high range was limited to 3A to give the MTP3055 half a chance of a long life, and the low range was limited to 500mA.

I'd also had a nice heatsink lying around that was more compact than the last one I used, which was practically the same width as my voltage meter, so the goal was to make this version fit this heatsink.

To achive this, I decided to use a separate front panel, a single layer PCB (so could mill it at work), reverse mount the pot and direct mount the switches.  Anything to avoid wiring :)

Assembly Tips

The board was milled at work, along with a front panel.  Time to solder.  The copper stock I had was a touch tarnished and would have been even more of a bastard to solder than normal, so a fix was needed.

Dirty PCB, Not the Good Kind
Rading the kids pencil cases, I found a good old 'ink' rubber, and attacked the board.  These are coarse enough to scrub the board clean, but not aggressive enough to rip up the races.

Spot the Difference.
As much as I love having the ability to mill my own boards at work, I hate soldering them.  It's just too easy to bridge from a pad to the ground pour, that these days I prefer any of the prorotype services out there over DIY.  But when you are soldering a board with lots of copper, I have a few tips to share.

1. Tin the Pads First


I solder the pads first, but this leaves a lump behind.  So then I clean up the pads with solder wick, giving a nice, flat and easy to solder surface to load your parts on.

Tinned Pads

2.  Check for Shorts

Before soldering, hold your board up to a lamp / torch and check the clearances.  If you look about middle left of the board, you'll see a short that I didn't see before this trick.   Yes I have had many a board cause me grief with hidden shorts like this before and looking for them like this saves a lot of time.  Trust me!

Inspect First!

Rest of the Build

Not Orthodox

Here you can see how I reverse mounted my pot, and only loaded one of my range resistors.  At this point in the build I changed my mind about ranging and moved away from my original Low / Med / High idea and went with a dual range only design.  I also did a dummy assembly of my display and found it fouled the op-amp, so a quick re-spin was required.

V3 PCB Layout

V3 Milled

So this update of the layout placed the parts so they would actually clear each other and stack, and also allowed for me to directly mount the switches.  I also went away from a wire wound 10% resistor to 10 1% resistors in parallel.  

Side View
I did have to use flying wires to connect the banana pugs to the bottom board, and I had to hunt around for the right M3 stand-offs, and ourgood friend JB weld was used to secure the MOSFET and the back of the POT to the heatsink (as well as the M3 standoffs).

Here's some shots of the assembled unit.


Side View

Power Connector

Ready to Test

Testing was straight forward - the High / Low ranges set test voltages as expected, the Set / Sense switch works and the meter even agrees with my multimeter!  Win.


Things You Do For Your Mates

While I was in build mode, I actually built two meters.  One was for my mate Nick - but rather than build his meter onto a heatsink, he prefers things in cases, so I made a different panel so he could mount his meter into a Hammond case (in the 145x1201 series).

Hammond Case Front Panel



Altium files can be found here.  If people are interested, I'll post a KiCAD version of the PCB... after I get asked for it :)

Update:  Where's the Kaboom?

In case no one noticed before, the following picture shows how I measure current being sunk by the load:

I use ten 10 ohm resistors in parallel to form a 1 ohm resistor, and the volts across this equates to the current drawn.  Easy maths.

However, each resistor is only a 1/4 watt resistor, and all up the ten resistors can dissipate 2.5 watts.  Now, with the high range set to 3A, the load will have to dissipate 3 watts, and that's bad.

What's worse - I did dumb dumb in a no dumb dumb area - have a look at how I adjust my set point:

I've limited the low range to 1 - 500mV (90k resistor in series with a 10k trim pot on the 5V rail) but on the high range I've not limited it to 3V but rather the full 5V.

So now, you can dial in a 5V setpoint.  But the output of the LM324 cannot swing to the power rail, but only 2 volts from it - for a maximum of 3V.  So, if you crank the load to sink maximum current, and feed a beefy supply, you will rapidly cook the sense resistors.

Just like I did when I was checking a spare laptop power supply I had lying around.  So, yeah, don't to that.

The fix is simple - put a 10k resistor in series with the 10k pot in the net labelled 'HIGH' above and this will limit the high range to 2.5A.  The sense resistors will still get toasty at this load, but should be adequate for short time hobby use.

No comments:

Post a Comment