Control of high current array.

Hey guys, thanks in advance for taking a look.

My project is:

  • Control with Arduino
  • A central control for up to 40 fish tank heating elements.
  • The whole system will run on 12V (8A nominal, 12A max).
  • It will monitor the temperature (using DS18B20?)

The idea is that once they're up to temperature, they need very little power to keep them at temperature, so I was thinking of having 1 Ohm heating elements that are "cycled" on and off, and if needed one element can receive constant 12V/12A/144W, but that most of the time they would each receive 2.4W (1/40th of the 96W nominal), but using duty cycle and feedback from the DS18B20 to send the heat where its needed.

Perhaps its because I was previously assembling a tesla coil, but the same method for power control occurred to me: Have one circuit that creates discrete "packets" of current to be "sent" and then another circuit that is in charge of switching the power to the right pair of wires exactly when current drops to zero (during the switch).

Also I'm wondering about the layout of wires, sketched up a few things, basically thinking of having a series of 5 "north-south" wires and 8 "east-west" wires for the main power and just "joining" them (with the heating element) where they intersect, then effectively you address the element you want by connecting the right north-south and east-west wire pair?

I'll continue to scour the forums for similar ideas, but so far I have turned up very little. Even pointers in the right direction would really be appreciated!

Cheers

Yes, that's multiplexing and it works for heating elements just as for LEDs.

1 ohm is very low and will mean you'll need thicker wiring and get more losses
in the cabling.

With an NxM multiplex array you can scan the rows setting all the relevant columns
on at once, so that the max duty cycle is 1/N.

If you use 5x8, then you can use 20W elements at 0 -- 20% duty cycle, ie 0 to 4W,
with element resistance 7 ohm or so.

The columns could be 8 logic-level n-channel MOSFETs driven from a '595 shift
register, the rows 5 p-channel MOSFETs each driven with an NPN level shifting
transistor. The n-channel's have to handle about 2A, the p-channel's 15A.

That suggests n-channel Ron <= 30 milliohm (no heatsink), p-channel's <= 6 milliohm and
mounted on heatsinks.

Thank you for your assistance Mark,

Although with AWG16 cable I should be under 5% losses, having multiple elements on at one time does make it even more efficient.

Do you have any thoughts on what MOSFETs I should be looking to use?

Also, I have an equally difficult problem of reading from 40 digital temperature sensors and using that data to control the heating elements - any tips on how to connect those sensors?

One's that meet those specifications. There are 10,000's MOSFETs on the market,
I don't know what supplier(s) you use.

The p-channel's are going to be trickier to find of course - you can allow more Ron
if you provide more heatsinking.

First I'd find out what values of heater resistance are available though, that's a
prerequisite for any decision really.

Well for now I have purchased resistance wire that is 14 Ohms per meter, and I was intending to use 7cm lengths in order to achieve 1 Ohm resistance (to get enough power per 1/40th of a second), but perhaps if it turns out to be practical to address entire columns then I will get higher resistance wire or use longer lengths to be around 7 Ohms as suggested.

In either case, having searched around for Multiplexers to implement both the sensor readout and the power control, I have found "74hc4067" and "CD74HC4067" which only do 16 channels but seem the most promising for getting data in and out. Would I need 3 of them, or perhaps 6 of them, and what is the best way to connect them to my columns/rows? Since you have pointed out that this project is all about multiplexing, I have also posted a rephrased version of my question there and started searching those forums - no luck so far!

Bare resistance wire? How are you going to seal that?

Well this is just the prototype, I'm quite happy to swap it for another kind of wire, but it is easy enough to coat it in thermally conductive epoxy, some heat shrink wrap, or both.

In any case, I'm far more worried about how to get data in and power out, do you know much about how to go about that aspect?