Entwurfs- und Simulationswerkzeuge
Im Rahmen von OpenAdaptronik sind in den letzten Jahren einige Tools zum Bauteilentwurf und andere Software zur Messung, Analyse und Simulation von Schwingungen und Systemen zur aktiven Schwingungsminderung entstanden. Einen Überblick über die verwendete offene Software findet ihr in diesem Artikel.
Contents
CAD-Software
Dank den Entwicklungen in der 3D-Druck Technik sind diese Geräte immer stärker sowohl im Privatgebrauch als auch in Gemeinschaftlich geführten Makerspace bzw. Hackerspace oder Fablabs verbreitet, sodass fast jeder Interessierte Bastler Zugang zu dieser Art der Fertigung hat. In OpenAdaptronik benutzen wir gedruckte Bauteile vor allem für speziell gefertigte Gehäuse (wie hier für einen Kraftsensor) oder als Adapter zum Verbinden von verschiedenen Bauteilen. Zur Fertigung dieser Bauteile müssen diese zunächst in einem CAD-Programm modelliert werden. In der Regel werden diese Bauteile vor dem eigentlichen Drucken von einem Slicer genannte Software in die einzelnen Druckschichten aufgeteilt. Dieser kann bereits im CAD Programm integriert sein.
FreeCAD
FreeCAD ist ein quelloffenes, 3-dimensionales CAD/FEM-Entwicklungswerkzeug, das von Jürgen Riegel, Werner Mayer und Yorik van Havre entwickelt wurde. Es ist unter LGPLv2+ lizenziert, und läuft auf Windows, MacOSx sowie Unix/Linux Betriebssysteme. FreeCAD hat eine große Gemeinschaft, die das Produkt fortlaufend weiterentwickelt. Im Internet gibt es Tutorials, Youtube Videos und ein Wiki für das Erlernen von FreeCAD. Es unterstützt Makros und Pythonskripte, und kann Modelle und Zeichnungen als viele verschiedene Dateitypen importieren und exportieren. FreeCAD ist ein starkes Entwicklungswerkzeug mit vielen Funktionalitäten. In diesem Post betrachte ich nur den CAD-Teil von FreeCAD. Zur Installation: FreeCAD ist verfügbar unter www.freecadweb.org. Der Installationsprozess ist einfach und dauert nur wenige Minuten. Zur Nutzung: FreeCAD funktioniert wie viele andere propriatäre CAD-Produkte. Besonders wichtig in FreeCAD ist die „Workbench“. Das ist die obere Auswahlbox im Fenster. Hier gibt es eine große Auswahl an Werkzeugen. Wichtig für uns an dieser Stelle sind der „Sketcher“ und „Part“. In Sketcher kann man eine 2-dimesionale Skizzierung von einem Modell machen und definieren. In Part kann man einfache Teile entwerfen, bspw. Quadrate, Zylinder, Kugeln, usw. Außerdem lässt sich damit eine Skizze extrudieren, um ein 3-dimensionales Teil zu erschaffen. Für die weiteren Bearbeitungen eines Teils ist es möglich eine neue Skizzierung auf der Oberfläche dieses Teils zu machen und weitere extrudierte Teile davon zu entwerfen. Jedes Teil kann auf zwei Arten bearbeitet werden. Man kann entweder kleine Änderungen mit den „Part Tools“ vornehmen, wie z. B. Verrundung und Fase, oder zwei Teile mit boolescher Algebra verknüpfen. Boolesche Algebra bedeutet, dass ein Teil aus zwei Teilen besteht, die voneinander subtrahiert oder miteinander addiert werden. Um z.B. eine Bohrung durchzuführen, muss man einen festen Zylinder nehmen und dann die „Cut“ Funktion benutzen. Der Zylinder wird dann von dem anderen Teilen subtrahiert. Die booleschen Algebra Funktionen in FreeCAD werden von OpenSCAD bereitgestellt, welches ein anderes, quelloffenes CAD-Werkzeug ist, das wir uns später noch anschauen werden. Ein großer Vorteil von FreeCAD ist, dass es die „parametrische Modellierung“ unterstützt. Das heißt, wenn ein 3-dimensionales Modell parametrisiert entworfen wurde, kann man die parametrisierte Skizzierung dazu ändern und das Modell aktualisiert sich automatisch. Das ist eine wirksame Funktion, die selten in anderen Open Source Werkzeugen zu finden ist.
OpenSCAD
OpenSCAD ist ein starkes 3D CAD Entwicklungswerkzeug, das unter allen häufig benutzten Betriebssysteme läuft. OpenSCAD wurde von Marius Kintel und Clifford Wolf entwickelt, und ist unter GNU GPL lizenziert. Es kann Modelle als viele Dateitypen exportieren, aber nur im STL Dateiformat importieren. OpenSCAD funktioniert aber einzig mit dem nativen Dateiformat. Zur Hilfe hat OpenSCAD eine Online-Dokumentation, Tutorials, und ein Cheat-Sheet mit vielen hilfreichen Informationen. OpenSCAD ist die Grundlage für andere Entwicklungswerkzeuge, was auf eine gute Qualität des Codes schließen lässt. Zur Installation: OpenSCAD ist unter http://www.openscad.org/downloads.html verfügbar. Der Installationsprozess ist einfach und dauert nur wenige Minuten. Zur Nutzung: Im Vergleich zu den anderen analysierten Entwicklungswerkzeugen hat OpenSCAD keine grafische Oberfläche (GUI) außer einem Renderingfenster, ist aber stattdessen Programmierungsbasiert. Um OpenSCAD zu nutzen, muss man C++ kennen. Außerdem erweitert OpenSCAD die C++ basierte Syntax um einige Befehle. Zu diesemPunkt hat OpenSCAD sehr gute Tutorials und einfache sowie fortgeschrittene Beispiele für den Nutzer. Das Cheat-Sheet ist ebenfalls sehr hilfreich. Trotzdem ist OpenSCAD aber ohne Programmierungserfahrungen viel schwieriger zu lernen als andere Entwicklungswerkzeuge, und ist vielleicht nicht am besten geeignet für Anfänger. Aus diesem Grund wird OpenSCAD meistens als Basis für andere Werkzeuge wie z.B. FreeCAD benutzt. Es ist also eine leistungsfähige Basis, allerdings Standalone nicht besonders komfortabel. Meine Meinung nach gibt es bessere Entwicklungswerkzeuge, die neben ihren eigenen Features auch die Technik von OpenSCAD nutzen.
SolveSpace
SolveSpace ist ein quelloffenes, 3-dimesionales CAD-Entwicklungswerkzeug, das von Jonathan Westhues entwickelt wurde. Es ist unter GPLv3 lizenziert, und läuft unter Windows. Es gibt auch Versionen für MacOSx und Linux, die heruntergeladen werden können, aber diese befinden sich aktuell noch in der Entwicklung. SolveSpace bietet auf seiner Seite Tutorials, Beispiele und ein Forum für Benutzer an. Das Werkzeug kann Zeichnungen exportieren, beherrscht für Modelle aber lediglich Mesh- oder Drahtmodelle. Zur Installation: SolveSpace ist das am einfachsten zu installierende CAD-Werkzeug, das ich analysiere. Für Windows braucht es keine richtige Installation, das Programm wird direkt von der heruntergeladenen Datei ausgeführt. Für MacOSx und Linux gibt es Installationsanweisungen auf der Webseite. Der Download ist verfügbar unter http://solvespace.com/download.pl. Zur Nutzung: SolveSpace funktioniert wie viele andere CAD-Produkte. Eine Ausnahme ist die Erstellung von „Groups“. Eine Group stellt eine neue Aktion im Programm dar. Das bedeutet, dass jede Skizzierung und jedes Extrudieren eine neue Group generiert. Die schon erschaffenden Groups stehen in einem zweiten Fenster, das „Property Browser“ heißt. Im Property Browser sind alle Groups chronologisch geordnet, mit der zuerst erschaffenen Group ganz oben. Mit dem „Active“ Wahlknopf kann man die Group auswählen, die bearbeitet werden soll. Wenn eine von den ersten Groups bearbeitet wird, werden die danach folgenden Groups automatisch aktualisiert. Diese Funktion nennt sich „parametrische Modellierung“ und ist ein wichtiges Werkzeug für die Modellentwicklung, das auch bei FreeCAD vorhanden ist. SolveSpace hat außerdem ein „Analyze“ Feature, mit dem man unterschiedliche Eigenschaften von einem Modell bestimmen kann, wie z.B. Volumen und Oberflächen. Analyze berechnet auch wie viele Freiheitsgrade es gibt, und ob zwei Teile miteinander kollidieren. Es ist ein einfaches aber nützliches Feature.
QCAD und LibreCAD
QCAD und LibreCAD sind beides 2-dimensionale CAD Entwicklungswerkzeuge. Sie sind sehr ähnlich zueinander, da LibreCAD ein Fork von dem originalen QCAD Projekt ist. Sie wurden ursprünglich von Ribbonsoft entwickelt, aber haben jetzt zwei unterschiedliche Geimeinschaften, die die Werkzeuge weiterentwickeln. QCAD ist unter GPLv3 lizenziert, während LibreCAD unter GPLv2 läuft. Die Beiden laufen unter den drei großen Betriebssystemen, nämlich Windows, MacOSX und Linux. Sie benutzen das DXF Dateiformat von Autodesk, und haben eine Menge von Online-Hilfmaterialien, darunter Dokumentationen, Foren, FAQs, und ein Wiki. Der großte Unterschied zwischen QCAD und LibreCAD ist die grafische Oberfläche. In LibreCAD wurde es weiterentwickelt als in QCAD, ansonsten funktionieren sie fast gleich. Zur Installation: QCAD und LibreCAD sind unter http://www.qcad.org/en/qcad-downloads-trial bzw. https://sourceforge.net/projects/librecad/files/ verfügbar. Die Installationsprozesse sind einfach und dauern nur wenige Minuten. Zur Nutzung: QCAD und LibreCAD funktionieren wie andere 2-dimensionale Erstellungswerkzeuge. Es gibt ein leeres Fenster für die Skizzierung vom gewünschten Teil in das man Linien hinein zeichnet um das Teil zu erstellen. Wichtig anzumerken ist das „Layer List” Fenster. Hier können neue Ebenen erstellt werden. Jede Ebene hat ihren eigenen Linienstil. Das bedeutet, dass z.B. die Strichpunktlinie für eine Achse einer Bohrung in einem neuen Layer gemacht werden muss. Das ist gut für die Organisation, und ist hilfreich, wenn man ein bestimmtes Teil ändern will, kann aber am Anfang verwirrend sein. Leider existieren keine echten Constraint-Funktionen. Man muss jede Linie am Anfang richtig zeichnen, ansonsten muss es später noch mal gezeichnet werden. Das macht es schwierig mit der Maus eine Skizzierung zu erstellen. Es ist einfacher mithilfe der Kommandozeilen eine Zeichnung zu erstellen. In diese gibt man bestimmte Koordinaten ein und die Linie wird automatisch und korrekt erstellt. Man muss einfach die Abmessungen vorher vorbereiten.
Simulation und Modellierung
Alle in OpenAdaptronik verwendete kostenfreie Simulationssoftware basiert auf der Modellierungssprache Modelica. Modelica ist eine objektorientierte Sprache, die 1997 von Hilding Elmqvist in seiner PhD Thesis vorgestellt wurde. Sein Ziel war es, eine gute Programmierungssprache für die Modellierung von technischen Systemen zu entwickeln. Seit der ersten Vorstellung wurde Modelica intensiv weiterentwickelt. Heutzutage wird Modelica von vielen kommerziellen Unternehmen benutzt. Modelica hat viele Anwendungen, ist aber am besten geeignet für die Modellierung von „System-Level-Simulation“. Aus diesem Grund ist Modelica wichtig für die Simulationswerkzeuge, die in diesem Projekt analysiert werden. Modelica wird als Basis für OpenModelica sowie wichtige Funktionen in Hopsan und Xcos (das Modellierungstool von Scilab) benutzt.
OpenModelica
OpenModelica ist ein quelloffenes Werkzeug für die Simulation und Modellierung von dynamischen Systemen. Es wurde vom Open Source Modelica Consortium entwickelt, welches ein Projekt vom Swedish Institute of Computer Science (SICS), selbst eine Partnerorganisation von der Linköping Universität, ist. OpenModelica ist auf der Modelica Programierungssprache basiert, und läuft unter Windows, Mac OSX sowie Linux. Zur Hilfe gibt es eine Dokumentation, Foren und auch Kurse um den Umgang mit der Software zu Lernen. OpenModelica umfasst eine vielzahl an Werkzeugen. In diesem Post werde ich mich auf den OpenModelica Connection Editor (OMEdit) konzentrieren. OMEdit ist das Simulationsteil von OpenModelica und ist eine der bekanntesten Simulink Alternativen. Wie mit allem Alternativen von Simulink, funktioniert OMEdit mit Blocks und Verbindungen. Es hat eine benutzerfreundliche Schnittstelle und ist relativ einfach zu lernen, wenn man mit Simulink schon gearbeitet hat. Außerdem hat OMEdit ein Paar gute Fehlersuchprogrammen neben seinen Modellprüfungswerkzeugen und fortgeschrittenen Simulationseigenschaften. Etwas anders als in Simulink kann jede Größe von jedem Block ohne ein Scope grafisch dargestellt werden. Das bedeutet, dass die Darstellung von Grafiken sehr einfach ist. Das ist gut, wenn man viele unterschiedliche Größenbeziehungen sehen will. Falls allerdings ein Scope notwendig sein sollte, kann OMEdit diesen ebenfalls bieten. Insgesamt ist OMEdit eine gute Alternativ zu Simulink. Es ist nicht so stark wie Simulink, wird aber immer weiterentwickelt und so stetig verbessert. Da OpenModelica quelloffen ist, kann man auch eigene Tools programmieren und implementieren. Zur Installation: OpenModelica ist unter https://www.openmodelica.org/ verfügbar. Der Installationsprozesse ist einfach und dauert nur wenige Minuten.
Hopsan
Hopsan ist ein quelloffenes Simulationswerkzeug und ist das Älteste der drei Tools, die in diesem Projekt analysiert werden. Die Entwicklung von Hopsan hat im Jahr 1977 an der Linköping Universität angefangen. Ursprünglich wurde es als ein Simulationswerkzeug für hydraulische und pneumatische Systeme entwickelt. Seit seiner Herstellung wurde Hopsan stetig weiterentwickelt und ist heutzutage viel mächtiger als zu Beginn seiner Entwicklung. Mittlerweile ist Hopsan auf dem gleichen Niveau wie andere quelloffene Simulationswerkzeuge. Hopsan läuft auf Windows und Linux, und ist unter der GPL lizenziert. Zur Hilfe bietet Hopsan ein Benutzerhandbuch und Tutorials sowie Foren. Da Hopsan auch von der Linköping Universität entwickelt wurde, hat es viele Ähnlichkeiten zu OpenModelica. Teile des Codes von Hopsan wurden in OMEdit wiederverwendet. Ein besonderes Merkmal von Hopsan sind die Blockeigenschaften. Die sind immer wichtig für die Simulation von Modellen, aber in Hopsan sind sie noch wichtiger. Für ein einfaches mechatronsiches System mit einem Freiheitsgrad kann alles mit einem Block simuliert werden. Der Masseblock hat Eigenschaften sowohl für den Dämpfungskoeffizienten als auch die Federkonstante. Tatsächlich gibt es keinen Block für einen Dämpfer in Hopsan. Insgesamt ist Hopsan ein gutes Simulationswerkzeug. Es funktioniert wie OpenModelica und Simulink mit nur ein paar Unterschieden. Die Stärken von Hopsan liegen bei der Simulation von hydraulischen und pneumatischen Systemen. Für mechatronische Systeme sind Scilab und Hopsan besser geeignet. Zur Installation: Der Installationsprozess für Hopsan ist einfach und dauert nur wenige Minuten. Der Download ist unter http://www.iei.liu.se/flumes/system-simulation/hopsan/download?l-en verfügbar.
Scilab
Scilab ist eine quelloffene Alternativ zu Matlab. Es wurde von der französische Firma Scilab Enterprises entwickelt, und läuft unter alle drei große Betriebssysteme: Windows, Mac OSX und Linux. Es ist unter CeCILL lizenziert, welche die französische Version von der GPL ist. Scilab hat viele verfügbare Hilfen, darunter eine Dokumentation, Tutorials, Videos, Bücher u.v.m. Scilab kommt mit Xcos, einem Zusatztool das innerhalb von Scilab ausgeführt wird. Xcos ist ein starkes Simulationswerkzeug, das sich mit anderen quelloffene Produkte misst.
Scilab kann auserdem Dateien des kostenpflichtigen Matlab verarbeiten bzw. diese konvertieren.
Außerdem ist Scilab vielseitig. Es gibt eine Menge von zusätzlichen Modulen mit verschiedenen Anwendungen, die kostenlos heruntergeladen werden können. Der Downloadprozess dafür ist sehr einfach! Die Module werden ebenfalls stetig weiterentwickelt, mit vielen Modulen die noch nicht fertig gestellt wurden und sich daher in der Alpha- oder Beta-Phase befinden. Ein Nachteil von Scilab ist aber der Installationsprozess. Je nachdem welches Betriebssystem benutzt wird, kann der Prozess sehr kompliziert sein. Hoffentlich wird der Prozess einfacher mit neuen Versionen, aber ich versuche in den folgenden Abschnitten den aktuellen Prozess zu erklären.
Zur Installation: Scilab ist komplizierter zu installieren als anderen Entwicklungswerkzeugen, die ich analysiert habe. Es kommt mit keinem Installer. Man muss es selbst installieren und das kann ein bisschen verwirrend sein. Ich habe es auf Windows 64-Bit installiert, und ich werde die Anweisungen dafür erklären.
1. Scilab herunterladen. Die neueste Version ist verfügbar unter http://www.scilab.org/download/latest.
2. Es können verschiedene Compiler genutzt werden. Ich habe MS Visual Studio 2012 Express Edition benutzt und die folgenden Schritte sind dafür relevant. Information zu den möglichen Compilern sind unter https://help.scilab.org/docs/5.5.1/en_US/supported_compilers.html verfügbar.
3. Mit MS Visual Studio 2012 Express Edtion ist es auf 64-Bit Windows noch komplexer.Wenn die Installation abgeschlossen wurde, muss geprüft werden, dass diese vollständig und korrekt ist. In der Konsole von Scilab muss dazu der Befehl „haveacompiler()“ ausgeführt werden. Wenn der Rückgabewert „y“ ist, wurde alles richtig installiert.
4. Schießlich ist das Module „Coselica“ wichtig für die Simulation von mechanischen Systemen. Um das zu installieren, muss eine Internetverbindung verfügbar sein. Dann muss der Befehl „atomsInstall("coselica")“ in der Konsole ausgeführt werden. Die Installation läuft automatisch und dauert nur ein paar Sekunden. Scilab muss nun neugestartet werden um mit der Erstellung und Simulation von Modelle anzufangen.
In unseren Downloads könnt ihr auch eine erweiterte Bibliothek für X2C zum modellieren von adaptiven Schwinungsdämpfungen finden!
Messung und Analyse
Die Zeiten in denen Messungen nur durch spezielle dafür ausgelegte Geräte und Applikationen durchgeführt werden können sind lange vorbei. Um kostengünstig, schnell und überraschend genaue Messungen durchzuführen reicht oft das eigene Smartphone oder Tablet, das bereits eine Fülle an Sensoren zu Verfügung stellt. Für die nächste Stufe können mit Sensoren im niedrigen zweistelligen Euro-Bereich sowie einer sd-Karte ein kleiner Datenlogger aufgebaut werden. Und mithilfe von Mikrocomputern wie einem Raspberry Pi oder Arduino können deutlich komplexere Systeme aufgebaut werden. Im Folgenden beschränken wir uns auf die Schwingungsmessung und Analyse mittels Smartphone, für die einige kostenfreie Tools existieren.
Phyphox
Die App „phyphox“ die wir hier erwähnen möchten, bietet neben einen einfachen Frequenzgenerator viele Möglichkeiten, die Sensoren des Smartphones nicht nur einfach auszulesen, sondern diese Daten auch gleich zu verarbeiten, zum Beispiel FFT-Analysen. Über die Jahre hat sich aus dieser kostenfreien App ein mächtiges Messungstool entwickelt, das Daten auch direkt in ASCII oder excel exportieren kann und alle Sensoren des verwendeten Smartphones nutzen kann. Phyphox wurde am 2. Physikalischen Institut der RWTH Aachen University erstellt und ist sowohl für iOS als auch für Android verfügbar. Unter https://phyphox.org/de/home-de/ sind weitere Informationen und Downloads verfügbar.
Tongenerator
Die App „simple tone generator“ ist ein einfacher Frequenzgenerator. Hiermit können verschiedene Signalarten (Sinus, Rechteck, Dreieck und Sägezahn) wiedergegeben werden. Die Ausgabe erfolgt entweder auf dem rechten, linken oder auf beiden Audiokanäle. Wer eine gewisse Frequenz braucht um irgendwas zu testen, für den reicht dieser einfache Generator voll und ganz aus.
Frequenzschallgeber
Die App „Frequenzschallgeber“ liefert einen einfachen Frequenzgenerator, bei dem bis zu drei verschiedene Signale gleichzeitig ausgegeben werden können. Über Dreh- und Schiebeschalter wird die jeweilige Frequenz und Amplitude eingestellt. Zudem lassen sich die Signalarten Sinus, Rechteck und Sägezahn auswählen. Die Signalausgabe erfolgt auf beiden Audiokanälen gleichzeitig.
Funktionsgenerator
Die App „Funktionsgenerator“ liefert von der Benutzeroberfläche her einen virtuellen Frequenzgenerator aus dem Laborbereich mit vielen Knöpfen, Schaltern und Einstellmöglichkeiten. Hier können neben kontinuierlichen Signalen auch Sweep (Ein Signal, dessen Frequenz über die Zeit steigt oder sinkt), Burst (einstellbare Wiederholungen) und Noise (Rauschen) ausgegeben werden. Auch kann man den linken und rechten Audiokanal unabhängig voneinander nutzen. Wer viele Funktionen sucht, der ist hier genau richtig.