Doppler-Radar

http://sites.schaltungen.at/sie-fahren-km-h/

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                        Wels, am 2015-12-24

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
*******************************************************************************I**
DIN A4  ausdrucken   (Heftrand 15mm / 5mm)     siehe     http://sites.schaltungen.at/drucker/sites-prenninger
********************************************************I*
~015_b_PrennIng-a_sie.fahren.km-h/ (xx Seiten)_1a.pdf




elektor    Experimentelles Doppler Radar

Experimental Doppler Radar (Module 160385-91)  € 82,95

Oder wie man seine eigene Radarfalle baut

  • Von Kai Hiltunen
  • Test & Measurement
  • Veröffentlicht in Heft 7/2018 auf Seite 48
elektor 2018-07s0xx

Produkte
Links
Leider führen die zwei letzeren Links immer noch ins Leere


Extra-Info / Update
* misst die Geschwindigkeit bewegter Objekte
* Handelsübliches Low-Power-Radarmodul
* K-Band (24 GHz)
* Reichweite mindestens 60 m (bis 100 m möglich)
* Auflösung 0,24 m/s ˜ 0,87 km/h
* Messbereich bis etwa 45 m/s ˜ 160 km/h
* einfach zu verstehende digitale Signalverarbeitung
* Universelle dsPIC-Basisplatine geeignet auch für andere Anwendungen












Vor ein paar Jahren las ich einen Artikel über kleine Radar-Systeme.
Danach fielen mir vermehrt Produktnachrichten von verschiedenen Firmen über kleine, kostengünstige Radar-Transceiver-Chips und Module auf.
Schließlich reizte mich das Thema so sehr, dass ich mich in ein Mikrowellen-Radar-Projekt vertiefte…



Beschreibung

Measure the speed of a pedestrian, a car, a ball or other moving objects with this Doppler radar. Point it at a moving target and read the speed on a large 1”-high, 3-digit, 7-segment display.

Designed to fit in a watertight sturdy enclosure with transparent cover the Doppler radar can be used outdoor as well as indoor. A 9-volt battery powers the radar.

Details

  • Measures speed of moving targets
  • Commercially available low power radar module
  • K-band (24 GHz)
  • Range 60 m minimum; 100 m usable
  • Resolution 0.24 m/s
  • Easy-to-understand digital signal processing
  • Universal dsPIC baseboard can be repurposed for other applications

Important Note:

To operate this kit you also need a Doppler radar transceiver module like the K-LC2 or the K- LC5 (to be purchased separately).

The assembled module on the picture is a prototype, slightly different from the final version

Spezifikationen

Artikel-Nr. 18611
Hersteller Elektor Labs
Platinen-Nr. 160385-91


Experimental Doppler Radar  160385-11


Elektor | July 2018


Einführung
Vor ein paar Jahren las ich in der Zeitschrift Circuit Cellar [1] einen Artikel über kleine Radargeräte von Gregory L. Charvat.
Danach habe ich auch Produktneuigkeiten von verschiedenen Firmen über kleine, kostengünstige Radarchips und -module bemerkt.
Seitdem habe ich eine Idee für ein Hobbyprojekt auf einem Mikrowellenradar entwickelt.
Jetzt, da ich etwas zu zeigen habe, möchte ich die Projektergebnisse und einige Einblicke in diese interessante Technologie mit anderen Elektor-Lesern teilen.
Ziel des Projekts war es, ein Mikrowellen-Doppler-Radar unter Verwendung eines kostengünstigen Radarmoduls zu bauen.
Das Interessanteste war meiner Meinung nach, neue Dinge zu lernen und Elektronik-Teile so zu machen, dass sie wie geplant funktionieren.
Natürlich ist es auch wichtig, das Endprodukt in irgendeiner Form zu verwenden.
Ein Doppler-Radar kann beispielsweise die Geschwindigkeit eines Balls, eines Fahrrads oder einer laufenden Person messen, was sich unter den sportlichen Kindern der Nachbarschaft als ziemlich unterhaltsam herausstellen kann.

Funktionsprinzipien
Das Blockschaltbild der RF-Komponenten des Radarmoduls ist in Abbildung 1 dargestellt.
Dies ist ein Auszug aus dem Datenblatt des Moduls. Das übertragene Signal wird von einem spannungsgesteuerten Oszillator (VCO) erzeugt, der nominell im Frequenzbereich 24.050-24.250 GHz arbeitet.
Über den als FM-Eingang gekennzeichneten Tuning-Spannungseingang des Moduls kann der VCO frequenzmoduliert werden.
Bei dieser Anwendung wird jedoch ein einfaches Doppler-Dauerstrichradar gebaut, und der Tuning-Eingang wird nicht benötigt.
Ein Radar arbeitet durch Senden eines Signals unter Verwendung der Sendeantenne.
Wenn die gesendete Wellenfront auf ein Hindernis trifft, wird ein Teil der gesendeten Energie vom Hindernis gestreut und kann von der Radarempfangsantenne empfangen werden.
Wenn die Wellenform einen Impuls oder eine andere Modulation enthält, kann das Radar die Entfernung zum Hindernis basierend auf der gemessenen Flugzeit des Signals messen.
Wenn die Wellenform wie in diesem Projekt nicht moduliert ist, kann der Abstand nicht gemessen werden.
Eine Bewegung des Hindernisses kann jedoch basierend auf der Doppler-Verschiebung in dem empfangenen Signal erfasst werden.
Das gesendete Oszillatorsignal ist über einen Richtkoppler mit der Sendeantenne verbunden.
Aufgrund des Richtkopplers ist der größte Teil der Signalenergie an die Sendeantenne angeschlossen, ein Teil der Energie wird jedoch an die HF-Mischer des Empfangspfads gekoppelt.
Der HF-Mischer ist eine Komponente mit drei Anschlüssen, deren Anschlüsse üblicherweise als HF-, Zwischenfrequenz- und LO-Anschlüsse (Radio Frequency, Funkfrequenz) bezeichnet werden.
Unter einem HF-Mischer kann eine nichtlineare Komponente verstanden werden, die an ihrem ZF-Ausgang Summen- und Differenzfrequenzen der LO- und HF-Signale erzeugt.
Der Zweck des Richtkopplers für den Senderpfad besteht darin, eine Probe des gesendeten Signals zu entnehmen und es mit dem LO-Port des Empfangspfadmischers zu verbinden. Betrachten wir das folgende Beispiel.
Die Frequenz des Sendesignals und damit des LO-Signals des Empfängermischers beträgt 24,1 GHz. Das empfangene Signal, d. H.
Das Mischer-HF-Port-Signal von der Empfangsantenne, hat eine Frequenz von 24,100001 GHz.
Wenn das HF-Port-Signal des Mischers 1 kHz höher ist als die LO-Signalfrequenz des Mischers, liegt am IF-Ausgang des Mischers ein sinusförmiges Signal mit 1 kHz-Frequenz an.
Der Mischer erzeugt auch ein Signal mit einer Summenfrequenz (ungefähr 48,2 GHz) und verschiedenen anderen harmonischen Frequenzen, aber diese Signalkomponenten sind in dieser Anwendung entweder gefiltert oder anderweitig nicht signifikant.
Wenn das empfangene Signal 1 kHz unter der LO-Signalfrequenz wäre, gäbe es dasselbe 1 kHz-ZF-Ausgangssignal.
Die HF-Portfrequenzen von 24.100001 GHz und 24.099999 GHz sind sogenannte Bildfrequenzen, da sie dasselbe ZF-Ausgangssignal erzeugen.
Das in Abbildung 1 dargestellte Radarmodul verfügt über zwei Mischer, die an ihren Ausgängen mit I und Q gekennzeichnet sind.
Dies sind sogenannte In-Phase (I) - und Quadratur (Q) -Signalkomponenten. Der Q-Komponentenzweig des Mischers verfügt über einen 90-Grad-Phasenschieber im LO-Anschluss.
Ansonsten sind die Zweige I und Q identisch.
Aus der Phasenbeziehung zwischen I- und Q-Signalen kann geschlossen werden, ob die HF-Signalfrequenz über oder unter der LO-Signalfrequenz lag.
Bei dieser Anwendung wird jedoch das Bildfrequenzproblem ignoriert und nur der I-Zweig-Ausgang des Mischers verwendet.
Wie oben beschrieben, ist es möglich, kleine Frequenzabweichungen im Sende- und Empfangssignal durch Messen des Mischer-ZF-Ausgangssignals zu messen.
Diese kleinen Frequenzabweichungen sind das Wesen dieser Anwendung. Das physikalische Phänomen, das solche Abweichungen verursacht, wird als Doppler-Effekt bezeichnet.
Trifft die ausgesendete Wellenfront auf ein Hindernis oder mit anderen Worten auf ein Ziel, das sich direkt auf das Radar zubewegt, beträgt die Frequenzverschiebung des gestreuten Signals df = 2 * v * f0 / c0.
In dieser Formel ist v die Geschwindigkeit des Ziels, f0 ist die Sendefrequenz und c0 ist die Lichtgeschwindigkeit. Eine Zielgeschwindigkeit von 1 m / s entspricht einer Doppler-Verschiebung von etwa 160 Hz bei einer Sendefrequenz von 24,1 GHz.
Der im vorherigen Beispiel verwendete Frequenzversatz von 1 kHz entspricht einer Geschwindigkeit von etwa 6,2 m / s, d. H. Etwa 22,4 km / h.
Wie oben erwähnt, wird in dieser Anwendung nur der I-Zweig der Mischerausgänge verwendet.
In der Praxis bedeutet dies, dass wir, wenn wir den Frequenzversatz von 1 kHz messen, sagen können, dass die Radialgeschwindigkeit des Ziels etwa 6,2 m / s beträgt. Wir können jedoch nicht sagen, ob sich das Ziel auf das Radar zu oder von diesem weg bewegt, da die Frequenz des empfangenen Signals entweder 24,1000001 oder 24,099999 GHz betragen kann.

