You are on page 1of 121

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
BA PHA THEO PHNG PHP SINPWM,
S DNG VI IU KHIN dsPIC30F6010

SVTH :
CBHD :
MSSV :
B MN

L TRUNG NAM
TS. L MINH PHNG
40201632
: IN - IN T

TP H Ch Minh, 01/2007

NHN XT CA GIO VIN HNG DN


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Tp H Ch Minh, thng 1 nm 2007
Gio vin hng dn

ii

NHN XT CA GIO VIN PHN BIN


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Tp H Ch Minh, thng 1 nm 2007
Gio vin phn bin

iii

LI CM N
Ti xin gi li cm n chn thnh nht n qu Thy C trng i Hc Bch
Khoa Tp. H Ch Minh, nhng ngi du dt ti tn tnh, 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
c bit l thy L Minh Phng, thy Phan Quc Dng ,thy Trn Thanh V tn
tnh hng dn, gip , to mi iu kin thun li ti hon thnh tt lun vn tt
nghip ny.
Ti xin cm n gia nh ti, nhng ngi thn cho ti nhng iu kin tt
nht hc tp trong sut thi gian di.
Ngoi ra ti xin gi li cm n n bn gi ti(H.T.T), n tt c nhng ngi
bn ca ti, nhng ngi cng gn b, cng hc tp v gip ti trong nhng
nm qua cng nh trong sut qu trnh thc hin lun vn tt nghip.

Tp. H Ch Minh, thng 1 nm 2007

iv

MC LC
CHNG 1: GII THIU V NG C KHNG NG B ................ 1
1.1.Tng quan v my in khng ng b ........................................................................ 2
1.1.1 Nguyn l lm vic:............................................................................................... 2
1.1.2 Cu to .................................................................................................................. 3
1.2 ng dng ca ng c khng ng b.......................................................................... 4
1.3 Kh nng dng ng c xoay chiu thay th my in mt chiu: ................................ 5
1.4 Kt lun: ...................................................................................................................... 6

CHNG 2: L THUYT V PHNG PHP IU KHIN ................ 7


2.1 Gii thiu v bin tn ngun p iu khin theo phng php V/f ................................ 8
2.2.1 Phng php E/f.................................................................................................... 8
2.2.2 Phng php V/f ................................................................................................... 8
2.3 Cac phng phap thng dung trong iu khin ng c khng ng b:..................... 10
2.3.1 Phng php iu rng xung SINPWM ............................................................... 10
2.3.1.1 Cc cng thc tnh ton................................................................................. 12
2.3.1.2 Cch thc iu khin..................................................................................... 13
2.3.1.3 Quy trnh tnh ton:....................................................................................... 14
2.3.1.4 Hiu qu ca phng php iu khin :......................................................... 15
2.3.2 Phng phap iu ch vector khng gian ( Space Vector):.................................. 17
2.3.2.1 Thnh lp vector khng gian: ........................................................................ 17
2.3.2.2 Tnh ton thi gian ng ngt: ...................................................................... 20
2.3.2.3 Phn b cc trng thi ng ngt:.................................................................. 22
2.3.2.4 K thut thc hin iu ch vector khng gian: ............................................. 22
2.3.2.5 Gin ng ngt cc kha to ra Vector Vs trong tng sector: .............. 22

CHNG 3 : CU TO V CC THNG S PHN CNG ................. 25


3.1 S khi ca mch iu khin ng c:................................................................... 27
3.2 Gii thiu chi tit cac khi iu khin:........................................................................ 27
3.2.1 Mch li .............................................................................................................. 27
3.2.2 Mch cch ly ....................................................................................................... 31
3.2.3 Mch MOSFETs.................................................................................................. 31
3.2.4 Mch chnh lu.................................................................................................... 33
3.2.4.1 B chnh lu: ................................................................................................ 33
3.2.4.2 Phng php chnh lu : ............................................................................... 33

CHNG 4 : S CU TO MCH IU KHIN ............................ 34


4.1 S mch cch ly .................................................................................................... 35
4.2 S mch li............................................................................................................ 37
4.3 S mch ng lc .................................................................................................. 38
4.4 S mch iu khin ............................................................................................... 39
4.4.1 Khi iu khin ................................................................................................... 39
4.4.2 Khi giao tip my tnh ....................................................................................... 40
4.4.3 Khi hin th........................................................................................................ 40
4.4.4 Khi nt bm....................................................................................................... 41

CHNG 5: GII THIU V DSPIC 6010................................................ 42


5.1 Tng quan v vi iu khin dsPIC30F6010 ................................................................ 43
5.2 Cc c im c bit h MCU dsPic-6010: ............................................................ 44
5.3 Gii thiu khi qut v cu trc phn cng: ................................................................ 45

5.4 Khi qut v cc thanh ghi lm vic ........................................................................... 50


5.4.1 Cc thanh ghi iu khin : ................................................................................... 50
5.4.2 Thanh ghi TRIS: .................................................................................................. 50
5.4.3Thanh ghi PORT: ................................................................................................. 51
5.4.4Thanh ghi LAT:.................................................................................................... 51
5.5 Gii thiu v cc module c bn................................................................................. 52
5.5.1 Module Timer :.................................................................................................... 52
5.5.1.1 Module Timer 1 ............................................................................................ 52
5.5.1.2 Timer2/3 module: ......................................................................................... 54
5.5.1.3 Timer4/5 module : ........................................................................................ 57
5.5.2 Module AD: ........................................................................................................ 59
5.5.2.1Gii thch hot ng....................................................................................... 60
5.5.2.2 Qu trnh hot ng ca module ADC c tm tt nh cc bc sau: ......... 60
5.5.2.3 Cc s kin kch chuyn i:......................................................................... 61
5.5.2.4 Tc ng reset............................................................................................... 61
5.5.2.5 nh dng kiu d liu trong module A/D..................................................... 61
5.5.3 Module PWM:..................................................................................................... 62
5.5.3.1 Cc c im ca module PWM ................................................................... 62
5.5.3.2 Gii thch hot ng ca module PWM......................................................... 63
5.5.3.3 Cc b m t l trong module PWM: ........................................................... 67
5.5.3.4 Cc thanh ghi lm vic trong module PWM .................................................. 68
5.6 GII THIU V TP LNH CA MCU DSPIC-6010 ............................................. 70

CHNG 6: S KHI V GII THUT IU KHIN................... 75


6.1 S khi chng trnh : ........................................................................................... 76
6.2 S gii thut chng trnh :.................................................................................... 77

CHNG 7 : KT QU T C ......................................................... 80
7.1 Phn cng: ................................................................................................................. 81
7.1.1 Mch ng lc:.................................................................................................... 81
7.1.2 Mch iu khin .................................................................................................. 82
7.2 Phn mm: ................................................................................................................. 83
7.3 Dng sng in p ng ra: .......................................................................................... 83

PH LC........................................................................................................ 85
TI LIU THAM KHO............................................................................ 111
TI LIU THAM KHO TRONG NC.................................................................... 111
TI LIU THAM KHO NC NGOI..................................................................... 111
WEBSITE THAM KHO ............................................................................................. 111

vi

DANH SCH HNH V


Hnh1.1: Nguyn l hot ng ca ng c............................................................................ 2
Hnh1.2: L thp k thut in ............................................................................................... 3
Hnh 2.1: Quan h gia moment v in p theo tn s ........................................................ 10
Hnh 2.2: Nguyn l ca phng php iu rng sin ............................................................ 11
Hnh 2.3 : S dng in p trn cc pha........................................................................... 12
Hnh 2.4: Qu trnh hot ng ca b iu khin.................................................................. 13
Hnh 2.5: S kt ni cc kha trong b nghch lu .......................................................... 16
Hnh 2.6 : S b bin tn nghch lu p 6 kha (MOSFETs hoc IGBTs)........................ 17
Hnh 2.7: Biu din vector khng gian trong h ta x-y................................................... 17
Hnh 2.8: Cc vector khng gian t 1 n 6......................................................................... 19
Hnh 2.9: Trng thi ng-ngt ca cc kha........................................................................ 19
Hnh 2.10: Vector khng gian Vs trong vng 1 ................................................................... 20
Hnh 2.11: Vector khng gian Vs trong vng bt k............................................................. 21
Hnh 2.12: Gin ng ct linh kin .................................................................................. 22
Hnh 2.13: Vector Vs trong cc vng t 0-6 ......................................................................... 24
Hnh 3.1: S khi mch iu khin.................................................................................. 27
Hnh 3.2: V d s iu khin mosfet .............................................................................. 28
Hnh 3.3: S khi ca IC li mosfet................................................................................. 29
Hnh 3.4: IC IR2136 ............................................................................................................ 29
Hnh 3.5: S kt ni IR2136............................................................................................ 30
Hnh 3.6: S khi ca opto .............................................................................................. 31
Hnh 3.7: S khi ca MOSFET v IGBT ....................................................................... 32
Hnh 3.8: IRFP460P............................................................................................................. 33
Hnh 4.1 : S mch cch ly.............................................................................................. 36
Hnh 4.2 : S mch li mosfet ......................................................................................... 37
Hnh 4.3 : S mch ng lc ........................................................................................... 38
Hnh 4.4 : S khi iu khin chnh ................................................................................ 39
Hnh 4.5 : S khi giao tip my tnh .............................................................................. 40
Hnh 4.6 : S khi hin th .............................................................................................. 40
Hnh 4.7 : S khi nt bm.............................................................................................. 41
Hnh 5.1 : Cc h vi iu khin PIC v dsPIC ...................................................................... 43
Hnh 5.2: S ng dng cc h vi iu khin .................................................................... 43
Hnh 5.3: S chn dsPIC30F6010.................................................................................... 45
Hnh 5.4: S t chc bn trong MCU dsPIC6010 ............................................................ 46
Hnh 5.5: S t chc b nh bn trong MCU dsPIC6010 ................................................ 49
Hnh 5.6:S cu to bn trong mt I/O ............................................................................ 50
Hnh 5.7: S cu to tng quan ca cc I/O Port trong MCU ........................................... 51
Hnh 5.8: S cu to ca b16-bit Timer1 ....................................................................... 53
Hnh 5.9: S cu to ca b 32-bit Timer2/3 ................................................................... 56
Hnh 5.10: S cu to ca b 16-bit Timer2 (Timer loi B) ............................................. 56
Hnh 5.11: S cu to ca b 16-bit Timer3 ( Timer loi C) ............................................ 57
Hnh 5.12: S cu to ca b 32-bit Timer4/5 ................................................................. 58
Hnh 5.13: S cu to ca b 16-bit Timer4 (Timer loi B) ............................................. 58
Hnh 5.14: S cu to ca b 16-bit Timer5 (Timer loi C) ............................................. 59
Hnh 5.15: S cu to bn trong module A/D .................................................................. 60
Hnh 5.16: S cu to bn trong module PWM................................................................ 63

vii

Hnh 5.17 : Cp nht gi tr PWM trong ch t do........................................................... 64


Hnh 5.18 : Cp nht gi tr PWM trong ch m ln xung ............................................ 65
Hnh 5.19 : Cp nht gi tr PWM trong ch cp nht kp ............................................... 65
Hnh 5.20: Tn hiu PWM trong ch hot ng h tr ..................................................... 66
Hnh 5.21: Xung PWM dng Edge Aligned.......................................................................... 66
Hnh 5.22: Xung PWM dng Center Aligned ....................................................................... 67
Hnh 5.23: B m t l trong module PWM ........................................................................ 67
Hnh 7.1 : Mch ng lc..................................................................................................... 81
Hnh 7.2: Mch iu khin ................................................................................................... 82
Hnh 7.3: Giao din giao tip my tnh................................................................................. 83
Hnh 7.4: Dng in p pha ng ra ....................................................................................... 83
Hnh 7.5 : Dng in p dy ng ra ...................................................................................... 84

viii

DANH SCH BNG BIU


Bng 2.1: Gi tr in p cc trng thi ng ngt v vector khng gian tng ng .............. 20
Bng 3.1: Thng s ng c................................................................................................. 26
Bng 3.2 : nh ngha cc chn trong IR2136 ...................................................................... 31
Bng 5.1 : Thit lp tn s hot ng ................................................................................... 44
Bng 5.2: M t chc nng, tnh cht cc I/O trong MCU .................................................... 49
Bng 5.3: Trnh by s cc thanh ghi iu khin TIMER1............................................... 53
Bng 5.4: Trnh by cc thanh ghi iu khin Timer2/3 ....................................................... 55
Bng 5.5: Trnh by cc thanh ghi iu khin Timer4/5 ....................................................... 57
Bng 5.6: nh dng kiu lu tr kt qu ............................................................................. 62
Bng 5.7: Bng thanh ghi iu khin module AD................................................................. 62
Bng 5.8 : Bng thanh ghi iu khin module PWM ............................................................ 69
Bng 5.9: Bng tp lnh MCU 6010..................................................................................... 74

DANH MC T VIT TT, TN NC NGOI


ACIM
AD
ADC
CKB
Fcy
Fosc
I/O
MCU
MODULE
PWM
SINPWM
TIMER

AC Induction Motor
Analog To Digital
Analog To Digital Conversion

ng c dng ngun xoay chiu


Tun t sang s
B chuyn i tun t sang s
ng c khng ng b
Tn s hot ng trong vi iu khin
Tn s thch anh
Ng vo, ng ra
Vi iu khin
Khi
iu rng xung
iu rng xung sin
B nh th

Input/Output
Micro Controller Unit
Pulse Width Modulation
Sin Pulse Width Modulation

ix

TM TT LUN VN
MC CH LUN VN:

Tm hiu v thit k b bin tn truyn thng ( 6 kha) ba pha iu khin CKB


theo phng php V/f v iu ch SINPWM .

Kho st nguyn tc ng ct cc kha bn dn trong b nghch lu .

Kim tra, nh gi dng sng in p ng ra.

Nguyn cu gii thut v vit chng trnh iu khin.

PHNG PHP NGHIN CU

Tham kho v tng hp ti liu trong v ngoi nc.

Tin hnh thc nghim trn m hnh thc t.

Theo di, nh gi, nhn xt cc thng s thc nghim.

X l s liu, tnh ton, v vit bo co.

THI GIAN THC HIN


Thi gian thc hin lun vn: 3/9/2006 30/12/2006.

A IM THC HIN
Nghin cu ny c thc hin bng cc m hnh qui m phng th nghim in t
cng sut t tai trng i hc Bch Khoa TP H Ch Minh.

NGHA KHOA HC V THC TIN CA NGHIN CU

xut m hnh bin tn iu khin ng c khng ng b ba pha dng trong cc h


thng truyn ng vi gi thnh thp, p ng c cc yu cu c bn ca thc t.

Do hn ch v mt thi gian, iu kin kinh t nn trong phm vi lun vn tt nghip


ny ch dng li iu khin vng h ng c khng ng b ba pha v hi vng
ti s c tip tc pht trin trong tng lai .

CHNG 1: GII THIU V NG C KHNG NG B

CHNG 1

GII THIU V NG C
KHNG NG B

CHNG 1: GII THIU V NG C KHNG NG B

CHNG 1: GII THIU V NG C KHNG NG B


1.1.Tng quan v my in khng ng b
1.1.1 Nguyn l lm vic:

Hnh1.1: Nguyn l hot ng ca ng c


Khi nam chm in quay ( tc n1 vng/ pht ) lm ng sc t quay ct qua cc
cnh ca khung dy cm ng gy nn sc in ng E trn khung dy. Sc in ng E sinh
ra dng in I chy trong khung dy. V dng in I nm trong t trng nn khi t trng
quay lm tc ng ln khung dy mt lc in t F. Lc in t ny lm khung dy chuyn
ng vi tc n vng/ pht.
V n < n1 nn gi l khng ng b.
CKB ba pha c dy qun ba pha pha stator, Roto ca CKB l mt b dy qun ba pha
c cng s cc trn li thp ca Roto.
Khi Stator c cung cp bi ngun ba pha cn bng vi tn s f, t trng quay vi tc

db s c to ra. Quan h gia t trng quay v tn s f ca ngun ba pha l :

db =

2 f 1
= (rad / s)
p
p

Trong :
p - s i cc

1 - tn s gc ca ngun ba pha cung cp cho ng c: 1 = 2 f


Nu tc quay ca roto l , sai lch gia tc t trng quay stator v roto l:
sl = db = s.db
Trong sl gi l tc trt
Thng s s gi l trt, ta c:
s=

db
db

V c tc tng i gia roto v t trng quay stator , in p cm ng ba pha s c


sinh ra trong roto .Tn s ca in p ny s t l vi trt theo cng thc :

CHNG 1: GII THIU V NG C KHNG NG B

r = s * 1 (rad / s)
Moment ng c sinh ra:
M =

Trong :

p 2m Fm sin r

m : t thng tr6en mt cc (Wb).


Fm : gi tr nh ca sc t ng roto.

r : gc lch pha gia sc t ng roto v sc t ng khe h khng kh.


1.1.2 Cu to

a)Phn tnh (Stato)

Stato c cu to gm v my,li st v dy qun


* V my

V my c tc dng c nh li st v dy qun, khng dng lm mch dn t.


Thng v my c lm bng gang. i vi my c cng sut tng i ln ( 1000kW )
thng dng thp tm hn li lm thnh v my. Tu theo cch lm 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. Khi ng knh ngoi li st nh hn 90
mm th dng c tm trn p li. Khi ng knh ngoi ln hn th dng nhng tm hnh r
qut (hnh 2) ghp li.

Hnh1.2: L thp k thut in


*Dy qun

Dy qun stator c t vo cc rnh ca li st v c cch in tt vi li st.


b)Phn quay (roto)

Rotor c 2 loi chnh : rotor kiu dy qun v rotor kiu lng sc.

CHNG 1: GII THIU V NG C KHNG NG B

Rotor dy qun :

Rto c dy qun ging nh dy qun ca stator. Dy qun 3 pha ca rto thng u hnh
sao cn ba u kia c ni vo vnh trt thng lm bng ng t c nh mt u trc
v thng qua chi than c th u vi mch in bn ngoi. c im l c th thng qua chi
than a in tr ph hay sut in ng ph vo mch in rto ci thin tnh nng m
my, iu chnh tc hoc ci thin h s cng sut ca my. Khi my lm vic bnh thng
dy qun rotor c ni ngn mch. Nhc im so vi ng c rotor lng sc l gi thnh
cao, kh s dng mi trng khc nghit, d chy n
Rotor lng sc :

Kt cu loi dy qun ny rt khc vi dy qun stator. Trong mi rnh ca li st rotor t


vo thanh dn bng ng hay nhm di ra khi li st v c ni tt li hai u bng hai
vnh ngn mch bng ng hay nhm lm thnh mt ci lng m ngi ta quen gi l lng
sc.
c)Khe h khng kh

V rotor l mt khi trn nn khe h u. Khe h trong my in khng ng b rt nh


hn ch dng in t ha ly t li v nh vy mi c th lm cho 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 c in. Do
kt cu n gin, lm vic chc chn, hiu sut cao, gi thnh h nn ng c khng ng b
l loi my c dng rng ri Trong i sng hng ngy, ng c khng ng b ngy cng
chim mt v tr quan trng vi nhiu ng dng trong cng nghip, nng nghip va trong i
sng hang ngay.

1.2 ng dng ca ng c khng ng b


Ngy nay, cc h thng truyn ng in c s dng rt rng ri trong cc thit b hoc
dy chuyn sn xut cng nghip, trong giao thng vn ti, trong cc thit b in dn dng, . .
. c tnh c khong 50% in nng sn xut ra c tiu th bi cc h thng truyn ng
in.
H truyn ng in c th hot ng vi tc khng i hoc vi tc thay i
c. Hin nay khong 75 80% cc h truyn ng l loi hot ng vi tc khng i.
Vi cc h thng ny, tc ca ng c hu nh khng cn iu khin tr cc qu trnh khi
ng v hm. Phn cn li, l cc h thng c th iu chnh c tc phi hp c tnh
ng c v c tnh ti theo yu cu. Vi s pht trin mnh m ca k thut bn dn cng
sut ln v k thut vi x l, cc h iu tc s dng k thut in t ngy cng c s dng
rng ri v l cng c khng th thiu trong qu trnh t ng ha.
ng c khng ng b c nhiu u im nh: kt cu n gin, lm vic chc chn,
hiu sut cao, gi thnh h, c kh nng lm vic trong mi trng c hi hoc ni c kh
nng chy n cao. V nhng u im ny nn ng c khng ng b c ng dng rt rng
4

