Forum: Mikrocontroller und Digitale Elektronik Verzweifle an einer Regelug, plz Help!


von beefy (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.