Firstly i would like to thank you for taking the time to help me in my project. I am working on a project that needs a resistance load box that can be controlled via an Arduino. I have came across a similar project that someone completed here
They used a programmable decade board (I have attached the schematic for the board below. My question is would it be possible to controls this board with a Arduino and an external voltage supply. I apologies if this question is poorly explained.
@paulmurph You wish to write 16 bits to two 8-bit shift registers to control it? You'll find many examples of this on the web. Beyond that, you'll need to decide just how you set the values to be sent, but yes, this is very easy to do with even the simplest of Arduinos.
There's even an example in the built-in example set, I think, and if not, you'll find a Tutorial for it I'm sure. Try a couple out, see what you think.
The 500 mA might be a challenge, because you'll want to do some heat dissipation calculations on the resistors to ensure you don't burn them out at that current - but that's part of the design of the board, not the code.
Well the relay contacts should be okay,
I can't see any spec on the box's current rating, but if you are only going to 500mA, what voltage and what resistor range for the box are you aiming for.
You need to know this to make sure you get the right wattage resistors.
At the risk of telling you the obvious, you would have to purchase relays with 12V coils. They will likely draw about 2x the current, though there's a lot of variety out there. Make sure whatever the octal driver used is, that it's good for more than the aggregate current of all eight coils being on simultaneously. E.g. if the 12V relays you select need 25 mA each, each octal driver must handle 200 mA aggregate AT LEAST. I would aim for twice that.
Since there's no identifier for IC2 and IC4, I can't comment on their capabilities/limitations.
Are you aware that you will need very high precision resistors at the top end (eg 10k) of the scale? a1% error there will give a 100 ohm error overall.
I did this and used large value parallel resisitors to adjust the actual values.
Im sorry if this is a silly question but when u say octal driver do you mean the IC2 IC4 (ULN2803 ) or is it something else. If it is the ULN2803 it has a Continuous collector current of 500mA)
Yes.
Clarification - there's always two ratings to watch for - the per-pin max current, and the aggregate current for the whole device. Sounds like you're good, though, either way.
The use of relays to switch small resistors is questionable, as the relay contact has a non-negligible resistance which will end up in series. Even high-quality relays (except for very special and expensive production) have a contact resistance higher than that of a standard rotary switch.
Furthermore, if the relay is to be used for a long time, we mustn't forget that a relay contact will deteriorate in terms of resistance if it doesn't switch enough current. All this is indicated in the datasheets.
Given that it's entirely possible/likely this 'load box' could be applied to a voltage source with current capacity well in excess of the dissipation capabilities of the resistors chosen, current monitoring is almost an essential add-on; voltage monitoring as well. Telling the user the requested resistance is inappropriate for the voltage connected would be so simple to do, and in fact, the fail safe should be to immediately open all relays and tell the user to 'smarten up'. Barring that, an appropriate fuse might be an idea, though that can also contribute resistance.
Ahh, the wonderful smell of burning resistors in the morning...