CHNG 1: GII THIU V NG C KHNG NG B

ri trong cc ngnh kinh t quc dn vi cng sut t vi chc n hng nghn kW. Trong
cng nghip, ng c khng ng b thng c dng lm ngun ng lc cho cc my cn
thp loi va v nh, cho cc my cng c cc nh my 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 t ng ha, phm vi ng dng ca ng c khng ng b ngy cng
rng ri.
So vi my in DC, vic iu khin my in xoay chiu gp rt nhiu kh khn bi
v 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 c in xoay chiu so vi my in mt chiu.
Cho nn vic tch ring iu khin gia moment v t thng c th iu khin c lp i
hi mt h thng c th tnh ton cc nhanh v chnh xc trong vic qui i cc gi tr xoay
chiu v cc bin n gin . V vy, cho n gn y, phn ln ng c xoay chiu lm vic
vi cc ng dng c tc khng i do cc phng php iu khin trc y dng cho
my in thng t v c hiu sut km. ng c khng ng b cng khng trnh khi
nhc im ny.

1.3 Kh nng dng ng c xoay chiu thay th my in mt chiu:


Nhng kh khn trong vic ng dng ng c xoay chiu chnh l lm th no c
th d dng iu khin c tc ca n nh vic iu khin ca ng c DC. V vy, mt
tng v vic bin i mt my in xoay chiu thnh mt my in mt chiu trn phng
din iu khin ra i. y chnh l iu khin vector. iu khin vector s cho php iu
khin t thng v moment hon ton c lp vi nhau thng qua iu khin gi tr tc thi
ca dng (ng c tip dng) hoc gi tr tc thi ca p (ng c tip p).
iu khin vector cho php to ra nhng phn ng nhanh v chnh xc ca c t
thng v moment trong c qu trnh qu cng nh qu trnh xc lp ca my in xoay
chiu ging nh my in mt chiu. Cng vi s pht trin ca k thut bn dn v nhng
b vi x l c tc nhanh v gi thnh h, vic ng dng ca iu khin vector ngy cng
c s dng rng ri trong nhiu h truyn ng v tr thnh mt tiu chun cng nghip.
Vi s pht trin nhanh chng, ngnh cng nghip t ng lun i hi s ci tin
thng xuyn ca cc loi h truyn ng khc nhau. Nhng yu cu ci tin ct yu l tng
tin cy, gim kh nng tiu th in nng, gim thiu chi ph bo dng, tng chnh xc
v tng kh nng iu khin phc tp. V vy, nhng h truyn ng vi ng c in mt
chiu ang dn thay th bi nhng h truyn ng ng c xoay chiu s dng iu khin
vector. Bi v, l do chnh s dng rng ri ng c in mt chiu trc kia l kh nng
iu khin c lp t thng v moment lc nu cng nh cu trc h truyn ng kh n
gin. Tuy nhin, chi ph mua v bo tr ng c cao, c bit khi s lng my in phi dng
ln. Trong khi , cc ng dng thc t ca l thuyt iu khin vector c thc hin t
nhng nm 70 vi cc mch iu khin lin tc. Nhng cc mch lin tc khng th p ng

CHNG 1: GII THIU V NG C KHNG NG B

c s i hi phi chuyn i tc thi ca h quy chiu quay do iu ny i hi mt khi


lng tnh ton trong mt thi gian ngn.
S pht trin ca nhng mch vi x l lm thay i vic ng dng ca l thuyt
iu khin vector. Kh nng ti u trong iu khin qu ca iu khin vector l nn mng
cho s pht trin rng ri ca cc h truyn ng xoay chiu (v gi thnh ca ng c xoay
chiu rt r hn so vi ng c mt chiu).
Ngoi nhng pht trin trong iu khin vector, mt s pht trin ng ch khc chnh l
vic ng dng mng neural (neural networks) v logic m (fuzzy logic) vo iu khin vector
ang l nhng ti nghin cu mi trong nghin cu h truyn ng. Hai k thut iu
khin mi ny s to nn nhng ci tin vt bc cho h truyn ng ca my in xoay
chiu trong mt tng lai gn. Trin vng ng dng rng ri ca hai k thut ny ph thuc
vo s pht trin ca b vi x l bn dn (semiconductor microprocessor).
Vi s pht trin mnh ca cc b bin i in t cng sut, mt l thuyt iu khin
my in xoay chiu khc hn vi iu khin vector ra i. L thuyt iu khin trc tip
moment lc (Direct Torque Control hay vit tt l DTC) do gio s Noguchi Takahashi a ra
vo cui nm 80. Tuy nhin, k thut iu khin moment trc tip vn cha phi hon ho v
cn phi nghin cu thm.

1.4 Kt lun:
Vi s pht trin mnh m ca k thut bn dn cng sut cao v k thut vi x l, hin
nay cc b iu khin CKB c ch to vi p ng tt hn, gi thnh r hn cc b
iu khin ng c DC. Do , CKB c th thay th c ng c Dctrong rt nhiu ng
dng .D kin trong tng lai gn , CKB s c s dng rng ri trn hu ht cc b
truyn ng iu khin tc .

CHNG 2: L THUYT V PHNG PHP IU KHIN

CHNG 2

L THUYT V PHNG
PHP IU KHIN

CHNG 2: L THUYT V PHNG PHP IU KHIN

CHNG 2: L THUYT V PHNG PHP IU KHIN


2.1 Gii thiu v bin tn ngun p iu khin theo phng php V/f
c s dng hu ht trong cc bin tn hin nay. Tc ca CKB t l trc tip
vi tn s ngun cung cp. Do , nu thay i tn s ca ngun cung cp cho ng c th
cng s thay i c tc ng b, v tng ng l tc ca ng c.
Tuy nhin, nu ch thay i tn s m vn gi nguyn bin ngun p cp cho ng
c s lm cho mch t ca ng c b bo ha. iu ny dn n dng t ha tng, mo dng
in p v dng in cung cp cho ng c gy ra tn hao li t, tn hao ng trong dy qun
Stator. Ngc li, nu t thng gim di nh mc s lm gim s lm gim kh nng mang
ti ca ng c.
V vy, khi gim tn s ngun cung cp cho ng c nh hn tn s nh mc thng
i hi phi gim in p V cung cp cho ng c sao cho t thng trong khe h khng kh
c gi khng i.Khi ng c lm vic vi tn s cung cp ln hn tn s nh mc,
thng gi in p cung cp khng i v bng nh mc, do gii hn v cch in stator
hoc in p ngun .
2.2 Phng php iu khin V/f
2.2.1 Phng php E/f
Ta c cng thc sau:
a=

Vi f - tn s lm vic ca ng c, fm

f
fm

tn s nh mc ca ng c.

Gi s ng c hot ng di tn s nh mc (a<1). T thng ng c c gi gi


tr khng i. Do t thng ca ng c ph thuc vo dng t ha ca ng c, nn t thng
c gi khng i khi dng t ha c gi khng i ti mi im lm vic ca ng c.
Ta c phng trnh tnh dng t ha ti im lm vic nh mc nh sau:
Im =

E m
1
.
f m 2L m

Im =

E
1
.
a.fm 2L m

Vi Lm l in cm mch t ha.
Ti tn s lm vic f:

T 2 phng trnh trn suy ra iu kin dng in t ha khng i:


E
E E
= Em = m = const
a
f
fm

Nh vy t thng ng c c gi khng i khi t l E/f c 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 rt phc
tp. Nu b qua st p trn in tr v in khng tn mch stator, ta c th xem nh U E.
Khi nguyn tc iu khin E/f=const c thay bng phng php V/f=const.

CHNG 2: L THUYT V PHNG PHP IU KHIN

Trong phng php V/f=const (gi ngn l V/f), nh trnh by trn th t s V/f
c gi khng i v bng gi tr t s ny nh mc.Cn lu l khi moment ti tng ,
dng ng c tng lm gia tng st p trn in tr Stator dn n E gim, c ngha l t
thng ng c gim.Do ng c khng hon ton lm vic ch t thng khng i.
Ta c cng thc moment nh mc ng vi s n gin ca ng c:

R'
2
Vm
. 2

3
s
M=
.
2
b
'
R 1 + R 2 + X 1 + X '2

s

V moment cc i ch nh mc:
Mmax =

2
Vm
3

.
2. b
R 1 R 12 + X1 + X '2

Khi thay cc gi tr nh mc bng gi tr nhn vi t s a (am, aVm, aX), Ta c


c cng thc moment ca ng c tn s f khc nh mc:

'
2 R2

Vm
.
3
a.s
M=
.
2
'
b R R
1 + 2 + X1 + X '
2
a
as

,a <1

V moment cc i tn s f khc nh mc:

Mmax =

3
2.b

Vm
.
2
R
R
1 1 + X1 + X '2
a
a

, a < 1

Da theo cng thc trn ta thy, cc gi tr X1 v X2 ph thuc vo tn s, trong khi R1


li l hng s. Nh vy, khi hot ng tn s cao, gi tr (X1+X2)>> R1/a, st p trn R1 rt
nh nn gi tr E suy gim rt t dn n t thng c gi gn nh khng i. Moment cc
i ca ng c gn nh khng i.
Tuy nhin, khi hot ng tn s thp th gi tr in tr R1/a s tng i ln so 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 them cho ng c mt in
p Uo cung cp cho ng c t thng nh mc khi f=0. T ta c quan h nh sau:
U=Uo+K.f
Vi K l mt hng s c chn sao cho gi tr U cp cho ng c bng Um ti f=fm.
Khi a>1 (f>fm), in p c gi khng i v bng nh mc. Khi ng c hot
ng ch suy gim t thng.

CHNG 2: L THUYT V PHNG PHP IU KHIN

Khi moment v moment cc i ca ng c ti tn s f cung cp s l:

'
2 R2

Vm .
3
a.s
M=
.
2
'
b
R 1 + R 2 + a 2 X1 + X '
2

s

,a >1.

V moment cc i tn s f:

Vm2

M max =
.
,a >1
2
2.b R R 2 + a 2 X + X '
( 1 2 )
1
1
Sau y l th biu din mi quan h gia moment v in p theo tn s trong
phng php iu khin V/f=const.
3

U
Mdm

Uo
fdm

Hnh 2.1: Quan h gia moment v in p theo tn s

2.3 Cac phng phap thng dung trong iu khin ng c khng ng b:


C nhiu phng php iu khin b nghch lu p to ra in p c bin v
tn s mong mun cung cp cho ng c.Trong ni dung nay chung ta khai quat hai phng
phap o la :
Phng phap iu rng xung (SinPWM).
Phng phap iu ch vector khng gian ( Space Vector).
2.3.1 Phng php iu rng xung SINPWM

to ra mt in p xoay chiu bng phng php SINPWM, ta s dng mt tn hiu


xung tam gic tn s cao em so snh vi mt in p sin chun c tn s f. Nu em xung
iu khin ny cp cho mt b bin tn mt pha th ng ra s thu c mt dng in p
dng iu rng xung c tn s bng vi tn s ngun sin mu v bin hi bc nht ph
thuc vo ngun in mt chiu cung cp v t s gia bin sng sin mu v sng mang.
Tn s sng mang phi ln hn tn s ca sng sin mu. Sau y l hnh v miu t nguyn l
ca phng php iu rng sin mt pha:

10

CHNG 2: L THUYT V PHNG PHP IU KHIN

Hnh 2.2: Nguyn l ca phng php iu rng sin


V
Khi:
Vcontrol > Vtri th VAO = dc
2
V
Vcontrol < Vtri th VAO = dc
2
Nh vy, to ra ngun in 3 pha dng iu rng xung, ta cn c ngun sin 3 pha mu v
gin kch ng ca 3 pha s c biu din nh hnh v di y:

11

CHNG 2: L THUYT V PHNG PHP IU KHIN

Hnh 2.3 : S dng in p trn cc pha


2.3.1.1 Cc cng thc tnh ton

Ta cn tnh c bin hi bc nht ca in p ng ra t t s bin gia sng


mang v sng tam gic.
Ta c cng thc sau tnh bin ca hi bc nht:
U t = ma.

U DC
2

(1)

Trong ma l t s gia bin sng sin mu v bin sng mang cn gi l t s


iu bin.
ma =

U dk
U carry

12

(2)

CHNG 2: L THUYT V PHNG PHP IU KHIN

2.3.1.2 Cch thc iu khin

Sau khi ni v phng php iu khin V/f=const v phng php iu khin b


nghch lu p theo phng php iu rng xung SINPWM, ta c th a ra mt thut ton
iu khin ng c theo mt tn s t cho trc nh sau.
Do ng c c iu khin vng h nn khng th o c c tc thc ca ng
c, nn ta hiu tn s t y l tn s ngun sin iu rng xung cp cho ng c.
Trong trng hp ta mun cho ng c ang trng thi ng yn chuyn sang chy
tn s t th phi thng qua mt qu trnh khi ng mm trnh cho ng c khi ng lp
tc n tc t, gy ra dng in khi ng ln lm hng ng c. Tn s ngun cung cp
s tng t gi tr 0 (ng yn) n gi tr t (tng ng vi bin tng t V0 n
Vf=V0+K.freq).Thi gian khi ng ny c thay i theo cng sut ca tng ng c. i vi
ng c cng sut ln th thi gian khi ng lu hn so vi ng c cng sut nh.Thi gian
khi ng ca ng c thng thng c chn t 5 n 10 giy.
Sau khi tn s ngun t n gi tr yu cu lc u th s gi nguyn gi tr .
Trong qu trnh ng c ang chy n nh m c mt nhu cu thay i tn s th cng c
mt qu trnh chuyn tn s tng bc thay v nhy ngay lp tc n gi tr tn s yu cu
mi.
Khi mun thay i chiu ca ng c cn phi a ng c v tn s nh ri sau
mi thc hin vic i chiu quay (thay i th t pha ngun cp cho ng c) trnh hin
tng moment xon c th lm gy trc ng c v tng dng t ngt.
Khi mun dng ng c th phi h tn s t gi tr hin ti v gi tr 0. Thi gian hm
ny ph thuc vo qun tnh quay ca ng c. Khi mun hm nhanh c th dng cc phng
php hm nh phng php hm ng nng (Dynamic Breaking) c dng in tr thng.
Nh vy c th hnh dung qu trnh hot ng ca b iu khin nh sau:
2

f
1

3a

3b

t
Tramp

Direction Changed

Tramp

Hnh 2.4: Qu trnh hot ng ca b iu khin

on 1 ng vi khi ng ng c tn s tng t 0 n gi tr t sau khong thi


gian khi ng (Tramp).

13

CHNG 2: L THUYT V PHNG PHP IU KHIN

on 2 ng vi vic thay i tn s khi ng c ang chy n nh.


on 3 ng vi vic i chiu ng c c chia lm hai giai on. on 3a ng vi
gim tn s v 0. Cui on 3a s tin hnh o th t pha ngun cung cp cho ng c.
on 3b ng vi tng tn s ln n gi tr mi (C thay i tn s t trong lc i chiu nn
gi tr tn s sau khi i chiu khn gbng gi tr c).
on 4 ng vi ngng ng c. Tn s cp cho ng c c gim dn t gi tr t v
0 sau khong thi gian dng (Tramp).
2.3.1.3 Quy trnh tnh ton:
Tn s sng mang trong MCU 6010 c to ra theo cng thc sau:
f cy
PTPER =
1
2 f pwm
Trong PTPER l gi tr cn np vo thanh ghi PTPER c c tn s sng mang mong
mun
f
f cy = osc
4
vi f osc l tn s ca thch anh a vo vi iu khin
Trong phn ny vi tn s thch anh a vo vi iu khin l 10MHz, cng vi s dng
ch nhn tn s PLL=8 , ta c tn s thc a vo vi iu khin l 20MHz, thi gian tnh
ton ca mt chu k lnh l 0.05 micro giy
ng vi cc gi tr ca tn s tnh ton trn, to ra mt sng mang c tn s l 5Khz, gi tr
cn np vo thanh ghi PTPER l 1999 .

Sng iu khin ( U dk ) c to ra bng cch lp mt bng sin cc gi tr t 0 n 2


tng trng cho mt chu k ca sng iu khin dng Sin . Theo bit , sng iu khin
mang thng tin v ln tr hiu dng v tn s sng hi c bn ca in p ng ra, v vy
khi bin v tn s ca sng iu khin thay i th ta c bin v tn s ca in p ng
ra cng thay i theo.
Tn s ca sng iu khin thay i tu thuc vo tn s di chuyn ca con tr trong
bng sin. Nu tn s ca sng iu khin cng ln th s bc nhy ca con tr di chuyn
trong bng sin trong mt chu k sng iu khin cng t v ngc li.Quan h gia s bc
nhy ca con tr trong bng sin v tn s ca sng iu khin c xc nh theo cng thc
sau:
K=

min

Trong min l phn gii ca bng sin ( vi bng sin gm 720 gi tr th phn gii ca
bng sin l 0.5 /gi tr)

Tpwm *360

TUdk
l gc nhy ca con tr trong bng sin sau mt chu k PWM

T cng thc (1),(2) ta c :

14

CHNG 2: L THUYT V PHNG PHP IU KHIN

Ut =

U dk U dc
*
U carry 2

(3)

Trong U dc = 440V ng vi trng hp t s iu ch ma=1 v ng c hot ng ch


nh mc.
Khi ng c hot ng ch nh mc ta c:
U dm
= 3.667 ( U dm = 220V , f dm = 60 Hz )
f dm

(4)

T (3),(4) ta c:
f req = 0.03*U dk

Gi tr ca tn s t vo ng c t bin tr c thng qua b chuyn i ADC 10 bits


theo cng thc :
f req =ADC_Result*60/1024

Da vo tn s yu cu u vo ta c th tnh c bin ca sng iu khin gi cho t


s V/f bng hng s.
Thi gian tng tc v gim tc ca ng c c tnh ton da vo chu k PWM, k t
khi c s thay i tn s t, sau mi chu k PWM, gi tr tn s hin ti s cng thm vo
hoc tr ra mt gi tr cho n khi no bng vi gi tr ca tn s t mi.
Gi tr cng vo hoc tr ra c tnh ton theo cng thc sau:
= (60* TPWM ) / t
Trong t(s) l thi gian tng tc hoc gim tc ca ng c

m bo s chuyn mch din ra ng, ti mi thi im trn mt nhnh ch c mt kho


bn dn trong trng thi dn, mt khong thi gian ngh (dead time) cn c thm vo
khong gia hai kho, vi tn s thch anh a vo vi iu khin l 10Mhz, tn s sng mang
l 5Khz, khong thi gian ngh c php t 1 n 25 micro giy, y khong thi gian
ngh c chn l 2 micro giy.
2.3.1.4 Hiu qu ca phng php iu khin :
i vi phng php iu ch SINPWM, ti mi thi im m mt trong hai kho trn
cng mt nhnh trng thi ON th biu thc in p gia mi pha v im trung tn o (O)
c dng nh sau:

15

CHNG 2: L THUYT V PHNG PHP IU KHIN

Hnh 2.5: S kt ni cc kha trong b nghch lu


V
VAO = DC *(m *sin( ))
2
V
2
VBO = DC *(m *sin( +
))
2
3
V
4
VCO = DC *(m *sin( + ))
2
3
in p gia hai pha c tnh ton nh sau:
3

*VDC * m *sin( + )
VAB = VAO VBO =
2
6
VBC =

3
5
*VDC * m *sin( + )
2
6

VAC =

3
3
*VDC * m *sin( + )
2
2

T cng thc trn ta thy gi tr in p ln nht gia hai pha t c trong vng tuyn tnh
khi m=1
3
*VDC
2
Vy i vi phng php ny, in p do b chnh lu cung cp ch c s dng ti a l
86.67% trong vng iu khin tuyn tnh.
Gi tr in p ln nht l

16

Vline _ to _ line _ max =

CHNG 2: L THUYT V PHNG PHP IU KHIN

2.3.2 Phng phap iu ch vector khng gian ( Space Vector):