Schaltungsbetrieb

Anhand der Darstellung der Funktionsprinzipien wird das Ziel für die Schaltungs- und Signalverarbeitung klar: Messung der Frequenz eines Sinussignals am Mischer-ZF-Ausgang.
In diesem Kapitel wird die für diese Aufgabe erforderliche Leiterplattenrealisierung vorgestellt.
Das kostengünstige Radarmodul K-LC5, das den Kern dieser Anwendung bildet, wird von der Firma RFBeam hergestellt.
Das Radarmodul umfasst alle Komplexitäten der Mikrowellenteile, sodass die Projektherausforderungen im Bereich der Niederfrequenzelektronik und Signalverarbeitung bestehen bleiben.
Die Hard- und Software hat die Aufgabe, die Frequenz des Mischer-ZF-Ausgangssignals zu messen, den gemessenen Frequenzwert in einen Geschwindigkeitswert umzuwandeln und die Geschwindigkeit auf einer 7-Segment-LED-Anzeige anzuzeigen.
Die für diese Funktionalität erforderlichen Haupthardwareteile werden mit einem aktiven Filter, einem AD7680-A / D-Wandler von Analog Devices und einem digitalen Signalcontroller der Serie dsPIC33E von Microchip realisiert.
Das Schaltbild der Schaltung ist in Abbildung 2 dargestellt. Der ZF-Ausgang des Radarmoduls ist über ein aktives Bandpassfilter mit dem A / D-Wandler verbunden.
Der Filter wurde mit dem LTSpice-Simulator von Linear Technology entworfen und simuliert. Das halbe Leistungsband des Filters deckt den Frequenzbereich von 70 Hz bis 13 kHz ab.
Die oben dargestellte Doppler-Verschiebungsformel kann verwendet werden, um zu berechnen, dass die maximale Doppler-Frequenz einer Geschwindigkeit von ungefähr 80 m / s entspricht, d. H. Ungefähr 300 km / h.
Diese Geschwindigkeit ist hoch genug, wenn das Radar verwendet wird, um beispielsweise die Geschwindigkeit eines Balls oder eines Fahrrads zu messen.
Die Spannungsverstärkung der Schaltung beträgt 10, um das Signal am Eingang des A / D-Wandlers auf einen geeigneten Pegel zu verstärken.
Die simulierte Schaltung mit den ausgewählten Komponentenwerten ist in Abbildung 3 dargestellt. Das gefilterte und verstärkte ZF-Ausgangssignal des Radarmoduls wird mit dem AD7680-A / D-Wandler abgetastet.
Dieser Wandler ist ein sukzessiver 16-Bit-Näherungswandler mit einer maximalen Abtastfrequenz von 100 kHz. In dieser Anwendung wird die Konvertierung vom dsPIC auf der Grundlage eines Timers mit einer Frequenz von 60 kHz initiiert.
Das Konvertierungsergebnis wird über eine serielle SPI-Schnittstelle gelesen.
Zusätzlich zum Abtastprozess des A / D-Wandlers steuert der digitale Signalcontroller auch die Leistungsschalter des Radarmoduls und drei gemultiplexte Siebensegmentanzeigen.
Das Radarmodul misst ungefähr acht Mal pro Sekunde. Wenn das Modul nicht gemessen wird, wird die Stromversorgung über einen Lastschalter abgeschaltet, der N- und P-Kanal-MOSFETs in einem einzigen Gehäuse integriert.
Dieselbe Art von Lastschalter wird zum Multiplexen von drei Siebensegmentanzeigen verwendet.
Der gemeinsame Anodenstift der aktiven Anzeige ist eingeschaltet, während die beiden anderen Anzeigen ausgeschaltet sind.
Die Kathodenpins der Displays werden über BJT-Transistoren angesteuert. Die Platine wird von einer 9V Batterie gespeist.
Die Batteriespannung wird direkt zur Ansteuerung der sieben Segmentanzeigen verwendet.
Ein Linearregler erzeugt 5V Spannung für das Radarmodul. Ein Schaltregler wird verwendet, um 3,3 V Spannung für den dsPIC und seinen Referenzoszillator zu erzeugen.
Ein weiterer Linearregler erzeugt eine rauscharme Spannung von 2,7 V ab 3,3 V für die Operationsverstärker und den A / D-Wandler.

Software-Betrieb

Der Software-Quellcode [3] der Hauptfunktion ist in eine Handvoll Unterfunktionen unterteilt, die in diesem Kapitel beschrieben werden.
Nach dem Power On Reset wird das System initialisiert.
Dies umfasst die Initialisierung der dsPIC-Pins, die Zeitgeber- und Unterbrechungsoperation sowie die Initialisierung der FFT-Verarbeitung.
Nach der Initialisierung tritt der Prozessor in die Verarbeitungsschleife ein.
Jede Verarbeitungsschleife beginnt damit, das Radarmodul einzuschalten und eine Weile zu warten, bis sich der Modulbetrieb stabilisiert hat.
Danach werden 512 Abtastwerte vom A / D-Wandler in einem Array von 16-Bit-Ganzzahlwerten erfasst.
Sobald sich die Daten im Puffer befinden, wird das Radarmodul ausgeschaltet, um während der Pufferbearbeitungszeit Batteriestrom zu sparen.
Die Pufferverarbeitung enthält eine Fourier-Transformationsberechnung der Daten in dem Puffer.
Microchip bietet eine DSP-Bibliothek mit der Microchip C30 Toolsuite für dsPICs.
Funktionen aus dieser Bibliothek dienen dazu, den Datenpuffer zu öffnen, die FFT zu berechnen und die Ausgabedaten zu mischen, um sie in eine logische Reihenfolge zu bringen.
Da die Eingangswerte der FFT real (nicht komplex) sind, enthält die erste Hälfte des Datenpuffers, Elemente 0-255, die Nutzdaten, während die andere Hälfte redundant ist.
Jedes Element des Arrays entspricht einem Frequenzwert von i * Fs / 512, wobei i der Elementindex und Fs die Abtastfrequenz (60 kHz) ist.
Die Frequenzdifferenz zwischen den Frequenzbereichen des FFT-Ausgangs beträgt ungefähr 117 Hz.
Nach der Doppler-Verschiebungsformel entspricht dies einer Geschwindigkeit von etwa 0,73 m / s, was der Auflösung der Geschwindigkeitsmessung dieses Doppler-Radars entspricht.
Die FFT-Berechnung erzeugt ein Array von fraktionierten komplexen Zahlen.
Die Signalamplitude, die für diese Anwendung von Interesse ist, kann berechnet werden, indem die Quadratwurzel aus der Summe der quadrierten Real- und Imaginärteile gebildet wird.
Eine rechenintensive Quadratwurzelberechnung kann durch Verwendung einer Näherungsformel für die Amplitudenberechnung vermieden werden.
Es gibt verschiedene Methoden, um die ungefähre Größe einer komplexen Zahl zu berechnen. Ich habe die in Lit. [4] vorgestellte Equiripple-Error-Approximationsmethode verwendet.
Eine detaillierte Näherungsformel finden Sie in den Software-Quellcode-Kommentaren [3].
Zu diesem Zeitpunkt ist der Signalamplitudenwert an jedem FFT-Frequenzbereich bekannt. Befindet sich im Radarantennenstrahl ein Ziel, wird ein Signal mit einer Frequenz ausgegeben, die der Zielgeschwindigkeit entspricht.
Dieses Signal kann erkannt werden, weil die FFT-Ausgangsamplitude die Erkennungsschwelle am entsprechenden Frequenzbereich überschreitet.
Wenn keine Ziele vorhanden sind, ist nur Rauschen vorhanden und die Amplitudenwerte liegen unter der Erkennungsschwelle.
In dieser Anwendung gibt es eine feste Erkennungsschwelle, die experimentell so eingestellt wurde, dass Fehlerkennungen nur selten vorkommen.
Die letzte Stufe der Verarbeitung sucht, welche Frequenzbereiche eine Signalamplitude haben, die den Schwellenwert überschreitet.
Die Detektion mit dem höchsten Index im Amplitudenfeld entspricht der höchsten Zielgeschwindigkeit.
Der Array-Index dieser Erkennung wird gespeichert, und sein Wert wird zu Anzeigezwecken etwa eine Sekunde lang gehalten.
Dies ist wichtig, um die höchste gemessene Geschwindigkeit zu ermitteln, ohne dass die Anzeige zwischen allen gemessenen Geschwindigkeiten flackert.
Der Amplituden-Array-Index wird unter Verwendung einer vorberechneten Nachschlagetabelle in Geschwindigkeitswerte in km / h-Einheiten umgewandelt.
Die Mess- und Verarbeitungsschritte dauern ca. 30 ms. Nach jeder Messung wartet der Prozessor und aktualisiert die Anzeige für etwa 100 ms, bevor er einen neuen Mess- und Verarbeitungszyklus startet.
Daher wird die Messung ungefähr achtmal pro Sekunde durchgeführt.

