Hi, I'm helping someone with this problem:
Arduino is a Pro Mini running on 3.3V
Need to drive relay boards that have an active-low input and must run at 5V to activate relays.
So, the circuit for a channel is:
- +5V to a PNP emitter
- Pnp Base through 1 K resistor to RELAY IN
- ProMini pin set as Output.
This will probably WORK, but is it likely to cause damage??
The voltage drops seem like:
5.0V
Si PNP E-B
4.3 V
1K resistor
?? zone ?? 0.3V thru 1K = 0.3ma
4.0V ??
Pro-Mini reverse protect diode on chip
3.3V Pro Mini supply
Hmmm. So whatif a Si diode is connected between the RELAY IN and ProMini Output?? Now (almost) no current flows until ProMin output goes low.
I don't have access to a 3.3V Arduino right now so I can't test this and the guy I'm helping is in Rome. (I'm in Genoa, but not close enuf!)
Anyone faced this and won? Lost??
Thanks!!
Do the relay boards have any sort of driver circuitry on the input side? If so, what are the specs? If the relay coils need to be driven directly, what are their specs, especially, how much current is needed to close the relay?
The PNP base needs to switch from 0 to 5V, yes? I think you need NPN in front set up as open collector with pullup resistor to 5V. NPN turns on to pull the base low to turn on. NPN off lets base go high to turn off.
CrossRoads:
The PNP base needs to switch from 0 to 5V, yes? I think you need NPN in front set up as open collector with pullup resistor to 5V. NPN turns on to pull the base low to turn on. NPN off lets base go high to turn off.
The PNP Emitter is connected to +5 so the base needs to go from +5 (cut off) to about +4.3 (diode drop).
The 1 K resistor from PNP Base to RELAY IN usually swings from near +5 (relay off) to near 0 (relay on)..
The circuit is here: scroll down...http://arduino-direct.com/sunshop/index.php?l=product_detail&p=155
Yes, the Right Way is to use another transistor (NPN like you said) to level shift. I'm trying for a cheapie solution.. Maybe not good...
Thanks!