Wasserwerfer mit Ultraschall Sensorik

Das Gerät soll sich bewegende Personen wahrnehmen und dann mit etwas Wasser werfen. Natürlich ein Spaß für Draussen für den Sommer.

Technik

  • Ein häufiges Problem ist, das eigene Signal gut genug von fremden Signalen zu unterscheiden. Das wird zunehmend wichtiger, da sie Ultraschallquellen in normalen Umgebungen zunehmen, z.B. Energiesparlampen, Schaltnetzteile, Straßenlaternen. Einfachste Strategie ist, das empfangene Signal mit der eigenen Sendefrequenz zu filtern, um nur die eigene Aussendung zu nehmen. Dabei muss man hoffen, dass kein anderes Gerät gerade diesen Bereich verseucht.
  • Wie macht man das:
    1. Einen sehr frequenzstabilen Frequenzgenerator im Ultraschallbereich kontinuierlich laufen lassen.
    2. Zum Senden wird nur die Sendeendstufe kurz eingeschaltet, die dieses Signal dann auf den Ultraschalllautsprecher gibt.
    3. Nach verstärken des empfangenen Signals wird es mit der eigenen Sendefrequenz gemischt. Die kommt vom selben Frequenzgenerator, deswegen muss der auch durchgängig frequenzstabil laufen. Es empfiehlt sich ein IQ mischer, der das empfangene Signal einmal mit 0 Grad Phasenverschiebung und einmal mit 180 Grad Phasenverschiebung mischt und aufaddiert damit man keine Auslöschungseffekte hat.
    4. Die Reflektionen des eigenen Signals sind nun auf Frequenz 0, also als Gleichspannung. Daher mit einem Tiefpass die höheren Frequenzen wegfiltern und mit Analog-Digital-Wandler aufzeichnen.
  • „Die Schallgeschwindigkeit in trockener Luft von 20 °C ist 343 m/s“. Ein Meter entspricht daher ca. 2.9ms. Man kann bequem mit 8kHz Samplingrate aufzeichnen, dann entsprechen 1ms genau 8 Samples und 2.9ms ca. 24 Samples, was eine Entfernungsauflösung von 1/24m=4.2cm entspricht. Also ist die Samplingrate nicht problematisch. Um 10m abzudecken, muss man 29ms aufzeichnen = 232 Samples.
  • Die Signalstärke nimmt mit der Entfernung quadratisch ab, wenn man idealisiert einen Kugelstrahler annimmt und sich die gesendete Energie gleichmäßig über die Kugeloberfläche verteilt. Dies gilt auch für die reflektierten Signale ausgehend vom Reflexionspunkt. Deswegen nimmt die Signalstärke proportional mit d^4 mit der Entfernung d ab. Daher sind nähere Reflektionen deutlich stärker als entferntere, d.h. später empfangene. Diesen Decay muss man ebenfalls weg-korrigieren (in Software oder in Hardware). Weiterhin bedeutet dies, dass der Empfänger sehr empfindlich sein muss und der Sender stark genug, um größere Entfernungen zu messen.
    • Angeblich sollen die Parkhilfen im Auto 6m schaffen. Notfalls muss man Schrott-Ersatzteile ausschlachten.
    • Beim Yeti-Entfernungssensor wird der Spannungsabfall eines sich entladenden Kondensators als Referenzspannung genommen um den Abfall der Reflektionsstärke mit der Entfernung = Zeit zu „berechnen“. Dieses Signal wird in einen analogen Comparator gesteckt und wenn das empfangene Signal über der Referenz liegt, schaltet der Komparator durch, was vermutlich einen Interrupt auf dem Mikrocontroller auslöst. Die Zeit zwischen Sendeimpuls und erstem Interrupt ist dann „die“ Entfernung.
  • Statt exakt die selbe Frequenz beim Mischen zu verwenden, kann man auch bewusst eine versetzte Frequenz wählen. Dann sieht man die Differenz beider Frequenzen als NF-Schwingung im gesampelten Signal. Aus der Verschiebung dieser Frequenz vom Soll-Wert könnte man die Relativgeschwindigkeit zwischen Sender und Reflektor ablesen (Doppler-Verschiebung).
  • Um nicht nur die Entfernung von reflektierenden Objekten bestimmen zu können, sondern auch ihre Richtung in der Ebene, braucht man zwei Sensoren die weit genug auseinander liegen. Zum Beispiel ein Sender in der Mitte und zwei Empfänger außen. Da sich die meisten Objekte nicht soo schnell bewegen, kann man beide Empfänger auch nach einander auslesen, zwei ADC Kanäle wären also nicht unbedingt notwendig.
  • Um beide Signale in Abstand+Richtung umzurechnen muss man auf den zeitlichen Versatz zwischen Reflektionen schauen. Dieser ist Größer, wenn der Abstand zwischen beiden Sensoren steigt. Ausgehend vom Abstand und der Samplingrate ließe sich die Richtungsauflösung abschätzen.
  • Das Hauptproblem beim Empfang weit entfernter Reflektionen ist deren extrem schwache Signalstärke, die sich noch gegen das Rauschen durch die Spannungsversorgung und Verstärker abheben muss.
    • Daher braucht man unbedingt eine sehr gut gereinigte Spannungsversorgung für den Ultraschallteil und extrem rauscharme Verstärker und Mischer. Dies betrifft auch den Frequenzgenerator und Senderteil, denn die Schwingung wird auch beim Runtermischen verwendet und man Empfängt natürlich auch das Rauschen, was man selber gesendet hat. Soll aber mit gutem Design machbar sein.
    • Eine hohe Auflösung des ADC lohnt sich auch, um die schwachen Signale noch von 0 unterscheiden zu können. Ansonsten muss man höher verstärken und verliert die Ortungsfähigkeit im Nahbereich, weil da dann alles zu deftig ist. Der AVR ATMega kann 10bit Auflösung
  • Der ATMega1284 hat 8 ADC Kanäle mit je 10bit Auflösung. Wenn man höhere Samplingraten braucht (bessere Richtungsauflösung) kann man mit nur 8bit Auflösung aufzeichnen. Die Kanäle genügen, um 2 Empfängermodule gleichzeitig aufzuzeichnen.
  • Ein Hersteller hat empfohlen, 40kHz Sinus statt Rechteck zu verwenden, weil sich sonst auch die Ultraschallsender auf Oberwellen einschwingen können. Zum Mischen brauchen wir wahrscheinlich ohnehin ein sauberes Sinussignal, ansonsten bauen wir aus versehen ein tolles Radio.

konkretere Ideen

  • NE555 benutzten um 40kHz erzeugen, alternativ den PWM-Ausgang des ATmega benutzen um 40kHz auszugeben, alternativ ein 10,24MHZ quarz-oszillator und durch 256 teilen.
  • wir brauchen keinen IQ-Mischer, sondern zwei normale Mischer mit 180° Phasenverschiebung (inverter) der Mischfrequenz und danach einen Tiefpass um nur die Schwingungen aus der Entfernungsinformation zu sehen.
    • Invertieren geht mit einem NOR-Gatter, dann kann man gleich 3 weitere Gatter nehmen, um ein UND zu realisieren mit dem das Signal zur Senderstufe ein- und ausgeschaltet werden kann.
  • mischer: 74HC4066 wird gern als IQ-Mischer missbraucht (siehe http://www.elexs.de/iq1.htm). Mischer ICs bei Reichelt: NE 612 DIP oder SA 602 AN.

Literatur