Montage und Prüfung
Die Leiterplatte ist eine doppelseitige Leiterplatte mit den Abmessungen 89 x 75 mm.
Das Radarmodul und die sieben Segmentanzeigen sind auf der Oberseite und alle anderen Komponenten sowie der Batteriehalter auf der Unterseite der Platine montiert.
Die meisten Komponenten sind oberflächenmontierte Komponenten. Das Paket des dsPIC besteht aus 28-poligem SSOP mit einem Abstand von 0,65 mm, und das Löten von Hand kann etwas schwierig sein.
Mit einem guten Lötkolben lassen sich jedoch auch bescheidene Mikroskope und zum Teil auch kleinste Bauteile auf der Platine adäquat verlöten.
Das von mir verwendete dsPIC ist auch in DIP- und SOIC-Gehäusen erhältlich, aber nachdem ich einige Erfahrungen mit dem Löten kleiner SMD-Bauteile gesammelt habe, bevorzuge ich kompaktere Bauteile.
Die Leiterplatte ist in einer Kunststoffbox montiert, die eine durchsichtige Abdeckung hat.
Das Display ist durch die Abdeckung gut sichtbar, während die Elektronik beispielsweise vor Ballschlägen geschützt ist.
Das Radar wurde in einem Floorball-Training getestet und es wurde festgestellt, dass es aus mehreren Metern Entfernung eine Plastikkugel mit ca. 7 cm Durchmesser erkennen kann.
Ein Auto kann in einer Entfernung von etwa 50 bis 100 Metern erkannt werden. Ich habe die Genauigkeit der Geschwindigkeitsmessung nicht gründlich überprüft,
aber zumindest die Geschwindigkeitsmessungen entsprachen den vom Tachometer meines Autos angegebenen Geschwindigkeiten.

Abschließende Gedanken
Ich bin sehr zufrieden mit den Ergebnissen dieses Projekts - das Endprodukt ist zumindest ein schönes Spielzeug und hat auch in vielen anderen Anwendungen Potenzial.
Das Projekt erwies sich auch als sehr lehrreich.
Dies war das erste Mal, dass ich einen digitalen Signalregler verwendete. In früheren Projekten habe ich 8-bit Mikrocontroller und größere Prozessoren verwendet, wie sie in Raspberry Pi- und Beaglebone-Boards verwendet wurden.
Es dauerte einige Zeit, bis die FFT-Verarbeitung, die den Kern der Signalverarbeitung in dieser Anwendung darstellt, betriebsbereit war.
Erklärende Beispiele und Dokumentationen von Microchips halfen bei dieser Aufgabe.
Der digitale Signalcontroller hat sich bei dieser Art von Signalverarbeitungsaufgabe als einigermaßen effizient erwiesen und kann für zukünftige Projekte eine interessante Ergänzung meiner Toolbox sein.
Wenn das Radarmodul Ihr Interesse geweckt hat, ist es nicht notwendig, sofort eine Leiterplatte zu bauen.
Ich begann mit dem Modul zu experimentieren, indem ich die IF-Ausgänge des Radarmoduls mit der Soundkarte meines PCs verband.
Im PC habe ich die SDR # -Software verwendet, die das Soundkartensignal als Eingabe akzeptiert und schöne Spektrums- und Spektrogrammanzeigen zur Überprüfung des Frequenzinhalts des Signals hat.
Mit dieser einfachen Einrichtung können Sie eine gute Vorstellung davon bekommen, wie das Radarmodul funktioniert und welche Ziele damit erfasst werden können.

Verweise
1) Gregory L. Charvat: Die Zukunft der Kleinradartechnologie, Circuit Cellar, April 2014.
2) K-LC5 Radar Transceiver Datenblatt, RFbeam Microwave GmbH,
https://www.rfbeam.ch/files/products/9/downloads/Datasheet_K-LC5.pdf
3) Software-Quellcode für dsPIC33EP128GP502
4) Richard G. Lyons (Hrsg.), Streamlining Digital Signal Processing, IEEE Press, 2007.



300_d_elektor-x_160385-11 Experimentelles DopplerRadar - Software_1a.zip
300_d_elektor-x_160385-11 -v03072018 Experimentelles DopplerRadar - Software_1a.zip
300_d_elektor-x_160385-11Test Measurements with the Experimental Doppler-Radar_1a.pdf


300_d_elektor-x_160385-11 Experimentelles Doppler-Radar - Platine_1a.pdf

300_d_elektor-x_160385-11 Experimentelles Doppler-Radar - Software_1a.zip

https://www.elektormagazine.de/magazine/elektor-201807/41684
https://www.elektormagazine.de/labs/experimental-doppler-radar-160385
https://www.elektor.de/experimental-doppler-radar-module-160385-91



Updates (3)


Assembled boards are here, info about K-LC5 and K-LC2
Projektinhaber ClemensValens 28. November 2018, 08:07 Uhr
The assembled boards have finally arrived in our shop: https://www.elektor.com/experimental-doppler-radar-module-160385-91

Please note that the K-LC5 Doppler radar transceiver module (shop ref. SKU18757) currently (Q4 2018) has an availability problem. We have been promised a new batch soon, but we are still waiting. A new version of the K-LC5 is announced for Q2 2019. In the meantime we are working on adding to our shop an alternative in the shape of the pin-compatible K-LC2 module (shop ref. SKU18510, coming soon).

The K-LC2 is identical to the K-LC5 except for a somewhat shorter range and a lower price. We have tried it succesfully with our Doppler radar board.

Hermann 17. Dezember 2018, 11:43 Uhr
Hi Clemens,

nice project, du you have a Software for measure the distance?
I have ordered a Radar module.

Regards Hermann

Projektinhaber ClemensValens 18. Dezember 2018, 08:32 Uhr
It is a Doppler radar, it only detects moving objects. The transceiver module outputs a signal when, due to movement, the frequency of the reflected pulse differs from the transmitted pulse. Because it does not output the trigger pulse itself, you can't measure the time between the TX pulse and the arrival at the antenna of the reflection. Distance measurements are therefore not possible with this radar.

