Wer kennt "LoRa" Long Range Telemetrie?

Rolf_

Erfahrener Benutzer
#41
Habe die RFM98W mit frei fliegenden Kabeln an die Pro-Minis (8 MHZ 3,3 Volt) verlötet. Bevor es weitergeht - sorry wegen der dummen Frage - Habe leider zum Programmieren nur USB-UARTs mit 5 Volt Speisespannung. Falls ich nur GND, TX und RX an den Programmiereingang des Arduinos anschließe und die Versorgungsspannung anderweitig (am RAW-Pin) einspeise () , sind die Eingänge 5 Volt - tolerant oder brauche ich ein 3,3 Volt USB-UART ?
 
#42
Hallo,
habe mit den Platinen des freundlicherweise von QuadMax entworfenen Layouts je eine LoRa-Sende- und Empfangseinheit aufgebaut und erste Tests durchgeführt. Dazu wurde eine Softwareversion erstellt, mit dere Hilfe sich die Werte von 4 Analogkanälen übertragen lassen. Dabei werden an den Analogports A0-A3 der Sendeeinheit anliegende Gleichspannungen ( 0V bis +3,3V ) als Werte zwischen 0 und 1023 ( 10-Bit-AD-Wandlerauflösung ) übertragen und ( vorerst nur ) via OLED-Display angezeigt. Zusätzlich werden auch noch der Zählerstand eines Upcounters und der SNR-Wert angezeigt.

Klaus
 

Anhänge

Rolf_

Erfahrener Benutzer
#43
Hallo Klaus,

super, die neuen Informationen auf Deiner LoRa-Seite. Gratulation zu den mindestens 2500 Metern in städtischem Umfeld OHNE Sichtverbindung.

Ich warte noch auf die Lieferung des 3,3 Volt USB-Seriell Umsetzers. Möchte da auf Nummer sicher gehen und die Arbeit der händisch gelöteten frei fliegenden Kabel nicht noch mal machen müssen, nur weil ich mir aus Ungeduld den verlöteten Arduino zerschieße.

2500 Meter ohne Sichtverbindung bei geringer Leistung sind wahrlich beeindruckend. Beim Einsatz zum Wiederfinden eines entflogenen/entfliegenden Kopters wäre wichtig, dass die letzte valide 2d GPS-Position fortlaufend gesendet wird, auch wenn das GPS keinen ausreichenden Empfang mehr hat. Freue mich schon auf das austesten.

Gruß Rolf
 
#44
Hallo Klaus,

super, die neuen Informationen auf Deiner LoRa-Seite. Gratulation zu den mindestens 2500 Metern in städtischem Umfeld OHNE Sichtverbindung.

Ich warte noch auf die Lieferung des 3,3 Volt USB-Seriell Umsetzers. Möchte da auf Nummer sicher gehen und die Arbeit der händisch gelöteten frei fliegenden Kabel nicht noch mal machen müssen, nur weil ich mir aus Ungeduld den verlöteten Arduino zerschieße.

2500 Meter ohne Sichtverbindung bei geringer Leistung sind wahrlich beeindruckend. Beim Einsatz zum Wiederfinden eines entflogenen/entfliegenden Kopters wäre wichtig, dass die letzte valide 2d GPS-Position fortlaufend gesendet wird, auch wenn das GPS keinen ausreichenden Empfang mehr hat. Freue mich schon auf das austesten.

Gruß Rolf
Hallo Rolf,
ich habe mir - ehrlich gesagt - beim Programmieren der ProMini's bisher kaum Gedanken um die richtigen Pegelwerte an den Ports gemacht. Als USB-Seriell-Umsetzer verwende ich einen UM2102 von ELV und je nach ProMini-Version entnehme ich ihm auch die für die Atmels jeweils benötigte Versorgungsspannung von 3,3V oder 5V.
Versehentlich konnte der Schalter, mit dem ich zwischen den beiden Spannungswerten auswählen kann, beim Flashen auch schon einmal in der falschen Stellung stehen, was sich dann aber auch nicht weiter irgendwie negativ auswirkte.

Was das Senden der letzten gültigen GPS-Position auch nach Ausfall des Satellitenempfangs betrifft, so müsste dazu die Software auf der Sendeseite noch etwas erweitert werden. Die meisten GPS-Moduln dürften nach Empfangsausfall nur noch NMEA-Strings ohne Positionsdaten ausgeben, so dass man die jeweils letzten gültigen Werte, um sie später abrufen zu können, vorher auch noch z.B. im EEPROM-Bereich des Atmels gespeichert haben müsste. Nachdem die Anzahl der möglichen EEPROM-Schreibzugriffe m.W. aber begrenzt ist, könnte sich das aber noch als ( aber vielleicht auch nur theoretisch existierendes ) Problem herausstellen.

Gruß Klaus
 
Zuletzt bearbeitet:

cesco1

Erfahrener Benutzer
#45
Ich denke eine umwandlung der ascii nmea daten im sender macht sinn. Die datenmenge wird halbiert und das interne abspeichern wird einfacher. Entsprechende nmea parser source gibts zuhauf. Als binärprotokoll bietet sich ghettotracker an. Einigermassen verbreitet, dokumentiert, schlank.

Warum denn eeprom? Die letzte poition ins ram genügt, man schaltet den sender ja zwischendurch nicht aus.

Die letzte 2D position könnte schon ziemlich schlecht sein. Ich würde die letzte "gute" 3D position nehmen. Bei 2D mit z.t. nur 3 sats kann der fehler recht gross sein, insbesondere wenn die antenne nicht nach oben zeigt.
 
Zuletzt bearbeitet:
#46
Warum denn eeprom? Die letzte poition ins ram genügt, man schaltet den sender ja zwischendurch nicht aus.
OK, das ist ein einleuchtendes Argument.

Die letzte 2D position könnte schon ziemlich schlecht sein. Ich würde die letzte "gute" 3D position nehmen. Bei 2D mit z.t. nur 3 sats kann der fehler recht gross sein, insbesondere wenn die antenne nicht nach oben zeigt.
Als Kriterium könnte man dazu die Anzahl der empfangenen Satelliten aus dem GGA-Protokoll benutzen. Solange dieser Wert oberhalb von 3 liegt, könnte man die jeweiligen Lat- und Lon-Werte zusätzlich auch noch in separaten Variablen ablegen, um sie hieraus dann auch noch nach einem Signalausfall auslesen und ausgeben zu können.
 

cesco1

Erfahrener Benutzer
#47
Etwas OT

Zuhause hab ich keine sicht auf gps satelliten. 2D lock klappt manchmal trotzdem. Das sind reflektierte gps signale die zum fenster reinkommen. Wenn ich auf maps schaue ist das aber NICHT die home position. Angezeigt wird die position von der baumreihe / strommasten wo die gps signale reflektiert werden. Das sind dann 10-30m differenz und die position schwankt statrk.

Verkauft der quadmax die platinen? Sieht gut aus.
 
#48
Etwas OT
Zuhause hab ich keine sicht auf gps satelliten. 2D lock klappt manchmal trotzdem. Das sind reflektierte gps signale die zum fenster reinkommen. Wenn ich auf maps schaue ist das aber NICHT die home position. Angezeigt wird die position von der baumreihe / strommasten wo die gps signale reflektiert werden. Das sind dann 10-30m differenz und die position schwankt statrk.
Für Vorführzwecke z.B. innerhalb von Hallen kann man GPS-Signale auch umlenken. Die Anordnungen bestehen dann aus einer ( ggf. auch aktiven ) möglichst frei zum Himmel zeigenden Empfangsantenne, einem (Kabel-) Verstärker für ca. 1.5GHz und einer weiteren, in den zu versorgenden Bereich gerichteten ( passiven ) Antenne. Solche Anordnungen soll es sogar als komplettes Industrieprodukt geben.
 
#49
Habe das LoRa-Empfangsprogramm noch etwas erweitert, so dass via Funk von der Gegenseite empfangene und von einem auf der Empfängerseite angeschlossenen GPS-Modul stammende Positionsdaten herangezogen werden können, um daraus laufend Distanz- und Richtungswerte berechnen und anzeigen zu können.
Ausserdem werden noch ein Upcounter, SNR-Werte ( Empfängerstörabstand ), sowie Höhenwerte und Batteriespannung von der Sendeseite angezeigt. Klappt schon sehr gut!
 

Anhänge

QuadMax

Erfahrener Benutzer
#50
Verkauft der quadmax die platinen? Sieht gut aus.
Danke ;).
Ein paar Platinen habe ich noch über.
Ich rechne heute Abend mal nach was mich eine Platine gekostet hat.

Die Buchsenleiste auf Klausklaus Bild muss man nicht zwingend anlöten.
Dann ist das Modem nochmal wesentlich schlanker.
Außer natürlich man benötigt den Arduino noch für andere Sachen.

@cesco1: Wenn du für dein duplex System noch jemanden benötigst, der dir die Platinen erstellt,
würde ich dir gerne helfen.
 
#51
Hallo Allerseits,
Jemand, der die LoRa's für Balloneinsätze nutzt, will noch festgestellt haben, dass die DORJI DRF1278 im Vergleich zu den RFM98 deutlich frequenzstabiler sein sollen. Das dürfte sich dann besonders bei Verwendung niedriger Bw-Werte positiv bemerkbar machen. Ansonsten spricht m.E. nichts dagegen, bei Betrieb im 433 MHz-ISM-Band auch Einstellungen wie 62.5 KHz oder 125KHz zu verwenden. Bei der Wahl der Arbeitsfrequenz sollte man dabei allerdings die stark belegte Bandmitte um 433.92 MHz meiden und stattdessen mehr an die Bandgrenzen gehen. Der grundsätzlich nutzbare Frequenzbereich geht von 433.05 bis 434.79MHz.

Klaus
 

QuadMax

Erfahrener Benutzer
#52
Balloneinsätze sind nocheinmal eine andere Hausnummer.
Bei Höhen von 30 bis 40 km kann die Temperatur schon auf -60°C abfallen.
Im Datenblatt ist eine Mindesttemperatur von -55°C angegeben.

Um einem Drift entgegenzuwirken hat das RFM98W einen "Temperatursensor".
Diesen kann man kalibrieren. Zu finden im Datenblatt auf Seite 83.
 

stubb0rn

Neuer Benutzer
#53
Im Bereich des Amateurfunks wird für Quarzgesteuerte Oszillatoren gerne eine Heizung (Quarzofen) verbaut um die Temperatur im Bereich des Schwingers (möglichst) konstant zu halten.
 

QuadMax

Erfahrener Benutzer
#54
Verkauf von Platinen

Meinen Restbestand werde ich für 3€ pro Platine inklusive Versand innerhalb der EU abgeben.
Als Zahlung akzeptiere ich Paypal und Überweisung.

Bei Interesse schreibt mir bitte eine PN.

Gruß,
QuadMax
 

cesco1

Erfahrener Benutzer
#55
Was technisches ...

Kann ich den chip eigentlich auch auf 145mhz laufen lassen?

Edit:
Ich habs mit dem afu rx geprüft, und ja, 2m geht bestens :)
Die frequenz stimmt auch recht gut, sowohl auf 70cm wie auch auf 2m.

--------------

Da die spec sagt 62khz minimum ohne quarzofen bleiben 62, 125, 250, 500khz bandbreite.

Für eine RC einigermassen flüssige steuerung dürfte das absolute minimum an refresh 20ms sein.
Das gibt dann beim niedrigsten spreading von 6 und minimaler coding rate von 4_5 und 6 kanälen:
- BW von 250khz. Message dauer 10ms.
- BW von 125khz. Message dauer 20ms.

Auf der andren seite bei 62khz BW coding rate von 4_5 und 6 kanälen:
- Spreading 12 Message dauer 1876ms. (zwei sekunden !)
- Spreading 10 Message dauer 472ms.

Ich denke 2 modi zu machen. Normal 250khz 10ms. Bei verbindungsabbruch oder very low snr dann umschalten auf 62khz 472ms. Unter 6 kanäle zu gehen lohnt nicht gross da die präambel immer gleich gross bleibt. Messages über 0.5 sek länge trau ich nicht so recht, obwohl da noch 6db rauszuholen wären. Der rückkanal wäre die gleiche rate, gemultiplexte telemetrie.

Im normalfall hätte man dann etwas mit openlrs vergleichbares. Im extremfall kommt dann automatisch etwas wesentlich robusteres dass keine flüssige steuerung mehr erlaubt, zusammen mit der FC aber ein kontrolliertes fliegen ermöglicht.

Ist das vernünftig? Kommentare?

----------------

Ich verwende $4 arduino uno von BG, umgebaut auf 3.3V mit einem 1117 regler + 1 diode.
Einer davon geht beim senden in reset. Brauchts da ein C über vcc?
 
Zuletzt bearbeitet:
#56
@cesco1
Was den Einsatz der RFM95-98 im 144MHz-Bereich betrifft, so gibt es dabei den Aspekt der technischen Verwendbarkeit und den der Zulässigkeit. Spezifiziert sind die genannten Typen m.W. für einen Einsatz ab 137 MHz und somit grundsätzlich auch im 2m-Amateurband nutzbar. Auf der anderen Seite kann ich mir aber nur sehr schwer vorstellen, dass ihre Verwendung im Rahmen einer Amateurfunklizenz zulässig sein könnte.

Was RC Control und die hierbei erforderlichen Zeitabläufe betrifft, so kann ich als Nicht-Modellbauer dazu nicht viel sagen, denke aber, dass die LoRa-Technik dafür nicht sehr gut geeignet ist.
Etwas verunsichert bin ich aber auch noch in Hinblick auf die einschlägigen Zulassungsvorschriften. So nennt die "Vf 30/2014" der Bundesnetzagentur als einzige Einschränkung für den 433MHz-ISM-Bereich eine max. Sender-ERP von 10mW. Danach scheint es keinerlei weitere Nutzungsbeschränkungen z.B. bezüglich einzuhaltender Arbeitszyklen oder maximal zulässiger Signalbandbreiten zu geben. Das klingt natürlich sehr gut, aber dann gibt es für uns in Europa auch noch die ERC Recommendation "70-03". Hier gibt es dagegen für den genannten Frequenzbereich einige Einschränkungen, wonach bei Verwendung von 10mW ERP entweder nur mit einem DutyCycle von <10% oder einer belegten Signalbandbreite von 25KHz gearbeitet werden darf. Wenn ich es richtig sehe, würde RC Betrieb unter LoRa damit kaum noch möglich sein.

Klaus
 

QuadMax

Erfahrener Benutzer
#58
Was technisches ...

[...]

Ist das vernünftig? Kommentare?
2Hz Updaterate könnte noch ausreichend sein um ein Flugzeug zu steuern.
Mit einer FC auf jeden Fall. Bei Multicoptern sehe ich das eher kritisch.
Außer man fliegt eine superstabile Kameraplattform, die bei zu steiler Schräglage selbst eingreift.

Ich habe probiert mit Eagle einen Transciever zu layouten und bin zu folgender Erkenntnis gekommen:
Damit der Transciever nicht zu groß wird macht es Sinn alle Komponenten auf einer Platine anzuordnen.
Als Arduino würde ich einen ATMEGA328p 5V/16MHz nehmen, einen Pegelwandler braucht man entweder zwischen pwm Ausgänge und 3.3 Arduino oder zwischen 5V Arduino und dem LORA Chip.

Die LORA Funkmodule kann man dann gleich mit selbst herstellen und einen Crystal nehmen der die Temperatur besser kompensiert, so dass auch kleinere Bandbreiten als 62kHz drin sind.
Dafür habe ich mir die Produkte von Semtech angeschaut und finde den SX1276 für unsere Anwendung passend.
Dieser hat zwei getrennte Antennenausgänge um auf verschiedenen Bändern zu Senden und Empfangen.
Vielleicht könnte man dies als Diversity nutzen.

Gruß,
QuadMax
 

cesco1

Erfahrener Benutzer
#59
Eine ein platinen lösung wäre sicher elegant und nicht so dick wie die 3-platinen lösung (danke uebrigens, ist da). Aber beim SX1276 hätte ich da bedenken. Das ding ist doch sehr sehr klein.

Ich würde das modul direkt auf die platine verlöten, ohne stifte. Das heisst unter dem modul keine lötpunkte. Das wird dann weniger fett und aufwendig wie die stift variante. Flach verlöten geht beim hoperf modul problemlos, orangerx machts beim openlrs auch so.

Einen 328 kann man notfalls von hand löten, oder man findet etwas im dip format, z.b. den attiny85. Finanziell macht das zwar keinen sinn, ein arduino kostet $3. Aber mit den ganzen stiftleisten wird das gross, das stört.

Der 328 läuft eigentlich auch bei 3.3V 16mhz. Also keine pegelwandler nötig. Die andere elektronik seriell oder servo gehen auch bei 3.3V. Das ist zwar ausserhalb der atmel specs, aber wenn das stört kann man 8mhz verwenden, das ist dann innerhalb der spec.
 
Zuletzt bearbeitet:

QuadMax

Erfahrener Benutzer
#60
Bei meinen Modulen habe ich keine Buchsenleiste verlötet, nur die Stiftleisten.
Dann sind diese wesentlich schlanker.

Zu dem Pegelwandler:
Ich dachte das PWM Signal arbeitet mit 0-5v?
Kann das der Arduino denn verkrafteten, bzw wird das PWM Signal richtig erkannt wenn der Arduino nur einen Pegel von 0-3.3v rausgibt?

Gruß,
QuadMax
 
RCLogger

FPV1

Banggood

Banggood

Oben