Read open-drain signal already pulled-up at 24v from 3.3v Arduino

Hello,

I would like to read the LED ON/OFF status from a UV Module with a 3.3v Arduino board.

Schematic:
UV Module - LED Status

The open-drain output is already pulled-up at 24v and has a sink current < 10mA as stated in the datasheet of the module.

Could you please help me to read the digital state of this output?

Thanks,
Ilan

You can use a Voltage Divider

If the resistors that sum-up to about 10K, that's 4.8mA. The Arduino itself has in input resistance of around 100 Megohms so essentially no current flows into the Arduino.

Using an opto isolator:

The output pin 2 is clamped to 24V by ZD24. If an opto's IRLED is connected from 2 to 8, the current through the IRLED is (48-1.2)/47K ≈ 1mA.

Here the Arduino input will read LOW while the LED status is OFF
and the Arduino input will read HIGH while the LED status is ON

Hi DVDdoug,
thank you for your suggestion!

Hi dlloyd,

Thank you for your comment.

From Kirchhoff's law I understand IRLED calculation but don't see what you mean by pin 2 is clamped to 24V.

What's the purpose of the Zener here ?

Also, could I use the same 4N35 opto to drive the LED ON/OFF signal from the Arduino (3.3v) ?

How to dimension R1 here?
As high as possible to limit power losses?

The zener has no effect when an opto is connected, but I just mean that with nothing connected to pin 8 and with the MOSFET being off, pin 8 will read 24V even though internally this signal is pulled to 48V through the 47K resistor.

In this case, the opto seems redundant. Could we see a link to your product's datasheet?

That's clear to me, thank you again!

Sure:

UV Module TDS.pdf (462,3 Ko)

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.