Telemetrie: Multiplex

Multiplex Sensor Bus (MSB, gegenwärtig v2) ist ein 1-Wire asynchron-serieller Bus mit 38k4 Baud, 8N1. Der Empfänger als Busmaster pollt mögliche Sensoren, indem er reihum die Sensoradressen 0..15 abfragt. Idle Line Protocol verhindert Kollisionen. Auf Adresse 0 sollte kein Sensor konfiguriert sein, weil sich hiermit der Busmaster (Empfänger) selbst abfragt. Das geschieht so, um einem loggenden oder sprechenden Bus Sniffer auch dieses Datum transparent zu machen.
Ein Sensor antwortet mit der von ihm verlangten Datenklasse. Die Datenklasse bestimmt das zugehörige Display im Sender, die Dateninterpretation, Wertebereich und Maßeinheit. Es gibt 13 nutzbare Datenklassen. Leider gibt es keine Klassen für GPS Koordinaten, auch für andere durch JLog/C2T zu sendende Daten muss man typfremde Datenklassen “benutzen”.
In jedes Display kann ein Sensor einen Alarmzustand senden, den der Sender signalisiert.
JLog/C2T bietet 16 Datenobjekte, intern 0..15 nummeriert,
MSBdataItems
15 davon können gleichzeitg auf den Bus gegeben werden, sofern das betreffende Sendermodell so viele Displays darstellen kann.
Per Konfigurator MiniJLC, mindestens Version 1.6.4, nimmt man die Adresszuordnung der einzelnen Werte vor, in diesem Sinne “Sensoren”, siehe auf der rechten Seite:
MiniJLC1.6.4
Im Ergebnis (am Sender) sieht das dann so aus, hier in Ermangelung eines MPX Senders per MSBview dargestellt:
MBSdataItems
Im Bild sind 1..16 als Adressen 0..15 zu lesen.
GPS LON/LAT sind rein Degrees, das ist in dieser geringen Auflösung (eine Kommastelle der Datenklasse “Spannung” bzw. “Strom”) natürlich eher Spielerei (im Bild oben #12 und #13).
#14 ist die Runtime als HHMMSS, #15 und 16 sind Roll und Pitch (Nick). #2 ist 10*Sat+Fix, #3 ist 10*FM+CM.
#4 ist Heading (neigungskomsensierter Kompass + Korrektur aus magn. Deklination), #5 ist Home Heading, aus dem GPS errechnet anhand der Startposition. #6 == Speed (km/h), auf GPS basierend.
#7 == Ubat, #8 == Ubec. #9 ist altD, die von JLog/C2T errechnete druckbasierte Differenzhöhe, Momentanwert zu Startwert. Dagegen ist altP eine absolute Höhe aus der NAZA, die druckbasiert natürlich wenig Sinn macht. #10 ist die Distanz zum Startpunkt auf GPS Basis. #11 ist der Vario Output, druckbasiert.
——————————————————————————————————————————————————–
Höhe (Altitude) als Höhe über Grasnarbe bildet C2T aus dem Absolutwert für Höhe (nach Wetterlage, sprich, Basis-Luftdruck), den er beim Einschalten sah, und dem Momentanwert.
Distanz errechnet sich aus der GPS-Position kurz nach Startup des C2T und der Momentanposition und versteht sich als Distanz in Projektion auf den Boden, nicht als Luftlinie zum Modell, Höhe einbezogen.
“Heading” ist die Richtung, in die die Nase des Modells momentan zeigt. Das kommt aus einem neigungskompensierten Kompass. “Neigung” basiert auf der IMU in der NAZA Main Unit, kommt letzendlich aus dem enthaltenen 3-dimensionalen Beschleunigungssensor (Gravitationsvektor) und, durch die IMU, auch vom 3-dimensionalen Gyro. Bezugspunkt ist aber der Gravitationsvektor. “Richtung” entspringt dem Erdmagnetfeld, gelesen mit dem 3-dimensionalen Magnetfeldsensor im GPS-Pilz, wobei dessen Werte durch die NAZA korrigiert werden anhand der Hard/Soft Iron Distortion Calibration, außerdem sind dessen Werte x/y/z, wie auch vermutlich x/y/z der Beschleunigungssensoren, normiert. D.h., die NAZA kennt die Min/Max der jeweiligen 3 Wertebereiche. Leider ist die Kalibrierungsprozedur, an die man sich aber halten MUSS, nicht geeignet, die z-Achse vollständig zu normieren, – es wird nur der halbe Weg durchfahren. Das bemerkt man dann daran, dass es zwischen “Missionars-” :) und Kopfstellung eine Abweichung um ca. 10° im Heading gibt. OK, die NAZA ist bisher nicht für Copter mit kollektiver Blattverstellung bzw. Motordrehrichtungsumkehr gemacht.
Magnetische Deklination (MD): Das Erdmagnetfeld ist nicht homogen, die Prozesse des “Geodynamos” und andere Aspekte (wie Anomalien durch Störkörper) bewirken das. Das führt zu Missweisungen eines Kompass, magnetischer und geografischer Nordpol decken sich i.allg. nicht. Die MD ist zeit- und ortsabhängig, berechenbar mittels eines veränderlichen mathematischen Modells: http://www.ngdc.noaa.gov/geomag/declination.shtml  –  C2T berücksichtigt die MD nicht, jedoch JLog, weshalb man die MD seines Ortes im MiniJLC angeben kann.
MDboth
“Heading to Home” ist die Richtung, in die die Nase des Modells zeigen muss, um in direkter Linie zum Startpunkt zurückzufliegen. Der Wert basiert auf zwei GPS-Positionen, Start- und Momentanposition.
Da uns kein Strommeßwert zur Berechnung der mAh z.V. steht, bietet JLog/C2T ersatzweise einen Timer auf die Runtime:
MiniJLC1.6.1_Timer
Der fixe sechste Alarmtyp “satalarm” geht in das Display von “SatFix”. Alarm wird ausgelöst, wenn “Runtime” seit wenigstens 15 Sekunden tickte (Sender schärfte NAZA via FM/CM), wenn der GPS Fix, nachdem er einmal 3(D) war, nun kleiner 3 wird. Der Alarm löscht sich selbst durch erneuten 3D Fix.
.
Die entsprechende Firmware für JLog 2.6 findet sich im Downloader.

Die Kommentarfunktion ist geschlossen.