I currently have a SDMIO16 that I am trying to use to switch 5v relays. I am able to set the output high however I am only seeing 2.5v, this includes open circuit without any load. SDMIO16 command below:
I dont see any options for configuring the voltage output in the manual. How do I get 5v from the outputs?
The SDMIO16 is powered by the 12v output from a CR6.
name/type of relais?
The SDMIO16 is a digital I/O expander.. which can supply some milli amps at reduced voltage (or better, the more you draw = the lower the impedance of your load, the lower the voltage will be). Relays ususally need a bit more than that and have low impedance due to how they are built.
What do yours need to switch?
Maybe you (or someone else) already has damaged it by trying to source more? No idea how the protection on the inside look like.. the website is a little bit confusing on those specs.
If you got the funds (you run a modern CR6 after all) I'd suggest looking at the SDM CD8S or CD16S units for such an application. 1A per channel, handing through the supply voltage of the unit (goes up to 26Vdc). I use them for switching solenoids at 24V. Very reliable.
Alternatively you can work out how to switch a bipolar transistor or FET with that digital I/O unit.
They will work from voltage alone as a switching input (no real current being drawn) and switch some other power source to whatever you want to power (relays in your case). IT's what is inside a SDM CDxS unit to be quite frank ;-)
Relays are Omron G2R-2 5DC https://au.rs-online.com/web/p/non-latching-relays/0366316/
According to the SDM manual I should be able to source 5v@133mA from the SDM.
"When configured as an output, each terminal is set to 0 or 5 V by the data logger. In addition to being able to drive normal logic level inputs, when an output is set high a ‘boost’ circuit allows it to source a current of up to 133 mA (short-circuited to ground), allowing direct control of low voltage valves, relays, or other components."
133 mA with a zero ohm load (short circuit on the output). The total 5 V then stand over the internal 'boost' diode with it's 0.6 V and the rest over the 33 ohm series resistor. (33 ohm x 0.133 A = 4.39 V). See Figure 2 in the manual for the internal configuration of the output.
What I don't understand is that you only see 2.5 V ever, even when the output is set to high (not switching between low/high at high frequency in your code?) and you got no load connected.. you should see 5 V. Otherwise something is broken.
Anyhow, your relay has got 47 ohms resistance on its coil to do the switching. It's operating voltage is 70% minimum of the rated voltage of 5 V, so it needs 3.5V to switch and current wise it would like to see 106 mA.
So back to figure 2..
The booster diode takes over at 1.1 mA (= 0.6 V / 510 ohms), i.e. when the voltage drop over the parallel resistor becomes larger than 0.6V when the current rises. This means over the 33 ohm series resistor and the relay coil with 47 ohm there will be 4.4 V to drive a current as soon as they let through more than 1.1mA. The current that will establish itself is 55 mA (= 4.4 V / (33 ohm + 47 ohm)), while the relay seems to need 106 mA at 3.5V to switch (voltage over the relay then would be 2.6 V only).
Or in other words, your relay has too high a resistance for this supply circut to function, the relay coil is not getting enough current to be able to create a strong enough magnetic field to move its internals to the other position.
You could also say the source has too high an internal resistance for this relay.
There is a high sensitivty relay in that series.. with 70 ohm and 72 mA (more windings, creates same magnetic field at lower current due to more windings, but more windings means more copper and higher resistance. always a tradeoff, isn't there?).
Let's try.. 4.4 V / (33 ohm + 70 ohm) = 42 mA.. still not working. That one needs 72 mA to do its job and voltage also would be too low at 3 V).
It's that 33 ohm resistor that limits this (to protect the stuff before it from overloading, i.e. the IC you control via SDM to change the state of its pins).
As I said.. look into bipolar transistor or mosfet circuits to drive that relay with, but then you could probably use them directly to switch on/off whatever it is you want to switch and forget about the relay.
This one got an optocoupler, so would really replicate the isolation aspect of your relay as well:
Or get a SDM CDxS unit and keep more hair in exchange for less coin if all of this is not your cup of tea ;-)
What do you want to drive anyway if I may ask?
Thanks Nico. Seems I was incorrect and I was seeing 5v without load. I also took your advice and changed to some solidstate relays.
I am controlling AC components for a drainige system (vavlves , pumps)
Good. Glad I could help.
If you take those 'standard' ones one gets if you search for 'solid state relay' make sure you add a heatsink depending on it's power rating. Sizing of that will depend on what currents they have to carry and the heat that is being produced in the FET on the inside. Their datasheet should give you that information.