| Electronics > Beginners |
| Sensing (interfacing) high voltage with arduino or any Microcontroller |
| (1/7) > >> |
| Laszlo:
Hi all, I have a project in mind which involves sensing high voltage dc on/off signals. The voltage which is being sensed is in between 80-120V dc. I am not concerned about switching speed at all, as the signals I'd like to monitor do not change their state very quickly. My question is what is the best way of reducing the voltage to TTL logic level and provide isolation in between the two system. There would be above 60+ signals which I need to monitor at the same time, so using a buck converter is out of option I think :) I had a look at reducing the voltage down by a drop resistor, but then I realized that this solution is rubbish due to the lack of isolation in between the MCU and the high voltage source. My other idea was to use an optocoupler and a resistive voltage divider to bring the current/voltage down to a safe level, but I'm not so sure whether that would work in between the required ranges correctly. Then I found this SN65HVS882 IC. https://www.designnews.com/electronics-test/interface-high-voltage-onoff-signals-low-voltage-mcus/51223495829507 According to its datasheet, I would still need an additional limiting resistor to use it on the voltage required but looks like an elegant solution with everything included. Has anyone ever worked with one of these devices? Are they as good as the article states? Also, is there any other solution for this problem? I am sure that I am not the first who had this in mind, but I can't really find much on the internet other than the usual opto-coupler+relay solution. As always, all inputs to the question are much appreciated. Cheers, Laszlo |
| bson:
You could divide them down and clock them into 74HC166's cascaded (Q7-to-DS). Then read them out as a bit stream. You can isolate the serial interface rather than the inputs using optocouplers; you need the serial out (final Q7), serial clock (CP), and latch edge (PE#). Maybe master reset (MR#) if you're ambitious. Of course you also need a supply rail. |
| rstofer:
In most industrial applications, they run the high voltage into an optoisolator. You would need a resistor to limit the LED current and wide variations in voltage make this an ugly computation. You need to provide 'enough' LED current at the minimum expected voltage and not too much current at the high expected voltage. I didn't try to work it out... On the output side, you can probably use the MCU internal pull-up resistors although I would probably use 1k to Vcc. See below about resistor size. Clearly, this solution takes more real estate than a simple divider but I just don't like having high voltages around the MCU. I would put all of the optos on one or more external PCBs and use an I2C or SPI IO Expander to read the output of the opto. Unless the IO Expander has internal pull-ups, you would need to provide that 1k pull-up. The thing about 1k pull-up is that it draws 3.3 mA when pulled down. Times 60 signals, we're talking about nearly 200 mA. Maybe 10k will work just as well. Check the datasheet for the opto and the MCU or IO Expander. |
| ptricks:
resistor ---> zener diode----> resistor---> optoisolator will work Roughly, 2K resistor, 12v zener , 330 ohm resistor , 4n25 works from 14V-120VDC |
| Laszlo:
--- Quote from: ptricks on May 29, 2019, 10:55:11 pm ---resistor ---> zener diode----> resistor---> optoisolator will work Roughly, 2K resistor, 12v zener , 330 ohm resistor , 4n25 works from 14V-120VDC --- End quote --- I've made a sample simulation in LTspice. Is that what you were recommending? |
| Navigation |
| Message Index |
| Next page |