Forum: Mikrocontroller und Digitale Elektronik Levitation (Magnetschweberegler)


von Dave 9. (dave94)


Lesenswert?

Hi,

Ich möchte einen Magnetschweberegler Bauen die Hardware ist auch schon 
fertig, ich habe nur noch Probleme mit der Software.
Also ich habe einen Elektromagneten an einen PWM Pin des Atmega8 über 
ein Mos-FET angeschlossen.
an einem ADC eingang ist ein Hallsensor angeschlossen der bei Änderung 
des Magnetfeldes einen anderen Spannungswert ausgibt.
Durch 2 Taster soll eine Trimmung erfolgen.


Hier mein erster Ansatz ich hab nur noch ein einen Fehler drin den ich 
noch nicht finde:
1
' S1 At Pb3 = Up
2
' S2 At Pb4 = Down
3
4
$regfile = "m8def.dat"
5
$crystal = 1000000
6
7
Dim N As Byte
8
Dim X As Integer
9
Dim Y As Single
10
Dim Z As Single
11
Dim Xold As Single
12
Dim Xp As Single
13
Dim Xi As Single
14
Dim Xd As Single
15
Dim P As Single
16
Dim I As Single
17
Dim D As Single
18
19
20
Config Adc = Single , Prescaler = 32 , Reference = Off
21
   ' AD-Wandler starten
22
23
   Start Adc
24
25
   Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
26
27
28
P = 0.1
29
D = 60
30
31
Do
32
33
 If Pinb.3 = 0 Then P = P + 0.0002
34
 If Pinb.4 = 0 Then P = P - 0.0002
35
 X = 0
36
 For N = 1 To 8
37
    X = X + Getadc(1)
38
 Next X
39
 X = X / 8
40
41
 If X < 512 Then X = 512
42
 Xp = X - 512
43
 Xp = Xp * P
44
45
 Xd = X - Xold
46
 Xold = X
47
 Xd = Xd * D
48
49
 Y = Xp + Xd
50
 Y = Y / 2
51
 If Y > 255 Then Y = 255
52
 If Y < 0 Then Y = 0
53
54
 Pwm0a = Int(y)
55
Loop

Vielen Dank schonmal im Vorraus
LG David

von Karl H. (kbuchegg)


Lesenswert?

Ich bin zwar kein Regeltechnik-Fuzzyi
Aber was mich stutzig macht.

Um einen Gegenstand schweben zu lassen ist es IMHO wichtig, dass keine 
bleibende Regelabweichung entsteht. Dieses Verhalten kriegst du aber nur 
mit einem I-Anteil im Regler. Du hast aber keinen.


> Hier mein erster Ansatz ich hab nur noch ein einen Fehler drin
> den ich noch nicht finde:

Es wäre gut, wenn du diese allgemeine Formulierung zugunsten von "Ich 
habe ganz konkret dieses und jenes Problem" aufgibst. Immer drann 
denken: Wir sitzen auf der anderen Seite vom Monitor. Wir können weder 
dich noch deinen Aufbau sehen.

Ich nehm mal an, dass dein 'Fehler' darin besteht, dass du das Teil 
nicht zum Schweben bekommst. Dir ist aber schon klar, dass ein 
derartiger PD Regler (oder ein PI Regler oder ein PID Regler) einzig und 
alleine mit den Regelkonstanten Kp bzw. Kd (oder Ki) steht und fällt. 
Gute Konstanten: die Regelung funktioniert zufriedenstellend. Schlechte 
Konstanten: die Regelung funktioniert überhautp nicht.

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.