Forum: Mikrocontroller und Digitale Elektronik Mathematica SystemModeler zu externer Hardware


von Hellmut K. (hkohlsdorf)


Lesenswert?

Hallo Freunde

Ich möchte im Rahmen eines privaten Projektes Design durch Modellierung 
als Methode verwenden ein geplantes System zur Schotsteuerung in einem 
Modellsegelboot zu Modellieren, zu Simulieren und dann die 
energieeffizienteste Lösung finden. Da Matlab und Simulink, bzw. Maple 
und MapleSim zwar geeigneter, aber für den Privatmann unbezahlbar, will 
ich meine Lösung finden durch den Einsatz der Wolfram Software 
Mathematica und SystemModeler.
Nur zur Ergänzung der Hintergrundsinformatikn. Es geht bei meiner Frage 
nicht darum die Mathematikfunktionen von Mathematica, noch um die 
Modellierung innerhalb von SystemModeler auf der Basis vorhandener 
"Modelica" Modelle, sondern darum zu externer Hardware, hier z. B. 
LPCXpresso1769 unter anderem solche Verbindung herzustellen, wie man es 
für "Hardware-in-the-Loop", bzw. "Software-in-the-Loop" benötigt, für 
solche Hardware die nicht in der Liste der unterstützten Hardware von 
Wolfram ist.

Noch ein Hinweis warum ich mich neben den Kosten für Mathematica 
entschieden habe. SystemModeler egalisiert oder versucht zu egalisieren 
ihr hinter den oben genannten Wettbewerbsanbietern die umfangreiche 
Objekt-Bibliotheken haben, in dem Sie stark auf die Einbindung der bei 
"OpenModelica.org" kostenlos verfügbaren IDE für Modelica und den dort 
verfügbaren Objekten zu setzen. Für mich bedeutet dieses, dass ich 
Objekte meines Systems in Modelica und ihrer IDE Modellieren kann!

Natürlich plane ich Erfahrungen zu sammeln, in dem ich Raspberry Pi B+, 
z. B. auch mit gebundleter Mathematica Software einsetze. Aber trotz 
wiederholter Nachfrage bei Wolfram in UK und extensiver Recherche im 
Internet, habe ich kein Beispiel gefunden wie z. B. eine "Hello World" 
Implementation wo man eine LED blinken ließe! Natürlich findet man 
solches für RaspBerry Pi und vermutlich auch für Arduino. Ich würde aus 
einer solchen "Applikationsnote" entnehmen können wie Wolfram sich das 
vorstellt es zu realisieren. So müsste ich mich durch Unmengen an Links 
und Dokumentation durcharbeiten und selber mir hoffentlich etwas bauen, 
was der "Richtung" von Wolfram entspricht. Wolfram scheint zur Zeit 
ausschließlich die Richtung zu verfolgen Mathematica und ihre Wolfram 
Sprache auf externe Hardware zu portieren.

Meine Frage also, wo finde ich eine Referenz-Lösung wie man noch nicht 
von Wolfram unterstützte externe Hardware anspricht und einbindet?

Ich freue mich eigentlich schon darauf das zu realisieren und dann die 
Modellierung mit der echten Hardware vergleichen zu können!

von Hellmut K. (hkohlsdorf)


Lesenswert?

Es ist in das Thema ein wenig bewegung gekommen.

meine Frage war ja welche methodik favourisiert Wolfram um externe, 
nicht speziell unterstützte „Devices” für „Hardware-in-the-Loop” 
einzubinden. Jetzt habe ich zur neuen Version des „SystemModeler” eine 
aber eigentlich sehr suboptimale Weise gefunden, welche für Arduino 
existieren soll!

