One input, two Ard's

Hi all,

here's a puzzle i am facing...

i have an Every pin 2 externally pulled up by 5K and a push button to this pin pulling to gnd when pressed. the pin is also internally pulled up by sw. the Every is powered by a 12v source which powers a 12v to 5v DC2DC (the 5v output is connected to the Ard's 5v pin).
this pin 2 is configured as an interrupt pin (CHANGE) and as long as there is no change in the pushbutton's state (pressed or released), the sw puts the Every to sleep.
so far so good, sw on the Every works perfectly.
i have another Ard (MEGA pin 35 configured as input and with internal pullup) which needs to read the same pushbutton.
both Ard's share same ground and although the Every have a stand alone DC2DC, both are driven by the same 12v source, BUT - the Every is basically always ON (it has a sleep state when needed) but the MEGA is turned on/off by the Every (the Every actually disconnect the 12v source from the Vin pin).

when the MEGA is ON, everything works ok.

my problem - soon as the MEGA is turned OFF - the voltage level of pin 2 on the EVERY - drops to approx 1.4v. this is definitely caused by the MEGA, because if i disconnect pin 35 of the Mega from pin 2 of the Every ( Point B from Point A in the schematic), the level on PIN2 of the Every rises to 5v by its pullup.

i add a general schematic...

any idea any one about this ?

Thanks for any help!!

Have you tried using the internal pullups?

The problem is, the inputs have "protection diodes" wired "backwards" to Vcc and ground. When

When the Arduino is powered normally, if the input voltage goes above Vcc or negative, current flows through diode, providing some over-voltage protection to the Arduino's input pins.

But if Vcc is zero, current flows through the diode to the power supply as soon as there is enough voltage to turn the diode on, so the input voltage is "shorted out"... Basically trying to keep the input below Vcc (which is now zero).

Try adding a 50-100K resistor in series with the Mega's input pin. This resistor makes a voltage divider with the 5K resistor (when the Mega is off) so the resistance should be high compared to 5K.

DVDdoug thanks for explaining and reply!

Problem with adding the resistor you mention is that the push button will have no effect on the MEGA's input...(the Mega will not read the pushbutton).

although the Every needs to know bothe HIGH and LOW states of the pushbutton, the MEGA only need the LOW level.

er_name_not_found,

yes, the Mega's internal pull up is set.

Couldn't this be the solution?

Capture

Turn on the pull ups then diode "OR" the inputs from the existing pull up resistor with the diode cathodes connected to that. That will isolate your signals and no feedback when powered down.

Thanks all for your suggestions!!

I ended up adding an opto-coupler - the pushbutton simultaneously lower the Nano's input AND turns on the OC's internal LED via a 470R. this way i ensure there is an absolute galvanic separation .

thanks again all!!

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