-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathADRC.c
More file actions
106 lines (83 loc) · 3.05 KB
/
Copy pathADRC.c
File metadata and controls
106 lines (83 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
Модель системы управления с подавлением гармонических колебаний по каналу возмущения.
ПИД- регулятор в чистом виде не может компенсировать гармонические колебания по каналу возмущения.
ADRC = Active Disturbance Rejection Controll
Активное управление подавлением возмущений.
https://en.wikipedia.org/wiki/Active_disturbance_rejection_control?ysclid=mq552mjdq272501348
В вики модель другая.
TODO Разобраться в чем разница.
------------------------------------------------------
Plant (объект управления).
damping = 0.4
frequency = 7
Plant(s) = (frequency^2) / ( s^2 + 2*damping*frequency*s + frequency^2 )
49
Plant(s) = ------------------
s^2 + 5.6*s + 49
------------------------------------------------------
PID controller (настраивается на объект управления).
P=9.3
I=22.5
D=0.9
N=96.7
I N
PID(s) = P + --- + D*-------
s 1+N/s
Ts = 0.001s Time_stop = 10s
------------------------------------------------------
LPF (фильтр низких частот)
damping = 0.8
frequency = 180
LPF(s) = (frequency^2) / ( s^2 + 2*damping*frequency*s + frequency^2 )
32400
LPF(s) = ---------------------
s^2 + 288*s + 32400
------------------------------------------------------
Передаточная функция компенсатора колебаний по каналу возмущения.
W(s) = LPF(s) * inv(Plant(s))
32400 s^2 + 5.6*s + 49
W(s) = --------------------- * ------------------
s^2 + 288*s + 32400 49
32400*s^2 + 181440*s + 1587600
W(s) = ------------------------------------
49*s^2 + 14112*s + 1587600
------------------------------------------------------
Ошибка регулирования.
+----+ +--+ +----+
| SP |->-|+ |->-| ER |
+----+ | | +----+
| |
+----+ | |
| PV |->-|- |
+----+ +--+
ПИД- регулятор с вычитанием сигнала компенсации колебаний по каналу возмущения.
+----+ +-----+ +--+ +----+
| ER |->-| PID |->-|+ |->-| MW |
+----+ +-----+ | | +----+
| |
+-------------+ | |
| COMPENSATOR |->-|- |
+-------------+ +--+
Модель объекта управления с синусоидальной помехой по каналу возмущения.
+----+ +--+ +----------+ +----+
| MW |->-|+ |->-| Plant(s) |->-| PV |
+----+ | | +----------+ +----+
| |
+-------------+ | |
| NOISE 0.6Hz |->-|+ |
+-------------+ +--+
Сигнал компенсации колебаний по каналу возмущения.
+----+ +--------+ +--+ +-------------+
| MV |->-| LPF(s) |->-|- |->-| COMPENSATOR |
+----+ +--------+ | | +-------------+
| |
+----+ +--------+ | |
| PV |->-| W(s) |->-|+ |
+----+ +--------+ +--+
------------------------------------------------------
TODO Реализовать LPF(s) и W(s)
Вариант 1: s == p == d/dt
Вариант 2: Декомпозировать передаточные функции на интеграторы 1/s
Потом залить две модельки на стмку с компенсатором и без компенсатора.
------------------------------------------------------
*/