Inhoudsopgave:

Low Cost Radar Speed Sign - Ajarnpa
Low Cost Radar Speed Sign - Ajarnpa

Video: Low Cost Radar Speed Sign - Ajarnpa

Video: Low Cost Radar Speed Sign - Ajarnpa
Video: Patience and Renunciation | Ajahn Brahm | 19 January 2024 2024, Juli-
Anonim
Lage kosten radar snelheidsbord
Lage kosten radar snelheidsbord

Heb je ooit je eigen goedkope radarsnelheidsbord willen bouwen? Ik woon in een straat waar auto's te snel rijden, en ik maak me zorgen over de veiligheid van mijn kinderen. Ik dacht dat het veel veiliger zou zijn als ik zelf een radarsnelheidsbord zou kunnen installeren dat de snelheid weergeeft, zodat ik chauffeurs kan laten vertragen. Ik heb online gekeken naar het kopen van een radarsnelheidsbord, maar ik ontdekte dat de meeste borden meer dan $ 1.000 kosten, wat behoorlijk duur is. Ik wil ook niet het lange proces doorlopen van de stad om een bord te installeren, aangezien ik heb gehoord dat het hen meer dan $ 5.000-10.000 kan kosten. In plaats daarvan besloot ik zelf een goedkope oplossing te bouwen en te besparen wat geld terwijl je plezier hebt.

Ik ontdekte OmniPreSense, dat een goedkope korteafstandsradarsensormodule biedt die ideaal is voor mijn toepassing. De vormfactor van de PCB-module is erg klein met slechts 2,1 x 2,3 x 0,5 inch en weegt slechts 11 g. De elektronica is op zichzelf staand en volledig geïntegreerd, dus er zijn geen eindbuizen, omvangrijke elektronica of veel stroom nodig. Het bereik voor een groot object zoals een auto is 50 ft tot 100 ft (15 m tot 30 m). De module neemt alle snelheidsmetingen, verwerkt alle signaalverwerking en voert vervolgens eenvoudig de onbewerkte snelheidsgegevens uit via de USB-poort. Ik gebruik een goedkope Raspberry Pi (of Arduino, of iets anders met een USB-poort) om de gegevens te ontvangen. Met een klein beetje python-codering en enkele grote goedkope LED's op een bord, kan ik de snelheid weergeven. Mijn displaybord kan aan een paal aan de kant van de weg worden bevestigd. Door een bord met de tekst "Speed Checked by RADAR" boven het display toe te voegen, heb ik nu mijn eigen radarsnelheidsbord dat de aandacht van de chauffeurs trekt en ze afremt! Dit alles voor minder dan $ 500!

Stap 1: Materialen en gereedschappen

Materialen en gereedschappen
Materialen en gereedschappen
  • 1 OPS241-A radarsensor voor kort bereik
  • 1 OPS241-A montage (3D geprint)
  • 1 Raspberry Pi Model B v1.2
  • 1 5V microUSB-voeding
  • 1 Rhino Model AS-20 110V naar 12V/5V 4-pins molex voeding en voedingskabel
  • 1 Klemmenblok 3 polen Verticaal, 5,0 mm hart
  • 1 Micro-USB naar standaard USB-kabel
  • 4 afstandhouders, schroeven, moeren
  • 1 Behuizingsdoos en vergulde PCB
  • 4 vergulde PCB-montageschroeven
  • 3 1/8W 330ohm weerstanden
  • 3 NTE 490 FET-transistor
  • 1 NTE 74HCT04 Geïntegreerde TTL High Speed CMOS hex-omvormer
  • 1 OSEPP mini broodplankje met zelfklevende achterkant
  • 2 0,156” header vierkante rechte draadpen, 8-circuit
  • 20 6” F/F premium jumperdraden 22AWG
  • 1 1 "x 12" bij 24 "houten montageplaat
  • 1 zwarte spuitverf
  • 2 Sparkfun 7-segments display - 6.5” (rood)
  • 2 Sparkfun driverboard met grote cijfers (SLDD)
  • 1 "Snelheid gecontroleerd door Radar"-bord