Phng php iu rng xung vector khng gian (SVM - Space Vector Modulation) khc
vi cc phng php iu rng xung khc (PWM - Pulse Width Modulation). Vi cc phng
php PWM khc, b nghch lu c xem nh l ba b bin i ko-y ring bit vi ba
in p pha c lp vi nhau.

Hnh 2.6 : S b bin tn nghch lu p 6 kha (MOSFETs hoc IGBTs)


i vi phng php iu rng xung vector khng gian, b nghch lu c xem nh l mt
khi duy nht vi 8 trng thi ng ngt ring bit t 0 n 7.
2.3.2.1 Thnh lp vector khng gian:
i vi ngun p ba pha cn bng, ta lun c phng trnh sau

ua (t ) + ub (t ) + uc (t ) = 0

(2.1)

V bt k ba hm s no tha mn phng trnh trn u c th chuyn sang h ta 2 chiu


vung gc. Ta c th biu din phng trnh trn di dng 3 vector 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.7: Biu din vector khng gian trong h ta x-y


T ta xy dng c phng trnh ca vector khng gian trong h ta phc nh sau:
2
u (t ) = ( ua + ub .e j (2 / 3) + uc .e j (2 / 3) )
3
(2.2)
2
Trong /3 l h s bin hnh. Phn tch u(t) trong phng trnh trn thnh phn thc v phn
o.

17

CHNG 2: L THUYT V PHNG PHP IU KHIN

u (t ) = ux + ju y

(2.3)

Ta xy dng c cng thc chuyn i h ta t ba pha abc sang h ta phc x-y bng
cch cn bng phn thc v phn o trong phng trnh (2.2) ta c :
2
u (t ) = ua + ub ( cos ( 2 / 3) + j sin ( 2 / 3) ) + uc ( cos ( 2 / 3) + j sin ( 2 / 3 ) )
3
2

u
=
ua + ub cos ( 2 / 3) + uc cos ( 2 / 3)
x

u = 2 u sin ( 2 / 3) u sin ( 2 / 3)
c

y 3 b
1

ux 2
2
=
3
uy 3 0

1
ua
2
ub
3

uc
2

(2.4)

Tip theo hnh thnh ta quay - bng cch cho h ta x-y quay vi vn tc gc t. Ta
c cng thc chuyn i h ta nh sau

cos(t ) cos + t

u
2
u x cos(t ) sin(t ) u x
=
=
(2.5)
u sin(t ) sin + t u y sin(t ) cos(t ) u y

Ngun p ba pha to ra l cn bng v sin nn ta c th vit li phng trnh in p pha nh


sau:
ua = Vm sin(t )
ub = Vm sin(t 2 / 3)

(2.6)

uc = Vm sin(t + 2 / 3)

T phng trnh (2.5) ta xy dng c phng trnh sau:


u (t ) = Vr e j = Vr e jt

(2.7)

Th hin vector khng gian c bin Vr quay vi vn tc gc t quanh gc ta 0.


Phng trnh in p dy nh sau theo phng trnh (2.4) nh sau:
1

V
L 2 3
2
Vs

=
3
VL 3 2 0

1
q1
2
q3
3

q5
2

(2.8)

Trong 2 chuyn t gi tr bin thnh gi tr hiu dng, 3 chuyn gi tr in


p pha thnh in p dy. Vector in p dy s sm pha hn vector in p pha mt gc
/ 6 . Nu lng ghp cc trng thi c th c ca q1, q3 v q5 vo phng trnh (2.8), ta thu
c phng trnh in p dy (tr bin ) theo cc trng thi ca cc kha.

18

CHNG 2: L THUYT V PHNG PHP IU KHIN

ur
2 2 j (2 n 1) / 6
2 (2n 1)
Vn =
e
=
cos
6
3
3

(2n 1)
+ j sin
6

(2.9)

Vi n = 0, 1, 2..6, ta thnh lp c 6 vector khng gian V1 V6 v 2 vector 0 l V0 v V7


nh hnh sau

Hnh 2.8: Cc vector khng gian t 1 n 6

Hnh 2.9: Trng thi ng-ngt ca cc kha

19

CHNG 2: L THUYT V PHNG PHP IU KHIN

Bng 2.1: Gi tr in p cc trng thi ng ngt v vector khng gian tng ng


Vector
in p
V0
V1
V2
V3
V4
V5
V6
V7

Trng thi ca cc kha


Q1
Q3
Q5
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1

Van
0
2/3
1/3
-1/3
-2/3
-1/3
1/3
0

in p pha
Vbn
0
1/3
1/3
2/3
1/3
-1/3
-2/3
0

Vcn
0
1/3
-2/3
-1/3
1/3
2/3
1/3
0

in p dy
Vab
Vbc
Vca
0
0
0
1
0
-1
0
1
-1
-1
1
0
-1
0
1
0
-1
1
1
-1
0
0
0
0

Ghi ch: ln in p phi nhn vi Vdc

2.3.2.2 Tnh ton thi gian ng ngt:


Xt trng hp vector Vr nm trong vng 1 nh hnh sau

Hnh 2.10: Vector khng gian Vs trong vng 1


Gi s tn s iu rng xung fPWM cao trong sut chu k iu rng xung Ts, vector VS
khng thay i v tr. Nh , ta c th phn tch VS theo cc vector V1, V2, v V0 hoc V7
nh phng trnh sau

Vr Ts = V1 T1 + V2 T2 + V0 7 T0 7

(2.10)

Ts = T1 + T2 + T0 7

Ts l chu k iu rng xung


Tn l thi gian duy tr trng thi Vn
Chuyn sang h ta vung gc, ta c phng trnh sau - suy ra t phng trnh (2.7) v
(2.9)
Vi



cos +
cos
cos
2
2
6

6
2
Ts m
= T1
+ T1
+ T0 7 .0

3
3

sin +
sin
sin

6
6
2

20

CHNG 2: L THUYT V PHNG PHP IU KHIN

Cn bng phn thc v phn o, ta c

Ts m cos 6 + = T1

T m sin + = T
6
1
s

2

cos + T1
3
6
2

sin + T1
3
6

2

cos
3
2
2

sin
3
2

Gii phng trnh trn tm T1 v T2

cos +
cos +
3
3
6
6

=T m

T1 = Ts m
s

2
2

3
cos
6

2

T1 = Ts m cos + = Ts m cos
6

2
T2 = Ts m

= Ts m sin
3


sin + Ts m cos + sin
2
6

6
6


T2 = Ts m sin + cos cos + sin

6
6
6
6

T2 = Ts m sin + = Ts m sin ( )
6
6
Suy ra
T1 = Ts m sin ( / 3 )

T2 = Ts m sin ( )
T = T T T
1
2
s
0 7

(2.11)

Trong : m l t s iu bin
Ts l chu k iu rng xung
l gc lch gia Vr v Vn.
Ta nhn thy vic gii phng trnh 2-10 tm T1, T2 v Ts khng ph thuc vo hai vector
gii hn ca vng

Hnh 2.11: Vector khng gian Vs trong vng bt k

21

CHNG 2: L THUYT V PHNG PHP IU KHIN

Da trn kt qu phng trnh 2-11, ta xy dng cng thc tng qut nh trong phng trnh
(2.12) sau y:
TA = Ts m sin ( / 3 )

TB = Ts m sin ( )
T = T T T
s
A
B
0 7

(2.12)

2.3.2.3 Phn b cc trng thi ng ngt:


Vn xt trng hp vector VS nm trong vng 1, vi kt qu t phng trnh 2-11:
T1 = Ts m sin ( / 3 )

T2 = Ts m sin ( )
T = T T T
1
2
s
0 7

2.3.2.4 K thut thc hin 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 hao trong qu trnh ng ngt chng. S ln
chuyn mch s t nu ta thc hin trnh t iu khin sau:

Hnh 2.12: Gin ng ct linh kin


2.3.2.5 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 gin ha s ,
ta ch v trng thi ca 3 kha cng sut pha trn. Ba kha cn li c trng thi i nghch
vi 3 kha trn theo tng cp nh sau :
+ S0 S1
+ S2 S3
+ S4 S5

22

CHNG 2: L THUYT V PHNG PHP IU KHIN

T PW M
Ts

Ts

To/2

TA

TB

To/2

To/2

TB

TA

To/2

V0

V1

V2

V7

V7

V2

V1

V0

S1
S3
S5

V ector Vs in S ector 1
Ts

Ts

T o/2

TB

TA

T o/2

T o/2

TA

TB

To/2

V0

V3

V2

V7

V7

V2

V3

V0

S1
S3
S5

V ector Vs in S ector 2

Ts

Ts

T o/2

TA

TB

T o/2

T o/2

TB

TA

To/2

V0

V3

V4

V7

V7

V4

V3

V0

S1
S3
S5

V ector Vs in S ector 3

23

CHNG 2: L THUYT V PHNG PHP IU KHIN

Ts

Ts

T o /2

TB

TA

T o/2

T o/2

TA

TB

To /2

V0

V5

V4

V7

V7

V4

V5

V0

S1
S3
S5

V ecto r V s in S ecto r 4

Ts

Ts

T o/2

TA

TB

T o/2

T o/2

TB

TA

To/2

V0

V5

V6

V7

V7

V6

V5

V0

S1
S3
S5

V ector Vs in S ector 5

Ts

Ts

T o/2

TB

TA

T o/2

T o/2

TA

TB

To/2

V0

V1

V6

V7

V7

V6

V1

V0

S1
S3
S5

Vector Vs in S ector 6

Hnh 2.13: Vector Vs trong cc vng t 0-6

24

CHNG 3: CU TO V CC THNG S PHN CNG

CHNG 3

CU TO V CC THNG
S PHN CNG

25

CHNG 3: CU TO V CC THNG S PHN CNG

CHNG 3 : CU TO V CC THNG S PHN CNG


YU CU T RA :

Thit k b bin tn truyn thng ( 6 kha) ba pha iu khin ng c KB theo phng


php V/f v iu ch SINPWM)

Thng s ng c nh sau :
Pm
Vm
Im

cos
s
M
RPM

Cc thng s
Cng sut nh mc
in p nh mc
Dng in nh mc
Hiu sut
H s cng sut
trt
Moment
Vn tc

n v
(KW)
(VAC)
(A)
%

ng c u sao
1.5 (2HP)
380
10

ng c u tam gic
1.5(2HP)
220
10

0.8

0.8

%
( vng /pht)

Bng 3.1: Thng s ng c

26

CHNG 3: CU TO V CC THNG S PHN CNG

3.1 S khi ca mch iu khin ng c:


B chnh lu

AC
source

B nghch lu
3 phase
AC motor

+ VDC

Mch li

Cch ly
Tn hiu
xung kch

Bin tr
Nt n
LEDs

ng

2x16TCA
LCD

RS 232

Hi n

dsPIC30F6010
Micro
Controller

Hnh 3.1: S khi mch iu khin

3.2 Gii thiu chi tit cac khi iu khin:


3.2.1 Mch li

C hai s la chn cho cc kha ng ngt cng sut iu khin ng c l


MOSFET v IGBT v kh nng chu dng v p cao.

27

CHNG 3: CU TO V CC THNG S PHN CNG

Ni chung , nhng loi ng c m s dng cc kha ng ngt (MOSFET , IGBT )


iu khin th u cn dng n mch li (gate drive scheme). C 2 phn c bn trong vic
iu khin cc ng ngt cc linh kin cng sut l: iu khin pha cao (high side Q1) v
pha thp (low side Q2).

Hnh 3.2: V d s iu khin mosfet

Trong v d trn Q1 v Q2 lun trng thi lm vic i nghch nhau. Khi Q1 trng
thi ON th Q2 trng thi OFF v ngc li.
Khi Q1 ang trng thi OFF chuyn sang trng thi ON => chn S (MOSFET) hay
chn E (IGBT) ca Q1 chuyn t ground sang in p cao ( high voltage rail). Do mun
kch Q1 tip tc ON th phi to in p kch VGS1 c gi tr VGS1= VSQ1 + V.Trong khi
tn hiu ra ca vi x l iu khin ng ngt cc kha ch c gi tr in p +5V (so vi
ground). Nn cn phi c mch li to tri p v cch ly trong vic ng ngt pha cao Q1.
Tuy nhin i vi Q2 th chn S c ni ground , do in p kch VGS2 ch cn c
gi tr V. Do vic ng ngt kha low side (Q2) c iu khin d dng hn .
Ghi ch:

V: gi tr in p cn thit kch Q1 hay Q2 dn. i vi MOSFET v IGBT V c


gi tr t 10 n 15 (V).
S mch li iu khin ng ngt MOSFET hay IGBT (Q1)

C 3 dng s c bn nh sau:
1-Single ended or double ended gate drive transfomer.
2-Floating bias voltages and opto isolater drive.
3-High voltage bootstrap diver Ics.
Trong cc phng n (1),(2) s dng bin p xung trong thit k mch li mosfet , trng hp
xung iu khin c cnh tc ng ko di hoc tn s thp, bin p xung sm t trng thi
bo ha v ng ra ca n khng ph hp yu cu iu khin.
Do trong phn ny cp n phng n s dng loi High Voltage Bootstrap Diver ICs.

28

CHNG 3: CU TO V CC THNG S PHN CNG

Hnh 3.3: S khi ca IC li mosfet

Hnh 11 a ra mt gii php iu khin kch ng ngt pha cao Q1, v hn th na


n khng i hi ngi dng cn phi c kin thc v my bin p .Nhng ICs loi ny s
dng mch dch mc (level shifting circuitry) bng t C bootstrap li pha cao.
Trong sut thi gian ON ca Q2 chn S ca Q1 c in th l ground. iu ny cho
php t Cboot c np (thng qua diode D1) n gi tr VBIAS. Khi Q2 c kch OFF v Q1
c kch ON th in p chn S ca Q1 bt u tng ln. T Cboot lc ny ng vai tr ca
ngun phn cc, cung cp dng li pha cao Q1.
Nhc im mch li loi ny l c thi gian delay gia tn hiu input v tn hiu ng
ngt cc kha bn dn. Thi gian tr hon t 500ns ! 1us. N c th l vn khi tin hnh
cc ng dng hot ng tn s cao (nhng tn s hot ng ca ng c < 60Hz).
Gii thiu v IC IR2136 (High voltage bootstrap diver ICs)

Hnh 3.4: IC IR2136

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 and low side) dng cho cc ng
dng 3 pha.
Cc thng s:
- Cc knh tri p thit k cho ch bootstrap c th ln n +600V.
- Chng dV/dt (dV/dt immune)
- in p kch cng t 10V 20V.
- Undervoltage lockout for all channels.

29

CHNG 3: CU TO V CC THNG S PHN CNG

- Chng qu dng: su tn hiu driver outputs s b tt khi khi qu dng xy ra

(Thng qua chn ITRIP ca IR).


- Logic inputs tng thch vi CMOS hay LSTTL outputs, c th xung n 3.3 V
- Gim di/dt cho cc tn hiu li cng, do chng nhiu tt hn.
- C th iu chnh thi gian delay cho ch t ng xa li (automatically fault

clear), thng qua chn FAULT ca IR.


S kt ni do hng sn xut IR cung cp

S chn ca IR2136

Hnh 3.5: S kt ni IR2136

nh ngha cc chn ca IR2136


VCC
VSS
HIN1,2,3
LIN1,2,3
FAULT

Ngun cung cp 15VDC


Ground
Logic input cho pha gate diver outputs (HO1,2,3,), tch cc mc thp
Logic input cho pha gate diver outputs (LO1,2,3,), tch cc mc thp
Pht hin qu dng (ITRIP) hay low side undervoltage lockout xy ra

30

CHNG 3: CU TO V CC THNG S PHN CNG

EN
ITRIP

RCIN
COM
VB1,2,3
HO1,2,3
VS1,2,3
LO1,2,3

Logic input cho php chc nng I/O .


Anolog input . Khi hot ng, ITRIP kha cc ng ra v kch hot chn FAULT
v RCIN. Khi ITRIP tr v trng thi bnh thng (inactive), FAULT vn tch
cc set thi gian TFLTCLR, sau t ng inactive (open drain high
impedance).
t thi gian FAULT CLEAR delay
Low side gate return
High side floating supply
High side gate driver output
High voltage floating supply returns
Low side gate diver output

Bng 3.2 : nh ngha cc chn trong IR2136


3.2.2 Mch cch ly
Cc mch pht ra tnh hiu iu khin mch cng sut dng bn dn phi c cch ly v
in. 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 hp xung iu
khin c cnh tc ng ko di hoc tn s thp, bin p xung sm t trng 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 v in, ng thi p ng ca opto tt hn
my bin p xung.

Hnh 3.6: S khi ca opto


=> ta la chn phng n dng opto. Yu cu t ra i vi opto l phi chu c tn s
ng ngt kh cao ( 10KHz). Trong , HCPL-2631 l optocouplers ca hng Fairchild c
p ng tn s ln n 10MHz
3.2.3 Mch MOSFETs
Cc loi linh kin thng c s dng trong b nghch lu

C hai la chn chnh cho vic s dng kho ng ct cng sut trong iu khin ng
c l MOSFET v IGBT. C hai loi MOSFET v IGBT u l linh kin c iu khin
bng in p, ngha l vic dn v ngng dn ca linh kin c iu khin bng mt ngun
in p ni vi cc gate ca linh kin thay v l dng in trong cc b nghch lu s dng
31

CHNG 3: CU TO V CC THNG S PHN CNG

transitor nh trc y. V vy cch s dng loi linh kin ny lm cho vic iu khin tr
nn d dng hn.

Hnh 3.7: S khi ca MOSFET v IGBT

Vic ng ct linh kin cng s gy nn tn hao cng sut, cng thc xc nh tn hao
cng sut c trnh by nh sau:

c im, ng dng:

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 thch hp vi cc ng
dng tc thp, tuy nhin IGBT c kh nng chu c dng in cao. V vy tu vo c
im ca ng dng m c s la chn linh kin ph hp
IGBT l linh kin c tn s ng ct gii hn thp hn so vi MOSFET, v vy dn n
tn tht cng sut do ng ct linh kin s cao hn i vi MOSFET c tn s ng ct cao
hn. Cc k thut s dng IGBT trong iu khin c sm p dng cch y hn 10 nm,
C rt nhiu thay i ci thin linh kin vi cc ng dng khc nhau, nhiu cng ty sn
xut ra nhiu dng IGBT, mt s c ch to thch hp vi cc ng dng tc thp v
in p VCE-SAT nh, dn ti tn hao s nh. Mt s khc c sn xut ph hp vi cc
ng dng i hi tc cao (60kHz n 150 kHz) v c tn tht cng sut thp hn nhng c
VCE-SAT cao hn. Khong 5 nm tr li y nhiu ci tin trong vic sn xut MOSFET c
th chp nhn tn s ng ct cao hn vi RDS-ON nh (khong vi miliohm) lm cho tn
tht cng sut c gim i rt nhiu. V vy ngy nay, a s cc b nghch lu thng s
dng MOSFET hn l IGBT nh trc kia.
Da vo cc c im nu trn , khi la chn linh kin ta cn xem xt n kh nng gii
hn ca linh kin. Trong phm vi thc hin ca n mn hc hai, ta ch quan tm n cc
thng s hot ng ca ng c ng c la chn cho ph hp.
Cc yu cu chnh t ra cho linh kin s dng lm b nghch lu :
in p VDS ( Mosfet) hay VCE ( IGBT) >> VDC /2
ng

Dng in qua linh kin ln hn dng nh mc ca ng c 10A nhit hot

32

CHNG 3: CU TO V CC THNG S PHN CNG

Chu c tn s ng ngt cao

=> IRFP460P c la chn : tha mn cc yu t trn, c th mua d dng v gi


thnh r !

Hnh 3.8: IRFP460P


3.2.4 Mch chnh lu
3.2.4.1 B chnh lu:

Yu cu:
"

in p trung bnh (VDC) u ra ca b chnh lu:


VDC
2
+ ng c vn hnh ch nh mc ( VAO = 220V )

+Trong phng php SINPWM th : VOA =

"
"

=> VDC = 2 *VAO = 2* 220 = 440V


Tr tc thi ca VDC c nn tng i phng
Gn nh , gi thnh r

3.2.4.2 Phng php chnh lu :


Ta s dng phng php chnh lu cu vi 6 diode
Tr trung bnh in p u ra khi chnh lu cu 3 pha (khng iu khin):
3 6 *Vpha
VDC =
515 (V)

