UDISim Projekt
Was ist UDISim?
UDISim ist eine Software- und Hardwarearchitektur auf Basis eines zentralen Controllers, der eine Schnittestelle zwischen modularer Hardware und einer Simulationssoftware auf einem Rechner darstellt. Dabei sollen beliebige Hardwarekomponenten welche die UDISim Architektur unterstützen über ein Bus-System "plug-and-play" mit dem Controller verbunden werden können. Dieser stellt die Schnittstelle zum Rechner bereit. In einer benutzerfreundlichen Software Umgebung sollen die Funktionen der Hardwarekomponenten konfiguriert werden können.
![UDISim Architectural Overview](https://elektron.work/data/uploads/blogposts/Projects/UDISim/UDISim_architectural_overview.png)
Abb. 1
Wie kam es zu UDISim ?
Unsere ursprüngliche Idee, spezielle Hardware zur Erweiterung eines Simulators am Rechner einbinden zu wollen, hatten wir schon 2019. Dabei wollten wir durch einige zusätzlich Schalter die Bedienung eines Zugsimulators realistischer machen. Wir nannten das Projekt damals "ULTISIM".
![ULTISIM Holzpanel mit Schaltern](https://elektron.work/data/uploads/blogposts/Projects/UDISim/UDISim_Original_panel_1_900.jpg)
Wir hatten damit begonnen, ein großes "Holz Panel" mit einigen Schaltern und anderen Bedienelementen zu bauen. Zum Auslesen der Schalter verwendeten wir mehrere MCP23013 I2C Port Expander und einen ATmega328P Microcontroller mit Arduino Software. Zur Steuerung des Rechners kam ein Arduino Pro Micro zum Einsatz, der Tastatur- und Mausbefehle sendete.
Allerdings kam es mit diesem System bald zu einigen Problemen. Als zentrales Bus-System benutzten wir auf Grund der Port Expander den I2C Bus, der nicht für Kommunikation über große Distanzen geeignet ist. Jedoch verband ein mehrere Meter langes Kabel den Microcontroller mit den Portexpandern. Regelmäßige Übertragungsfehler und der außerdem viel zu langsame ATmega328p Microcontroller brachten uns schließlich dazu, das Projekt nicht weiter zu verfolgen.
Im Sommer 2020 hatten wir die Idee einen Flugsimulator auf Basis des ULTISIM Projektes zu bauen. Der Plan war, den langsamen ATmega328p Microcontroller durch einen Raspberry Pi zu ersetzen und den normalen I2C Bus gegen einen differenziellen I2C Bus mit PCA9615 Treibern auszutauschen um das System zuverlässiger zu machen. Allerdings setzten wir diese Ideen nie in die Realität um.
Im Sommer 2021 starteten wir schließlich das UDISim Projekt. Als Ziel setzten wir uns, alle früheren technischen Probleme von ULTISIM zu lösen. Gleichzeitig wollten wir den Funktionsumfang erweitern und ein zuverlässigeres, professionelles und modular erweiterbares System entwickeln. UDISim beinhaltet daher kaum noch Hardware und Architektur vom ursprünglichen ULTISIM.
Woher kommt der Name?
Zu beginn nannten wir das ursprüngliche Projekt "Zugsimulator". Schon beim ursprünglichen ULTISIM Projekt hatten wir allerdings die Idee, dass die Schalter nicht nur für einen Simulator, sondern auch für andere Funktionen verwendbar sein sollten. Da die Steuerung des Simulators am PC ausschließlich mit Tastertur- und Mausbefehlen funktionierte, sollten auch andere Simulatoren und beliebige Programme am Rechner steuerbar sein. Daher nannten wir das Projekt "Ultimativer Simulator", kurz ULTISIM.
Darauf folgend nannten wir die zweite, aktuelle Version ULTISIM2. Da der Name "ULTISIM" allerdings bereits rechtlich geschützt ist und für eine andere Software verwendet wird, entschlossen wir uns das Projekt umzubenennen. Der neue Name "UDISim" beschreibt außerdem besser den aktuellen Funktionsumfang und das Ziel des Projekts. UDISim steht für "Unified Device Interface for Simulation".
Mehr Eindrücke zu verschiedenen Komponenten und Bauphasen findet Ihr übrigens in der Projekte Galerie.
Und hier geht's weiter zur Seite UDISim Control Panel.
Zugehörige Blogbeiträge: