Falske positiver på inputs

Raspberry Pi Webshop Fora Generel snak Falske positiver på inputs

Viser 4 svartråde
  • Forfatter
    Indlæg
    • #5725
      loproc
      Medlem

      Hejsa

      Jeg er ved at lave et lille projekt hvor jeg via GPIO BCM Pin 2 (på board rev. 2) venter på at der trykkes på en knap. Jeg har ikke den store erfaring i det, så jeg har prøvet lidt af hvert efterhånden:
      pull up og pull down modstande på 10K
      pull up og pull down modstande på 10K samt 1K modstand ind mod GPIO pin
      Interne pull up og pull down modstande vha. Python GPIO modulet
      Interrupt med FALLING edge, RISING edge og BOTH

      … men jeg bliver ved med at få falske positiver! Altså, interrupts uden at der rent faktisk bliver trykket på knappen. Der sker oftere når man “roder rundt” med ledningerne men også selv om der slet ingen berøring er. Jeg fandt ud af at noget af det skyldtes back EMF fra et par elektromagneter min Pi er forbundet med, så jeg har sat en diode over tværs og der har så hjulpet så jeg ikke får et falsk positiv når elektromagneterne slår fra men det sker stadig, sådan på tilsyneladende helt random tidspunkter. Jeg har forsøgt at sætte en kondensator på input spændingen for at sikre det ikke var pga. voltage drops men det har heller ikke hjulpet 🙁

      Hvad er den bedste konfiguration, for at undgå “støj” – skal jeg bruge nogen bestemt GPIO pin, skal jeg bruge pull up eller pull down modstande, og hvor store eller små skal de være?

      Håber nogen har noget erfaring de kan dele ud af!

    • #5730
      renelm
      Medlem

      Hejsa,

      Jeg har lavet et lille breakout-board til op til 4 knapper.

      Jeg har nogen eagle-filer liggende som jeg lige kan poste for dig.
      Mit projekt er beskrevet her: https://labitat.dk/wiki/Infotron – dog mangler jeg at smide schematics på også.. de kommer i løbet af aftenen 🙂

      /rené

    • #5731
      renelm
      Medlem

      I øvrigt er mit nyeste kode i ‘test’-branchen på github. Der kommer schematics op inden for en time.

    • #5733
      RAJensen
      Medlem

      Du kan prøve med følgende kode:
      RPIO.add_interrupt_callback(7, do_something, debounce_timeout_ms=100)

      Codesnippet er snablet _Her_

    • #5751
      loproc
      Medlem

      Tak for svarene – jeg er dog ret overbevist om at det ikke er et software problem, men et hardware… Min nyeste mistanke går på at det måske kan være manglende jordforbindelse? Jeg har lige prøvet at lave en simpel test ved at koble GND på radiatorens rør 😉

      Jeg lader den køre et stykke tid, og skal nok give lyd om det har gjort en forskel 🙂

Viser 4 svartråde
  • Du skal være logget ind for at svare på dette indlæg.