I have a Gumstix expansion board and want to make it communicate with some 24V PLCs.

I've read these topics for reference:

Now my concern is to protect the controller since it's operating voltage is 1.8V and 24V will destroy it.

I thought I would isolate the 24V part by using an optocoupler or solid state relay. But have some questions:

  1. Are mosfets safe enough to isolate the two parts? Reference MOSFET : NUD3160 (It's an inductive load driver. Can it be used in this situation?)

  2. Which solution would be cost efficient?

  3. Is Russell's solution (using a simple BJT to switch an ssr) better than a typical buffer like the 7407? (7407 is not 1.8V compatible though. If you can suggest an alternative, I will appreciate it.)

  4. Is it a good way to use a MOSFET relay like CPC1002N? How can I drive the LED of it using a 1.8V I/O?

  • \$\begingroup\$ Unfortunately 1.8V-compatible 7407s aren't 24V-compatible. \$\endgroup\$ – Ignacio Vazquez-Abrams Apr 30 '14 at 17:54
  • \$\begingroup\$ 7407 itself is not compatible with 24V on the output side but it could drive a relay. 1.8V can't. That's why I thought it would be useful to use a buffer in between. \$\endgroup\$ – tarik Apr 30 '14 at 21:13

EDIT: SN7406 is your best bet from any TTL supplier.

"Most" PLC's usually have opto isolation built in, so in effect you are only driving an LED with switch to ground around 5mA or open circuit V=24V Any open collector driver can be driven from gnd input or open circuit to drive the PLC or equivalent low side driver.

If you use a hex TTL inverting Open Collector high V chip, you can drive six (6) PLC's from 1 chip on your expansion board using any 1.8-5V CMOS input. The TTL floating input is 1.3V considered a logic one but sensitive to noise, so any logic 1 voltage to input shunts stray noise but chip only draws some 40uA for Vih, while output will easily drive 5mA PLC opto isolator inputs.

For low input, TTL only draws -1.6mA which is easy for any CMOS output=0 then output opens and current stops. Again high impedance can be sensitive to high impulse noise on long lines, so a pullup from 24V to PLC input such as 10k at either end will improve immunity. If driving inductive loads in future add clamp diode across load to its Vcc to suppress any spikes >30V.

Twisted pair is suggested for long distances to PLC, switching rates depend on cable 20pF/ft and pullup R added to PLC to 24 V.

Since low side drive to PLC opto is negative logic and inverter chip is negative logic, for input =1, PLC driver LED will be ON.. .i.e. positive logic.

enter image description here

p.s. TTL is standard 2-5V input for a one (1) but will easily work from 1.8V = logic 1, <100ohm ESR. Why because the input can drop to 2 Vbe drops or 1.3V , same as the floating input voltage and still work as a logic 1. (But with less noise margin) So 1.8V will work but not work as well as 2V, if you attempting a long haul 10MHz drive, which is unlikely for a PLC control. So for slow signals, on long cables, not near arc welders, you should be Ok. Ok? If huge stray noise is an issue, then cap filter on slow links will work.

Again 0~0.8V is the normal logic 0 input with 1.6mA implies a source impedance of 0.8V/1.6mA=500 Ohms max, so any <100 Ohm ESR CMOS driver will work which covers every family used today.

| improve this answer | |
  • \$\begingroup\$ Thanks @Rio. I'll communcicate with PLC's but I also want to make it possible to drive not-so-high-current loads. And I don't think it will be near any arc welders. For the input, can we use an opamp to increase 1.8V to something bigger than 2V? Is it really not necessary? And for the output, do you think just a pullup resistor to 24V connected to the 7406 output will be enough? Or, do I still need to drive an SSR or optocoupler with 7406 buffer? \$\endgroup\$ – tarik May 1 '14 at 9:56
  • \$\begingroup\$ Maximum recommended load switched on ground side of 7406 is 40mA or 30Voc,. If much more is need in low side, a FET can be used with low RdsON. Any opamp that can drive 1.6ma low will work and hi >2 to <5.5 if more.. Define \$\endgroup\$ – user41144 May 1 '14 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.