Wolfram behauptet jede externe Hardware einbinden zu können, welche das 
Protokoll „Firmdata” unterstützt und spricht dabei über eine eigene 
dabei beteiligte Software „ModelPlug”. Geht man auf die Homepage von 
Firmdata lernt man, dass es dieses Protokoll in unterschiedlichen 
Versionen gibt, welche Wolfram hier verlangt habe ich aber nicht 
gefunden. Weiterhin erfolgt der Datenaustausch nur in Intervalen von 
minimal 10ms, länger falls mehr Daten übertragen werden, was auch auf 
die serielle Verbindung und der von MIDI abgeleiteten Parameter 
resultiert.

Sinnvoll wäre es WIFI oder Internet als Medium der Kommunikation zu 
verwenden und ein mächtigeres Datenformat. es resultiert aus dem 
verwendeten Datenformat, dass nur eine begrenzte Anzahl von PWMs z. B. 
unterstützt werden.

Ein Beitrag einer Person aus China, der auf eine Frage vom Anfang 2014 
nie geantwortet hat, der eine Portierung auf einen kleinen LPC800 
gemacht hat, kann man lernen, das er, um diese Portierung von der 
Arduino Umgebung auf die ARM Cortex M Umgebung, sowohl auf der PC-Seite, 
wie auch in der Software auf der ARM Seite patches machen musste!

halte euch weiter informiert!

von Hellmut K. (hkohlsdorf)


Angehängte Dateien:

Lesenswert?

Offensichtlich ist das Thema Design durch Modellierung kaum jemand ein 
Begriff, jedoch ein möglicher weg effizienter die immer komplexer 
werdenden eingebetteten System zu entwickeln, besonders wenn dabei 
unterschiedliche Domains, so nennt man die diversen Techniken die in 
einem System zum tragen kommen können. Als Schiffsmodellbauer habe ich 
seit einiger Zeit angefangen mir ein eigenes System der Schotsteuerung 
zu konzipieren, welches eine Verstelllänge von 8400 mm in einem Rumpf 
von nur 1650 mm Länge ermöglicht. Das im Anhang als erstes zu findende 
Bild zeigt ein Blockdiagramm des Systems, wie ich es für einen Freund 
aus Spanien, der mal überlegt hatte mitzumachen, nach mehreren 
Iterationen gezeichnet habe. da es für das weitere Verständnis der 
Beiträge in diesem Thread von Bedeutung ist, möchte ich das Umfeld und 
die Zielsetzungen des System vorstellen und dann zeigen, wodurch ich 
herausgefordert mich entschlossen habe die Methode des Design durch 
Modellierung zu erlernen und einzusetzen.

Das System zur Schotsteuerung dient dazu einen Skipper am Ufer eines 
Gewässers mit einer R/C Fernsteuerung die Segelstellung kontrollieren zu 
können und so das Segelboot zu steuern.

Somit ist der Block ganz links der R/C-Empfänger, hier meine robbe F14 
Navy, die mit 8 Steckern für bis zu 8 Kanäle jeweils das PWM Signal 
liefert, welches durch die Länge der Zeit, 1 ms bis 2 ms, die das Signal 
logisch „1” einnimmt die Position des Steuerelementes am Sender ins 
Modell liefert. Der 2. Block im Diagramm von links ist eine 
LPCXpresso1769 Karte die ich als Zentrale im Modell einsetze. 8 der 
Pins, ich habe noch nicht entschieden welche Pins der Ports "0" oder "2" 
ich dafür einsetzen werde werden mit den PWMs gefüttert und zusammen mit 
einem Counter die PWMs der Kanäle des Empfängers digitalisieren.

Das Blockdiagramm besteht dann rechts von der zentrale aus 2 identischen 
Zweigen, da das Schotsteuerungssystem 2 Segel zu kontrollieren erlaubt, 
Haupt- und Vorsegel, welche beide einen um eine Welle drehenden Bäume 
haben. Ich werde im Weiteren mich bei der Beschreibung nur dem oberen 
Zweig widmen, der untere ist identisch.

