Forum: Mikrocontroller und Digitale Elektronik Regelung eines unstabilen, unlinearen Systems verbessern (Schweben)


von Denny W. (dennyweinberg) Flattr this


Angehängte Dateien:

Lesenswert?

Hallo.
Ich möchte gerne meine PD Regelung verbessern.
Es geht um einen schwebender Magneten.
Der Magnet wird von einer Spule oberhalb angezogen und die Position wird 
mit einem HAL815 Magnetfeldsensor ermittelt.
Der Sensor ist linear, das Magnetfeld der Spule jedoch nicht (zum 
Strom).
Hier mal ein kleines Video (Sorry für die schlechte Qualität):
http://www.youtube.com/watch?v=nk9W2f4kyww

Zuerst erhöhe ich den Sollwert (der Magnet sinkt) und dann minimier ich 
den Sollwert bis der Magnet anfängt zu schwingen. Dann gehe ich wieder 
etwas tiefer und danach höher bis er oben gegen knallt.

Ich möchte den regelbaren Bereich erhöhen, sodass der Magnet etwas höher 
Schweben kann und dass ich ihn vielleicht sogar sanft absetzen kann.

Hier die Regelung (Bascom):
1
'|---------------------------PD-Regelung: Berechnen---------------------------|'
2
Sub Regelung_berechnen()
3
    'Weil der Sensor die halbe Spannung in einer Richtung angibt
4
    Istwert = Istwert - 512
5
    'Der Wert geht bis 512, die Pulsweitemodulation arbeitet aber bis 255
6
    '--> Wert durch 2 teilen
7
    Shift Istwert , Right , 1
8
9
    'Proportionalanteil ausrechnen
10
    Regeldifferenz = Istwert - Sollwert
11
    P = Kp * Regeldifferenz
12
13
    'Differentialanteil ausrechnen
14
    'Es wurde auf Ta verzichtet
15
    D = Regeldifferenz - Regeldifferenz_alt
16
    D = Kd * D
17
18
    'Alte Regeldifferenz speichern
19
    Regeldifferenz_alt = Regeldifferenz
20
21
    'Anteile zusammenrechnen
22
    Stellgroesse = P + D
23
End Sub

Die Variablen sind globale Variablen und der Istwert wurde mittels 
"Istwert = Getadc(0)" gemessen.
Die Zykluszeit beträgt ca. 300μs.

Währen der Laufzeit kann ich per RS232 kommunizieren und alle Werte 
abfragen falls es jemandem helfen könnte.

Könnt ihr mir vielleicht helfen, die Regelung zu verbessern?

Danke

Denny

von Michael R. (mexman) Benutzerseite


Lesenswert?

Hallo Denny,

> mit einem HAL815 Magnetfeldsensor ermittelt.

Wo sitzt der?
Ich bezweifele dass der die Position des Magneten linear misst.


Ich wuerde bei sowas keinen linearen Regleransatz benutzen sondern einen 
Fuzzy-Regler. Die sind zwar schon etwas aus der Mode gekommen, aber 
nicht schlecht. Warum hast Du keinen P-Anteil?

Gruss

Michael

von Denny W. (dennyweinberg) Flattr this


Lesenswert?

Der HAL815 sitzt genau in der Senkrechten zum Mittelpunkt der Spule in 
dem Aluminiumblock (An der Stelle 0,5cm dick).

Ich habe doch einen P-Anteil!?

von MaWin (Gast)


Lesenswert?

Wahrscheinlich ändert sich der Strom in der Spule gar nicht so schnell 
wie du regeln können willst.

von Denny W. (dennyweinberg) Flattr this


Lesenswert?

P.S.:
Kp = 1
Kd = 255

von Michael R. (mexman) Benutzerseite


Lesenswert?

Hallo Denny,

> Der HAL815 sitzt genau in der Senkrechten zum Mittelpunkt der Spule in
> dem Aluminiumblock (An der Stelle 0,5cm dick).

>> die Position wird
>> mit einem HAL815 Magnetfeldsensor ermittelt.


Dann misst Du damit wohl nicht die Position de MAgneten sondern die 
Staerke des Magnetfeldes, welches sich ja aus dem des MAgneten + dem der 
Spule zusammensetzt....oder sehe ich das falsch?

> Ich habe doch einen P-Anteil!?

Ooops....meine natuerlich I Anteil!




Gruss

Michael

von Denny W. (dennyweinberg) Flattr this


Lesenswert?

Das ist richtig.
Ich habe gerade gemessen, dass der Sensor einen Wert von 48 von maximal 
255 bei voller Auslastung der Spule misst.

EDIT:
I Anteil brauch ich nicht. Der muss den Sollwert ja nicht erreichen.
Habs mal mit I-Anteil versucht und hatte nur Probleme.

von Harald Wilhelms (Gast)


Lesenswert?

Denny Weinberg schrieb:
> Der HAL815 sitzt genau in der Senkrechten zum Mittelpunkt der Spule in
> dem Aluminiumblock (An der Stelle 0,5cm dick).
>
> Ich habe doch einen P-Anteil!?

Aber hast Du auch I-Anteil? Ich bin zwar kein Spezialist für
Regelungstechnik, aber alle komplizierten Regelungsprobleme
erfordern einen PID-Regler. Wobei ich davon ausgehe, das
wenigstens der P- und der I-Anteil über Potis einstellbar
sein sollte.
Gruss
Harald

von Denny W. (dennyweinberg) Flattr this


Lesenswert?

Ich habe keinen und brauche keinen.
P-Anteil kann man per Software verändern.

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.