Digital Low output does not fire interrupt

Discussion in 'The Projects Forum' started by _Anthony_, Apr 13, 2013.

  1. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    This is a follow on to a previous thread about the MC14490 debouncer IC.

    My project has three components: an Arduino that only provides 3.3 V and ground to my breadboard; a breadboard with a circuit containing an SPST button and an MC14490 debouncer IC; and a GPS unit with an interrupt pin.

    The MC14490 circuit appears to be working as expected. A probe on the output pin shows a nice solid low when the button is pressed. A volt meter across Vcc and the output pin shows zero normally, and 3.3 V when the button is pressed.

    The interrupt pin on the GPS has an internal pullup. The interrupt works successfully with no debouncing IC. If I ground the interrupt pin anywhere (on the GPS PCB, or on the breadboard) it fires. The interrupt has 3.0 V across it. However when I connect it to the output pin on the MC14490 and press the button nothing happens.

    What would be the explanation for that? The specifications seem to be OK: the MC14490 has a typical current on the output pins of -2.2 and 4.0 mA. The GPS has a maximum rating of 10 mA. Why does the low on the MC14490 not drive the interrupt low?

    The GPS interrupt pin is not well documented. It is intended for Automotive Dead Reckoning, with input from a gyro or wheel tick. A diagram shows this input as a rising edge, although the internal pullup and the function of the pin suggest that it is in fact a falling edge.
     
  2. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    It looks like your job is well defined, you need to find out how much current has to be dumped to ground to get the GPS to recognize it. When you do a manual, "wire to ground", measure the current. Then add a buffer to the debouncer to handle that much current.

    Edit: There is probably someone on this site that already knows how much current, but you can measure it yourself.
     
  3. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    OK, thanks. I will try that.
     
  4. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    OK, done this.
    if I touch the interrupt pin momentarily, the meter shows anything from 0.4 to 6.1 mA. I guess this reflects the poor sensitivity of the meter. But it seems to show that the values are in the same range as the MC14490 can sink.
     
  5. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    The fact that the debouncer is not working definitely shows that the values are NOT in the same range you need. Remember, electrons can't lie.
     
    Last edited: Apr 14, 2013
  6. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    If I hold the interrupt pin to ground I get 6.2 mA. Can you explain the diagram?
     
  7. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    I think it is odd behaviour in the interrupt pin. I also have a debouncer using an SPDT with quad NAND 4011. This gives me a nice transition between high and low. But the low also does not trigger the interrupt. I have a feeling that the interrupt pin does not work in the way I am assuming.
     
  8. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    The diagram is a circuit that will increase the current handling capability of the debouncer chip. I just changed a couple of resistor values to make it stronger.

    From the debouncer, 3.3V - .6V for the transistor base to emitter voltage = 2.7 volts across the 1k resistor. this puts 2.7 milliamps into the transistor base. From that, the transistor can pull down 27 milliamps from the GPS pin to ground. That is far in excess of the amount you need so it is similar to a wire to ground.
     
  9. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    Thank you very much for this, much appreciated. I will give it a try.
    Does it make sense to try to limit the current from the interrupt pin? It has a max rating of 10 mA, and there is a "normal" value quoted of 4 mA.
     
  10. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    I don't think so. A lot of chips that only need a few nanoamps on their input say things like, "Max input current 40 ma" but that means under fault conditions, like the applied voltage is too high. A spec like 10ma on a pin you ground doesn't seem like they want you to put a resistor in there, but if you did,

    3.3V/.01A = 330 ohms

    It would be at least 330 ohms.

    I wonder if it would work if you did that? Connect a 330 ohm or a 470 ohm resistor from the GPS pin to ground and see if it recognizes.
     
  11. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    OK, thanks #12. I will try what you have suggested.
     
  12. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    I have built the transistor circuit as you describe, using a PNP 2N3906 transistor (http://www.onsemi.com/pub_link/Collateral/2N3906-D.PDF). I have a 1k and a 68k resistor corresponding to your diagram.

    So now I have two base circuits:
    1) The SPDT with 4011 with quad NAND (described here: http://forum.allaboutcircuits.com/showthread.php?t=82480). It runs at 3.3 V, and has 10k pullup resistors.
    2) The PNP 2N3906 transistor circuit.

    The SPDT circuit functions as expected. When I press the SPDT button, the output of 1Y on the quad NAND goes low.

    The transistor circuit functions at least as a circuit. If I put an LED in line between Vcc and the Collector, or between the Emitter and ground it goes on when I press the button in the SPDT circuit.

    However:
    - the transistor circuit still does not fire the interrupt on the GPS.
    - I have tried 470, 1000 and 2200 ohm resistors between the NAND output and the transistor base, but it makes no difference
    - as before, the GPS interrupt fires if I just connect it direct to ground on my circuit board.
     
  13. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    I guess I was wrong. A mosfet looks more like a wire than a bipolar transistor does, but 3.3 volts to run a mosfet...
    I'm looking for a logic level P type mosfet

    a little help guys?
     
  14. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    I must be misunderstanding something basic. My logic is: the largely undocumented interrupt pin on the GPS "probably" has an internal pullup; fires when connected to the ground plane of either the breadboard or the GPS itself; seems to draw about 6 mA down to ground; should fire when connected to a Low from a debounced button.

    I have a working MC14490 hex debounce breadboard; 4011 RS latch breadboard; 4011 with a PNP transistor to boost the current. All of them go low when the button is pressed, but do not trigger the GPS interrupt.
     
  15. #12

    Expert

    Nov 30, 2010
    16,283
    6,795
    I'm stumped, too. The debouncer should ground the pin, the boosted debouncer should ground the pin...have you checked to see if the pin has only DC voltage on it?
     
  16. tubeguy

    Well-Known Member

    Nov 3, 2012
    1,157
    197
  17. tubeguy

    Well-Known Member

    Nov 3, 2012
    1,157
    197
    I wonder if due to the lower voltages in the circuit vbe of the transistor is just enough to make it not quite trigger.

    Here's the datasheet for the PMOS:
    View attachment si2377ed-1.pdf

    It has less than 0.1 ohm on resistance at -2.5vgs.
     
  18. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    I am happy to try it, but is this really the problem? Is it normal that a debouncer circuit fails to fire an interrupt?
     
  19. tubeguy

    Well-Known Member

    Nov 3, 2012
    1,157
    197
    Another idea.

    Why not connect the interrupt pin to gnd through various size resistors (or a pot) to double check the needed trigger voltage level and the current required at that point.
     
  20. _Anthony_

    Thread Starter Member

    Mar 16, 2013
    31
    0
    I guess I could find out what the sensitivity is, but I am not sure that would enable me to debounce it.
     
Loading...