do an pid dong co dc
TRANSCRIPT
-
8/6/2019 Do an Pid Dong Co Dc
1/26
n mn hc I : iu khin v tr ng c
Li ni u !
T chic my tnh u tin do Pascal pht minh ra n nhng chic mytnh by gi l mt qu trnh pht trin v cng to ln ca khoa hc kthut , nht l trong nhng thp nin gn y, s pht trin cng mau l.
Trong , mt trong nhng ht nhn ca qu trnh pht trin l cngngh in t. Nhng chic my tnh by gi c th dng lm nhng vim con ngi trc kia b ra hng nm thc hin xong , gi c th ch tronnhy mt.
Trong k thut mi thi gian khng cn c tnh bng giy na , m lmicr giy , thm ch cn nh hn na . Mt b iu kin t ng c th thth cho nhiu cng nhn , nhiu k s, thm ch lm nhng vic m t mnhcon ngi khng th lm ni.
L mt sinh vin k thut , ngnh t ng , ang chp chng bc vomt lnh vc to ln y , th vic hc tp , vn ng nhng iu hc vtrong thc tin , trao i kin thc l chuyn ng nhin. V n t
1, c th l cng trnh u tin ca nhiu bn sinh vin cng ngnh lm , nh u s hin in u tin ca mnh trong lnh vc ny.
Trn con ng trao di , hc tp tr thnh k s thc , ngoi bn thca mnh , cn l s gip , y ca cc thy c gio. V vy em xin chthnh cm n thy hng n , cc thy cc c trong trng , cho em nhnkin thc c th hon thnh c n ny.
Vn bit cn nhiu thiu st , em rt mong thy c gip , cho kin
cho em nhng hiu bit su sc hn , thc hin tt hn n mn hc 2 sti .
Em xin chn thnh cm n!
1
-
8/6/2019 Do an Pid Dong Co Dc
2/26
n mn hc I : iu khin v tr ng c
A/ S LC VI IU KIN P89V51Rx2:
1 1. Khi qut cc tnh nng:2+ Khi qut: 1 P89V51RD2 l vi iu khin 80C51 c 64kB Flash v 1024bytes b n
liu RAM.Tnh nng c bit ca P89V61RD2 l ch hot ng mode x2. Ngi thi
chy ng dng ca mnh ch ny nng i tc khi hot ng cdao ng
2 B nh chng trnh Flash cho php lp trnh ISP hoc/v song song. Chtrnh song song c a ra thch ng vi tc cao, gim thi gian v gi
3 IAP/ISP.
+Cc tnh nng:
CPU 80C51. Hot ng 5VDC trong tm tn s dao ng n 40MHz. 64kB ISP. SPI 5 PCA vi chc nng PWM/capture/compare 16bits. 4 cng xut nhp. 3 Timers/Couters 16bits. Watchdog Timer c th lp trnh c.
8 ngun ngt. 2 thanh ghi DPTR. Tng thch mc logic TTL v CMOS. Pht hin ngun yu Ch Low-power, Power down, Idle.
2
-
8/6/2019 Do an Pid Dong Co Dc
3/26
n mn hc I : iu khin v tr ng c
S khi ca MCU P89V51RD2:
S qua v cc chn ca vi iu khin:1 Port 0, Port 1, Port 2, Port 3: Nh cu trc 8051 kinh in.Port 0: l port c hai chc nng cc chn t 32-39 . Trong cc thit k c nh
dng b nh m rng n c chc nng nh cc ng vo ra.Port 2:l mt port cc chn t 21-28 c dng cho chc nng IO port hoc l b
ch cao ca Bus a ch .
Port 3: l port c tc dng kp , t chn 10-17. Cc chn ca port ny ngoi IO , nhiu chc nng c bit .
Port 1: Ngoi chc nng IO port , P89V51Rx2 cn c thm nhiu chc nng mi:
P1.0 - T2: Ng vo Counter cho Timer/Counter 2 hoc ng ra cho Counter/Timer2.P1.1 - T2EX: iu khin hng v cnh kch chc nng Capture cho timer/Counter
3
-
8/6/2019 Do an Pid Dong Co Dc
4/26
n mn hc I : iu khin v tr ng c
P1.2 ECI: Ng vo xung nhp. Tn hiu ny l ngun xung nhp ngoi cho chPCA.P1.3 CEX0: ng vo xung nhp cho chc nng Capture/Compare modul 0.P1.4:
o SS: Chn cng ph vo cho SPI.o CEX1: ng vo xung nhp cho chc nng Capture/Compare modul 1.
P1.5:o MOSI: phc v SPIo CEX2: ng vo xung nhp cho chc nng Capture/Compare modul 2.
P1.6:o MISO: phc v SPI
o CEX3: ng vo xung nhp cho chc nng Capture/Compare modul 3.P1.7:1 o SCK: phc v SPI
o CEX4: ng vo xung nhp cho chc nng Capture/Compare modul 4.PSEN: Cho php dng b nh chng trnh ngoi. Khi MCU s dng b nh ch
trong chip, PSEN khng tch cc. Khi s dng b nh chng trnh ngoi,thng mc tch cc 2 ln trong mi chu k my. S chuyn mc cao sang tPSEN cng bc t bn ngoi khi ng vo RST ang mc cao trong hn 10my s a MCU vo ch lp trnh host t bn ngoi.
2 RST: Khi ngun dao ng ang hot ng, mc cao trn chn RST trong t nhk my s Reset li h thng. Nu chn PSEN chuyn mc trong khi RST vmc cao, MCU s vo ch lp trnh host t bn ngoi, nu khng, s ho bnh thng.
EA: Cho php s dng b nh chng trnh ngoi.1 o EA=0 :B nh ngoi.2 o EA=1:B nh trong chip.ALE/PROG: Cho php kha a ch ngoi ra, chn ny cn
a vo ch lp trnh FLASH
S chn ca IC:
B/ PHN CHNG TRNH THCHIN
I/ THIT K PHN CNG:
Phn cng gm hai khi chnh :
+ Khi iu kin : kt iu kin
4
U 1
9
1 81 9
2
0
2 93 0
3 1
4
0
12345678
2 12 22 32 4
2 52 62 72 8
1 01 11 21 31 41 51 61 7
3 93 83 73 6
3 53 43 33 2
R S T
X T A L 2X T A L 1
G
N
D
P S E NA L E / P R O G
E A / V P P
V
C
C
P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7
P 2 . 0 / A 8P 2 . 1 / A 9
P 2 . 2 / A 1 0P 2 . 3 / A 1 1P 2 . 4 / A 1 2P 2 . 5 / A 1 3P 2 . 6 / A 1 4P 2 . 7 / A 1 5
P 3 . 0 / R X DP 3 . 1 / T X D
P 3 . 2 / I N T 0P 3 . 3 / I N T 1
P 3 . 4 / T 0P 3 . 5 / T 1
P 3 . 6 / W RP 3 . 7 / R D
P 0 . 0 / A D 0P 0 . 1 / A D 1P 0 . 2 / A D 2P 0 . 3 / A D 3P 0 . 4 / A D 4P 0 . 5 / A D 5P 0 . 6 / A D 6P 0 . 7 / A D 7
-
8/6/2019 Do an Pid Dong Co Dc
5/26
-
8/6/2019 Do an Pid Dong Co Dc
6/26
n mn hc I : iu khin v tr ng c
J 1 2
C O
12
0 . 1 u F
0
7 8 0 5
1 3
2
I N O U T G
N
D
5 V
12
4 7 0
2 2 0 0 u F
D 1 8
L E D
- +
D 1 7
B R I D G E
1
4
3
2
+ Khi x l ca kit:
p 0 . 0
p 2 . 4
Y 1
Z T A
p 0 . 7
p 3 . 3
p 3 . 1
p 1 . 5
p 0 . 2
p 1 7
p 2 . 1
p 1 . 0
p 1 . 1
p 2 . 6
R 1 2
R E S I S T O R S I P 9
123456789
p 3 . 1
J 3
C O N 8
12345678
p 2 . 2
5 V
R 1R
C 2
1 n1
2
p 1 . 1
p 3 . 4
0
p 0 . 0
S W 1
p 2 . 4 p 3 . 7
J 1 5
C O N 8
12345678
J 4
C O N 8
12345678
p 0 . 4
p 2 . 2
p 2 . 0
S W 4 4
0
p 1 . 2
p 0 . 2
S W 4
p 0 . 4
U 1
A T 8 9 C 5 1
9
1 81 9
2
0
2 93 0
3 1
4
0
12345678
2 12 22 32 42 52 62 72 8
1 01 11 21 31 41 51 61 7
3 93 83 73 63 53 43 33 2
R S T
X T A L 2X T A L 1
G
N
D
P S E NA L E / P R O G
E A / V P P
V
C
C
P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7
P 2 . 0 / A 8P 2 . 1 / A 9
P 2 . 2 / A 1 0P 2 . 3 / A 1 1P 2 . 4 / A 1 2P 2 . 5 / A 1 3P 2 . 6 / A 1 4P 2 . 7 / A 1 5
P 3 . 0 / R X DP 3 . 1 / T X D
P 3 . 2 / I N T 0P 3 . 3 / I N T 1
P 3 . 4 / T 0P 3 . 5 / T 1
P 3 . 6 / W RP 3 . 7 / R D
P 0 . 0 / A D 0P 0 . 1 / A D 1P 0 . 2 / A D 2P 0 . 3 / A D 3P 0 . 4 / A D 4P 0 . 5 / A D 5P 0 . 6 / A D 6P 0 . 7 / A D 7
p 0 . 3
p 3 . 7
0
5 V
p 3 . 5
p 1 . 6
p 3 . 4
J 2
C O N 8
12345678
5 V
p 1 . 3
p 3 . 2
p 0 . 5
R 1 3
R E S I S T O R S I P 9
123456789
0
p 2 . 0 p 1 . 3
p 1 . 4
C 1
1 n1
2
p 0 . 7
p 2 . 7
p 1 . 2
p 3 . 2
p 2 . 6
p 2 . 3
p 2 . 3
C 3C
p 2 . 7
p 2 . 5
p 0 . 6p 2 . 5
p 0 . 6
p 3 . 6
p 1 . 4
p 3 . 0
J 1 6
C O N 812345678
p 3 . 5
5 V
p 1 . 7
p 0 . 1
5 V
p 0 . 1
p 1 . 6
p 2 . 1
p 0 . 5
p 3 . 0
p 3 . 3
p 0 . 3
p 1 . 0
J 1
C O N 8
12345678
p 1 . 5
p 3 . 6
- Khi gm c cc gic cm c , xut port, giao tip bn ngoi- Bn nt bm , v nt sw44 reset lai vxl- Vi x l s t ng reset khi c ngun nh t C3- Thch anh 12Mhz s to ngun xung cho chn 18,19-
+ Khi hin th:- Hin th led 7 on:
6
-
8/6/2019 Do an Pid Dong Co Dc
7/26
n mn hc I : iu khin v tr ng c
5 V
G
A
BO 3
C
5 V
R 3 03 3 08
U 1 0
L E D 7 . 2
6
12
3
4
5
7
8
91 0
B
ED
T
C
D P
A L
FG
F
O 2
O 7
5 V
O 5
G G
A
R 3 21 K
Q 3C 1 8 1 5
C B
F
O 7
E
R 3 41 K
E
5 V
R 3 31 K
5 V
BO 4
O 4
U 3
7 4 4 7
7
126
453
1 3
1 21 11 091 51 4
1
6
8
D 0D 1D 2D 3
B I / R B OR B IL T
ABCDEFG
5
V
G
N
D
O 1
R 2 93 3 0D
CR 2 73 3 0
E
5 V
O 0
O 4
8
U 9
L E D 7 . 1
6
12
3
4
5
7
8
91 0
B
ED
T
C
D P
A L
FG
5 V
DO 1
R 2 83 3 0
A
C
J 1 0
C O N 8
12345
678
O 5
O 3
F
C
G
5 V0
E
0
A
O 5
R 3 51 K
B
O 0
E 8
U 1 3
L E D 7
6
12
3
4
5
7
8
91 0
B
ED
T
C
D P
A L
FG
O 7
O 6
R 3 13 3 0
0
AR 2 33 3 0O 2
Q 4C 1 8 1 5
F
D DR 2 43 3 0
Q 5C 1 8 1 5
G
U 1 1
7 4 L S 2 4 5
2
0
1
0
1 91
234
56789
1 81 71 6
1 51 41 31 21 1
V
C
C
G
N
D
GD I R
A 1A 2A 3A 4A 5A 6A 7A 8
B 1B 2B 3B 4B 5B 6B 7B 8
8
U 1 2
L E D 7 . 3
6
12
3
4
5
7
8
91 0
B
ED
T
C
D P
A L
FG
B
O 6
O 6D
Q 2C 1 8 1 5
F
- Khi gm IC nng 74LS245 , c tc dng nng dng cho port iu kin.- 4 led 7 on , 4 BJT C1815 c tc ng chn led s ng cho qut led-.- IC gii m 7447 , gii m BCD sang cc chn ca led hin th s.
+LCD:
- Khi gm c : git cm ci 16 chn cLCD
- Git 8 chn dnh cho bus d liu- Git 3 chn dnh cho 3 chn iu kin- in tr r28 hn dng cho led tro
LCD- Bin R25 chnh tng phn cho L
- Mch hin th led:
7
0
R 2 6
J 912345678
R 2 5
0
5 V 5 V
J 7
C O N 1 6
1234567891 01 11 21 31 41 51 6
J 8
123
05 V
-
8/6/2019 Do an Pid Dong Co Dc
8/26
n mn hc I : iu khin v tr ng c
8
R 9
D 9p 1 . 0 R 1 5
p 1 . 5
5 VJ 5
C O N 8
12345678
p 1 . 4
D 1
5 V
0
0
U 6
7 4 L S 2 4 5
2
0
1
0
1 91
23456789
1 81 71 61 51 41 31 21 1
V
C
C
G
N
D
GD I R
A 1A 2A 3A 4A 5A 6A 7A 8
B 1B 2B 3B 4B 5B 6B 7B 8
J 1 1
C O N 8
1 2 3 4 5 6 7 8
0
p 1 . 3
R 2
p 1 . 7
0
p 1 . 2
U 7
7 4 L S 2 4 5
2
0
1
0
1 91
23456789
1 81 71 61 51 41 31 21 1
V
C
C
G
N
D
GD I R
A 1A 2A 3A 4A 5A 6A 7A 8
B 1B 2B 3B 4B 5B 6B 7B 8
J 6
C O N 8
12345678
R 2 2 D 1 6
J 1 3C O N 8
1 2 3 4 5 6 7 8
p 1 . 6
D 8
0
p 1 . 1
5 V
5 V
0
-
8/6/2019 Do an Pid Dong Co Dc
9/26
n mn hc I : iu khin v tr ng c
- xut led , gm 2 IC nng dng 74LS245, cc gic cm c a ra ngo- Mt dy led hin th.
+ Khi giao tip:- RS-232:
0
C 4
P 1
5
94837261
5 V
C 6
0
U 2
M A X 2 3 2 _ 1
13
45
1
6
1
5
2
6
1 2
9
1 1
1 0
1 3
8
1 4
7
C 1 +C 1 -
C 2 +C 2 -
V
C
C
G
N
D
V +
V -
R 1 O U T
R 2 O U T
T 1 I N
T 2 I N
R 1 I N
R 2 I N
T 1 O U T
T 2 O U T
C 7
p 3 . 0
0
p 3 . 1
5 V
C 5
o Mch c cng DB9 , v IC max232o IC max232 v cc t lm nn mch chuyn mc p TTL sang 232o Cp ngun cho max232 l 5v, mch trong IC v cc t s to ra ng
10V
- Ma trn phim:
S W 2 6P 0 . 0
P 0 . 3
S W 3 5
P 0 . 6
S W 3 4
P 0 . 7
S W 2 8
P 0 . 2
P 0 . 4
S W 3 1
S W 3 8
S W 3 2
S W 3 9 S W 4 0
S W 3 7
P 0 . 1
S W 2 9S W 2 7
P 0 . 5
S W 4 1
S W 3 3
S W 3 6
S W 3 0
o Mch gm 8 chn ni vi port 1 .
9
-
8/6/2019 Do an Pid Dong Co Dc
10/26
n mn hc I : iu khin v tr ng c
o Khi qut phim . Nu nt nhn c mt chn c a vo mc cachn mc thp , khi nhn phim , th c hai chn u mc thpiu kin c th nhn ra s thay i.
S khi Kit:
S Ton Kt:
10
Ngun 5v
Khi hin th
Khi x l
Khi giao tip
-
8/6/2019 Do an Pid Dong Co Dc
11/26
-
8/6/2019 Do an Pid Dong Co Dc
12/26
n mn hc I : iu khin v tr ng c
o Cc zener bo v mch , v x khi c dng hi t ng c v -vngun l cu diof , khng x c.-
o T lc gai cho ng c khi chyo Nguyn tc chng trng n : khng th kch ( mc cao) cho 2 ng
cng lc- Ngun 24VDC:
J 1
2 4 V A C
12 C 4
0 . 1 u FC 1
2 2 0 0 u F
R 2
2 . 2 k
Q 1
J 2
2 4 V
12- +
D 8 1
4
3
2
D 2
D 1 0 D 1
z e n e r 2 4 v
D 7
C 5
4 7 0 u F
R 1
2 7 0
0
+ Mch c cu diof chnh lu. T ha C4 lc phng thng thp . T C4 cao , BJT cng sut 2N3005.
+ diof gn i zener b li in th mt do BJT. V R1 duy tr ng cho zC5 lc .
II> CHNG TRNH THC HIN:
THNH PHN , S , GII THUT TNG QUT: Thnh phn :
+ Gm c 2 phn chng trinh chinh: Chng trnh trn my tnh , vit bng Visual basic Chng trnh trn vi x l , vit bng hp ng
S v gii thut chnh:+ Chng trnh Visual Basic:
o
+ Chng trnh hp ng :
12
GIAO IN:- Hin th- Nhn lnh
X L :- Phn mm
PID, c chnhsa
- Ngt timer thc hin k,v xut kt qu
GIAO TIP VXL:- Nhn
liu t vxl- Truynlnh ti vxl
Vi iukin
-
8/6/2019 Do an Pid Dong Co Dc
13/26
n mn hc I : iu khin v tr ng c
M lnh
PWM
Gt encoder encoder
CHI TIT CHNG TRNH:o CHNG TRNH TRN VB: Visual basic:Giao din VB:
Timer1
MSComm
< Name: gt> Timer2Cmdketnoi
LabecdLabsovong
Labvantoc
Cmddung
Cmdtien cmdlui txtvitriCmdchay
H_vantoc txtvantoc Cmdclr_ecd
Cmd_dungvitri
Giao din gm c:
13
- Nhn m lnhT my tnhTimer 2 toxung uart
My tnh
Giao tipmy tnh iu xung
m gi trencode
Timer1: qut gi gi trencoder ln my tnh
ng c
-
8/6/2019 Do an Pid Dong Co Dc
14/26
n mn hc I : iu khin v tr ng c
- Nt kt ni vi iu khin- Khung iu khin tin li:
Nt tin ng c Li ng c ng ng c TextBox nhp gi tr iu xungThanh trt , to gi tr iu xung
- Khung iu khin v tr ng c:TextBox nhp v tr chy ti
Nt start qu trnh. Nt clear gi tr encoder Nt dng chc nng.
- Khung hin th :Label- Hin th gi tr encoder tuyt i (c offset )
Label- Hin th s vng tng ng ( 400 xung / vng )Label- Vn tc ng c ( c chng nhy do thay i qu nh
- MSComm : < name : gt > : cng c giao tip vi ngoi vi thng qua cn- Timer1: lin tc ly gi tr trung bnh ca vn tc , chng nhy khi hin th- Timer2: To ngt trong khong thi gian 10ms , phc v iu khin v tr c
c M ca chng trnh:
Phn khai bo u chng trnh:
Option ExplicitDim ht As Double 'v tr encoder lay veDim D_tt As Double vn tc tc thi ca ng c Private e_p As Double sai s ca v tr ng c_gi liPrivate e_tichluy As Long Sai s tch ly , dng cho thng s KIPrivate dblvitridat As Double bin lu tr v tr xc lpPrivate intvt As Integer bin lu vn tc ng c Private ht_p As Double bin lu li gi tr trc ca encoderPrivate d_p(20) As Double Bin lu li chui vn tc tc thiPrivate dang_load As Boolean nh u v tr bt u ca chui lPrivate thu_tu As Byte th t ca tn hiu a vPrivate ecd(4) As Long chui gi tr encoder ly v t vi x lPrivate trang_thai As Byte Trng thi : tin , li , dng ca ngDim P As Double H s P ca b PID-v trDim I As Double H s IDim D As Double H s D
X l cc s kin:
14
-
8/6/2019 Do an Pid Dong Co Dc
15/26
n mn hc I : iu khin v tr ng c
Kt ni vi my tnh:Private Sub cmdketnoi_Click()On Error Resume Nextgt.Settings = "28800,N,8,1" tc 28,8 k gt.CommPort = 1gt.RThreshold = 1gt.PortOpen = Truegt.InputLen = 1cmddung.Enabled = True Khi cha kt ni cc nt bmcmdtien.Enabled = True cha c kch hot , chngcmdlui.Enabled = True li cho chng trnhcmdchay.Enabled = Truecmdclr_ecd.Enabled = Truecmd_dungvitri.Enabled = True
lab_trangthai.Caption = "da ket noi !" hin th gc di , phiEnd Sub Khi to gi tr ban uPrivate Sub Form_Load()Timer1.Interval = 10 ngt mi ln l10msTimer1.Enabled = True kch hot timer 1Timer2.Interval = 10Timer2.Enabled = False cm timer 2P = 0.282 Cc thng s b PIDD = 1.125 Cc gi tr c tm bng
i = 0.0187 PP Zeigler-Nicholsintvt = 0thu_tu = 0trang_thai = 0End Sub X l nhn k t:Private Sub gt_OnComm()Dim a As Integer Dim b As DoubleSelect Case gt.CommEvent Nhn bit s kin
Case comEvReceive Nhn d liuDim buffer As Variant b m thubuffer = gt.Inputa = Asc(buffer) chuyn k t ra m asciilab.Caption = a & " ;" & buffer hin th gc cui phibuffer = "" xa tin theo di
If dang_load = True Then Nu nhn c imthu_tu = thu_tu + 1 bt u th np d liu
15
-
8/6/2019 Do an Pid Dong Co Dc
16/26
n mn hc I : iu khin v tr ng c
ecd(thu_tu) = aIf thu_tu = 3 Thendang_load = Falsethu_tu = 0
End If Else
If a = 99 Then k t gc bt u npdang_load = Trueht = ecd(3) * 256 * 256 + 256 * ecd(2) + ecd(1) - 8388608
Gi tr encoder tuyt i tr i gi tr offsetb = ht / 400 s vnglabsovong.Caption = Format(b, "00000.0000")labecd.Caption = htEnd If
End If
End Select X l cc nt bm tin , li , dng:
Private Sub cmdtien_Click()intvt = Val(txtvantoc)trang_thai = 1If intvt >= 256 Then gi tr iu xung maxMsgBox ("gia tri phai nho hon 256")Exit Sub
End If Call chay(intvt)End Sub
Private Sub cmdlui_Click()intvt = Val(txtvantoc)trang_thai = 2If intvt >= 256 ThenMsgBox ("gia tri phai nho hon 256")Exit Sub
End If Call chay(-intvt)End Sub
Private Sub cmddung_Click()trang_thai = 0gt.Output = Chr(3) gi k t c m l 3End Sub
16
-
8/6/2019 Do an Pid Dong Co Dc
17/26
n mn hc I : iu khin v tr ng c
S kin thanh trt:
Private Sub H_vantoc_Change()txtvantoc = H_vantoc.Valueintvt = Val(txtvantoc)Select Case trang_thaiCase 1:Call chay(intvt) chy tiCase 2:Call chay(-intvt) chy luiEnd SelectEnd Sub
Cc nt bm cn li , k v tr ng c
Private Sub cmd_dungvitri_Click()Call cmddung_Click e_tichluy = 0Timer2.Enabled = False ngng timer, kt thc tm v trEnd Sub
Private Sub cmdchay_Click()Timer2.Enabled = True bt u chy v tr
End SubPrivate Sub cmdclr_ecd_Click()gt.Output = Chr(4) M clear encoder End Sub
Hm chay( ):
Private Sub chay(ByVal v As Integer)If (v > 255) Or (v < -255) Then Exit Sub Max iu xung =256
gt.Output = Chr(0) m nhp vn tcIf v < 0 Thenv = -vgt.Output = Chr(v) truyn vn tcgt.Output = Chr(1) lnh chy liElsegt.Output = Chr(v) truyn vn tcgt.Output = Chr(2) lnh chy ti
17
-
8/6/2019 Do an Pid Dong Co Dc
18/26
n mn hc I : iu khin v tr ng c
End If
X l s kin timer1, timer2:
Private Sub Timer1_Timer()Dim D_tong As DoubleDim tong As DoubleDim i As Integer D_tong = ht - ht_pD_tt = D_tong ly vn tc tc thi cho b PIDht_p = httong = 0
For i = 20 To 2 Step -1 ly tng gi tr vn tc trong 0.2sd_p(i) = d_p(i - 1)tong = tong + d_p(i) Next
d_p(1) = D_tongtong = tong + d_p(1)D_tong = tong / 20 ly gi tr trung bnh , x l nhpD_tong = D_tong * 10 nhylabvantoc = Format(D_tong, "0000.00") Cho gi tr ng yn trnGDEnd Sub
Private Sub Timer2_Timer()Static g As Integer Dim e As DoubleDim v As Integer dblvitridat = Val(txtvitri) * 400e = ht dblvitridat Ly sai s cho b PIDv = PID(e, e_p) ly vn tc t b PIDCall chay(v)e_p = eIf e = 0 Then
g = g + 1Elseg = 0End If If g = 30 Then Timer2.Enabled = False nu ng v tr trong vngEnd Sub 0.3s th dng chc nng li
B PID:
18
-
8/6/2019 Do an Pid Dong Co Dc
19/26
n mn hc I : iu khin v tr ng c
Private Function PID(ByVal e As Double, ByVal e_c As Double) As Integer Dim step1 As Integer Dim up As DoubleDim ui As DoubleDim ud As DoubleDim u As DoubleIf D_tt = 0 Then Hiu chnh thng s Istep1 = 3 Lm gim thi gian a sai s v 0Elsestep1 = 1End If
up = -P * eud = -D * (e - e_c)
If (e > -130) And (e < 130) Then Kch hot thng s Ki khi ng c e_tichluy = e * step1 + e_tichluy cch ch khong 1 vngui = -I * e_tichluyElsee_tichluy = 0ui = 0End If
u = (up + ui + ud)If u > 255 Then u = 255 Khu bo ha
If u < -255 Then u = -255PID = CInt(u)If e = 0 Then PID = 0End Function
PID s:))(( 1 _ ++= k k
S
DTLk
I
S k p eeT
T e
T T
e K V
Trong h s Ts l chu k ly mu Tm thng s bng cch :
- Cho h s khuch i K ( Ki,Kd = 0) n khi h bt u ao ng n v tr cn bng ( c kch nh ) ta c : k=0.47, T=0.31s- Kp = 0.6 x k = 0.282 ; Ti = 0.1505 ; Td = 0.03875- Vy D = 1.0927 ; I = 0.1874
o CHNG TRNH TRN VI IU KIN :
19
-
8/6/2019 Do an Pid Dong Co Dc
20/26
n mn hc I : iu khin v tr ng c
INCLUDE p89v51rx2.mcECD DATA 40h ; Lu gi gi tr qut xut d liuECD1 DATA41h ; 3 byte Lu gi gi tr encoder ECD2 DATA42hECD3 DATA43hECD1_P DATA44h ; 3 byte tip trung gian lu giECD2_p DATA45h ; gi tr xut, m bo xut chnh xcECD3_p DATA46hvan_toc DATA 49h ; Vn tc c nhp vo y
nhap_vt BIT 33h ; C nhp vn tc
org 0000hLJMP main
org 0003hLJMP ngat_ngoai0
org 000bhLJMP ngat_T0;ngat time de quet truyen data
org 0023hLJMP NGAT_NT; tao toc do boau
main:
MOV fst,#08h ;Nng i tc x l ca MOV t2mod,#02h ; ICSETB RCLK ;cho php nhn d liu t PCSETB TCLK ;Cho php xut liu nPCMOV rcap2h,#ffh ; tc baud 28800MOV rcap2l,#f3hMOV scon,#50hSETB TR2
;--------------MOV CCAPM0,#01000010BMOV CCAPM1,#01000010BMOV CCAPM2,#01000010BMOV CCAPM3,#01000010BMOV CCAPM4,#01000010B
20
-
8/6/2019 Do an Pid Dong Co Dc
21/26
n mn hc I : iu khin v tr ng c
MOV cmod,#0CLR nhap_vtMOV ccap3h,#ffhMOV ccap4h,#ffhSETB cr ; cho php chc nng PCA chy
;--------------
MOV tmod,#01hMOV ien0,#10010011b
SETB it1SETB it0MOV ip0,#05h ; u tin ngt ngoi MOV ip0h,#0MOV van_toc,#100
MOV ecd,#1SETB tr0
;--------------------------------------------MOV ecd1,#0hMOV ecd2,#0hMOV ecd3,#128SJMP $
;-------------------------------------------ngat_nt:
JNB ri,thoat_ngat_ntCLR riPUSH accMOV A, sbuf MOV p2,AACALL nhan_dkPOP acc
JNB ti,thoat_ngat_ntCLR ti
thoat_ngat_nt: RETI
;*******************************************************; Chng trnh trong on ny nhn tn hiu iu khin t my tnh.; Gm c nhn ch th chy ti , ng ,chy li , nhn tc chy, reset gi
encoder
21
-
8/6/2019 Do an Pid Dong Co Dc
22/26
n mn hc I : iu khin v tr ng c
;------------------------------------nhan_dk:
JNB nhap_vt,tiepMOV van_toc,ACLR nhap_vtLJMP thoat_nhan_dk
tiep:CJNE A,#0,tiep0LCALL nhap_vantocLJMP thoat_nhan_dk
tiep0: CJNE A,#1,tiep1LCALL chay_toiLJMP thoat_nhan_dk
tiep1: CJNE A,#2,tiep2LCALL chay_luiLJMP thoat_nhan_dk
tiep2: CJNE A,#3,tiep3LCALL dung_dcLJMP thoat_nhan_dk
tiep3: CJNE A,#4,thoat_nhan_dkLCALL clr_ecd
thoat_nhan_dk:RET
chay_toi: MOV A , van_tocCPL AMOV ccap3h,AMOV ccap4h,#ffhRET
chay_lui:MOV A , van_tocCPL AMOV ccap4h,A
MOV ccap3h,#ffhRETdung_dc:
MOV ccap3h,#ffhMOV ccap4h,#ffhRET
nhap_vantoc:
22
-
8/6/2019 Do an Pid Dong Co Dc
23/26
n mn hc I : iu khin v tr ng c
SETB nhap_vt ; a chng trnh thu voch
RET ; nhp Vn tcclr_ecd:
MOV ecd1,#0MOV ecd2,#0MOV ecd3,#128RET
;*******************************************************; Chng trnh trong 2 on i , gm c:; - Ngt timer 0 , lin tc gi hm hien_thi.; - Hm hien_thi tun t xut 3 byte lu tr ;v tr
encoder ca ng c cho my tnh . Mi ;ln c gi , xut1 byte.
;-------------------------------------------------------
ngat_T0: CLR tf0CLR tr0MOV th0,#fchMOV tl0,#00SETB tr0PUSH 00hMOV R0,ECDINC R0CJNE R0,#4,thoatMOV R0,#0
thoat: MOV ECD,R0POP 00hLCALL hien_thi
RETI;-------------------------------------------------------hien_thi:
PUSH accMOV A,ECDCJNE A,#0,O_N_1
MOV sbuf,#99MOV R2,ecd1MOV ecd1_p,R2
23
-
8/6/2019 Do an Pid Dong Co Dc
24/26
n mn hc I : iu khin v tr ng c
MOV R2,ecd2MOV ecd2_p,R2MOV R2,ecd3MOV ecd3_p,R2SJMP Thoat_hien_thi
O_N_1:CJNE A,#1,O_N_2MOV A,ecd1_pMOV sbuf,ASJMP Thoat_hien_thi
O_N_2:CJNE A,#2,O_N_3MOV A,ecd2_pMOV sbuf,ASJMP Thoat_hien_thi
O_N_3:CJNE A,#3,thoat_hien_thiMOV A,ecd3_pMOV sbuf,a
Thoat_hien_thi: POP accret
;*******************************************************;Ngt ngoi khi c xung encoder vo vi iu khin; Nu chn cn li mc cao th ng c ang li , ngc li l ang tin.;-------------------------------------------------------------ngat_ngoai0:
JNB p3.3,tang_encoder JMP giam_encoder
thoat_ngat0:RETI
;-------------------------------------------------------tang_encoder:
INC ECD1
MOV R1,ecd1CJNE R1,#0,thoat_tang_ecdMOV ecd1,#0INC ECD2MOV R1,ecd2CJNE R1,#0,thoat_tang_ecdMOV ECD2,#0
24
-
8/6/2019 Do an Pid Dong Co Dc
25/26
-
8/6/2019 Do an Pid Dong Co Dc
26/26
n mn hc I : iu khin v tr ng c
Mc lc :
Trang
Li ni u .A/ S LC V VI IU KIN P89V51Rx2.
Khi qut cc tnh nng. 2S khi3S chn... 4
B/ CHNG TRNH THC HINI/ Thit k phn cng..
Khi iu khin .. 5+ Ngun cho kit vxl... 6+ Phn x l ca kit.. 6+ Phn hin th.. 7+ Phn giao tip 8
S ton kt1Khi cng sut.1
- Mch cu H..1- Ngun 24Vdc.. 11
II/ Chng trnh thc hin...Thnh phn , s , gii thut tng qut.Chi tit chng trnh 1
-Chng trnh trn visual basic. 12
+ Giao din VB 12+ Code chng trnh trn VB...13+ PID s .. 18
- Chng trnh trn vi iu khin.. 1Mc lc :.