Professional Documents
Culture Documents
N TT NGHIP
THIT K V THI CNG B IU KHIN T CHNH
DNG T CC IU KHIN L NHIT
TPHCM, 4/2010
Li gii thiu
S pht trin nh v bo ca khoa hc cng ngh th k XX to nn
s thay i su rng ton din trn nhiu lnh vc ca sn xut vt cht cng nh
ca i sng nhn loi. V th k XXI, chng ta vn chng kin s pht trin y
tng ngy. Mt nn sn xut pht trin lun t ra yu cu v ngun nhn lc v
nhn cng. Vic ng dng nhng thnh tu sng kin ca chuyn ngnh t ng
lun mang tnh thi i. iu khin t ng tri qua qu trnh hn mt na th k,
xut pht t nhng l thuyt kinh in tin dn n l thuyt hin i ti u v
ngy cng thng minh, mt qu trnh nhn thc c tm quan trng ca
vic t ng ha trong qu trnh sn xut cng nh i vi nhng nhu cu c bn
hng ngy ca con ngi trong cuc sng m con ngi khng ngng chy ua
vi thi gian. Trn thc t, ty vo chng loi, c tnh ca thit b c iu
khin v trnh ng dng m con ngi c th tn dng phng php iu khin
thch hp nht kt hp vi cc thut ton thng minh. iu khin l nhit l mt
kha cnh v ng dng. Thi gian va qua, c nhiu thit k b iu khin cho
thit b ny nh l: PID, logic m v.v. Vi n tt nghip ny, em xin c
thc hin vic tm hiu l thuyt cng nh thit k v thi cng h thng l nhit
thc t dng b iu khin t chnh dng t cc cng nh m phng s vn hnh
bng phm mm Matlab.
Li cm n
n tt nghip ny c thc hin khng ch da vo s n lc ca bn
thn m cn nh vo s hng dn chia s nhit tnh ca thy gio. Nhn y, ti
xin gi li cm n chn thnh n thy Hunh Minh Ngc - ngi trc tip hng
dn - v s hng dn v trao i hc thut, n thy Nguyn c Hong - mt
ging vin tr, ti thy ch nhim b mn v cc thy c ca khoa v cho ti
hnh trang kin thc. Cm n cc bn ng mn. Cui cng l li cm n gia nh
ng vin v to mi iu kin tt nht cho ti trn con ng tm hnh trang
tri thc.
TPHCM, 4/2010
Nguyn Hng Thnh
Mc lc
Li m u ...............................................................................................................8
PHN A: C S L THUYT ..............................................................................9
Chng 1: Gii thiu .............................................................................................10
1.1 nh ngha iu khin thch nghi .....................................................................10
1.2 Phn loi h thng iu khin thch nghi .........................................................11
1.2.1 B iu khin thch nghi da vo phng php heuristic ............................12
1.2.2 H thng thch nghi m hnh tham chiu (MRAS) .......................................12
1.2.3 B iu khin t chnh (STR) .......................................................................13
1.2.3.1 Cu trc thut ton b iu khin t chnh ................................................14
1.2.3.2 Lch s pht trin b iu khin t chnh ..................................................17
1.3 Tm tt .............................................................................................................18
Chng 2: c lng trc tuyn tham s h thng ..............................................19
2.1 Gii thiu .........................................................................................................19
2.2 Cc loi cu trc m hnh ................................................................................19
2.3 Phng php bnh phng cc tiu quy m rng .......................................21
2.3.1 Phng php bnh phng cc tiu quy thun ty ..................................22
2.3.2 Phng php bnh phng cc tiu quy vi Exponential forgetting .......23
2.4 S kch thch lin tc .......................................................................................25
2.4.1 V d ..............................................................................................................25
2.4.2 nh ngha tn hiu kch thch lin tc ..........................................................25
2.4.3 V d v tn hiu kch thch lin tc ..............................................................26
2.4.4 Nhn dng trong vng kn .............................................................................28
2.5 Kt lun ............................................................................................................29
Chng 3: B iu khin t chnh (STR) v PID ..................................................30
3.1 B iu khin t chnh STR .............................................................................30
3.1.1 tng c bn ..............................................................................................30
3.1.2 B iu khin hai bc t do ..........................................................................31
3.1.3 Cc thut ton t cc ...................................................................................33
3.1.3.1 Thut ton 1 ...............................................................................................33
3.1.3.2 Thut ton 2 ...............................................................................................34
3.1.3.3 Thut ton 3 ...............................................................................................34
3.2 B iu khin PID ............................................................................................35
3.2.1 Gii thiu ......................................................................................................35
3.2.2 Phng php p ng qu ........................................................................36
3.3 Tm tt .............................................................................................................38
Chng 4: Nhn dng m hnh l nhit .................................................................39
4.1 Xc nh m hnh l nhit bng p ng nc ..................................................39
4.2 Tm tt .............................................................................................................40
Chng 5: Vi iu khin P89V51RD2 v giao tip ni tip vi PC .....................41
Li m u
Thi gian qua c rt nhiu ti c thc hin v iu khin l nhit vi
cc b iu khin khc nhau t kinh in cho n hin i. Trong iu khin kinh
in c cc b iu khin nh iu khin ON-OFF, iu khin PID cn trong iu
khin hin i c cc b iu khin nh iu khin m, m thch nghi, m lai,
tuy cc b iu khin ny cho kt qu tt nhng vic iu khin i hi nhiu
n lc. Chng hn nh khi s dng b iu khin PID th phi th sai nhiu. Cc
tham s ca b iu khin PID phi c iu chnh lin tc cho ti khi t c
kt qu nh mong mun. Cn khi s dng b iu khin m th i hi ngi thit
k phi c kinh nghim nhiu v i tng. Hn na khi thay i im lm vic
ca i tng hay thay i i tng th cht lng c th khc i hi phi thit
k li b iu khin. y l mt cng vic mt rt nhiu thi gian. B iu khin
t chnh dng t cc c th khc phc tt phn no nhng yu t bt li nu
trn.
Trong ti ny cc tham s ca i tng s c nhn dng trc tuyn.
Sau cc tham s ny s c s dng cho vic thit k b iu khin. Nh vy
khi i tng thay i th tham s b iu khin s thay i theo sao cho cht
lng cui cng l nh mong mun. chnh l tng cho vic thit k b iu
khin t chnh nh STR.
PHN A
C S L THUYT
10
Chng 1
Gii thiu
Chng ny c trnh by nh sau: phn 1.1 ni v nh ngha iu khin
thch nghi cng nh s khi tng qut ca h thng iu khin thch nghi trong
iu khin t ng. Phn loi h thng iu khin thch nghi c trnh by trong
phn 1.2 bao gm b iu khin thch nghi da vo phng php heuristic, h
thng thch nghi da vo m hnh tham chiu (MRAS) v b iu khin t
chnh nh (STR). V cui cng, phn 1.3 l kt lun ca chng ny.
1.1 nh ngha iu khin thch nghi:
Phn ln cc qu trnh gp trong cng nghip u c c tnh stochastic,
tc l ng ra ti thi im t khng th xc nh c t gi tr ti thi im t-1.
Cc b iu khin truyn thng vi tham s c nh thng khng thch hp i
vi cc qu trnh nh vy bi v tham s qu trnh thay i. Thay i tham s b
gy ra bi cc thay i trong qu trnh sn xut, trong bn cht ca vt liu, nhin
liu u vo, s dng my mc (hao mn),Cc b iu khin c nh khng th
gii quyt thay i ny. Mt phng n kh thi ci thin cht lng iu khin
cho cc qu trnh nh vy l s dng h thng iu khin thch nghi. i vi iu
khin t ng, ta c th nh ngha h thng iu khin thch nghi nh sau:
H thng iu khin thch nghi thay i tham s hay cu trc ca mt phn
h thng (b iu khin) theo s thay i tham s hay cu trc phn khc ca h
thng (h thng c iu khin) bng mt cch no sao cho ton b h thng
duy tr hnh vi ti u theo tiu chun cho, khng ph thuc vo bt k thay i
no c th xy ra.
S tng qut ca h thng iu khin thch nghi c trnh by Hnh
A1.1.
S thch nghi theo thay i tham s hay cu trc ca h thng, c bn c
th thc hin theo ba cch sau:
Chn la ph hp cc tham s iu chnh ca b iu khin.
Chn la cu trc b iu khin.
To ra tn hiu vo ph thch hp.
11
o c
Nhiu
Ng vo
H thng iu chnh
C cu thch nghi
Trng thi
Ng ra
Ch th o ca hnh vi
n v so snh
Ch th yu cu
12
13
14
15
16
17
Hnh A1.6: S khi b t chnh nh tng minh vi nhn dng trc tip
Hnh A1.7: S khi b nhn dng khng tng minh (vi nhn dng
gin tip)
1.2.3.2 Lch s pht trin b iu khin t chnh:
Sau y, xin trnh by ngn gn lch s pht trin ca b iu khin t
chnh tng minh. Phng php c s dng trong b iu khin t chnh ln
u tin c cp trong cng trnh ca Kalman nm 1958. ng ta thit k
mt my tnh ch dng nhn dng tham s ca m hnh qu trnh v sau tnh
ton lut iu khin s dng tiu chun bnh phng cc tiu. Bi ton ny c
lm sng li u thp nin 1970 bi cng trnh ca Peterka v strm v
Wittenmark v nhng ngi khc. Phng php ny pht trin mt cch ng
k t . B iu khin t chnh u tin c thit k cc tiu sai lch ng ra
h thng trong mt s bt li b loi b bng cc tiu tng qut, phng php
phn tn ng ra c pht trin bi Clark v Gawthrop. N c gi l phng
php n bc bi v ch mt mu ng ra qu trnh c xt n trong tiu chun
bnh phng. Mt nhc im ln l chng khng th iu khin qu trnh
18
19
Chng 2
c lng trc tuyn tham s h thng
Chng ny c trnh by nh sau: phn 2.1 nu ln l do cng nh cc
bc c lng trc tuyn tham s h thng. Cc loi cu trc m hnh c s
dng trong nhn dng c trnh by trong phn 2.2. Phn 2.3 trnh by hai
phng php c lng bnh phng cc tiu quy. nh ngha v mt s v d
v tn hiu kch thch lin tc c th hin trong phn 2.4. V cui cng, phn 2.5
l kt lun ca chng.
2.1 Gii thiu:
Trong nhiu ng dng, cu trc i tng (m hnh) c th bit, nhng
tham s ca n c th khng bit v thay i do thay i iu kin hot ng, tui
th thit b, Do , c lng ngoi tuyn (off-line) tham s l khng .
Cc s c lng trc tuyn l ni n cc s c lng cung cp
thng xuyn c lng tham s qu trnh bng x l d liu vo ra mt cch
trc tuyn. tng l so snh p ng h thng quan st y(k) vi ng ra m hnh
tham s ha (,k), m cu trc ca n ging vi cu trc m hnh qu trnh. Khi
, (k) c iu chnh lin tc sao cho (,k) tin gn n y(k) khi k tng. (Di
iu kin ng vo no , tin gn n y m ch rng (k) tin gn n *).
Do , th tc c lng tham s trc tuyn lin quan n 3 bc sau:
Bc1 : Chn ra mt m hnh tham s ha i tng ph hp.
Bc2 : Chn mt lut thch nghi to ra hoc cp nht (k).
Bc3 : Thit k ng vo i tng sao cho (k) tin gn n * khi
k.
Nhn xt: Trong iu khin thch nghi, s hi t ca (k) n *
thng khng phi l mt trong cc mc tiu, do hai bc u tin l quan
trng nht.
2.2 Cc loi cu trc m hnh:
Khi h thng khng th c m hnh bng vic s dng cc nguyn l vt
l. L do l thiu thng tin v h thng. Mt trng hp khc l khi cc mi quan
h vt l qu phc tp khng th lm sng t c. Phng php gii quyt vn
ny l s dng cc m hnh chun, m theo thc nghim c th x l nhiu
trng hp trong cc h thng ng hc. Loi ph bin nht trong cc m hnh
chun l cc h thng tuyn tnh.
M hnh ri rc tng qut tham s ha bi c th c vit li nh sau:
20
y ( k ) = G q 1, u ( k ) + H q 1, e ( k )
Trong :
q 1
(A2.1)
q 1 y ( k ) = y ( k 1)
G q 1,
( )
H ( q 1, )
:m hnh h thng
e(k )
:nhiu trng
:m hnh nhiu
A q 1 y ( k ) =
( )
B q 1
( ) u ( k ) + C ( q1 ) e ( k )
F ( q 1 )
D ( q 1 )
(A2.2)
Trong :
A q 1 = 1 + a q 1 + a q 2 + ... + ana q na
1
2
( )
B q 1 = b q 1 + b q 2 + ... + b q nb
1
2
nb
( )
Tn cu trc m hnh
FIR
ARX
ARMAX
OE
BJ
21
Phng php bnh phng cc tiu c s dng ph bin trong nhn dng
h thng. Nguyn l ca n l cc tham s cha bit ca m hnh ton hc c th
c chn bng cch ti thiu tng bnh phng sai s gia ng ra quan st vi
ng ra d bo vi trng s o mc chnh xc thch hp. Chun bnh phng
cc tiu l phng trnh bc hai, v vy nghim gii tch i vi bi ton bnh
phng cc tiu tn ti nu bin o tuyn tnh theo tham s cha bit.
Trong iu khin thch nghi, d liu c thu thp tun t. V vy thut
ton bnh phng cc tiu l ng c xt n. N tit kim thi gian tnh ton
bng cch s dng c lng ti thi im t-1 tnh c lng ti thi im t.
Xt qu trnh c m t nh sau:
A q 1 y ( k ) = q d B q 1 u ( k ) + C q 1 e ( k )
( )
( )
( )
(A2.3)
Trong :
A q 1 = 1 + a q 1 + a q 2 + ... + bna q na
1
2
B q 1 = b q 1 + b q 2 + ... + b q nb
1
2
nb
C q 1 = 1 + c q 1 + c q 2 + ... + cnc q nc
1
2
( )
( )
( )
y ( k ) = T e + e ( k )
k 1 k 1
Vi
(A2.4)
22
e = [ y , y
,..., y
,u
,u
,..., u
,
k 1
k 1 k 2
k na k d 1 k d 2
k d nb
T
e ,e
,..., e
]
k 1 k 2
k nc
c gi l vector tham s c lng.
k 1
e c gi l vector quy.
k 1
e
Nu
c sn th thut ton RLS c th c s dng c lng
k 1
quy . Thc t, tt c cc phn t ca e u bit ngoi tr nc phn t cui
k 1
cng. Trong RELS, cc phn t ny c thay bng sai s d bo trc:
= y T
k
Trong ,
k 1
k 1
=[ y
k 1 k 1
(A2.5)
,y
,..., y
,u
,u
,..., u
,
k 1 k 2
k na k d 1 k d 2
k d nb
,
,...
k 1 k 2
k nc ]
1 k
J = ( yi T )2
k 2 i=1
k i1
Vi:
( )
J =J
k
k k
Tm
sao cho J
min ?
(A2.6)
23
=
k
C T C
C =C
k 1 k 1 k 1 k 1
k
k 1 1 + T C
k 1 k 1 k 1
(A2.7)
(A2.8)
Thut ton RLS thun ty trn c th c gii thch mt cch trc quan
nh sau. c lng tm c bng cch cng s hng sai s d bo c trng
k
s y T
vo c lng trc
. S hng T
c th c
k k 1 k 1
k 1
k 1 k 1
coi nh gi tr ca y ti thi im k c d bo bi m hnh vi c lng
1
k
T
trc
. Ma trn i xng C c nh ngha l C =
k i=1 i1 i1
k 1
k
vi iu kin u C xc nh dng. Theo nh ngha ny d thy
0
1
1
1 k
T
T
C C + . Ch rng C c th gn
ty
i
1
i
1
k
k 0 i =1 i 1 i1
=
1
i
2
1 k k i
T
J =
yi
k 2 i=1
k i1
(A2.9)
24
( )
J =J
k
k k
=
k
C
k 1 k 1
y T
k 1 + T C
k k 1 k 1
k 1 k 1 k 1
+
C T C
k
1
k
1
k
1
k
C = C
k k 1 + T C
k 1 k 1 k 1
(A2.10)
(A2.11)
Nhn xt:
Trng s m m ch rng cc d liu c b chit gim theo hm m, to ra
kh nng bm theo cc thay i trong h thng bin i theo thi gian hoc phi
tuyn. Theo phng php ny d liu mi nht c trng s bng 1, trong khi d
liu trc k thi im c trng s k . Tham s c gi l h s forgetting (h
s qun) v thng c chn trong tm 0.95 < < 1. Vic la chn ph
thuc vo cc tnh cht ca h thng thay i nh th no. Gi tr cng nh dn
n qun cng nhanh, c th c s dng gii quyt cc h thng thay i
nhanh hoc phi tuyn. Ngc li, cc gi tr cng gn vi 1 th qun cng
chm v c th c s dng cho cc h thng thay i t t.
Kh khn tim n ca phng php bnh phng cc tiu quy vi
exponential forgetting l hin tng wind-up ma trn C. Nu cc vector quy
mang t hoc khng mang thng tin, tc l C 0 , t suy ra
k k
C C
/ . Do , khi khng c thng tin nhp vo b c lng trong mt
k
k 1
chu k di th vic chia cho mi bc s gy ra C tr nn rt ln, dn n
k
hnh vi tht thng ca cc c lng v c th trn s. Do , khi s dng
phng php ny cn phi cn thn. tng chnh l bo m C rng buc. C
k
rt nhiu cch thc hin iu ny nh thm mt tn hiu dither vo ng vo h
thng ngn thut ton khng xy hin tng wind-up ma trn C. Mt kh
25
nng khc l dng cp nht vector tham s v ma trn C khi C v/hoc e(k)
k k
nh, hoc reset ma trn C n mt ma trn xc nh dng c cho
2.4 S kch thch lin tc:
2.4.1 V d:
Xt i tng bc nht sau:
y ( k + 1) = ay ( k ) + bu ( k ) ,
y ( 0) = y
0
Hay
y=
b
u
q+a
k
y ( k ) = ( a ) y
0
khng mang thng tin v tham s b. Ngoi ra, nu y = 0 th y(k) 0
0
k 0 khng mang bt k thng tin no v tham s i tng. By gi nu chn
u(k) = c ( c l hng s khc khng) th
0 0
k
k
i 1
y ( k ) = ( a ) y + c b ( a )
0 0 i=1
mang y thng tin v a, b nu y 0 .
0
V d trn chng t rng c th c lng trc tuyn a, b, tn hiu ng
vo phi c chn sao cho y(k) mang y thng tin v a, b.
2.4.2 nh ngha tn hiu kch thch lin tc:
26
c (1)
Cn =
c ( n 1)
c (1)
c (0)
c ( n 1)
c ( n 2)
c ( n 2)
c (0)
(A2.12)
Trong
1 t
c ( k ) = lim u ( i )u ( i k )
t t i=1
nh l : Tn hiu u kch thch lin tc bc n nu v ch nu
1 t
lim
A( q) u (k ) > 0
t t i =1
(A2.13)
A ( q ) = a q n1 + a q n2 + ... + a
0
1
n1
Suy ra
1 t
lim
A(q) u (k )
t t i=1
1 t
= lim a u ( k + n 1) + ... + a u ( k )
n1
t t i=1 0
= aT Cn a
Trong ma trn Cn c cho (A2.12). Theo nh ngha, u kch thch
2
1 t
T
lin tc nn Cn xc nh dng a Cn a > 0a lim A ( q ) u ( k ) > 0 .
t t i=1
V d 1. Hm nc
Xt u(k) = 1 i vi t > 0 v bng 0 i vi t 0. Suy ra
1
( q 1) u ( k ) =
k =0
k 0
Do hm nc ti a c th l PE bc 1. Bi v
1 t
c ( 0 ) = lim u 2 ( i ) = 1
t t i =1
Suy ra
Cn = 1
L ma trn xc nh dng.
V d 2. Hm sine
Xt u(k) = sin(k). Suy ra
( q2 2q cos +1) u ( k ) = 0
Do hm sine ti a c th l PE bc 2. Bi v
1 t
c ( 0 ) = lim u 2 ( i )
t t i=1
1 t
= lim sin 2 (i )
t t i=1
1 t 1
= lim (1 cos ( 2i ) )
t t i=1 2
1 1
1 t
= lim cos ( 2i )
2 2 t t i=1
27
28
1
2
1 t
c (1) = lim u ( i )u ( i 1)
t t i=1
1 t
= lim sin (i ) sin ( ( i 1) )
t t i=1
1 t 1
= lim ( cos cos ( 2i 1) )
t t i =1 2
1
1
1 t
= cos lim cos ( ( 2i 1) )
2
2 t t i=1
1
= cos
2
Suy ra
cos
1 1
Cn =
2 cos
1
l ma trn xc nh dng
29
a = a + K
b = b +
30
Chng 3
B iu khin t chnh (STR) v PID
Chng ny trnh by v b iu khin STR bao gm tng c bn
ca b iu khin STR, b iu khin hai bc t do v cc thut ton t cc.
3.1 B iu khin t chnh STR :
3.1.1 tng c bn:
Trong h thng thch nghi, ngi ta gi s rng tham s iu khin c
iu chnh lin tc. iu ny c ngha l tham s iu khin thay i theo qu
trnh. Tuy nhin, vic phn tch cc tnh cht hi t v n nh i vi cc h
thng nh vy l kh. n gin bi ton, ngi ta gi s rng qu trnh c cc
tham s l hng s nhng khng bit. Khi bit c qu trnh, th tc thit k xc
nh mt tp hp cc tham s iu khin mong mun. B iu khin thch nghi
phi hi t v cc gi tr tham s ny ngay c khi qu trnh khng bit. B iu
khin vi tnh cht ny c gi l t chnh, bi v n tinh chnh b iu khin
n cht lng mong mun.
B iu khin t chnh (STR) da vo tng tch c lng tham s
cha bit ra khi thit k b iu khin. tng ny c minh ha Hnh A3.1.
Tham s cha bit c c lng trc tuyn, s dng cc phng php
c lng quy. Cc tham s c lng c coi nh ng, ngha l khng xt
n khng chc chn. iu ny c gi l Nguyn l Tng ng Chc
chn. Nhiu s c lng khc nhau c th c s dng, chng hn nh bnh
phng cc tiu, bnh phng cc tiu m rng, Cc phng php thit k c
th c s dng l thay i cc tiu, bnh phng tuyn tnh, t cc v
m hnh tham chiu. Phng php thit k c chn ph thuc vo yu cu
cht lng vng kn v iu khin thc t. Di y l b iu khin t chnh nh
t cc.
Khi c lng tng trng cho c lng trc tuyn tham s qu
trnh s dng cc thut ton bnh phng cc tiu. Khi Thit k tng trng
cho li gii trc tuyn i vi bi ton thit k cho h thng vi tham s bit.
y c gi l bi ton thit k c bn. Khi B iu khin tnh ton tn hiu
iu khin t cc tham s c tnh ton khi trc. i khi thut ton STR
c n gin bng cch tham s ha li v c lng trc tip cc tham s b
iu khin, khng cn phi c lng cc tham s qu trnh.
A q 1 y ( k ) = B q 1 u ( k ) + C q 1 e ( k )
( )
( )
( )
V b iu khin hai bc t do :
P q 1 u ( k ) = R q 1 w ( k ) Q q 1 y ( k )
( )
Trong :
( )
( )
31
32
P q 1 = p + p q 1 + p q 2 + ... + pnp q np
0 1
2
Q q 1 = q + q q 1 + q q 2 + ... + qnq q nq
0 1
2
R q 1 = r + r q 1 + r q 2 + ... + rnr q nr
0 1
2
( )
( )
( )
( )
( )
( )
( )
y (k ) =
BR
CP
w(k ) +
e(k )
AP + BQ
AP + BQ
B
ym ( k ) = m w ( k )
Am
T , ta c (gi s e(k)=0):
BR
=
AP + BQ
Bm
Am
B+ : cha cc zero n nh v b kh
B- : cha cc zero khng n nh v khng b kh
33
BR
=
AP + BQ
Bm
B+ B R
=
Am
AP + B + B Q
A Bm
0
A Am
0
Suy ra:
P = P B+
1
Do :
AP + B Q = A Am
1
0
iu kin b iu khin nhn qu:
deg ( Q ) deg ( P )
deg ( R ) deg ( P )
deg ( Am ) deg ( Bm ) deg ( A) deg ( B )
deg A 2deg ( A) deg B + deg ( Am ) 1
0
( )
( )
( )
( )
Bc 1. Phn tch B thnh : B = B+BBc 2. Gii phng trnh : AP1 + B-Q = A0Am
B
Bc 3. Tnh : P = P1B+ v R = m
A
B 0
Bc 4. Tnh lut iu khin P q 1 u ( k ) = R q 1 w ( k ) Q q 1 y ( k )
( )
( )
( )
( )
( )
( )
( )
( )
( )
Br ' A
BR
B
y (k ) =
w(k ) = 0 0 w( k ) = r'
w k
0 Am ( )
AP + BQ
Am A
0
ng ra bm theo ng vo trng thi xc lp th:
34
35
A ( q = 1)
r' = m
0
B ( q = 1)
Cch 2. tng nguyn l m hnh mi:
e(k ) = w(k ) y (k )
BR
= w(k )
w(k )
AP + BQ
BR
= 1
w(k )
D
Vi D = ama0
Gi F l a thc pht sinh ca w(k) , tc l Fw(k)=[0]
V d nu w(k) l hm nc th: F = 1 q 1
Cn nu w(k) l hm sine th: F = 1 2cos(T0 )q 1 + q 2
sai s xc lp bng 0, th D -BR = FS vi S l a thc bt k.
V
D BR
e(k ) =
w(k )
D
FS
S
=
w ( k ) = Fw ( k )
D
D
= [ 0]
36
G ( s) = K p +
Ki
+ Kd s
s
G (q 1 ) = K p +
K iT0 1 + q 1 K d
+
(1 q 1 )
2 1 q 1 T0
Di y l s b iu khin PID.
1k
d
u (k ) = K p e(k ) + e( s)ds + Td e(k )
Ti 0
dt
Trong :
u(k): tn hiu iu khin
e(k): l sai s c nh ngha e(k) = w(k) y(k)
w(k): l tn hiu t
y(k): l ng ra
3.2.2 Phng php p ng qu :
Nhiu m hnh cng nghip c p ng nc nh Hnh A3.4
37
k Ls
G (s) =
e
ZN
Ts + 1
Trong :
k l li tnh
L l thi gian tr
T l hng s thi gian
Ch :
a=k
L
T
38
Kp
Ti
1/a
0.9/a
3L
1.2/a
2L
Bng A3.1
Td
L/2
39
Chng 4
Nhn dng m hnh l nhit
4.1 Xc nh m hnh l nhit bng p ng nc:
S dng phng php p ng nc ca Ziegler-Nichols, ta thu c
hm truyn ca l nhit nh sau:
k Ls
G (s) =
e
ZN
Ts + 1
40
k
GZN ( s ) =
(Ts + 1)( Ls + 1)
GZN ( s ) =
78
G (s) =
ZN
37320 s 2 + 682 s + 1
4.2 Tm tt:
Trong chng ny, m hnh l nhit c nhn dng. M hnh ny s c
dng m phng s hot ng ca b iu khin.
41
Chng 5
Vi iu khin 89V51RD2 v giao tip
ni tip vi PC
5.1 Vi iu khin 89V51RD2
5.1.1 Khi qut chung:
CPU 8051
Hot ng 5Vdc trong tm tn s dao ng n 40MHz.
16/32/64 KB b nh chng trnh trn chip vi tnh nng ISP (InSystem Programming) v IAP (In-Application Programming).
S dng ch 12 chu k xung nhp (mc nh) hoc 6 chu k xung
nhp c chn bng phn mm hoc ISP.
SPI (Serial Peripheral Interface) v tng cng UART.
C 5 PCA (Programmable Counter Array) vi chc nng
PWM/Capture/Compare 16 bit.
C 4 port I/O 8 bit: 3 port c dng ln (16mA trn mi chn)
C 3 Timer/Counter 16 bit.
Watchdog Timer c th lp trnh c.
C 8 ngun ngt vi 4 mc u tin.
C 2 thanh ghi DPTR.
Ch IEM mc thp.
Thch hp mc logic ca TTL v CMOS.
Pht hin ngun yu.
Ch ngun gim.
42
43
44
45
46
47
48
1
CPS0
0
ECF
1
CCF1
0
CCF0
49
3
2
1
0
mm.
CCF3 C ngt module 3. c gn mc 1 bi phn cng khi mt
match hoc mt capture xy ra. Phi xa bit ny bng phn
mm.
CCF2 C ngt module 2. c gn mc 1 bi phn cng khi mt
match hoc mt capture xy ra. Phi xa bit ny bng phn
mm.
CCF1 C ngt module 1. c gn mc 1 bi phn cng khi mt
match hoc mt capture xy ra. Phi xa bit ny bng phn
mm.
CCF0 C ngt module 0. c gn mc 1 bi phn cng khi mt
match hoc mt capture xy ra. Phi xa bit ny bng phn
mm.
Bng A5.6: Thanh ghi compare/capture CCAPMn ca cc module trong
PCA
Bit
Tn
Bit
7
6
5
4
3
2
1
0
7
-
6
5
4
3
ECOMn CAPPn CAPNn MATn
2
TOGn
1
0
PWMn ECCFn
ECCFn
0
X
X
Module function
Khng vn hnh
Capture 16 bit c kch
khi cnh dng ti chn
ECXn
Capture 16 bit c kch
50
1
1
1
0
0
0
0
0
0
1
0
1
1
0
X
0
1
0
X
0
X
51
52
53
thay i ty bng cch s dng thanh ghi capture CCAPnL ca module. Khi gi
tr ca thanh ghi CL cha t ti gi tr ca thanh gi CCAPnL trong module, ng
ra ti chn CEXn s gi mc thp, cn nu bng hoc ln hn th s mc cao. Khi
gi tr ca CL trn t FF v 00, gi tr ca thanh ghi CCAPnL c np li vo
thanh ghi CCAPnH. Tc ng va nu lm cho vic iu rng xung din ra lin
tc. Cc bit PWM v ECOM trong thanh ghi CCAPMn ca module phi c
gn mc 1 cho php ch iu rng xung.
5.1.3.5 B nh thi Watchdog PCA:
Mt b nh thi watchdog c tch hp sn trong PCA nhm ci thin
tnh n nh ca h thng m khng cn tng s m ca chip. B nh thi
watchdog thch hp vi cc h thng d b nhiu, ngun cung cp khng n nh,
c tnh in. Ngi dng ch c th lp trnh cho module 4 ca PCA lm b nh
thi watchdog. Hnh
trnh by s v c ch hot ng ca watchdog.
Ngi dng s np trc gi tr 16 bit vo thanh ghi compare. Cng ging nh cc
ch compare khc, gi tr 16 bit trong thanh ghi compare c em so snh vi
gi tr ca timer PCA. Nu hai gi tr bng nhau s xy ra s xc lp li t u. S
xc lp li t u nh va nu khng lm chn RESET ca chip ln mc 1.
5.2 Giao tip ni tip vi PC:
C th giao tip vi iu khin v my tnh thng qua cc cng: COM, LPT,
USB, PCI . Trong ti ny s bn v giao tip qua cng COM.
Cng ni tip RS232 l mt giao din ph bin rng ri nht. Ngi ta cn
gi cng ny l cng COM1, cn cng COM2 t do cho cc ng dng khc.
Ging nh cng my in cng COM cng c s dng mt cch thun tin cho
vic giao tip vi thit b ngoi vi.
Vic truyn d liu qua cng COM c tin hnh theo cch ni tip.
Ngha l cc bit d liu c truyn i ni tip nhau trn mt ng dn. Loi
truyn ny c kh nng dng cho nhng ng dng c yu cu truyn khong cch
ln hn, bi v cc kh nng gy nhiu l nh ng k hn khi dng mt cng
song song (cng my in).
54
55
56
Chng 6
Gii thiu v phn mm matlab v cc cng c:
simulink, plottools, serial-port,
Matlab l mt mi trng tnh ton s v lp trnh, c thit k bi cng
ty MathWorks. Matlab cho php tnh ton s vi ma trn, v th hm s hay
biu thng tin, thc hin thut ton, m phng s vn hnh ca cc h thng
iu khin t ng, to cc giao din ngi dng v lin kt vi nhng chng
trnh my tnh vit trn nhiu ngn ng lp trnh khc.
6.1 Cng c Plottools v th:
Plottools l mt mt phn ca phn mm Matlab, mt mi trng
tng tc cho php ngi dng:
To cc kiu th khc nhau.
Lin kt trc tip vi cc bin phn Workspace v
th.
To v thao tc vi nhiu th trong cng mt Figure mt
cch d dng.
Thm vo th cc ch thch nh du mi tn, vn bn,
v.v
Ci t cc thuc tnh cho th.
Tin hnh s dng Plottools:
Ti ca s Command window ca giao din Matlab, g vo
dng lnh plottools. Hoc bn c th vo
Start/Matlab/Plottools m ca s v th.
57
58
Simulink ti ca s
theo ng dn
6.4 Gii thiu v giao tip ni tip gia Matlab vi thit b ngoi vi qua cng
COM:
Cc lnh dng cho vic giao tip:
Instrcallback: Thng tin v s kin khi mt s kin xy ra.
59
60
PHN B
THIT K V THI CNG
Chng 1
Thit k phn cng
1.1 S khi phn cng:
PC
MAX232
VDK P89V51RB2
Mch ADC
AC110V
Cm bin nhit
in tr t nng
61
62
63
64
65
66
Kch hot chn ALE (Address Latch Enable) cho php cht a ch. Cn
cp mt xung thp ln cao cht a ch.
Sau khi kch xung START th b chuyn i bt u hot ng cnh
xung ca xung START, ng ra EOC (End Of Conversion) s xung mc thp sau
khong 8 xung clock tnh t cnh xung cu xung START. Lc ny bt c trng s
ln nht (MSB) c t ln mc 1, tt c cc bit cn li xung mc 0, ng thi
to gi tr in th Vref/2, in th ny c so snh vi in th vo Vin.
Nu Vin>Vref/2 th bit MSB vn mc 1.
Nu Vin<Vref/2 th bit MSB xung mc 1.
Tng t nh vy bit k tip MSB c t ln 1 v to ra in th c gi
tr Vref/4 v cng so snh vi in p ng vo Vin. Qu trnh c tip tc cho n
khi xc nh c bit cui cng. Khi chn EOC ln mc 1 bo cho bit qu
trnh chuyn i hon tt. c c d liu th set bit OE (Output Enable)
ln mc 1. Trong qu trnh chuyn i khi c xung START tc ng th ADC s
ngng chuyn i.
Cc bit A2A1A0 nh a ch cng vo tng t theo bng sau:
A2
A1
A0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
Ng vo c
chn
IN1
IN2
IN3
IN4
IN5
67
0
1
IN6
1
0
IN7
1
1
IN8
Bng B1.1: Ng vo analog tng ng vi gi tr A1A0
Mch cp xung ng h cho ADC0809:
Chng 2
Lu gii thut
2.1 Lu gii thut chng trnh cho vi iu khin:
START
C ngt T0
ALE tch cc
START tch cc
OE tch cc
Ch EOC ln mc tch cc hon tt chuyn i ADC
68
69
SBUF = #253
STOP
SBUF = #255
LINK
Gi m #255 ln PC
SBUF = #254
RUN
SBUF=252
SAMPLE
S
SAMPLE=1
- SAMPLE = 1.
- Gi m #252 ln PC.
- Nhn T0 do PC gi
xung.
- Gi m #251 ln PC.
- SAMPLE=0.
State=ON
CCAP4H=SBUF
END
70
Hnh B2.4: Trng thi ban u khi m giao din chy thc
71
Nhn nt START
- Np vo cc thng s c nh
cho b iu khin.
- Gi m #252 xung VDK.
Xy ra s kin
TimerFcn
Hy s kin TimerFcn
Thng bo KHNG TH
KT NI PC V VDK
Nhn c m
#252
Gi gi tr thi gian ly mu
Xy ra s kin
TimerFcn
Hy s kin TimerFcn
Thng bo KHNG TH
KT NI PC V VDK
Nhn c m
#251
Gi m #254
Lm m nt START.
Lm sng nt STOP.
72
Xy ra s kin
ByteAvailableFcn
73
74
Nhn LINK
M cng COM
Gi m #255
Khi to s kin TimerFcn
Xy ra s kin
TimerFcn
S
Hy s kin TimerFcn
Thng bo
KHNG TH KT
NI PC V VDK
Nhn c m
#255
S
Hin thng bo KT NI
THNH CNG.
Lm m nt LINK, lm
sng nt START.
75
Nhn STOP
Hy s kin ByteAvailableFcn
Gi m #253
Thit lp s kin TimerFcn
Xy ra s kin
TimerFcn
S
Hy s kin TimerFcn
Thng bo KHNG
TH KT NI PC V
VDK
Nhn c m
#253
S
ng cng COM
Thng bo H THNG L NHIT
NGNG VN HNH HNH
-
Lm sng nt LINK.
Lm m nt STOP.
Hinh B2.8: Trng thi khi nhn nt NGNG
Chng 3
Kt qu thi cng
Giao din ngi dng:
76
77
78
79
80
81
82
83
84
PHN C
KT LUN
85
86
Kt lun
Vi n Thit k v thi cng b iu khin t chnh dng thut ton t
cc iu khin l nhit, ti c mt s tri nghim thit thc tha nim am
m iu khin hc trong qung thi gian sinh vin. Sau y xin c s lc li
ton b qu trnh thc hin ti, nhng kt qu t c cng nh hn ch v
hng pht trin ti.
I. L thuyt:
V c s l thuyt:
L thuyt v iu khin thch nghi, c lng tham s trc tuyn, b iu
khin t chnh STR, cc thut ton t cc v b iu khin PID c trnh
by.
M hnh l nhit thc t c nhn dng bng phng php p ng
nc. y chnh l m hnh c dng m phng s vn hnh cho b iu khin
STR cng nh b iu khin PID.
Tm hiu v khai thc c th mnh ca phn mm Matlab trong tnh ton
phc tp cng nh cc cng c h tr. Nhn thy c mt hn ch ca Matlab
trong vic truyn nhn d liu ni tip. Simulink l mt hp cng c m phng a
nng v cho kt qu nhanh. Plottools cung cp giao din th d s dng, thch
hp cho cc ng dng iu khin c gim st. GUIDE cng cho php thit k giao
din d dng.
Vic lp trnh cho vi iu khin tr nn n gin hn vi phn mm Keil C.
Trong n ny khng cp n phn mm Keil C, bn c c th tham kho
da vo mc ti liu tham kho cui chng.
V ng dng phn cng:
Tng bc tm hiu v ng dng tnh nng mi ni bt ca vi iu khin
P89V51RD2 chc nng PCA, ng dng cm bin nhit LM35 o nhit .
ng dng IC ADC0809 chuyn i tn hiu tng t sang nh phn, c th l
tn hiu nhit , ng dng IC 7414 to xung cho IC ADC0809. ng dng IC
MAX232 truyn nhn tn hiu gia PC v vi iu khin thng qua vic chuyn
i mc din p tng thch.
II. Kt qu thi cng: gm kt qu thu c cng nh mt hn ch.
B iu khin t chnh STR:
Khi m phng: b iu khin STR cho kt qu rt tt.
87
Khi iu khin chy thc: Trong iu kin nhiu t, b iu khin STR thc
hin c lng tham s v tnh ton tn hiu iu khin rt tt, do c tuyn
nhit ng ra rt tt. Khi vo trng thi xc lp, b iu khin phn ng vi
nhiu rt tt. Tuy nhin, vic c lng tham s gp phi kh khn trong thi gian
ln khi c nhiu nhiu, dn n mt nhn dng. Nhc im ny c th khc phc
c nu s dng mt b lc nhiu c cc thng s ph hp. Kh khn na l ch
c th vit thut ton ny cho PC hoc chip iu khin c b nh ln tnh ton
nhanh v s phc tp ca thut ton. Ngoi ra, cha chng minh c s hi t
ca cc tham s c c lng.
Nhn tin y, xin c cp n mt kt qu t c khc vi ti
cng tn c trnh by ti Hi ngh quc t chuyn v k thut in in t
ca hai tc gi Nguyn c Hong v Bi Thanh Huyn. Hai tc gi ny s dng
thit b giao tip my tnh l card giao tip PCL-818L v cng c RealTimeWorkshop, XpcTarget, kt qu vn hnh l rt tt. Trong n ny, ti dng VDK
P89V51RB2, IC ADC0809, IC MAX232 v cc cng c Serialport, Plottools
giao tip. Kt qu vn hnh c th chp nhn c gn nh mong mun. iu ny
mt ln na cho thy b iu khin t chnh dng t cc vn hnh tt khi iu
khin i tng c tham s thay i chm l l nhit v c kh nng ng dng
thc t.
88
89
Ph lc
Chng trnh vit cho vi iu khin:
/////khai bao thu vien/////
#include "P89V51Rx2.h"
#include <stdio.h>
/////khai bao cac bien/////
int buffer_receive;
int nhiet_do_do;
int so_lan_ngat_T0;
int thoi_gian_lay_mau;
bit trang_thai;
bit nhan_tan_so_lay_mau;
/////khai bao cac chan/////
sbit START_ALE = P3^6;
sbit OE_PIN = P2^1;
sbit EOC_PIN = P2^0;
/////chuong trinh ngat port noi tiep de nhan lenh cung nhu gia tri...
/////dieu rong xung tu PC gui xuong/////
void ngattruyen() interrupt 4
{
if (RI==1)
{
buffer_receive=SBUF;
/////////////////////////////////////////////////////////////////////////////////
if (buffer_receive==253) //nhan duoc ma STOP
{
trang_thai=0;
CCAP4H=0;
so_lan_ngat_T0=0;
/////////////
ET0=0;
TR0=0;
/////////////
TI=0;
SBUF=253;
while(!TI);
}
/////////////////////////////////////////////////////////////////////////////////
else if (buffer_receive==255)
//nhan duoc ma kiem tra ket noi
{
90
TI=0;
SBUF=255;
while(!TI);
}
/////////////////////////////////////////////////////////////////////////////////
else if (buffer_receive==254)
//nhan duoc ma RUN
{
trang_thai=1;
ET0=1;
TR0=1;
}
/////////////////////////////////////////////////////////////////////////////////
else if (buffer_receive==252)
//nhan duoc ma luu lai thoi
gian lay mau do PC gui xuong
{
nhan_tan_so_lay_mau=1;
TI=0;
SBUF=252;
//VDK bao hieu dang san sang nhan thoi
while(!TI);
gian lay mau do PC gui xuong
}
/////////////////////////////////////////////////////////////////////////////////
else if (nhan_tan_so_lay_mau==1)
//he thong dang nhan thoi
gian lay mau do PC gui xuong
{
thoi_gian_lay_mau=buffer_receive;
nhan_tan_so_lay_mau=0;
//VDK da nhan xong thoi gian
lay mau
TI=0;
SBUF=251;
while(!TI);
//VDK bao hieu da nhan xong thoi gian
lay mau
}
/////////////////////////////////////////////////////////////////////////////////
else if (trang_thai==1)
//he thong dang van hanh
{
CCAP4H=buffer_receive;
}
/////////////////////////////////////////////////////////////////////////////////
RI=0;
TI=0;
}
}
91
92
Chng trnh vit trn m-files cho phn chy thc x l trn
Matlab:
kiem_tra_ket_noi.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%CHUONG TRINH THUC HIEN VIEC KIEM TRA KET NOI GIUA PC
%%VA VDK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%ma kiem tra ket noi: 255
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%ten doi tuong cong noi tiep: 'com_port'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%tao moi doi tuong cong COM co ten la com_port
com_port=serial('COM4');
%%cau hinh cho thuoc tinh timeout la 0s
com_port.timeout=10;
%%mo cong COM
fopen(com_port);
%%gui ma kiem tra ket noi 255 xuong VDK
com_port.timeout=0.5;
fwrite(com_port,255);
%%cau hinh cho thoi gian timer va su kien timer
com_port.TimerPeriod=1;
com_port.TimerFcn='timer_event';
%%END%%
93
van_hanh.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%CHUONG TRINH KHOI TAO CAC BIEN CHO VIEC VAN HANH STR
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%ma van hanh (START) la 254
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%tien hanh khoi tao cac gia tri ban dau cho chuong
%%trinh phuc vu viec nhan dang va dieu khien
%%he thong lo nhiet
%%dong cong COM
fclose(com_port);
%%vo hieu hoa nut VAN HANH, cho phep nut NGUNG
set(findobj(STR_REALTIME_GUIDE,'Tag','vanhanh'),...
'Enable','off');
set(findobj(STR_REALTIME_GUIDE,'Tag','ngung'),...
'Enable','on');
%%lay gia tri T0 tu giao dien GUIDE
T0 = str2num(get(findobj(STR_REALTIME_GUIDE,'Tag','T0'),...
'string'));
%%xu ly thoi gian lay mau, sample_time la he so nhan
%%voi thoi gian 0.05s cua VDK de co duoc T0
sample_time = (T0*1000)/50;
%%lay gia tri nhiet do dat tu giao dien GUIDE
wk1 = str2num(get(findobj(STR_REALTIME_GUIDE,'Tag',...
'NhietDoDat'),'string'));
wk=wk1;
%%khoi tao gia tri cua vector tham so doi tuong
%%Theta=[a1;a2;a3;b1;b2;b3]
Theta=[0.1;0.2;0.3;0.4;0.5;0.6];
%%khoi tao gia tri cua vector de quy
%%PHI=[yk1;yk2;yk3;uk2;uk3;uk4]
PHI=[0;0;0;0;0;0];
%khoi tao gia tri ban dau cua ma tran C
C=1e9*eye(6);
%khoi tao gia tri he so tat xi
xi=0.85;
%khoi tao gia tri tan so dao dong tu nhien omega
omega=0.02;
am2=exp(-2*xi*omega*T0);
am1=-2*exp(-xi*omega*T0)*cos(omega*T0*(sqrt(1-xi*xi)));
end
d0=1;
d1=am1;
94
95
96
a3=Theta(3);
b1=Theta(4);
b2=Theta(5);
b3=Theta(6);
%%tinh R
r0 = (d0+d1+d2+d3+d4+d5)/(b1+b2+b3);
%%luu lai tin hieu dieu khien
uk4=uk3;
uk3=uk2;
uk2=uk1;
uk1=uk;
%%tinh P va Q
%%P=[p0 p1 p2], Q=[q0 q1 q2]
p0 = d0;
p1 = (-2*d0*a3*b2*b3*a1*b1-b1*d2*b3*a2*b2... +2*d1*b1*a3*b2*b3d0*b1*a3*a2*b2^2...
+d0*b3*b2*a2^2*b1-d0*b3*a2*a1*b2^2+d1*b3^3...
-d1*a3*b2^3-d0*a1*b3^3+b1^2*d3*b3*a2-b1^2*d3*a3*b2... +b1*d2*a3*b2^2b1^2*d2*b3*a3+ b1*d2*b3^2*a1... +d1*b2^2*b3*a2-d1*b3^2*a2*b1d1*b2*b3^2*a1... +d0*b1^2*a3^2*b2-b1^3*d5*a2+d0*a3*a1*b2^3...
-b1*d5*b2^2+b1^2*d5*b3+d0*b1*b3^2*a3+b1^3*d4*a3...
+d0*b3^2*a1^2*b2-b1*d3*b3^2+b1^2*d5*a1*b2...
-b1^2*d4*b3*a1+b1*d4*b3*b2)/(-a3*b2^3+b2^2*a3*a1*b1...
+b2^2*b3*a2-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1
-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...
+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);
p2 = (-b3^3*d0*a2-d5*b2^3-d5*b1^2*a2*b2...
+d5*a1*b1*b2^2-d5*b1^2*a1*b3+2*d5*b3*b1*b2...
-b3*d4*a1*b1*b2+b3*d4*b1^2*a2-b3*d3*b1^2*a3... +b3^2*d3*a1*b1b3^2*d2*a2*b1-b3*d1*a3*b2^2...
+b3^2*d1*a3*b1+b3^2*d1*a2*b2+b3*d2*b1*a3*b2...
+b3*d0*a3^2*b1^2+b3^3*d2-b3*d0*a3*b2*a2*b1 ...
+b3*d0*b2^2*a1*a3+b3^2*d0*a2^2*b1-2*b3^2*d0*a3*a1*b1...
-b3^2*d0*b2*a2*a1+b3^2*d0*a3*b2-b3^2*d4*b1...
-b3^2*d3*b2-b3^3*d1*a1+b3^3*d0*a1^2+d5*b1^3*a3...
+b3*d4*b2^2)/(-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2...
-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...
-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...
+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);
q0 = (-d0*a3*b3^2-d0*b3^2*a1^3-d0*a3^2*b1*b2...
97
-d0*a3^2*b1^2*a1-d5*a1*b1*b2-d3*b3*a2*b1... +d4*b3*a1*b1+d3*b1*a3*b2d4*b3*b2+d2*b3*a2*b2...
+d2*b3*a3*b1-d2*a3*b2^2-d1*a3*b2*a2*b1 ...
-d2*b3^2*a1+d1*b2^2*a1*a3+d1*a3^2*b1^2+d1*a3*b2*b3 ...
-2*d1*a3*a1*b1*b3-d1*b3*b2*a2*a1+d1*b3*a2^2*b1 ...
+d0*b2*a1*a2*b1*a3-d0*b3*a1*b1*a2^2+d1*b3^2*a1^2...
+d0*b2^2*a3*a2-d0*b2^2*a1^2*a3-d1*b3^2*a2... +2*d0*a3*b3*a1^2*b1d4*b1^2*a3+d0*b3*b2*a2*a1^2...
-d5*b1*b3-d0*a3*a1*b3*b2+2*d0*b3^2*a2*a1...
-d0*b3*b2*a2^2+d5*b1^2*a2+d3*b3^2+d5*b2^2)/ ...
(-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2-b1^2*a3*a2*b2 +3*b1*a3*b2*b3b2*b3^2*a1-b2*b3*a2*a1*b1+a3^2*b1^3 ...
-2*a3*a1*b1^2*b3+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3...
-2*b3^2*a2*b1);
q1 = (d4*b3^2+d0*a3*b3^2*a1+d0*b3^2*a2^2-d1*a3*b3^2... +d0*a3^2*b2^2d5*b1^2*a3+d5*a1*b1^2*a2-d5*a1^2*b1*b2...
+d4*b3*a1^2*b1-d4*b3*a1*b2-d4*b3*a2*b1-d4*a3*a1*b1^2...
+d4*b1*a3*b2+d3*b3*a2*b2+d3*b3*a3*b1+d5*a1*b2^2 ...
-d3*b3*a2*a1*b1+d3*b2*a3*a1*b1-d2*a3*b2*a2*b1... +d2*b3*a2^2*b1d2*a3*a1*b1*b3+d2*a3*b2*b3...
-d1*a3^2*b1*b2+d1*b2^2*a3*a2-d5*b3*b2-d1*b3*b2*a2^2...
-d2*b3^2*a2+d1*b3^2*a2*a1-d0*a3^2*b1^2*a2...
+2*d0*a3*b3*a2*a1*b1+d0*b2*a3*a2^2*b1-d0*b3*a2^3*b1...
-d0*b2^2*a2*a1*a3-d0*a3^2*b1*b3-d3*a3*b2^2... +d0*b3*b2*a2^2*a12*d0*b3*a3*a2*b2+d2*a3^2*b1^2...
-d0*b3^2*a2*a1^2)/(-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2...
-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...
-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...
+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);
q2 = (d5*b1*a3*b2-d5*b2*a2*a1*b1+d4*a3*a1*b1*b2...
-d3*a3*b3*a1*b1+d2*a3*b3*a2*b1-d1*a3*b3*a2*b2... +d0*a3^2*b2*a2*b1d0*a3*b3*a2^2*b1...
+2*d0*a3^2*a1*b1*b3+d0*a3*b3*b2*a2*a1 ...
+d5*b3^2+d3*a3^2*b1^2-d2*a3*b3^2+d1*a3^2*b2^2 ...
-d0*a3^3*b1^2+d5*b1^2*a2^2+d5*a2*b2^2-d4*a3*b2^2 ...
-d2*a3^2*b1*b2-d1*a3^2*b3*b1+d1*a3*b3^2*a1...
-d0*a3^2*b2^2*a1-d0*a3^2*b2*b3-d0*a3*b3^2*a1^2... +d0*a3*b3^2*a22*d5*b3*a2*b1+d5*b3*a1^2*b1...
-d5*a3*a1*b1^2-d5*b3*a1*b2-d4*a3*b1^2*a2...
+d4*a3*b1*b3+d3*a3*b3*b2)/(-a3*b2^3+b2^2*a3*a1*b1... +b2^2*b3*a2b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...
98
-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...
+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);
%%TINH TOAN TIN HIEU DIEU KHIEN
%%luat dieu khien: P*U(k) = R*Wk) - P*Y(k)
uk=r0*wk-q0*yk-q1*yk1-q2*yk2-p1*uk1-p2*uk2;
%%khau bao hoa
if (uk>250)
uk=250;
elseif (uk<0)
uk=0;
end
%%lam tron uk tro thanh so nguyen
uk=round(uk)
%%luu lai tin hieu nhiet do
yk3=yk2;
yk2=yk1;
yk1=yk;
%%xu ly cac chuc nang ngoai tinh toan
if (STOP==1)
fwrite(com_port,253);
com_port.BytesAvailableFcn='';
com_port.TimerPeriod=1;
com_port.TimerFcn='timer_event';
else
fwrite(com_port,uk);
nhietdodat(thoigian)=wk;
bieudonhietdo(thoigian)=yk;
bieudodieukhien(thoigian)=uk;
a1_para(thoigian)=a1;
a2_para(thoigian)=a2;
a3_para(thoigian)=a3;
b1_para(thoigian)=b1;
b2_para(thoigian)=b2;
b3_para(thoigian)=b3;
thoigian=thoigian+1;
if (thoigian>900)
STOP=1;
end
end
%%END%%
van_hanh_pid.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99
%%CHUONG TRINH KHOI TAO CAC BIEN CHO VIEC VAN HANH
%%CUA PID
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%ma van hanh (START) la 254
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%tien hanh khoi tao cac gia tri ban dau cho chuong
%%trinh phuc vu viec nhan dang va dieu khien
%%he thong lo nhiet
%%dong cong COM
fclose(com_port);
%%vo hieu hoa nut VAN HANH, cho phep nut NGUNG
set(findobj(PID_REALTIME_GUIDE,'Tag','vanhanh'),'Enable','off');
set(findobj(PID_REALTIME_GUIDE,'Tag','ngung'),'Enable','on');
%%lay gia tri T0 tu giao dien GUIDE
T0 = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','T0'),'string'));
%%xu ly thoi gian lay mau, sample_time la he so nhan voi
%%thoi gian 0.05s cua VDK de co duoc T0
sample_time = (T0*1000)/50;
%%lay gia tri cac tham so cho bo dieu khien tu giao dien PID_RT11
wk = str2num(get(findobj(PID_REALTIME_GUIDE,
'Tag','NhietDoDat'),'string'));
kp = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','kp'),'string'));
ki = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','ki'),'string'));
kd = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','kd'),'string'));
%%tinh a0,a1,a2
a0 = ( kp + ki*T0/2 +kd/T0 );
a1 = ( ki*T0/2 - kp - 2*kd/T0);
a2 = kd/T0;
%khoi tao cac gia tri ban dau
yk=0;
uk=0;
uk_send=0;
uk1=0;
ek=0;
ek1=0;
ek2=0;
%%khoi tao cho cac bien dieu khien viec van hanh
%type_of_controllers=0 <=> STR
%type_of_controllers=1 <=> PID
STOP=0;
thoigian=1;
nhietdodat=zeros(1,900);
bieudonhietdo=zeros(1,900);
100
bieudodieukhien=zeros(1,900);
x=1:1:900;
%%vo hieu hoa dieu khien T0
set(findobj(PID_REALTIME_GUIDE,'Tag','T0'),'Enable','off');
%%mo cong cu plottools da duoc thiet lap de quan sat tin hieu
open('BIEU DO DAC TUYEN NHIET DO.fig')
%%thiet lap lai cho thuoc tinh timeout voi thoi gian kha lon
%%de mo cong COM
com_port.timeout=10;
%%mo cong COM
fopen(com_port);
%%gui ma (ma 252) yeu cau VDK nhan thoi gian lay mau
%%do PC gui xuong
com_port.timeout=0.5;
fwrite(com_port,252);
%%cau hinh cho thoi gian timer va su kien timer trong luc
%%cho doi su phan hoi tu VDK
com_port.TimerPeriod=1;
com_port.TimerFcn='timer_event';
%%END%%
bytesavailable_event_pid.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%CHUONG TRIN TINH TOAN TIN HIEU DIEU KHIEN LO NHIET
%%CHO PID
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%doc du lieu nhiet do co san trong bo dem PC do VDK gui len
yk = fread(com_port, 1,'int8')
%tinh toan gia tri sai so
ek = wk-yk;
%tinh toan tin hieu dieu khien
uk = uk1 + a0*ek + a1*ek1 + a2*ek2;
uk_send = uk*5;
%khau bao hoa
if (uk_send>250)
uk_send=250;
elseif (uk_send<0)
uk_send=0;
end
uk_send=round(uk_send)
%luu lai tin hieu ek vao qua khu
ek2 = ek1;
ek1 = ek;
101
102
elseif (du_lieu_nhan==252)
%VDK da nhan duoc ma 252
%VDK o trang thai san sang nhan thoi gian lay mau
%%gui thoi gian lay mau sample_time xuong VDK
%%gui gia tri sample_time xuong VDK
fwrite(com_port,sample_time);
%%cau hinh cho thoi gian timer va su kien timer
com_port.TimerPeriod=1;
com_port.TimerFcn='timer_event';
elseif (du_lieu_nhan==251)
%%VDK da nhan duoc gia tri sample_time
%%dong cong COM de thiet lap su kien BytesAvallable
fclose(com_port);
com_port.BytesAvailableFcnMode='byte';
com_port.BytesAvailableFcnCount=1;
if (type_of_controllers==0)
com_port.BytesAvailableFcn='bytesavailable_event';
else
com_port.BytesAvailableFcn='bytesavailable_event_pid';
end
%%gui ma van hanh (START) 254 xuong VDK de tien hanh
%%thu thap va xu ly du lieu
fopen(com_port);
com_port.timeout=0.1;
fwrite(com_port,254);
%%hien thi trang thai cua he thong lo nhiet ra GUIDE
if (type_of_controllers==0)
set(findobj(STR_REALTIME_GUIDE,'Tag','trangthai'),'String', ...
'HE THONG LO NHIET ANG VAN HANH');
else
set(findobj(PID_REALTIME_GUIDE,'Tag','trangthai'),'String', ...
'HE THONG LO NHIET ANG VAN HANH');
end
elseif (du_lieu_nhan==253)
%%VDK da nhan duoc ma 253 (ma NGUNG)
fclose(com_port);
%%vo hieu hoa cac nut NGUNG & VANHANH
%%cho phep nut KIEM TRA KET NOI
%%cho phep hieu hoa dieu khien T0
if (type_of_controllers==0)
set(findobj(STR_REALTIME_GUIDE,'Tag','T0'),'Enable','off');
set(findobj(STR_REALTIME_GUIDE,'Tag','ngung'),'Enable','off');
set(findobj(STR_REALTIME_GUIDE,'Tag','kiemtraketnoi'),'Enable','on');
103
104