Stap 2: Plattegrond van de elektronische printplaat

Plattegrond van de elektronische printplaat
Plattegrond van de elektronische printplaat

Ik begon met de belangrijkste besturingshardware, de Raspberry Pi. De veronderstelling hier is dat je al een Raspberry Pi hebt met het besturingssysteem erop en enige ervaring hebt met het coderen van Python. De Raspberry Pi bestuurt de OPS241-A radarsensor en neemt de gerapporteerde snelheidsinformatie op. Dit wordt vervolgens omgezet om te worden weergegeven op het grote 7-segments LED-display.

A. Ik wil alle elektrische componenten behalve de radarsensor en LED-displays op een enkele ingesloten elektronische printplaat plaatsen die aan de achterkant van de displaykaart is gemonteerd. Dit houdt het bord uit het zicht en beschermd tegen de elementen. Op deze manier hoeven er slechts twee kabels van de achterkant van het bord naar de voorkant te lopen. Eén kabel is de USB-kabel die de OPS241-A-module van stroom voorziet en de gemeten snelheidsgegevens ontvangt. De tweede kabel drijft het 7-segments display aan.

B. De printplaat moet voldoende ruimte bieden voor de Raspberry Pi, die het grootste deel van het gebied in beslag neemt. Ik moet er ook voor zorgen dat ik gemakkelijk toegang heb tot verschillende van zijn poorten zodra deze zijn gemonteerd. De poorten die ik nodig heb, zijn de USB-poort (OPS241-A-modulesnelheidsgegevens), Ethernet-poort (pc-interface voor het ontwikkelen/debuggen van Python-code), HDMI-poort (weergeven Raspberry Pi-venster en debuggen/ontwikkeling) en de micro-USB-poort (5V voeding voor Raspberry Pi).

C. Om deze poorten toegang te geven, zijn er gaten in de behuizing gemaakt die overeenkomen met de poortlocaties op de Raspberry Pi.

NS. Vervolgens moet ik ruimte vinden voor het breadboard dat de discrete elektronische componenten bevat om de display-LED's aan te sturen. Dit is het op één na grootste item. Er moet voldoende ruimte omheen zijn zodat ik er draden vanaf de Raspberry Pi naar toe kan sturen en signalen kan uitvoeren naar een header voor het aansturen van de LED's. Idealiter zou ik, als ik meer tijd had, de componenten en draden rechtstreeks op de printplaat solderen in plaats van een breadboard te gebruiken, maar voor mijn doeleinden is het goed genoeg.

e. Ik ben van plan om de header van de displaydriver naast het breadboard aan de rand van de printplaat te hebben, zodat ik mijn draadlengtes kort kan houden, en ook zodat ik een gat in de kap kan maken en een kabel op de connector kan aansluiten.

F. Ten slotte laat ik op de print ruimte voor een stroomblok. Het systeem vereist 5V voor de niveauverschuivers en displaydriver, en 12V voor de LED's. Ik sluit een standaard 5V/12V-voedingsconnector aan op het voedingsblok en leid vervolgens de voedingssignalen van het blok naar het breadboard en de LED-header. Ik heb een gat in de kap gemaakt zodat ik een 12V/5V netsnoer op de stroomaansluiting kan aansluiten.

G. Dit is hoe de uiteindelijke plattegrond van de elektronica-PCB eruit ziet (met deksel eraf):

Stap 3: Montage van de Raspberry Pi

De Raspberry Pi monteren
De Raspberry Pi monteren

Ik heb mijn Raspberry Pi op een geperforeerde en vergulde printplaat gemonteerd met behulp van 4 afstandhouders, schroeven en moeren. Ik gebruik graag een vergulde printplaat, zodat ik componenten en draden kan solderen als dat nodig is.

Stap 4: LED-signaalniveauverschuivers

LED-signaalniveauverschuivers
LED-signaalniveauverschuivers

