Magnetschwebesystem

Hallo zusammen,

ich möchte euch ein Projekt vorstellen, an dem ich in letzter Zeit intensiv gearbeitet habe, und mir dazu ein paar Ideen und Feedback aus der Community einholen.

Es handelt sich um ein aktives, digitales Magnetschwebesystem auf Basis einer eigens entwickelten Platine. Anders als die klassischen DIY-Aufbauten, bei denen ein Objekt lediglich unter einem einzelnen Elektromagneten hängt, fokussiert sich mein System auf eine aktive digitale Regelung in der Ebene bzw. im Raum (3D).

Da die Dimensionierung und Abstimmung solcher Systeme oft extrem knifflig ist, habe ich direkt eine passende Analyse- und Steuerungs-App dazu entwickelt.

Key Features der App & Hardware:

  • Echtzeit-Analyse: Live-Auslesen der Sensorwerte und aktuellen PWM-Signale zur direkten Diagnose des Schwebezustands.

  • Dynamische PID-Steuerung: Live-Anpassung der Reglerparameter für die zwei verbauten digitalen PID-Regler im laufenden Betrieb (ohne Neu-Kompilieren/Flashen).

  • Sollwert-Vorgabe: Dynamische Anpassung der Zielposition/Höhe direkt aus der App heraus.

  • Kalibrierung: Integrierte Funktionen zur Überprüfung und Justierung der Sensorik.

Warum das Ganze?

Bei meiner Online-Recherche habe ich festgestellt, dass es zwar viele simple "Hänge-Magnet"-Projekte gibt, aber kaum wirklich funktionierende Open-Source- oder DIY-Systeme, die eine aktive digitale Regelung in mehreren Raumrichtungen stabil aufbauen.

Eine erste zentrale Idee von mir ist es, aus dem System eine interaktive Lernplattform für Regelungstechnik zu machen. Schüler, Studierende oder Maker könnten damit abstrakt verstandene PID-Parameter (K_p, K_i, K_d) durch direkte visuelle und haptische Rückmeldung am schwebenden Objekt greifbar verstehen.

Fragen an die Community:

Bevor ich die nächsten Entwicklungsschritte gehe, würde mich brennend interessieren:

Weitere Use-Cases: Was könnte man aus so einem System noch machen – außer einer Lernplattform? Habt ihr Ideen für coole Demos, Displays oder interaktive Exponate?

Einschätzung zum System: Wie seht ihr das System, ehr eine Spielerei oder Potential für mehr?

Open source: Habt ihr Interesse an dem Projekt und wärt interessiert am Code und der App?

Ich freue mich auf euren Input, eure Ideen und konstruktives Feedback!

Viele Grüße
Dominic


Zunächst Glückwunsch! Beeindruckendes Projekt, das gilt auch für Deine Widerstandsnetzwerke!

Zu möglichen Anwendungen hätte ich zunächst Fragen:

  • Muß die Kugel eine sein oder ginge auch eine andere Form?
  • Könnte auf der Kugel eine Figur stehen?
  • Wohin und wie weit läßt sich die Kugel bewegen?
  • µC ist ein ESP32?
  • Welcher Funktyp zur App?

Vielen Dank für die Rückmeldung und das Lob! Bei den Widerstandsnetzwerken habe ich mir gedacht, dass ein wenig abstrakte Kunst auch nicht schaden kann :)

Die Form des Schwebekörpers ist grundsätzlich relativ frei. Es muss also nicht zwingend eine Kugel sein. Wichtig ist vor allem der untere Bereich: Dort sollte der Körper beziehungsweise der darin verbaute Magnet möglichst spitz zulaufen. Der Hallsensor erfasst das Magnetfeld, wobei insbesondere dessen räumliche Änderung in X- und Y-Richtung für die Empfindlichkeit der Regelung entscheidend ist. Eine flache Oberseite wäre daher kein Problem, sodass sich dort grundsätzlich auch eine Figur befestigen oder aufstellen ließe.

Die Regelung ist relativ stabil, und der Schwebekörper kann durchaus zusätzliches Gewicht tragen. Die mögliche Traglast hängt allerdings weniger von der Regelung als vielmehr von dem äußeren Permanentmagnetring ab. Dieser Magnetring bestimmt im Wesentlichen auch die Schwebehöhe. Das hatte ich in meinem Artikel etwas unpräzise dargestellt. Die Höhe lässt sich in der aktuellen Ausführung nicht aktiv über die Regelung verändern.

Aktiv geregelt und über die App gesteuert wird die Position des Schwebekörpers in der XY-Ebene. Dort sind Bewegungen im Millimeterbereich möglich. Die Kugel kann also relativ zu den Elektromagneten seitlich verschoben werden, jedoch nicht nach oben oder unten. Auch die absolute Ausrichtung beziehungsweise eine gezielte Drehung der Kugel lässt sich derzeit nur sehr eingeschränkt vorgeben. Eine unerwünschte Eigenrotation kann durch die digitale Regelung jedoch beeinflusst beziehungsweise unterdrückt werden. In meinem Aufbau löse ich das über eine leichte Kippbewegung des Schwebekörpers.

Als Mikrocontroller verwende ich tatsächlich einen ESP32. Die App verbindet sich über Bluetooth Low Energy, also BLE, mit dem ESP32. Aktuell dient sie hauptsächlich zur Steuerung der Sollposition in der XY-Ebene sowie zur Analyse und Einstellung des Reglers. Unter anderem können die PID-Parameter angepasst und die Sensorwerte ausgelesen werden.

So stolz Du mit Recht auf eine ruhende Kugel sein kannst, so wenig spannend ist das leider für den menschlichen Betrachter. Die Bewegungen im Millimeterbereich erinnern mich an einen Versuch im Physikunterricht zur Massenanziehung. Da wurde ein kleiner Winkel über einen Lichtsrahl sichtbar gemacht. Wäre sowas mit einem Spiegel auf der Kugel auch möglich?

Ein Spiegel ist sehr schwer, da es ganz feines Mikrozittern gibt, verursacht durch das Rauschen des Sensors.

Irgendeine Action scheint schwierig, also zur Regelungstechnik. Bei Temperaturreglern kenne ich eine Sprungantwort, gibt es das auch bei einer Lageregelung? Wie ermittelst und erkennst Du die optimalen Regelparameter?

Ja, die klassischen Antwortfunktionen gibt es hier ebenfalls. Man kann beispielsweise einen Dirac-Impuls oder eine Sprungantwort betrachten. Das war auch einer der ursprünglichen Gründe für das Projekt: Ich wollte Studierenden und allgemein an Regelungstechnik Interessierten eine Lernplattform bieten, mit der sich regelungstechnische Zusammenhänge anhand eines anschaulichen Experiments nachvollziehen lassen.

Zu den Regelparametern habe ich den Screenshot angehängt. Anfangs habe ich versucht, für das System eine Differentialgleichung aufzustellen. Dabei habe ich die Elektromagneten in einem kleinen Arbeitsbereich näherungsweise als lineare Feder modelliert und daraus eine lineare DGL abgeleitet. Dieser Ansatz hat sich in der Praxis allerdings nicht als zielführend erwiesen.

Deshalb habe ich anschließend die ebenfalls angehängte Software entwickelt. Damit kann ich die Regelparameter per Trial-and-Error ermitteln und das Verhalten des Systems direkt beobachten. Überraschenderweise ist das System dabei recht robust: Es gibt eine relativ große Bandbreite an Parameterkombinationen, mit denen die Regelung bereits stabil und zuverlässig funktioniert.

Du redest in der Beschreibung von Hängemagnet-Systemen.
[EDIT] Du redest daß die anderen Systeme im Gegensatz zu Deinem Hängemagnet-Systeme sind. Du erklährst aber nicht wie Dein System funktioniert. [/EDIT]

Dein System ist aber eine aktive Abstoßung einer (nehme mal an ) Magnetkugel mit einer Kugelhälfte N-Pol und der anderen S-Pol.
Wie verhinderst Du daß die Kugel sich umdreht und die Magnetpole wechselt (vom abstoßenden Elektromagnet angezogen wird)?

Grüße Uwe


Ich finde die Stelle leider nicht, wo ich geschrieben habe, dass es sich um ein Hängesystem handelt. Magst du vielleicht die Stelle zitieren, damit ich sie anpassen kann? Ich habe nur die Stelle gefunden, in der ich schreibe, dass es sich nicht um ein deutlich einfacheres hängendes System handelt.

Zu deiner Frage: Tatsächlich wird die Kippbewegung durch das Magnetfeld des statischen Magnetrings verhindert. In dem Bild kann man sehr schön sehen, dass die Magnetfeldlinien orthogonal zu der Schwebeebene sind und der Magnet sich immer zu dem Magnetfeld ausrichten möchte.

War unglücklich geschrieben. Hab meinen Beitrag korrigiert.

Das verstehe ich nicht.

Grüße Uwe

Thema geschlossen, da es ein Duplikat von

@nicoa123
Das Erstellen von Beiträgen in mehreren Threads verstößt gegen die Regeln des Arduino-Forums. Doppelte Beiträge verschwenden die Zeit derjenigen, die helfen möchten. Jemand investiert möglicherweise viel Zeit in die Recherche und das Verfassen einer ausführlichen Antwort zu einem Thema, ohne zu wissen, dass jemand anderes dies bereits in einem anderen Thema getan hat. Wiederholtes Erstellen von Beiträgen in mehreren Threads kann zu einer Sperrung des Forums führen. Bitte erstellen Sie zukünftig für jedes Thema einen eigenen Thread. Dies entspricht den grundlegenden Regeln der Forenetikette, wie im Leitfaden „So nutzen Sie dieses Forum optimal“ erklärt. Dieser enthält viele weitere nützliche Informationen. Bitte lesen Sie ihn. Vielen Dank im Voraus für Ihre Mitarbeit.