+Vi gi tr ny ca VDC th ng c c th vn hnh nh mc


+Vpha : tr hiu dng p pha ngun (220 VAC)
$ Ghi ch:
Trong iu kin thc t, nu ch c ngun 1 pha thc hin chnh lu th in p VDC sau
chnh lu :

VDC =

2 2 *Vpha

200(V ) => ng c s khng th vn hnh ht nh mc

33

CHNG 4: S CU TO MCH IU KHIN

CHNG 4

S CU TO MCH
IU KHIN

34

CHNG 4: S CU TO MCH IU KHIN

CHNG 4 : S CU TO MCH IU KHIN


4.1 S mch cch ly
5V_1

5V_2

J8

R33

1
2
3
4
5
6
7

U10

220

1
2

3
4
R34

220

R35

R42

110

110

+ C7
0.1uF

Vin1+ VCC

Vin1- Vout1

Vin2- Vout2

Vin2+ GND
HCPL2631

0
5V_1

5V_2

R37

220

U11
1
2

3
4
R38

220

Vin1+ VCC
Vin1- Vout1
Vin2- Vout2
Vin2+ GND

R43

R44

110

110

+ C8
0.1uF

7
6
5

HCPL2631
5V_1

5V_2
+ C9

R40

U12

220
1
2

3
4
R41

220

Vin1+ VCC
Vin1- Vout1
Vin2- Vout2
Vin2+ GND

8
7
6
5

HCPL2631

35

R36

R45

110

110

0.1uF

H1
H2
H3
L1
L2
L3

CHNG 4: S CU TO MCH IU KHIN

5V_1

J5

IN

D15

OUT

3
D17
LED

+ 1

LM7805C
GND

U3

C11

6V_AC

C12
470uF

100uF

C13
10uF

C16
R1
330

104

4 -

1
2

BRIDGE_3A

15V

J6

12V_AC

D16

OUT

3
D18
LED

C10

C14
470uF

100uF

C15
10uF

C17
104
R2
1k

4 -

1
2

IN

+ 1

GND

U4 LM7815C

BRIDGE_3A

5V_2

J7

6V_AC

OUT

3
D20
LED

C18
C19
470uF

100uF

C20
10uF

C21
104

4 -

1
2

D19

IN

+ 1

LM7805C
GND

U5

BRIDGE_3A

Hnh 4.1 : S mch cch ly

36

R3
330

CHNG 4: S CU TO MCH IU KHIN

4.2 S mch li
15V
D3 DIODE XUNG

HO1
VS1
HO2
VS2
HO3
VS3
LO1
LO2
LO3
COM

D2 DIODE XUNG
D1 DIODE XUNG

H1
H2
H3

R26
R27
R28

100
100
100

1
2
3
4

L1
L2
L3

R29
R30
R31

100
100
100

5
6
7

FAULT
ENABLE

8
10

VCC
HIN1
HIN2
HIN3

VB1
U1

HO1
VS1

LIN1
LIN2
LIN3

VB2

FAULT
EN

HO2
VS2
VB3

15V

HO3
15V

+ C6
10uF
R32
100

VS3
25
17
21
11

ITRIP
+

C4
.1uF

9
12

25
17
21

LO1
LO2

RCIN

LO3

ITRIP
VSS

COM

ITRIP

28
27

24
23

1R 5W

COM

15V
ENABLE
FAULT
ITRIP

20
19

C3
1uF

18

R20
100

R21
100

R22
100

HO1
VS1

HO2
VS2

HO3
VS3

16

R23

100 LO1

15

R24

100 LO2

14

R25

100 LO3

COM

13

12V
RVAR2
ENABLE

Hnh 4.2 : S mch li mosfet

37

C2
1uF

22

PR

J3
CONTROL
1
2
3
4
5

C1
1uF

26

IR2136
RVAR1

J1
OUTPUTS
1
2
3
4
5
6
7
8
9
10

C5
10uF

CHNG 4: S CU TO MCH IU KHIN

4.3 S mch ng lc

R1
10K

1
R2
10K

S1

2
Q3

H2

Q5

H3

Q1

H1

R3
10K

S2

FUSE

F1

VDC

J1

S3
P1
P2
P3

J2
1
2

P1

CON10

R4
10K

Q6

L2

1
R5
10K

L3

Q4

L1

P3

1
2
3
4
5
6
7
8
9
10

H1
S1
H2
S2
H3
S3
L1
L2
L3
COM

MOTOR

P2

J3CON2

COM

VDC
D1

D3

J4
2
1
AC_VOLTAGE

C1
C
D2

D4
COM

Hnh 4.3 : S mch ng lc

38

Q2
1
R6
10K

VDC
COM

1
2
3

CHNG 4: S CU TO MCH IU KHIN

4.4 S mch iu khin

RD7
RD6
RD5
RD4
R D 13
R D 12
RD3
RD2
RD1
69
68
67
66
65
64
63
62
61

dsPic 6010

R D 14
R D 15
RF4
RF5

RG2
RG3
RF6
RF7
RF8
RF2
RF3

37
38
39
40

VSS
VSS
VSS
VSS

OSC1

R D 14
R D 15
RF4
RF5

11
31
70
51

U1

R B6
R B7
R B8
R B9
R B10
R B11
R B12
R B13
R B14
R B15

VSS

60
59
58
57
56
55
54
53
52

RC14
RC13
RD0
RD11
RD10
RD9
RD8
RA15
RA14

50

RC15

C2 30pF

10MHZ

RG9
RE8
RE9
RB5
RB4
RB3
RB2
RB1
RB0

VD SS

10
13
14
15
16
17
18
19
20

RC14
RC13
RD0
RD11
RD10
RD9
RD8
RA15
RA14
OSC2

21
22
27
28
29
30
33
34
35
36

RG9
RE8
RE9
RB5
RB4
RB3
RB2
RB1
RB0

RC1
RC3
RG6
RG7
RG8

26

4
5
6
7
8

R B6
R B7
R B8
R B9
R B10
R B11
R B12
R B13
R B14
R B15

RC1
RC3
RG6
RG7
RG8

RE5
RE6
RE7

AVD D

1
2
3

25

RE5
RE6
RE7

MCLR

R A9
R A10

23
24

RESET

MCLR

R A9
R A10

SW2

R E4
R E3
R E2
R E1
R E0
RG0
RG1
RF1
RF0

4K7

RD7
RD6
RD5
RD4
R D 13
R D 12
RD3
RD2
RD1

RE4
RE3
RE2
RE1
RE0
RG0
RG1
RF1
RF0

VCC

80
79
78
77
76
75
74
73
72

4.4.1 Khi iu khin

VDD
VDD
VDD
VDD

47
46
45
44
43
42
41

RG2
RG3
RF6
RF7
RF8
RF2
RF3

48
32
12
71

VDD

Hnh 4.4 : S khi iu khin chnh

39

Y1

49

C1 30pF

VCC

C3

104

104

C4

C5

104

C6

104

CHNG 4: S CU TO MCH IU KHIN

4.4.2 Khi giao tip my tnh


VCC1
U4
C15

MAX232
1

+
C7
1UF

WOMEN
SUB-D 9

5
9
4
8
3
7
2
6
1

C8
1UF

5
11
8
7
15

C+

V+

C1-

VCC

C17
1UF

1UF

2
16

C2+
R1OUT

C2-

T1OUT

T1IN

R1IN

R2IN

T2IN

T2OUT

R2OUT

GND

V-

12
14
J10

13
10

TX

RX

PIN

6
C16
1UF

Hnh 4.5 : S khi giao tip my tnh


4.4.3 Khi hin th
VCC1

LCD204A

TT2

RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
LED+
LED-

2
3
1

VCC1
J21

R29
10K

4
5
6

1
2
3

7
8
9
10
11
12
13
14

1
2
3
4
5
6
7
8

15
16

3
2
1

J20
CON3

VCC
J22

J19

DATA

VDD
V0
VSS

3
2
1

VCC1
GND

R33
10K

Hnh 4.6 : S khi hin th

40

1
2

CHNG 4: S CU TO MCH IU KHIN

4.4.4 Khi nt bm
KP1

KP2

KP3

KP4

KP5

KP6

KP7

KP8

KP9

KP10

KP11

KP12

VCC

VCC
220

J4

NEXT

KP1

BACK

KP2

UP

KP3

DOWN

KP4

ENTER

KP5

RUN

KP6

STOP

KP7

REV

KP8

CHANGE

KP9

MODE

KP10

RESET

KP11

R38

1
2
3
4
5
6
7
8
9
10
11
12

4
3
2
1

D1
LED

VCC
J3
4
3
2
1
KEY _PAD

GND

KP12

Hnh 4.7 : S khi nt bm

41

VCC

J2

R26
220

CHNG 5: GII THIU V dsPIC6010

CHNG 5

GII THIU V dsPIC6010

42

CHNG 5: GII THIU V dsPIC6010

CHNG 5: GII THIU V DSPIC 6010


5.1 Tng quan v vi iu khin dsPIC30F6010
H vi iu khin PIC v dsPIC do hng
ch to v sn xut vi cng
ngh hin i, ph hp cho cc ng dng n gin cho n phc tp. c bit ngoi ngn ng
lp trnh assembler nh cc MCU khc, ngi dng c th lp trnh trn ngn ng quen
thuc nh C (C18, C30,CCSC, MIKO_C,HI-TECH PICC), Pascal ( MIKO_PASCAL) thng
qua cc phn mm h tr
Gm cc h nh sau:

Hnh 5.1 : Cc h vi iu khin PIC v dsPIC


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 cc loi IC chuyn dng iu
khin ng c 3 pha theo ngh ca ca Microchip c trnh by theo s sau

Hnh 5.2: S ng dng cc h vi iu khin

43

CHNG 5: GII THIU V dsPIC6010

Trong ni dung lun vn ny, chng ta s dng MCU dsPIC30F6010 cho vic iu khin
ng c khng ng b ba pha vi cc c im c trnh by nh sau:
-MCU dsPic 6010 c thit k da trn kin trc RISC, hot ng tm in p rng t 2.55.5V , cng sut thp ,c tc x l cao do s dng cng ngh CMOS, p ng c yu
cu lm vic i vi khi lng tnh ton tnh ton ln, p ng nhanh v yu cu chnh
xc cao
-Tp lnh ca MCU 6010 gm 84 lnh
-C b nh RAM l 8K, b nh EPPROM l 4K, c bit c b nh Plash_Program ln n
144K, ph hp vi cc chng chnh i hi c b nh chng trnh ln
-Hot ng ch ngun dao ng ngoi (External Clock) ti a l 40Mhz
-Hot ng ch dao ng thch anh tn s t 4Hhz-10Mhz vi cc cp nhn
PLL(Phase Locked Loop) 4x, 8x,16x, ty theo cc thit lp chng trnh m dao ng thc s
a vo trong MCU c th ln n 120Mhz
PLL c th c thit lp thng qua cc bits FPR<3:0>, tn s dao ng thach anh a vo v
tn s dao ng thc s ca MCU c tm tt trong bng 1.1

Bng 5.1 : Thit lp tn s hot ng

-MCU 6010 c 44 ngun Interrup, mi ngun ngt c 8 cp ngt u tin


-C 16x16 bits mang thanh ghi lm vic
-Gm c 7 port I/O (A,B,C,D,E,F,G)
-5 b Timer/Counter 16bits, trong c th ghp li vi nhau thnh cc b Timer/Counter 32
bits
-c tch hp cc moudle Compare/ Capture, c 8 knh PWM c s dng trong k thut
iu khin ng c
-Moudle I2C h tr ch Multi- Master/Slave v 7 bits/10 bits xc nh a ch
-Ngoi ra cn tch hp cc chun giao tip CAN, UART v 3-wire SPI
-16 knh 10 bits - Analog to Digital Converter (10bits - AD) tc cao ( 500Ksps), c kh
nng chuyn i trong lc MCU trng thi Sleep, Idle

5.2 Cc c im c bit h MCU dsPic-6010:


-Cho php lp trnh li nhiu ln , s ln np xo i vi b nh chng trnh l t
10.000(min) 100.000(max) ln i vi cc dng chp s dng trong cng nghip
-Ch Fail-safe clock monitor cho php MCU kim sot pht hin ra khi no dao ng bn
ngoi t ngun dao ng gp s c, MCU s t ng chuyn sang ch dao ng ni trong
MCU
-Ch bo v code bn trong MCU
-H tr In-circuit serial programming (ICSP) to thun li cho ngi lp trnh kh nng lp
trnh trc tip trn phn cng, khng phi tho lp IC nh cc loi MCU trc y
-Ch qun l, tit kim nng lng : Sleep, idle,alternate clock mode

44

CHNG 5: GII THIU V dsPIC6010

5.3 Gii thiu khi qut v cu trc phn cng:


S chn MCU dsPIC6010 dc trnh by trong hnh 2.1

Hnh 5.3: S chn dsPIC30F6010

45

CHNG 5: GII THIU V dsPIC6010

S t chc bn trong MCU dsPIC6010 c trnh by nh hnh 31

Hnh 5.4: S t chc bn trong MCU dsPIC6010

46

CHNG 5: GII THIU V dsPIC6010

M t chc nng, tnh cht cc I/O trong MCU

47

CHNG 5: GII THIU V dsPIC6010

48

CHNG 5: GII THIU V dsPIC6010

Bng 5.2: M t chc nng, tnh cht cc I/O trong MCU


S t chc b nh bn trong MCU dsPIC6010:

Hnh 5.5: S t chc b nh bn trong MCU dsPIC6010

49

CHNG 5: GII THIU V dsPIC6010

5.4 Khi qut v cc thanh ghi lm vic


Tt c cc chn I/O trn MCU ( ngoi tr cc chn VDD, VSS, AVDD,AVSS, MCLR,
OSC1/CLK1) c th va ng vai tr l chc nng tng qut ( General Purpose) va c ng
vai tr s dng t bit. Cc chc nng tng qut cho php dsPIC30F gim st v iu khin
cc thit b khc. Hu ht cc I/O u c kt hp nhiu chc nng ring bit khc nhau. S
kt hp cc chc nng ny ty thuc vo c im trn loi MCU xc nh. V khi mt I/O
c s dng vi chc nng chuyn bit th I/O c th s khng th c s dng vi
chc nng tng qut.
S cu to bn trong th hin kh nng kt hp nhiu chc nng trong cng mt I/O c
th hin nh trong hnh

Hnh 5.6:S cu to bn trong mt I/O


5.4.1 Cc thanh ghi iu khin :
Tt c cc I/O Port trong MCU thuc h 12F, 16F,18F,30F ... u c ba thanh ghi trc
tip lin quan n phng thc hot ng ca cc Port , cc thanh ghi l TRISx, PORTx,
LATx, trong x l tn tng ng ca cc Port trong MCU. Mi I/O pin u c mt bit tham
chiu tng ng trong ba thanh ghi trn
5.4.2 Thanh ghi TRIS:
Cc bits iu khin trong thanh ghi TRIS xc nh trng thi hot ng ca cc I/O l
input hay output. Nu bit TRIS ca mt I/O l 1 th I/O s ng vay tr nh l mt ng
input, ngc li nu bit TRIS ca mt I/O l 0 th I/O s ng vay tr nh l mt ng
output. iu cn lu l tt c cc I/O s ng vay tr l input ngay sau khi MCU b Reset.

50

CHNG 5: GII THIU V dsPIC6010

5.4.3Thanh ghi PORT:


D liu trn mt I/O c truy xut thng qua thanh ghi PORT, s kin c thanh ghi
PORTx s c gi tr ca ca I/O tng ng v s kin ghi vo thanh ghi PORTx s ghi gi tr
vo Port cht d liu
Mt s lnh nh BSET v BCLR l cc lnh cho php Read-Modify-Write d liu trn cc
Port. Vic ghi vo mt Port ngha l cc I/O ca Port s c c vo, gi tr s c
hiu chnh li, sau c ghi vo Port cht d liu.Mt iu cn ch l khi cc lnh ReadModify-Write s dng trn mt thanh ghi PORTx th cc I/O c lin quan ca Port phi
c cu hnh nh l ng input. Nu mt I/O c cu hnh nh l ng input b chuyn sang
cu hnh l output trong khi thc hin cc lnh Read-Modify-Write th s dn n nhng kt
qu khng mong mun trn I/O .
5.4.4Thanh ghi LAT:
Thanh ghi LATx lin quan n mt I/O pin hn ch cc s c c th xy ra i vi cc
lnh Read-Modify-Write. Vic c thanh ghi LAT s tr v gi tr c ct gi trong Port
cht ng ra ( Port output latches), thay v gi tr trn chn I/O port. Lnh Read-Modify-Write
trn thanh ghi LAT, lin quan n mt I/O, trnh kh nng ghi gi tr ca chn input vo Port
cht. V trnh t ghi vo thanh ghi LATx cng tng t nh trn.
S khc nhau gia thanh ghi PORT v LAT c th c tm tt nh sau:
Vic ghi vo thanh ghi PORTx s ghi gi tr d liu vo Port cht ( Port latch)
Vic ghi vo thanh ghi LATx s ghi gi tr d liu vo Port cht
Vic c t thanh ghi PORTx s c gi tr d liu trc tip trn chn I/O
Vic c t thanh ghi LATx s c gi tr d liu c ct gi trong Port cht.

S cu to tng quan ca cc I/O Port trong MCU:

Hnh 5.7: S cu to tng quan ca cc I/O Port trong MCU

51

CHNG 5: GII THIU V dsPIC6010

5.5 Gii thiu v cc module c bn


5.5.1 Module Timer :
MCU dsPIC 6010 cung cp 5 module timer 16 bits, mi module Timer/Counter 16 bit u c
cc thanh ghi ch c( Reable/Writeable Register):
-TMRx: l thanh ghi 16 bit, dng lu gi tr hin ti ca Timer tng ng.
-PRx: l thanh ghi 16 bit, dng np gi tr m cho Timer.
-TxCON: l thanh ghi iu khin 16 bit, dng thit lp cc thng s iu khin, ch hot
ng ca Timer.
Mi Module Timer u c cc Bit lin quan dng cho phc v ngt:
Interrupt Enable Control bit(TxIE): dng kch hot hot ngng kch hot Timer.
Interrupt Flag Status bit(TxIF): Dng bo khi trn b m.
Interrup Priority Control bit( TxIP<2:0>): dng t cc mc u tin cho ngt Timer.
Cc timer c phn loi thnh cc loi sau:
5.5.1.1 Module Timer 1
Timer 1 module l mt timer 16 bits , c th c s dng lm b m thi gian cho thi gian
thc (Real Time Clock),hoc c th c vn hnh nh l b nh th ni b (interval timer),
b m (counter), b 16-bits Timer1 c cc ch nh sau:

-Ch nh th 16 bits (16-bits Timer): ch ny b nh th s tng gi tr sau mi chu


k my cho n khi bng vi mt gi tr c np trc vo thanh ghi PR1, sau s reset tr
v gi tr 0 v tip tc m. Khi CPU i vo trng thi ngh, Timer1 s ngng vic tng gi tr
tr khi bit TSIDL(T1CON<13>)=0
-Ch b m ng b 16 bits ( 16-bits Synchronous Counter): ch ny Timer1 s tng
gi tr mi cnh ln ca tn hiu xung clock t bn ngoi a vo MCU v c ng b
ho vi xung clock bn trong MCU. Timer1 s m ln n mt gi tr c np trc vo
thanh ghi PR1, sau s reset tr v gi tr 0 v tip tc m. Khi CPU i vo trng thi ngh,
Timer1 s ngng vic tng gi tr tr khi bit TSIDL(T1CON<13>)=0
-Ch b m bt ng b 16 bits ( 16-bits Asynchronous Counter): ch ny Timer1 s
tng gi tr mi cnh ln ca tn hiu xung clock t bn ngoi a vo MCU .Timer1 s m
ln n mt gi tr c np trc vo thanh ghi PR1, sau s reset tr v gi tr 0 v tip
tc m. Khi CPU i vo trng thi ngh, Timer1 s ngng vic tng gi tr tr khi bit
TSIDL(T1CON<13>)=0
Cc c im ca module Timer1:
Hot ng ca Timer trng thi ng:
Timer1 vn hot trong lc CPU trong trng thi ngh nu:
- Timer c kch hot ( TON=1)
- Ngun xung clock cho Timer c chn l ngun ngoi ( TCS=1)
- Bit TSYNC ( T1CON<2>) c t mc logic 0 m c nh ngha l ngun xung
clock ngoi bt ng b
Nu c 3 iu kin trn c tha mn th Timer1 s m ln n gi tr trong thanh ghi PR1
v sao c reset v gi tr 0x0000.