Ändert sich der Wert der vom Sender kommt und den Befehl des Skippers am 
Sender wiedergibt, dann und nur dann wird über I2C der neue Wert an die 
nächsten LPCXpresso1769 Karte weitergeben. Ich werde diese LPCXpresso 
1769 Karte im Weiteren „Steuerung Hauptsegel nennen. Die zentrale wird 
dabei sicherstellen nur wirkliche Änderungen an die Steuerung Hauptsegel 
weiter zu geben. Dieser Wert wird in der Variablen Maximalwinkel genannt 
abgelegt und gepflegt. Der Wert heißt Maximalwinkel, weil er die 
maximale zulässige Öffnung, hier des Hauptsegels, bestimmt, welcher der 
Skipper durch die Stellung des Steuerknüppels am Sender bestimmt. Dieser 
Winkel zwischen der Mittelachse des Rumpfes und dem Baum, in der 
einfachen Zeichnung im Anhang "Schote_und_Baeume" wird es gezeigt.

Um die Kommunikation zwischen der Zentrale und anderen Steuereinheiten 
im Modell auf ein Minimum zu beschränken, gibt die Zentrale nur dann 
Werte weiter, wenn sich wirklich was geändert hat. Die Fernsteuerung 
schickt ja alle 20 ms Werte für die 8 Kanäle und die werden durch die 
Übertragung und Digitalisierung Schwankungen aufweisen, welche die 
Zentrale abfängt. da das ganze Modell Akkus zur Versorgung verwendet 
habe ich das Ziel eine möglichst Energieeffiziente Implementierung zu 
erreichen. Auch hier wird die Design-Methode ihre Stärken ausspielen 
können.

Die LPCXpresso1769-Karte Steuerung Hauptsegel hat also mit der Variablen 
Maximalwinkel die Betriebsvorgabe vom Skipper!

Der Grund warum ich ein eigenes System zur Schotsteuerung einsetzen 
werde ist, dass durch die Implementierung der Schotführung des 
Originals, hier der Segler Endeavour, ist das die Schot 6x vom Deck zum 
Baum und zurück geht, weshalb die enorme Schotlängenänderung von 8400 mm 
erforderlich ist! Hier habe ich leider kein eigenes Bild und kann daher 
nur auf die Endeavour im Internet verweisen. Mehrere Forenmitglieder aus 
dem Bereich des Schiffsmodellbaus haben mit unterschiedlichen 
Begründungen die von mir verfolgte Schotführung für im Modell nicht 
funktionsfähig bezeichnet und die unterschiedlichsten Argumente dafür 
genannt. Tatsache ist, das keines der auf dem Markt angebotenen oder in 
Foren vorgestellten Schotsysteme die hier gestellte Aufgabe erledigen 
können, das auch noch zuverlässig wie ich es von meiner Lösung verlange! 
Hier liegt noch ein Grund warum ich die Methode des "Designs durch 
Modellierung" anwenden werde. Diese Technik, für welche ich die 
Kombination der Software-Werkzeuge Mathematica und SystemModeler von 
Wolfram zum Einsatz bringe und welche für die Erstellung der Komponenten 
der Simulation die Modellierungssprache Modelica verwendet, für welche 
SystemModeler ein Werkzeug ist, welches ein solches auf Modelica 
basierendes Modell simulieren kann! Modelica erlaubt es die 
unterschiedlichsten Domains zu kombinieren, so kommt bei mir soweit 
bisher beschrieben die Mechanik zum Einsatz, welche sowohl den Einfluss 
der Natur, hier Wind und Dünung z. B., welche sowohl den Winddruck auf 
das Segel, wodurch eine Zuglast auf die schot wirkt und diese ein 
Lastdrehmoment auf den Schrittmotor, welcher die Schottrommel dreht. 
Aber auch die Reibung der Schot spielt, zumindest bei den Einwänden eine 
große Rolle. Hier ein paar Beispiele:

Die Schot, welche 6x zwischen dem Deck und dem Baum des Segels verläuft 
geht durch Blöcke. Blöcke enthalten eine Rolle um welche die Schot läuft 
und so umgelenkt wird! Hier spielt die Reibung in den unterschiedlichen 
Betriebsbedingungen eine entscheidende Rolle. Durchmesser der Rolle im 
Block, Winkel um welchen die Schot sich um die Rolle windet, Durchmesser 
und Material der Schot und der Rolle, ob die schot nass oder trocken 
ist. was passiert wenn die Schot ganz plötzlich durch das Segel in einem 
Ruck durch den Block läuft, oder der Schrittmotor plötzlich mit einer 
bestimmten zeitvariablen Beschleunigung an der Schot zieht?

Für alles dieses habe ich begonnen, obwohl ich vor fast 40 Jahren in der 
Schule Physik-Leistungskurs hatte, habe ich begonnen im Internet 
Vorlesungen als  Video, begleitet durch Skripte, Video von 
Übungsveranstaltungen und hervorragende Physik-Lehrbücher besorgt, 
welche die theoretische und die experimentelle Physik-Vorlesungen 
behandeln, welche zu dem Physik-Bachelor führen. Schon hier konnte ich 
auch feststellen, dass in den fast 40 Jahren meine Mathematik-Kenntnisse 
vom Abitur und dem Maschinenbaustudium eingerostet und erodiert sind! So 
habe ich begonnen von der MIT in Boston, die im Rahmen der 
"OpenCourseware" kostenlos im Internet Videos, schriftliches Material, 
inklusive Lehrbücher der echten Vorlesungen der Mathematik, der Physik, 
der Elektronik anbietet und dazu auch die Möglichkeit sowohl als Video 
Übungsveranstaltungen miterleben zu können und imInternet Studiengruppen 
zu bilden! So pauke ich gerade Calculus-Vorlesungen, 18.01SC und 
18.02SC, die mein Wissen so auf die solide Platform bringen weiter die 
Vorlesungen die im Rahmen des Bachelors der Mathematik angeboten werden. 
Auch deutsche Unis bieten excellente Studiermöglichkeiten so kostenlos 
und unverbindlich im Internet an! Schnell stellt man fest, dass ohne 
eine solide Auffrischung der mathematischen Kenntnisse und Fertigkeiten 
wie ein mathematischer Analphabet oder Legastheniker bei praktisch allen 
Kursen liegt. Nach fast einem Jahr, trotz großer gesundheitlicher 
Probleme die meine Konzentrationsfähigkeit begrenzen, bin ich nun 
immerhin in der Lage parallel an der Modellierung meines Schotsystems 
mit Mathematica, SystemModeler und Modelica anzugehn. Ich denke die 
Modellierung der Schot um eine Rolle wird ein interessantes, für mein 
Projekt wichtiges Teilprojekt werden.

Aber neben den mechanischen Einflüssen aus der Natur auf mein System und 
dem Verhalten der Komponenten, sind auch elektrostatische Effekte von 
Bedeutung. Da die eletrostatische Aufladung der Schot durch die Reibung 
in den Führungsschläuchen, meist aus Kunststoff haben einen Effekt der 
der rein mechanischen Reibung entspricht, wenn nicht sogar übertrifft. 
Auch hier wurden einige Einwände präsentiert! Es geht jedoch weiter!

Ich möchte, um zu dokumentieren, dass es hier wirklich im Elektronik und 
Mikrocontroller geht, nochmals darauf hinweisen, dass die 
Regelungstechnik hier entscheidend ist, dass aber dafür der Einfluss des 
Umfeldes voll verstanden werden muss und das in einem solchen 
eingebetteten System eben Mechanik, Elektronik, Thermodynamik, 
Elektrostitik zusammen das System bilden. Da die Vielzahl der 
Einflussgrößen, die Wahl der Parametrisierungswerte letzlich alle 
zusammen das Ziel beeinflussen eine möglichst einergieeffiziente Lösung 
zu entwickeln!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.