Upload
nguyen-ngoc-anh
View
221
Download
0
Embed Size (px)
Citation preview
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
1/110
i
I HC QUC GIA TP H CH MINH
TRNG I HC BCH KHOA
KHOA IN IN T
LUN VN TT NGHIP I HC
IU KHIN NG C KHNG NG B 3 PHA
S DNG VI IU KHIN PIC18F4431
THEO PHNG PHP VECTOR KHNG GIAN
TP H Ch Minh, 01/2007
SVTH : NGUYN HUNH QUANG
MSSV : 40202088
CBHD : TS. PHAN QUC DNG
B MN : CUNG CP IN
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
2/110
ii
NHN XT CA GIO VIN HNG DN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tp H Ch Minh, thng 1 nm 2007
Gio vin hng dn
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
3/110
iii
NHN XT CA GIO VIN PHN BIN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tp H Ch Minh, thng 1 nm 2007
Gio vin phn bin
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
4/110
iv
LI CM N !
Ti xin gi li cm n chn thnh nhtn qu Thy C trngi Hc Bch
Khoa Tp. H Ch Minh, nhng ngi truyn t cho ti nhng kin thc v kinh
nghim qu bu trong sut thi gian ti hc tp ti trng.
Ti xin trn trng gi li cm n n tt c cc Thy, C Khoa in - in T :
thy L Minh Phng, thy Phan Quc Dng v thy Trn Thanh V..... tn tnh
hng dn, gip , to miiu kin thun li ti hon thnh tt lun vn tt
nghip ny.
Ti xin gi li cm n n tt c nhng ngi bn, nhng ngi anh em ( L
Trung Nam, V Vn V, Tit Vnh Phc..) nhng ngi cng gn b, cng hc
tp v gip ti trong nhng nm qua cng nhtrong sut qu trnh thc hin lun
vn tt nghip.
Cui cng, ti cm n gia nh, nhng ngi thn, ngi yu (.T.T.N) v c
bit l thn mu cho ti nhngiu kin tt nht hc tp trong sut thi gian
di.
Tp. H Ch Minh, thng 1 nm 2007
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
5/110
v
MC LC
CHNG 1: 2GII THIU VNG C KB V PHNG PHP IU KHIN 2
1.1> TNG QUAN VNG CNG B: .........................................................21.1.1) Gii thiu: ....................................................................................................21.1.2) Cu to: .......................................................................................................21.1.3) ng dng:....................................................................................................3
1.2> CC PHNG PHPIU KHINNG C KB:....................................4CHNG 2: 5GII THIU V BIN TN NGUN P IU KHIN V/f=const 5
2.1> BIN TN NGUN P:.....................................................................................52.2> PHNG PHPIU KHIN V/f:..................................................................5
2.2.1) Phng php E/f .........................................................................................52.2.2) Phng php V/f .........................................................................................6
2.3> PHNG PHPIU CH SIN PWM:...........................................................72.3.1) Gii thiu: ....................................................................................................72.3.2) Cc cng thc tnh ton: .............................................................................9
2.3> PHNG PHPIU CH VECTOR KHNG GIAN ( SVM) ......................102.3.1) gii thiu chung: ........................................................................................102.3.2) S sp xp cc vector V0 -> V7 trn trc Va; Vb; Vc .........................112.3.2) Gii thiu vector Vs : .................................................................................132.3.3) Cch tnh ton thi gian to ra vectorVs
uur
:...........................................152.4> K THUTIU CH VECTOR KHNG GIAN: ..........................................16
2.4.1) Gin ng ngt cc kha to ra Vector Vs trong tng sector:.......162.4.2) S tm tt ca qu trnh iu ch : ......................................................192.4.3) Tnh ton gc update ca vector Vs theo phng php iu khin V/f:...20
CHNG 3: 22GII THIU V PICMicrocontrollers (MCUs) 223.1>TNG QUAN: ...................................................................................................22
3.1.1> Nhng c im ni bc PIC18F4431: ....................................................243.1.2> Nhng c im chnh: ............................................................................25
3.2>TM TT TRC PHN CNG:.......................................................................263.2.1> S chn MCU PIC18F4431 :...............................................................262.2.3) Chc nng ca tng chn:.......................................................................28
3.3> CC MODULE C BN: ...............................................................................323.3.1> Power control PWM module : ...................................................................323.3.2> Analog to digital converter module (A/D):................................................48
CHNG 4 : 51THIT K PHN CNG 51
4.1> YU CU C BN : .......................................................................................514.2> S KHI CA H THNG : ....................................................................524.3> MCHNG LC : .......................................................................................53
4.3.1) B chnh lu:..............................................................................................534.3.2) B nghch lu:............................................................................................544.3.3) Mch li ( driver) & cch ly: .......................................................................55
4.2> MCHIU KHIN: .......................................................................................59
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
6/110
vi
4.2.1) S khi mch iu khin: .....................................................................594.2.2) Cc tn hiu vo ca mch iu khin: .....................................................594.2.3) Tn hiu u ra ca mch iu khin: .......................................................59
CHNG 5: 60LP TRNH 60
5.1> GII THUT LP TRNH : ..............................................................................605.1.1) Chng trnh chnh: ..................................................................................605.1.2) Chng trnh ngt: ....................................................................................61
5.2> GII THCH GII THUT :.............................................................................625.2.1) Chng trnh chnh: ..................................................................................625.2.2) Chng trnh ngt : ...................................................................................62
CHNG 6: 64KT QUT C 64
6.1> PHN CNG:..................................................................................................646.1.1> Mch ng lc: .........................................................................................646.1.2> Mch iu khin:.......................................................................................65
6.2> PHN MM GIAO TIP VI NGI S DNG:..........................................666.2.2) M t:.........................................................................................................676.3> DNG SNGIN P NG RA:...................................................................676.4> HNG PHT TRIN:...................................................................................68
6.4.1) Khc phc nhng khuyt im hin ti: ....................................................68CHNG 7: 69TI LIU THAM KHO 69CHNG 8: 70PH LC 70
8.1> S MCH (V TRN ORCAD):...............................................................708.1.1) S mch cch ly ...................................................................................70
8.1.2 S mch li: ...........................................................................................728.1.3) S mch nghch lu : ...........................................................................738.1.4) S mch iu khin :............................................................................74
8.2> CHNG TRNH VIT CHO PIC18F4431 : ..................................................768.3> CODE PHN MM GIAO TIP NGI S DNG:....................................102
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
7/110
CHNG 1:GII THIU VNG C KB V PHNG PHP IU KHIN
2
CHNG 1:GII THIU VNG C KB V PHNG PHP IU KHIN
1.1> TNG QUAN VNG CNG B:
1.1.1) Gii thiu:
ng cin khng ng b ba pha (AC Induction Motor) c s dngrt ph bin ngy nay vi vai tr cung cp sc ko trong hu ht cc h thngmy cng nghip. Cng sut ca cc ng c khng ng b c tht n500 kW (tng ng 670 hp) v c thit k tun theo quy chun c thnn c th thay i d dng cc nh cung cp.
1.1.2) Cu to:
Hnh 1.1: Cu to bn trong ng c KB
1.1.2a) Phn tnh: Stato c cu to gm v my, li st v dy qun
+ V my:V my c tc dng cnh li st v dy qun, khng dng lm mch dnt. Thng v my c lm bng gang. i vi my c cng sut tng iln ( 1000kW ) thng dng thp tm hn li lm thnh v my. Tu theo cchlm ngui my m dng v cng khc nhau.
+ li st:Li st l phn dn t. V t trng i qua li st l t trng quay nn gim tn hao: li st c lm bng nhng l thp k thut in p li.
+ Dy qun:Dy qun statorc t vo cc rnh ca li st v c cch in tt vili st.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
8/110
CHNG 1:GII THIU VNG C KB V PHNG PHP IU KHIN
3
1.1.2b) Phn quay ( roto):
Rotor c 2 loi chnh : rotor kiu dy qun v rotor kiu lng sc.
+ rotor kiu dy qun:
Rto c dy qun ging nh dy qun ca stator. Dy qun 3 pha ca rtothng u hnh sao cn ba u kia c ni vo vnh trt thng lmbng ng t cnh mt u trc v thng qua chi than c thu vimch in bn ngoi. c im l c th thng qua chi than a in trph hay sut in ng ph vo mch in rto ci thin tnh nng mmy, iu chnh tc hoc ci thin h s cng sut ca my. Khi my lmvic bnh thng dy qun rotorc ni ngn mch. Nhc im so ving c rotor lng sc l gi thnh cao, kh s dng mi trng khcnghit, d chy n
+ rotor kiu lng sc:Kt cu loi dy qun ny rt khc vi dy qun stator. Trong mi rnh ca li
st rotort vo thanh dn bng ng hay nhm di ra khi li st v cni tt li hai u bng hai vnh ngn mch bng ng hay nhm lm thnhmt ci lng m ngi ta quen gi l lng sc
1.12c) Khe h khng kh:
V rotor l mt khi trn nn khe hu. Khe h trong my in khng ngb rt nh hn ch dng in t ha ly t li v nh vy mi c th lmcho h s cng sut ca my cao hn.
1.1.3) ng dng:
My in khng ng b l loi my in xoay chiu ch yu dng lm ng cin( c bit l loi rotor lng sc) c nhiu u im hn so vi ng c DC. Do ktcu n gin, lm vic chc chn, hiu sut cao, gi thnh h nn ng c khngng b l loi my c dng rng ri trong cng nghip, nng nghip , i snghng ngy.
Trong cng nghip, ng c khng ng b thng c dng lm ngunng lc cho cc my cn thp loi va v nh, cho cc my cng c cc nhmy cng nghip nh . . .
Trong nng nghip, c dng lm my bm hay my gia cng nng sn
phm. Trong i sng hng ngy, ng c khng ng b ngy cng chim mt v tr
quan trng vi nhiu ng dng nh: qut gi, ng c trong t lnh, my quay da,. ..
Tm li, cng vi s pht trin ca nn sn xut in kh ha v tng ha, phmvi ng dng ca ng c khng ng b ngy cng rng ri.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
9/110
CHNG 1:GII THIU VNG C KB V PHNG PHP IU KHIN
4
1.2> CC PHNG PHP IU KHIN NG C KB:
So vi my in DC, vic iu khin my in xoay chiu gp rt nhiu kh khn biv cc thng s ca my in xoay chiu l cc thng s bin i theo thi gian,
cng nh bn cht phc tp v mt cu trc my ca ng cin xoay chiu sovi my in mt chiu.
Cc phng php iu khin ph bin:iu khin in p statoriu khin in tr rtoiu khin tn siu khin cng sut trt rto
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
10/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
5
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
2.1> BIN TN NGUN P:
c s dng hu ht trong cc bin tn hin nay. Tc ca ng c khngng b t l trc tip vi tn s ngun cung cp. Do , nu thay i tn s cangun cung cp cho ng c th cng s thay i c tc ng b, v tngng l tc ca ng c.
Tuy nhin, nu ch thay i tn s m vn gi nguyn bin ngun p cpcho ng c s lm cho mch t ca ng c b bo ha.iu ny dn n dng tha tng, mo dng in p v dng in cung cp cho ng c gy ra tn hao lit, tn hao ng trong dy qun Stator. Ngc li, nu t thng gim di nh mcs lm gim moment ca ng c.
V vy, khi gim tn s ngun cung cp cho ng c nh hn tn snh mcthng i i vi gim in p cung cp cho ng c. V khi ng c hot ng vi
tn snh mc th in p ng cc gi khng i v bng nh mc do giihn ca cch in ca Stator cng nh ca in p ngun cung cp, moment cang c s b gim.
2.2> PHNG PHP IU KHIN V/f:
2.2.1) Phng php E/f
Ta c cng thc sau:
mf
fa = (2.1)
+ Vi f: tn s hot ng ca ng c,+ fm: tn snh mc ca ng c.
Gi sng c hot ng di tn snh mc (a
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
11/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
6
T 2 phng trnh trn suy ra iu kin dng in t ha khng i:
constf
E
f
EE
a
E
m
mm ===
(2.4)
Nh vy t thng ng cc gi khng i khi t l E/fc gi khng i(E/f = const).
2.2.2) Phng php V/f
Tuy nhin trong thc t, vic gi t thng khng i i hi mch iu khin rtphc tp. Nu b qua st p trn in tr v in khng tn mch stator, ta c thxem nh U E. Khi nguyn tc iu khin E/f=const c thay bng phngphp V/f=const.
Trong phng php V/f=const (gi ngn l V/f), nh trnh by trn th tsV/fc gi khng i v bng gi tr ts ny nh mc.
Ta c cng thc moment nh mc ng vi sn gin ca ng c:
( )
++
+
=
2'21
2'2
1
'22
m
b
XXs
RR
s
R.V
.3
M (2.5)
V moment cc i chnh mc:
( )
++
=2'
21211
2m
bmax
XXRR
V.
.2
3M (2.6)
Khi thay cc gi trnh mc bng gi tr nhn vi ts a (am, aVm, aX),Ta c c cng thc moment ca ng c tn s f khc nh mc:
( )2
'2 2
2'
2'1 2
1
.
3 .. ; ( 1)
m
b
RV
a sM aR R
X Xa as
=
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
12/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
7
( )
1a,
XXa
R
a
R
V.
.2
3M
2'
21
211
2m
bmax >R1/a, st p trn R1 rt nh nn gi tr E suy gim rt t dn n t thng c gign nh khng i. Moment cc i ca ng c gn nh khng i.
Tuy nhin, khi hot ng tn s thp th gi trin tr R1/a s tng i lnso vi gi tr ca (X1+X2), dn n st p nhiu in tr stator khi moment ti ln.iu ny lm cho E b gim v dn n suy gim t thng v moment cc i.
b li s suy gim t thng tn s thp. Ta s cung cp thm cho ng
c mt in p Uo cung cp cho ng c t thng nh mc khi f=0. T ta cquan h nh sau:U=Uo+K.f
Vi K l mt hng sc chn sao cho gi tr U cp cho ng c bng Um tif=fm.
Khi a>1 (f>fm),in p c gi khng i v bng nh mc. Khi ng chot ng ch suy gim t thng.
Hnh 2.1: th biu din mi quan h gia moment v in p theo tn s trongphng php iu khin V/f=const.
2.3> PHNG PHP IU CH SIN PWM:
2.3.1) Gii thiu:
to ra mt in p xoay chiu bng phng php SIN PWM, ta s dngmt tn hiu xung tam gic tn s cao em so snh vi mt in p sin chun c tn
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
13/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
8
s f. Nu em xung iu khin ny cp cho mt b bin tn mt pha th ng ra sthu c mt dng in p dng iu rng xung c tn s bng vi tn s ngun sinmu v bin hi bc nht ph thuc vo ngun in mt chiu cung cp v tsgia bin sng sin mu v sng mang. Tn s sng mang phi ln hn tn sca sng sin mu. Sau y l hnh v miu t nguyn l ca phng php iu rng
sin mt pha:
Hnh 2.2: nguyn l ca phng php iu rng SIN mt pha
Khi:
control triV V> th2
dcAO
VV = (2.9)
control triV V< th2
dcAO
VV =
Nh vy, to ra ngun in 3 pha dng iu rng xung, ta cn c ngun sin3 pha mu v gin kch ng ca 3 pha sc biu din nh hnh v di y:
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
14/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
9
Hnh 2.3: nguyn l ca phng php iu rng SIN 3 pha v dng sng in p ngra
2.3.2) Cc cng thc tnh ton:
Ta cn tnh c bin hi bc nht ca in p ng ra t ts bin giasng mang v sng tam gic
Ta c cng thc sau tnh bin ca hi bc nht:
2
U
.maU
DC
SIN(1) = (2.10)Trong ma l ts gia bin sng sin mu v bin sng mang cn gi
l tsiu bin.
carry
SINsmp
U
Uam = (2.11)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
15/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
10
2.3> PHNG PHP IU CH VECTOR KHNG GIAN ( SVM)
2.3.1) gii thiu chung:
Sau y l s nguyn l ca b bin tn s dng 6 kha transitor cng sut :
Hnh 2.4: S nguyn l b nghch lu 3 pha
i vi phng php iu rng xung vector khng gian, b nghch lu cxem nh l mt khi duy nht vi 8 trng thi ng ngt ring bit t 0 n 7.
S0 S2 S4
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
16/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
11
Hnh 2.5: Trng thi ng ngt cc kha bn nghch lu
Bng tm tt :
Trng thi ca cckha
in p pha in p dyVectorinp Q1 Q3 Q5 Van Vbn Vcn Vab Vbc Vca
V0 0 0 0 0 0 0 0 0 0V1 1 0 0 2/3 -1/3 -1/3 1 0 -1V2 1 1 0 1/3 1/3 -2/3 0 1 -1V3 0 1 0 -1/3 2/3 -1/3 -1 1 0V4 0 1 1 -2/3 1/3 1/3 -1 0 1V5 0 0 1 -1/3 -1/3 2/3 0 -1 1V6 1 0 1 1/3 -2/3 1/3 1 -1 0V7 1 1 1 0 0 0 0 0 0
Ghi ch: ln in p phi nhn vi VDC
2.3.2) S sp xp cc vector V0 -> V7 trn trc Va; Vb; Vc
i vi ngun p ba pha cn bng, ta lun c phng trnh sau:( ) ( ) ( ) 0a b cu t u t u t + + = (2.12)
V bt k ba hm s no tha mn phng trnh trn u c th chuyn sangh ta 2 chiu vung gc. Ta c th biu din phng trnh trn di dng 3vector gm: [ua 0 0]T trng vi trc x, vector [0 ub 0]T lch mt gc 120o v vector [0
0 uc]T lch mt gc 240o so vi trc x nh hnh sau y.
Hnh 2.6: Biu din vector khng gian trong h ta x-y
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
17/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
12
T ta xy dng c phng trnh ca vector khng gian trong h ta phc nh sau
( )(2 / 3) (2 / 3)2
( ) . .3
j j
a b cu t u u e u e = + +
(2.13)
+ Ta xt trng hp b nghch lu trng thi u V1 :
+VDC/2
-VDC/2
S1 S3 S5
S0 S2 S4
N
a b c
Ra Rb Rc
+VDC/2
-VDC/2
N
Ra
Rb Rc
Hnh 2.7: B nghch lu trng thi V1
Ta c: Ra Rb Rc => Va= 2/3 Vdc ; Vb=Vc= -1/3 Vdc
Xt trn h ta : trong 1 *( )Vs V K Va Vb Vc= = + +uur uur uur uur uur
; K=2/3 l h sbin hnh
Vb
Hnh 2.8: Vectorin p V1 trn ta
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
18/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
13
+ Tng t nh vy vi cc vector V2-> V6 , ta c gin sau:
Hnh 2.9: Vectorin p V1->V6 trn gin
+ Ngoi ra , chng ta cn 2 trng hp c bit l vector V0 =V7= 0
Hnh 2.10 : V7 & V0
2.3.2) Gii thiu vector Vs :
tng ca vic iu ch vector khng gian l to nn s dch chuyn lin tcca vector khng gian tngngca vectorin p b nghch lu trn quong trn, tng t nh trng hp ca vector khng gian ca i lng 3 phahnh sin to c. Vi s dch chuyn ca u n ca vector khng gian trn quo trn cc sng hi bc cao c loi b v bin p ra tr nn tuyn tnh.Vector tng ng y chnh l vector trung bnh trong thi gian mt chu k lymu Ts ca qu trnh iu khin b nghch lu p
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
19/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
14
Hnh 2.11: Vector Vs trn h trc
Hnh 2.12:in p 3 pha ng ra trong min thi gian tng ng Hnh 2.11
VectorVsuur
lin quan n cc trng thi kha transtior trong b bin tn ngunp VSI ( Voltage Source Inverter). Trong phng php SVM th VSI c ng ngt tn s rt ln (FPWM). FPWM quyt nh thi gian ly mu Ts cho vectorVs
uur
( Ts=1/
FPWM)
C rt nhiu cch ng ngt cc kha BJT to ra vectorVsuur
t cc vector0V
uur
; 1Vuur
; 2Vuur
; 3Vuur
; 4Vuur
; 5Vuur
; 6Vuur
; 7Vuur
.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
20/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
15
2.3.3) Cch tnh ton thi gian to ra vectorVsuur
:
Hnh 2.13: Vs sector 1
Xt gc 1 phn su u tin ca hnh lc gic c to bi nh ca ba vector0V
uur
; 1Vuur
; 2Vuur
. Gi s trong khon thi gian Ts , ta cho tc dng vector 1Vuur
trong
khon thi gian TA,vector 2Vuur
trong khon thi gian TB; vector 0Vuur
trong khon thigian cn li trong chu k ly mu ( Ts- TA-TB). Vector tng ng c tnh bngvector trung bnh ca chui tc ng lin tip trn:
0/70/71 2
A ATT T
Vs V V V Ts Ts Ts
= + +
uur uur uur uuur
(2.14)
A B 0/7Ts= T +T +T (2.15)
Ta c tl bin c nh ngha nh sau :
2
3
Vsm
Vdc
= (2.16)
+ trong Vs in p (pha) ng ra ca b bin tn (Va, Vb, Vc )
Chiu phng trnh (2.14) ln trc X - Y ; s dng thm phng trnh (2.16) vts m (2.15)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
21/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
16
( )
( )
1
2
0 7 1 2
2. .sin / 3
3
2. .sin
3
s
s
s
T T m
T T m
T T T T
=
=
=
(2.17)
=> Nh vy trong khon thi gian ly mu Ts, thi gian tn ti ca cc trngthi TA; TB; T0/7 da vo tsm v gc pha ca vector Vs ( hay ni cch khc lda vo ln v v tr ca vector Vs trong khng gian)
2.4> K THUT IU CH VECTOR KHNG GIAN:
Thng thng, mt trong nhng tiu chun la chn gin ng kch linh
kin l sao cho gim thiu ti a s ln chuyn mch ca linh kin =>gim tn haotrong qu trnh ng ngt chng. S ln chuyn mch s t nu ta thc hin trnh tiu khin sau:
Hnh 2.14: Gin ng ngt linh kin
2.4.1) Gin ng ngt cc kha to ra Vector Vs trong tng sector:
Cc kha cng sut trong tng nhnh ng ngt i nghch nhau.n ginha s, ta chv trng thi ca 3 kha cng sut pha trn. Ba kha cn li ctrng thi i nghch vi 3 kha trn theo tng cp nh sau :
+ S0 S1+ S2 S3+ S4 S5
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
22/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
17
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
23/110
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
24/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
19
2.4.2) S tm tt ca qu trnh iu ch :
Hnh 2.15: S tm tt ca qu trnh iu ch
Nh vy vector trung bnh ( Vs) c iu khin theo quo ng trn.Chiu quay c th thun hay nghch theo chiu kim ng h. ng trn ni tiphnh lc gic l qu o ca vector ko gian ln nht m phng php iu chvector khng gian ca b nghch lu p hai bc c tht c trong phm vi iukhin tuyn tnh. Bn knh ng trn ny chnh bng bin thnh phn c bnin p (pha) ti
Hay3
A B C
VdcVs V V V = = = =
uur uur uur uur
( )
( )
1
2
0 7 1 2
2. .sin / 3
3
2. .sin
3
s
s
s
T T m
T T m
T T T T
=
= =
Trong :
+2
3
Vsm
Vdc
= l tsiu bin
+ Ts l chu kiu rng xung
+ l gc lch gia VA v VB
(2.18)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
25/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
20
2.4.3) Tnh ton gc update ca vector Vs theo phng php iu khin V/f:
TPW
M
TPWM
Hnh 2.16: gc update ca vector Vs
1)u tin ta chia cc sector (mi sector 60 ), thnh n phn bng nhau:=> Gc chia nh nht trong 1 sector:
min
60
n = () (2.19)
2) Ti tn st f => ( T=1/f):
Vector Vs quay 360 trong thi gian TVector Vs quay ? trong thi gian TPWM
=>
WM' 360T
PT
= () : gc update ca vector Vs (2.20)
3) Xy dngmin' * _ K update angle = = ( K l s nguyn)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
26/110
CHNG 2:GII THIU V BIN TN NGUN P IU KHIN V/f=const
21
=> WM60
360 *T
PT Kn
=
=> WM *360*T 60
PT n
K =
M T=1/f
=>WM
1.360. .
60P
nK f
f=
Ta chn TPWM= 5 KHz ; n=512 gi tr trong 1 sector
=>1 512
.360. .5000 60
K f=
=> 0.6144K f= = step size (2.21)
Ta c tn s ft thay i t 0 -> 60 Hz
=> K= (0 ->36.684 )
Hnh 2.17: Update vector Vs with stepsize
Vy gc ca Vs c tnh bi cng thc sau :
Vector update step size =DEGREE_CONSTANT x required Motor Speed (Hz)
(2.22)Vecter angle =Vector angle + Update_angle
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
27/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
22
CHNG 3:GII THIU V PICMicrocontrollers (MCUs)
3.1>TNG QUAN:
H vi iu khin PIC v dsPIC do hng ch to v sn xut vicng ngh hin i, ph hp cho cc ng dng n gin cho n phc tp.c bitngoi ngn ng lp trnh assembler nh cc MCU khc, ngi dng c th lp trnhPIC trn ngn ng C quen thuc thng qua cc phn mm h tr ( PIC18C ; CCS C; .)
Gm cc h nh sau:
8 bit:+ PIC10+ PIC12+ PIC16+ PIC18
16 bit:
+ PIC24F+ PIC24H+ dsPIC30+ dsPIC33
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
28/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
23
Ty theo cc ng dng c th m ngi dng c th chn ra Chip ph hp (theo hng dn ca nh sn xut ti trang ch ca microchip ). Trong PIC18F4431 l IC chuyn dng iu khin ng c 3 pha theo ngh ca caMicrochip
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
29/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
24
3.1.1> Nhng c im ni bc PIC18F4431:
14 bit Power Control PWM module:+ C n 4 knh ( mi knh gm 1 cp xung i nghch)
+ Thi gian dead time linh hot+ update tng duty cycle => ng ra PWM p ng nhanh+.
Motion Feedback Module:+ C 3 knh capture c lp:
- cc ch hot ng linh hot cho vic o c rng xung- Module h tr Hall Sensor- Special event trigger cho cc module khc
+ Quadrature Encorder interface:
- 2 pha vo v 1 ng vo index t encorder- h tro c vn tc
High speed, 200Ksps 10-bit A/D Converter:+ C 9 knh A/D+ 2 knh ly mu tc thi+ Ly mu lin tc:1 ; 2 hay 4 knh c la chn+ .
Flexible Oscillator Structure:+ 4 ch thch anh ( h trn 40 MHz)
+ 2 ngun xung lock ngoi ln n 40 MHz+ Ch thch anh ni :
- C 8 tn s ngi dng c th la chn : t 31Khz -> 8 MHz- OSCTUNE c th b cho s lch tn s (?)
+..
Peripheral Highlights:+ Chu dng cao : sink/source ( 25mA/25ma)+ 3 ngun ngt ngoi+ 2 module Capture / Compare / PWM (CCP)
- Capture 16 bit, phn gii ti a 6.25 ns ( TCY/6)
- Compare 16 bit, phn gii ti a 100 ns ( TCY)- PWM output: phn gii t 1 -> 10 bt
+ Module USART:
- H tr RS-485, RS-232 v LIN1.2
- Auto weak-up on start bit
- Auto-Bound detect+ RS-232 s dng khi dao ng ni ( ko cn thch anh ngoi)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
30/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
25
3.1.2> Nhng c im chnh:
+ L CPU s dng tp lnh RISC v c tc x l cao , cng sut thp nhs dng cng ngh CMOS FLASH/EEPROM.+ Tp lnh c 75 lnh .+ Mt chu k lnh bng 4 chu k xung . S dng b dao ng 40 Mhz th chu k
lnh l 0,1 us .+ Tn s b dao ng cho php ti 40Mhz.+ 8K x 14 word b nh FLASH lp trnh.+ 768 byte b nh RAM , trong b nh EEPROM ln n 256 byte.+ Trang b ti 34 ngt vi 8 cp ngt+ 5 port I / O.+ Trang b 3 bnh thi: 2 b 8 bit,1 b 16 bit.+ 2 module Capture/Compare/PWM.+ B chuyn i 10 bit ADC vi tc 5-10us.+ Cng serial ng b vi ch SPI(Master) v I2C (Master/Slave) thc hin
bng phn cng .+ Ch chuyn nhn ng b/bt ng b vi 9 bit a chkim tra.+ Cng song song (PSP) 8bit .+ Cc chnh a ch:trc tip , gin tip , v tng i.+ Cho php c/ghi b nh chng trnh .+ C ch bo v m lp trnh .
+ Ch SLEEP(tm ngh) tit kim in nng .+ Cho php chn la ch dao ng ( ni , ngoi ).+ 2 chn cho php g ri hot ng ca vi iu khin.+ Lp trnh thng qua cng serial vi in th ch5 V.+ Tm in th hot ng rng: t 2 n 5.5V. Dng cp khong 25mA.+ c sn xut vi nhiu loi khc nhau cho cng 1 m vi iu khin , tu
thuc vo s tnh nng c trang b thm . Cc kiu cm:PDIP(40chn), PLCC v QFP (cng 44 chn).
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
31/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
26
3.2>TM TT TRC PHN CNG:
3.2.1> S chn MCU PIC18F4431 :
3.2.2> S cc khi chc nng :
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
32/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
27
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
33/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
28
2.2.3) Chc nng ca tng chn:
a)_PORT A:+ L port I/O . C tt c 6 chn, t RA0 n RA5.Trong RA2 v RA3 c thdng tip nhn in p Vref+ v Vref-.+ RA4 cn l ng vo xung clock cho Timer0. RA5 c th lm chn chn slavecho port serial ng b.
b)_PORT B:+ L port I/O ,c thc lp trnh bi phn mm lm chc nng ko lncho tt c ng vo.+ RB0 c th lm chn ngt ngoi.+ RB3 c th lm ng vo lp trnh in th thp.+ Cc chn cn li c th lm ng vo ngt trn chn,lp trnh vi xung v dliu serial.
c)_PORT C:+ L port I/O, c 8 chn:+ RC0 dng lm ng ra b dao ng Timer1 hoc ng vo xung timer1.+ RC1 ,RC2 c cng 3 chc nng: lm ng ra PWM / chn Compare( sosnh) / chn capture (ly mu).RC1 cn l ng vo b dao ng Timer1.+ RC3 l ng vo xung tun tng b/ hoc ra (vi ch SPI v I2C).+ RC4 lm chn nhn data (ch SPI) hay data I/O (ch I2C).+ RC5 c th xut data SPI ( ch SPI).+ RC6 c th lm chn pht bt ng b (USART) hoc xung ng b.
d)_PORT D:+ L port I/O ,c th lm port slave song song khi giao tip vi 1 bus vi x l.
e)_PORT E:_Port I/O ny thng dng iu khin chn/c/ghi cho port slave song song.
f)_Cc chn khc:+ Chn 13(OSC1/CLKIN) tip nhn xung ngoi cho b dao ng thch anhbn trong.
+ Chn 14(OSC2/CLKOUT) lm ng ra b dao ng thch anh. chRC,chn ny c tn s bng ca OSC1.+ Chn 1 : lm ng vo reset .+ Chn 12, 31 l ni t Vss.Chn 11, 32 l chn cp ngun Vdd.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
34/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
29
M t cc I/O trch t datasheet:
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
35/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
30
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
36/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
31
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
37/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
32
3.3> CC MODULE C BN:
3.3.1> Power control PWM module :Power Control PWM module n gin l to ra nhiu xung ng b c rng
thay i c ( PWM : Pulse Width Modulation ). Cc ng ra PWM ng dng trongiu khin ng c v cc ng dng chuyn i cng sut . Module PWM ny h triu khin cc ng dng sau :
+ ng c KB 1 pha v 3 pha+ Swithched Reluctance Motor+ ng c DC khng chi than+ UPS ( Uninterruptible Power Suppliers)+ Mutiple DC Brush motor
Cc thng s c bn ca module PWM:
+ C 8 ng I/O PWM vi 4 duty cycle khc nhau+ phn gii 14 bit da trn PWM periode+ Thi gian dead time c th lp trnh ( ng dng trong trng PWM i
nghch => chng trng dn )+ Ngt h tr update khng i( asymmertrical update ) xng trong ch
canh gia ( center aligned mode)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
38/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
33
S khi ca module PWM
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
39/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
34
Trong module PWM c 4 b to duty cycle ring bit, chng c nh s t 0 -> 3.Module ny c 8 ng ra, c nh s t 0->7. Trong chi nghch cc pinchn pin l l 1 cp. VD: PWM0 si nghch vi PWM1; PWM2 si nghch viPWM3; .
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
40/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
35
B to dead time s chn 1 khon off gia lc xung PWM ca pin ny ang cnhxung v xung PWM ca chn i nghch ang ang cnh ln ( trong 1 cp chni nghch).iu ny ngn chn trng dn => cc kha cng sut c bo v
3.3.1a) Cc thanh ghi iu khin:Hot ng ca module PWM c iu khin thng qua 22 thanh ghi khcnhau. 8 trong s c dng iu chnh cc thng s ca module:
+ PWM timer control register 0 ( PTCON0)+ PWM timer control register 1 ( PTCON1)+ PWM control register 0 ( PWCON0)+ PWM control register 1 ( PWCON1)+ Dead time control register (DTCON)+ Output overide register(OVDCOND)+ Output state register (OVDCONS)
+ Fault configrration register (FLTCONFIG)
7 cp ( 14 thanh ghi) cn li : hiu chnh thng sc bit:+ PWM time base registers (PTMRH and PTMRL)+ PWM periode registers (PTPERH and PTPERL)+ PWM special event compare register ( SEVTCMPH and
SEVTCMPL)+ PWM duty cycle #0 register ( PDC0H and PDC0L)+ PWM duty cycle #1 register ( PDC1H and PDC1L)+ PWM duty cycle #2 register ( PDC2H and PDC2L)
+ PWM duty cycle #3 register ( PDC3H and PDC3L)Nhng cp thanh ghi trn u double buffers
3.3.1b) Cc module chc nng:PWM module h tr nhiu ch hot ng ph hp cho yu cu iu khin
ng c. PWM module c tng hp t cc khi chc nng sau:+ PWM Time Base+ PWM Time Base Interrrupts+ PWM Period+ PWM Duty Cycle
+ Dead Time Generators+ PWM Output Overrides+ PWM Fault Inputs+ PWM Special Event Trigger
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
41/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
36
3.3.1c) PWM Time Base:PWM time base c cung cp 12 bit timer vi chc nng prescaler and postcaler.S khi n gin ca PWM time base c trnh by trong hnh 17-4. PWM timebase c hiu chnh thng qua 2 thanh ghi PTCON0 v PTCON1. Time base c
enabled hay disabled bi set hay clear bit PTEN trong thanh ghi PTCON1 . Ch ,cp thanh ghi PTMR ( PTMRH:PTMRL) s khng b clear khi bit PTEN b clear trongphn mm !!!
PWM time base c 4 ch hot ng nh sau
+ Free running mode => edge aligned PWM+ Single shot mode => center aligned PWM+ Continous Up/Down count mode => support electronically commtated motors+ Continous Up/Down count mode with interrupts for double updates
4 ch trn c la chn thng qua bit PTMOD1:PTMOD0 trong thanh ghiPTCON0.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
42/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
37
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
43/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
38
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
44/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
39
3.3.1d) PWM Time Base Interrrupts:PWM timer to ra interrupts da trn ch hot ng c la chn bi
nhng bit PTMOD v nhng bit postscaler
Interrupts trong ch FREE RUNNING:
PWM time base ch time base ( PTMOD=00 ), s kin interrupts xy rakhi gi tr trong thanh ghi PTPER bng gi tr ca thanh ghi PTMR. Gi tr ca thanhghi PTMR sc c a v zero ngay xung clock sau .
S dng postscaler ln hn 1:1 s gim tn s ca cc s kin interrupts .
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
45/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
40
Interrupts trong ch SINGLE SHOT:
Khi bit PTMOD=01 =>PWM time base ch single shot. S kin interrupts
xy ra khi gi tr trong thanh ghi PTPER bng gi tr ca thanh ghi PTMR. Gi tr cathanh ghi PTMR sc c a v zero ngay xung clock sau .
Nhng bit postscaler ko c tc dng g khi timer ch ny.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
46/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
41
Interrupts trong ch COUNTINOUS UP/DOWN COUTING:
Khi bit PTMOD=10 =>PWM time base ch countinous up/down counting.S kin interrupts xy ra khi gi tr trong thanh ghi PTMR bng zero, v PWM timebase bt u m ln .
Nhng bit la chn postscaler c th s dng trong ch ny ca timer lmgim tn s ca s kin interrupts .
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
47/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
42
Interrupts trong ch DOUBLE UPDATE:
Ch ny chc trong Up/Down Counting mode ( PTMOD=11 ). S kininterrupts xy ra mi khi gi tr thanh ghi PTMR tng ng vi zero hay khi gi trthanh ghi PTMR trng vi gi tr thanh ghi PTPER.
Ch double update cung cp cho ngi dng thm 2 chc nng trong ch center-align mode:
+ Bandwidth c ln gp i v PWM duty cycle c update 2 lntrong mi chu k (periode)
+ C th to ra c dng sng PWM center-align khng i xng, iuny rt hu dng trong vic hn ch ti a s mo dng ca dng
sng ng ra trong 1 sng dng iu khin ng c
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
48/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
43
3.3.1e) PWM Period :
PWM periode c nh ngha bi cp thanh ghi PTPER ( PTPERH vPTPERL). PWM periode c phn gii 12 bit. PTPER l cp thanh ghi doublebuffered s dng set chm ca PWM time base.
Ni dung ca PTPER bufferc np vo thanh ghi PTPER cc thi imsau:
+ Free running mode v Single shot modes: thanh ghi PTMR c a vzero sau khi trng gi tr vi thanh ghi PTPER
+ Up/down counting mode: khi PTMR bng zero. Gi tr c lu trongPTPER buffer tng np vo thanh ghi PTPER khi PWM time base c
disabled ( PTEN=0)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
49/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
44
3.3.1f) PWM duty cycle:
PWM duty cycle c xc nh bi cc thanh ghi PDCx ( PDCxH v PDCxL).C tng cng 4 cp thanh ghi PWM duty cycle cho 4 cp xung PWM.
+ PDC0 (PDC0L v PDC0H)+ PDC1 (PDC1L v PDC1H)+ PDC2 (PDC2L v PDC2H)+ PDC3 (PDC3L v PDC3H)
Gi tr trong mi thanh ghi xc nh khon thi gian m ng ra PWM tchcc.
Trong ch Edge-aligned, PWM periode bt u ti Q1 v kt thc khi thanhghi duty cycle trng vi gi tr PTMR.
Duty cycle register buffer:4 thanh ghi PWM duty cycle u c double buffered. Mi duty cycle block, u c
thanh ghi duty clycle buffer m c th truy xut bi ngi dng. Thang ghi duty cyclebuffer th hai s gi gi tr so snh vi PWM periode hin ti.
Trong ch edge-aligned PWM output, gi tr duty cycle mi sc update mikhi gi tr thai thanh ghi PTMR v PTPER trng nhau. Sau PTMR sc resetnh trong hnh 17-12. Ni dung ca duty cycle buffer s tng cp nht vo thanhghi duty cycle khi PWM time base b disable ( PTEN=0)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
50/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
45
Khi PWM time base ch Up/Down couting, gi tr duty cycle mi scupdate khi gi tr thanh ghi PTMR bng zero v PWM time base bt u m ln. Nidung ca duty cycle buffer s tng cp nht vo thanh ghi duty cycle khi PWMtime base b disable ( PTEN=0). Hnh 17-13 trnh by gin thi gian khi duty cyclec update ch Up/Down counting . Trong ch ny PWM periode phic sn sng np v tnh ton trc PWM duty cycle mi trc khi cc thayi c hiu lc.
Khi PWM time base ch Up/Down couting vi double update mode, gi trduty cycle mi sc update khi gi tr thanh ghi PTMR bng zero v khi gi tr haithanh ghi PTMR v PTPER trng nhau. Ni dung ca duty cycle buffer s tngc np vo thanh ghi duty cycle khi mt trong hai iu kin trn xy ra.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
51/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
46
3.3.1g) B to thi gian dead time:
Trong b bin tn , khi cc xung PWM chi nghch iu khin cckha cng sut pha cao; pha thp trong cng 1 nhnh, phi chn 1 khon thi giandead time. Khon thi gian dead time lm cho ng ra PWM i nghch u trng thi khng tc ng trong 1 khon thi gian ngn=> trnh trng dn khi khany ang ON , kha kia ang OFF
Mi cp xung PWM i nghch u c mt counter 6 bit m xung, chnkhon dead time vo xung PWM. Mi b to dead time c b pht hin cnh ln vcnh xung c kt ni vi b so snh duty cycle. Dead time c np vo timerkhi pht hin PWM cnh ln hay cnh xung. Ty vo xung PWM ang cnh ln
hay cnh xung, m 1 khon thi gian chuyn tip c lm tr cho n khi timerm v zero.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
52/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
47
Thanh ghi DTCON:
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
53/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
48
Bng tm tt cc thanh ghi c lin quan ca POWER CONTROL PWM MODULE :
3.3.2> Analog to digital converter module (A/D):
B A/D c 5 ng vo cho PIC 28 chn v 8 cho cc PIC khc . Tn hiu analogc ly mu v gi bi tin , sau a vo b chuyn i . B ny to ra 1 ktqu s tng ng . Gi tr ny l 1 s 10 bit.
B A /D c ng vo so snh p cao v thp ,v c th la chn thng qua kthp Vdd , Vss , RA2 hay RA3. B A/D c im c bit l c th hot ng trong khivi iu khin trng thi SLEEP . lm c iu ny , xung clock A/D phi cnhn t b dao ng RC ni ca b A/D.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
54/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
49
Module A/D c 9 thanh ghi :+ A/D Result High Register (ADRESH)+ A/D Result Low Register (ADRESL)+ A/D Control Register0 (ADCON0)+ A/D Control Register1 (ADCON1)
+ A/D Control Register2 (ADCON2)+ A/D Control Register3 (ADCON3)+ A/D chennel Select Register (ADCHS)+ Analog I/O Select Register 0 ( ANSEL0)+ Analog I/O Select Register 1 ( ANSEL1)
S khi b A/D :
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
55/110
CHNG 3: GII THIU V PICMicrocontrollers (MCUs)
50
Cc bc sau lm vic vi b A/D :
1_Thit lp b A/D :+ Thit lp cc chn analog / so snh p v I/O s ( ADCON1 ) .+ Chn knh ng vo A/D (ADCONO).
+ Chn xung clock b A/D ( ADCONO).+ Kch hot A/D ( ADCONO ).2_Thit lp ngt A/D nu s dng
+ xo bit ADIF.+ Set bit ADIE.+ set bit PEIE+ set bit GIE
3_Ch thi gian p ng cn thit.4_Bt u chuyn i : set bit ADCONO.5_Ch chuyn i A/D hon thnh bng cch hi vng bit ADCONO c b
xo cha hay ch ngt A/D6_c kt qu t cp thanh ghi ADRESH : ADRESL , xo bit ADIF nu cn .
7_Lp li t bc 1 hay 2 nu c yu cu. Thi gian chuyn i A/D mi bit gil TAD .
Mt khong ch ti thiu 2TADc yu cu trc khi ln p ng k tip bt u.
Cc thanh ghi ADRESH : ADRESL cha 10 bit kt qu ca chuyn i A/D .Khi s chuyn i A/D hon tt , kt qua vo cp thanh ghi ny , bit ADCON0 b xo v c ngt ADIF c set. Cp thanh ghi ny rng 16 bit . Do nu bitADFM =1 :ly 10 bit bean phi v ADFM = 0 th ly 10 bit bn tri , cc bit cn libng 0. Nu A/D b v hiu , cc thanh ghi ny c th dng nh 2 thanh ghi a mcch
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
56/110
CHNG 4 : THIT K PHN CNG
51
CHNG 4 :THIT K PHN CNG
4.1> YU CU C BN :
Thit k b bin tn truyn thng ( 6 kha) ba pha iu khin ng cKB 1.5 kW
Thng s tiu biu ca ng c 1.5 kW ( 2 HP) tn s 50 Hz nh sau :
Cc thng s n v ng cu / saoPm Cng sut nh mc (KW) 1.5Vm in p nh mc (Vac) 380/220Im Dng in nh mc (A) 5.9/3.4
osc H s cng sut 0.81RPM Vn tc ( vng /pht) 1420
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
57/110
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
58/110
CHNG 4 : THIT K PHN CNG
53
4.3> MCH NG LC :
4.3.1) B chnh lu:
Yu cu:
in p VDCu ra ca b chnh lu:
+Trong phng php SVPWM th :3
DC A B C
VV V V= = =
uur uur uur
+ng c vn hnh chnh mc ( ) => tr bin (380* 2) / 3phaV =
=> 3* 540( )DC phaV V V uuuuur
+ng c vn hnh chnh mc ( ) tr bin (220* 2) / 3phaV =
=> 3* 311( )DC phaV V V
uuuuur
Tr tc thi ca VDC c nn tng i phng Gn nh , gi thnh r
=> Ta s dng phng php chnh lu cu vi 6 diode ( c th chnh lu 1 pha ,hay 3 pha )
Tr trung bnh in p u ra khi chnh lu cu 3 pha (khng iu khin):3 6 *
osDCVpha
V c
= 515 (V) VDC yu cu (C chu sao)
+Vpha : tr hiu dng p pha ngun (220 VAC)+= 0 : b chnh lu khng iu khin
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
59/110
CHNG 4 : THIT K PHN CNG
54
Ghi ch:
Trong iu kin thc t, nu chc ngun 1 pha thc hin chnh lu th inp VDC sau chnh lu :
2 2 *os 200( )DC
VphaV c V
= =>ng c s khng th vn hnh ht nh
mc c hai ch
4.3.2) B nghch lu:
C hai la chn chnh cho vic s dng kho ng ct cng sut trong iukhin ng c l MOSFET v IGBT. C hai loi MOSFET v IGBT u l linh kinc iu khin bng in p, ngha l vic dn v ngng dn ca linh kin ciu khin bng mt ngun in p ni vi cc gate ca linh kin thay v l dngin trong cc b nghch lu s dng transitor nh trc y. V vy cch s dngloi linh kin ny lm cho vic iu khin tr nn d dng hn.
Thng thng MOSFET c s dng vi cc ng dng i hi tc cao,tuy nhin MOSFET khng c kh nng chu dng in cao. Trong khi IGBT thchhp vi cc ng dng tc thp, tuy nhin IGBT c kh nng chu c dngin cao. V vy tu vo c im ca ng dng m c s la chn linh kin phhp.
Cc yu cu chnh t ra cho linh kin s dng lm b nghch lu :
in p VDS ( Mosfet) hay VCE ( IGBT) > VDC
Dng in qua linh kin > dng nh mc ca ng c 10A nhit hotng
Chu c tn sng ngt cao
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
60/110
CHNG 4 : THIT K PHN CNG
55
=> IRFP460Pc la chn : tha mn cc yu t trn, c th mua d dngv gi thnh r !
4.3.3) Mch li ( driver) & cch ly:
a) Mch li :
C hai phng n chnh li MOSFET hay IGBT :+ Bin p xung+ IC li
Trong cc phng n c bin p xung, trng hp xung iu khin c cnh tcng ko di hoc tn s thp, bin p xung sm t trng thi bo ha v ng raca n khng ph hp yu cu iu khin. Do ta nn s dng loi high voltagebootstrap diver ICs.
Trong : IR2136 l loi IC chuyn dng li MOSFET v IGBT ca hng IR- International Rectifier. IC ny c 3 knh output c lp (mi knh gm high side andlow side) dng cho cc ng dng 3 pha.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
61/110
CHNG 4 : THIT K PHN CNG
56
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
62/110
CHNG 4 : THIT K PHN CNG
57
b) mch cch ly:
Cc mch pht ra tnh hiu iu khin mch cng sut dng bn dn phic cch ly vin.iu ny c th thc hin bng opto hoc bng bin p xung.
+ Bin p xung :Gm mt cun dy s cp v c th nhiu cun th cp. Vi nhiu cun dy
pha th cp, ta c th kch ng nhiu transistor mc ni tip hoc song song.
Bin p xung cn c cm khng tn nh v p ng nhanh. Trong trng hpxung iu khin c cnh tc ng ko di hoc tn s thp, bin p xung sm ttrng thi bo ha v ng ra ca n khng ph hp yu cu iu khin.
+ Opto :Gm ngun pht tia hng ngoi dng diode (IR - LED) v mch thu dng
phototransistor. Do tha mn yu cu cch ly vin, ng thi p ng caopto tt hn my bin p xung.
=> ta la chn phng n dng OPTO. Yu cu t ra i vi opto l phi chuc tn sng ngt kh cao (>5KHz) m in p xung ng ra ko b mo dng.Trong , HCPL-2630 l optocouplers ca hng fairchild c tn sng ngt lntha mn yu cu trn.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
63/110
CHNG 4 : THIT K PHN CNG
58
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
64/110
CHNG 4 : THIT K PHN CNG
59
4.2> MCH IU KHIN:
4.2.1) S khi mch iu khin:
4.2.2) Cc tn hiu vo ca mch iu khin:
Nt n iu khin ng c:+ RUN+ STOP+ F/R+ Bin triu chnh tc
Nt n iu khin LCD:+ MODE+ UP+ DOWN+ LEFT+ RIGHT+ SELECT
Tn hiu hi tip: (*)+ Dng in ca ng c+ in p ng c+ Tc ng c+ Nhit ca kha BJT
Tn hiu iu khin t PC
4.2.3) Tn hiu u ra ca mch iu khin:+ 6 xung PWM iu khin b nghch lu+ Hin th trng thi hot ng ca mch thng qua n LED+ Hin th cc thng siu khin bng LCD+ Xut tn hiu cho PC
Ghi ch: (*) => s pht trin sau
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
65/110
CHNG 5: LP TRNH
60
CHNG 5:LP TRNH
5.1> GII THUT LP TRNH :
5.1.1) Chng trnh chnh:
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
66/110
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
67/110
CHNG 5: LP TRNH
62
5.2> GII THCH GII THUT :
5.2.1) Chng trnh chnh:
(1) Chng trnh bt u khi cp ngun cho PIC
(2) Xc lp cc thng s ban u :+ I/O pin+ A/D module+ Timer+ Power Contrl PWM module+ Interrupts event
(3) X l nt n RUN
(4) Trng thi IDLE: hin th LED bo trng thi idle, ng thi qua li phn (3)kim tra xem nt RUN c c n hay khng
(5) c gi tr f yu cu t bin tr (mode 1) ; LCD (mode 2) hoc PC (mode 3)
(6) Khi tn s f yu cu thay i: tnh ton cc bin sVref, stepsize. Hai thngs ny dng update cc gi tr v ln v bc nhy ca vector Vs khichng trnh ngt PWM xy ra. Vref dng tnh ton t siu bin m =Vref/Vdc. Stepsize xc nh gc update ca vector Vs
(7) Kim tra xem button no c n ( STOP , F/R) => x l button c
n+ STOP button: => set cc duty cycle v zero => qua li v tr (4) : IDLE+ F/R button: => gi hm RAM_DOWN gim tc ng c v zero => o chiu
quay vector Vs => gi hm RAM_UP tng tc ng cn tn st+ ..
5.2.2) Chng trnh ngt :
(1) Khi c ngt c set ln 1, sao lu trng thi ca vi iu khin
(2) Gc ca vector Vs = gi tr gc ban u + gc update ( bc nhy). lnca vector Vs c xc nh trn tn st (=> tsiu bin m)
(3) C tng cng 6 sector. Mi sector 60 c chia thnh 512 phn bngnhau. Khi vector Vs qut ht sector hin ti ( stepsize > 512), chuyn sang Vssector mi => (4)
(4) Vs chuyn sang sector mi v reset gi tr stepsize. ( stepsize = stepsize 512 ). Hnh trnh by c th vn ny.
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
68/110
CHNG 5: LP TRNH
63
(5) V (6) reset gi tr ca sector khi Vs qua ht 1 vng.
(7) xc nh thi gian TA, TB, T0/2 v (Ts - T0/2)
(8) Np cc gi tr trn vo thanh ghi PWM duty cycle
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
69/110
CHNG 6: KT QUT C
64
CHNG 6:KT QUT C
6.1> PHN CNG:
6.1.1> Mch ng lc:
Hnh 6.1: Mch ng lc
+ u im:Mch ng lc vn hnh n nh ng c 2 HP ( u ; khng ti ) tt ccc chiu khin thng thng( RUN, STOP, o chiu, thay i tc..).
+ Khuyt im:- Nhit cc kha cng sut kh cao ( 70-80 C)- Cha c khu hi tip dng ,hi tip tc , hi tip nhit kha cng
sut
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
70/110
CHNG 6: KT QUT C
65
+ Gii php khc phc:- Nhit cc kha cng sut kh cao => thay th cc kha cng sut bngloi cht lng tt, p ng tt hn .
- Pht trin thm khu hi tip dng => ngn chn qu dng ng c
- Pht trin khu hi tip tc => iu khin vng kn ng c- Pht trin khu hi tip nhit ca kha cng sut => ngn chn hintng qu nhit
6.1.2> Mch iu khin:
Hnh 6.2: Mch iu khinu im:
Mch iu khin c kh nng p ng cc yu cu iu khin ng c trongthc t:
+ Cc buttons iu khin ng c: RUN, STOP, o chiu, bin tr hiuchnh tc
+ Cc buttons iu khin LCD: set cc thng s ci t (thi gian tng tc,gim tc.)
+ LCD : hin th trng thi hot ng ca ng c
+ giao tip vi PC: nhn gi tr tc t t PC, hin th trng thi hotng ca motor ln my tnh
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
71/110
CHNG 6: KT QUT C
66
6.2> PHN MM GIAO TIP VI NGI S DNG:
]Hnh 6.3: phn mm iu khin
Hnh 6.4: phn mm iu khin ( lc ng c hot ng)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
72/110
CHNG 6: KT QUT C
67
6.2.2) M t:
Phn mm iu khin c vit trn ngn ng Visiual Basic 6.0Phn mm giao tip vi vi x l PIC18F thng qua cng COM ( chun RS232)
Cc nt iu khin:+ RUN / SEND: Khi ng ng c / gi tn s yu cu n vi x l+ STOP: dng ng c+ CHANGE: o chiu ng c
Cc hin th v nhp liu:+ f request: nhp liu tn s t bn phm+ f out: hin th gi tr tn s ng ra+ V out: hin th dng in p ng ra ( V/f = const)+ Status: hin th trng thi ng c ( RUNNING , STOP)+ Direction: hin th chiu quay ca ng c ( thun ; nghch )
6.3> DNG SNG IN P NG RA:
Hnh 6.5: in p pha ng ra ( ti R)
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
73/110
CHNG 6: KT QUT C
68
Hnh 6.6: in p pha ng ra ( ti R)
Hnh 6.7: in p dy ng ra ( ti ng c)
6.4> HNG PHT TRIN:
6.4.1) Khc phc nhng khuyt im hin ti:
+ Phn cng: cp ti phn 6.1.1 trang 63
+ Phn mm ( giao tip ngi s dng v PIC18F):
Pht trin thm phn ci t cc thng s ( PID cho u khin vng kn)
+ Phng php iu khin:iu khin vng kn
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
74/110
CHNG 7: TI LIU THAM KHO
69
CHNG 7:TI LIU THAM KHO
[1] Ts. Phan Quc Dng ,Truyn ngin[2] Ts. Nguyn Vn Nh, in tcng sut 1
[3] Jon Buroughs,AN900: Controlling 3 phase induction motors using thePIC18F4431, Microchip Techology Inc
[4] Rakesh Parekh,AN955:V/f Control of 3 phase induction motor usingspace vecter modulation, Microchip Techology Inc
[5] Prof. Ali Keyhani, Pulse-Width Modulation (PWM) Techniques lecture 25,Department of Electrical and Computer EngineeringThe Ohio State University
[6] PIC18F4431 datasheet
[7] CCSC User Manual
[8] Flex LCD Driver Aministrator of CCS Forum
[9]
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
75/110
CHNG 8: PH LC
70
CHNG 8:PH LC
8.1> S MCH (V TRN ORCAD):
8.1.1) S mch cch ly
R35
110
R42
110
5V_1
5V_1
Vin1+1
Vin1-2
Vin2-3
Vin2+4
VCC8
Vout17
Vout26
GND5
U11
HCPL2631
R37 220
R38 220
0
5V_1
Vin1+1
Vin1-2
Vin2-3
Vin2+4
VCC8
Vout17
Vout26
GND5
U12
HCPL2631
R40 220
R41 220
0
R43
110
R44
110
+ C7
0.1uF
H1H2H2H3H3L1L1L2L2L3L3
1234567
J8
0
+ C8
0.1uF
+ C9
0.1uF
Vin1+1
Vin1-2
Vin2-3
Vin2+4
VCC 8
Vout17
Vout26
GND5
U10
HCPL2631
5V_2
R33 220
R36
110
R34 220
R45
110
5V_2
5V_2
0
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
76/110
CHNG 8: PH LC
71
5V_1
15V
C10
100uF
C11
100uFC12470uF
C1310uF
C14470uF
C1510uF
C16
104
C17104
12
J5
6V_AC
12
J6
12V_AC
IN1
OUT3
GND
2
U3 LM7805C
IN1
OUT3
GND
2
U4 LM7815C
2
1
3
4
-
+
D15
BRIDGE_3A
2
1
3
4
-
+
D16
BRIDGE_3A
R1
330
D17
LED
R2
1k
D18
LED
5V_2
C18
100uFC19470uF
C2010uF
C21
104
12
J7
6V_AC
IN1
OUT3
GND
2
U5 L M7 80 5C
2
1
3
4
-
+
D19
BRIDGE_3AR3
330
D20
LED
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
77/110
CHNG 8: PH LC
72
8.1.2 S mch li:
15V
+ C4.1uF
ITRIP
ENABLE
ITRIP
FAULT
H1H1H2H2H2H2H3H3H3H3
L1L1L1L1L2L2L2L2L3L3
RVAR2
+C5
10uF
15V 12V
ENABLE
+ C6
10uF
15V
ENABLEENABLEENABLEENABLEFAULTFAULTFAULTFAULT
R26 100R27 100R28 100
R29 100R30 100R31 100
R20
100
R32
100
R21
100
R22
100
R23 100
R24 100
R25 100
ITRIPITRIPITRIPITRIP
VCC1
HIN12
HIN23
HIN34
LIN15
LIN26
LIN37
FAULT8
ITRIP9
EN10
RCIN11
VSS12
COM13
LO314
LO215
LO11617
17
VS318
VS222
VS126
VB128
VB224
VB320
HO127
HO223
HO319
2121
2525
U1
IR2136
1234
56789
10
J1OUTPUTS
+ C11uF
+ C21uF
+ C31uF
D1 DIODE XUNG
D2 DIODE XUNG
D3 DIODE XUNG
VS1HO1
HO3
VS2HO2
LO1VS3
LO3LO2
12345
J3CONTROL
COM
HO2
HO1
VS2
VS1
HO3
VS3
PR 1R 5W
LO1
COM
LO3
LO2
15V
COM
RVAR1
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
78/110
CHNG 8: PH LC
73
8.1.3) S mch nghch lu :
R1
10K
R2
10K
R3
10K
R4
10K
R5
10K
R6
10K
H2H2H2 H3
L1 L2 L3L3
S3
H1
S1
COM
F1
FUSE
VDC
1
2
3
J1
MOTOR
P1
P2
P31
2
J2
CON2
VDC
COM
1
2
34
5
6
7
8
9
10
J3
CON10
COM
L3
L2
L1
H2
S2
H3
S3
H1
S1
S2S2S2 S3
P1
P2
P3
S3S3S3S3S3S3
1
2
3
Q1
1
2
3
Q2
1
2
3
Q3
1
2
3
Q4
1
2
3
Q5
1
2
3
Q6
12
J4
AC_VOLTAGE
D1
D2
D3
D4
C1C
VDC
COM
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
79/110
CHNG 8: PH LC
74
8.1.4) S mch iu khin :
8.1.4.a) Phn chnh:
VCC
PWM0
RA2
PWM5
C3 22P
SW_RESET
1
3
C_Vcc1
104
SW_DIP
SW DIP-8
VCC
STOP
D2
D7
RA4
PGD
UPDOWN
LED4
RC7
D5
OSC2
D0
D4
PWM3PWM4
ENTER
LED7
MCRL
PWM4
PGC
U16_1ZENNER
VCC
PWM2
Y2 20MHZ
PWM0
C4 22P
VCC
D5
PORTA_1
123456
123456
MCRL
D4
LED8
PGC
D2
PWM1
PGD
PWM2
VCC
OSC1
LED5
RA1
RA3
OSC1
D1
FR
RC6
PORTC_1
8
67
54321
8
67
54321
MODE
MCRL
LED3
D0
PORTD_1
PORTD_1
8
67
54321
8
67
54321
PIC18F4431
1234567
89
10
1112
1314
15161718
1920
4039383736353433
3231
30292827
26252423
2221
MCRLRA0/AN0RA1/AN1RA2/AN2RA3/AN3RA4/AN4RA5/AN5
RE0/AN6RE1/AN7RE2/AN8
VddVss
OSC1/RA7OSC2/RA8
RC0RC1/CCP2RC2/CCP1RC3/INT0
RD0RD1/SDO
RB7/PGDRB6/PGC
RB5/PWM4RB4/PWM5RB3/PWM3RB2/PWM2RB1/PWM1RB0/PWM0
VddVss
RD7/PWM7RD6/PWM6RD5/PWM4
RD4
RC7/RX/DTRD6/TX/CKRC5/SCKRC4/SDA
RD3/SCKRD2/SDI
PORTB_1
PORTB_1
8
67
54321
8
67
54321
RA5
D3
D3
LED2
D7
RUN
PWM3
PWM1
LEFT
LED1
PORTB_PWM
PORTB_PWM
67
54321
67
54321
D6
D1
D6
OSC2
Programing conector
CON6N
123456
123456
R_RESET_SW
1K PWM5
C_Vcc2
104
RA0
VCC
RIGHT
LED6
8.1.4.b) Phn hi
n th
v giao ti
p my tnh nt
n:
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
80/110
CHNG 8: PH LC
75
C_C3
C_cocuc
VCC
VCC
R_MODESW
4k7
SW_MODE
1
3
C_1
1UF
SW_UP
1
3
SW_RUN
1
3
C_DOWNSW
104
C_MODESW
104
R_UPSW
4k7
BUTTON
SW_DOWN
1
3
C_C5C_cocuc
SW_FR
1
3
RC6
R_STOPSW
4k7
VCC
C_LEFTSW
104
D4
R_FRSW
4k7
RS2
VCC
R_RUNSW
4k7
U18
10k
1
3
2
VCC
D7
U10
MAX232
13
8
11
10
1
3
4
5
2
6
12
9
14
7
16
15
R1IN
R2IN
T1IN
T2IN
C+
C1-
C2+
C2-
V+
V-
R1OUT
R2OUT
T1OUT
T2OUT
VCC
GND
VCC
RIGHT
VCC
D6
SW_LEFT
1
3
C_UPSW
104
RC7
VCC
D2
LEFT
RUN
U7
COM9NS
59
48
37
26
1
C_C21UF
C_FRSW
104
VCC
RS3
MODE
VCC
R_RIGHTSW
4k7
D5
STOP
C_C4C_cocuc
SW_STOP
1
3
U17
LCD
12345678910
11
12
13
14
15
16
GND
VCC
Vee
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
Lamp-
Lam+
R_LEFTSW
4k7
DOWN
RS2
SW_RIGHT
1
3UP
C_RIGHTSW
104
VCC
C_STOPSW
104
D0
FR
R_DOWNSW
4k7
D1
RS3
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
81/110
CHNG 8: PH LC
76
8.2> CHNG TRNH VIT CHO PIC18F4431 :
Chng trnh sau y c vit trn ngn ng CCS
////////////////////////////////////////////////////////////////////////////////////////////////
// MODE 1: R_VAR => dieu khien = RUN , FR, STOP button va` R_VAR// MODE 2: AUTO// 1) nhap gia tri f1 (freq1)// 2) nhap gia tri f2 (freq2)// 3) nhap gia tri T ramp_up// 4) nhap gia tri T ramp_down// =>dieu khien = RUN , FR, STOP button va` mode 2 toc do ( thongbutton //thay doi toc do= "^" key)// MODE 3: PC control//////////////////////////////////////////////////////////////////////////////////////////////////////
#include //Header file in project manager of MPLAB
#device *=16 adc=8 HIGH_INTS=TRUE#fuses HS,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP#use delay (clock=20000000) //use delay function#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#include // Other files in project manager of MPLAB
//PTPER*4*sqrt(3)*SIN {data[0] -> data[511] }int16 const data[512]={0, 7, 14, 21, 28, 35, 43, 50, 57, 64,71, 78, 85, 92, 99, 106, 114, 121, 128, 135,142, 149, 156, 163, 170, 177, 184, 192, 199, 206,213, 220, 227, 234, 241, 248, 255, 262, 269, 277,284, 291, 298, 305, 312, 319, 326, 333, 340, 347,354, 361, 368, 376, 383, 390, 397, 404, 411, 418,425, 432, 439, 446, 453, 460, 467, 474, 481, 488,495, 502, 509, 516, 523, 530, 537, 544, 551, 558,565, 572, 579, 586, 593, 600, 607, 614, 621, 628,635, 642, 649, 656, 663, 670, 677, 684, 691, 698,705, 712, 719, 726, 733, 740, 747, 754, 760, 767,774, 781, 788, 795, 802, 809, 816, 823, 830, 836,843, 850, 857, 864, 871, 878, 885, 891, 898, 905,912, 919, 926, 933, 939, 946, 953, 960, 967, 973,
980, 987, 994, 1001,1007,1014,1021,1028,1035,1041,1048,1055,1062,1068,1075,1082,1089,1095,1102,1109,1116,1122,1129,1136,1142,1149,1156,1163,1169,1176,1183,1189,1196,1203,1209,1216,1223,1229,1236,1242,1249,1256,1262,1269,1275,1282,1289,1295,1302,1308,1315,1322,1328,1335,1341,1348,1354,1361,1367,1374,1380,1387,1393,1400,1406,1413,1419,1426,1432,1439,1445,1452,1458,1465,1471,1477,1484,1490,1497,1503,1509,1516,1522,1529,1535,1541,1548,1554,1560,1567,
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
82/110
CHNG 8: PH LC
77
1573,1579,1586,1592,1598,1605,1611,1617,1623,1630,1636,1642,1648,1655,1661,1667,1673,1680,1686,1692,1698,1704,1710,1717,1723,1729,1735,1741,1747,1754,1760,1766,1772,1778,1784,1790,1796,1802,1808,1814,1820,1826,1832,1839,1845,1851,1857,1863,1868,1874,
1880,1886,1892,1898,1904,1910,1916,1922,1928,1934,1940,1946,1951,1957,1963,1969,1975,1981,1986,1992,1998,2004,2010,2015,2021,2027,2033,2038,2044,2050,2056,2061,2067,2073,2078,2084,2090,2095,2101,2107,2112,2118,2124,2129,2135,2140,2146,2151,2157,2163,2168,2174,2179,2185,2190,2196,2201,2207,2212,2218,2223,2228,2234,2239,2245,2250,2256,2261,2266,2272,2277,2282,2288,2293,22982304,2309,2314,2320,2325,2330,2335,2341,2346,2351,2356,2361,2367,2372,2377,2382,2387,2392,2398,2403,2408,2413,2418,2423,2428,2433,2438,2443,2448,2453,2458,2463,2468,2473,2478,2483,2488,2493,2498,2503,2508,2513,2518,2522,2527,
2532,2537,2542,2547,2551,2556,2561,2566,2571,2575,2580, 2585,2589,2594,2599,2604,2608,2613,2618,2622,2627,2631,2636,2641,2645,2650,2654,2659,2664,2668,2673,2677,2682,2686,2691,2695,2699,2704,2708,2713,2717,2722,2726,2730,2735,2739,2743,2748,2752,2756,2761,2765,2769,2773,2778,2782,2786,2790,2795,2799,2803,2807,2811,2815,2820,28242828,2832,2836,2840,2844,2848,2852,2856,2860,2864,28682872,2876,2880,2884,2888,2892,2896,2900,2903,2907,2911,2915,2919,2923,2927,2930,2934,2938,2942,2945,2949,2953,2957,2960,2964,2968,2971,2975,2978,2982,2986,2989,2993,2996,3000 };
#define RUN PIN_C0 //all BUTTON is active LOW#define FR PIN_E0#define STOP PIN_E1
#define MENU PIN_E2 // back to previous level in MENU#define OK PIN_C1#define UP PIN_C2#define DOWN PIN_C3#define BACK PIN_C4#define NEXT PIN_C5
//--------------------------------------------------------caculation variblefloat f_float=0,temp_float=0;
signed long Vs_angle; //long=int16long update_angle;
long M,Vref,Vdc=311;long TS=2000,TA,TB,Tz; //TS=PTPER*4
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
83/110
CHNG 8: PH LC
78
// Fpwm=5Khz=> PTPER=500;// real TS is PTPER*0.2uS, when Fosc=20M )//Tz= T0/2
unsigned int temp_int=0,sector,adc,count_timer1_interupt;int f,f_req;
int1 first_run_flag,direction_flag;
//-------------------------------------------------------- varible in MODEsint mode_select=1;int return_2_mode_select;int f1,f2;int
T_ramp_up=10,T_ramp_down=5,T_ramp_up_ms=50,T_ramp_down_ms=25;//default value
int eeprom_check;int1 f_select=0; //as defaultf_select=0 => f1 ; f_select=1 => f2( use in
mode2)
//--------------------------------------------------------TEMP varibleint32 count=0,interrupt_number=0;
int1 disable_update_freq=0; //1= active
#INT_PWMTB HIGH //It will generate code to save and restore the machine state,and will clear the interrupt flagvoid PWM_INTERRUPT() //caculating base on "Vref" and "stepsize"{interrupt_number=interrupt_number+1;
TB=data[Vs_angle]; //data=PTPER*4*sqrt(3)*SIN ;// at 1st RUN: n=0
TA=data[511-Vs_angle];M=Vref*16/Vdc; // mutiply 16=> will shift right 4 bit laterTA=TA*M;TB=TB*M;TA=(TA>>4)&0x0FFF; //4TATB=(TB>>4)&0x0FFF; //4TBTz=(TS-TA-TB)/2; //TS=4TS
if(direction_flag==1) //FORWARD direction//
{ Vs_angle=Vs_angle+update_angle;if(Vs_angle>511){ Vs_angle=Vs_angle-511;
sector=sector+1;if(sector>6) //sector (1)->(6){ sector=1;}
}}
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
84/110
CHNG 8: PH LC
79
else //REVERSE direction//{ Vs_angle=Vs_angle-update_angle; //n overflow to value (2^16)-
"negative value" if n is unsigned intif(Vs_angle(6){ sector=6;}
}}
switch (sector){
case 1: set_power_pwm0_duty(TS-Tz);set_power_pwm2_duty(Tz+TB);set_power_pwm4_duty(Tz);
break;case 2: set_power_pwm0_duty(TA+Tz);
set_power_pwm2_duty(TS-Tz);set_power_pwm4_duty(Tz);break;
case 3: set_power_pwm0_duty(Tz);set_power_pwm2_duty(TS-Tz);set_power_pwm4_duty(Tz+TB);break;
case 4: set_power_pwm0_duty(Tz);set_power_pwm2_duty(Tz+TA);set_power_pwm4_duty(TS-Tz);break;
case 5: set_power_pwm0_duty(Tz+TB);set_power_pwm2_duty(Tz);set_power_pwm4_duty(TS-Tz);break;
case 6: set_power_pwm0_duty(TS-Tz);set_power_pwm2_duty(Tz);set_power_pwm4_duty(Tz+TA);break;
}
}#INT_TIMER1void READ_AD_RESULT() //With an internal clock at 20mhz and with theT1_DIV_BY_8 mode, the timer will increment every 1.6us. It will overflow every104.8576ms.{
if(count_timer1_interupt==10) // 1s{
adc=read_adc();
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
85/110
CHNG 8: PH LC
80
f_req=adc/4; //required motor speed in Hz {adc=0-255 => f_req=1-60 (Hz)}
if(f_req>60){f_req=60;}
count_timer1_interupt=1;
}
if(disable_update_freq==1){count_timer1_interupt=9;}else{count_timer1_interupt=count_timer1_interupt+1;}
}
void PORTS_INIT() //1
{set_tris_a(0b00000001); //RA0 as input ( AD converter)set_tris_b(0b11000000); //PWM0=>PWM5 as output
//PWM6,PWM7 as inputset_tris_c(0b11111111); //portC as BUTTON inputset_tris_d(0b00000000); //portD as output for display led
}void PWM_MODULE_INIT() //2{
setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_OFF );
//module 0(PWM0,PWM1) = COMPLEMENTARY//module 1(PWM2,PWM3) = COMPLEMENTARY//module 2(PWM4,PWM5) = COMPLEMENTARY//module 3(PWM6,PWM7) = OFF
setup_power_pwm(PWM_CLOCK_DIV_4|PWM_UP_DOWN|PWM_DEAD_CLOCK_DIV_4,1,0,500,0,1,10);
// 1) mode:PWM_CLOCK_DIV_4; PWM_UP_DOWN;PWM_DEAD_CLOCK_DIV_4,
// 2) postscale:1// 3) time_base:=> first value of timebase// 4) period:chu ky` xung 6 PWM =500 =>200uS// 5) compare:0
// 6) compare_postscale:1// 7) dead_time:10 => Tdeatime=10*0.2=2uSset_power_pwm0_duty(0);set_power_pwm2_duty(0);set_power_pwm4_duty(0);
}
void INTERRUPTS_INIT() //3 //INT_PWM will be enable after run button ispressed !
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
86/110
CHNG 8: PH LC
81
{enable_interrupts(INT_TIMER1);enable_interrupts(GLOBAL);
}
void ADC_INIT() //4{setup_adc_ports(sAN0); //AN0 as analog INPUTsetup_adc(ADC_CLOCK_DIV_32);set_adc_channel(0);delay_us(10);
}void TIMER_INIT() //5{setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);set_timer1(62500); //All timers count up. When a timerreaches the maximum value it will flip over to 0 and continue counting (254, 255, 0, 1,
2...)//62500*1.6 us =0.1s
}void PARAs_CAL(){
f_float=f;
temp_float=f_float*3;Vref=temp_float; //Vref(Vphase; motor in deltal mode) at f
frequency to maintain V/f=cont=(220*sqrt(2)/sqrt(3))/60=3
temp_float=0.6144*f_float; //0.6144=Tpwm*360*n/60 ; n=512update_angle=temp_float; //stepsize is INTERGER after this line
}void RAM_DOWN_SPEED(){
while(f>f_req){
f=f-1;PARAs_CAL();delay_ms(T_ramp_down_ms); // 0.05s/Hzif(f
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
87/110
CHNG 8: PH LC
82
lcd_gotoxy(10,0);printf(lcd_putc,"%2.0d",f);
break;case 2:
lcd_gotoxy(10,0);
printf(lcd_putc,"%2.0d",f);break;case 3:
fputc(f); //send value of f for PC
lcd_gotoxy(4,0);printf(lcd_putc,"%2.0d",f_req);lcd_gotoxy(10,0);
printf(lcd_putc,"%2.0d",f);break;
}//end switch
}}void RAM_UP_SPEED(){ while(ff_req){
f=f_req; //f=f_req when ram speed finished !}
switch(mode_select){ case 1:
lcd_gotoxy(4,0);printf(lcd_putc,"%2.0d",f_req);lcd_gotoxy(10,0);
printf(lcd_putc,"%2.0d",f);break;
case 2:lcd_gotoxy(10,0);
printf(lcd_putc,"%2.0d",f);break;
case 3: fputc(f); //send value of f for PC
lcd_gotoxy(4,0);printf(lcd_putc,"%2.0d",f_req);lcd_gotoxy(10,0);
printf(lcd_putc,"%2.0d",f);break;
}//end switch
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
88/110
CHNG 8: PH LC
83
}
}void defaul_value_in_EEPROM() //use in MODE2: AUTO ; P18F has 256 bytes
eeprom which address from 0x00 -> 0xFF{write_eeprom(0X00,100); //temp_eeprom for checking at 1st readingwrite_eeprom(0X10,30); //f1write_eeprom(0X20,60); //f2write_eeprom(0X03,6); //T_ramp_upwrite_eeprom(0x04,3); //T_ramp_down
}/////////////////////////////////////////////////////////////////////
void MAIN (){
PORTS_INIT(); //1lcd_init(); // this subrotine in flex_LCD.C filePWM_MODULE_INIT(); //2INTERRUPTS_INIT(); //3ADC_INIT(); //4TIMER_INIT(); //5
MODE_SELECT:return_2_mode_select=0; //return_2_mode_select=0 as default;return_2_mode_select=1 when mode button is pressedswitch (mode_select){ case 1:
lcd_gotoxy(1,1);printf(lcd_putc,"< M1:Read_AD >");
lcd_gotoxy(1,0);printf(lcd_putc," ok");
while( 1){
if(!input(OK)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
goto MODE_R_VAR;}if(!input(NEXT)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=2;goto MODE_SELECT;
}
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
89/110
CHNG 8: PH LC
84
if(!input(BACK)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=3;
goto MODE_SELECT;}}break;
case 2:lcd_gotoxy(1,1);
printf(lcd_putc,"< M2:Set freq >");lcd_gotoxy(1,0);
printf(lcd_putc," ok");while( 1){
if(!input(OK))
{ output_bit(PIN_D3,1);delay_ms(200);output_bit(PIN_D3,0);goto MODE_AUTO;
}if(!input(NEXT)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=3;goto MODE_SELECT;
}if(!input(BACK)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=1;goto MODE_SELECT;
}}
break;case 3:
lcd_gotoxy(1,1);printf(lcd_putc,"< M3:COMPUTER >");lcd_gotoxy(1,0);
printf(lcd_putc," ok");while( 1){
if(!input(OK)){ output_bit(PIN_D3,1);
delay_ms(200);
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
90/110
CHNG 8: PH LC
85
output_bit(PIN_D3,0);goto MODE_COMPUTER;
}if(!input(NEXT)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=1;goto MODE_SELECT;
}if(!input(BACK)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);mode_select=2;goto MODE_SELECT;
}
}break;
}//==================================================// MODE_R_VAR//==================================================MODE_R_VAR:
lcd_gotoxy(1,1);printf(lcd_putc,"T ramp up :?? s"); //clear screenlcd_gotoxy(1,0);printf(lcd_putc," "); //clear screen
T_RAMP_UP_MODE1:while(1){
if(!input(OK)) // OK button is pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
goto NEXT_MODE1;}if(!input(UP)) // UP button is pressed?
{ output_bit(PIN_D3,1);delay_ms(200);output_bit(PIN_D3,0);
T_ramp_up=T_ramp_up+1;if(T_ramp_up>20){T_ramp_up=5;}
}if(!input(DOWN)) // DOWN button is
pressed?
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
91/110
CHNG 8: PH LC
86
{ output_bit(PIN_D3,1);delay_ms(200);output_bit(PIN_D3,0);
T_ramp_up=T_ramp_up-1;if(T_ramp_up user press stop BUTTON => want to return to main menu)
}}//end while T ramp up mode1:
T_RAMP_DOWN_MODE1:lcd_gotoxy(1,0);printf(lcd_putc,"T ramp down:?? s");
while(1){
if(!input(UP)) // UP button is pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
T_ramp_down=T_ramp_down+1;if(T_ramp_down>20){T_ramp_down=5;}
}if(!input(DOWN)) // DOWN button is
pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
92/110
CHNG 8: PH LC
87
T_ramp_down=T_ramp_down-1;if(T_ramp_down user press stop BUTTON => want to return to main menu)
}}//end while T ramp down mode1:
NEXT_MODE1:MODE_R_VAR_return_from_stop_button:
lcd_gotoxy(1,1);printf(lcd_putc,"M1 freq READY "); //clear screenlcd_gotoxy(1,0);printf(lcd_putc,"Rv ?? 2 RUN "); // ?? wil be cleard when value update
//----------------- DEFAULT VALUE ------------------------------------------first_run_flag=1;direction_flag=1;
f=0,f_req=0;
Vs_angle=0; //default value for 1st Vs; direction=1update_angle=0;sector=1;
count_timer1_interupt=10; // get 1st value of A/D//--------------------------------------------------------------------------
while (1) //MAIN of MODE 1
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
93/110
CHNG 8: PH LC
88
{lcd_gotoxy(4,0);printf(lcd_putc,"%2.0d",f_req); //int_timer1 is enable as default to read AD
result =>f_req
if(return_2_mode_select==1) //return_2_mode_select=0 as default;return_2_mode_select=1 when mode button is pressed{
goto MODE_SELECT; //return to MODE select}
if(!input(MENU)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
goto MODE_SELECT; //return to MAIN menu (motor isrunning => user press stop BUTTON => want to return to main menu)
}
//RUN Button is pressed ? ----------------------------------------------------if(!input(RUN)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
enable_interrupts(INT_PWMTB);//int_PWM must be enable after RUNbutton is pressed to prevent HIGH CURRENT ( don't know why it is, just seen it intesting if int_PWM enable b4 run button is pressed !!!)
lcd_gotoxy(1,1);printf(lcd_putc," "); //clear screenlcd_gotoxy(1,0);printf(lcd_putc," ");lcd_gotoxy(1,1);printf(lcd_putc,"M1 freq fo DIR"); //clear screenlcd_gotoxy(1,0);printf(lcd_putc,"AD ?? ?? ? "); // ?? wil be cleard when value update
switch(direction_flag) // direction display{ case 1:
lcd_gotoxy(15,0);printf(lcd_putc,"F");
break;
case 0: lcd_gotoxy(15,0);printf(lcd_putc,"R");
break;}
if(first_run_flag==1) //RAM UP SPEED at 1st RUN{
RAM_UP_SPEED();
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
94/110
CHNG 8: PH LC
89
first_run_flag=0; //disable RUN button when motor isRUNNING
}} //end if(!PIN_E0)//------------------------------------------------END of "RUN Button is pressed ?"
while (first_run_flag==0){RAM_UP_SPEED();RAM_DOWN_SPEED();
if(!input(FR))//FR Button is pressed ? ----------------------------------------------------
{ output_bit(PIN_D3,1);delay_ms(200);output_bit(PIN_D3,0);
disable_interrupts(INT_TIMER1); //stop reading A/D
temp_int=f_req; //save current f_reqf_req=0;RAM_DOWN_SPEED();direction_flag=direction_flag+1; //complement
direction_flag=direction_flag+1switch(direction_flag) //change direction display{ case 1:
lcd_gotoxy(15,0);printf(lcd_putc,"F");
break;case 0:
lcd_gotoxy(15,0);printf(lcd_putc,"R");
break;}
f_req=temp_int; //restore f_reqRAM_UP_SPEED();
enable_interrupts(INT_TIMER1); //enable reading A/D}//------------------------------------------------END of "FR Button is pressed
?"
if(!input(STOP)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
STOP_MOTOR_MODE1: //lable for MODEbutton is pressed => stop motor
//disable_interrupts(INT_TIMER1); //stop reading A/Ddisable_update_freq=1;
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
95/110
CHNG 8: PH LC
90
f_req=0;RAM_DOWN_SPEED();
first_run_flag=1; //prepare for RAM_UP ifRUN button is pressed next time
//enable_interrupts(INT_TIMER1); //enable reading A/Ddisable_update_freq=0;disable_interrupts(INT_PWMTB); // it'll enable later when
run button is pressed
goto MODE_R_VAR_return_from_stop_button; //return tocurrent mode
}if(!input(MENU)){ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
return_2_mode_select=1;goto STOP_MOTOR_MODE1;
}}//end while(first_run=0)
}//while(1)
//==================================================// END of MODE R_VAR ////==================================================
//==================================================// MODE AUTO ////==================================================
MODE_AUTO:lcd_gotoxy(1,1);
printf(lcd_putc,"T ramp up :?? s"); //clear screenlcd_gotoxy(1,0);printf(lcd_putc," "); //clear screen
T_RAMP_UP_MODE2:
while(1){if(!input(OK)) // OK button is pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
goto NEXT_MODE2;}
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
96/110
CHNG 8: PH LC
91
if(!input(UP)) // UP button is pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
T_ramp_up=T_ramp_up+1;
if(T_ramp_up>20){T_ramp_up=5;}}if(!input(DOWN)) // DOWN button is
pressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
T_ramp_up=T_ramp_up-1;if(T_ramp_up user press stop BUTTON => want to return to main menu)
}}//end while T ramp up mode3:
T_RAMP_DOWN_MODE2:lcd_gotoxy(1,0);printf(lcd_putc,"T ramp down:?? s");
while(1){
if(!input(UP)) // UP button is pressed?{ output_bit(PIN_D3,1);
delay_ms(200);
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
97/110
CHNG 8: PH LC
92
output_bit(PIN_D3,0);T_ramp_down=T_ramp_down+1;
if(T_ramp_down>20){T_ramp_down=5;}
}
if(!input(DOWN)) // DOWN button ispressed?{ output_bit(PIN_D3,1);
delay_ms(200);output_bit(PIN_D3,0);
T_ramp_down=T_ramp_down-1;if(T_ramp_down user press stop BUTTON => want to return to main menu)
}}//end while T ramp down mode2:
NEXT_MODE2:MODE_AUTO_return_from_stop_button:
if(return_2_mode_select==1) //return_2_mode_select=0 as default;return_2_mode_select=1 when mode button is pressed
{goto MODE_SELECT; //return to MODE select
}
disable_interrupts(INT_TIMER1); //disable reading AD from R_VAR
8/8/2019 IU KHIN NG C KHNG NG B 3 PHA S DNG VI IU KHIN PIC18F4431 THEO PHNG PHP VECTOR
98/110
CHNG 8: PH LC
93
lcd_gotoxy(1,1);printf(lcd_putc," "); //clear screenlcd_gotoxy(1,0);printf(lcd_putc," ");
lcd_gotoxy(1,1);printf(lcd_putc,"M2 f1 ->"); //clear screenlcd_gotoxy(1,0);printf(lcd_putc,"Au ?? "); // ?? wil be cleard when value update
eeprom_check=read_eeprom(0x00);if(eeprom_check!=100) //100 is default set for
eeprom_check{ defaul_value_in_EEPROM(); //load default value}
f1_select://f1=read_eeprom(0x10); //read f_req2 value in eepromf1=30;
while(1){
if(!input(OK)) //