52

CHNG 5: GII THIU V dsPIC6010

S kin ngt Timer:


16-bit TIMER c kh nng to ra ngt . Khi gi tr ca Timer bng vi gi tr trong thanh khi
PR1 th bit T1IF s c tc ng v to ra ngt. V nu c kch hot , bit T1IF phi c
xo bng phn mm. C ngt Timer T1IF c t trong thanh ghi iu khin IFS0 .
Timer Gate Operation:
16-bits Timer1 c th c t ch Gated Timer Accumulation. ch ny cho php
xung clok ni lm tng gi tr ca Timer1 khi cng tn hiu vo(T1CK) c t ln mc tch
cc ( high). Bit iu khin TGATE(T1CON<6>) phi c set ln (TON=1).TIMER1 phi
c kch hot (TON=1), v ngun xung clock ca Timer phi l ch ngun ni (TCS=0).
B m t l trong Timer:
Xung a vo ( l Fosc/4 hoc l xung clock ngoi) vo 16 bit TIMER , c th c t l
1:1,1:8,1:64,1:256 bi vic thit lp cc bit iu khin TCKPS<1:0>(T1CON<5:4>). B m
t l ( Prescaler Counter) s c xo khi xy ra cc trng hp sau:
- Tc ng ghi vo thanh ghi TMR1
- Tc ng xo bit TON( T1CON<15>
- Cc tc ng Reset MCU nh l POR ( Power on reset), BOR( Brown out Reset)
Tuy nhin , nu Timer cha c kch hot th b t l Timer khng th c reset khi xung
clock Prescaler c gi
TMR1 s khng b xo khi T1CON c ghi vo. N s b xo bng vic ghi vo thanh ghi
TMR1
Bng 5.3: Trnh by s cc thanh ghi iu khin TIMER1

S cu to ca b16-bit Timer1 nh hnh v sau:

Hnh 5.8: S cu to ca b16-bit Timer1

53

CHNG 5: GII THIU V dsPIC6010

5.5.1.2 Timer2/3 module:


Module Timer 2/3 l mt 32-bit Timer v c th c thit lp thnh hai Timer 16 bits
ring bit l Timer2 v Timer3, trong Timer2 thuc loi Timer B( typeB) v Timer 3 thuc
loi Timer C (type C), Timer2/3 c cc ch nh sau:

-Ch hai Timer 16 bit c lp (Two Independent 16 bit Timer( Timer2 v Timer3)) :vi tt
c cc ch hot ng nh cc Timer 16 bit khc ( tr ch m bt ng b
(Asynchronous Counter))
-Ch mt Timer 32 bit ( Single 32-bit Timer):
Khi hot ng trong ch ny, bit iu khin T32 phi c set trong trong thanh ghi
T3CON. Khi hai timer ( Timer 2 v Timer 3) c cu hnh hot ng nh mt Timer 32 bit ,
thanh ghi T3CON c b qua, ch c thanh ghi T2CON ng vai tr l thanh ghi iu khin.
S kin ngt Timer xy ra vi c ngt T3IF. Timer 2 ng vai tr l 16 bit thp, v Timer 3
ng vai tr l 16 bit cao trong Timer 32 bit. Timer 32 bit s tng gi tr cho n khi bng vi
gi tr np vo 2 thanh ghi PR3:PR2 , sau c reset v 0 v tip tc m ln trong ln
xung clock tip theo . Gi tr ti a np vo cp thanh ghi PR3:PR2 l 0xFFFFFFFF. Nu
c kch hot, mt s kin ngt s to ra khi b m c gi tr bng vi gi tr trong cp
thanh ghi PR3:PR2 .

Cc bc thit lp module Timer 32 bit:


TON(T2CON<15>)=1
T32(T2CON<3>)=1
TCKPS<1:0>(T2CON<5:4>) c s dng cu hnh cho b m t l (Prescaler)ca Timer
2
Cp thanh ghi TMR3:TMR2 cha gi tr ca Timer 32 bit
Cp thanh ghi PR3:PR2 cha gi tr dng so snh vi cp thanh ghi TMR3:TMR2
T3IE(IEC0<7>) dng kch hot kh nng to s kin ngt Timer
T3IF(IFS0<7>) c s dng nh c bo ngt
T3IP<2:0>(IPC<14:12>) dng thit t cp ngt u tin cho Timer 32 bit
-Ch b m ng b 32 bit ( Single 32-bit Counter)
Cc c im ca module Timer2/3
S kin kch chuyn i AD:
Khi gi tr gia hai thanh ghi 32 bit TMR3/TMR2 v thanh ghi kt hp PR3/PR2 bng
nhau th mt tn hiu kch ADC s c to ra bi Timer3

Timer Gate Operation:


32-bit Timer c th c t ch Gated Time Accumulation, ch ny cho
php xung clok ni lm tng gi tr ca Timer khi cng tn hiu vo (T2CK) c t ln mc
cao.Bit iu khin TGATE(T2CON<6>) phi c set kch hot trong ch ny. V khi
ang hot ng trong ch ny th Timer2 s l ngun xung clock . Vic set bit TGATE s
c b qua cho Timer3. Timer phi c kch hot (TON=1)v ngun xung clock phi l
ngun ni (TCS=0)
Cnh xung ca tn hiu t bn ngoi s kt thc vic m, ngi lp trnh phi reset timer
bt u m t gi tr 0.

54

CHNG 5: GII THIU V dsPIC6010

Cu hnh cho b m t l:
Xung a vo ( l Fosc/4 hoc l xung clock ngoi) vo TIMER , c th c t l
1:1,1:8,1:64,1:256 bi vic thit lp cc bit iu khin TCKPS<1:0>(T2CON<5:4>) v
(T3CON<5:4>).i vi Timer 32 bit , Timer2 s ng vai tr l ngun xung clock, v vic
la chn cc t l s khng c p dng trn Timer3. B m t l s b xa khi xy ra cc
trng hp sau:
-Tc ng ghi vo thanh ghi TMR2/TMR3.
-Tc ng xo mt trong hai bit TON(T2CON<15>) hoc T3CON<15> v 0.
-Cc tc ng reset MCU nh POR, BOR.
Tuy nhin , nu Timer cha c kch hot th b t l Timer2 khng th c reset khi xung
clock Prescaler c gi
TMR2/TMR3 s khng b xo khi T2CON/T3CON c ghi vo.
Hot ng ca Timer trong trng thi idle v trng thi ng:
Khi CPU ang trong trng thi ng ( sleep mode) th timer s khng hot ng v ngun
xung clock ni b v hiu ho
S kin ngt Timer:
32-bit TIMER c kh nng to ra ngt khi gi tr ca Timer bng vi mt gi tr nh
trc c np vo thanh ghi 32 bit PR2/PR3 hoc khi pht hin c c cnh xung t cng
tn hiu bn ngoi.Bit T3IF (IFS0<7>) s c tc ng v to ra ngt.Trong ch ny,
T3IF c s dng nh l ngun to ngt v bit T3IF phi c xo bng phn mm. Vic
kch hot hot ng ca ngt c thc hin thng qua bit T3IE<ICE0<7>)( Timer Interrup
Enable)
Bng 5.4: Trnh by cc thanh ghi iu khin Timer2/3

55

CHNG 5: GII THIU V dsPIC6010

S cu to ca b 32-bit Timer2/3, 16-bit Timer2, 16-bit Timer3 nh cc hnh v sau:

Hnh 5.9: S cu to ca b 32-bit Timer2/3

Hnh 5.10: S cu to ca b 16-bit Timer2 (Timer loi B)

56

CHNG 5: GII THIU V dsPIC6010

Hnh 5.11: S cu to ca b 16-bit Timer3 ( Timer loi C)


5.5.1.3 Timer4/5 module :
Module Timer 4/5 l mt Timer 32 bit tng qut v c th phn thnh hai module Timer
16 bit l Timer4, Timer5
Timer 4/5 hot ng tng t nh Timer 2/3, Tuy nhin c mt s khc bit sau:
-Timer4/5 khng h tr t im ADC Even Trigger nh Timer2/3
- Timer4/5 khng c s dng bi cc module ngoi vi khc nh Input Capture, Outpy
Compare
Hot ng ca Timer4/5 c xc nh bi vic thit lp cc bit trong cc thanh ghi t bit
nh T4CON, T5CON
Trong ch Timer4/5, Timer4 ng vai tr l 16 bit thp (LS Word), Timer5 ng vai tr l
16 bit cao (MS Word)
iu cn ch l khi hot ng ch Timer 32 bit, thanh ghi T5CON c b qua, ch c
thanh ghi T4CON l c s dng cho vic cu hnh hot ng ca Timer. Xung clock ca
Timer4 v cng vo c s dng cho module 32 bit Timer, nhng s kin ngt Timer4/5 l
do c ngt T5IF quyt nh, v chc nng ngt s c kch hot thng qua bit T5IE
Bng 5.5: Trnh by cc thanh ghi iu khin Timer4/5

57

CHNG 5: GII THIU V dsPIC6010

S cu to ca b 32-bit Timer4/5, 16-bit Timer4, 16-bit Timer5

Hnh 5.12: S cu to ca b 32-bit Timer4/5

Hnh 5.13: S cu to ca b 16-bit Timer4 (Timer loi B)

58

CHNG 5: GII THIU V dsPIC6010

Hnh 5.14: S cu to ca b 16-bit Timer5 (Timer loi C)


5.5.2 Module AD:
B chuyn i 10 bit AD tc cao cho php chuyn i tn hiu vo tun t sang 10
bit tn hiu s ( 10-bit high-speed analog to digital converter). Module AD ny da trn kin
trc Succesive Approximation Register ( SAR) v cung cp kh nng ly mu ti a 500ksps.
Module AD c 16 ng vo analog . in p tham chiu cho module A/D c la chn bng
phn mm ,c th l chnh ngun cung cp cho MCU ( AVDD/AVSS) hoc mc in p trn
cc chn ( VREF+/VREF-) . B chuyn i AD c kh nng hot ng khi CPU ang trong
trng thi ng ( Sleep Mode)

Module AD c iu khin bi vic thit lp cho 6 thanh ghi sau :


-A/D Control Register1(ADCON1)
-A/D Control Register2(ADCON2)
-A/D Control Register3(ADCON3)
-A/D Input Select Register ( ADCHS)
-A/D Port Configuration Register(ADPCFG)
-A/D Input Scan Selection Register(ADCSSL)

Trong thanh ghi ADCON1, ADCON2,ADCON3 iu khin hot ng ca module


A/D. Thanh ghi ADCHS dng cho vic chn la cc knh ng vo chuyn i. Thanh ghi
ADPCFG thit lp cc chn ch analog hay l digital.ADCSSL dng cho vic qut cc
ng vo.
iu cn lu l cc bit SSRC<2:0>, ASAM, SIMSAM, SMPI<3:0> cng nh cc
thanh ghi ADCON3, ADCSSL khng th c ghi vo trong khi bit ADON=1, iu ny s
nh hng n kt qu chuyn i.

59

CHNG 5: GII THIU V dsPIC6010

Hnh 5.15: S cu to bn trong module A/D


5.5.2.1Gii thch hot ng
Module bao gm b nh m kp 16-word (16-word dual port read-only buffer), y l
b nh ch c dng cha gi tr ca vic chuyn i AD. Ni dung ca 16 thanh ghi trong
b nh m ( t ADCBUF0 n ADCBUFF) khng th dc ghi vo bi ngi s dng
Sau khi Module ADC c thit lp xong, vic thu thp mu c bt u bng vic set bit
SAMP. Mt s tc ng nh l cc bit lp trnh(Programable bit), s kin ngoi( external
events), trn timer(timer time-out), s kt thc vic thu thp mu v bt u qu trnh chuyn
i. Khi s chuyn i hon tt, kt qu s c a vo cc thanh ghi trong b nh m t
ADCBUF0ADCBUFF. C bo ADIF v bit DONE s c set sau mt s ln ly mu
c xc nh bi bit SMPI
5.5.2.2 Qu trnh hot ng ca module ADC c tm tt nh cc bc sau:
1.Thit lp cho module ADC
-Thit lp cc chn analog, din p tham chiu, v cc digital I/O
-La chn knh vo
-La chn xung clock dng cho vic chuyn i

60

CHNG 5: GII THIU V dsPIC6010

-La chn tc ng kch cho vic chuyn i


-Kch hot qu trnh chuyn i
2.Thit lp cc ngt AD ( nu cn thit):
-Xo bit ADIF
-Chn cc u tin ngt
3.Bt u vic ly mu
4.Ch cho qu trnh ly mu thnh cng
5.Vic thu thp mu kt thc, bt u qu trnh chuyn i
6.Ch cho vic chuyn i hon tt bng cch:
-Ch cho n khi ngt AD xy ra
7. c gi tr t b nh m , xo c ADIF nu cn thit
5.5.2.3 Cc s kin kch chuyn i:
Cc kch chuyn i s kt thc qu trnh thu thp mu v bt u qu trnh chuyn i.
Vic la chn cc ngun kch chuyn i c qui nh bi bit SSRC<2:0>, Bit SSRC<2:0>
cung cp cho ngi dng 5 la chn cho vic kch chuyn i
Khi SSRC<2:0>=000, vic kch chuyn i c iu khin bng phn mm. Vic xa bit
SAMP s to nn mt kch chuyn i
Khi bit SSRC<2:0> =111, ( Ch t ng) , vic kch chuyn i c iu khin bng
xung clock ca module A/D. Bit SAMC s la chn s lng xung clock gia cc ln thu
thp mu v chuyn i. iu ny to kh nng chuyn i nhanh nht ch a knh (
Multiple Channels) . S lng xung clock gia qu trnh chuyn i v thu thp mu phi
lun lun t nht l 1 chu k xung clock.
Cc ngun kch chuyn i khc s l t cc module Timer, module PWM, v cc ngun ngt
ngoi ( external interrupt).
iu cn ch l module A/D c th hot ng c tc ti a , ch chuyn i t
ng nn c la chn SSRC<2:0>=111, v s xung clock gia qu trnh chuyn i v thu
thp mu nn c ci t l 1 TAD (SAMC=00001). Vic cu hnh nh th s c thi
gian tng cng bao gm vic thu thp mu v chuyn i l 13 TAD
5.5.2.4 Tc ng reset
Cc tc ng reset CPU s lm tt c cc thanh ghi tr v trang thi reset ban u. iu
ny lm cho module A/D s b tt, v tt c cc qu trnh chuyn i v thu thp mu b kt
thc. Gi tr trong cc thanh ghi ADCBUF s khng c cp nht. Cc thanh ghi kt qu s
bao gm cc dng d liu khng xc nh khi CPU hot ng tr li
5.5.2.5 nh dng kiu d liu trong module A/D
Kt qu chuyn i t module A/D c chiu dy 10 bit. b nh m RAM cng c
chiu di 10 bit. 10 bit d liu ny c th c c 1 trong 4 kiu nh dng c trnh by
nh hnh 33. Bit FORM<1:0> s qui nh kiu nh dng ca kt qu chuyn i thu c .
V cc kt qu ny c chuyn sang kiu kt qu dng 16 bit trn bus d liu
Vic ghi d liu vo lun lun s l kiu nh dng canh phi ( Right Justify)

61

CHNG 5: GII THIU V dsPIC6010

Bng 5.6: nh dng kiu lu tr kt qu

Bng 5.7: Bng thanh ghi iu khin module AD


5.5.3 Module PWM:
Module PWM c s dng to ra cc tn hiu xung ng b c kh nng u chnh
c rng ( Synchronized Pulse Width Modulated) . c ng dng trong cc mc ch
iu khin chuyn ng v iu khin cng sut
Module PWM c cc ng dng ph bin sau:
S dng ph bin trong iu khin ng c xoay chiu 3 pha ( Three Phase AC Induction
Motor)
S dng trong cc thit b dng lu tr in nng dng cung cp nng lng khi mt
in (Uninterruptable Power Supply )
S dng trong iu khin ng c mt chiu khng chi than ( Brushless DC Motor)
5.5.3.1 Cc c im ca module PWM
C 8 ng tn hiu ra PWM vi 4 b to chu k PWM
C phn gii ln n 16 bit
C kh nng thay i tn s tn hiu PWM khi module ang hot ng
C cc ch canh gia ,canh cnh ( Edgle and Center Aligned output)
C th vn hnh ch c lp, ngha l tn hiu mi knh PWM s hon ton c lp vi
nhau
S cu to

62

CHNG 5: GII THIU V dsPIC6010

Hnh 5.16: S cu to bn trong module PWM


5.5.3.2 Gii thch hot ng ca module PWM
Module PWM c th c cu hnh hot ng 4 ch vn hnh khc nhau gm:
Free Running Mode
Single Shot Mode
Continous Up/Down Counting Mode
Double Update Mode
Bn ch hot ng ny c la chn bi bit PTMOD<1:0> trong thanh ghi PTCON
Cc s kin ngt c to ra bi b m thi gian PWM ph thuc vo bit (PTMOD<1:0>)
v bit Postscaler (PTOPS<3:0>) trong thanh ghi PTCON

63

CHNG 5: GII THIU V dsPIC6010

Cc ch hot ng ca module PWM:


Ch t do(Free Running Mode)
Trong ch Free Running b m thi gian trong module PWM( PWM time base) s
m ln cho m khi no bng vi gi tr trong thanh ghi PTPER. Thanh ghi PTMR s reset
vo ln xung clock k tip v b m thi gian s tip tc m ln nu bit PTEN vn cn
c set
Trong khi b m thi gian ca module PWM trong ch Free Running
(PTMOD<1:0>=00), mt s kin ngt s c to ra mi ln gi tr ca b m trng vi gi
tr trong thanh ghi PTPER v thanh ghi PTMR s c reset v 0. Bit la chn Postscaler nn
c chn trong ch ny gim bt s ln s kin ngt xy ra

Hnh 5.17 : Cp nht gi tr PWM trong ch t do


Ch n (Single Shot Mode)
Trong ch Single Shot , b m thi gian ca module PWM s m ln khi bit PTEN
c set. Khi gi tr trong thanh ghi PTMR bng vi gi tr trong thanh ghi PTPER, thanh ghi
PTMR s c reset reset tron ln xung clock k tip,v thanh ghi PTEN s b xa bi phn
cng tm dng li b m thi gian.
Trong khi b m thi gian ca module PWM trong ch Single Shot (PTMOD<1:0>=01),
mt s kin ngt s c to ra mi ln gi tr ca b m trng vi gi tr trong thanh ghi
PTPER v thanh ghi PTMR s c reset v 0 , bit PTEN cng s c reset. Bit la chn
Postscaler khng c tc dng trong ch ny

Ch m ln xung (Continous Up/Down Counting Mode )


Trong ch Continous Up/Down Counting b m thi gian trong module PWM(
PWM time base) s m ln cho m khi no bng vi gi tr trong thanh ghi PTPER. Sau
Timer s bt u m xung trong ln xung clock tip theo. Bit PTDIR trong thanh ghi
PTCON cho bit Timer ang m ln hay m xung. Bit PTDIR s c set khi timer bt
u m xung.
Trong ch ny (PTMOD<1:0>=10) mt s kin ngt s xy ra mi khi gi tr ca thanh ghi
PTMR bng 0 v b m thi gian PWM bt u m ln. Bit la chn Postscaler nn c
chn trong ch ny gim bt s ln s kin ngt xy ra

64

CHNG 5: GII THIU V dsPIC6010

Hnh 5.18 : Cp nht gi tr PWM trong ch m ln xung

Ch cp nht kp(Double Update Mode )


Trong ch Double Update ( PTMOD<1:0>=11) mt s kin ngt s xy ra mi khi
gi tr trong thanh ghi PTMR bng 0, v mi khi bng vi gi tr trong thanh ghi
PTPER.Trong ch ny chu k PWM s c cp nht 2 ln trong mt chu k. Bit la chn
Postscaler khng c tc dng trong ch ny