Using the received signal level is also not possible because that depends on the radar cross section of the object, i.e. its capacity to reflect the TX pulse. A truck does not have the same refelctivity as a human being. Only if the radar cross section is always exactly the same (identical objects, identical angle of incidence, etc.) can you try to do an estimate of the distance based on signal level (if other conditions don't change).


Michel DUC 18. Dezember 2018, 20:11 Uhr
To measure distance it is necessary to use FMCW . To do this you have to drive  the VCO of the K-LC5 with a rising ramp and falling ramp and to analyze  the return signal. Its is described by a RFBeam appplication note and also  in different documentations on the web. The sofware is pretty complex  to design and it could take time to create and test it.
The bandwith of the VCO in accordance with regulation doesnt allow a precision better han 60 cm to 1 meter. A RFBeam module doing that will come soon ...
Best Regards

Weniger anzeigen

Update PCB revision 1.2 & 1.3
Projektinhaber ClemensValens 7. August 2018, 10:56 Uhr
The PCB you buy from Elektor is currently at revision v1.2 or v1.3 (identical on an electrical level):
All passive components are 0805 unless specified otherwise.
L1 is a Bourns SRR4828A-150M or equivalent.
R45 (47 ohms) is new and therefore not mentioned in the parts list in the article. This resistor helps reducing switching noise of IC11.
R44 on the previous revision has become R42 on v1.2/v1.3 while R44 has become R42 on v1.2/v1.3 (unfortunate swapping of references). R44 is for testing purposes only and should not be mounted. R42 is only to be mounted when IC11 is used instead of IC4 (see below).

For completeness sake
The complete reference for IC4 is ADP2370ACPZ-3.3-R7, which was abbreviated in the article to ADP2370-3.3. The ADP2370 is the adjustable version, which will not work here. Note that the Dutch article incorrectly lists IC4 as an ADP150.

As mentioned in the article there are two options for the 3V3 voltage regulator. DO NOT MOUNT BOTH!

3V3 option 1 (difficult to solder, less parts)
IC4, R29
Do not mount the parts mentioned under Option 2
3V3 option 2 (easier to solder, more parts)
D2, D3
C19, C20, C21
IC11,
R42, R43, R45
Do not mount the parts mentioned under Option 1

Weniger anzeigen

New firmware v03072018
Projektinhaber ClemensValens 3. Juli 2018, 09:16 Uhr
It was found that a longer delay between switching on the radar transceiver module and the start of sampling improved the precision. The firmware v03072018 (see download section above) waits 10 ms instead of 0.5 ms. This has a slight impact on the current consumption that is around 50 mA when one digit is being displayed. The display now flickers a little bit, which indicates that you are indeed using the new software.

Note that the Elektor Magazine article mentions a sample rate of 60 kHz. This is not completely true as the software sums samples three by three. The effective sample rate is therefore 20 kHz and the frequency resolution 39 Hz; the speed resolution is about 0.87 km/h.

gfbreaban 4. Juli 2018, 07:19 Uhr
Hello,

My hobby is electronics.
From 1 week I try to buy the components... is not easy...
Thanks for help...

Best regards,
Florin
(from Beuvry, N. of French)

Projektinhaber ClemensValens 4. Juli 2018, 08:36 Uhr
With a bit of luck we will soon have the assembled board in our shop. We are working on it.

gfbreaban 4. Juli 2018, 17:29 Uhr
Thanks for the good news!

Best regards,
Florin

DanyR 24. Juli 2018, 13:15 Uhr
Hi Clemens,

Do you think it would also be possible to measure the mixer output frequency also with a less complex PIC (no digital signal controller), e.g. by measuring the time between 2 zero crossings? (of course the bandpass amplifier should be kept I think). Did you do (e.g. in the early stages of the project) investigations in this direction?

Thanks in advance!

Projektinhaber ClemensValens 24. Juli 2018, 15:15 Uhr
The output of the sensor is a smallish low-frequency signal but not a clean sine wave as it is the sum of all the doppler frequencies detected in noise. Detecting periods is difficult and would only work with strong signals. Applying an FFT greatly improves sensitivity.

Michel DUC 10. Oktober 2018, 07:27 Uhr
Hello I just discover your article and it is interesting;
I am working for a company who sells electronic components in france and also RFBeam modules.
Your board is interesting as you are using a microcontroller to do signal digital processing and FFT to improve a lot sensibility, reliability of the detection.
As you know it is also possible a digital component referenced as RSP1 developped by RFbeam to to FFT processing and also others processing tasks and in this case it is possible to send command and get detection results by a serial link. But of course the cost of the RSP1 is higher that the PIC .
Would be fine to propose an updated version of your board with FMCW modulation to be able to determine distance but also multi- targets and static objetcs. As you said this is possible  with the K-LC5 as the VCO is externally accessible.  in all the cases you did a great work . congratulations !

Weniger anzeigen



Kommentare (2)


K-LC7 Edward Rossy 28. November 2018, 20:32 Uhr
Would this also work with the K-LC7? And would you be able to source that item as well from RFbeam?
2 Kommentare

Edward Rossy 28. November 2018, 21:00 Uhr
Or better yet., the K-LD2.

Projektinhaber ClemensValens 29. November 2018, 09:40 Uhr
We are currently evaluating the K-LD2, but it will be some €150 when (if) we get it in our shop... The K-LC7 is a 2-channel device and is not compatible with our system.

Weniger anzeigen

Doppler radar Klaus Talaga 25. Juli 2018, 07:23 Uhr
I'm also waiting for the loaded board. Give gas!
12 Kommentare

Projektinhaber ClemensValens 26. Juli 2018, 06:44 Uhr
Production has been launched, the assembled boards should arrive in a few weeks.

DanyR 27. Juli 2018, 10:38 Uhr
Looking forward to it...

apple 6. August 2018, 13:53 Uhr
I got the parts and after getting the last one (PIC from elektor, took over month) I started assembling. There are some errors in the published article, R45 on print, should be R44; part list for ic4 is wrong, should be adp2370. For the smd Rs and Cs, sizes are missing, ditto info about L1 (xxx mA or make?)
The programmed pic I received, had a kind of white paint on first 6 pins. I thought it was solderable, but that was a mistake, it spread out over pins and print... this was my first buy of a programmed ic from Elektor, how can I clean this best? Is it the latest version, or should I not bother cleaning and re-order?

btw, all parts were provided by Mouser, in a few days

Projektinhaber ClemensValens 7. August 2018, 10:52 Uhr
@apple: thank you for pointing out these issues. Unfortunately the information you provide is incorrect. Please read on carefully.

The PCB you buy from Elektor is currently at revision v1.3.
All passive components are 0805 unless specified otherwise.
L1 is a Bourns SRR4828A-150M or equivalent.
R44 on the previous revision has become R42 while R44 has become R42 (unfortunate swapping of references). R44 is for testing pruposes only and should not be mounted. R42 is only to be mounted when IC11 is used instead of IC4 (see below).

The complete reference for IC4 is ADP2370ACPZ-3.3-R7, which was abreviated in the article to ADP2370-3.3. The ADP2370 is the adjustable version, which will not work here.

As mentioned in the article there are two options for the 3V3 voltage regulator. DO NOT MOUNT BOTH!

Option 1 (difficult to solder, less parts)
IC4, R29
Do not mount the parts mentioned under Option 2
Option 2 (easier to solder, more parts)
D2, D3
C19, C20, C21
IC11,
R42, R43, R45
Do not mount the parts mentioned under Option 1
R45 (47 ohms) is new and therefore not mentioned in the parts list in the article.

P.S. No idea what the white stuff on the pins of the microcontroller was.

apple 7. August 2018, 11:52 Uhr
Thanks for this update!
Indeed R42 (not R45 as I said in earlier comment) on print became R44 (10K).

Do note that in the part list, IC4 info is wrong. The diagram is a bit better (ADP2370) and your update clears it all.

I got print V1.2. What changed in V1.3?

Projektinhaber ClemensValens 7. August 2018, 14:25 Uhr
V1.3 is the same as V1.2, but the count was upped by .1 for production reasons.

The white stuff on your controller might be the ink that we use to mark pin 1 when the chip was programmed. Usually we use only a little bit, but maybe on your device it was too much.

Regarding the parts list, I must be thick, but I have checked the English & French articles and to me they look OK as both mention the ADP2370-3.3 for IC4. The schematic mentions ADP2370 which might be considered incomplete.

apple 7. August 2018, 18:25 Uhr
Part list: I have the Dutch article; I did not realize there are differences in the various languages...
Dutch magazine, page 53: IC4*= ADP150AUJZ-3.0-R7 (wrong)
Dutch magazine, page 51 IC4 identified as ADP2370 (better)

Projektinhaber ClemensValens 16. August 2018, 07:56 Uhr
(back from holidays) This article was produced in English, then translated to the other languages. No idea why the Dutch parts list lost a '3' in translation. Still, this reference is better than yours because it is for a fixed-voltage regulator whereas 'ADP2370' indicates an adjustable regulator. The board was designed for the fixed-voltage version. Furthermore, the board will work with the given 3V regulator, even though 3V3 is preferred.

apple 17. August 2018, 14:29 Uhr
I hope you had a good holiday.
I was just reacting to your statement 'I must the thick' and was pointing you to the error in the NL list for IC4; and that is not missing a '3', the whole reference in front is wrong: the NL listing says ADP150..., that must be ADP2370....

Projektinhaber ClemensValens 17. August 2018, 19:48 Uhr
OK, so I am thick, sorry. This is a strange mistake as it is correct in all other languages. Every language editor adapts the parts list to the language standards. Something clearly went wrong here. Thank you for pointing it out.

Edward Rossy 26. November 2018, 18:14 Uhr
Please provide an update as to the status of the assembled boards?

Projektinhaber ClemensValens 28. November 2018, 08:01 Uhr
Thank you for your patience. You must be psychic ;-), the assembled boards have arrived yesterday in our shop: https://www.elektor.com/experimental-doppler-radar-module-160385-91

Weniger anzeigen













********************************************************I*

Nr. 39 – Doppler-Radar Modul RCWL-0516

Das Doppler-Radar Modul RCWL-0516 ist ein hochsensibler Radarsensor mit einem Erkennungsbereich von ungefähr 5-7 Metern. Dem Datenblatt des Herstellers konnten wir entnehmen, dass der Wirkungsbereich ungefähr 120° umfasst. Im Selbsttest konnte das Modul sogar Bewegungen in einem Umkreis von bis zu 200° erkennen und verwerten.

Den Namen erhielt das Modul, weil die verwendete Radar-Technologie auf dem sogenannten Doppler-Effekt beruht. Grob bedeutet dies, dass das Radar die Frequenzänderung eines gesendeten und reflektiertem Signal messen kann, also erkennt, ob und wie schnell sich ein gegebenes Objekt annähert oder distanziert. Diese Technik findet man im Alltag zum Beispiel bei Radarfallen (ugs. Blitzer) wieder. Weitere Informationen zur Wirkungsweise des Doppler-Radars finden Sie hier.

Das Modul ist sehr einfach zu verwenden, da es über eine interne Elektronik die gemessene Bewegung auswertet und verarbeitet wird. Sobald eine Bewegung detektiert wurde gibt das Modul für ca. 2 Sekunden eine Spannung am „OUT“ Pin aus. Dieses Signal wird dann vom Arduino Mikrocontroller verarbeitet.

Das RCWL-0516 Modul hat eine Standard Auslösezeit von 2 Sekunden. Das bedeutet, dass das Modul für ein HIGH-Signal ausgibt, sobald es eine Bewegung erfasst hat. Die Sensibilität für das Auslösen des Triggers kann durch die Verwendung eines Widerstandes am Output-Pin verringert werden.


Aufgabe : Ausgabe des Bewegungsstatus am Seriellen Monitor
Material : Arduino Mikrocontroller / Breadboardkabel / Breadboard / RCWL-0516 (www.funduinoshop.com)

Das Modul wird wie folgt am Mikrocontroller angeschlossen :

3V3   – kein Anschluss am Mikrocontroller notwendig
GND – anzuschließen an den GND Pin des Mikrocontrollers
OUT  – anzuschließen an einen digitalen Pin des Mikrocontrollers (im Sketch Pin8)
VIN   – anzuschließen an den 5V Pin des Mikrocontrollers
CDS  – kein Anschluss am Mikrocontroller notwendig

Sketch

int Radarmodul = 8;int WERT;void setup() {  Serial.begin(9600);  pinMode (Radarmodul, INPUT);}void loop() {  WERT = digitalRead(Radarmodul);  Serial.println(WERT);  delay(100);}

Das Ergebnis ist am Seriellen Monitor zu erkennen. Wenn hier eine „0“ erscheint, wurde keine Bewegung detektiert. Bei einer „1“ wurde eine Bewegung erkannt. Mit diesem Sketch wird die grundlegende Einsatzmöglichkeit und die Funktion des Moduls deutlich.

Mit der folgenden Aufgabe soll der Arduino Mikrocontroller die Daten des Radarsensors nutzen, um einen „Alarm“ in form eines Tonsignals auszulösen.

Aufgabe : Eine LED soll aufleuchten, solange der Trigger (also ein HIGH-Signal) erfasst wurde.
Material : Mikrocontroller / Breadboardkabel / Breadboard / Piezo-Piepser / RCWL-0516 (www.funduinoshop.com)

Sketch:

int Radarmodul = 8; // OUT des Radarmoduls an Pin 8 des Mikrocontrollersint Piepser=7; // "+" des Piezo-Lautsprecher an Pin 7int WERT; // Variable für den Messwertvoid setup() {  Serial.begin(9600);  pinMode (Radarmodul, INPUT);  pinMode (Piepser, OUTPUT);}void loop() {  WERT = digitalRead(Radarmodul);  Serial.println(WERT);  if (WERT >0 )   {digitalWrite(Piepser, HIGH); // Schalte den Piezo-Lautsprecher an.delay(1000); // Warte 1000 Millisekunden. (Es piepst)digitalWrite(Piepser, LOW); // Schalte den Piezo-Lautsprecher aus.delay(5000); // Warte 5000 Millisekunden. Danach beginnt der Loop erneut.  }}






300_d_funduino-x_Doppler-Radar Modul RCWL-0516_1a.pdf
https://funduino.de/nr-39-doppler-radar-modul-rcwl-0516




********************************************************I*




'Experimentelle Kalibrierung' - 24-GHz-Radar-Sensor IPM-165
Radarfalle - Radarfall
Ergänzung zum eBook: Messen und Steuern mit dem Smartphone
Radar-Modul mit Verstärker
Um eigene Lötarbeiten zu vermeiden, wurde ein fertiges Modul mit Verstärkerplatine bei weidmann-elektonik.de geordert. Dort gibt es noch weitere Anwendungen zum Modul...
Der IPM-165 - 24 GHz Mono-CW-Radarsensor wurde bereits hier unter Geschwindigkeitsmessung mit Arduino eingesetzt. Es stand aber bisher die Frage im Raum:

Wie genau ist das Messergebnis?

Bei der Durchführung erster Messungen wird wohl meist ein von der Seite geführter Schlag mit der flachen Hand ausgeführt, um ein Ergebnis zu erhalten. Schon bald stellt sich die Frage, wo es eine genaue Geschwindigkeitsreferenz in der Nähe gibt. Für die obige Handbewegung sind Messtabellen und Referenzwerte nicht verfügbar, soweit bekannt. Aus diesem Grund muss nach einem anderen Vergleich mit einer definierten Geschwindigkeit gesucht werden. Ein eigentlich nicht ganz so schwieriger Fall, da so naheliegend. Schon vor einiger Zeit haben sich Menschen mit diesem Problem beschäftigt, allerdings unter anderem Aspekt. Der Freie Fall aus der Klassischen Mechanik liefert hier die gewünschte Referenz. Es folgt ein Aufbau für Schreibtischtäter:


Versuchsaufbau für bequeme Schreibtischtäter

Versuchsaufbau schematisch
Die Wahl der Brettchenunterlage resultiert aus einer psychotraumatischen Therapie. Es kann natürlich auch andere, nicht mehr benötigte Literatur benutzt werden. Ein Beispiel zeigt die Abbildung bei den Messergebnissen.

Eine Grapefruit fällt frei aus einer Höhe von 70 cm auf ein Holzbrett. Da Radar eine elektro-magnetische Welle im GHz-Bereich ist, stellt dünnes, trockenes Holz kein großes Hindernis dar. Der Sensor ist geschützt unter dem Brett mit zwei Gummiringen fixiert angebracht. Alle Körper fallen im Vakuum gleich schnell, heißt es. Es liegt hier zwar kein luftleerer Raum vor, trotzdem soll der Auftrieb und der Luftwiderstand der Frucht vernachlässigt werden können. Der Versuch könnte mit kleinen Eisen-, Blei- oder Stahlkugeln wiederholt werden...


Newton im Wohnzimmer Fall der Pampelmuse/Apfelsine/Grapefruit

Die Klassische Mechanik liefert die Formel der Geschwindigkeit beim 'Freien Fall':

Bei einer Fallhöhe h von 0,7 m und der mittleren Fallbeschleunigung g = 9,81 ms-2 berechnet sich die Geschwindigkeit zu:

Ausgehend von einem ganzzahligen Messergebnis können Werte zwischen 12 und 14 km/h noch im gültigen Bereich liegen. Hier könnte der Sketch umformuliert werden, um die Geschwindigkeit mit Nachkommastellen und in m/s an zu geben.


Durchführung
Verstärker mit Potentiometer
Rechts unten kann am roten Potentiometer die Verstärkung eingestellt werden.
Der Sketch und der Aufbau für den Arduino werden etwas modifiziert, um eine bessere Triggerung zu erreichen. Das Listing ist unten angegeben. Der praktische Aufbau erfolgt nach gegebener schamatischer Skizze, die Verschaltung entsprechend dem Sketch.

Die Einstellung der Verstärkung bzw. der Empfindlichkeit am Verstärker kann durch kurze Handbewegungen erfolgen. Die LED am Arduino leuchtet bei Messbereitschaft, also ohne Triggerauslösung. Das Potentiometer ist so einzustellen, dass im Ruhezustand noch gerade keine Messung ausgelöst wird. Nun kann die Anordnung positioniert werden und eine Probemessung erfolgen.

Die Frucht wird entweder auf Höhe der Tischkante einfach losgelassen (ohne den Arduino zu treffen) oder sie wird über den Rand gerollt, so dass eine Art schiefer Wurf entsteht. Auch dabei ist die Fallzeit, sowie die Fallgeschwindigkeit trotz Parabelbahn laut Theorie ja gleich.


Messergebnis Probemessung und relativer Fehler

Eine Grapefruit mit einem Durchmesser von etwa 8 cm liefert mehrfach reproduzierbar eine Anzeige von 12 km/h. Dem Reiz, auch hinter das Komma zu gucken, kann nicht widerstanden werden!

Nach Änderung des Variablentyps für v und vmax in double und der Korrektur der Berechnungs- und Ausgabezeile

v = (f*1e6)/44.0;     // 24 GHz RadarSerial.print(vmax,2); Serial.println(" km/h");

Versuchsaufbau praktisch mit alter Literaturerscheint nun ein erster Messwert mit
12,68 km/h mit zwei Nachkommastellen! Dies entspricht einem relativen Fehler von nur 5% bei diesem ersten Ergebnis. Die Messreihe kann beginnen. So mancher Aufbau mit Haltemagnet und Digitalzähler liefert da schlimmere Ergebnisse. Vielleicht entsteht so ein neuer Praktikumsversuch an Schulen...

Nach dem Fall der Kastanie aus eigener Feder - einem Video mit Einzelbild-Auswertung vor einer Steinmauer - bei dem die Zeit in Bild und der Weg in Stein gemessen wurde, sowie dem Fallversuch wie von Dr. Braak durchgeführt, bei dem mit Laptop und Soundsoftware die Zeit zwischen Schaltergeräusch und Aufprall akustisch bestimmt wird, nun also der Radarfall, bei dem die Messgröße direkt die Geschwindigkeit ist.


Verbesserter Trigger >1000fach besser
Als Verstärker ist ein Zweifach-Operationsverstärker verbaut, die einzelnen Stufen sind als invertierender Verstärker ausgelegt, wobei eine Stufe regelbar ist. Durch einen Spannungsteiler wird das Bezugspotenzial auf die halbe unipolare Betriebsspannung gelegt. Der Vorteil ist der Verzicht auf negatives Potenzial, der Nachteil scheint zunächst der für Digitaleingänge ungünstige Ruhepegel von 2,5 Volt zu sein. Wird ein Arduino (o.ä) eingesetzt, gilt diese Einschränkung nicht. Hat der Digitaleingang nur eine Schaltschwelle, so hat der Analogeingang mit 10-Bit-Auflösung 1024 Triggerschwellen. Aus diesem Grund wird nicht mehr digital, sondern analog ausgelöst. Wird nun der bisherige Digitaleingang (Pin 7) zusätzlich mit Analogeingang A0 verbunden, ist hoch auflgelöstes Triggern möglich, mit jeweils 512 Stufen oberhalb und unterhalb des Ruhepegels. Die Triggerschwelle ist im Sketch fest auf den Wert 30 eingestellt. Wird dieser Wert unterschritten, beginnt die Messfolge.
#define TRIGGER_IN A0#define TRIGGER_LEVEL 30#define RADAR_IN 7#define RADAR_OUT 13#define SCANS 8 int trigger;

Der Deklarationsteil zeigt die Konstanten und eine Variable für den neuen Trigger. Der Ausgang RADAR_OUT zeigt die Unruhe am Verstärkerausgang. Ein PWM-Ausgang (Pin 5) würde ein quasi analoges Signal an einer LED ausgeben. Hier wird lediglich die eingebaute LED an Pin 13 benutzt.

Die Triggerung in der Hauptschleife sieht nun so aus:

 ... Serial.println("ready");  // Trigger; do {trigger=analogRead(TRIGGER_IN);  analogWrite(RADAR_OUT, map(trigger, 0, 1023, 0, 255)); } while(trigger>TRIGGER_LEVEL); analogWrite(RADAR_OUT,0); ...

Die do-while-Schleife wartet, bis die Triggerschwelle unterschritten ist. Dabei wird der momentane Analogwert vom Verstärker als Arduino-"Analogwert" einer LED an Pin RADAR_OUT zugeführt. Vor Beginn der Messung wird sie ausgeschaltet.