De Raspberry Pi GPIO's kunnen elk maximaal 3,3 V leveren. Het LED-display vereist echter 5V-stuursignalen. Daarom moest ik een eenvoudig, goedkoop circuit ontwerpen om de Pi-besturingssignalen van 3,3 V naar 5 V te verschuiven. Het circuit dat ik heb gebruikt, bestaat uit 3 discrete FET-transistoren, 3 discrete weerstanden en 3 geïntegreerde omvormers. De ingangssignalen komen van de Raspberry Pi GPIO's en de uitgangssignalen worden doorgestuurd naar een header die wordt aangesloten op een kabel van de LED's. De drie signalen die worden omgezet zijn GPIO23 naar SparkFun LDD CLK, GPIO4 naar SparkFun LDD LAT en SPIO5 naar SparkFun LDD SER.

Stap 5: Groot LED-display met zeven segmenten

Groot LED-display met zeven segmenten
Groot LED-display met zeven segmenten

Voor het weergeven van de snelheid heb ik twee grote LED's gebruikt die ik op SparkFun vond. Ze zijn 6,5 lang, wat vanaf een goede afstand leesbaar zou moeten zijn. Om ze leesbaarder te maken, heb ik blauwe tape gebruikt om de witte achtergrond te bedekken, hoewel zwart voor meer contrast kan zorgen.

Stap 6: LED-stuurprogrammakaart

LED-stuurprogrammakaart
LED-stuurprogrammakaart

Elke LED vereist een serieel schuifregister en vergrendeling voor het vasthouden van de besturingssignalen van de Raspberry Pi en het aansturen van de LED-segmenten. SparkFun heeft een zeer goede beschrijving om dit hier te doen. De Raspberry Pi stuurt de seriële gegevens naar de LED-schermen met zeven segmenten en regelt de timing van de vergrendeling. De driverboards zijn aan de achterkant van de LED gemonteerd en zijn vanaf de voorkant niet zichtbaar.

Stap 7: De OPS241-A radarmodule monteren

De OPS241-A radarsensor is in een 3D-geprinte houder geschroefd die een vriend voor mij heeft gemaakt. Als alternatief had ik het rechtstreeks in het bord kunnen schroeven. De radarsensor is aan de voorkant van het bord naast de LED's gemonteerd. De sensormodule is gemonteerd met de antennes (gouden patches aan de bovenkant van het bord) horizontaal gemonteerd, hoewel het specificatieblad zegt dat het antennepatroon zowel in horizontale als verticale richting behoorlijk symmetrisch is, dus 90° draaien zou waarschijnlijk goed zijn. Bij montage op een telefoonpaal is de radarsensor naar de straat gericht. Er werden een paar verschillende hoogtes geprobeerd en vond het plaatsen van het ongeveer 2 m hoog de beste. Elke hogere en ik zou willen voorstellen om het bord een beetje naar beneden te kantelen.

Stap 8: Stroom- en signaalverbindingen

Stroom- en signaalaansluitingen
Stroom- en signaalaansluitingen

Er zijn twee stroombronnen voor het bord. Een daarvan is een omgebouwde HDD-voeding die zowel 12V als 5V levert. Het 7-segments display vereist 12V voor de LED's en 5V signaalniveaus. Het converterbord neemt de 3.3V-signalen van de Raspberry Pi en verschuift ze naar 5V voor het display zoals hierboven besproken. De andere voeding is een standaard mobiele telefoon of tablet 5V USB adapter met USB micro connector voor de Raspberry Pi.

Stap 9: definitieve montage

Eindmontage
Eindmontage
Eindmontage
Eindmontage

Om de radarsensor, LED's en controllerkaart vast te houden, werd alles op een stuk hout van 12 "x 24" x 1" gemonteerd. De LED's werden aan de voorkant gemonteerd, samen met de radarsensor en de controllerkaart in zijn behuizing op de achterkant. Het hout is zwart geverfd om de LED's beter leesbaar te maken. Stroom- en stuursignalen voor de LED werden door een gat in het hout achter de LED's geleid. De radarsensor werd aan de voorkant naast de LED's gemonteerd. De USB-voedings- en besturingskabel voor de radarsensor was over de bovenkant naar het houten bord gewikkeld. Een paar gaten in de bovenkant van het bord met tie-wraps zorgden ervoor dat het bord op een telefoonpaal naast de "Speed Checked by Radar"-teken.

