-         
Ergebnis 1 bis 10 von 10

Thema: Zeitmessung mit externen Interrupts

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.03.2006
    Ort
    Schlüchtern & Neubiberg
    Alter
    32
    Beiträge
    31

    Zeitmessung mit externen Interrupts

    Anzeige

    Hallo Forum,

    ich bastel an einer Füllstandanzeige, die mittels Ultraschall misst. Habe mir ein SRF05 Modul bestellt, welches nach einem Trigger Impuls ein zeitabhängigen Pegel zurückgibt. Je kürzer der Pegel desto kleiner der Abstand je länger der Pegel desto größer ist der Abstand. Nun habe ich das an einen ATmega8 so angeschlossen, dass der Pegel durch externen Interrupt1 und 0 erfasst werden kann. Das ganze sollte so arbeiten, dass bei steigender Flanke die Zeitmessung startet und bei fallender Flanke endet. Das schreckliche daran ist, es funktionierte bereits, doch jetzt hab ich den Code neu gestaltet und es geht nicht mehr und ich finde den Fehler einfach nicht. Hoffe ihr könnt mir helfen. Im Anhang befindet sich Schaltplan und Quellcode als Zip. Ist in C geschrieben...
    Je nach Länge des Impuls wird grüne, rote oder gelbe LED an einzelnen Pins geschaltet...

    Bin für jeden Tipp und Rat dankbar!

    Gruß,
    Michael
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.07.2009
    Ort
    Wien
    Beiträge
    131
    in DDRD sind die INT0 und INT1-pins als output definiert...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.03.2006
    Ort
    Schlüchtern & Neubiberg
    Alter
    32
    Beiträge
    31
    Zitat Zitat von cmock
    in DDRD sind die INT0 und INT1-pins als output definiert...
    Hab ich verändert, brachte aber leider keine Veränderung. Der zweite Interupt der das Ende des Signals mitbekommen sollte, wird einfach nicht ausgelöst.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.07.2009
    Ort
    Wien
    Beiträge
    131
    eigenartig. bist Du sicher, daß die hardware OK ist?

    ich hab nämlich letztens meinen endlich funktionierenden ps2-maus-code auch sauber strukturiert und dann hat er nimmer funktioniert. nach 2 abenden hab ich mich gefragt, ob die lötstellen auf der billigmaus wirklich so schlecht sind, wie sie aussehen, und nachgelötet, und dann ging's :-/

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    Nachdem du PortC verwendest musst du auch AVCC und AGND anschließen, sonst zeigen sich dort ganz eigenartige Effekte.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    25.03.2006
    Ort
    Schlüchtern & Neubiberg
    Alter
    32
    Beiträge
    31
    Zitat Zitat von cmock
    eigenartig. bist Du sicher, daß die hardware OK ist?

    ich hab nämlich letztens meinen endlich funktionierenden ps2-maus-code auch sauber strukturiert und dann hat er nimmer funktioniert. nach 2 abenden hab ich mich gefragt, ob die lötstellen auf der billigmaus wirklich so schlecht sind, wie sie aussehen, und nachgelötet, und dann ging's :-/
    Auf die Frage habe ich auch gleich mal alle Verbindungen geprüft und es schien als hätte ich auch eine unsaubere Lötstelle am mega8, worauf ich die etwas unschönen Lötstellen nachbessern wollte und dabei erstmal GND und VCC verbunden habe Habe alles in SMD gefertigt und jetzt kann ich den mega8 neue verlöten. Naja, morgen kommt die Reichelt-Bestellung... Hoffentlich funktioniert es danach gleich...

    Zitat Zitat von Hubert.G
    Nachdem du PortC verwendest musst du auch AVCC und AGND anschließen, sonst zeigen sich dort ganz eigenartige Effekte.
    Bis jetzt hatte ich mit dem PortC keine Probleme, so weit ich das beurteilen kann. Werde mir das genauer ansehen, wenn der neue mega8 verlötet ist.

    Schonmal vielen Dank für die Tipps bis hierhin

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    25.03.2006
    Ort
    Schlüchtern & Neubiberg
    Alter
    32
    Beiträge
    31
    So... jetzt habe ich den mega8 neu verlötet und habe alle Verbindungen überprüft. Hardware scheint vollkommen in Ordnung zu sein. Durch Setzen von LEDs hab ich versucht herauszufinden, was passiert und was nicht. Interrupts werden leider keine ausgelöst, aber das Programm läuft an sich. Bin jetzt völlig ratlos

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Um Interrupts zu aktivieren, musst du sie im Status-Register aktivieren. In C geht das mit dem Befehl sei().

    Gruß, Yaro

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    48
    Beiträge
    524
    Hallo,

    ist AVCC und AGND denn jetzt angeschlossen? Poste doch noch einmal das Programm mit den LEDs. Wie ist denn der SFR05 angeschlossen. Im Datenblatt ist die Reihenfolge +, Echo, Trigger, Modus, GND. Bei dir ist die Reihenfolge +, Trigger, Echo, GND. Wobei Modus nicht angeschlossen sein darf.

    Gruß

    Jens

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    25.03.2006
    Ort
    Schlüchtern & Neubiberg
    Alter
    32
    Beiträge
    31
    Zitat Zitat von McJenso
    Hallo,

    ist AVCC und AGND denn jetzt angeschlossen? Poste doch noch einmal das Programm mit den LEDs. Wie ist denn der SFR05 angeschlossen. Im Datenblatt ist die Reihenfolge +, Echo, Trigger, Modus, GND. Bei dir ist die Reihenfolge +, Trigger, Echo, GND. Wobei Modus nicht angeschlossen sein darf.

    Gruß

    Jens
    Du hast Recht! Ich hatte schon mal die zwei Pins (Trigger, Echo) vertauscht. Das war jetzt schonmal ein Rießenfortschritt... Jetzt sieht es so aus:
    Interrupts werden ausgelöst, Messungen funktionieren in einzelnen Fällen und die rote LED blinkt im Messtakt am SRF05. Dazu habe ich schonmal hier im Forum gelesen, dass ein kleiner Elko helfen kann um den Triggerstrom zu stärken... Das werde ich heute nochmal versuchen.

    Bis hierhin schonmal vielen Dank!

Berechtigungen

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