Hnh 5.19 : Cp nht gi tr PWM trong ch cp nht kp

Ch hot ng h tr(Complementary PWM Operation)


Trong ch hot ng h tr (Complementary mode) , mi cp tn hiu PWM thu
c t mt tn hiu PWM h tr ( Comolementary PWM signal) . Khong thi gian ngh
(Dead Time) c th c la chn a vo trong qu trnh ng ngt cc kho , khi c hai
tn hiu c cng trng thi tch cc trong mt thi gian ngn

65

CHNG 5: GII THIU V dsPIC6010

Hnh 5.20: Tn hiu PWM trong ch hot ng h tr

Trong ch hot ng h tr ny, cc thanh ghi so snh c phn chia nh sau:


Thanh ghi PDC1 iu khin tn hiu PWM1H/PWM1L
Thanh ghi PDC2 iu khin tn hiu PWM2H/PWM2L
Thanh ghi PDC3 iu khin tn hiu PWM3H/PWM3L
Thanh ghi PDC4 iu khin tn hiu PWM4H/PWM4L
Xung PWM dng Edge Aligned
Tn hiu Center Aligned PWM c to ra bi module PWM khi b m thi gian
PWM c cu hnh hot ng ch Free Running hoc Single Shot
i vi tn hiu Edgle PWM, c thi gian ( Period) c xc nh bi gi tr trong thanh ghi
PTPER v c chu k ( Duty cycle) c xc nh bi thanh ghi PDCx tng ng . Tn hiu
PWM c chuyn sang tch cc vo thi im bt u ca chu k ( PTMR=0) v chuyn
sang khng tch cc khi gi tr trong thanh ghi PDCx bng vi gi tr trong thanh ghi PTMR.
Nu gi tr trong thanh ghi PDCx tng ng bng 0 , th tn hiu ra trn chn PWM tng ng
s khng tch cc trong sut ton b chu k PWM. Tn hiu ra trn chn PWM tng ng s
tch cc trong sut ton b chu k PWM nu gi tr trong thanh ghi PDCx ln hn gi tr c
lu trong thanh ghi PTPER
Qu trnh hot ng c th hin trong hnh

Hnh 5.21: Xung PWM dng Edge Aligned

Xung PWM dng Center Aligned


Tn hiu Center Aligned PWM c to ra bi module PWM khi b m thi gian
PWM c cu hnh hot ng ch Up/Down Counting
Tn hiu PWM (PWM compare output) c chuyn sang trng thi tch cc khi gi tr trong
thanh ghi PTMR bng vi gi tr trong thanh ghi PTPER v b m thi gian PWM ang
m xung . Tn hiu PWM c chuyn sang trng thi khng tch cc khi b m ang
m ln v gi tr trong thanh ghi PTMR bng vi gi tr trong thanh ghi PTPER

66

CHNG 5: GII THIU V dsPIC6010

Qu trnh hot ng c th hin trong hnh

Hnh 5.22: Xung PWM dng Center Aligned


5.5.3.3 Cc b m t l trong module PWM:
PWM Timer Base Prescaler
Xung clock a vo thanh ghi PTMR (FOSC/4) c t l 1:1 , 1:4 , 1:16 hoc 1:64 ,
c la chn bi cc bit iu khin PTCKPS<1:0> trong thanh ghi PTCON. Vic t l s b
xo khi xy ra cc trng hp sau:
Ghi vo thanh ghi PTMR
Ghi vo thanh ghi PTCON
Cc reset CPU

Hnh 5.23: B m t l trong module PWM


PWM Timer Base Postscaler

67

CHNG 5: GII THIU V dsPIC6010

S trng lp gia thanh ghi PTPER v thanh ghi PTMR c th c la chn theo cc
t l t 1:1 n 1:16 thng qua 4-bit postscaler to ra tn hiu ngt. Vic t l ny c s
dng trong trng hp khng cn thay i duty cycile ca xung PWM mi chu k PWM
B m postscaler s b xa bi cc tc ng sau:
Ghi vo thanh ghi PTMR
Ghi vo thanh ghi PTCON
Cc reset CPU
Thanh ghi PTMR s khng b xo khi thanh ghi PTCON c ghi vo
5.5.3.4 Cc thanh ghi lm vic trong module PWM
Thanh ghi PTPER (PWM Period)
PTPER l mt thanh ghi 15 bit v c s dng ci t vic m thi gian cho
module PWM . PTPER l mt thanh ghi m kp . Ni dung trong thanh ghi m PTPER
c np vo thanh ghi PTPER nh sau:
ch Free Running v Single Shot : Khi thanh ghi PTMR c reset v 0 sau khi bng gi
tr trong thanh ghi PTPER
Chu k PWM trong ch Free Running c tnh bi cng thc sau:
Fcy
1
PTPER =
FPWM *( PTMR Pr escaler )
V d:
FCY = 20 MHz
FPWM = 20,000 Hz
PTMR Prescaler = 1:1
PTPER =20000000/(1**20000)-1=999

ch Up/Down Counting : Khi thanh ghi PTMR bng 0

Gi tr c lu gi trong b m PTPER s t ng c np vo thanh ghi PTPER khi b


m thi gian PWM b v hiu ho (PTEN=0)
Chu k PWM trong ch Up/Down Counting c tnh bi cng thc sau:
Fcy
1
PTPER =
FPWM *( PTMR Pr escaler )* 2
V d:
FCY = 20 MHz
FPWM = 20,000 Hz
PTMR Prescaler = 1:1
PTPER =20000000/(1*2*20000)-1=499
Cc thanh ghi so snh: (PWM Duty Cycle Comparison Units)
Module PWM c 4 thanh ghi 16 bit ( PDC1, PDC2, PDC3, PDC4(Duty cycle register))
c dng xc nh chu k ca module ny
Gi tr trong mi thanh ghi nh ngha khong thi gian m tn hiu PWM (PWM output)
trng thi tch cc. Bit v tr thp nht (LSB) cho bit bt u xut hin cnh ca PWM.

Cc thanh ghi m (Duty Cyle Register Buffer):


4 thanh ghi PDCx l cc b m kp cho php cp nht tn hiu PWM. Trong mi chu
k, c mt thanh ghi m c truy cp bi ngi dng v thanh ghi cn li lu tr gi tr so
snh thc t s dng trong chu k PWM hin ti
68

CHNG 5: GII THIU V dsPIC6010

i vi tn hiu Edge Aligned PWM , gi tr chu k mi s c cp nht mi khi gi tr


trong thanh ghi PTMR bng vi gi tr trong thanh ghi PTPER v thanh ghi PTMR c
reset. Ni dung trong thanh ghi m s t ng np vo thanh ghi dng so snh khi b m
thi gian PWM b v hiu ha ( PTEN=0) v bit UDIS trong thanh ghi PWMCON2 s b xa
Trong ch Up/Down Counting , gi tr chu k mi s c cp nht khi gi tr trong thanh
ghi PTMR bng 0, v b m thi gian bt u m ln. Ni dung trong thanh ghi m s t
ng c np vo thanh ghi dng so snh khi b m thi gian PWM b v hiu ha (
PTEN=0)
Trong ch Up/Down Counting vi c im cp nht hai ln ( Double Update), PWM , gi
tr chu k mi s c cp nht mi khi gi tr trong thanh ghi PTMR bng vi gi tr trong
thanh ghi PTPER v khi gi tr trong thanh ghi PTMR bng 0, Ni dung trong thanh ghi m
s t ng c np vo thanh ghi dng so snh khi b m thi gian PWM b v hiu ha
( PTEN=0)

Bng 5.8 : Bng thanh ghi iu khin module PWM

69

CHNG 5: GII THIU V dsPIC6010

5.6 GII THIU V TP LNH CA MCU DSPIC-6010

70

CHNG 5: GII THIU V dsPIC6010

71

CHNG 5: GII THIU V dsPIC6010

72

CHNG 5: GII THIU V dsPIC6010

73

CHNG 5: GII THIU V dsPIC6010

Bng 5.9: Bng tp lnh MCU 6010

74

CHNG 6: S KHI V GII THUT IU KHIN

CHNG 6

S KHI V GII
THUT IU KHIN

75

CHNG 6: S KHI V GII THUT IU KHIN

CHNG 6: S KHI V GII THUT IU KHIN


6.1 S khi chng trnh :
Ua
Udk

F_req
ADC

V/F

STEP

U1

Ua
OFFSET

120
DEGREE
OFFSET

SIN TABLE

Ua
MOTOR

INVERTER

PWM

Ub
Uc

76

Ub
Uc

CHNG 6: S KHI V GII THUT IU KHIN

6.2 S gii thut chng trnh :

MAIN

ADC_CONFIG

PWM_CONFIG

MODE_CONFIG

NO

RUN = 1 ?

F_req = 0

YES

MODE = 1

NO

YES

F_req = READ_ADC

MODE = 2

NO

YES

MODE = 3

NO

MODE = 4
YES

YES

F_req = VALUE_1

CHANGE = 0 ?

NO

F_req = VALUE_4

YES

CHANGE_FLAG =
! CHANGE_FLAG

CHANGE_FLAG= 1

WRITE_UART ( )

NO

YES

F_req = VALUE_2

77

F_req = VALUE_3

CHNG 6: S KHI V GII THUT IU KHIN

PWM_ISR

IF=0

F < F_req

NO

YES
GI? M T? N S?

TANG T? N S?

NO

NO

F > F_req

F < F_req
YES

YES

F = F_req
F = F_req

NO

F=0?
YES

NO

REV=1

YES
RUN=1
REV=0

DIRECTION=! DIRECTION
TNH TON K

? C GI TR? T? B? NG SIN

TNH TON GI TR? UPDATE

DIRECTION = 1

NO

YES
UPDATE THU? N

UPDATE NGH?CH

RETFIE

78

CHNG 6: S KHI V GII THUT IU KHIN

INT3_ISR ( RUN
BUTTON)

INT0_ISR ( CHANGE
DIRECTION BUTTON)

RUN = 1

RUN = 0

DIRECTION = 1

REV=1

RETFI
E

RETFI
E

INT4_ISR ( STOP
BUTTON)

UART1_ISR

RUN = 0

VALUE_4 = READ_UART1 ( )

RETFI
E

VALUE_4 = 70
YES

REV=1

VALUE_4 = 0

RETFI
E

79

NO

CHNG 7 : KT QU T C

CHNG 7

KT QU T C

80

CHNG 7 : KT QU T C

CHNG 7 : KT QU T C
7.1 Phn cng:
7.1.1 Mch ng lc:

Hnh 7.1 : Mch ng lc

Mch ng lc gm ( chnh lu 1 pha khng iu khin, b nghch lu 6 kho , mch li


mosfet, ngun cung cp 5V,12V,) hot ng n nh
Mch vn hnh ng c 2 HP ( u tam gic, vn hnh ch khng ti ) tt c cc ch
iu khin thng thng( RUN, STOP, o chiu, thay i tc t ..).
+ Khuyt im:
-Ngun AC(ngun 1 pha) cung cp khng yu vu dn n ng c khng th vn hnh
nh mc
-Nhit cc kha cng sut kh cao ( 50-60 C)
-Cha c khu hi tip dng ,hi tip tc ,hi tip in p DC
.
+ Gii php khc phc:
S dng b chnh lu cu 3 pha
-Nhit cc kha cng sut kh cao cn thay th cc kha cng sut bng loi cht lng
cao , p ng tt hn .
-Xy dng gii thut iu khin vng kn ( Hi tip tc , khu hiu chnh PID)

81

CHNG 7 : KT QU T C

7.1.2 Mch iu khin

Hnh 7.2: Mch iu khin

Mch iu khin c kh nng p ng cc yu cu iu khin ng c trong thc t:


+ Cc nt bm iu khin ng c:
NEXT(ti),BACK(lui),UP(ln),DOWN(xung),ENTER(xc nhn),RUN(chy),
STOP(dng), REV(o chiu),CHANGE(thay i tc ), MENU(quay v menu
chnh),RESET(reset phn mm iu khin),bin tr hiu chnh tc
+ Cc nt bm iu khin LCD: ci t cc thng s (thi gian tng tc, gim tc, ci
t mode, ci t tc , di chuyn gia cc menu, .)
+ LCD : hin th trng thi hot ng ca ng c ( tn s, chiu quay, trng thi hot
ng, menu)
+ Giao tip vi my tnh: nhn gi tr tc t t my tnh, hin th trng thi hot
ng ca ng c ln my tnh, v gin trng thi thay i tn s ca ng c

82

CHNG 7 : KT QU T C

7.2 Phn mm:

Hnh 7.3: Giao din giao tip my tnh


Tng t nh ch iu khin ti mch iu khin. Chng ta c th iu khin cc ch
hot ng ca motor trc tip trn my tnh. ng thi c th quan st c thng s ng ra
theo thi gian thc ( Tn s , in p tnh ton)

7.3 Dng sng in p ng ra:

Hnh 7.4: Dng in p pha ng ra

83

CHNG 7 : KT QU T C

Hnh 7.5 : Dng in p dy ng ra

84

PH LC

PH LC

PH LC

