-         
Ergebnis 1 bis 7 von 7

Thema: Genaue Zeitmessung für SRF05

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2009
    Ort
    Wörgl
    Alter
    22
    Beiträge
    175

    Genaue Zeitmessung für SRF05

    Anzeige

    Hallo,

    ich würde an meinen RP6 gerne 1-2 SRF05 Ultraschallsensoren anschließen. Da diese jedoch den Messwert über die Dauer eines High-Impulses zurückgeben, ist es wichtig diese Zeit möglichst genau zu messen.

    Datenblatt:
    http://www.robotikhardware.de/download/srf05doku.pdf

    Meine erste Idee waren natürlich die Stopwatches. Die haben nur eine Auflösung von 1ms; der niedrigste Rückgabewert d.h. die niedrigste Signaldauer liegt aber bei 100µs. Außerdem kann man den Wert so nur sehr ungenau bestimmen.

    Gibt es also eine Möglichkeit die Zeitspanne des Impulses genauer zu messen?

    Warum ich nicht SRF02/08/10 verwenden möchte:
    SRF02 ist doch relativ ungenau, kann nur min. 15cm messen und SRF08/10 sind mir etwas zu teuer
    Der große Vorteil wäre allerdings die Ansteuerung über I2C...

    lg
    Michi

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Ich kann dir aus eigener Erfahrung mit ähnlichen Modulen wie dem Polaroid http://www.uoxray.uoregon.edu/polamod/ nur zum SRF8 raten, genaue Zeitmessungen lassen sich jedoch mit delay cycle Messungen ebenso wie mit dem Hardware Timer lösen. Der Aufwand vor allem bei Echo und Mehrfachimpulsen ist jedoch hoch und die Cpu ist in der Zeit für andere Aufgaben kaum zu gebrauchen. Auf dem SRF8 werkelt ein kleiner PIC Prozessor, der sich um nichts anderes kümmert als die Auswertung. Das spart auf der main Unit zudem RAM, vor allem wenn man eh weitere I2C Devices (wie Kompas) nutzt. Die Forensuche könnte Dir auch helfen.
    https://www.roboternetz.de/community...ernungsmessung
    LG Rolf
    Geändert von RolfD (21.04.2011 um 09:17 Uhr)
    Sind Sie auch ambivalent?

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.796
    @RobotMichi:
    Du kannst auch z.B. die timer-Variable nehmen.
    Die wird beim RP6 alle 100us hochgezählt, so dass du bei einer max. Impulslänge des SRF05 von 25ms Werte von 1..250 (also 8 Bit) erreichen kannst. Das ist eine Auflösung von ca. 1,6cm pro Digit.
    Also: In einer Schleife auf die 1. Flanke warten, timer-Wert 1 speichern (uint16_t), auf die 2. Flanke warten, timer-Wert 2 speichern. Wert = Timer-Wert 2 - Timer-Wert 1
    Gruß
    Dirk

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2009
    Ort
    Wörgl
    Alter
    22
    Beiträge
    175
    Hallo,

    ich hab mir das mit den delay-Funktionen angesehen - das scheint jedoch nicht sehr genau zu sein (weil Software basiert). Und die Hardwaretimer sind doch eigentlich die Stopwatches, oder?

    Ich werde daher doch einen SRF08 verwenden, das spart - wie RolfD bereits erwähnt hat, Zeit, weil die Abfrage über den I2C-Bus läuft.

    lg
    Michi

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.796
    @Michi:
    Die Stopwatches basieren auf Zählern, die in Interrupts alle 1ms hochgezählt werden.
    Die Variable "timer" wird genauso hochgezählt, aber alle 0,1ms.
    Beide Varianten sind also gleich genau/ungenau,- wie man das sehen möchte.

    Aber: Der SRF08 ist auch eine gute Wahl, wenns Geld reicht ...
    Gruß
    Dirk

  6. #6
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522
    Also ich habe zwei SRF02 und einen 08 und bin eigentlich sehr zufrieden damit.
    Man muss sich quasi um nichts kümmern (außer, dass der SRF wieder bereit ist) und halbwegs genau sind ide auch.
    Der 08 ist natürlich schon viel besser als die 02er
    Die 02er kann man auch softwaremäßig koppeln, dann hast du eigentlich ein 08er

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2009
    Ort
    Wörgl
    Alter
    22
    Beiträge
    175
    Hallo,

    danke für eure Antworten.
    Ich bleibe dann aber doch beim SRF08.
    @Fabian: Ob ich zwei SRF02 oder einen 08 kaufe ist preismäßig fast egal. Daher ist es für mich einfacher einen SRF08 zu nehmen.

    lg
    Michi

Ähnliche Themen

  1. Genaue Postitionsbestimmung....
    Von 164timo im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 19.02.2011, 20:49
  2. Genaue Zeitmessung?
    Von bomberman_z im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 28.08.2008, 10:03
  3. genaue Zeitmessung mit Atmega32
    Von Trucker-Tom im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 16.08.2008, 12:27
  4. Möglichst genaue Zeitmessung
    Von BlueFox im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 04.10.2007, 21:29
  5. Genaue Zeitmessung mit einem AVR
    Von OnkelTobi im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 12.03.2007, 16:38

Berechtigungen

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