-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Ultraschallsensor - Anfänger

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.09.2011
    Beiträge
    21

    Ultraschallsensor - Anfänger

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe mir vor kurzem einen uC gekauft und alles Mögliche programmiert was man mit einem Taster und einer LED nur tun kann.
    Jetzt würde ich mir gerne einen Ultraschallsensor zur Entfernungmessung zulegen.
    Relevante Entfernungen sind etwa 10cm bis 3m.
    Ich weiß zum einen nicht, welchen Sensor ich nehmen soll. Gibt es nur in Reichweite Unterschiede oder noch andere?
    Zum anderen weiß ich nicht, wie ich so einen Sensor ansteuern soll! Ich habe einen ATmega32 Mikrocontroller, also einen, der digitale Signale verarbeitet. Wie kann der Sensor nun also eine Entfernung zurückmelden? Über eine gewisse Zeit high-Pegel?

    Ich hoffe auf eure Hilfe!

    Gruß,
    Codingboy

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    Ich habe einen ATmega32 Mikrocontroller, also einen, der digitale Signale verarbeitet. Wie kann der Sensor nun also eine Entfernung zurückmelden? Über eine gewisse Zeit high-Pegel?
    Beim SRF05 wird der gemessene Abstand als Dauer des High-Pegels ausgegeben. Es gibt aber auch Sensoren mit Bussystemen wie I2C oder UART.
    Hier gibt es eine Übersicht von den verschiedenen Ultraschallsensoren:
    http://rn-wissen.de/index.php/Sensor...chall_Sensoren
    Bei der Richtcharakteristik und der messbaren Entfernung unterscheiden sich die Sensoren kaum.
    Grüße,
    Bernhard

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.09.2011
    Beiträge
    21
    Leider gibt es nirgends im rn-netz ein Beispieö in c für soetwas.
    Aber so wie ich es verstanden habe sollte folgender Pseudo code funktionieren:

    setze Sensor als Output;
    setze Sensor auf High-Pegel;
    setze Sensor auf Low-Pegel;
    setze Sensor als Input;
    warte bis Input auf High-Pegel ist;
    integer zähler = 0;
    while (zahler<MAXWARTEZEIT && Input ist High)
    {
    zähler++;
    }
    integer vergangene Zeit = zähler*TAKTZEIT;
    in tabelle nachsehen, welcher Entfernung diese Zeit entspricht;

    Ist das so in etwa richtig?

    das sollte zumindest für SRF05 mode 2 gelten
    Geändert von Codingboy (29.09.2011 um 13:54 Uhr) Grund: edit SRF05 mode 2

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    ja der Code sollte soweit passen.
    Zur Sicherheit kannst du noch einen Widerstand in die Sensorleitung schalten (für den Fall dass durch einen Softwarefehler sowohl Sensor als auch Mikrocontroller den Pin auf Ausgang schalten->Kurzschluss). Also z.B. 100-500 Ohm.
    Eine Tabelle zum Umrechnen brauchst du wirklich nicht. Das lässt sich linear umrechnen, also einfach den Inhalt von Zähler mit einer Zahl multiplizieren, das findet man durch Probieren.
    Grüße,
    Bernhard

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    29.09.2011
    Beiträge
    21
    Danke fürs Absegnen und den Tipp mit dem Wiederstand!

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Aber mit dem code blockierst du während der Messung den ganzen avr, besser währe eine messung mittels timer (und icp)

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Aber mit dem code blockierst du während der Messung den ganzen avr, besser währe eine messung mittels timer (und icp)
    Dein Einwand ist durchaus berechtigt. Aber um einzusteigen und dem Sensor überhaupt einmal einen Abstandswert zu entlocken, finde ich das durchaus praktikabel mit Polling. Wenn die Anwendung nicht zeitkritisch ist, kann man das notfalls auch so lassen.
    Mit Timer ist es natürlich um einiges eleganter
    Grüße, Bernhard

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Beim Senden wird man in der Regel etwa mehr als 1 Puls senden müssen. Also das Abwechselnd high und low einige male wiederholen. So schlecht ist das mit dem Pollen nicht: bis der Puls zurück ist dauert es maximal etwa 30 ms ( 5 m Abstand), das ist nicht besonders lang.

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Beim Senden wird man in der Regel etwa mehr als 1 Puls senden müssen. Also das Abwechselnd high und low einige male wiederholen. So schlecht ist das mit dem Pollen nicht: bis der Puls zurück ist dauert es maximal etwa 30 ms ( 5 m Abstand), das ist nicht besonders lang.
    Also bei mir hat es gereicht, einen Puls zu senden. Allerdings hab ich am Sensor noch einen Pull-up/down(weiß nicht mehr?) Widerstand gebraucht, weil der Anschluss ja kurzzeitig hochohmig ist wenn der Mikrocontroller auf Eingang schaltet und der Sensor den Anschluss noch nicht "übernommen" hat.
    Nach einer Messung sollte man auch noch eine kurze Zeit warten, damit das Echo verhallt. Vor allem wenn mehrere solcher Sensoren verwendet werden, muss man darauf achten, da es sonst zu Fehlmessungen kommen kann.
    Grüße,
    Bernhard

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    29.09.2011
    Beiträge
    21
    Also zeitkritisch ist es vorerst nicht.
    Könnte aber irgendwann mal so eingesetzt werden. Wie soll das also mit TIMER gehen? Wäre nett wenn jemand 3 Zeilen Code schreibt oder link zu nem Beispiel.
    Danke schon mal!!!

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Ultraschallsensor
    Von RoboNull im Forum Robby RP6
    Antworten: 64
    Letzter Beitrag: 08.07.2011, 12:22
  2. i2c mit ultraschallsensor
    Von tranh85bo im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 08.10.2009, 11:37
  3. Ultraschallsensor
    Von Laren im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 18.01.2008, 18:26
  4. CRP5: meine Erweiterung (vom Anfänger für Anfänger)
    Von loewenzahn im Forum Robby CCRP5
    Antworten: 11
    Letzter Beitrag: 21.03.2007, 19:37
  5. Anfänger: welches modul sollte man als anfänger nehmen???
    Von patti16 im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 04.01.2005, 09:44

Berechtigungen

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