Hallo Leute. Ich Programmiere eine Steuerung um eine Metall-Kugel zum Schweben zu bringen. Und verzweifle am aufstellen einer Gleichung für die Steuergröße. Vielleicht kann mir ja einer von Euch weiterhelfen. Zur Erklärung: Der Aufbau besteht grob gesagt aus einem Elektromagnet, Zeilenkamera und Mikrokontroller. Die Position der Kugel wird über die Zeilenkamera bestimmt und kann Werte von 0-128 annehmen. 0 = Kugel ganz oben am Magnet, 128 Kugel ganz unten und bei Position 64 sollte diese Schweben. Der Mikrokontroller steuert den Magnet über eine Pulsweitenmodulation, wobei der Kontroller den Steuerwert aus der Position und Geschwindigkeit der Kugel errechnet. Der Steuerwert kann Zahlen von 0 (=Magnet aus, wenn Kugel bei Position 0) bis 255 (=Magnet volle Leistung, zB. wenn Kugel ganz unten oder am Herunterfallen ist) annehmen. Ich verzweifle hier seit Tagen bei dem Versuch eine Gleichung zu erstellen, welche mir einen Signalwert 0…255 aus der Position und Geschwindigkeit der Kugel errechnet. Mit folgender Formel hatte ich bisher das beste Ergebnis: (Setze Nullpunkt für die Position auf 64, dh Position im Bereich von -64...64; Geschwindigkeit=alte Position-neue Position) PWM-Wert=Konstante+Prop.Konst*Position+Diff.Konst*Geschwindigkeit Das Problem an dieser Formel ist, die Kugel fängt an zu schwingen und fällt herunter bzw klebt am Magnet fest. Alle Zahlenwerte können negativ sein, sollten jedoch wegen der Rechenzeit nicht mehr wie 2 Byte haben. Bin für jeden Vorschlag dankbar!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.