Dangerous Prototypes

In development => Project logs => Topic started by: gelbanana on December 26, 2012, 03:58:31 am

Title: 4 Channel electronic load
Post by: gelbanana on December 26, 2012, 03:58:31 am
Here's my attempt to build a 4 ch electronic load. I'll be using IRFP240 Nch mosfet. Each could dissipate 150w of heat @ 25°c.
Specs: Should be able to sink at least 5A per ch. Able to combine all 4 ch to aggregate into a single high current ch.
[attachment=2]

Testing current measurement with an INA169 high side shunt sensor. I might use the ACS712-20A hall effect sensor instead.
[attachment=1]

Li-ion batts makes great power source. They can easily source high current. These are sanyo cells I've salvaged from a lenovo laptop battery pack.
Test @ 12v,5A
Ambient temp 28°c
Case temp 85°c
Heatsink temp 40°c
[attachment=0]

Task left
- Op amp loop
- Sort out the current sense
- Get a DAC for current set
- Get a microcontroller
- Get some lcd for display
- Write the code (ughh)
- User interface
- Somesort of data logging sd card perhaps?
Title: Re: 4 Channel electronic load
Post by: Alex555 on December 26, 2012, 04:05:44 am
This is very cool, I have been wanting to make one of these for a while. Do you have any schematics available?
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 26, 2012, 05:37:57 am
No finalized schematics yet. But it's based from Dave Jones design.
Currently, using paper cad, still mix and match some of the parts.
Title: Re: 4 Channel electronic load
Post by: Alex555 on December 26, 2012, 05:48:08 am
I have some IRF3205 n channel mosfets. The datasheet says they are good for 80 Amps continuous. Would these be compatible?
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 26, 2012, 07:38:13 am
That is when the fet is fully on, or in the fully saturation region.
What we are interested is when the fet is beginning to turn on/conducting. So you should check how much power it can dissipate since it is now acting as a resistor.
Also take note of the derating factor and the Vgs max
Title: Re: 4 Channel electronic load
Post by: Alex555 on December 26, 2012, 09:33:06 pm
The datasheet said 20 volts for vgs. It can dissipate 200 watts, with proper heat sinking.  200W/5A=40V, so 200 watts should be more than enough for a twenty volt supply at 5 amps?
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 27, 2012, 07:23:03 am
That's 200 watts @ 25°c at the Tj. I pass 12v5A the case shoots up to 100°c under a minute even with that heatsink due to thermal resistance. Take note that the Pd will have a negative coefficient with temperature.
So it's a good idea to leave some headroom. 20v 5A = 100w that should be ok.
Title: Re: 4 Channel electronic load
Post by: Sleepwalker3 on December 27, 2012, 09:09:58 am
If I get a chance I might take some photos of my setup with passes 20A+ and has been in service for over 10 years. It's somewhat more elaborate in construction that this, but doesn't bother with things like Micros, etc. it's purely analogue.
Title: Re: 4 Channel electronic load
Post by: Sleepwalker3 on December 27, 2012, 03:33:42 pm
Don't want to poor cold water on your idea, but isn't this more or less just a variation of the DP electronic load? If you wanted variations or extra features, you could probably start with DP's code and work from there, assuming you used a compatible processor.
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 27, 2012, 04:50:39 pm
[quote author="Sleepwalker3"]Don't want to poor cold water on your idea, but isn't this more or less just a variation of the DP electronic load? If you wanted variations or extra features, you could probably start with DP's code and work from there, assuming you used a compatible processor.[/quote]
At first I thought of just using 4 pots. It makes the design much more simpler. But I want to try using a uC so I can learn how to write the codes.
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 27, 2012, 04:59:05 pm
I've build a little op amp module
[attachment=4]

These are the values I got after some testing.
[attachment=1]

[attachment=3]

I've drew up a diagram of the system. This is what I had in mind currently.
[attachment=2]

Did a quick pcb layout, 5cmx5cm. It have a lot of empty space left. Should I add the op amps here as well?
[attachment=0]
Title: Re: 4 Channel electronic load
Post by: matseng on December 27, 2012, 05:06:02 pm
No trimmers, so you'll do the calibration in the firmware?

It's a bit hard to see on the pcb layout, but do you filter the DAC power supplies locally?  And do you have a filtercap on the output of the DAC to reduce the noise there?
Title: Re: 4 Channel electronic load
Post by: gelbanana on December 28, 2012, 04:42:22 am
[quote author="matseng"]No trimmers, so you'll do the calibration in the firmware?

It's a bit hard to see on the pcb layout, but do you filter the DAC power supplies locally?  And do you have a filtercap on the output of the DAC to reduce the noise there?[/quote]

