I'm looking for a good way to convert/read a -28V (100mA max) digital signal on an Arduino input.
I don't know much about electronics, but from searching around it seems like the 2 most obvious options are:
using an op amp for an "inverted amplifier"
voltage dividing to the arduino 5V
Can anyone tell me which method (or something else entirely) is better (or safer for the board)? Also, how do these attached diagrams look?
I know an opto isolator would work, but I'd like to keep costs down as I might be mass producing these.
Full disclosure, I'm actually looking to convert 3 signal lines for independent inputs (if this changes the optimal strategy). Signal line documentation is also attached.
What's an ECB? This thing looks like you might have to be careful of how the grounds
are connected, ie, you don't want to accidentally short out the system being measured.
You may need an optoisolator. The problem there is that, then you have to provide
10-20 mA of current off your measurement point to drive the Led. Likewise, on
both of your diagrams, the R values are probably about 10X too small, and you may
end of loading down the points being measured.
Also, probably best not to use a ground symbol where you show ADC input. Use a
different symbol.
An optoisolator chip would be by far the simplest, cheapest method to convert your digital signal. Heck you can even use an arduino digital input pin's internal pull-up resistor as the opto's collector pull-up. So one opto, one current limiting resistor the -28 volt signal, and dinner is served.
Do you think something like this chip from sparkfun would work? Looking at the datasheet I don't see anything about Anode-Cathode voltage so I assume something like -28V would be okay, and this way I could get all 3 signals through on one chip.
My view on the cost of opto-isolators was very skewed because someone working on this before me was using this
Do you think something like this chip from sparkfun would work? Looking at the datasheet I don't see anything about Anode-Cathode voltage so I assume something like -28V would be okay, and this way I could get all 3 signals through on one chip.
Sure, ground all the transistor output emitter pins to an arduino ground pin. Wire each transistor output collector to a arduino input pin. Enable the internal pull-up resistors for those pins in your sketch code. Wire your external circuit's ground to the anode of each opto's input leds. Wire each -28vdc signal to a 2.2K ohm series resistor then wired to the cathode of each of the opto's input led. Should draw around 10ma current when on.
As I already mentioned, the problem with an optoisolator is the side being measured has
to provide 10-20 mA, so you first have to take into account what's over THERE, and
only load it accordingly. You just cannot simply hook anything to anything and assume
it'll all work properly.
oric_dan:
As I already mentioned, the problem with an optoisolator is the side being measured has
to provide 10-20 mA, so you first have to take into account what's over THERE, and
only load it accordingly. You just cannot simply hook anything to anything and assume
it'll all work properly.
He did state in his first post that the -24 volt signal could supply up to 100 ma.
oric_dan:
As I already mentioned, the problem with an optoisolator is the side being measured has
to provide 10-20 mA
Unless you're trying to do high speed comms over an opto isolator, you can use much less than 10mA - although the current transfer ratio drops off at lower currents. For example, http://www.vishay.com/docs/83725/4n25.pdf shows the current transfer ratio at 1mA to be about 1/3 of the current transfer ratio at 10mA. If you use the Arduino internal pullup resistor (about 20K) to provide the collector load resistance, then 1mA forward current will be enough for many opto isolators.