Der Sketch für die Radarfalle - den Radarfall:

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243
/* Radar-Sensor RSM-1650 24 GHz Verstärkung ca. 60 dB Gibt die Geschwindigkeit v mit zwei Nachkommastellen aus, wenn 44 Hz 1 km/h entsprechen. */#define TRIGGER_IN A0#define TRIGGER_LEVEL 30#define RADAR_IN 7#define RADAR_OUT 13#define SCANS 8 int trigger;double v,vmax;void setup() { Serial.begin(9600);  pinMode(RADAR_IN,INPUT);  pinMode(RADAR_OUT,OUTPUT);  pinMode(TRIGGER_IN,INPUT);}void loop() {unsigned long T;            // Periodendauer in us double f;                   // Frequenz in MHz  vmax=0;                     //  Serial.println("ready");    // Trigger; do {trigger=analogRead(TRIGGER_IN);  analogWrite(RADAR_OUT, map(trigger, 0, 1023, 0, 255)); } while(trigger>TRIGGER_LEVEL); analogWrite(RADAR_OUT,0); for(int i=0;i<SCANS;i++)    // 8 Messungen  {T = pulseIn(RADAR_IN, HIGH) + pulseIn(RADAR_IN, LOW);  f=1/(double)T;             // f=1/T     v=((f*1e6)/44.0);          // 24 GHz Radar  vmax=max(v,vmax);          // Schleppzeiger  Serial.print(">");         // 16 Punkte (LCD) }  Serial.print(vmax,2);Serial.println(" km/h"); delay(2000);                // 2 Sekunden}

Fazit
Eine Kalibrierung im Sinne der Definition des Sensors fand hier nicht statt. Vielmehr wurde mit einem bekannten Wert verglichen, also eine Art Referenzmessung durchgeführt. Ungenauigkeiten tauchen eher bei der Programmierung oder dem realen mechanischen Aufbau auf. Die Genauigkeit dieser Anordnung dürfte für viele Fälle hoch genug sein. Gab es beim Verkehrsradar nicht auch 10% Toleranz?

Theoretischer Hintergrund Doppler-Frequenz
Zunächst der Fall, dass eine stehende Quelle (Sender) sein Signal mit der Sendefrequenz konzentrisch abstrahlt. Eine Welle bewegt sich dann mit der Geschwindigkeit c vom Sender weg in Richtung Empfänger. Der Empfänger bewegt sich mit der Geschwindigkeit v auf die Quelle zu. Die Wellenlänge bleibt konstant, es gibt also nur eine Änderung von Frequenz und Geschwindigkeit.

Entgegengesetzte Geschwindigkeiten addieren sich bei Annäherung zur Relativ-geschwindigkeit: .

Der Empfänger nimmt die erhöhte Empfangsfrequenz fE war, da pro Zeiteinheit mehr Wellen empfangen werden als bei Stillstand. Mit der Grundgleichung der Wellenlehre und deren verschiedenen Umstellungen

wird die Gleichung für die Empfangsfrequenz gefunden.

und

Nach dem Ausklammern der Sendefrequenz ergibt das:

Dabei gilt (+) bei Annäherung und (-) bei Entfernung.


Der umgekehrte Fall liegt vor, wenn die Quelle sich bewegt und der Empfänger ruht. Dann ist von außen betrachtet kein konzentrisches Wellenbild zu erkennen, da der Sender jeweils von einem anderen Ort sendet.

Die Wellenlänge verkürzt sich bei Annäherung zu lambda’. Während einer Schwingungsperiode T0 bewegt sich der Sender mit der Geschwindigkeit v um delta x:

Damit berechnet sich die veränderte Wellenlänge zu:

Für die Frequenz gilt dann .

Somit ist die Gleichung für die wahrgenommene Frequenz einer bewegten Quelle:

Dabei gilt (-) bei Annäherung und (+) bei Entfernung.


Bei Radar-Messungen nach dem CW-Prinzip sendet der Sender ununterbrochen und empfängt eine Differenzfrequenz, auch Dopplerfrequenz genannt. Der ruhende Beobachter am Straßenrand sendet mit f0 und ein sich bewegender Gegenstand empfängt die veränderte Frequenz, die er reflektiert und als Frequenz fR ans bewegte Quelle ausstrahlt. Der ruhende Beobachter empfängt nun die Frequenz fQ, wobei die Sendefrequenz des bewegten Gegenstandes fR ist.

Empfangsfrequenz des bewegten Gegenstandes:

Empfangsfrequenz des ruhenden Beobachters:

Die Differenz zwischen f0 und fQ bei Entfernung ist in diesem Fall also die Doppler-Frequenz:

Mit 24 GHz und 1 km/h bzw. 0,277 m/s berechnet sich die Doppler-Frequenz zu:





300_d_Berndt-x_Radarfalle - Experimentelle Kalibrierung - 24GHz-Radar - Sensor IPM-165_1a.pdf

http://www.hjberndt.de/soft/radar/indexfall.html






********************************************************I*



Blitzkasten in der Hosentasche - Doppler-Radar-Sensor IPM-165
Geschwindigkeits-messung mit Arduino
Ergänzung zum eBook: Messen und Steuern mit dem Smartphone
Um eigene Lötarbeiten zu vermeiden, wurde ein fertiges Modul (links) mit Verstärkerplatine bei weidmann-elektonik.de geordert (rechts das HC-06 Bluetooth-Modul). Die stilvolle Platine passt sich dem Modul völlig an. Dort im Shop gibt es auch noch weitere 'nützliche' Dinge ...
Mit dem IPM-165 - 24 GHz Mono-CW-Radarsensor bietet InnoSenT GmbH ein interessantes Radar-System an. Der Sensor arbeitet als Dauerstrichradar (Continous Wave) und hat einen analogen Ausgang, der mit 300 mV angegeben ist.
Das Doppler-Prinzip kommt aus der Wellenlehre und nutzt bei bewegten Gegenständen die Frequenzänderung. Im Straßenverkehr wurde/wird dieses Verfahren bei Geschwindigkeitskontrollen eingesetzt. Wenn ein Sender eine Welle ausstrahlt und diese, von einem bewegten Gegenstand reflektiert, wieder empfangen wird, entsteht die so genannte Doppler-Frequenz bzw. eine Frequenzdifferenz zwischen Sende- und Empfangsfrequenz. Diese Frequenz liefert das Modul an seinem Analog-Ausgang. Bei 24 GHz berechnet sich 44 Hz pro 1 km/h.
Hält man die Hand ruhig vor den Sensor, so entsteht kein Signal. Zieht man sie schneller werdend weg, so entsteht das dargestellte Oszillogramm (blau: Analognignal am Modul 50 mV/Div und das um ca. 40 dB verstärkte Signal am digitalen Kanal) des DSO-Quad. Die Dopplerfrequenz nimmt sichtbar zu - es ist eine Beschleunigung zu erkennen. Nach 90 ms ist das Signal zu schwach. Die erste Schwingung dauert 10 ms, wodurch sich ca. 2,3 km/h errechnen.

Übersicht vom Frequenzzähler zum Blitzkasten


Test am Arduino modifizierter Frequenzzähler

Da ein Frequenzzähler für den Arduino schon vorhanden war, wird der alte Quelltext noch mal hervor gekramt und etwas modifiziert. Neu hinzu kommen die beiden Geschwindigkeits-Variablen. Um ein Ergebnis zu erhalten wird aus sechzehn Frequenzmessungen der höchste Wert zur Anzeige gebracht.
 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
int v,vmax,pin = 7;void setup() { Serial.begin(9600);  pinMode(pin, INPUT);}void loop() {unsigned long T;          // Periodendauer in us double f;                 // Frequenz in MHz  char s[20];               // Ausgabestring vmax=0;                   //  Serial.println("ready");  // Trigger; while( digitalRead(pin));  while(!digitalRead(pin)); for(int i=0;i<16;i++)     // 16 Messungen (LCD) {T = pulseIn(pin, HIGH) + pulseIn(pin, LOW);  f=1/(double)T;           // f=1/T     v=int((f*1e6)/44.0);     // 24 GHz Radar  vmax=max(v,vmax);        // Schleppzeiger  Serial.print(">");       // 16 Punkte (LCD) }  sprintf(s,"%3d km/h",vmax); Serial.println(s);        // Ausgabe delay(2000);              // 2 Sekunden}

Im Serial-Monitor erscheint ein "ready", um Messbereitschaft zu signalisieren. Die Verstärkung war hier so eingestellt, dass das Poti 'gefühlt' 3 Mikrometer vom linken Anschlag stand, also gerade etwas mehr als 40 dB Verstärkung (100fach). Bei höheren Stellungen löste der folgende 'Digital-Trigger' aus. Mit while(digitalRead (pin)) wird gewartet, bis der Eingang auf LOW geht. Im Anschluss folgt die umgekehrte Prozedur, so dass beim ersten Impuls die Messung beginnt. In 16 Durchläufen wird die Periodendauer gemessen, die Frequenz berechnet und schließlich der Faktor 44 Hz einbezogen, um auf km/h zu kommen. Der Höchstwert wird ermittelt und gespeichert. Im Serial-Monitor erscheint nach jeder Messung ein '>'. Wegen des Timeout von pulseIn() tröpfelt die Messung nach einmaligem Trigger auch bei Ruhe langsam durch. Das Ergebnis wäre dann 0 km/h. Ruckartige Bewegungen können maximal auch schon mal 50 km/h erreichen. Wäre dass die Geschwindigkeit einer Ohrfeige? Nach 2 Sekunden ist die Messanlage wieder scharf.


Geschwindigkeitsradar mit LDC-Anzeige
Die Ausgabe der Messung über Serial.print an einen PC ist einfach, aber auch unflexibel. Als autonomes Messgerät reicht da auch erst einmal eine zweizeilige LCD-Anzeige. Wie beim "Arduino als Zollstock", oder bei der schon oben angesprochenen Variante "Arduino als Zähler". Der obige Sketch muss an wenigen Stellen etwas angepasst werden.
 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132
#include <LiquidCrystal.h>LiquidCrystal lcd(12, 11, 5, 4, 3, 2);int v,vmax,pin = 7;void setup() { lcd.begin(16, 2);  lcd.print("Arduino-Radar");  pinMode(pin, INPUT);  pinMode(13,OUTPUT);}void loop() {unsigned long T;          // Periodendauer in us double f;                 // Frequenz in MHz  char s[20];               // Ausgabe vmax=0;                   //  lcd.setCursor(0, 1);lcd.print("Ready ...       "); while( digitalRead(pin));  while(!digitalRead(pin)); for(int i=0;i<16;i++)    // 16 Messungen (LCD) {T=pulseIn(pin,HIGH)+pulseIn(pin,LOW);  f=1/(double)T;          // f=1/T     v=int((f*1e6)/44.0);    // 24 GHz Radar  vmax=max(v,vmax);       // Schleppzeiger  lcd.setCursor(i, 1);lcd.print(">"); }  sprintf(s,"%3d km/h",vmax); lcd.setCursor(0, 0); lcd.print("Gemessen");lcd.print(s); lcd.setCursor(0, 1);lcd.print("================"); delay(2000);             // 2 Sekunden}

Nach der Initialisierung in Setup() folgt die Anzeige des Projekts, nämlich "Arduino-Radar". Die eigentliche Messung ist gleich geblieben, nur die Darstellung erfolgt nun so, dass ein "Ready ..." Bereitschaft ankündigt und nach erfolgter Triggerung in der unteren Zeile jeweils ">" pro Messung angezeigt werden. Als Ergebnis steht dann der Maximalwert in km/h unterstrichen für 2 Sekunden auf der Anzeige. Im Anschluss wird dann wieder Mess-bereitschaft angezeigt.


Bewegungsmelder mit sehr wenigen Zeilen
Mit einer binären Sketchgröße von nur 1.220 Bytes und nur 11 Zeilen lässt sich mit dem Arduino Uno und dem Sensormodul ein Bewegungsmelder realisieren. Bei einer Unruhe im Sensorbereich (Bewegung) leuchtet die LED an Pin 13 für 4 Sekunden. Es wird einfach nur auf ein Ereignis in Form eines Impulses gewartet und dann die LED kurz angeschaltet. Mehr nicht.
 1 2 3 4 5 6 7 8 91011
#define LED 13#define PIN 7void setup() {pinMode(PIN,INPUT); pinMode(LED,OUTPUT);}void loop() {while(!digitalRead(PIN)); while(digitalRead(PIN)); delay(50);  digitalWrite(LED,HIGH); delay(4000);digitalWrite(LED,LOW );// 4 Sekunden}

Bewegungsmelder mit Bluetooth
Wie schon bei "Steuern mit Bluetooth" gezeigt, eignet sich der Arduino mit HC-Bluetooth-Adapter gut zur Übertragung von seriellen Daten via Bluetooth. Mit dem HC-06 - wie weiter oben abgebildet - wird der Aufbau nochmals einfacher, wenn die Pegel und die Versorgungsspannung 5 Volt verlangen. Da das hier benutze BT-Modul sogar mit 9600 Baud voreingestellt ist, kann es einfach in die Pin-Buchse 0 (RX) und 1 (TX) vom Arduino gesteckt werden, da hier die Pinbelegung am HC genau passte (TX in 0 und RX in 1). Alle Daten werden dann über den Äther geschickt und landen beim entsprechend verbundenen Bluetooth-Gerät.
 1 2 3 4 5 6 7 8 9101112131415161718
#define LED 13#define PIN 7void setup() {pinMode(PIN,INPUT);  pinMode(LED,OUTPUT); Serial.begin(9600);}void loop() {while(!digitalRead(PIN));  while( digitalRead(PIN)); delay(50); Serial.println("Hier spricht der Arduino."); digitalWrite(LED,HIGH); delay(4000);            // 2 Sekunden digitalWrite(LED,LOW);}

Das Ergebnis ist hier lediglich die Textzeile "Hier spricht der Arduino". Die Überprüfung kann am schnellsten mit einem der vielen Bluetooth-Terminal-Programme, die es im Play-Store gibt, erfolgen. Siehe auch Steuern mit Bluetooth.


Geschwindigkeit mit Bluetooth Arduino als Messknecht
Werden nun beide Sketche etwas kombiniert, so sollte es möglich sein auch die Geschwindigkeit als Messergebnis zum mobilen Telefon oder Tablet zu übertragen. Nach den erforderlichen Umbauten, könnte ein Sketch wie folgt aussehen:
 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
int v,vmax,pin = 7;void setup() {Serial.begin(9600); pinMode(pin, INPUT); pinMode(13,OUTPUT);}void loop() {unsigned long T;        // Periodendauer in us double f;               // Frequenz in MHz  char s[40];             // Ausgabe vmax=0;                 // Maximalwert while(digitalRead(pin)); while(!digitalRead(pin)); digitalWrite(13,HIGH); for(int i=0;i<5;i++)    // 5 Messungen  {T = pulseIn(pin, HIGH) + pulseIn(pin, LOW);  f=1/(double)T;         // f=1/T     v=int((f*1e6)/44.0);   // 24 GHz Radar  vmax=max(v,vmax);      // Schleppzeiger } // Für das Smartphone via HC06-Bluetooth sprintf(s,"Maximale Geschwindigkeit: %3d km/h",vmax); Serial.println(s);      // Ausgabe delay(4000);            // 4 Sekunden digitalWrite(13,LOW);   }

Aus 5 Messungen wird der Maximalwert zum Smartphone oder jedem beliebig per Bluetooth verbundenen Gerät geschickt. Da kein PC angeschlossen ist, wird für das HC-Modul die normale serielle Verbindung an Pin 0 und Pin 1 benutzt.


Blitzkasten in der Hosentasche Radar/Arduino/Bluetooth/Smartphone
Im eBook "Messen mit dem Smartphone" wird gezeigt, wie mit der eingebauten Kamera des Handys ein klassisches Physik-Experiment recht einfach mit Hilfe von rfo-Basic! durchgeführt werden kann. Wenn die Geschwindigkeit via Bluetooth vom Radar zum Smartphone gelangt, ist es auch möglich mittels rfo-Basic! die Kamera anzusteuern und ein Foto zu machen - mit Blitz, versteht sich. Hier der prinzipielle Aufbau:
24 GHz-Radar und 2,4 GHz Bluetooth und als Knecht der Arduino. Die gemessene Geschwindigkeit wird zum Smartphone übertragen und dort löst ein kleines rfo-Basic-Programm die Kamera mit Blitz aus. Das Bluetooth-Modul und der Radar-Sensor sollten möglichst weit von einander entfernt sein, um Störungen zu vermeiden. Zumindest die HC-06-Platine ist eher wenig abgeschirmt.
Ein fiktives Bild aus Mangel an Gelegenheit: Hier sollte der Sensor in Richtung Straßenrand zeigen, um ein Ergebnis zu erreichen. Es gibt auch kommerzielle Anwendungen für den Offroad-Bereich: Speed-Wedge-Radar.
Das rfo-Basic!-Listing ist kurz, da hier einige Dinge in separate Quelltexte ausgelagert wurden, der Ablauf wird dadurch übersichtlicher. Wie in [1] und [2] beschrieben, sollte vor dem Start Bluetooth schon aktiviert sein. Das HC-06-Modul sollte dem Smartphone ebenfalls schon bekannt sein, so dass mit btopen.bas eine Verbindung hergestellt werden kann. Nach einer Weile erfolgt die Ausgabe des verbundenen Geräts. Nach 2 Sekunden erscheint im Text-Modus "ready to shoot" und die Bluetooth-Leseroutine wird aufgerufen. Diese kehrt erst zurück, wenn eine Zeichenfolge mit abschließendem Zeilenvorschub (13) empfangen wurde. Der Inhalt der Meldung in A$ wird nicht überprüft und in camerashoot.bas weiter verarbeitet. Die Kamera wird mit Blitz ausgelöst, das Bild dargestellt und die Zeichenkette A$ in das Bild geschrieben. Das Blitzfoto ist fertig und wird als "image.png" im data-Verzeichnis abgelegt. Danach wird der Grafikmodus verlassen und die Zeichenkette auch auf den Textbildschirm ausgegeben. Nach einer halben Sekunde wird der Bluetooth-Status abgefragt und bei fehlender Verbindung geschlossen, falls nicht, ist die Kamera wieder "ready to shoot".
 1 2 3 4 5 6 7 8 9101112131415161718192021222324
PRINT "Radarblitz-Test mit HC-06/Arduino."PRINT "Doppler-Modul mit 24 GHz HB 2867 an Pin 7,"PRINT "Arduino sendet die Geschwindigkeit"PRINT "mit Serial.println .... via Bluetooth."PRINT "Das Smartphone macht ein Blitzfoto."PRINT "Suche Gerät im Äther..."INCLUDE btopen.basPAUSE 2000CLSDO PRINT "ready to shoot" INCLUDE btread.bas GR.OPEN 255,16,16,16 INCLUDE camerashoot.bas GR.CLOSE PRINT a$ PAUSE 500 BT.STATUS sUNTIL s<>3BT.CLOSEENDONERROR:END

Aufgrund der Konstruktion des Verstärkers, liegt das Ruhesignal bei etwa 2,5 Volt. Bei Störungen gibt es mehr oder weniger große Schwankungen um diese "Nulllinie". Der bis hier digital ausgebildete Auslösetrigger kann noch optimiert werden - in einer zweiten Anwendung soll diese Methode benutzt werden, um eine Kalibrierung der Messanordnung zu erreichen. Hier jedoch erst noch die Theorie zur Praxis:


Theoretischer Hintergrund Doppler-Frequenz
Zunächst der Fall, dass eine stehende Quelle (Sender) sein Signal mit der Sendefrequenz konzentrisch abstrahlt. Eine Welle bewegt sich dann mit der Geschwindigkeit c vom Sender weg in Richtung Empfänger. Der Empfänger bewegt sich mit der Geschwindigkeit v auf die Quelle zu. Die Wellenlänge bleibt konstant, es gibt also nur eine Änderung von Frequenz und Geschwindigkeit.

Entgegengesetzte Geschwindigkeiten addieren sich bei Annäherung zur Relativ-geschwindigkeit: .

Der Empfänger nimmt die erhöhte Empfangsfrequenz fE war, da pro Zeiteinheit mehr Wellen empfangen werden als bei Stillstand. Mit der Grundgleichung der Wellenlehre und deren verschiedenen Umstellungen

wird die Gleichung für die Empfangsfrequenz gefunden.

und

Nach dem Ausklammern der Sendefrequenz ergibt das:

Dabei gilt (+) bei Annäherung und (-) bei Entfernung.


Der umgekehrte Fall liegt vor, wenn die Quelle sich bewegt und der Empfänger ruht. Dann ist von außen betrachtet kein konzentrisches Wellenbild zu erkennen, da der Sender jeweils von einem anderen Ort sendet.

Die Wellenlänge verkürzt sich bei Annäherung zu lambda’. Während einer Schwingungsperiode T0 bewegt sich der Sender mit der Geschwindigkeit v um delta x:

Damit berechnet sich die veränderte Wellenlänge zu:

Für die Frequenz gilt dann .

Somit ist die Gleichung für die wahrgenommene Frequenz einer bewegten Quelle:

Dabei gilt (-) bei Annäherung und (+) bei Entfernung.


Bei Radar-Messungen nach dem CW-Prinzip sendet der Sender ununterbrochen und empfängt eine Differenzfrequenz, auch Dopplerfrequenz genannt. Der ruhende Beobachter am Straßenrand sendet mit f0 und ein sich bewegender Gegenstand empfängt die veränderte Frequenz, die er reflektiert und als Frequenz fR ans bewegte Quelle ausstrahlt. Der ruhende Beobachter empfängt nun die Frequenz fQ, wobei die Sendefrequenz des bewegten Gegenstandes fR ist.

Empfangsfrequenz des bewegten Gegenstandes:

Empfangsfrequenz des ruhenden Beobachters:

Die Differenz zwischen f0 und fQ bei Entfernung ist in diesem Fall also die Doppler-Frequenz:

Mit 24 GHz und 1 km/h bzw. 0,277 m/s berechnet sich die Doppler-Frequenz zu:





300_d_Berndt-x_Radarfalle - Geschwindigkeitsmessung mit ARDUINO - Doppler-Radar-Sensor IPM-165_1a.pdf

http://www.hjberndt.de/soft/radar/index.html







********************************************************I*


Arduino als Zähler
Frequenzzähler mit Arduino
An manchen Schulen werden Zählraten und andere Ereignisse im Praktikum gemessen. Ein GM-Zählrohr liefert Impulse, die der Intensität von z.B. Gamma-Stahlen entsprechen. In der Mechanik können Geschwindigkeiten mittels Speichenrad in eine Frequenz gewandelt werden. Interferenzübergänge erlauben Aussagen zu optischen Weglängenänderungen.



Arduino zeigt die Netzfrequenz bei offenem Eingang auf einem LCD-Display.


Ein Blick in die Referenz auf arduino.cc zeigt bei den Eingaben unter 'Advanced I/O' die Funktion pulseIn(). Die Beschreibung sagt, dass mit dem Aufruf pulseiIn(pin, HIGH) gewartet wird, bis das Signal an dem Eingangs-Pin (pin) auf Logikpegel HIGH geht. Dann wird ein Timer gestartet und gewartet bis der Pegel LOW erreicht wird. Die verstrichene Zeit wird in Mikrosekunden zurück geliefert. Etwas anders ausgedrückt: puseIn(pin,HIGH) liefert die Impulsdauer ti.
Die Impulspause tp kann mit pulsIN(pin,LOW) ermittelt werden. Die Periodendauer T ergibt sich aus T = ti+ tp. Bei einem symmetrischen Rechtecksignal ist ti = tp, also die Zeit für HIGH-Pegel gleich der Zeit für LOW-Pegel.

Die Funktion kehrt bei einem Timeout mit dem Wert 0 zurück, womit auch bei fehlendem Signal das Programm fortgesetzt werden kann.

Der Kehrwert der Periodendauer T entspricht der Frequenz f. Aus Mikrosekunden (1e-6) werden Megahertz (1e6). Um eine Anzeige in Hertz zu erreichen wird mit 1e6 multipliziert. Hier der Sketch.

/* Frequenzzähler Gibt die Frequenz des Spannungsignals an Pin 7 aus */int pin = 7;unsigned long T;          //Periodendauer in usdouble f;                 //Frequenz in MHz void setup() {Serial.begin(9600); pinMode(pin, INPUT);}void loop() {T = pulseIn(pin, HIGH) + pulseIn(pin, LOW); if (T==0) Serial.println("Timeout."); else  {f=1/(double)T;          // f=1/T                   Serial.println(f*1e6);  //Ausgabe in Hertz } }


Probe mit DSO-Quad


Das Hosentaschenoszilloskop 'DSO-Quad' mit seinem eingebauten Frequenzgenerator soll als Testsignalgeber dienen. Die Rechteckfrequenz kann in weiten Bereichen eingestellt werden. Mit zwei Verbindungen kann der Test beginnen. Masse an Masse und Generatorausgang vom Quad an Pin 7 des Arduino. Bei der Frequenz 5000 Hz wird in der Tat auch ein Wert um 5025 angezeigt. Wer da jetzt im Recht ist, müsste eine Kalibrierung zeigen. Für einfache Messungen sollte das jedoch zunächst reichen.



Ratemeter oder Impulszähler


Bei parallel laufenden, freien Praktika kann es vorkommen, dass plötzlich alle Impulszähler in Gebrauch sind. Abhilfe schafft da ein kleiner Arduino mit einem kleinen Sketch. Impulsraten sind Ereignisse aperiodischer Signale pro Zeiteinheit, wie zum Beispiel die Impulsfolge eines Geiger-Müller-Zählrohrs.

In wenigen Zeilen wird hier mittels pulseIN() und micros() die Impulsrate an Pin 7 gemessen. Als Zeitintervall T ist hier eine Sekunde, bzw. 1000000 (1e6) Mikrosekunden voreingestellt.

In der Hauptschleife wird die Einzelmessung initialisiert und dann während des Zeitintervalls T mittels pulseIn() auf eine ansteigende Flanke gewartet. Anschließend enthält N die Anzahl der Impulse pro Sekunde und wird via Serial.println gesendet.

Benutzt man symmetrische Signale (Rechteck, Sinus, Dreieck), so ergeben sich bei beiden Zählervarianten gleiche Ergebnisse, obwohl sie anders funktionieren.

Durch Änderung der Variablen T kann die Messdauer verändert werden. Für eine Zähldauer von z.B. 10 Sekunden würde T = 10*1e6 betragen.

Hier der Sketch.
/* Impulszähler Gibt die Impulse pro Sekunde des Spannungsignals  an Pin 7 aus */int pin = 7;unsigned long N;          //Anzahl der Impulseunsigned long T;          //Zeitintervall in usunsigned long time;       //Startzeitvoid setup() { Serial.begin(9600);  pinMode(pin, INPUT);  T = 1e6;}void loop() { N = 0; time = micros();  do //what goes up must come down  {if (pulseIn(pin, HIGH)>0) N++;  }while( micros() < (time+T) );   Serial.println(N);}




LCD-Anzeige


Wie beim 'Arduino als Zollstock' macht eine LCD-Anzeige die Messanordnung autonom. Auf einem 2x16-Display erfolgt die Darstellung durch Einbindung der 'LiquidCrystal'-Bibliothek, die unter http://arduino.cc/en/Tutorial/LiquidCrystal beschrieben ist. Das gesamte Programm wird dadurch kaum länger. Hier die Variante für den Frequenzzähler. Da die Umlaute wieder Probleme machen, zeigt das Display 'FrequencyCounter'. Bei offenem Eingang fängt sich der Zähler hier die Netzfrequenz ein.


/* Frequenzzähler   Gibt die Frequenz des Spannungsignals an Pin 7 aus */#include <LiquidCrystal.h>int pin = 7;unsigned long T;          //Periodendauer in usdouble f;                 //Frequenz in MHz char fm[] = " %8ld Hertz";LiquidCrystal lcd(12, 11, 5, 4, 3, 2);void setup() { lcd.begin(16, 2);  pinMode(pin, INPUT);  lcd.print("FrequencyCounter");}void loop() { char s[20];     // Messen von ti + tp = T  T = pulseIn(pin, HIGH) + pulseIn(pin, LOW);  T == 0 ? f = 0 : f=1/(double)T;  sprintf(s,fm,(unsigned long)(f*1e6));  lcd.setCursor(0, 1);  lcd.print(s);  delay(200);}



300_d_Berndt-x_ARDUINO als Zähler - Frequenzzähler mit ARDUINO_1a.pdf
http://www.hjberndt.de/soft/ardfreq.html







DIN A4  ausdrucken
********************************************************I*
Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected]
ENDE