Das Rd-03D ist ein Radarmodul aus der Rd-03 Produktserie von Shenzhen Ai-Thinker Technology Co. Ltd., welches
mit dem "Artificial Internet of things" AIoT-Chip S5KM312CL von Iclegend ausgestattet ist und
Bewegungen von menschlichen Körpern erkennen kann. Das Modul verfügt über intelligente Positionierungs- und
Verfolgungsalgorithmen, womit es möglich ist bis zu drei Objekte gleichzeitig zu erkennen und deren
Positionsdaten zu ermitteln (Entfernung + Winkel zum Modul).
Laut Hersteller kann es intelligent zwischen menschlichen Bewegungen, Mikrobewegungen und Ruhephasen
unterscheiden. Es verfügt über eine gute Widerstandsfähigkeit gegenüber externen Störungen und wird nicht von
drahtlosen Signalen wie WLAN beeinträchtigt.
Produktmodell: | Rd-03D |
---|---|
Chip: | S5K3M110 |
Frequenzband: | 24 - 24,25 GHz |
Erkennungsentfernung: | ≤ 8m (Auflösung: 0,75m; Genauigkeit: 0,15m) |
Erfassungswinkel: | ±60° (Azimutwinkel); ±30° (Steigungswinkel) |
Arbeitstemperatur: | -40°C bis ~85°C |
Antenne: | Integrierte PCB-Antenne |
Schnittstelle: | UART (default 256000 bps/baud) |
Betriebsspannung: | 5V |
Stromaufnahme: | ≥200mA |
Abmessungen: | 15mm × 44mm |
Anschlüsse: | Standard 1×4P-1,25mm Steckverbinder |
Es gibt bereits eine v2 von diesem Modul. In diesem Artikel beziehe ich mich aber auf die v1, welches
man anhand des verwendeten Chips S5K3M110 erkennen kann:
Pin | Funktion |
---|---|
5V | Spannungsversorgung |
DM | Burn data (-) zur Firmware-Programmierung (hier nicht verwendet) |
DP | Burn data (+) zur Firmware-Programmierung (hier nicht verwendet) |
DEBUG | Debugging der Firmware (hier nicht verwendet) |
GND | Ground/Masse (0V) |
TX | UART Transmit (Daten/Befehle senden) |
RX | UART Receive (Daten empfangen) |
Auf dem Rd-03D-Modul befindet sich sowohl eine Reihe an Lötpunkten, als auch ein 1×4P (1,25mm) Stecker. Leider hatte ich es versäumt, ein entsprechendes Kabel mit zu bestellen, somit habe ich mit Messingdrähten einen Anschluss geschaffen, der leicht auf ein Steckbrett passt:
Sobald das Modul in Betrieb gesetzt wird, kommen am Pin TX
(TTL level) Datenpakete an. Diese werden laut
offizieller Dokumentation folgendermaßen interpretiert/verarbeitet:
Die übliche Übertragungsrate des Ports sind 256000 baud mit 1 Stop-Bit und keinem Paritäts-Bit. Die ausgegebenen Daten enthalten x-Koordinate, y-Koordinate, Geschwindigkeit und Abstands-Genauigkeit des Objekts (Little-endian).
Datenbeispiel:
AA FF 03 00
0E 03 B1 86 10 00 68 01
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
55 CC
Header | Data | Tail |
---|---|---|
AA FF 03 00 | Objekt1 Objekt2 Objekt3 | 55 CC |
Für jedes Objekt können die Daten folgendemaßen interpretiert werden:
x-Koordinate | signed int16 |
Das höchstwertige Bit 1 entspricht positiven Koordinaten, 0 entspricht negativen Koordinaten; die verbleibenden 15 Bits stellen den Absolutwert der x-Koordinate in mm dar. |
---|---|---|
y-Koordinate | signed int16 |
Das höchstwertige Bit 1 entspricht positiven Koordinaten, 0 entspricht negativen Koordinaten; die verbleibenden 15 Bits stellen den Absolutwert der y-Koordinate in mm dar. |
Geschwindigkeit | signed int16 |
Das höchstwertige Bit 1 entspricht positiver Geschwindigkeit, 0 entspricht negativer Geschwindigkeit; die verbleibenden 15 Bits stellen den Absolutwert der Geschwindigkeit in cm/s dar. |
Abstands-Genauigkeit | Uint16 |
Einheit: mm |
Anhand des obigen Datenbeispiels können die Werte folgendermaßen berechnet werden:
Objekt1 (x-Koordinate): |
0x0E + 0x03 * 256 = 782
|
Objekt1 (y-Koordinate): |
0xB1 + 0x86 * 256 = 34481
|
Objekt1 (Geschwindigkeit): |
0x10 + 0x00 * 256 = 16
|
Objekt1 (Abstands-Genauigkeit): |
0x68 + 0x01 * 256 = 360mm
|