Inhaltsverzeichnis:
- Schritt 1: Materialien und Werkzeuge
- Schritt 2: Grundriss der Elektronikplatine
- Schritt 3: Montage des Raspberry Pi
- Schritt 4: LED-Signalpegelschieber
- Schritt 5: Große LED-Sieben-Segment-Anzeige
- Schritt 6: LED-Treiberplatine
- Schritt 7: Montage des OPS241-A Radarmoduls
- Schritt 8: Strom- und Signalanschlüsse
- Schritt 9: Endmontage
- Schritt 10: Python-Code
- Schritt 11: Ergebnisse und Verbesserungen
Video: Low-Cost-Radar-Geschwindigkeitszeichen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Wollten Sie schon immer Ihr eigenes kostengünstiges Radar-Geschwindigkeitsschild bauen? Ich lebe in einer Straße, in der Autos zu schnell fahren, und ich mache mir Sorgen um die Sicherheit meiner Kinder. Ich dachte, es wäre viel sicherer, wenn ich ein eigenes Radar-Geschwindigkeitsschild installieren könnte, das die Geschwindigkeit anzeigt, damit ich die Fahrer dazu bringen kann, langsamer zu werden. Ich habe online nach einem Radar-Geschwindigkeitsschild gesucht, aber ich habe festgestellt, dass die meisten Schilder über 1.000 US-Dollar kosten, was ziemlich teuer ist. Ich möchte auch nicht den langen Prozess der Installation eines Schildes durch die Stadt durchlaufen, da ich gehört habe, dass es sie mehr als 5.000 bis 10.000 kosten kann. Stattdessen habe ich beschlossen, selbst eine kostengünstige Lösung zu bauen und zu sparen etwas Geld, während Sie Spaß haben.
Ich habe OmniPreSense entdeckt, das ein kostengünstiges Radarsensormodul für kurze Reichweiten bietet, das sich ideal für meine Anwendung eignet. Der Formfaktor des PCB-Moduls ist mit nur 2,1 x 2,3 x 0,5 Zoll sehr klein und wiegt nur 11 g. Die Elektronik ist in sich geschlossen und vollständig integriert, sodass keine Endstufenröhren, sperrige Elektronik oder viel Leistung erforderlich sind. Die Reichweite für ein großes Objekt wie ein Auto beträgt 15 bis 30 m. Das Modul nimmt alle Geschwindigkeitsmessungen vor, übernimmt die gesamte Signalverarbeitung und gibt dann einfach die rohen Geschwindigkeitsdaten über seinen USB-Anschluss aus. Ich verwende einen kostengünstigen Raspberry Pi (oder Arduino oder etwas anderes, das einen USB-Anschluss hat), um die Daten zu empfangen. Mit ein wenig Python-Codierung und einigen großen, kostengünstigen LEDs, die auf einer Platine montiert sind, kann ich die Geschwindigkeit anzeigen. Meine Anzeigetafel kann an einer Stange am Straßenrand befestigt werden. Indem ich über dem Display ein Schild mit der Aufschrift „Speed Checked by RADAR“hinzufüge, habe ich jetzt mein eigenes Radar-Geschwindigkeitsschild, das die Aufmerksamkeit der Fahrer auf sich zieht und sie verlangsamt! All dies für weniger als 500 $!
Schritt 1: Materialien und Werkzeuge
- 1 OPS241-A Radarsensor für kurze Reichweite
- 1 OPS241-A Halterung (3D gedruckt)
- 1 Raspberry Pi Modell B v1.2
- 1 5V microUSB-Netzteil
- 1 Rhino Model AS-20 110V bis 12V/5V 4-Pin Molex-Netzteil und Netzkabel
- 1 Anschlussblock 3-polig Vertikal, 5,0 mm Mitten
- 1 Micro-USB-auf-Standard-USB-Kabel
- 4 Distanzstücke, Schrauben, Muttern
- 1 Gehäusekasten und plattierte Leiterplatte
- 4 plattierte Leiterplatten-Befestigungsschrauben
- 3 1/8W 330 Ohm Widerstände
- 3 NTE 490 FET-Transistor
- 1 NTE 74HCT04 Integrierter TTL High Speed CMOS Hex-Inverter
- 1 OSEPP Mini-Brotbrett mit selbstklebender Rückseite
- 2 0,156”-Stiftleiste quadratischer gerader Drahtstift, 8-polig
- 20 6” F/F-Premium-Überbrückungsdrähte 22AWG
- 1 1" x 12" x 24" Holz-Montageplatte
- 1 Schwarze Sprühfarbe
- 2 Sparkfun 7-Segment-Anzeige - 6,5" (Rot)
- 2 Sparkfun Large Digit Driver Board (SLDD)
- 1 Schild „Geschwindigkeit geprüft durch Radar“
Schritt 2: Grundriss der Elektronikplatine
Ich begann mit der Hauptsteuerhardware, dem Raspberry Pi. Die Annahme hier ist, dass Sie bereits einen Raspberry Pi mit dem Betriebssystem darauf haben und einige Python-Codierungserfahrung haben. Der Raspberry Pi steuert den Radarsensor OPS241-A und nimmt die gemeldeten Geschwindigkeitsinformationen auf. Diese wird dann umgewandelt, um auf der großen LED-7-Segment-Anzeige angezeigt zu werden.
A. Ich möchte alle elektrischen Komponenten außer dem Radarsensor und den LED-Anzeigen auf einer einzigen beiliegenden Elektronikplatine platzieren, die auf der Rückseite der Anzeigeplatine montiert ist. Dies hält das Board außer Sicht und sicher vor den Elementen. Auf diese Weise müssen nur zwei Kabel von der Rückseite des Boards nach vorne verlaufen. Ein Kabel ist das USB-Kabel, das das OPS241-A-Modul mit Strom versorgt und die gemessenen Geschwindigkeitsdaten empfängt. Das zweite Kabel treibt die 7-Segment-Anzeige an.
B. Die Platine muss viel Platz für den Raspberry Pi bieten, der den größten Teil der Fläche einnimmt. Ich muss auch sicherstellen, dass ich nach der Montage problemlos auf mehrere seiner Ports zugreifen kann. Die Ports, auf die ich zugreifen muss, sind der USB-Port (OPS241-A-Modul-Geschwindigkeitsdaten), der Ethernet-Port (PC-Schnittstelle zum Entwickeln/Debuggen von Python-Code), der HDMI-Port (Anzeige des Raspberry Pi-Fensters und Debug/Entwicklung) und der Micro-USB-Port (5V Strom für Raspberry Pi).
C. Um den Zugang zu diesen Ports zu ermöglichen, werden Löcher in das Gehäuse geschnitten, die den Portpositionen auf dem Raspberry Pi entsprechen.
D. Als nächstes muss ich Platz für die Steckplatine finden, die die diskreten Elektronikkomponenten enthält, um die Anzeige-LEDs anzusteuern. Dies ist der zweitgrößte Posten. Es muss genügend Platz um ihn herum vorhanden sein, damit ich Drähte vom Raspberry Pi dazu überbrücken und Signale an einen Header zum Ansteuern der LEDs ausgeben kann. Im Idealfall, wenn ich mehr Zeit hätte, würde ich die Komponenten und Drähte direkt auf die Leiterplatte löten, anstatt ein Steckbrett zu verwenden, aber für meine Zwecke ist es gut genug.
e. Ich plane, den Displaytreiber-Header neben dem Steckbrett am Rand der Platine zu haben, damit ich meine Kabellängen kurz halten kann, und auch, um ein Loch in die Abdeckung zu schneiden und ein Kabel an den Stecker anzuschließen.
F. Schließlich erlaube ich Platz auf der Platine für einen Leistungsblock. Das System benötigt 5V für die Levelshifter und den Displaytreiber und 12V für die LEDs. Ich schließe einen standardmäßigen 5V/12V-Stromanschluss an den Stromblock an und leite dann die Stromsignale vom Block zum Steckbrett und zum LED-Header. Ich schneide ein Loch in die Abdeckung, damit ich ein 12V / 5V-Netzkabel an den Stromanschluss anschließen kann.
g. So sieht der endgültige Grundriss der Elektronikplatine aus (ohne Abdeckung):
Schritt 3: Montage des Raspberry Pi
Ich habe meinen Raspberry Pi mit 4 Abstandshaltern, Schrauben und Muttern auf einer perforierten und plattierten Leiterplatte montiert. Ich verwende gerne eine plattierte Leiterplatte, damit ich bei Bedarf Komponenten und Drähte löten kann.
Schritt 4: LED-Signalpegelschieber
Die Raspberry Pi GPIOs können jeweils maximal 3,3 V liefern. Die LED-Anzeige benötigt jedoch 5V Steuersignale. Daher musste ich eine einfache, kostengünstige Schaltung entwerfen, um die Pi-Steuersignale von 3,3 V auf 5 V zu verschieben. Die von mir verwendete Schaltung besteht aus 3 diskreten FET-Transistoren, 3 diskreten Widerständen und 3 integrierten Invertern. Die Eingangssignale kommen von den Raspberry Pi GPIOs, und die Ausgangssignale werden an einen Header geleitet, der mit einem Kabel von den LEDs verbunden ist. Die drei Signale, die umgewandelt werden, sind GPIO23 in SparkFun LDD CLK, GPIO4 in SparkFun LDD LAT und SPIO5 in SparkFun LDD SER.
Schritt 5: Große LED-Sieben-Segment-Anzeige
Zur Anzeige der Geschwindigkeit habe ich zwei große LEDs verwendet, die ich bei SparkFun gefunden habe. Sie sind 6,5 groß und sollten aus guter Entfernung lesbar sein. Um sie besser lesbar zu machen, habe ich blaues Klebeband verwendet, um den weißen Hintergrund abzudecken, obwohl Schwarz mehr Kontrast bieten kann.
Schritt 6: LED-Treiberplatine
Jede LED benötigt ein serielles Schieberegister und einen Latch zum Halten der Steuersignale vom Raspberry Pi und zum Ansteuern der LED-Segmente. SparkFun hat eine sehr gute Beschreibung dafür, dies hier zu tun. Der Raspberry Pi sendet die seriellen Daten an die LED-Sieben-Segment-Anzeigen und steuert das Latch-Timing. Die Treiberplatinen sind auf der Rückseite der LED montiert und von vorne nicht sichtbar.
Schritt 7: Montage des OPS241-A Radarmoduls
Der OPS241-A Radarsensor ist in eine 3D-gedruckte Halterung eingeschraubt, die ein Freund für mich gemacht hat. Alternativ hätte ich es auch direkt in die Platine schrauben können. Der Radarsensor ist auf der Vorderseite der Platine neben den LEDs montiert. Das Sensormodul wird mit horizontal montierten Antennen (goldene Patches oben auf der Platine) montiert, obwohl das Spezifikationsblatt besagt, dass das Antennenmuster sowohl in horizontaler als auch in vertikaler Richtung ziemlich symmetrisch ist, so dass eine Drehung um 90 ° wahrscheinlich in Ordnung wäre. Bei Montage an einem Telefonmast zeigt der Radarsensor nach außen auf der Straße. Es wurden ein paar verschiedene Höhen ausprobiert und es wurde festgestellt, dass eine Höhe von etwa 2 m am besten ist. Je höher, und ich würde vorschlagen, das Brett möglicherweise ein wenig nach unten zu neigen.
Schritt 8: Strom- und Signalanschlüsse
Es gibt zwei Stromquellen für das Schild. Eines ist ein umgebautes HDD-Netzteil, das sowohl 12V als auch 5V liefert. Die 7-Segment-Anzeige benötigt 12V für die LEDs und 5V Signalpegel. Die Konverterplatine nimmt die 3,3-V-Signale vom Raspberry Pi auf und verschiebt sie wie oben beschrieben auf 5V für das Display. Das andere Netzteil ist ein Standard Handy oder Tablet 5V USB Adapter mit USB Micro Anschluss für den Raspberry Pi.
Schritt 9: Endmontage
Um den Radarsensor, die LEDs und die Controllerplatine zu halten, wurde alles auf einem 12 "x 24" x 1" Holzstück montiert. Die LEDs wurden auf der Vorderseite zusammen mit dem Radarsensor und der Controllerplatine in seinem Gehäuse montiert Rückseite. Das Holz wurde schwarz lackiert, um die Lesbarkeit der LEDs zu verbessern. Strom- und Steuersignale für die LED wurden durch ein Loch im Holz hinter den LEDs geführt. Der Radarsensor wurde auf der Vorderseite neben den LEDs montiert Das USB-Strom- und Steuerkabel für den Radarsensor wurde oben auf das Holzbrett gewickelt. Ein paar Löcher in der Oberseite des Bretts mit Kabelbindern boten eine Möglichkeit, das Board an einem Telefonmast neben dem "Speed Checked by" zu befestigen Radar“-Zeichen.
Die Controllerplatine wurde zusammen mit dem Netzteil an der Rückseite der Platine verschraubt.
Schritt 10: Python-Code
Python, das auf dem Raspberry Pi läuft, wurde verwendet, um das System zusammenzuführen. Der Code befindet sich auf GitHub. Die Hauptbestandteile des Codes sind Konfigurationseinstellungen, Daten, die über einen USB-seriellen Anschluss vom Radarsensor gelesen werden, die Umwandlung von Geschwindigkeitsdaten in die Anzeige und die Anzeige der Zeitsteuerung.
Die Standardkonfiguration des Radarsensors OPS241-A ist in Ordnung, aber ich habe festgestellt, dass für die Startkonfiguration einige Anpassungen erforderlich waren. Dazu gehörten die Umstellung von m/s-Berichten auf mph, die Änderung der Abtastrate auf 20 kps und die Anpassung der Squelch-Einstellung. Die Abtastrate bestimmt direkt die Höchstgeschwindigkeit, die gemeldet werden kann (139 Meilen pro Stunde) und beschleunigt die Melderate.
Ein wichtiger Lerneffekt ist die Einstellung des Squelch-Werts. Anfangs stellte ich fest, dass der Radarsensor die Autos nicht aus einer sehr großen Entfernung erfasste, vielleicht nur 5-10 m. Ich dachte, ich hätte den Radarsensor vielleicht zu hoch eingestellt, da er etwa 2,7 Meter über der Straße positioniert war. Es schien nicht zu helfen, es auf 4 Fuß zu senken. Dann sah ich die Squelch-Einstellung im API-Dokument und änderte sie auf die sensibelste (QI oder 10). Damit erhöhte sich die Erfassungsreichweite deutlich auf 10-30 m (30-100 Fuß).
Die Aufnahme der Daten über einen seriellen Port und die Übersetzung zum Senden an die LEDs war ziemlich einfach. Bei den 20ksps werden Geschwindigkeitsdaten etwa 4-6 Mal pro Sekunde gemeldet. Das ist etwas schnell und nicht gut, wenn sich die Anzeige so schnell ändert. Der Anzeigesteuercode wurde hinzugefügt, um jede Sekunde nach der schnellsten gemeldeten Geschwindigkeit zu suchen und dann diese Zahl anzuzeigen. Dies führt zu einer Verzögerung von einer Sekunde bei der Meldung der Nummer, aber das ist in Ordnung oder kann leicht angepasst werden.
Schritt 11: Ergebnisse und Verbesserungen
Ich habe meine eigenen Tests durchgeführt, indem ich ein Auto mit festgelegten Geschwindigkeiten daran vorbeigefahren habe, und die Messwerte stimmten relativ gut mit meiner Geschwindigkeit überein. OmniPreSense sagte, dass das Modul getestet wurde und es die gleichen Tests bestehen kann, die eine Standard-Polizei-Radarpistole mit einer Genauigkeit von 0,5 Meilen pro Stunde durchläuft.
Zusammenfassend war dies ein großartiges Projekt und eine schöne Möglichkeit, etwas Sicherheit für meine Straße zu schaffen. Es gibt ein paar Verbesserungen, die dies noch nützlicher machen können, die ich in einem Folgeupdate untersuchen werde. Die erste besteht darin, größere und hellere LEDs zu finden. Laut Datenblatt handelt es sich um 200-300 mcd (Millicandela). Auf jeden Fall ist etwas Höheres erforderlich, da die Sonne bei Tageslicht leicht ausgewaschen wird. Alternativ kann das Hinzufügen einer Abschirmung um die Kanten der LEDs das Sonnenlicht fernhalten.
Die gesamte Lösung wetterfest zu machen ist erforderlich, wenn sie dauerhaft veröffentlicht werden soll. Glücklicherweise ist dies Radar und die Signale werden leicht durch ein Kunststoffgehäuse geleitet. Sie müssen nur eines in der richtigen Größe finden, das auch wasserdicht ist.
Endlich ein Kameramodul zum Raspberry Pi hinzuzufügen, um ein Foto von jedem zu machen, der die Geschwindigkeitsbegrenzung auf unserer Straße überschreitet, wäre wirklich großartig. Ich könnte dies weiterführen, indem ich das WLAN an Bord nutzte und eine Warnung und ein Bild des zu schnell fahrenden Autos schickte. Das Hinzufügen eines Zeitstempels, eines Datums und einer erkannten Geschwindigkeit zum Bild würde die Dinge wirklich abrunden. Vielleicht gibt es sogar eine einfache App, die die Informationen schön präsentieren kann.