Parksensor
Um beim Einparken in der eigenen Garage genug Abstand zur Wand zu lassen, wollte ich einen Parksensor haben.
Funktionsprinzip
Der Gerät wird an die Wand der Garage gehangen und mit einem Netzteil verbunden. Nährt sich ein Auto (oder etwas anderes) wird die Distanz zwischen dem Objekt und dem Parksensor auf der LED-Anzeige in Zentimeter angezeigt. Wenn sich die Distanz eine Weile lang nicht ändert, wird die Anzeige ausgeschaltet.
Theorie
Die Hauptfunktionalität bringt das HC-SR04 Ultraschallmodul. Dieses sendet nachdem es einen Trigger-Impuls erhalten hat einen Ultraschall-Burst aus und gibt die Dauer bis das Signal wieder zurückgeworfen und vom Modul empfangen wird auf einem Pin als High-Impuls wieder aus. Anhand der Laufzeit und unter Zuhilfenahme der Schallgeschwindigkeit kann die Wegstrecke ermittelt werden. Diese muss anschließend halbiert werden, da das Signal den Weg zweimal zurückgelegt hat.
Beispiel
Wird beispielsweise vom HC-SR04 nach dem Trigger-Impuls auf dem Echo-Pin ein 3,6ms langer High-Impuls zurückgegeben wird folgendes berechnet:
Schallgeschwindigkeit: 343m/s = 34,3cm/ms
3,6ms ⋅ 34,3cm/ms = 123,48cm
123,48cm / 2 = 61,74cm
Genauigkeit
Die Genauigkeit der Messung hängt vor allem von der verwendeten Schallgeschwindigkeit (da diese temperaturabhängig ist) und von der Genauigkeit der Zeitmessung im Mikrocontroller ab und liegt im einstelligen Zentimeterbereich.
Hardware
Das Ultraschall-Modul wird von einem ATtiny26 gesteuert. Diesen hatte ich noch rumliegen; es kann also auch jeder andere Controller verwendet werden. Ich habe das Echo-Pin des HC-SR04 an ein Interrupt-Pin angeschlossen aber selbst das muss nicht unbedingt sein.
Die drei roten 7-Segment-Anzeigen sind von Knightbright (SA23-12EWA) und haben eine Schrifthöhe von 5,7cm. Das sollte ausreichend groß sein um sie auch aus größerer Entfernung abzulesen, da sie zudem auch sehr hell sind.
Die insgesamt 27 Pins der Anzeigen werden nicht direkt vom Mikrocontroller gesteuert, da zum einen Spannung von 9V benötigen und zum andereren zu wenig I/O-Pins am Controller zur Verfügung stehen. Deswegen wurde ein Schieberegister und ein Pegelumsetzer eingesetzt, wodurch die Anzeige nun insgesamt 5 I/O-Pins belegt.
Ich wollte für das Projekt keine extra Platine ätzen und habe ich die Schaltung auf einer Lochrasterplatine umgesetzt. Da ich vorher auch keinen Routingplan angefertigt habe, sieht die Platine nun vielleicht etwas unaufgeräumt aus. Auf der Unterseite befinden sich die Leiterbahnen, auf der Oberseite alle Bauteile und Steckverbinder, sowie Lötbrücken. Die Leiterbahnen wurden aus abgeschnittenden Beinen von Bauelementen, von denen ich immer sehr viele aufhebe, hergestellt.
Hier der aktuelle Stand:
Was jetzt noch fehlt ist ein passendes Gehäuse mit einem Haken zur Wandbefestigung.
- Details
- Zuletzt aktualisiert: 10. August 2015