PH LC
CODE TRONG CHNG TRNH IU KHIN
/*************************************************************************
* Project:
Dieu Khien Dong Co Khong Dong Bo
*
* Dependencies: Header (p30f6010.h) files
*
* Processor:
dsPIC30F6010
*
* Compiler:
MPLAB C30 v2.02.00 or higher
*
* IDE:
MPLAB IDE v7.50.00 or later
*
*************************************************************************/
#include <p30f6010.h>
#include<ports.h>
#include<adc10.h>
#include<timer.h>
#include<pwm.h>
#include<math.h>
#include<uart.h>
#include "xlcd4bit.h"
/*===========================================================================*/
_FOSC(CSW_FSCM_OFF & XT_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_ON & BORV_20 & PWRT_64 & MCLR_EN);
_FGS(CODE_PROT_OFF);
/*======================== VARIABLE DEFINITION ===============================*/
float
Float_k, temp1;
float
Voltage_Value,ADC_Value;
int
Voltage_Value_A,Voltage_Value_B,Voltage_Value_C;
int
j,k,a,b,c,ADC_Result,Int_k,AD;
float
F_req;
int
First_Run,Run,Rev_Status,Stop;
int
Direction,Menu_Flag,Reset;
float
Temp_1, Temp_2, Temp_Mode_1,Temp_Value,Temp_Mode3_1,Temp_Mode3_2;
int
Step_up,Step_down,t,ADC;
float
up,down;
int
PC_Value,PC_Value_Temp;
int
int_F_req;
float
delta;
int
Mode;
int
Change_Speed;
//=============================== Button Define=========== ====================//
#define NEXT
PORTDbits.RD8
#define ENTER
PORTDbits.RD9
#define UP
PORTDbits.RD10
#define BACK
PORTDbits.RD11
#define DOWN
PORTFbits.RF8
#define CHANGE
PORTFbits.RF7
float const SinValue[720]={0.0 , 0.00873 ,0.01745 ,0.02618 ,0.03490 ,0.04362 ,0.05234 ,0.06105 ,0.06976
,0.07846 ,0.08716 ,
0.09585 ,0.10453 ,0.11320 ,0.12187 ,0.13053 ,0.13917 ,0.14781 ,0.15643 ,0.16505 ,0.17365 ,0.18224 ,0.19081
,0.19937 ,
0.20791 ,0.21644 ,0.22495 ,0.23345 ,0.24192 ,0.25038 ,0.25882 ,0.26724 ,0.27564 ,0.28402 ,0.29237 ,0.30071
,0.30902 ,
0.31730 ,0.32557 ,0.33381 ,0.34202 ,0.35021 ,0.35837 ,0.36650 ,0.37461 ,0.38268 ,0.39073 ,0.39875 ,0.40674
,0.41469 ,

PH LC

0.42262 ,0.43051 ,0.43837 ,0.44620 ,0.45399 ,0.46175 ,0.46947 ,0.47716 ,0.48481 ,0.49242 ,0.50000 ,0.50754
,0.51504 ,
0.52250 ,0.52992 ,0.53730 ,0.54464 ,0.55194 ,0.55919 ,0.56641 ,0.57358 ,0.58070 ,0.58779 ,0.59482 ,0.60182
,0.60876 ,
0.61566 ,0.62251 ,0.62932 ,0.63608 ,0.64279 ,0.64945 ,0.65606 ,0.66262 ,0.66913 ,0.67559 ,0.68200 ,0.68835
,0.69466 ,
0.70091 ,0.70711 ,0.71325 ,0.71934 ,0.72537 ,0.73135 ,0.73728 ,0.74314 ,0.74896 ,0.75471 ,0.76041 ,0.76604
,0.77162 ,
0.77715 ,0.78261 ,0.78801 ,0.79335 ,0.79864 ,0.80386 ,0.80902 ,0.81412 ,0.81915 ,0.82413 ,0.82904 ,0.83389
,0.83867 ,
0.84339 ,0.84805 ,0.85264 ,0.85717 ,0.86163 ,0.86603 ,0.87036 ,0.87462 ,0.87882 ,0.88295 ,0.88701 ,0.89101
,0.89493 ,
0.89879 ,0.90259 ,0.90631 ,0.90996 ,0.91355 ,0.91706 ,0.92050 ,0.92388 ,0.92718 ,0.93042 ,0.93358 ,0.93667
,0.93969 ,
0.94264 ,0.94552 ,0.94832 ,0.95106 ,0.95372 ,0.95630 ,0.95882 ,0.96126 ,0.96363 ,0.96593 ,0.96815 ,0.97030
,0.97237 ,
0.97437 ,0.97630 ,0.97815 ,0.97992 ,0.98163 ,0.98325 ,0.98481 ,0.98629 ,0.98769 ,0.98902 ,0.99027 ,0.99144
,0.99255 ,
0.99357 ,0.99452 ,0.99540 ,0.99619 ,0.99692 ,0.99756 ,0.99813 ,0.99863 ,0.99905 ,0.99939 ,0.99966 ,0.99985
,0.99996 ,
1.00000 ,0.99996 ,0.99985 ,0.99966 ,0.99939 ,0.99905 ,0.99863 ,0.99813 ,0.99756 ,0.99692 ,0.99619 ,0.99540
,0.99452 ,
0.99357 ,0.99255 ,0.99144 ,0.99027 ,0.98902 ,0.98769 ,0.98629 ,0.98481 ,0.98325 ,0.98163 ,0.97992 ,0.97815
,0.97630 ,
0.97437 ,0.97237 ,0.97030 ,0.96815 ,0.96593 ,0.96363 ,0.96126 ,0.95882 ,0.95630 ,0.95372 ,0.95106 ,0.94832
,0.94552 ,
0.94264 ,0.93969 ,0.93667 ,0.93358 ,0.93042 ,0.92718 ,0.92388 ,0.92050 ,0.91706 ,0.91355 ,0.90996 ,0.90631
,0.90259 ,
0.89879 ,0.89493 ,0.89101 ,0.88701 ,0.88295 ,0.87882 ,0.87462 ,0.87036 ,0.86603 ,0.86163 ,0.85717 ,0.85264
,0.84805 ,
0.84339 ,0.83867 ,0.83389 ,0.82904 ,0.82413 ,0.81915 ,0.81412 ,0.80902 ,0.80386 ,0.79864 ,0.79335 ,0.78801
,0.78261 ,
0.77715 ,0.77162 ,0.76604 ,0.76041 ,0.75471 ,0.74896 ,0.74314 ,0.73728 ,0.73135 ,0.72537 ,0.71934 ,0.71325
,0.70711 ,
0.70091 ,0.69466 ,0.68835 ,0.68200 ,0.67559 ,0.66913 ,0.66262 ,0.65606 ,0.64945 ,0.64279 ,0.63608 ,0.62932
,0.62251 ,
0.61566 ,0.60876 ,0.60182 ,0.59482 ,0.58779 ,0.58070 ,0.57358 ,0.56641 ,0.55919 ,0.55194 ,0.54464 ,0.53730
,0.52992 ,
0.52250 ,0.51504 ,0.50754 ,0.50000 ,0.49242 ,0.48481 ,0.47716 ,0.46947 ,0.46175 ,0.45399 ,0.44620 ,0.43837
,0.43051 ,
0.42262 ,0.41469 ,0.40674 ,0.39875 ,0.39073 ,0.38268 ,0.37461 ,0.36650 ,0.35837 ,0.35021 ,0.34202 ,0.33381
,0.32557 ,
0.31730 ,0.30902 ,0.30071 ,0.29237 ,0.28402 ,0.27564 ,0.26724 ,0.25882 ,0.25038 ,0.24192 ,0.23345 ,0.22495
,0.21644 ,
0.20791 ,0.19937 ,0.19081 ,0.18224 ,0.17365 ,0.16505 ,0.15643 ,0.14781 ,0.13917 ,0.13053 ,0.12187 ,0.11320
,0.10453 ,
0.09585 ,0.08716 ,0.07846 ,0.06976 ,0.06105 ,0.05234 ,0.04362 ,0.03490 ,0.02618 ,0.01745 ,0.00873 ,0.00000 ,0.00873 ,
-0.01745 ,-0.02618 ,-0.03490 ,-0.04362 ,-0.05234 ,-0.06105 ,-0.06976 ,-0.07846 ,-0.08716 ,-0.09585 ,-0.10453 ,0.11320 ,
-0.12187 ,-0.13053 ,-0.13917 ,-0.14781 ,-0.15643 ,-0.16505 ,-0.17365 ,-0.18224 ,-0.19081 ,-0.19937 ,-0.20791 ,0.21644 ,
-0.22495 ,-0.23345 ,-0.24192 ,-0.25038 ,-0.25882 ,-0.26724 ,-0.27564 ,-0.28402 ,-0.29237 ,-0.30071 ,-0.30902 ,0.31730 ,
-0.32557 ,-0.33381 ,-0.34202 ,-0.35021 ,-0.35837 ,-0.36650 ,-0.37461 ,-0.38268 ,-0.39073 ,-0.39875 ,-0.40674 ,0.41469 ,
-0.42262 ,-0.43051 ,-0.43837 ,-0.44620 ,-0.45399 ,-0.46175 ,-0.46947 ,-0.47716 ,-0.48481 ,-0.49242 ,-0.50000 ,0.50754 ,

PH LC

-0.51504 ,-0.52250 ,-0.52992 ,-0.53730 ,-0.54464 ,-0.55194 ,-0.55919 ,-0.56641 ,-0.57358 ,-0.58070 ,-0.58779 ,0.59482 ,
-0.60182 ,-0.60876 ,-0.61566 ,-0.62251 ,-0.62932 ,-0.63608 ,-0.64279 ,-0.64945 ,-0.65606 ,-0.66262 ,-0.66913 ,0.67559 ,
-0.68200 ,-0.68835 ,-0.69466 ,-0.70091 ,-0.70711 ,-0.71325 ,-0.71934 ,-0.72537 ,-0.73135 ,-0.73728 ,-0.74314 ,0.74896 ,
-0.75471 ,-0.76041 ,-0.76604 ,-0.77162 ,-0.77715 ,-0.78261 ,-0.78801 ,-0.79335 ,-0.79864 ,-0.80386 ,-0.80902 ,0.81412 ,
-0.81915 ,-0.82413 ,-0.82904 ,-0.83389 ,-0.83867 ,-0.84339 ,-0.84805 ,-0.85264 ,-0.85717 ,-0.86163 ,-0.86603 ,0.87036 ,
-0.87462 ,-0.87882 ,-0.88295 ,-0.88701 ,-0.89101 ,-0.89493 ,-0.89879 ,-0.90259 ,-0.90631 ,-0.90996 ,-0.91355 ,0.91706 ,
-0.92050 ,-0.92388 ,-0.92718 ,-0.93042 ,-0.93358 ,-0.93667 ,-0.93969 ,-0.94264 ,-0.94552 ,-0.94832 ,-0.95106 ,0.95372 ,
-0.95630 ,-0.95882 ,-0.96126 ,-0.96363 ,-0.96593 ,-0.96815 ,-0.97030 ,-0.97237 ,-0.97437 ,-0.97630 ,-0.97815 ,0.97992 ,
-0.98163 ,-0.98325 ,-0.98481 ,-0.98629 ,-0.98769 ,-0.98902 ,-0.99027 ,-0.99144 ,-0.99255 ,-0.99357 ,-0.99452 ,0.99540 ,
-0.99619 ,-0.99692 ,-0.99756 ,-0.99813 ,-0.99863 ,-0.99905 ,-0.99939 ,-0.99966 ,-0.99985 ,-0.99996 ,-1.00000 ,0.99996 ,
-0.99985 ,-0.99966 ,-0.99939 ,-0.99905 ,-0.99863 ,-0.99813 ,-0.99756 ,-0.99692 ,-0.99619 ,-0.99540 ,-0.99452 ,0.99357 ,
-0.99255 ,-0.99144 ,-0.99027 ,-0.98902 ,-0.98769 ,-0.98629 ,-0.98481 ,-0.98325 ,-0.98163 ,-0.97992 ,-0.97815 ,0.97630 ,
-0.97437 ,-0.97237 ,-0.97030 ,-0.96815 ,-0.96593 ,-0.96363 ,-0.96126 ,-0.95882 ,-0.95630 ,-0.95372 ,-0.95106 ,0.94832 ,
-0.94552 ,-0.94264 ,-0.93969 ,-0.93667 ,-0.93358 ,-0.93042 ,-0.92718 ,-0.92388 ,-0.92050 ,-0.91706 ,-0.91355 ,0.90996 ,
-0.90631 ,-0.90259 ,-0.89879 ,-0.89493 ,-0.89101 ,-0.88701 ,-0.88295 ,-0.87882 ,-0.87462 ,-0.87036 ,-0.86603 ,0.86163 ,
-0.85717 ,-0.85264 ,-0.84805 ,-0.84339 ,-0.83867 ,-0.83389 ,-0.82904 ,-0.82413 ,-0.81915 ,-0.81412 ,-0.80902 ,0.80386 ,
-0.79864 ,-0.79335 ,-0.78801 ,-0.78261 ,-0.77715 ,-0.77162 ,-0.76604 ,-0.76041 ,-0.75471 ,-0.74896 ,-0.74314 ,0.73728 ,
-0.73135 ,-0.72537 ,-0.71934 ,-0.71325 ,-0.70711 ,-0.70091 ,-0.69466 ,-0.68835 ,-0.68200 ,-0.67559 ,-0.66913 ,0.66262 ,
-0.65606 ,-0.64945 ,-0.64279 ,-0.63608 ,-0.62932 ,-0.62251 ,-0.61566 ,-0.60876 ,-0.60182 ,-0.59482 ,-0.58779 ,0.58070 ,
-0.57358 ,-0.56641 ,-0.55919 ,-0.55194 ,-0.54464 ,-0.53730 ,-0.52992 ,-0.52250 ,-0.51504 ,-0.50754 ,-0.50000 ,0.49242 ,
-0.48481 ,-0.47716 ,-0.46947 ,-0.46175 ,-0.45399 ,-0.44620 ,-0.43837 ,-0.43051 ,-0.42262 ,-0.41469 ,-0.40674 ,0.39875 ,
-0.39073 ,-0.38268 ,-0.37461 ,-0.36650 ,-0.35837 ,-0.35021 ,-0.34202 ,-0.33381 ,-0.32557 ,-0.31730 ,-0.30902 ,0.30071 ,
-0.29237 ,-0.28402 ,-0.27564 ,-0.26724 ,-0.25882 ,-0.25038 ,-0.24192 ,-0.23345 ,-0.22495 ,-0.21644 ,-0.20791 ,0.19937 ,
-0.19081 ,-0.18224 ,-0.17365 ,-0.16505 ,-0.15643 ,-0.14781 ,-0.13917 ,-0.13053 ,-0.12187 ,-0.11320 ,-0.10453 ,0.09585 ,
-0.08716 ,-0.07846 ,-0.06976 ,-0.06105 ,-0.05234 ,-0.04362 ,-0.03490 ,-0.02618 ,-0.01745 ,-0.00873 };
//*============================ ADC Module Setup===============================*//
void ADCSetup(void)
{
unsigned int config1, config2, config3, configport, configscan;
unsigned int channel;
ConfigIntADC10(ADC_INT_DISABLE );
channel =
ADC_CH0_POS_SAMPLEA_AN6&
ADC_CH0_NEG_SAMPLEA_NVREF;
SetChanADC10(channel);

PH LC

configport = ENABLE_AN6_ANA;
//Auto conversion trigger, auto sampling
config3 =
ADC_SAMPLE_TIME_6&
ADC_CONV_CLK_SYSTEM&
ADC_CONV_CLK_6Tcy;
config2 =
ADC_VREF_AVDD_AVSS&
ADC_SCAN_OFF&
ADC_CONVERT_CH0&
ADC_SAMPLES_PER_INT_2&
ADC_ALT_BUF_OFF&
ADC_ALT_INPUT_OFF;
config1 =
ADC_MODULE_ON&
ADC_IDLE_CONTINUE&
ADC_FORMAT_INTG&
ADC_CLK_AUTO&
ADC_AUTO_SAMPLING_ON&
ADC_SAMPLE_SIMULTANEOUS;
configscan = SCAN_NONE;
OpenADC10(config1, config2, config3, configport, configscan);
}
/*==================================PWM Module Setup =======================*/
void PWMSetup(void)
{
unsigned int config1, config2, config3;
unsigned int period, sptime;
unsigned int DeadTime_Config;
//Setup deadtime for 2us
DTCON1bits.DTBPS =0;
DTCON1bits.DTAPS =0;
DTCON1bits.DTB = 40;
//DT=DeadTime/(Perscaler*Tcy)
DTCON1bits.DTA = 40;
DeadTime_Config =
PWM_DTS3A_UA&PWM_DTS3I_UB&
PWM_DTS2A_UA&PWM_DTS2I_UB&
PWM_DTS1A_UA&PWM_DTS1I_UB;
SetMCPWMDeadTimeAssignment(DeadTime_Config);
ConfigIntMCPWM(PWM_INT_EN & PWM_INT_PR7);
period = 1999;
//1999 Fpwm=5KHz
sptime = 0;
config1 = PWM_EN&
//enable
PWM_IDLE_CON&
PWM_OP_SCALE1&
//output post scaler
PWM_IPCLK_SCALE1&
//input prescaler
PWM_MOD_UPDN;
//mode of operation
config2 =
PWM_MOD1_COMP&
PWM_MOD2_COMP&
PWM_MOD3_COMP&
PWM_PEN1H&
PWM_PEN2H&
PWM_PEN3H&
PWM_PEN1L&
PWM_PEN2L&
PWM_PEN3L;
config3 =
PWM_SEVOPS1&
//Special event post scaler
PWM_OSYNC_PWM&
//output Override synchronization
PWM_UEN;
//PWM update enable/disable
OpenMCPWM(period, sptime, config1, config2, config3);
DisableIntFLTA;

PH LC

DisableIntFLTB;
PDC1=0;
PDC2=0;
PDC3=0;
}
void Uart_Setup(void)
{
unsigned int baudvalue,U1MODEvalue,U1STAvalue;
CloseUART1();
ConfigIntUART1(UART_RX_INT_EN & UART_RX_INT_PR6 &
UART_TX_INT_DIS & UART_TX_INT_PR1);
baudvalue = 129;
U1MODEvalue =UART_EN & UART_IDLE_CON &
UART_DIS_WAKE & UART_DIS_LOOPBACK &
UART_DIS_ABAUD & UART_NO_PAR_8BIT &
UART_1STOPBIT;
U1STAvalue = UART_INT_TX &
UART_TX_PIN_NORMAL &
UART_TX_ENABLE &
UART_INT_RX_CHAR &
UART_ADR_DETECT_DIS &
UART_RX_OVERRUN_CLEAR;
OpenUART1(U1MODEvalue, U1STAvalue, baudvalue);
}
//================================Delay Routine===============================//
void Delay_Cycle(unsigned long i_cycle)
{
unsigned long i;
for(i=0;i<i_cycle;i++)
asm("clrwdt");
}
//================================LCD Routine================================//
void ClearLCD(void)
// Clear LCD
{
XlcdCursor(1,1);
printf("
");
XlcdCursor(2,1);
printf("
");
}
void ClearLCD_1(void)
// Clear LCD at first line
{
XlcdCursor(1,1);
printf("
");
}
void ClearLCD_2(void)
// Clear LCD at second line
{
XlcdCursor(2,1);
printf("
");
}
//==============================External Interrupt ==============================//
void Ext_Interrupt (void)
{
ConfigINT3(FALLING_EDGE_INT & EXT_INT_ENABLE & EXT_INT_PRI_6);
ConfigINT4(FALLING_EDGE_INT & EXT_INT_ENABLE & EXT_INT_PRI_5);
ConfigINT0(FALLING_EDGE_INT & EXT_INT_ENABLE & EXT_INT_PRI_4);
ConfigINT1(FALLING_EDGE_INT & EXT_INT_ENABLE & EXT_INT_PRI_3);
ConfigINT2(FALLING_EDGE_INT & EXT_INT_ENABLE & EXT_INT_PRI_3);
}
//=============================== Update PDC Routine ===========================//

PH LC

void Update_PDC_FW (void)


{
a=a+k;
if(a>719)
{
a=(a-720);
Voltage_Value_A = Voltage_Value * SinValue[a];
}
else
{
Voltage_Value_A = Voltage_Value * SinValue[a];
}
j=a;
b=j+240;
if(b>719)
{
b=(b-720);
Voltage_Value_B = Voltage_Value * SinValue[b];
}
else
{
Voltage_Value_B = Voltage_Value * SinValue[b];
}
c=j+480;
if(c>719)
{
c=(c-720);
Voltage_Value_C = Voltage_Value * SinValue[c];
}
else
{
Voltage_Value_C = Voltage_Value * SinValue[c];
}
PDC1 = 1999 + Voltage_Value_A;
PDC2 = 1999 + Voltage_Value_B;
PDC3 = 1999 + Voltage_Value_C;
}
void Update_PDC_REV (void)
{
a=a+k;
if(a>719)
{
a=(a-720);
Voltage_Value_B= Voltage_Value * SinValue[a];
}
else
{
Voltage_Value_B = Voltage_Value * SinValue[a];
}
j=a;
b=j+240;
if(b>719)
{
b=(b-720);
Voltage_Value_A = Voltage_Value * SinValue[b];

PH LC

}
else
{
Voltage_Value_A = Voltage_Value * SinValue[b];
}
c=j+480;
if(c>719)
{
c=(c-720);
Voltage_Value_C = Voltage_Value * SinValue[c];
}
else
{
Voltage_Value_C = Voltage_Value * SinValue[c];
}
PDC1 = 1999 + Voltage_Value_A;
PDC2 = 1999 + Voltage_Value_B;
PDC3 = 1999 + Voltage_Value_C;
}
//================================== Calculate Sub_routine ====================//
void Step_Calculate(void)
{
Float_k=0.144*F_req;
Int_k=Float_k;
temp1=Float_k-Int_k;
if(temp1>=0.5)
{
k=Float_k+0.5;
}
else
{
k=Int_k;
}
}
void Voltage_Calculate(void)
{
Voltage_Value= F_req/0.03;
if(
{

Voltage_Value >= 1900.05)

//Limit modulation amplitude at 95% to avoid

Voltage_Value=1900.05;

// dead_time induced distortion in PWM modulation

}
}
//============================ Interrupt Sub_routine ============================//
void __attribute__((__interrupt__)) _PWMInterrupt(void)
{
IFS2bits.PWMIF=0;
ADC_Value=ADC_Result*0.05859375;
if((F_req+0.000005)>ADC_Value)
{
F_req=F_req-down;
if(F_req<=ADC_Value)

//ADC_Value=((ADC_Result*60)/1024);
//SPEED DOWN

PH LC

{
F_req=ADC_Value;
if(Rev_Status==1&&F_req==0)
{
Run=1; //Prepair For Speed Up, Load Value From ADC
Direction=!Direction;
//Change Direction
Rev_Status=0;
PC_Value=PC_Value_Temp;
}
}
}
else
{
F_req=F_req+up;
if(F_req>=ADC_Value)
{
F_req=ADC_Value;
}
}
switch(Direction)
{
case 0:

//SPEED UP

//UPDATE FOR REV


Step_Calculate();
Voltage_Calculate();
Update_PDC_REV();

break;
case 1:

//UPDATE FOR FW
Step_Calculate();
Voltage_Calculate();
Update_PDC_FW();

break;
}
}
//========================== UART1 Interrupt Sub-Routine =====================//
void __attribute__((__interrupt__)) _U1RXInterrupt(void)
{
IFS0bits.U1RXIF = 0;
PC_Value = ReadUART1();
if(PC_Value==70)
{
PC_Value=0;
Rev_Status=1;
}
else
{
PC_Value_Temp=PC_Value;
}
}
//=========================External Interrupt Sub-Routine=========================//
void __attribute__((__interrupt__)) _INT3Interrupt(void)
{
CloseINT3();
Run=1;
//RUN
First_Run=1;
Direction=1;
EnableINT3;
}
void __attribute__((__interrupt__)) _INT4Interrupt(void)

PH LC

{
CloseINT4();
Run=0;
Stop=1;
First_Run=0;
EnableINT4;

//STOP

}
void __attribute__((__interrupt__)) _INT0Interrupt(void)
{
CloseINT0();
// Change Direction
Run=0;
First_Run=0;
Rev_Status=1;
EnableINT0;
}
void __attribute__((__interrupt__)) _INT1Interrupt(void)
{
CloseINT1();
// Menu
Run=0;
First_Run=0;
Menu_Flag=1;
EnableINT1;
}
void __attribute__((__interrupt__)) _INT2Interrupt(void)
{
CloseINT2();
// Reset
Run=0;
First_Run=0;
Reset=1;
EnableINT2;
}
//============================= MAIN CODE =================================//
int main(void)
{
Main:
TRISA=0xF000;
F_req=0;
a=0;
c=0;
b=0;
Menu_Flag=0;
Direction=1;
//FW
Reset=0;
Run=0;
Mode=1;
Change_Speed=0;
Step_up=10;
Step_down=10;
up=0.0;
down=0.0;
PC_Value=0;
PC_Value_Temp=0;
Temp_Value=0;
Temp_Mode3_1=0;
Temp_Mode3_2=0;
ADCSetup();
XlcdInit();
//SETUP 4BIT LCD
XlcdWriteCmd(DON&CURSOR_OFF&BLINK_OFF);

PH LC

Ext_Interrupt();
TRISFbits.TRISF8 = 1;
TRISFbits.TRISF7 = 1;
TRISDbits.TRISD8 = 1;
TRISDbits.TRISD9 = 1;
TRISDbits.TRISD10 = 1;
TRISDbits.TRISD11 = 1;
//=================================WELCOME================================//
ClearLCD();
//Welcome Interface
XlcdCursor(1,8);
printf("LC");
Delay_Cycle(300000);
XlcdCursor(1,7);
printf("LLCO");
Delay_Cycle(300000);
XlcdCursor(1,6);
printf("ELLCOM");
Delay_Cycle(300000);
XlcdCursor(1,5);
printf("WELLCOME");
Delay_Cycle(300000);
XlcdCursor(1,4);
printf("*WELLCOME*");
Delay_Cycle(300000);
XlcdCursor(1,3);
printf("**WELLCOME**");
Delay_Cycle(300000);
XlcdCursor(1,2);
printf("***WELLCOME***");
Delay_Cycle(300000);
XlcdCursor(1,1);
printf("****WELLCOME****");
Delay_Cycle(800000);
XlcdCursor(2,1);
printf("READY TO RUN");
while(ENTER)
{
XlcdCursor(2,1);
printf("READY TO RUN");
Delay_Cycle(300000);
ClearLCD_2();
Delay_Cycle(300000);
}
Delay_Cycle(1000000);
LCD_Loop:
ClearLCD();
XlcdCursor(1,1);
printf("Speed_Up:
s");
XlcdCursor(2,1);
printf("Speed_Down: s");
while(ENTER)
{
if(BACK==0)
{
Delay_Cycle(800000);

PH LC

goto LCD_Loop;
}
if(NEXT==0)
{
Delay_Cycle(800000);
goto MODE_STATUS;
}
if(UP==0)
{
Delay_Cycle(150000);
if(UP==0)
{
Step_up=Step_up+1;
if(Step_up>20)
{
Step_up=3;
}
Delay_Cycle(100000);
}
}
if(DOWN==0)
{
Delay_Cycle(150000);
if(DOWN==0)
{
Step_up=Step_up-1;
if(Step_up<3)
{
Step_up=20;
}
Delay_Cycle(100000);
}
}
XlcdCursor(1,12);
printf("%2.0d",Step_up);
}
Delay_Cycle(700000);
//Waitting for ENTER go back to 1
while(ENTER)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto LCD_Loop;
}
if(NEXT==0)
{
Delay_Cycle(800000);
goto MODE_STATUS;
}
if(UP==0)
{
Delay_Cycle(150000);
if(UP==0)
{
Step_down=Step_down+1;
if(Step_down>20)
{
Step_down=3;
}

PH LC

Delay_Cycle(100000);
}
}
if(DOWN==0)
{
Delay_Cycle(150000);
if(DOWN==0)
{
Step_down=Step_down-1;
if(Step_down<3)
{
Step_down=20;
}
Delay_Cycle(150000);
}
}
XlcdCursor(2,12);
printf("%2.0d",Step_down);
}
Delay_Cycle(300000);
ClearLCD();
XlcdCursor(1,1);
printf(" IN_PUT DATA. ");
XlcdCursor(2,1);
printf("Loading");
Delay_Cycle(300000);
XlcdCursor(2,8);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,10);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,12);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,14);
printf("...");
Delay_Cycle(300000);
XlcdCursor(2,1);
Delay_Cycle(1000000);
//Calculate Speed_up and Speed_Down time for the motor
up=0.012/Step_up;
down=0.012/Step_down;

// Time_up=(60*Tpwm)/Tup
// Time_down=(60*Tpwm)/Tdown

//============================== MODE CHECKING =========================//


MODE_STATUS:
ClearLCD();
switch (Mode)
{
case 1:
//Manual Mode is chosen
ClearLCD();
XlcdCursor(1,1);
printf("< M1_MANUAL >");
XlcdCursor(2,14);
printf("OK");

PH LC

while(1)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto LCD_Loop;
}
if(ENTER==0)
{
Delay_Cycle(50000);
if(ENTER==0)
{
XlcdCursor(2,14);
printf("RUN");
Delay_Cycle(300000);
goto LOAD_PARAMETER;
}
}
if(UP==0)
{
Delay_Cycle(50000);
if(UP==0)
{
Mode=2;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
if(DOWN==0)
{
Delay_Cycle(50000);
if(DOWN==0)
{
Mode=4;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
}
break;
case 2:

// AUTO_1 is chosen
ClearLCD();
XlcdCursor(1,1);
printf("< M2_AUTO_1 >");
XlcdCursor(2,14);
printf("OK");
while(1)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto LCD_Loop;
}
if(ENTER==0)
{
Delay_Cycle(50000);
if(ENTER==0)
{
Delay_Cycle(300000);

PH LC

goto LOAD_PARAMETER;
}
}
if(UP==0)
{
Delay_Cycle(50000);
if(UP==0)
{
Mode=3;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
if(DOWN==0)
{
Delay_Cycle(50000);
if(DOWN==0)
{
Mode=1;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
}
break;
case 3:

// AUTO_2 is chosen
ClearLCD();
XlcdCursor(1,1);
printf("< M3_AUTO_2 >");
XlcdCursor(2,14);
printf("OK");
while( 1)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto LCD_Loop;
}
if(ENTER==0)
{
Delay_Cycle(50000);
if(ENTER==0)
{
Delay_Cycle(300000);
goto LOAD_PARAMETER;
}
}
if(UP==0)
{
Delay_Cycle(50000);
if(UP==0)
{
Mode=4;
Delay_Cycle(250000);
goto MODE_STATUS;
}
}
if(DOWN==0)
{

PH LC

Delay_Cycle(50000);
if(DOWN==0)
{
Mode=2;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
}
break;
case 4:

// PC_Control is chosen
ClearLCD();
XlcdCursor(1,1);
printf("< M4_PC_CON >");
XlcdCursor(2,14);
printf("OK");
while( 1)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto LCD_Loop;
}
if(ENTER==0)
{
Delay_Cycle(50000);
if(ENTER==0)
{
Delay_Cycle(300000);
goto LOAD_PARAMETER;
}
}
if(UP==0)
{
Delay_Cycle(50000);
if(UP==0)
{
Mode=1;
Delay_Cycle(250000);
goto MODE_STATUS;
}
}
if(DOWN==0)
{
Delay_Cycle(50000);
if(DOWN==0)
{
Mode=3;
Delay_Cycle(300000);
goto MODE_STATUS;
}
}
}
break;
} //End Of Switch
//================================ LOAD PARAMETER =========================//
LOAD_PARAMETER:
ClearLCD();
if(Mode==3)

PH LC

{
Temp_1=Temp_Mode3_1;
Temp_2=Temp_Mode3_2;
XlcdCursor(1,1);
printf(" AUTO_2 ");
XlcdCursor(2,1);
printf("F1: F2: ");

//Restore Temp_1 Value


//Restore Temp_2 Value

Mode3_Loop_1:
while(ENTER)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto MODE_STATUS;
}
if(UP==0)
{
Delay_Cycle(150000);
if(UP==0)
{
Temp_1=Temp_1+1;
if(Temp_1>60)
// Limit frequency under 60Hz
{
Temp_1=0;
}
Delay_Cycle(100000);
}
}
if(DOWN==0)
{
Delay_Cycle(150000);
if(DOWN==0)
{
Temp_1=Temp_1-1;
if(Temp_1<0)
{
Temp_1=60;
}
Delay_Cycle(100000);
}
}
XlcdCursor(2,4);
printf("%2.0lf",Temp_1);
} //End of while
Temp_Mode3_1=Temp_1;
// Save Temp_1 Value
Delay_Cycle(600000);
// Waitting for Enter back to 1
Mode3_Loop_2:
while(ENTER)
{
if(BACK==0)
{
Delay_Cycle(800000);
XlcdCursor(2,13);
printf(" ");
goto Mode3_Loop_1;
}
if(UP==0)
{
Delay_Cycle(150000);

PH LC

if(UP==0)
{
Temp_2=Temp_2+1;
if(Temp_2>60)
{
Temp_2=0;
}
Delay_Cycle(100000);
}
}
if(DOWN==0)
{
Delay_Cycle(150000);
if(DOWN==0)
{
Temp_2=Temp_2-1;
if(Temp_2<0)
{
Temp_2=60;
}
Delay_Cycle(100000);
}
}
XlcdCursor(2,13);
printf("%2.0lf",Temp_2);
}//End of While
Temp_Mode3_2=Temp_2;
//Save Temp_2 Value
ClearLCD_2();
XlcdCursor(2,1);
printf("Loading");
Delay_Cycle(300000);
XlcdCursor(2,8);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,10);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,12);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,14);
printf("...");
Delay_Cycle(300000);
XlcdCursor(2,1);
printf("
RUN");
while(!Run)
{
if(BACK==0)
{
Delay_Cycle(800000);
ClearLCD_2();
XlcdCursor(2,1);
printf("F1: F2: ");
XlcdCursor(2,4);
printf("%2.0lf",Temp_1);
goto Mode3_Loop_1;
}
}
ClearLCD();

PH LC

XlcdCursor(1,1);
printf("AUTO_2");
XlcdCursor(1,10);
printf("F1:%2.0lf",Temp_1);
XlcdCursor(2,1);
printf("F:");
XlcdCursor(2,10);
printf("F2:%2.0lf",Temp_2);
Temp_1=Temp_1/0.05859375;
Temp_2=Temp_2/0.05859375;
goto loop1;
}//end of if mode 3
if(Mode==1)
{
ClearLCD();
XlcdCursor(1,1);
printf(" MANUAL ");
XlcdCursor(2,14);
printf("RUN");
XlcdCursor(2,1);
printf("AD:");
while(!Run)
{
AD=ReadADC10(0);
ADC=AD*0.05859375;
XlcdCursor(2,4);
printf("%2.0d",ADC);
//Print Value from Variable Resistor
if(BACK==0)
{
Delay_Cycle(800000);
goto MODE_STATUS;
}
}
ClearLCD();
XlcdCursor(1,1);
printf("M1 RUNNING...");
XlcdCursor(2,1);
printf("F:");
goto loop1;
}//end if mode 1
if(Mode==2)
{
ClearLCD();
//Temp_Mode_1=0;
XlcdCursor(1,1);
printf(" AUTO_1 ");
XlcdCursor(2,1);
printf("F_Ref:");
Mode2_Loop:
Temp_Mode_1=Temp_Value;
//Restore Temp_Mode_1 Value
while(ENTER)
{
if(BACK==0)
{
Delay_Cycle(800000);
goto MODE_STATUS;
}
if(UP==0)

PH LC

{
Delay_Cycle(150000);
if(UP==0)
{
Temp_Mode_1=Temp_Mode_1+1;
if(Temp_Mode_1>60)
{
Temp_Mode_1=0;
}
Delay_Cycle(100000);
}
}
if(DOWN==0)
{
Delay_Cycle(150000);
if(DOWN==0)
{
Temp_Mode_1=Temp_Mode_1-0.5;
if(Temp_Mode_1<0)
{
Temp_Mode_1=60;
}
Delay_Cycle(100000);
}
}
//Temp_Value=Temp_Mode_1;
XlcdCursor(2,7);
printf("%2.0lf ", Temp_Mode_1);
}//end while
Temp_Value=Temp_Mode_1; //Save Temp_Mode_1 Value
ClearLCD_2();
XlcdCursor(2,1);
printf("Loading");
Delay_Cycle(300000);
XlcdCursor(2,8);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,10);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,12);
printf("..");
Delay_Cycle(300000);
XlcdCursor(2,14);
printf("...");
Delay_Cycle(300000);
ClearLCD_2();
XlcdCursor(2,1);
printf("F:%2.0lf",Temp_Mode_1);
XlcdCursor(2,14);
printf("RUN");
Temp_Mode_1=Temp_Mode_1/0.05859375;
while(!Run)
{
XlcdCursor(2,14);
printf("RUN");

//Blink "RUN" character till it is pressed

PH LC

Delay_Cycle(200000);
XlcdCursor(2,14);
printf(" ");
Delay_Cycle(200000);
if(BACK==0)
{
Delay_Cycle(500000);
ClearLCD_2();
XlcdCursor(2,1);
printf("F_Ref:");
XlcdCursor(2,7);
printf("%2.0lf",Temp_Mode_1);
goto Mode2_Loop;
}
}
XlcdCursor(2,14);
printf(" ");
XlcdCursor(1,1);
printf("M2 RUNNING...");
XlcdCursor(2,9);
printf("F_Req:%2.0lf",Temp_Value);
goto loop1;
}//end if mode 2
if(Mode==4)
{
ClearLCD();
XlcdCursor(1,1);
printf(" PC_CONTROL ");
XlcdCursor(2,14);
printf("RUN");
while(!Run)
{
if(BACK==0)
{
Delay_Cycle(700000);
goto MODE_STATUS;
}
}
ClearLCD_2();
XlcdCursor(2,1);
printf("M2
RUNNING");
PC_Value=0;
Uart_Setup();
goto loop1;
}//end if mode 4
loop1:
PWMSetup();
while(1)
{
switch(Run)
{
case 1:

//Waitting for Run Button Is Pressed


//Run Button is not pressed
switch(Mode)
{
case 1:
ADC_Result=ReadADC10(0);
XlcdCursor(2,3);

PH LC

ADC_Result=ReadADC10(0);
printf("%2.0lf", F_req);
break;
case 2:
ADC_Result=Temp_Mode_1;
XlcdCursor(2,3);
printf("%2.0lf", F_req);
break;
case 3:
if(CHANGE==0)
{
Delay_Cycle(70000);
if(CHANGE==0);
{
Change_Speed=!Change_Speed;
Delay_Cycle(70000);
}
}
if(Change_Speed==1)
{
ADC_Result=Temp_2;
}
else
{
ADC_Result=Temp_1;
}
XlcdCursor(2,3);
printf("%2.0lf", F_req);
break;
case 4:
ADC_Result=PC_Value/0.05859375;
int_F_req=F_req;
delta=F_req-int_F_req;
if(delta>0.5)
{
int_F_req=int_F_req+1;
}
XlcdCursor(2,1);
printf("F:%2.0lf", F_req);
WriteUART1(int_F_req);
break;
}
break;
case 0:

//Run Button is not pressed


ADC_Result=0;
XlcdCursor(2,3);
printf("%2.0lf", F_req);
if(F_req==0 && Stop==1)
{
CloseMCPWM(); // Disable PWM module
Stop=0;
Change_Speed=0;
Delay_Cycle(800000);
goto LOAD_PARAMETER;
}
if(F_req==0 && Menu_Flag==1)
{
CloseMCPWM(); // Disable PWM module
Menu_Flag=0; // Clear Menu_Flag

PH LC

Change_Speed=0;
Delay_Cycle(1000000);
PC_Value=0;
PC_Value_Temp=0;
Direction=1;
goto LCD_Loop; //Return to main menu
}
if(F_req==0 && Reset==1)
{
CloseMCPWM(); // Disable PWM module
Reset=0;
// Clear Menu_Flag
Change_Speed=0;
ClearLCD();
XlcdCursor(1,1);
printf("RESET .");
Delay_Cycle(400000);
XlcdCursor(1,8);
printf("..");
Delay_Cycle(400000);
printf("..");
Delay_Cycle(400000);
XlcdCursor(1,12);
printf("..");
Delay_Cycle(400000);
XlcdCursor(1,14);
printf("...");
Delay_Cycle(1000000);
goto Main;
//Return to main menu
}
break;
}
}
}

