-         

Ergebnis 1 bis 5 von 5

Thema: falsche Auswertung Int0

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    06.05.2007
    Beiträge
    38

    falsche Auswertung Int0

    Anzeige

    Hallo, ich habe folgendes Problem:
    ich möcjte mit dem m32, RNControl eine Frequenz messen,
    dazu möchte ich erstmal überprüfen, ob die flanken richtich gezählt werden:

    Enable Interrupts
    Enable Int0
    Config Int0 = Falling

    Flankenzahl = 0

    On Int0 Irq

    Do
    Lcd_clr
    Stemp = "flanken:" + Str(flankenzahl)
    Schreibe Stemp
    Waitms 300
    Loop

    'Disable Int0
    'Disable Interrupts

    Irq:
    Incr Flankenzahl
    Return

    aber wenn ich den int 0 nur anfass, zählt er gleich um ... hoch.
    Wenn ich einen Pullup Widerstand (1,4k) anschließ, ist es schon wesentlich besser, verzählt sich aber immernoch (nichtmehr wennich von hand anfass)

    wie groß soll denn der Pullup sein (wieviel mA verträgt der Eingang)? gibtes beim int0 einen internen pullup?

    oder gibt es eine andere Möglichkeit die Zählfehler zu verhindern?

    sollte ich lieber einen anderen nicht-interrupt eingang zur Frequenzmessung verwenden?
    hab sehr viele Fragen
    Danke schonmal im vorraus
    der Roland

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Das mit dem Anfassen oder irgendwelche fliegenden Drähte erzeugen saumäßige Signalflanken, da passiert dann sowas.
    Entweder Entprellen (debounce) oder gar nix, denn wenn das, was du messen willst, ordentlich Impulse liefert, verschwindet der Fehler von alleine.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    06.05.2007
    Beiträge
    38
    danke,
    das hört sich gut an, geh montach ins labor mit generator und oszi, da guckich genauer rum..
    kann das sein, das man mit config debounce=.. die zeit in ms einstellt, und dann alles ignoriert wird und zum label springt..?

    brauch ich überhaupt den interrupt, is das zu problembehaftet und soll lieber was andres nehmen?

    Grüße

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Das mit dem Debouncen wirst du vermutl. nicht brauchen, bzw. brauchen können. Denn wenn du 1 mS debounced, kannst du ja nicht mehr als max 500 Hz zählen, das ist ja wohl nix.
    Übrigens: Zumindest beim Bascom ist das Debouncen im Widerspruch zu Interrupt. das macht er nicht mit.

    Interrupt: Na, besser als Pins pollen ist das allemal.

    Ein AVR hat allerdings auch eine Counter-funktion, kannst du mal nachlesen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    06.05.2007
    Beiträge
    38
    dankeschön klingt alles ganz gut,
    ich les mich auch grad in timer mit capture ein..
    immer großes dankeschön and den Herrn Visionär!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •