Quadmeup Crossbow ist ein DIY -Projekt, das 5 km (zumindest) RC -Link für UAV (Flugzeuge und Drohnen) zu einem Preis unter 40 US -Dollar enthält. Ich verwendet SX1278 (LORA 868MHz/915MHz) -Kompatible (wie Hoperf RFM95W) Funkmodule, die mit Arduino -kompatiblen Boards verbunden sind. Es kann regelmäßig Arduino über SPI mit SX1278 oder Dedized Board wie Adafruit Feather 32U4 RFM Lora oder Lora32U4 II verbunden sein
Zukünftige Versionen könnten auf ESP32 LORA32 -Module botet werden.
Werke:
Benötigt Implementierung:
Zum Kompilieren müssen die folgenden Bibliotheken installiert werden:
| Byte | Beschreibung | Notizen |
|---|---|---|
| 1 | Rahmentyp und verwendeter Funkkanal | Bits 7-5 Definiert Frame, Bits 4-0 aktueller Funkkanal |
| 2 - 33 | Nutzlast | Lenghth, definiert durch den Rahmentyp |
| Nutzlastlänge + 2 | CRC | Verwenden von CRC8_DVB_S2 -Methode |
CRC wird mit crc8_dvb_s2 -Methode berechnet. Der anfängliche CRC -Wert für jeden Frame CRC ist gleich CRC von 4 Bind -Bytes (für das Sendernmodul eindeutig).
| Wert | Wert Hex | Beschreibung | Richtung | Nutzlastlänge |
|---|---|---|---|---|
| 0000 | 0x0 | RC kanalisiert Daten RC_DATA | Tx -> rx | 9 |
| 0001 | 0x1 | Empfängergesundheit und grundlegende Telemetrie RX_HEALTH | Rx -> tx | 6 |
| 0010 | 0x2 | Request Receiver -Konfiguration | Tx -> rx | Keine Verwendung |
| 0011 | 0x3 | Empfängerkonfiguration | Rx -> tx | Keine Verwendung |
| 0100 | 0x4 | Setzen Sie die Empfängerkonfiguration | Tx -> rx | Keine Verwendung |
| 0101 | 0x5 | Ping Frame, verwendet 9 Byte -Nutzlast | Tx -> rx | 4 |
| 0110 | 0x6 | Pong Frame, die gleiche Nutzlast wie Ping | Rx -> tx | 4 |
| 0111 | 0x7 | BIND den Rahmen, übertragen von TX nur während der Bindung | Tx -> rx | 4 |
RC_DATA -Frame -FormatDas Protokoll ermöglicht das Senden von 10 RC -Kanälen insgesamt codiert wie folgt
Gesamtlänge der RC_DATA -Nutzlast beträgt 9 Bytes
RX_HEALTH Frame -Format| Byte | Beschreibung |
|---|---|
| 1 | Rx rssi |
| 2 | Rx snr |
| 3 | RX -Versorgungsvolatage, gesendet in 0,1V |
| 4 | RX Analogeingang 1 in 0,1v gesendet |
| 5 | RX Analogeingang 2 in 0,1v gesendet |
| 6 | Flaggen |
| Bisschen | Bedeutung |
|---|---|
| 00000001 | Gerät im fehlersicheren Modus |
PING und PONG -Rahmen PING und PONG -Rahmen sollen das Paketroundrip zwischen dem TX- und RX -Modul bestimmen. TX sendet PING -Rahmen mit kurent micros . Wenn RX PING -Frame empfängt, reagiert es seine Nutzlast als PONG -Frame.
BIND das Bildformat| Byte | Beschreibung |
|---|---|
| 1 | Binden Sie ein Schlüssel Byte 0 |
| 2 | Binden Sie das Schlüssel Byte 1 |
| 3 | Binden Sie das Schlüssel Byte 2 |
| 4 | Binden Sie das Schlüssel Byte 3 |
1520 seinOpenTX 2.2.1 oder neuer ist mit aktiviertem externen RF -SBUs erforderlich.
SBUS1-1612.0ms oder 14.0ms normal 
Getestet mit:
Das RX -Modul gibt RC -Daten mit dem SBUS -Protokoll aus. Der Trick ist, dass das DIY -RX -Modul keine Wechselrichter aufweist, sodass das SBUS -Signal auch nicht invertiert ist (TTL -Standard), während das Standard -SBUS -Protokoll invertiertes serielles Signal verwendete.
Das bedeutet Folgendes:
Nach dem Blinken von TX und RX ist eine Bindung erforderlich.