CODE TRONG CHNG TRNH GIAO TIP MY TNH


Dim Y As Double
'varible in chart drawing
Public Running As Integer
Public dir As Integer
Public StsRun As Byte
Dim chuoichay As String
Dim Voltage_Temp As Integer
Dim strtemp As String 'varible ONCOMM event
Dim strdata As String
Dim datavu
As String
Dim intdigvu As Integer
Dim digdata As Integer
================================================================================
Private Sub Change_Button_Click()
MSComm1.Output = Chr(70)
txt_f_request.SetFocus
If dir = 0 Then
dir = 1
Else
dir = 0
End If
End Sub
==============================================================================
Private Sub Exit_Button_Click()

PH LC

MSComm1.Output = Chr(0)
'send stop signal for PIC to stop motor
MSComm1.PortOpen = False
'Dong cong
End
End Sub
===============================================================================
Private Sub Form_Load()
chuoichay = "LUAN VAN TOT NGHIEP 2006 - 2007
"
'Close Serial Port if it have been already opened
If frmMain.MSComm1.PortOpen = True Then
frmMain.MSComm1.PortOpen = False
End If
frmMain.MSComm1.PortOpen = True
MSComm1.Output = Chr(0)
frmMain.MSComm1.PortOpen = False
'Cau hinh lai Serial Port
frmMain.MSComm1.RThreshold = 1
'Khi nhan 1 ki tu don se phat sinh su kien CommEvent
frmMain.MSComm1.CommPort = 1
'Dung PORT1
frmMain.MSComm1.InputLen = 0
'Doc toan bo buffer
frmMain.MSComm1.Settings = "9600,n,8,1"
frmMain.MSComm1.PortOpen = True
'Mo cong
'Form hien giua man hinh
frmMain.Move (Screen.Width - frmMain.Width) / 2, (Screen.Height - frmMain.Height) / 2
Timer2.Enabled = True
Timer2.Interval = 1000
Label8.Caption = Date

==============================================================================
' Chart SETTING
Strip1.CursorColor = RGB(255, 0, 0)
'Left = (Main.Width - Width) / 2
'Top = (Main.Height - Height) / 2
Xx = Now
For i = 0 To Strip1.Variables - 1
Strip1.VariableID = i
'.1 seconds
Strip1.VariableDeltaX = 1 / 24 / 60 / 60 / 10
'.1 seconds interval
Strip1.VariableLastX = Xx 'Set LastX to current time
Next
Strip1.XTicMode = 1 'Set X Mode to Date/Time Display
'60 seconds
Strip1.XSpan = 1 / 24 / 60 / 60 * 60
'60 seconds of display on plot
End Sub
===============================================================================
Private Sub MSComm1_OnComm()
With frmMain.MSComm1
Select Case .CommEvent
Case comEvReceive
'Nhan du lieu tu vi dieu khien
strtemp = .Input
strdata = Left(strtemp, 1)
datavu = Right(strtemp, 1)
digdata = Asc(strdata)
intdigvu = Asc(datavu)
txt_f_out = digdata

PH LC

Voltage_Temp = digdata * 3.667


Voltage = Voltage_Temp
End Select
End With
End Sub
=========================================================================
Private Sub ProgressBar1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
=========================================================================
Private Sub Timer1_Timer()
Strip1.AddXY 0, Now, Y
Y = digdata
End Sub
=============================================================================
Private Sub cmdStart_Click()
j = txt_f_request.Text
If (j > 60) Then
MsgBox ("Frequency must be in range from 0 to 60 Hz")
txt_f_request = ""
txt_f_request.SetFocus
Else
'Status = "Motor Is Running ........"
StsRun = 1
MSComm1.Output = Chr(j)
txt_f_request.SetFocus
End If
End Sub
==============================================================================
Private Sub Cmd_STOP_Click()
MSComm1.Output = Chr(0)
Status = "Stopping"
StsRun = 0
txt_f_request.SetFocus
End Sub
===============================================================================
Private Sub Form_Unload(Cancel As Integer)
MSComm1.Output = Chr(0)
'send stop signal for PIC to stop motor
MSComm1.PortOpen = False
'Dong cong
End Sub
===============================================================================
Private Sub Timer2_Timer()
Label7.Caption = Time
End Sub
===============================================================================
Private Sub Timer3_Timer()
If StsRun = 1 Then
Running = Running + 5
If (Running > 100) Then
Running = RunProgressBar.Min
End If
RunProgressBar.Value = Running + RunProgressBar.Min
Else
If txt_f_out = 0 Then
RunProgressBar.Value = 0
Else
Running = Running + 5
If (Running > 100) Then
Running = RunProgressBar.Min

PH LC

End If
RunProgressBar.Value = Running + RunProgressBar.Min
End If
End If
End Sub
===============================================================================
Private Sub Timer4_Timer()
If (StsRun = 1) Then
Status = "Running"
End If
If (txt_f_out = 0) Then
Status = "Stopped!!"
End If
If dir = 0 Then
Direction = "Forward"
Else
Direction = "Reverse"
End If
End Sub
===============================================================================
Private Sub Timer5_Timer()
Dim chuoi1, chuoi2 As String
chuoi1 = Left(chuoichay, 1)
chuoi2 = Right(chuoichay, Len(chuoichay) - 1)
frmMain.Caption = chuoi2 + chuoi1
chuoichay = chuoi2 + chuoi1
End Sub

PH LC

TI LIU THAM KHO


TI LIU THAM KHO TRONG NC
[1] TS. Phan Quc Dng T Hu Phc (2003). Truyn ng in. Nh xut bn
i hc Quc gia TP.H Ch Minh
[2] TS. Nguyn Vn Nh (2003). C S Truyn ng in. Nh xut bn i hc
Quc gia TP.H Ch Minh
[3] TS. Nguyn Vn Nh (2003). in T Cng Sut 1. Nh xut bn i hc Quc
gia TP.H Ch Minh

TI LIU THAM KHO NC NGOI


[4] 16bit_Language_Tools_Libraries. Microchip Techology Inc
[5] Prof. Ali Keyhani, Pulse-Width Modulation (PWM) Techniques lecture 25,
Department of Electrical and Computer EngineeringThe Ohio State University
[6] dsPic Language Tools Getting Started. Microchip Techology Inc
[7] MPLAB C30 _ C Compiler Users Guide . Microchip Techology Inc
[8] dsPIC30F6010 Data Sheet High-Performance Digital Signal Controllers .
Microchip Techology Inc
[9] dsPIC30F Family Reference Manual. Microchip Techology Inc
[10] An Introduction To AC Induction Motor Control Using The dsPIC30F MCU.
Microchip Techology Inc

WEBSITE THAM KHO


http://www.microchip.com

You might also like