Radar-Verkehrsmessung: Unterschied zwischen den Versionen
(→Server) |
K (→Server) |
||
Zeile 175: | Zeile 175: | ||
Der Server dient zur Speicherung und Darstellung der Messwerte der verschiedenen Geräte. Der Server wurde in Python mit dem Framework ''Flask'' geschrieben. Zusätzliche Python-Pakete werden für die weiteren Funktionen eingesetzt. | Der Server dient zur Speicherung und Darstellung der Messwerte der verschiedenen Geräte. Der Server wurde in Python mit dem Framework ''Flask'' geschrieben. Zusätzliche Python-Pakete werden für die weiteren Funktionen eingesetzt. | ||
Die Anbindung des Servers and TheThingsNetwork erfolget über die [[ | Die Anbindung des Servers and TheThingsNetwork erfolget über die [[https://www.thethingsnetwork.org/docs/applications/manager/|API]]. Für Python steht hierfür ein [[https://pypi.org/project/ttn/2.1.0/|SDK]] bereit. Damit können die einzelnen Geräte des TTN-Servers aufgelistet und die Metadaten (Standort, Beschreibung, ID) ausgelesen werden. Das Empfangen der Daten erfolgt über Einrichten einer HTTP Integration in der TTN-Weboberfläche. Nach korrekter Einrichtung Sendet der TTN-Server bei jedem erfolgerichem Uplink das Datenpaket an den Verkehrsmessung-Server. Über die Weboberfläche der Things-Console kann dabei zu Testzwecken ein Uplink simuliert werden. | ||
Die Informationen zu den Geräten und den Datenpaketen werden in einer Datenbank gespeichert. Hierfür wurde postgres verwendet, da für Python mit dem Paket ''flask_sqlalchemy'' hierfür eine bequemene Schnittstelle zur Verfügung steht. | Die Informationen zu den Geräten und den Datenpaketen werden in einer Datenbank gespeichert. Hierfür wurde postgres verwendet, da für Python mit dem Paket ''flask_sqlalchemy'' hierfür eine bequemene Schnittstelle zur Verfügung steht. | ||
Die Darstellung der Messwerte erfolgt auf einer Website. Hier wurde ein [[ | Die Darstellung der Messwerte erfolgt auf einer Website. Hier wurde ein [[https://www.w3schools.com/w3css/tryw3css_templates_analytics.htm|fertiges Template]] verwendet und entsprechend angepasst. Die Darstellung der einzelnen Grafiken erfolgt mit der Bibliothek ''bokeh'', welche eine Python-Schnittstelle für interaktive JavaScript-Plots bereitstellt. | ||
Auf der Website gibt es verschiedene Unterseiten: | Auf der Website gibt es verschiedene Unterseiten: |
Version vom 2. Juli 2020, 11:45 Uhr
von ProjektAE
In dieser Dokumentation beschreiben wir, sechs Studenten, unser Vorgehen bei dem Projekt "Radar-Verkehrsmessung". Das Projekt ist im Rahmen eines Projektkurses zu vernetzten und energieautarken Sensoren entstanden. Wir haben uns dabei für die Entwicklung eines Systems zur Erstellung einer Verkehrsstatistik entschieden.
Das Messsystem soll aus einem Server und einem oder mehreren Geräten bestehen, welche am Straßenrand installiert werden. Jedes der Geräte enthält einen Doppler-CW-Radar, mit dem Kraftfahrzeuge erfasst, gezählt und deren Geschwindigkeit gemessen werden können. Die Daten werden nach der Erfassung zu statistischen Werten zusammengefasst und in regelmäßigen Zeitabständen via LoraWAN an den Server gesendet. Dort werden die Daten gespeichert, aufbereitet und auf einer Website bereitgestellt.
Das Projekt befindet sich aktuell noch im Aufbau und ist noch nicht fertiggestellt.
Einleitung
Zuerst eine kurze Auflistung der wichtigsten Merkmale, die das Radar-Messgerät erfüllen soll:
- Betriebsbedingungen:
- IP-Schutzklasse: mindestens IPX4 (Schutz gegen allseitiges Spritzwasser)
- Temperaturbereich: 0 °C ... 30 °C Umgebungstemperatur
- Einsatzregion: Deutschland → innerhalb der in Deutschland verfügbaren Frequenzbänder und gültigen Regulierungen (Radarmodul ist zertifiziert nach ETSI EN 300 440)
- Betriebsdauer: mindenstens 168 h im Akkubetrieb, Optional: Verlängerung durch ein Solarmodul.
- Funktionen:
- Akku-Pack ist wechselbar
- Geschwindigkeiten zwischen 20 und 100 km/h messbar
- Messung auf einspuriger Fahrbahn in eine Fahrtrichtung
- Übertragung der Messdaten über LoRa
- Statistische Auswertung der Messdaten auf externem Server
Auswahl der Komponenten
TODO: Argumente für die Auswahl der Hauptkomponenten (aus Issues Evaluation Radarsensor, Solarmodul, Akku, uC)
Radarsensor
Für den Radarsensor kamen zwei Kategorien in Frage: CW-Radar (= unmodulierter Dauerstrichradar) und FMCW-Radar (= frequenzmodulierter Dauerstrichradar). Mit letzterem ist außer der Geschwindigkeitsbestimmung mittels Doppler-Effekt zusätzlich noch eine Entfernungsbestimmung möglich. Da diese Sensoren aber um einiges teurer sind und die Entfernungsbestimmung nicht Teil des Projektes ist, wurde sich für einen CW-Radar entschieden.
Auf Grund seines vielseitigen Angebots und guter Verfügbarkeit in Elektronik-Online-Shops haben wir uns für den Hersteller Innosent entschieden.
Die angebotenen Radarsensoren wurden nach folgenden Kriterien aussortiert:
- niedriger Preis
- Versorgungsspannung möglichst 3,3 V
- niedrige Stromaufnahme
- schmales Antennenpattern
So fiel die Auswahl auf:
SMR-333 (Stereo, Vpp = 3,2..3,4 V, 47..57 mA, Pout = 12.7 dBm max, SMT-mountable, Integrated LNA, signal level 120..360 uVrms, noise level = 20 uVrms max, narrow antenna pattern)
Solarmodul
Akku
uC
Datenübertragung
Stückliste
Im Folgenden sind alle Komponenten, welche für den Aufbau des Messgeräts benötigt werden, aufgelistet. Bis auf die Komponenten für das Akku-Pack und das Solarmodul, können alle Komponenten bei DigiKey bestellt werden.
Name | Beschreibung | Distributor | Bestell-Nr. | Menge | Stückpreis | Preis Gesamt |
---|---|---|---|---|---|---|
µC-Board | NUCLEO-64 STM32F302R8 | DigiKey | 497-14594-ND | 1 | 11,91 € | 11,91 € |
LoRa-Modul | RFM95W-868S2 | DigiKey | RFM95W-868S2-ND | 2 | 15,81 € | 15,81 € |
OPV für Vorverstärker | ADA4841 | DigiKey | ADA4841-2YRZ-ND | 3 | 6,89 € | 20,67 € |
MOSFET | FDV304P | DigiKey | FDV304PCT-ND | 3 | 0,26 € | 0,78 € |
NPN Transistor | BCW60C | DigiKey | 1727-1574-1-ND | 3 | 0,26 € | 0,78 € |
C 2µ2 | CC0805KRX5R7BB225 | DigiKey | 311-3428-1-ND | 10 | 0,16 | 1,60 |
C 1n5 | CC0805KRX7R9BB152 | DigiKey | 311-1128-1-ND | 10 | 0,10 € | 1,00 € |
R 1k2 | CRGCQ0805F1K2 | DigiKey | A129750CT-ND | 10 | 0,05 € | 0,50 € |
R 10k | RC0805FR-0710KL | DigiKey | 311-10.0KCRCT-ND | 25 | 0,04 € | 1,00 € |
R 15k | CRGCQ0805F15K | DigiKey | A129763CT-ND | 10 | 0,05 € | 0,05 € |
Poti 10k | 3361P-1-103GLF | DigiKey | 3361P-103GLFCT-ND | 4 | 1,51 € | 6,04 € |
Protoshieled Bare PCB | DEV-13819 | DigiKey | 1568-1865-ND | 2 | 5,42€ | 10,82 € |
Pin Header Arduino | PRT-11417 | DigiKey | 1568-1413-ND | 2 | 1.65€ | 3,30 € |
DC/DC Wandler | DFR0568 | DigiKey | 1738-1439-ND | 2 | 3.47€ | 6,94 € |
OPV für Stromversorgung | MCP6241-E/P | DigiKey | MCP6241-E/P-ND | 3 | 0,32€ | 0,96 € |
Stecker-Akku | CP-2215-ND | DigiKey | CP-2215-ND | 3 | 4,32€ | 12,96€ |
Lochrasterplatine | 8029 | DigiKey | V2025-ND | 1 | 7,58€ | 7,58 € |
Draht Schwarz 1,5m | C2003A.12.01 | DigiKey | C2003B-5-ND | 1 | 1,07€ | 1,07 € |
Draht Rot 1,5m | C2003A.12.03 | DigiKey | C2003R-5-ND | 1 | 1,07€ | 1,07 € |
Draht Gelb 1,5m | C2003A.12.05 | DigiKey | C2003Y-5-ND | 1 | 1,05€ | 1,05 € |
Stiftleiste 6pol | PH1-06-UA | DigiKey | 2057-PH1-06-UA-ND | 3 | 0.13€ | 0,39 € |
Buchse 6pol | 09185067813 | DigiKey | 1195-1670-ND | 2 | 1.54€ | 3,08 € |
Gehäuse | PTS-25323 | DigiKey | 377-2418-ND | 1 | 17,84 € | 17,84€ |
Schalter | M2011S2A1W01 | DigiKey | 360-3240-ND | 1 | 4,30 € | 4,30 € |
Abstandsbolzen mit Schraube | 24337 | DigiKey | 36-24337-ND | 10 | 0,49 € | 4,90 € |
Abstandsbolzen | R30-1000402 | DigiKey | 952-3008-ND | 10 | 0,30 € | 3,00 € |
Kabel wasserdicht | 743 | DigiKey | 1528-2000-ND | 2 | 2,70 € | 5,40 € |
Klebeband elek. isol. | 33+SUPER-3/4X20FT | DigiKey | 3M156004-ND | 1 | 4,18€ | 4,18 € |
Stiftleiste 3 pol | PH1-03-UA | DigiKey | 2057-PH1-03-UA-ND | 5 | 0,11€ | 0,55 € |
Stiftbuchse 3 pol | PPPC031LFBN-RC | DigiKey | S7036-ND | 5 | 0,40€ | 2,00 € |
Wärmeschrumpfschläuche Schwarz | F221V1/16 BK060 | DigiKey | F221V1/16BK060-ND | 1 | 0,89€ | 0,89 € |
Wärmeschrumpfschläuche Rot | F2211/16 RD060 | DigiKey | F2211/16RD060-ND | 1 | 0,89€ | 0,89 € |
Wärmeschrumpfschläuche Gelb | F2211/16 YL060 | DigiKey | F2211/16YL060-ND | 1 | 0,89€ | 0,89 € |
Solarmodul | 2.5W 5V / 500mAh | Amazon | Link | 1 | 13,99€ | 13,99 € |
Akkus mit U-Lötfahne | LG INR18650MJ1 ... + Lötfahne U | Akkuteile.de | 1006971 | 7 | 6,20€ | 43,40 € |
BMS | 1S PCB - Keeppower PCM KP-1600-S1 | Akkuteile.de | 200507 | 1 | 2,90€ | 2,90 € |
Fuyuang (Enerpower) 1S 3,6V - 3,7V (4,2V) | Li-Ion-Ladegerät 2A | Akkuteile.de | 400619 | 1 | 11,90€ | 11,90 € |
Software
In diesem Kapitel werden alle von uns erstellten Software-Komponenten beschrieben. Das vorverstärkte sinusartige Signal des Radarsensors wird über einen I/O-Pin mit dem ADC mit einer 10 kHz Sampling-Frequenz ausgewertet und in einen Buffer geschrieben. So bald eine bestimmte Anzahl an Werten im Speicher steht, wird dieser dem Hauptprogramm übergeben und mittels einer FFT ausgewertet. Aus den ermittelten Frequenzen werden die zugehörigen Geschwindigkeiten berechnet und zu statistischen Mittelwerten zusammengefasst. Diese Werte werden in festgelegten Zeitabständen via LoRa-Wan an einen Server übermittelt, der diese dann auf einer Website darstellt. Als Entwicklungsumgebung haben wir uns für die STM Cube IDE entschieden, um allen Betriebssystemen und Wissensständen in der Gruppe gerecht zu werden.
ADC
Rahmenbedingungen, der STM hat 2 ADCs zur verfügung,... Beschreibung des Codes, der einzelnen funktionen Beschreibung schrittweisem test mit Potentiometer und test-code Bild von Aufbau, evtl. screenshot von werten in register oder speicher
Signalverarbeitung
Ziel der Signalverarbeitung ist es aus den aufgenommenen Rohdaten des ADCs einzelne Autos zu erkennen und deren Geschwindigkeit zu ermitteln.
Die Information der Geschwindigkeit eines Autos steckt in der Frequenz des Signals. Um diese Information auswerten zu können wird eine FFT verwendet. Die Funktion void fft_l512(q15_t *real_data, q15_t *imag_data) berechnet eine komplexe Fourier-Transformation. Als Datentyp wird eine 16Bit Festkommazahl in dem Format q15_t verwendet. Da das Eingangssignal in diesem Fall nur reell ist, besteht der Imaginärteil aus einem Array gefüllt mit 0. Das Ergebnis der FFT überschreibt die Daten des Eingabe-Arrays. Danach wird aus dem komplexen Frequenzspektrum wird mit der Funktion abs_squared das reelle Amplitudenquadrat gebildet. Hieraus kann mithilfe der Funktion arg_max die Frequenz mit maximale Pegel bestimmt werden. Diese Frequnz wird dann in einen Geschwindigkeitswert umgerechnet.
Der letzte Teil der Signalverarbeitung besteht darin, aus den vielen Geschwindigkeitsinformationen der einzelnen Messungen die einzelnen Autos und ihre Geschwindigkeiten herauszufinden. Hierfür wurde zum einen ein Pegel-Schwellwert (THRESHOLD) definiert, ab welchem eine Geschwindigkeit als valide erklärt wird. Zusätzlich zwei zeitliche Schwellwerte definiert. Ein Schwellwert (TIME_CAR_LENGTH) legt fest, wie viele Geschwindigkeits-Messwerte für ein Auto mindestens benötigt werden. Der andere Schwellwert (TIME_CAR_PAUSE) sagt aus wie viele Zeiteinheiten nichts detektiert werden darf, damit ein Messwert zu einem neuen Auto gehört. Hierrüber wird also die Pause zwischen den Autos definiert.
Datenkomprimierung
LoRa
Damit der STM32 in unserem Aufbau mit der Außenwelt kommunizieren kann, haben wir uns hier für LoRa entschieden.
Die Vorteile sind vielschichtig:
- Lange Strecke (~20 km)
- Sehr Energiesparend
- Großes Weltweites Netzwerk an Gateways, die mit dem Internet Verbunden sind.
Als LoRaWAN Anbieter haben wir uns für TheThingsNetwork entschieden, da es dort mehr als 11851 Gateways in über 150 Länder gibt, und das Webinterface einfach zu handhaben ist.
Die Bekannteste Bibliothek für die Authentifizierung für LoRaWAN ist hier die LMIC Bibliothek von IBM für Arduino. Von dieser gibt es auch eine Version für den STM32, welche hier zu finden ist. Mithilfe des Videos lässt sich das LoRa-Modul mit dem STM32 verbinden und testen.
In unserem Test konnten leider keine Pakete gesendet werden, lediglich die Authentifizierung hat geklappt. Dies könnte mehrere Ursachen haben:
- Bibliothek funktioniert nicht richtig
- schlechter Empfang
Aufgrund von Zeitmangel und schlechter Gateway-Infrastruktur im ländlichen Bereich haben wir uns im nachgang dazu entschieden, eine einfache LoRa Strecke ohne Gateways aufzubauen. Dazu sendet der STM32 seine Daten über den LoRa an einen Arduino, den wir in der nähe des Gerätes platzieren müssen. Der Arduino dient dann als LoRa zu Ethernet umsetzer. Diesen kann man dann entweder direkt an unseren Server anschließen, oder aber auch an das Internet anschließen. Als Bibliothek wird die LoRa Bibliothek von Sandeep Mistry genutzt.
Server
Der Server dient zur Speicherung und Darstellung der Messwerte der verschiedenen Geräte. Der Server wurde in Python mit dem Framework Flask geschrieben. Zusätzliche Python-Pakete werden für die weiteren Funktionen eingesetzt.
Die Anbindung des Servers and TheThingsNetwork erfolget über die [[1]]. Für Python steht hierfür ein [[2]] bereit. Damit können die einzelnen Geräte des TTN-Servers aufgelistet und die Metadaten (Standort, Beschreibung, ID) ausgelesen werden. Das Empfangen der Daten erfolgt über Einrichten einer HTTP Integration in der TTN-Weboberfläche. Nach korrekter Einrichtung Sendet der TTN-Server bei jedem erfolgerichem Uplink das Datenpaket an den Verkehrsmessung-Server. Über die Weboberfläche der Things-Console kann dabei zu Testzwecken ein Uplink simuliert werden.
Die Informationen zu den Geräten und den Datenpaketen werden in einer Datenbank gespeichert. Hierfür wurde postgres verwendet, da für Python mit dem Paket flask_sqlalchemy hierfür eine bequemene Schnittstelle zur Verfügung steht.
Die Darstellung der Messwerte erfolgt auf einer Website. Hier wurde ein [Template] verwendet und entsprechend angepasst. Die Darstellung der einzelnen Grafiken erfolgt mit der Bibliothek bokeh, welche eine Python-Schnittstelle für interaktive JavaScript-Plots bereitstellt.
Auf der Website gibt es verschiedene Unterseiten:
- Übersicht über Geräte: Hier ist eine der Geräte dargestellt. Von dort kommt man auf die
- Messwerte eines Gerätes: Darstellung des Status eines Gerätes, Darstellung der Messwerte
- Karte mit Standorten der Geräte
Der Server muss durchgehend laufen, damit alle Messwerte erfasst werden. Für einen einfacheren Ensatz, steht der Server als Docker-Container zur Verfügung.
Main
Hardware
In diesem Kapitel wird auf den Entwurf, den Aufbau und die Funktion der einzelnen Hardware-Komponenten eingegangen. Dazu zählen unter anderem die Stromversorgung, der Vorverstärker zum Verstärken und Filtern des Radarsignals und das Gehäuse.
Stromversorgung
Akkus versorgen den µController und den Radarsensor über einen DC/DC Wandler mit Energie. Das Solarmodul soll die Akkulaufzeit erhöhen, so dass das Radargerät als ganzes autark ist.
Schaltbild der Stromversorgung
Das Schaltbild ist in die drei Teilkomponenten unterteilt:
- Rot: Platine mit BMS (Battery Management System),
Schmitt Trigger und DC/DC Wandler - Blau: Akkupaket
- Grün: Solarmodul
Die Teilkomponenten sind jeweils durch Stecker verbunden:
- Akku zu Platine (Blau zu Rot)
(Akku +) zu (B+) des BMS; (Akku -) zu (B-) des BMS - Solarmodul zu Platine (Grün zu Rot)
(Solar +) zu (B+) des BMS; (Solar -) zu (P-) des BMS
Dadurch ist ein einfaches Wechseln des Akkupakets möglich und es kann außerhalb des Gehäuses geladen werden.
Das Solarmodul kann durch einen Steckverbinder außerhalb des Gehäuses getrennt werden, wodurch der Zugang zum Gehäuse möglich ist.
Die Ausgänge VO-, VO+ und die Niederspannungswarnung führen zum µController.
Wird der Schalter auf die Position OFF gestellt, sind alle Funktionen, außer der Ladenfunktion durch das Solarmodul, ausgeschalten.
Beschreibung der Komponenten
Akku
bei einem angenommenen Stromverbrauch der uController Schaltung mit Radarsensor von 100mA sollen die Akkus (ohne Solarmodul) diese Schaltung sieben Tage mit Energie versorgen.
Bei 7x18650 (3,6V mit 3,5Ah) wären das:
[math]\displaystyle{ T = 0,8 * \frac{(3,2 \ Ah*7)}{(0,1 \ A*24)} = 7,47 \ d }[/math]
Der DC/DC Wandler hat bei diesem Strom eine Wirkungsgrad von 80%; Die Akkus werden nie zu 100% entladen. Von dem her wird hier von 3,2Ah ausgegangen. [Entlade Diagramm Li Ionen Akku]
BMS
Das Batterie Management System schützt die Akkus vor Tiefentladung, Überspannung und Überstrom.
Das BMS sorgt für eine Ladespannung etwas über der Akkuspannung.
Ladestation für Akkupaket
Die Ladestation besteht aus dem Li-Ion-Ladegerät 2A
DC/DC Wandler
Der DC/DC Wandler stellt 3,3V ausgangsseitig zur Verfügung; geschätzter Stromverbrauch von 100mA und Wirkungsgrad von 80%:
[math]\displaystyle{ P(Ausgang)=330 \ mW; P(Eingang) = \frac{P(Ausgang)}{0,8}=412,5 \ mW }[/math]
Bedeutet, je weniger Ladung und damit Spannung die Akkus haben, desto mehr Strom fließt von den Akkus zum DC/DC Wandler.
Solarmodul
Die Fläche des Solarmoduls ist so ausgelegt, dass die Energie unter guten Umständen (Winkel, Sonneneinstrahlung => Jahreszeit, Tageszeit) den Energieverbrauch der uController Schaltung mit Radarsensor deckt und zusätzlich die Akkus laden soll.
Als Beispielrechnung dient eine 25m2 PV-Anlage in Niederbayern, deren Energieertrag täglich seit Mai 2018 erfasst wurden.
Es werden Daten aus dem Jahr 2019 genutzt und ein durchschnittlicher Tag als Beispiel durchgerechnet.
Fläche des Solarmodul für das Radargerät: 2*15cm x 13cm
März: Tagesdurchschnitt: 16,9 kWh bei 25m2 => theoretisch 26,35 Wh bei 390cm2
Juni: Tagesdurchschnitt: 29,86 kWh bei 25m2 => theoretisch 46,6 Wh bei 390 cm2
September: Tagesdurchschnitt: 18,23 kWh bei 25m2 => theoretisch 28,4 Wh bei 390 cm2
Vergleich: täglicher Verbrauch des Radargerätes: [math]\displaystyle{ \frac{3,3 \ V*100 \ mA*24 \ h}{0,8} = 10 \ Wh }[/math]
Unter der Annahme, dass das Radargeräte unter Umständen einen nicht so hohen Energieertrag wie eine fest installierte PV-Anlage hat (Schatten im Verlauf des Tages, ungünstiger Winkel, niedrigerer Wirkungsgrad) liefert dieses Solarmoduls (wenn man den theoretischen Wert deshalb mit einem angenommen Faktor von 0,5 multipliziert) trotzdem im Schnitt mehr Energie als verbraucht wird. Damit ist das Radargerät autark und kann auch ohne Probleme schlechter Tage überbrücken. siehe [Diagramm => zum Teil schwankende Werte]
Es können auch Solarmodule mit einer Leerlaufspannung größer als 5V hergenommen werden. Dann muss jedoch ein DC/DC Wandler eingebaut werden, um den optimalen Stromertag der Solarmodule zu erzielen. => Akkus werden mit Strom geladen (Ladung in Ah).
Schmitt Trigger (nicht invertierender)
Die Niederspannungswarnung soll dann aktiv werden (Ausgang auf 0V) , wenn das Akkupaket nur noch eine Tag den uController mit Radarsensor nur noch einen Tag mit Strom versorgen kann. Die Niederspannungswarnung geht wieder aus (Ausgang auf 3,3V), wenn der Akku mehr als 2 Tage das Radargerät mit Strom versorgen kann. Die Grenze und Hysterese ist flexible einstellbar.
=> Hysterese von einem Tag (entspricht ca. 70mV)
In den Downloads befindet sich eine dazugehörige LTspice Simulation und eine .odt mit den entsprechenden Rechnungen
Der Schmitt Trigger in dem Schaltbild soll durch diese Schaltung ersetzt werden.
Vorverstärker
Der Radarsensor liefert ein Ausgangssignal mit variierender Amplitude (im mV-Bereich) und Frequenz. Je näher ein Objekt dem Sensor kommt desto größer ist die Amplitude und je schneller das Objekt ist, desto höher ist die Frequenz. Um das Ausgangsignal vernünftig verarbeiten zu können, muss zum einen die Amplitude verstärkt werden und da nur Geschwindigkeiten bis max. 100 km/h gemessen werden sollen, muss es zusätzlich gefiltert werden.
Das ausgehende Signal muss also zunächst durch einen Vorverstärker und einen Frequenzfilter. Dazu wurde sich zweier in Serie geschaltenener Verstärkern mit aktivem Filter 1.Ordnung bedient. Als Vorlage wurde der Vorverstärker eines EvalBoards der Firma InnoSent verwendet [1]. Bei dem aktiven Filter handelt es sich um einen Tiefpass mit einer oberen Grenzfrequenz von 5 kHz. Zusätzlich wird vor jedem OPV ein Kondensator zur AC-Kooplung eingefügt, wodurch der Filter ein Hochpass-Verhalten mit Center-Frequenz 2,55 kHz und einer Bandbreite von 4,9 kHz erhält.
Um das Ausgangssignal im weiteren Verlauf mittels ADC einzulesen, wird es als Single-Ended Signal mit einer Offset-Spannung von 1,65 V (halbes Vcc) ausgegeben. Dabei kann das Signal einen maximale Peak-Peak-Spannung (Vpp) von 3,3 V bei einem Eingangssignal von max. 48 mV erreichen ohne das der Verstärker in Säätigung geht.
Da bei der Messung der Geschwindigkeit die Amplitude des Signals keine Rolle spielt, sonder lediglich die Frequenz ausschlagebend ist, ist es annehmbar falls der Verstärker in Übersteuerung gehen würde.
Da der Radarsensor SMR-333 sowhl I- als auch Q-Daten bereitstellt, müssten zwei der Vorverstärker aufgebaut werden. In diesem Projekt wird allerdings nur ein Anteil des Ausgangsignals verwendet, welches der beiden gewählt wird ist optional.
Der Vorverstärker wurde mittels LT-Spice simuliert.
→ Datei:Simu OPV Radarsensor ADA4841.asc
Die wichtigsten Eigenschaften des Vorverstärkers:
- untere Grenzfrequenz (-3 dB): 100 Hz
- obere Grenzfrequenz (-3 dB): 5 kHz
- maximale Verstärkung: 40 dB @ 700 Hz
- Ausgangssignal: Single-Ended mit Offset von 1,65 V (max. Vpp = 3,3 V)
Gehäuse
Das Messgerät wird überwiegend im Außenbereich eingesetzt und muss daher in einem passenden Gehäuse untergebracht werden. Wie im Kapitel Einleitung bereits erwähnt, soll das Messgerät in aufgebauter Form einem Standard von mind. IPx4 entsprechen.
In den Abbildungen rechts können zum einen der schematische Aufbau der einzelnen Komponenten im Gehäuse, sowie die Draufsicht in das Gehäuse des aufgebauten Prototyps betrachtet werden.
Auf der einen Seite befinden sich gestappelt (in aufsteigender Reihenfolge) die Lochrasterplatine mit der Schaltung für die Stromversorgung, der µController und das Protoshield mit dem aufgebauten Vorverstärker. Die Lochrasterplatine ist dabei mit einer Schraube an der Platinenhalterung am Boden des Gehäuses befestigt. Auf der anderen Seite des Gehäuses wird das Akku-Pack reingestellt.
Das Radarmodul ist mit einer extra Leiterplatte an der Gehäusewand befestigt. Dazu werden zwei der Abstandsbolzen mit Gewinde im Deckel an der lanegn Seitenwand angebracht und die Leiterplatte mit den einfachen Abstandsbolzen festgeschraubt.
Das in der Stückliste aufgeführte Gehäuse entspricht laut Herstellerangabe einem Standard von IP67. Das Gehäuse kann durch das Entfernen der vier Schrauben an den Ecken des Gehäuses und durch abheben des Deckels geöffnet werden. Somit hat man Zugang zum Wechseln des Akku-Packs oder zum Konfigurieren des Messgeräts.
Für den Fall, dass ein Solarmodul zur Verlängerung der Laufzeit verwendet wird, muss eine mechanische Modifikation in Form einer Bohrung an der Gehäusewand vorgenommen werden. Um das Gehäuse weiterhin den Mindeststandard von IPx4 zu geben, wird die Bohrung nach der Durchführung des Kabels mit einem geeigneten Material wieder versiegelt. Hierfür kann Beispielsweise einfaches Fugen-Silikon verwendet werden, welches optimaler Weise sowohl an der Innen-, wie auch an der Außenseite des Gehäuses um das durchgeführte Kabel aufgebracht wird. Alternativ kann die Durchführung auch mit einem geeigneten Kleber versiegelt werden.
Die Solarpanele werden auf einer Sperrholzplatte aufgebracht. Auf der Rückseite der Sperrholzplatte, sowie auf dem Deckel des Gehäuses werden je zwei Streifen Klettband aufgebracht. Dadurch kann das Solarmodul einfach auf dem Gehäuse befestigt und wieder abgenommen werden.
Downloads
Hier sollten dann Dateien zum Download eingefügt werden
Simulation des Schmitt Triggers