Reset button, not functional anymore when stacking cards.

Doc Garret

New member
if have stacked 4 SM boards. the 8-HV-Input, the 8-Out_relay and 2 RTD cards.

They all have a reset button going to GPIO 26 ( defined as input with PD-restistor). In theory, this input should stay low , regardsless the # of boards.
The state of GPIO 26 is monitored with "pinctrl get 26" and somehow after adding the 3rd board, the input goes High.

Anyone a clue why this can happen. My first guess is : Is there a parasitic resistor unwillingly created when the board were developed.
Since the GPIO26 is completely disconnected from everything, exept the button(s).

Still want to measure some Resistor values with my OHM meter. Maybe this gives more infos.
 

alexburcea

Moderator
Staff member
Hi,

The logic is reversed, you have to activate the pull-up on the GPIO26, because the button will put the pin to GND when push.
One of the cards have pull-up resistor on that line.
 

Doc Garret

New member
when looking at the basics , i agree alex.
I set the pull-down while of this problem i discussed.

So I did a re-test with GPIO 26 as input with pull-up.
stacked 1 board ( the 8 relay ) : Input is high when button is depressed, low when pressed. --> this is correct behaviour

next :
stacked 2 boards ( the 8 relay and HV-input-card ) : Input is high when both buttons are depressed, low when either one pressed. --> this is correct behaviour

next :
stacked 3 boards ( the 8 relay and HV-input-card and the RTD card ) : Input is high when three buttons are depressed, low when either one pressed. --> this is correct behaviour


next :
stacked 4 boards ( the 8 relay and HV-input-card and 2x RTD card ) : Input is high when four buttons are depressed BUT
Only the lower board ( the initial 8 relay ) is changing the readout, Pressing the button on board 2,3 and 4 has no effect
And this is INcorrect behaviour.

So in my opinion the answer stays that there is really something going on...
 

alexburcea

Moderator
Staff member
The RTD card is having his own pull-up resistor of 30K, but this can not prevent his button to put the line to GND.
I think you have a bad contact on the pin headers between cards so I recommend using the bras standoffs when stacking the cards and make sure they are tighten.
 

Doc Garret

New member
Dived into this again.
When you look at a board at a time, then there is no problem.
The Problem arises with more cards, especially with the RTD ones. In combination with the internal pull up , the values become out of range to pull down the input sufficiently ( http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications#:~:text=The Raspberry Pi's GPIO pins,mA in 2 mA increments. )

In quick and dirty short explainaition :
In some situations you have the pull-down from the Input/relay cards, but since you have 2 RTD with pull-up, the values don't match the logic levels. When you have switched on the internal-pull-up from the PI as well, the ratio between the resistors , become even more 'worse'.

May i have to remove the pull-up from the RTD card. Then all should work fine when all the cards are stacked.

What is the thought behind this, to give different boards , different kinds of "reset circuitries" ?
i would suggest, never use a pull-up anywhere on a board. use the PI -pull-up if needed.
 
Last edited:

alexburcea

Moderator
Staff member
There is some inconsistency in the design here, we will remove the pull-up's in the future.
Thank you for the suggestion.
 
Top