Het controllerbord was samen met de voedingsadapter aan de achterkant van het bord vastgeschroefd.

Stap 10: Python-code

Python die op de Raspberry Pi draaide, werd gebruikt om het systeem samen te trekken. De code staat op GitHub. De belangrijkste onderdelen van de code zijn configuratie-instellingen, gegevens die via een USB-seriële poort van de radarsensor worden gelezen, snelheidsgegevens converteren naar weergave en timingcontrole.

De standaardconfiguratie op de OPS241-A-radarsensor is prima, maar ik ontdekte dat er een paar aanpassingen nodig waren voor de opstartconfiguratie. Deze omvatten het wijzigen van m/s-rapportage naar mph, het wijzigen van de samplefrequentie naar 20 ksps en het aanpassen van de squelch-instelling. De samplefrequentie bepaalt direct de topsnelheid die kan worden gerapporteerd (139 mph) en versnelt de rapportagesnelheid.

Een belangrijk leerpunt is de instelling van de squelch-waarde. Aanvankelijk ontdekte ik dat de radarsensor de auto's niet op een zeer grote afstand oppikte, misschien slechts 5-10 meter. Ik dacht dat ik de radarsensor misschien te hoog had ingesteld omdat hij ongeveer 7 voet boven de straat was geplaatst. Het naar beneden brengen tot 4 voet leek niet te helpen. Toen zag ik de squelch-instelling in het API-document en veranderde deze in de meest gevoelige (QI of 10). Hiermee nam het detectiebereik aanzienlijk toe tot 30-100 voet (10-30 m).

Het opnemen van de gegevens via een seriële poort en het vertalen voor verzending naar de LED's was redelijk eenvoudig. Bij de 20 ksps worden snelheidsgegevens ongeveer 4-6 keer per seconde gerapporteerd. Dat is een beetje snel en niet goed om het scherm zo snel te laten veranderen. Er is een weergavecontrolecode toegevoegd om elke seconde naar de snelste gerapporteerde snelheid te zoeken en dat nummer vervolgens weer te geven. Dit zorgt voor een vertraging van een seconde bij het melden van het nummer, maar dat is oké of kan eenvoudig worden aangepast.

Stap 11: Resultaten en verbeteringen

Resultaten en verbeteringen
Resultaten en verbeteringen

Ik deed mijn eigen tests door er een auto langs te rijden met ingestelde snelheden en de metingen kwamen relatief goed overeen met mijn snelheid. OmniPreSense zei dat ze de module hebben laten testen en dat deze dezelfde tests doorstaat als een standaard politieradarkanon met een nauwkeurigheid van 0,5 mph.

Samenvattend, dit was een geweldig project en een leuke manier om wat veiligheid voor mijn straat in te bouwen. Er zijn een paar verbeteringen die dit nog nuttiger kunnen maken, wat ik in een vervolgupdate zal bekijken. De eerste is het vinden van grotere en helderdere LED's. De datasheet zegt dat deze 200-300 mcd (millicandela) zijn. Er is absoluut iets hogers nodig dan dit, omdat de zon gemakkelijk wegspoelt als je ze bij daglicht bekijkt. Als alternatief kan het toevoegen van afscherming rond de randen van de LED's het zonlicht buiten houden.

Het is nodig om de hele oplossing weerbestendig te maken als deze permanent wordt geplaatst. Gelukkig is dit radar en gaan de signalen gemakkelijk door een plastic behuizing, je moet er alleen een vinden van de juiste maat die ook waterdicht is.

Eindelijk een cameramodule toevoegen aan de Raspberry Pi om een foto te maken van iedereen die de snelheidslimiet in onze straat overschrijdt, zou echt geweldig zijn. Ik kon dit verder gaan door gebruik te maken van de wifi aan boord en een waarschuwing en een foto van de snel rijdende auto te sturen. Het toevoegen van een tijdstempel, datum en gedetecteerde snelheid aan de afbeelding zou het echt afmaken. Misschien is er zelfs een eenvoudige app om te bouwen die de informatie mooi kan presenteren.

Aanbevolen: