 |
STETTMAIER'S MULTIPLEX-
SEITE
Eines möchte ich ganz am Anfang klar herausstellen: Es handelt sich um die
Seite eines zufriedenen MULTIPLEX-Kunden. Das heisst nicht, dass ich alles und jedes
mir genau so und nicht anders wünsche wie es aus dieser RC-Schmiede kommt, aber
insgesamt fühle ich mit als RC-Modellflieger bei dieser Firma bestens aufgehoben.
Ich liefere auf meiner Multiplex-Seite Zusatzinformationen, Tips und Hinweise, wo ich das
beste Verbesserungspotential sehe, jedoch werde ich nicht Informationen geben,
die bei Fa. Multiplex selbst authentischer als hier zu bekommen sind.
|
|
Inhalt |
|
►MSB: Anmerkungen zum Multiplex-Sensor-Bus
►Spannungsversorgung über den PC-USB-Adapter
►kMSB: MSB-Datenverkehr loggen, Sensoren simulieren
|
| |
|
|
Der MSB® |
|
Der Multiplex Sensor Bus Mit diesem Bus werden im
gesteuerten Modell (also "oben") Daten von den Sensoren zum M-Link-Empfänger
übertragen um von diesem dann "nach unten" gefunkt zu werden.
Fa. Multiplex hat Anfang Dezember 09 eine erste Version seines M-LINK-Sensorbus
veröffentlicht - ich finde das nützlich und gut. Mit großer Befriedigung
habe ich zur Kenntnis genommen, dass auch der Konkurrent ACT sich entschieden hat,
"oben" für die Übertragung der Sensorwerte ebenfalls den MSB zu
verwenden - eine richtige Entscheidung (sofern jemanden meine Meinung dazu interssiert...).
Ich werde die MSB-Spezifikation auf diesen Seiten nicht wiederholen, bitte besorgen
Sie sich dieses Dokument von Fa. Multiplex. Hier finden Sie ergänende Erläuterungen
zu diesem Bus aus der Sicht eines Informatikers, die dem Verständnis der aktuellen
MSB-Spezifikation dienlich sein können.
Wie die Weitergabe der Daten "unten" zwischen Sendemodul und Anzeige aussieht
wird von Fa. Multiplex nicht offengelegt; derzeit werden runtergefunkte Daten fast
ausschließlich im Sender-Display numerisch angezeigt. Selbst geringe
praktische Erfahrungen mit der Überwachung der Empfänger-Spannung und des LQI (Link
Quality Indicator) zeigen den geringen praktischen Wert solcher Anzeigen.
Diese Schnittstelle im Sender (vom HF-Modul "HFM4" zum
Sender-"Zentral"-Computer) wurde von inzwischen Markus Stöckli analysiert und in
►seinem Blog
veröffentlicht. Allerdings stimmen die Aussagen in dieser kurzen Analyse deutlich
nicht mit meinen Aufzeichnungen überein.
Es ist der ausdrückliche Wunsch seitens Fa. Multiplex dass diese Schnittstelle
nicht offen gelegt wird. Ich finde das aus meiner Sicht natürlich bedauernswert, aber
die Gründe bei Fa. Multiplex sind zu respektieren und ich werde hier nicht nennenswert
auf diese Schnittstelle eingehen.
Ich erlaube mir jedoch, Fragen zu stellen, Probleme aufzuzeigen und Ergänzungen
bzw. Verbesserungsvorschläge anzubringen wenn ich glaube, sie könnten
nützlich sein.
Die Funkstrecke wird hier nicht beleuchtet.
|
|
Überblick |
|
"Oben" im Modell (MSB) handelt es sich um einen
Halbduplex-Eindraht-Bus; die Datenformate erlauben das Lesen von bis zu 16 Messwerten
(im Klartext: Es sind 4 Bits für die Adresse eines Messwertes vorgesehen).
Ein Sensor kann durchaus mehrere Werte abliefern und damit mehrere Adressen
"verbrauchen".
Das Problem der Adressen-Zuteilung an Sensor-Werte und damit die Vermeidung
der Kollision von Datenblöcken wird gelöst durch statische, manuelle Zuweisung: Der
Benutzer muss mit einem Multimate® oder vom PC aus jedem zu übertragenen
Sensorwert "seine" Adresse zuordnen wenn er aus irgendeinem Grund nicht mit den
Voreinstellungen zurecht kommt.
Dieses Verfahren ist simpel, leicht überschaubar, aber nicht "Plug'nPray".
Aktoren (Servos, ...) kann man mit diesem Bus nicht steuern.
"Unten" im Sender wird eine 2-Draht-Vollduplex-Verbindung verwendet.
Eine einfache Telemetrie-Übertragung für Modelle besteht, sehr vereinfacht
dargestellt, aus 3 Schichten, die im Folgenden skizziert sind. Eine Zuordnung der
Schichten zum OSI-Modell ist nicht beabsichtigt.
In den unteren Schichten sind Sensor- und Anzeige-Seite fein säuberlich getrennt,
in der logischen Schicht jedoch wird das ganze System
betrachtet, auf der einen Seite physikalische Werte, auf der anderen Seite der Wunsch, sie
darzustellen; hier müssen Werte/Anzeigen, Benennungen, Darstellungsformate
zusammenpassen.
Der "natürlichen" Leseweise folgend sind die Datenübertragungen
von "low" (physikalische Schicht) nach "high" beschrieben.
|
Physikalische Schicht |
|
In dieser Schicht werden die physikalischen, elektrischen
Eigenschaften des Übertragungsmediums und die Übertragung von Bytes beschrieben.
In detaillierten (komplexeren) Betrachtungen werden die Physik und die einfachen Bytes
in getrennten Ebenen betrachtet, aber das lohnt sich hier nicht.
Sensor-Seite:
Im gesteuerten Modell werden die Sensoren mit dem M-LINK-Empfänger über eine
3-Adern-Leitung verbunden, dem "eigentlichen" MSB (nur eine Ader für die
Signale, daher die Bezeichnung 1-Draht-Bus). Die elektrischen Eigenschaften sind,
soweit in der Spezifikation angegeben, unspektakulär. |
 |
|
Auf welche Weise das gerade sendende Modul seine Bytes auf den Bus schreiben soll ist nicht
spezifiziert. Die Open-Drain-Technik ist weit verbreitet; der USB-MSB-Adapter (#85149) hat
als Bus-Interface die links angegebene (zur Open-Drain-Technik vergleichbare) simple
Schaltung, die auch funktioniert, jedoch einen VDD-Widerstand erfordert, der
im Adapter nicht eingebaut ist. Dieser Widerstand ist in der Spezifikation nicht
angegeben - er beeinflusst die maximal mögliche Leitungslänge und
Datenrate. (Nein, ich werde ihn nicht suchen und messen, denn ich brauch' meinen
Empfänger noch). Es ist auch möglich, einen Push-Pull-Ausgang an den Bus
anzuschließen - man muss halt darauf achten, dass er in den Sendepausen wirklich
hochohmig ist, nicht einfach nur auf "high"-Level. |
↑klick |
|
Das Oszillogramm links zeigt, wie über den USB-MSB-Adapter eine Adresse auf den
MSB ausgegeben wird (links, eine 2) und wie der Vario-Sensor dann mit der Höhe
antwortet (Mitte und rechts, die Adresse 2 und die Klasse 8, dann den Wert +2
ohne Alarm).
Das Bild offenbart: Der USB-MSB-Adapter nimmt es nicht allzu genau mit den logischen
Pegeln (0,2 und 2,8 Volt) und der Sensor benützt eine Push-Pull-Stufe, die er
unmittelbar vor seiner Ausgabe ein- und kurz danach nach wieder hochohmig schaltet.
Die etwas abgerundeten Flanken bei dem Signal vom USB-Adapter lassen erkennen, dass da
"irgendwo" ein Widerstand "nach irgendwohin" (nicht VDD)
am Werk ist, aber wo er eingebaut ist ist unklar.
Alle Multiplex-Sensoren und -RC-Empfänger, bei denen ich's gemessen habe, zeigen
das gleiche Verhalten wie das Vario.
Wo die 2,8V herkommen ist ohne Zerlegen nicht herauszubekommen.
Da wird man halt beim Design eines eigenen Sensors ein wenig unsicher und eine
entsprechende Erklärung in der MSB-Spezifikation wäre recht hilfreich.
|
 |
|
Update: ...jetzt hab' ich mich doch entschlossen, einen Spannungs-Sensor
aufzumachen - die MSB-Eingsangsschaltung ist links angegeben: eine einfache
Schutzbeschaltung auf einen Anschluss des μControllers (P1.1 bzw. TA des MSP430F2013),
der Push-Pull-Ausgang sowie hochohmiger Eingang als auch ein Eingang mit Pull-Up-Widerstand
sein kann - das Oszillogramm spricht jedoch klar gegen die Verwendung des im μC
vorhandenen Widerstandes. Das kann man nicht eindeutig sehen: Die Diode könnte auch
eine Z-Diode sein.
Jeder μController, der mit einen Hardware-UART auf den Bus schreibt, kriegt das eben
Gesendete sofort wieder in seinen Receiver zurück, er kann also eine Datenkollision
(mehrere Einheiten senden gleichzeitig) durch Vergleich erkennen. Ein anderes Modul als
das gerade sendende, z.B. der Master, kann das jedoch nicht. Da die UARTs in den mir
bekannten Sensoren mittels Software implementiert sind können sie das eventuell
ebenfalls nicht. Es geht aus der Spezifikation nicht hervor, ob Übertragungsfehler
"gesucht" werden.
Da der Anwender z.B. durch fehlerhafte Adresszuteilungen Datenkollisionen
herbeiführen kann muss er aufpassen. Die Schutzbeschaltungen verhindern zwar ein
sofortiges "Abrauchen" der Elektronik, aber ein Fehler durch Doppelbelegungen
von Sensoradressen kann nur am "Datensalat" erkannt werden.
Ich hätte mir noch Angaben zu maximalen Längen, Leitungskapazitäten,
Widerständen etc. in der Spezifikation gewünscht, aber vielleicht bin ich
nur zu pingelig.
In diesem Zusammenhang wundert mich auch, dass im Byte-Format keine Verprobung vorgesehen
ist - umso mehr als es auch in der Datenschicht nichts derartiges gibt.
Die Bus-Topologie ist anspruchslos - die Sensor-Einheiten werden linear verstöpselt,
wenn das nicht passt kann man auch V-Kabel nehmen. Das ist einfach und ok.
Die Kommunikation auf der Anzeige-Seite wird von Fa. Multiplex nicht offen
gelegt, ich tue es auch nicht. Sinnvoll ist vielleicht nur die Anmerkung, dass diese
Kommunikation an der DIN-Buchse nicht abgehört werden kann (so sehr man sich das
vielleicht auch wünschen möchte).
|
|
Datenschicht |
|
In dieser Schicht wird beschrieben, wie die einzelnen Bytes in
Blöcken organisiert werden, die genug Informationen enthalten um eine
vollständige Interpretation der Daten zu ermöglichen. Ebenso wird hier
beschrieben, wie die Blöcke ausgetauscht werden.
Sensor-Seite:
Adressierung:
Egal wie die Datenblöcke ausgetauscht werden, stets muss für jeden Datenblock
klar sein, wo er herkommt - dafür dient die "Adresse". Wo die Daten
hingehen sollen ist beim MSB trivial, muss also nicht angegeben werden. Es gibt hierfür
eine Reihe von Verfahren (auch ziemlich "schräge" ),
Multiplex hat sich für das einfache,
sichere Mit-Übertragen der Adresse in jedem Datenblock entschieden. Diese Adressen
sind sowohl auf der Sensor- als auch der Anzeigen-Seite in den Datenblöcken
enthalten. Man hat 4 Bits für die Adresse vorgesehen, kann also bis zu 16
verschiedene Sensoren an den MSB anschließen - es ist möglich und üblich,
mehrere Sensoren in jeweils ein Gerät einzubauen. Heute erscheint das ausreichend,
aber wer weiß, auf was für verrückte Ideen manche Anwender oder Sensor-Bauer
kommen, so dass die 4 Bits eventuell knapp werden können.
Adressen müssen eindeutig sein, das liegt auf der Hand. Es gibt im IT-Bereich
recht komplexe Verfahren (die, wenn sie mal wieder nicht funktionieren, so richtig
Ärger machen...) um einem Gerät, das
an einen Bus angeschlossen wird, eine Adresse zuzuteilen. Wenn dies beim Anschließen
des Gerätes oder beim Einschalten des Busses oder sogar während des Betriebes
passiert nennt man die Zuordnung "dynamisch";
wenn die Adressen auf irgendeine andere Weise ausserhalb des eigentlichen Betriebes passiert,
und sich während des Betriebes nicht ändert, dann nennt man die Zuordnung
"statisch".
Beide Verfahrensarten haben Vor- und Nachteile: Das komfortable "Plug and Play"
funktioniert nur mit dynamischer Zuteilung, die statische Zuteilung ist jedoch
um Größenordnungen simpler. Beispiel: Früher,
als ich noch jung war, das ist schon eine Zeitlang her, gab es für die statische
Einstellung von Magnetband-Laufwerk-Adressen (!) kleine "DIP-Schalter"
oder auch "Mäuseklaviere", mit denen man einem ausgeschalteten Gerät
eine Adresse "verpassen" konnte - das waren noch Zeiten...
Multiplex hat sich hier für die statische Zuordnung der Adressen an
die Sensorwerte entschieden; aufgrund der geringen Komplexität und dem recht
einfachen Aufbau des MSB ist diese Entscheidung durchaus
nachvollziehbar. Die statische Adressen-Zuordnung hat jedoch auch Nachteile:
- Der Benutzer muss sie explizit vornehmen wenn er mit den Fabrik-Voreinstellungen
nicht zurecht kommt und er kann Fehler dabei machen - jetzt sag' ich's explizit:
Es ist nicht zulässig, mehreren Sensorwerten die gleiche Adresse zuzuordnen, denn
dann würden sie gleichzeitig auf den Bus geschrieben und die Daten dadurch
verstümmelt werden. Und...
- er braucht ein Konfigurations-Gerät dazu, ein Multimate
(auf dem neuesten Stand) oder einen Windows-PC mit einem USB→MSB-Adapter... oder
aber einen guten Fachhändler, der's für ihn macht.
Datenblöcke:
Die Blöcke sind kurz (1 oder 3 Bytes), das Block-Trennzeichen ist die Pause, ein
übliches, einfaches Verfahren. Prinzipiell könnten die Blöcke verschieden
lang sein, je nach Erfordernis des sendenden Sensors, aber davon macht man zumindest
bisher keinen Gebrauch.
Datenabfragezyklus:
Der M-LINK-Empfänger frägt ca. alle 6 ms einen Sensorwert ab; entsprechend
der Spezifikation werden stets auch solche Sensoradressen abgefragt für die gar kein
Sensor angeschlossen ist. Damit wird jeder Sensor etwa alle 90..100 ms abgefragt (10 mal
pro Sekunde → Abfragerate≈ 160 Werte/s).
Etc: Es macht keinen Sinn, einem Sensor eine Adresse zuzuordnen,
die auch an einen Wert im M-LINK-Empfänger "innendrin"
(Empfänger-Spannung und/oder LQI) zugeordnet ist, denn solche Adressen werden
auf dem Bus nicht abgefragt.
Mir ist auch nicht bekannt, was passiert, wenn 2 M-LINK-Empfänger gemeinsam betrieben
werden und an jeden der beiden Empfägner Sensoren angeschlossen werden. In der
MSB-Spezifikation steht dazu nichts.
Anzeigen-Seite:
Datenstrom (zum Mithören): Wie schon erwähnt legt die Firma Multiplex
diesen Teil der Kommunikation nicht offen.
Aktualisierungsrate:
Überraschend ist jedoch, dass "unten" die Pausen zwischen den
Datenblöcken deutlich größer sind als "oben".
Das HFM4 sendet ca. 40 Werte/s zur Anzeige (das ist die Aktualisierungsrate) - vergleichen
Sie dies mit der Abfragerate von ca. 160 Werte/s. Ich habe beobachtet, dass selbst
wenn "oben" nur 4 Sensorwerte erzeugt werden (2 im M-LINK-Empfänger und
2 vom Spannungs-Sensor) "unten" nicht alle Daten vom HFM4-Modul ausgegeben
werden, auch wenn dies bei der Aktualisierungsrate möglich wäre: Es kommen
immer noch "Null-Blöcke" ohne Daten aus dem HFM4 heraus.
Solange die Messwerte im Display landen und höchstens das Vario in seiner ganz
besonderen Art und Weise piepst wird man die verringerte Aktualisierungsrate kaum
bemerken. Wer jedoch eigene Geräte (Sensoren, Anzeigen) entwickeln will muss
hier unbedingt beachten, dass keinesfalls alle Daten, die über den MSB
gehen, auch nach "unten" gefunkt werden, dass also lange Datenblöcke
nicht so einfach sequenziell aufgeteilt übertragen werden können. Wenn man
bei eigenen Sensoren/Anzeigen eine hohe Aktualisierungsrate braucht kann man sich evtl.
mit einem ganz besonders fiesen Trick behelfen und den (Eigenbau-) Sensor seinen Wert
über mehrere Adressen auf den Bus senden lassen und hoffen, dass er dann
auch öfter übertragen wird (das macht natürlich nur Sinn wenn der Wert
nicht auf dem Display abgelesen werden soll). |
|
Logische Schicht |
|
In der logischen Schicht des Protokolles kommt es darauf an, wie die von einem Sensor
gelieferten Daten korrekt angezeigt werden. Es muss also festgelegt werden wie ein
Sensor "sagt, was er misst" und die Anzeige "weiß, wie sie damit
umzugehen hat".
Adressierung, Anzeige-Plätze:
Aus der Datenschicht ist die vergebene Adresse eines Sensors bekannt. Es ist zwar
nicht die reine, wahre Lehre, aber diese Information wird bei Multiplex dazu verwandt,
die Stelle im Display festzulegen, an der der Wert dargestellt wird (Sensor n
auf Anzeigeplatz n). Es werden jeweils bis zu 3 Werte gleichzeitig auf bis
zu 5 "Seiten" angezeigt und es liegt beim Benutzer, durch geschickte
Adressenzuteilung die bestmögliche Aufteilung zu finden.
Einen Anzeigeplatz für den Sensor mit Adresse 15 gibt es nicht - damit ist
die Anzahl der sinnvoll anschießbaren Sensoren auf 15 beschränkt.
Wer Telemetrie mit dem Cockpit-SX-Sender betreibt kann nur 8 Sensor-Adressen
benützen.
Schon einfachste Beispiele zeigen, dass solche Adressen-Verteilungen Modell-spezifisch
sind, damit muss man umgehen. Die meisten Sensoren sind mehr oder weniger fest in ein
bestimmtes Modell eingebaut und können daher auch modellspezifisch parametriert
werden (z.B Adressenzuteilung). Lediglich teure Sensoren, wie der
M-LINK-Empfänger selbst oder das Vario, werden öfters umgebaut und sind dann
evtl. nicht optimal mit Adressen versehen.
Das mag jetzt weit hergeholt klingen,
daher will ich ein Beispiel angeben: Meine beiden kleineren Segler
haben eine einfache Stromversorgung und folgende Anordnung der Adressen
liegt nahe: 0: Empfängerspannung, 1: LQI, 2: Höhe (das sind die
Werte, die ich gelegentlich ablese, die anderen Werte lasse ich mir auf andere
Weise anzeigen). Der Flamingo hat jedoch eine doppelte
Stromversorgung und die Empfängerspannung des M-LINK-Empfängers wird unwichtig
und durch 2 Werte eines Spannungssensors ersetzt. Also: U1 auf 0,
U2 auf 1 und auf 2 kommt die Höhe oder der LQI. Man muss also den
Empfäger umparametrieren. Weiterhin sollte man beachten, dass man während
des Fluges sicherlich nicht ohne weiteres Display-Seiten umschalten kann denn da schaut
man zu lange vom Modell weg, dass also die 3 als wichtig erachteten Werte gemeinsam angezeigt werden
müssen.
Es kursiert schon die erste Liste im Internet,
in der die Messwerte fein säuberlich nach Anzeigeplätzen sortiert
aufgezählt/empfohlen werden - für alle Modelle. Hallo! Geht's noch?
Das kann's doch nicht sein!
Ich such' doch nicht auf 5 Display-Seiten nach den wichtigsten Werten weil
ich die Flexibilität, die M-LINK bei der Anzeige bietet, vergeudet habe!
Nochmal: Die 3 mir als wichtigste erscheinenden Werte kommen auf Seite 1
(Adressen/Anzeigeplätze 0..2). Nur die lese ich ab. Was anders dargestellt wird
(derzeit nur das Vario) brauch' ich nicht ablesen, das kommt woanders hin.
Mehr noch: Werte, die mich erst interessieren, wenn's einen Alarm gibt, brauch' ich doch
nicht auf Seite 1, oder? Die ROYALpro schaltet die Anzeige um wenn ein Alarm kommt. Diesen
Komfort muss man ausnutzen und solche Werte auf Seite 2ff "legen"
(Leider gibt es für den LQI keinen Alarm, wer sich also dafür
interessiert muss ihn auf Seite 1 belassen).
Semantik der Daten:
Zwischen Sensor und Anzeige muss vereinbart werden welche Bedeutung ein gemessener und
übertragener Wert hat; auch hier gibt es statische und dynamische Vorgehensweisen.
Die allereinfachste Methode wäre, die Semantik durch Verabredung festzulegen:
Im Datenblatt des Sensors steht "Das Ding misst die Steigrate in m/s" und dies wird für
die Anzeige dann "irgendwie" manuell eingetragen - oder es wird garnichts
gemacht und der Benutzer muss sich das einfach merken.
Oder es wird mit dem Wert ein Code übertragen, der die Semantik des gemessenen
Wertes spezifiziert.
Multiplex hat sich zum Teil für die einfachste statische und in einem Punkt für
die allereinfachste Methode entschieden: Ein Code definiert physikalische Einheit und das
Format des gemessenen Wertes, das was gemessen wird muss sich der Benutzer merken.
Dies ist leider nicht besonders felxibel: Es gibt nur die von Multiplex definierten
Datenarten und -Formate (siehe "Klassen" im Anschluss), es bleibt wenig Raum
für eigene Überlegungen, die nicht mehr oder weniger zufällig in das
Multiplex-Schema passen. Ein paar mehr Details dazu:
Klassen (=Formate & Benennungen):
Das für den (fixen) Semantik-Code vorgesehene Feld ist 4 Bits groß und wird
immer zusammen mit den Daten übertragen. Die 4 Bits erlauben bis zu 16
Werte-"Klassen", wie man bei Multiplex sagt (die 0 ist anders vergeben,
also sind's nur noch 15). Eine Klassendefinition legt die 2 wichtigsten Komponenten einer
Messwert-Semantik fest: Physikalische Benennung und Auflösung/Zahlenformat.
13 der Klassen sind schon definiert, 2 können noch festgelegt werden.
Der große Vorteil dieses Verfahrens liegt wirklich (und nur) in der Einfachheit:
Man muss im Sender nichts tun und kriegt alles angezeigt.
Die Klassen und damit auch die Auswahl an Werten und die zugehörigen Anzeigeformate
sind zwischen Sensor und Anzeige fest verabredet. Das klingt trivial, aber die Betonung
liegt auf dem Wörtchen "fest": Man kann sie nicht ändern. Wenn eine
der beiden letzten freien Klassen definiert wird, wohl aufgrund der Einführung
eines neuen Sensors, braucht's einen Update des Senders; dynamisch änderbare
Klassen würden ein gehöriges Plus an Felxibilität bringen. Über
dynamisch änderbare Klassen denkt man allerspätestens nach, wenn die beiden
letzten Klassen-Codes verbraucht sind und der Wunsch nach mehr aufkommt. Und das kann eher
passieren als einem lieb ist.
Auflösungen:
Leider hat man insbesondere bei der Festlegung der meisten Auflösungen offensichtlich
nur an eine bestimmte Anwendung gedacht und die Universalität zu sehr vernachlässigt:
Spannungen sollen oft mit wesentlich feinerer Auflösung als 0,1V gemessen
werden, wenn's nicht gerade der Antriebsakku ist. Ebenso wünscht man sich
auch beim Strom oft eine feinere Auflösung als 0,1A, z.B. in kleineren
Segelflugmodellen.
Mit Auflösungen im 10mV- und 10mA-Bereich wäre mehr zu erreichen, zumal die
dann noch möglichen Wertebereiche von ±160 V bzw. A nach heutigem
Ermessen auf jeden Fall ausreichen.
In diesem Zusammenhang ist interessant, dass für die Klasse 11, den
"Stromverbrauch", mit 1 mAh eine recht gute Auflösung definiert wurde.
Dies erlaubt auch einen optimalen Wertebereich
von gut ± 16 Ah. Aus meiner Sicht gibt es exzellente und wichtige
Anwendungsmöglichkeiten dafür (siehe
►weiter unten).
Benennungen:
Derzeit ist für jede Klasse die Benennung der Messgröße unveränderlich
festgelegt; Beispiel Geschwindigkeit in km/h. So etwas sollte jedoch alleine in der
Anzeige entschieden werden und vom Benutzer konfigurierbar sein. Dann könnte
man, wenn's geeignet erscheint, Fluggeschwindigkeiten auch in m/s anzeigen - oder in
einem anderen Teil der Welt, wo man zum Messen von Längen noch die Füße
(Schuhgröße 47) verwendet, eben auch in mph oder ft/s anzeigen lassen,
egal wie's der Sensor erzeugt ("Lokalisierung").
Wertebereiche:
In der Spezifikation ist für jede Werteklasse auch festgelegt,
in welchen Bereichen sich die zu übertragenden Werte bewegen dürfen.
Die Wertebereiche sind nicht auf das mögliche sondern auf ganz bestimmte
Sensoren festgelegt (Beispiel: Klasse 7, Richtung: 0..360°).
Dies hat natürlich nichts mit einer Datenübertragung zu tun - es ist lediglich
eine technische Eigenschaft der verwendeten Sensoren.
Nun ist es glücklicherweise so dass weder die Datenübertragung noch die
Anzeige im Sender diese Einschränkungen erzwingen - die Angaben in der
MSB-Spezifikation sind dort schlichtweg überflüssig. Ich kann also z.B. die
Klasse 7 durchaus auch zur Übertragung eines Inclinometer-Wertes oder Schiebewinkels
im Bereich von ± 20° verwenden obwohl laut Spezifikation nur 0-360° erlaubt
sind.
Namen für Werte ("Symbolische" Adressen):
Wie in den bisherigen Texten zu erkennen ist gibt es keine Möglichkeit festzulegen,
was für eine physikalische Größze gemessen und übertragen
wird, nur welcher Art sie ist. Nochmals als Beispiel: Eine Geschwindigkeit kann eine IAS,
TAS, GroundSpeed oder etwas anderes sein, an das man heute noch garnicht denkt. Selbst
wenn man meint, eine Angabe "km/h" sei selbsterklärend: Sehr viele
Größen im Flugmodell kann man mehrfach messen und die (Modell-spezifische)
Zuordnung ist nicht trivial. An der Definition von Klassen für ganz bestimmte
individuelle Messgrößen lese ich ab, dass die Unklarheit bei Multiplex
vielleicht nicht so klar gesehen wird: Klasse 10 ist alleine für den LQI
vorgesehen und Klasse 3 alleine für das Vario (inklusive Bug ).
Es gibt aber potentiell viele Stellen, an denen Spannungen, Ströme, UPMs,
Temperaturen, Tank-Füllstände oder Ladungsmengen gemessen werden.
Natürlich will man diese "unten" abzulesenden
Daten nicht unbedingt anhand ihres Anzeige-Platzes identifizieren, da kann es zu Verwechslungen kommen.
Nützlich wäre es, jeden Anzeigeplatz mit einem Namen zu versehen, der
die Bedeutung des angezeigten Wertes deutlich macht (z.B. "B1" und "B2"
für die 2 Empfängerbatterien).
Dies ist jedoch beim aktuellen ROYALpro-Sender nicht vorgesehen. Wenn man
bedenkt, dass alleine ein Spannungssensor bis zu 4 Spannungen ausgeben kann und der
M-LINK-Empfänger zusätzlich eine fünfte, wird man verstehen, dass das
nicht immer optimal ist - es muss alleine aufgrund des
Anzeigeplatzes zwischen verschiedenen Größen mit gleicher Benennung
unterschieden werden. In extremen Fällen wird es dann dazu kommen, dass Zettel an
das Display gepappt werden...(vielleicht etwas spitz
formuliert). Die Tatsache, dass Listen mit "Standard-"
Adresstabellen (im Internet und auch in der FMT) mit "Klartext" angegeben
werden sollte bei Multiplex zu denken geben (So wie ich die Leute dort einschätze
wird man denen das nicht sagen müssen - es gibt bestimmt andere
Gründe für diesen Mangel).
Meistens ist in der Anzeige rechts neben dem (erfreulich groß dargestellten) Wert
und Benennung ausreichend viel Platz für eine kurze Identifikation des Wertes;
beim LQI hat man das ja schon gemacht. Bei den anderen Werten kann das der Hersteller
natürlich nicht vorherbestimmen, da muss der Benutzer mit der Tastatur nachhelfen
(bzw. →nachhelfen können).
Alarme:
Für (fast?) alle Sensorwerte kann man in den Sensoren auch Alarmschwellen
angeben, bei deren Über- oder Unterschreitung der Sensor ein Alarmbit setzt, das
dann "unten" für Radau und invertierte Anzeige sorgt. Sehr gut finde
ich, dass bei Alarm das Display automatisch auf die Seite umgestellt wird, in der
der alarmierende Wert steht - und nach einer gewissen Zeit auch wieder zurück
schaltet.
Man könnte
sich natürlich auch wünschen, diese Alarmschwellen "unten" im
Sender - modellspezifisch - einzustellen und auch abzuschalten, dann könnte man sie
leichter ändern, sogar während des Fluges.
Auf jedem Anzeigeplatz kann man genau einen Alarm
darstellen, dies erfolgt durch inverse Darstellung und einen Ton. Ein einzelner Sensor
kann nicht verschiedene Alarme erzeugen - das mag theoretisch klingen, aber es wird
kommen.
|
| | |
| |
Nicht-numerische Anzeigen:
Bei Multiplex hat man einen vorhandenen Sender mit einem umfangreichen Software-Update
"aufgebohrt", so dass er Telemetrie-Daten im vorhandenen Display anzeigen
kann; Vario-Werte werden als einzige wahlweise auch akustisch mit dem Sender-Piepser, nicht
mit einem extra Ohrstöpsel, dargestellt.
Nebenbemerkung: Das Vario fiepst
gottserbärmlich und wer Freundschaften am Hang nicht gefährden will sollte
für eine Lautstärkenregulierung sorgen (siehe Bild links ). Und ich weiß wirklich nicht, ob es die allebeste Idee
ist, den Vario-Ton mit dem Lehrer/Schüler-Schalter ein/auszuschalten - hat man
wirklich keinen neuen, extra für das Vario zuständigen virtuellen Schalter
kreieren können? Sowas zähle ich zu den "Unglücken" -
ganz genau so wie das Pfeifkonzert, das entsteht wenn man das Vario auch einen Optionswert
senden lässt...
Das alles ist eine berechtigte Methode, ohne jede Hardware-Änderung am Sender schnell
auf den Markt zu kommen, ideal ist es aber natürlich nicht und ich gehe sehr davon
aus, dass man das auch bei Multiplex so sieht und auf Änderungen und Ergänzungen
sinnt. Andere Hersteller summen da ja schon ganz geheimnisvoll im Internet und ich
selbst habe inzwischen mit 2 Servos eine haptische Anzeige in den Sender integriert.
Auf diesem Gebiet wird sich ganz bestimmt was tun!
Wechselnde Anzeigen:
Das Konzept verbietet nicht dass ein vielleicht etwas komplexerer Sensor zeitlich gestaffelt
verschiedene Daten, sogar aus verschiedenen Klassen, unter einer einzigen Adresse
überträgt. Dies wird derzeit jedoch nicht genutzt. Es könnte sinnvoll
sein, "normale" Messungen gemeinsam mit Ausnahme-Messungen und Alarmen zu
kombinieren und dabei nur einen Anzeigeplatz zu "verbrauchen".
Es kommt mir dabei nicht so sehr auf die eingesparte Adresse an, vielmehr wird es
möglich auch komplexere Vorgänge zur Anzeige zu bringen ohne dass der
Modellpilot zwischen Anzeigeseiten blättern muss.
|
| | |
|
Verbesserungen |
|
Kurzfristige (kleine) Verbesserungsvorschläge
Die obigen Ausführungen zeigen, dass ich - sicherlich nicht unbegründet - mehrere
Details des MSB und des Gegenstücks "unten" bemängle.
Vielleicht bin ich ein wenig pingelig mit Multiplex umgegangen; ich muss mir von Freunden
öfters sagen lassen, ich sei oft überdeutlich mit meiner Kritik. Daher möchte
ich ausdrücklich festhalten: Mit dem augenblicklich angebotenen System braucht
Multiplex vor NIEMANDEM den Hut ziehen, der Sender ist auch für anspruchsvolle
Modellflieger mit den richtigen Funktionen versehen.
Ich hab' mich gut an den Sender gewöhnt und gehe gerne damit
zum Modellfliegen. In einer Diskussion von Angesicht zu Angesicht könnten die
Multiplex-Ingenieure mir auch sicher genau sagen, warum sie die eine oder andere Entscheidung
so getroffen haben und nicht so wie ich das will, das muss ich natürlich zugestehen.
Andererseits steht ausser Zweifel, dass das aktuelle System weiterentwickelt werden kann
und muss. Der Cockpit-SX-Sender bleibt bei diesen Betrachtungen aussen vor.
Der MSB ist sehr einfach gehalten, daraus ergeben sich manche Einschränkungen,
die dem ambitionierten Bastler engere Grenzen anlegen als ihm
lieb ist. Damit wird auch die Versorgung des Anwenders mit speziellen, weiter entwickelten
(evtl. auch nur für wenige Leute wirklich interessanten) Sensoren und Anzeigen geringer
ausfallen als gewünscht.
Die "Bodenstation" der Telemetrie ist auf den ROYALpro aufgesetzt und erweist sich
in der aktuellen Form als nicht ausreichend. Es wird bestimmt 2 Wege geben,
hier Fortschritte zu erzielen:
- Weitere Updates für die ROYALpro-Sender: Multiplex hat ja in vorbildlicher Weise stets
an die Käufer der früheren Anlagen gedacht und mit Updates wesentliches geleistet
um diese Anlagen up to date zu halten. Die augenblickliche Top-Anlage ROYALpro wurde ja
explizit als Telemtrie-Alage erneut vermarktet (und das war ja auch für mich ein
Kaufgrund). Die Kunden erwarten selbstverständlich, dass das im Rahmen des möglichen
weitergeführt wird, d.h. dass die Anlage ohne oder mit minimalen Hardware-Änderungen
die neuesten Tricks so weit wie möglich über Software-Updates "mitkriegt".
Ich beschränke mich weitestgehend auf diese Variante der Produktpflege.
- ...sowie natürlich die Entwicklung eines neuen Senders.
Im Einzelnen:
- Die Möglichkeiten der Anzeige von Telemetrie-Werten "unten" für
den Piloten sollten dringend erweitert werden. Die Vielfalt der Anzeigen kann sehr groß
werden und es ist möglich, dass es Sonderformen in geringen Stückzahlen geben
wird, z.B. für Behinderte.
Dies spricht dafür, dass auch "unten" am Sendergehäuse eine
öffentlich gemachte Schnittstelle geschaffen wird. Die DIN-Buchse an der Unterseite
des Sendergehäuses bietet dies derzeit nicht, könnte aber prädestiniert
für so eine Funktionalität sein (evtl. wäre nur ein Software-Update
erforderlich).
Ein sehr einfaches Beispiel für so eine "externe" Anzeige
ist die akustische Vario-Ausgabe (die später ganz sicher mit einer Sprachausgabe
für weitere Werte ergänzt wird).
Schade, dass Fa. Multiplex dies anders sieht.
- Vergabe von Namen für Messwerte und freie Positionierung in der
Anzeige: Im Sender sollte es möglich werden, für jeden Sensorwert einen Namen
zu vergeben und den Anzeigeplatz zu wählen (Modell-spezifisch). Eine simple
technische Lösung wäre z.B. eine (Modell-spezifische) Tabelle
Adresse→[Anzeigeplatz,Text].
Etwas weitergesponnen wird man möglicherweise den Wunsch haben, auch andere Daten
(Stoppuhr?) mit Telemetrie-Daten gemeinsam auf einer Display-Seite anzuzeigen.
Beispiel (wieder mein MiniMach): 0 UBatt, 1 Stoppuhr, 2 Höhe; dann
brauch ich keine Display-Seiten zu blättern.
Ein echtes Problem bei der Realisierung einer Lösung ist der Bedarf an weiterem
Speicherplatz an einer Stelle, an der keiner mehr übrig ist...
- Eine Priorisierung als "zeitkritisch" erachteter
Daten: Es muss möglich werden, bestimmte Daten (Klassen oder individuelle Sensoren)
auf jeden Fall "ausreichend oft" durch den Flaschenhals der Übertragung
vom HFM4 zum Sender zu bekommen (alternativ kann man natürlich diese Schnittstelle
schneller machen). Damit gewährleistet man auch bei
vielen angeschlossenen Sensoren flüssige Anzeigen z.B. für das Vario. Ebenso
könnte es recht nützlich sein, einen Wert, bei dem der Alarm gerade angegangen
ist, für kurze Zeit mit höherer Priorität zu senden.
Update: ingo_s war wieder mal am schnellsten was Neuigkleiten angelangt: Im
►RC-Network
gibt's einen ganz kleinen Blick in die Zukunft: Man wird eine Sensor-Adresse höher
als die anderen priorisieren können. Das dürfte wohl vor allem für das
Vario eingesetzt werden. Das ist zwar nicht mein ganzer Wunsch, aber ... mal sehen.
- Größere Datenblöcke: Es wird Sensoren geben, die mehr als
2 Bytes Daten generieren. Gibt's dafür schon Überlegungen?
- Man möchte Alarmschwellen auch "unten" einstellen
und Alarme auch "unten" abstellen können.
- Dinge wie graphische Anzeigen sind hübsch, aber man muss sich hier schon
kritisch nach der wirklichen Verbesserung im Gebrauchswert fragen - andere werden das
sicherlich anders sehen wie ich, da bin ich ein wenig eigen. Selbstverständlich
sind Graphiken meistens gut, aber nicht in einem relativ kleinen, monochromen und mit
geringen Kontrasen gesegneten Display. Eine besondere Form der graphischen Darstellung
wäre z.B. das Lauflicht, als Vario-Anzeige einsetzbar.
- Kleinigkeit: Es wird Geräte/Sensoren geben, die zur Erfüllung ihrer Aufgabe auch
die Werte von anderen Sensoren am MSB lesen - da spricht ja nichts dagegen
(siehe auch das
►Logging weiter unten).
Nur müssen dann auch alle Werte tatsächlich auf dem Bus verfügbar sein,
auch die, die der M-LINK-Empfänger selbst akquiriert und derzeit nicht auf den
MSB ausgibt: UBatt und auch der LQI.
Ich habe ich meine Vorstellungen von dynamischen (flexibleren) Klassendefinitionen
aus dieser Liste wieder herausgenommen - es genügt der Hinweis, dass der Vorrat
an möglichen weiteren Klassen auslaufen wird (nur noch 2, dann ist Sense) und
dann keine Sensoren für ganz neue physikalische Werte mehr entwickelt werden können.
Neue Sensoren:
Bei Multiplex hat man ganz offensichtlich schon eine ziemlich
umfangreiche Palette von Sensoren zumindest "in der Pipeline", es wird
sicherlich nicht so einfach gelingen, hier noch wesentlich neues für den
"Mainstream" zu bringen. Sehr vorteilhaft wird sich auswirken, dass auch ACT
MSB-Sensoren auf den Markt bringen will. Ich mag es sehr, wenn Leute vernünftig
sind... Natürlich darf man neugierig sein, wie sich diese Sensoren hier einfügen
werden. Hier nun meine Vorstellungen:
- Energie-Management: Wenig spektakulär, aber sehr nützlich.
Bisher gibt es nur zaghafte Versuche, den Ladezustand und das Leben der Stromversorgung
im Flugmodell zu verfolgen. Es gibt genug Gründe um
auch für kleine Segelflugmodelle die Energie sorgfältig zu überwachen
und Probleme nach "unten" zu melden. Vorteile: Ein Plus an Sicherheit (klar,
nicht neu) und verlängerte Betriebszeiten, denn die Akkus können ohne
Risiko leerer geflogen werden als bisher. Ich kann mir vorstellen, dass es recht
verschiedene Geräte/Sensoren für diese Anwendung in verschiedenen
Größen geben kann. Auch Sonderfälle, z.B. für solar-betriebene
Modelle, sind denkbar - ein weites Betätigungsfeld für Kleinsthersteller und
Bastler. Damit das nicht allzu nebulös klingt hier beispielhaft ein paar konkrete
Anforderungen an so einen Sensor für einen kleinen Segler:
- Lade- und Entladezustand des Akkus erfassen, über mehrere Einsätze hinweg
speichern ("den Akku kennenlernen"), den Entladezustand nach "unten"
melden. Der Zustand des Akkus kann evtl. über die Spannung nur ungenau
erfasst werden, daher ist ein Integral über den Strom von Nutzen.
- Erfassung von Problemen bei mehrzelligen Akkus, wenn eine Zelle schlapp macht.
- Erfassung von Spannungseinbrüchen (auch die kürzesten).
- Messung des Stromes und bei Überschreitungen von definierbaren Schwellen Alarm
melden.
- Man sollte in so ein Gerät auch den FET-Einschalter und ein Peak-Filter
integrieren.
So ein Gerät wird mehrere Werte nach "unten" senden: Spannung (Klasse 1),
Strom (Klasse 2, aber mit feinerer Auflösung),
Spannungseinbrüche und Stromspitzen in den letzten n Sekunden,
entnommene Energie (Klasse 11, mAh) und den (Ent-) Ladezustand (Klasse 9, %).
Zu jedem Wert ist auch ein angemessener Alarm denkbar. Das sieht nach recht viel aus,
aber das MSB-Konzept verbietet ja nicht, dass ein Gerät über die Zeit
mehrere verschiedene Werte (auch verschiedener Klassen) über die gleiche Adresse
auf den gleichen Anzeigeplatz ausgibt.
- Etwas, auf das die E-Flieger hoffentlich nicht allzu lange warten müssen:
Wer weiß am genauesten Bescheid über die Spannung am Antriebs-Akku, den
Strom im Antriebsstrang und die Drehzahl? ...und kann daraus abzuleitende Werte (Leistung,
Last) am besten ausrechnen? Richtig, der Drehzahlsteller. Ich bin ganz
sicher, dass es Drehzahlsteller geben wird, die solche Werte auf den MSB ausgeben.
Multiplex selbst ist prädestiniert, diesen Baustein mit absolutem <WOW!>-Effekt
herauszubringen und die Vorteile der integrierten Telemetrie aus einer Hand
überzeugend hervorzuheben. Natürlich hat schon jemand an sowas gedacht und
mit einem Logging-Adapter für den Jive-Regler eine erste Referenz geschaffen.
Update: Selbstverständlich mache nicht nur ich mir solche naheliegenden
Gedanken; praktisch jeder einschlägige Hersteller hat so einen Drehzalhsteller
bereits im Labor und das Warten sollte nicht mehr allzu lange dauern; dies war
bei Gesprächen auf der Friedrichshafener Messe 2010 überdeutlich
zu hören.
- Stromsensor: Zumindest den Strom möchte man in kleineren Modellen in
wesentlich moderateren Stärken aber dafür mit höherer Genauigkeit
und Auflösung (0.01 A) messen.
- Fluglage-Sensoren zur unmittelbaren Unterstützung des Modellpiloten
beim Fliegen: Ich tüftle ja gerade an einem
Inclinometer herum, vielleicht kommt auch mal ein Schiebewinkel-Sensor
dazu. Solche Werte sollten aber mindestens 8 mal pro Sekunde frisch angezeigt werden,
wie auch das Vario. Siehe auch "Priorisierung" ein paar Zeilen weiter oben.
- Speed-Sensor... wieso? Den gibt's doch mit der GPS-Maus? Na, so
wie ich das bisher sehe ist das eher ein Ding zum Angeben - ein großes Display
vor dem Zuschauerareal zeigt 220km/h an... toll. Aber was brauchen wir
wirklich? Ich will, wenn mein Modell kaum noch sichtbar in der Thermik rumeiert
("eiern" stimmt durchaus, und manchmal komm' auch ich so weit rauf...
) ausreichend genau wissen, ob ich knapp am Stall bin oder
vVz_min oder ve_max längst hinter mich gelassen habe;
dann fall' ich nicht so oft aus der Thermik raus und so weiter. Hier ist eine
IAS-Angabe (nicht Ground-Speed)
im Bereich 8..20 m/s mit ±2% Genauigkeit erforderlich - natürlich
mit einer entsprechenden Anzeige, eine Zahl im Display hilft da nicht weiter.
Ich weiß, das ist kaum (oder garnicht) erfüllbar. Ein GPS-Sensor wird
diese Anforderung ganz sicher nicht erfüllen können.
- g-Messung: Das Lastvielfache wird immer wieder gerne bestaunt. Das ist
mindestens so wertvoll wie der "Kilometerzähler" der GPS-Maus.
- Das ist zwar kein Sensor, aber es wird bestimmt jemand kommen, der's macht:
Logging, die Black Box. Das macht man "oben", nicht im Sender,
denn wenn die Verbindung futsch ist soll ja gerade das weitere Geschehen geloggt
werden. So ein Gerät hat ACT jetzt angekündigt. Ich weiß, das Unilog
gibt's inzwischen auch für den MSB, aber das meine ich nicht - alle Daten, die
über den MSB kommen, sollen geloggt werden, nicht nur die selbst erzeugten.
Die GPS-Maus habe ich aus dieser Liste wieder heraus genommen, denn sie ist quasi von
Multiplex bereits angekündigt worden.
|
| |
|

↑klick
|
|
Spannungsversorgung mit dem PC-USB-Adapter
Bei dem genannten Adapter (Multiplex #85149) ist die rote Leitung tot. Beim
M-LINK-Empfänger sind die +-Leitungen aller Anschlüsse offensichtlich
miteinander verbunden (das habe ich mit einem Durchgangsprüfer gemessen).
Vorsicht: Wie belastbar diese Verbindungen sind weiss ich nicht, es ist auf den
ersten Blick riskant, über den Sensor-Stecker ein ganzes System mit hohem
Stromverbrauch (Servos) zu versorgen.
Dies ermutigt den bequemen Menschen, beim Adapter die USB-Spannung mit der roten Leitung
zu verbinden. Um Ärger zu vermeiden wenn der MSB doch einmal eine "eigene"
Spannung hat (evtl. sogar >5V) kommt eine Diode dazwischen:
USB-5V -〉|-rote Leitung. Das Bild zeigt das Ergebnis, das ist ganz
einfach - die Isolation macht wirklich Sinn und der Balken auf der Diode zeigt zur
roten Leitung.
Die herauskommende Spannung ist mickrig (je nach Diode 4,3..4,6 V) aber für
einfache Tests ohne besondere Last reicht das durchaus.
Nein, ich bin nicht wirklich stolz auf diese Schnappsidee, aber wenn's jemand
machen will soll er die dazu nötigen Infos an einer Stelle beieinander haben und
wissen, dass es zumindest gut gehen kann. Ich übernehme keinerlei Haftung
für Schäden, die entstehen könnten wenn jemand diesen Tipp befolgt.
|
| |
|
|
kMSB |
|
kMSB: Mit dem PC am MSB lauschen und Sensoren simulieren
Dieses kleine Programm kann, wie im Titel schon angegeben, den Datenverkehr am MSB
mitlesen und anzeigen/aufzeichnen (Logging) und Sensoren simulieren, indem es (konstante)
Werte auf den Bus ausgibt. Die Schnittstelle zwischen PC und dem MSB ist der
Multiplex-USB-Adapter #85149. Da nur der VCP-Treiber (Virtual COM-Port:) zum Einsatz kommt
könnte möglicherweise
auch ein anderer USB-Seriell-Wandler mit geeigneter Beschaltung verwendet werden, aber
das hab' ich nicht ausprobiert. Den Adapter habe ich erweitert, so dass er
für diese einfache Anwendung die Geräte über den MSB mit ausreichend
Spannung versorgt (siehe ►ein paar Zeilen
weiter oben).
Ohne Kenntnis der Spezifikation des MSB von Fa. Multiplex ist das Programm wertlos.
Das Programm ist für die Win32-Schnittstelle programmiert,
sollte also auf allen gebräuchlichen Windows®-Systemen laufen.
Aufgrund seiner geringen Funktionalität ist es ein blitzblankes Konsolprogramm,
vielleicht erbarmt sich mal jemand (der's kann) und macht eine GUI dafür...
Das Programm spricht den USB-Adapter über die "virtuelle
COM-Port-Schnittstelle" an, die muss man also rauskriegen. Das geht unter WinXP mit dem
Geräte-Manager: Start / Einstellungen / Systemsteuerung / System
wählen, dann den Hardware-Reiter aufmachen und auf Geräte-Manager klicken.
Wenn Sie als ordentlicher Mensch mit Nicht-Admin-Rechten unterwegs sind wird Ihnen das
der Geräte-Manager jetzt auch sagen, das macht aber nichts, denn Sie wollen ja nur was
anschauen. Klicken Sie auf das '+' bei "Anschlüsse (COM und LPT)", dann
finden Sie den Anschluss aufgrund des Textes "MPX PC Interface..." - wenn nicht, dann
schließen Sie das Ding halt an, wie soll er's denn sonst finden... Wie's bei
Windows7 und Vista geht weiß ich nicht. Bei mir heisst der Anschluss "COM2"
und das werde ich in den folgenden Beispielen so verwenden.
Das Programm wird mit folgendem Kommando aufgerufen (es macht Sinn, das Kommando in
eine Batchdatei zu schreiben; es macht jedoch keinen Sinn, das Kommando in eine
Verknüpfung zu schreiben, denn da kann man keine Log-Datei anschliessen):
kMSB -comn [-verbose] [-raw]
( Sensorkommando )0..15 [>Logdatei ]
-comn ist der COM-Port-Anschluss, über den der USP-Adapter angesteuert
wird; anstelle des n müssen Sie natürlich die richtige Zahl
des COM-Ports angeben
Wenn Sie "-verbose" angeben gibt das Programm Zwischenmeldungen aus, die
ein irgendwie besseres Karma ausstrahlen als wenn es absolut stumm bleibt.
Wenn Sie "-raw" angeben kriegen Sie die Daten nicht formatiert sondern
roh, in binärer Darstellung.
Sensorkommandos sehen so aus:
-sensoradr/format=nummer[!]
ohne jeden Zwischenraum.
adr ist die Adresse des zu simulierenden Sensors, eine ganze Zahl zwischen
0 und 15.
format ist die Klasse (das Format) des vom simulierten Sensor ausgegebenen
Wertes, eine Zahl zwischen 1 und 15.
nummer ist der Wert zwischen -16384 und +16383 und '!', wenn angegeben,
setzt das Alarmbit.
Jede Änderung eines Sensorwertes wird im Log angezeigt. Wenn eine
Logdatei (mit vorangestelltem Umleitungszeichen '>') angegeben ist geht das Log in diese
Datei, sonst ins Konsolefenster.
Da Windows kein Echtzeit-Betriebssystem ist dürfen keine hohen Ansprüche an
die zeitliche Genauigkeit der ausgegebenen Signale gestellt weren, aber bei einem
halbwegs aktuellen PC, am besten einem Doppelkern-Prozessor, reicht's aus.
Das Program kann mit Ctrl-C angehalten und beendet werden, nach frühestens einer Stunde
hält es von selbst an. |

 |
|
Hier 2 Aufrufbeispiele und die zugehörigen Logs (es ist ein Spannungssensor angeschlossen,
der auf den Adressen 3,4, 6 und 7 Werte ausgibt und der M-LINK-Empfänger sendet
seine Versorgungsspannung und den LQI nach "unten", daher frägt er die
Sensoradressen 0 und 1 nicht ab):
Aufruf (eine Zeile):
kMSB.exe -com2 -verbose -sensor2/7=-180 >MSB1.log |
|
Aufruf (eine Zeile):
kMSB.exe -com2 -raw -sensor2/7=-180 >MSB2.log |
kMSB V1.0
2 -18.0 °
3 -.- V
4 -.- V
6 -.- V
7 -.- V
3 5.4 V !
4 5.4 V !
6 5.4 V
7 5.4 V
Letzter Stand der Sensordaten:
0
1
2 -18.0 °
3 5.4 V !
4 5.4 V !
5
6 5.4 V
7 5.4 V
8
9
10
11
12
13
14
15
kMSB beendet.
|
|
kMSB V1.0
2 2798fe >
3 310080
4 410080
6 610080
7 710080
3 316d00
4 416d00
6 616c00
7 716c00
Letzter Stand der Sensordaten:
0 000000
1 000000
2 2798fe >
3 316d00
4 416d00
5 000000
6 616c00
7 716c00
8 000000
9 000000
a 000000
b 000000
c 000000
d 000000
e 000000
f 000000
kMSB beendet.
|
| Links: Die Ausgaben werden so formatiert wie's im Sender auch gemacht wird. Das
"-.-" bedeutet: Der Sensor hat den Wert -16384 (undef)
ausgegeben; dies erfolgte zu Beginn als der Sensor noch nicht initialisiert war. Das '!'
bedeutet, dass das Alarmbit gesetzt ist. |
|
Rechts: Die Daten werden binär angegeben weil im Aufruf "-raw"
steht. Das '>' bedeutet: Diese Daten wurden von kMSB auf den MSB
geschrieben. |
Zum Schluss werden alle gespeicherten Daten zu den einzelnen Sensoren nocheinmal
ausgegeben; daraus ist z.B. zu erkennen, dass keine Sensor-Daten zu den Adressen
0, 1, 5 und 8-15 auf dem MSB übertragen wurden.Die Spannungswerte wirken etwas
eintönig, aber ich hatte gerade nur eine Spannungsquelle zur Verfügung.
Die -verbose-Angaben stehen nicht im Log sondern zieren das Konsolfenster.
Installation: Zuerst den Multiplex-PC-Adapter korrekt installieren, dann einfach das
Programm (kMSB.exe) auspacken und irgendwohin speichern und dort aufrufen.
...und hier ist es: ►kMSB.exe.zip
Viel Spaß und Erfolg damit!
Ja, ich habe eine Version gemacht, die auch als Master die Adressen durchzählen kann, aber
das Timing unter Windows ist so mies, dass ich diese Version nicht veröffentliche.
Das Kleingedruckte: Ich gebe keine Garantie für irgendwas und übernehme
keinerlei Haftung aus irgendwelchen Schäden, die Sie mit dem Programm oder den
zugehörigen Anweisungen und Tips erleiden oder verursachen. Download, Speicherung, Nutzung
und Weitergabe kostenfrei erlaubt - sonst nichts.
|
| |
|
|
Mehr? |
|
Was noch kommen wird:
Ich habe ein Stückchen Draht etwas eigenartig verbogen und am linken Kreuzknüppel
(innen im Sendergehäuse) angebracht, so dass dort beim "Ziehen" kurz vor dem
Ende des Kreuzknüppelweges ein extra Druckpunkt entsteht; ein Schaltpunkt wird so gelegt
dass ich damit bei Überwindung des Druckpunktes die Butterfly-Bremse ziehen kann.
Das hat sich gut bewährt und ich möchte es nicht mehr missen. Die Dokumentation
ist ziemlich aufwändig (Fotos), daher wird es noch ein wenig dauern...
Außerdem bastle ich an einem Sensor und der zugehörigen Anzeige rum, aber das
ist nicht ganz einfach und wird ja auf meiner
►Telemetrieseite
mehr oder weniger (eher weniger) aktuell dargestellt.
|
| |
|
|
® |
|
MSB, Multimate sind eingetragene Warenzeichen von
MULTIPLEX Modellsport GmbH & Co.KG, Bretten-Gölshausen.
Windows ist ein Markenzeichen von MICROSOFT Corporation. |
|
© |
|
Ich besitze alle Rechte an diesen Texten, Bildern und dem Programm. Die Weitergabe ist
kostenfrei erlaubt. Hier wird über Produkte und Informationen berichtet,
die von Fa. Multiplex stammen; die Rechte von Fa. Multiplex an diesen Informationen
bleiben durch den vorliegenden Text unberührt. |
|
Haftung |
|
Alle Angaben auf dieser Seite werden ohne Garantie für Richtigkeit und Freiheit
von Rechten Dritter gemacht. Es werden z.T. Anleitungen oder Hinweise zum Ändern an
Geräten von Fa. Multiplex oder anderen angegeben; ich mache ausdrücklich darauf
aufmerksam, dass dadurch die Funktion dieser Geräte negativ beeinflusst werden könnte
und dass zur Befolgung der Hinweise ein entsprechendes fachliches Geschick und ausreichende
Fachkenntnisse erforderlich sind.
Ferner können Gewährleistungsansprüche an die Hersteller der Geräte
verfallen (bitte beim Hersteller nachsehen/erkundigen).
Ich übernehme keinerlei Haftung für Schäden oder irgendwelche andere Folgen
aus Handlungen, die von Informationen aus diesem Text beeinflusst wurden. |
| |
|