Haven't put much thought on software cal. Is it hard to implement?
I did but a 0.1uf bypass cap for each IC. There's a filter cap on each DAC output.
Also, is it a good idea to add a filter cap on the board supply line?
Title: Re: 4 Channel electronic load
Post by: matseng on December 28, 2012, 05:51:23 am
[quote author="gelbanana"]Haven't put much thought on software cal. Is it hard to implement?[/quote]

Nah, it's rather simple to do.  Unless you want an exact unit match between the DAC value and the amperage - like value 5 to the dac gives 50 mA and dac=1000 gives 10Amp - so you can step in precise 10mA steps with a 10 bit dac.

If you calibrate with firmware your steps will become not so nice and round.  If dac=100 should give 1 Amp output but due to component tolerances it actually output 1.05 Amp instead you need to divide the dac value by 1.05 giving 95.23 (rounded to 95) and output that to the dac instead. 

This will make the step size more or less 10mA per step on average, but not exact.  By having a DAC with more bits than 10 you can get the steps closer and closer of the desired 10mA/step but you can never there exactly even with a 24 bit DAC.  With a 10 bit dac and a trimmer pot you can adjust the analogue output to give an "exact" step of 10 mA.

But unless you have precision meters to measure the current it really doesn't matter.  I'd probably go for a 12 (or possibly 14 bit dac) and do firmware calibration and be happy with it.

(Dividing by 1.05 can be done without floating point by multiplying by 100 and then dividing by 105. )
Title: Re: 4 Channel electronic load
Post by: gelbanana on January 12, 2013, 07:13:59 pm
Finally I've got some more pictures.
The original case was from a 3u rackmounted building automation gear which my dad gotten from his work place. What I like about the case is that it can be completely dismantled.
I've replaced the sides, front and rear panels with custom cut acrylic. I've also reduce the height to 2u.

[attachment=3]


The front panel is currently temporary as I've to get it operational for the time being. Using scarp acrylic exposes the messy cables. Currently, it uses pots for Iset on the 4 channels. No voltage or current sensors at the moment, we're flying blind here.

[attachment=4]

The aluminum profile uses standard M3 machine screws to secure the front panels. This allows on the fly panel customization. The vacant spot there is where the 20x4 lcd will go. The pots will be replaced with a 4x4 matrix keypad.
The opamp board is freely moving around. I cant find anything to secure it to.(Disaster waiting to happend.)

[attachment=0]


The alu plate was salvaged from the original unit's power supply. I've build my own custom power supply. The psu rectifies and filters 12vac from the transformer and step down to 3.3v 5v and 9v rails. It the fan headers are connected to a mosfet which will be speed controlled by PWM via the microcontroller.
I didn't have threadlocker at the current time. So I used Uhu glue on the screw threads instead.

[attachment=1]


Did some cable management. Currently the fans are secured by poster putty aka blutack.

[attachment=2]

Finally, passed the smoke test.
[attachment=5]

That's all for now. Will post more pics if i get the chance to take them.
Title: Re: 4 Channel electronic load
Post by: Alex555 on January 14, 2013, 05:11:11 am
I am not sure if you have this or not, but it might be worth while to add a switch to make the channels all be controlled off of one pot.
Title: Re: 4 Channel electronic load
Post by: gelbanana on January 14, 2013, 05:04:28 pm
[quote author="Alex555"]I am not sure if you have this or not, but it might be worth while to add a switch to make the channels all be controlled off of one pot.[/quote]
I guess not. The pot solution is as I have mentioned a temporary solution. The final phase will controlled by DAC from the uC. I was thinking of adding a 'combine mode' option instead of setting at each individual channels.

Other than that. I was thinking how im gonna implement the code.
I got 3 functions/methods; Set current, Analog read voltage n current(8ch), read temperature.
Button interrupt driven menu & keypad.
Should i go the subroutine by subroutine or by timer driven interrupt method ?
Title: Re: 4 Channel electronic load
Post by: JasonRain on March 09, 2013, 10:23:21 am
No finalized schematics yet. But it's based from Dave Jones design.

_________________
runescape gold (http://http://www.saferunescapegold.com/)|wow gold (http://http://www.mmoggg.de/)|buy Runescape Gold (http://http://www.saferunescapegold.com/)|cheap RS Gold (http://http://www.saferunescapegold.com/)

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01332159432session_write_close ( )...(null):0
20.01362291024ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01362291800Database_MySQL->query( ).../DatabaseHandler.php:119
40.05762430536Database_MySQL->error( ).../Db-mysql.class.php:273