You are on page 1of 55

Li cm n

Li cm n

Vi s gip tn tnh ca cc thy c trong khoa in t ng ha Trng


Cao ng Cng Ngh i hc Nng cng vi ngi thn, gia nh v bn b,
chng em hon thnh n theo ng thi gian quy nh.
t c thnh cng ny, chng em xin chn thnh cm n thy gio
Ph gio s-Tin s on Quang Vinh, ngi lun theo di, ch bo tn tnh cho
em trong sut thi gian thc hin ti, ngi ng gp kin v hng dn em
hon thnh n. Bn cnh , em cng xin chn thnh cm n n cc thy c
gio trong khoa in t ng tn tnh dy d chng em trong nhng nm hc
va qua. Cui cng, chng em xin gi li cm n chn thnh n gia nh, bn b
gip em hon thnh n ny.
Chng em xin chn thnh cm n.
Nng, ngy 10 thng 06 nm 2010
Sinh vin thc hin
Trn Nguyn Quc Huy
Phan Hong Anh
Nguyn c Ba
Nguyn Tn Thch
Li cam oan

Cng ha x hi ch ngha Vit Nam


c lp T do Hnh phc

Li cam oan
Knh gi: Hi ng bo v tt nghip khoa in t ng Trng Cao ng
Cng Ngh i hc Nng.
Em tn l: Trn Nguyn Quc Huy
Phan Hong Anh
Nguyn c Ba
Nguyn Tn Thch
ang l sinh vin lp 08LT Khoa in t ng Trng Cao ng
Cng Ngh i hc Nng.
Hin nay chng em lm n tt nghip vi ti iu khin tc ng
c in mt chiu .
Chng em xin cam oan ni dung n hon ton khng ging vi bt k
n hoc cng trnh no c trc .
Nng, ngy 10 thng 06 nm 2010
Sinh vin thc hin
Trn Nguyn Quc Huy
Phan Hong Anh
Nguyn c Ba
Nguyn Tn Thch
Mc lc

MC LC
Chng 1: ng c in mt chiu................................................................1

1.1. Gii thiu chng................................................................................1

1.2. Ni dung..............................................................................................1

1.2.1 Gii thiu ng c DC...................................................................1

1.2.2 M hnh ha ng c DC...............................................................1

1.2.3 Phng php iu khin tc ng c:.......................................3

1.2.4 Kho st hm truyn......................................................................4

1.2.4.1 Hm truyn l tng:.............................................................4

1.2.4.2 Hm truyn gn ng tm c bng thc nghim.................5

1.2.5 Phng php n nh ng c dng thut ton PID.......................6

1.2.5.1 Thut ton PID.......................................................................6

1.2.5.2 Phng php hiu chnh thng s b PID Ziegler-Nichols:....7

1.3. Kt chng..........................................................................................8

Chng 2 : Gii thiu vi iu khin PIC16F887............................................9

1.4. Gii thiu chng................................................................................9

1.5. Ni dung..............................................................................................9

2.2.1 Mt vi chi tit chnh ca vi iu khin PIC16F887......................9

2.2.2 B dao ng ca PIC16F887.......................................................11

2.2.3 Cc Port I/O.................................................................................12

2.2.4 Hot ng ca khi giao tip EUSART.......................................13

2.2.5 Cu to v hot ng ca khi iu xung PWM..........................15

2.2.6 Ngt ngoi trn chn RB0............................................................17

2.2.7 Cu to v hot ng ca b Timer1............................................18


Mc lc

2.2.8 Cch np cho PIC16F887............................................................18

1.6. Kt chng........................................................................................20

Chng 3: Thit k v thi cng phn cng...................................................21

1.7. M chng........................................................................................21

1.8. Ni dung............................................................................................21

3.2.1 S khi phn cng..................................................................21

3.2.2 S nguyn l v hot ng ca cc khi mch........................22

3.2.3 Tnh ton cc thng s ca mch.................................................24

3.2.3.1 Mch o chiu ng c.......................................................24

3.2.3.2 Tnh ton cho FET................................................................25

3.2.3.3 Tnh ton mch li cho FET..................................................27

3.3.4 Layout v thi cng mch..............................................................30

1.9. Kt chng........................................................................................31

Chng 4 : Thit k phn mm....................................................................32

1.10. M chng......................................................................................32

1.11. Ni dung..........................................................................................32

4.2.1 Phn mm cho vi iu khin PIC16F887.....................................32

4.2.1.1 Thut ton chng trnh chnh..............................................32

4.2.1.2 Thut ton chng trnh x l phm......................................35

4.2.1.3 Thut ton chng trnh o tc ng c..........................38

4.2.1.4 Thut ton chng trnh phc v ngt nhn UART..............40

4.2.2 Phn mm trn my vi tnh giao tip vi mch iu khin..........42

1.12. Kt lun chng...............................................................................47

1.13. Nhn xt nh gi h thng ............................................................47


Mc lc

1.14. Hng pht trin ti....................................................................47

......................................................................................................................48
Cc t vit tt

CC T VIT TT

PID ProportionalIntegralDerivative
DC Direct Current
PWM Pulse Width Modulation
EEPROM Electrically Erasable Programmable Read Only Memory
ADC Analog Digital Converter
USART Universal Synchronous Synchronous Asynchronous Receiver
Transmitter
MUX Multiplexer
MCU Microcontroller Unit
GPIO General Purpose Input Ourput
EUSART Enhanced Universal Synchronous Asynchronous Receiver
Transmitter
LCD Liquid Crystal Display
FET Field-Effect Transistor
BJT Bipolar Junction Transistor
MOSFET Metal Oxide Semiconductor Field-Effect Transistor
UART Universal Asynchronous Receiver Transmitter
M u

M u
Vi s pht trin rng ri ca thit b in, ngy nay, ngi ngi, nh nh
hu ht s dng cc cng ngh hin i. V khi mc sng ca ngi dn c
nng cao th vic qun l cc thit b in trong nh l ht sc cn thit. Chnh v
vy vic iu khin thit b v gim st hot ng ca n thng qua mt qu trnh t
ng l vic lm mang nhiu li ch.
ti thc hin vic iu khin thng qua vi iu khin PIC16F887A, chnh
v vy ti nghin cu su v vic n nh tc ng c in mt chiu. Trong
gii hn thi gian nghin cu cho php, ti ch pht trin mt h thng iu
khin n gin. Cc thit b c gim st v iu khin tiu tn rt t nng lng
s mang li li ch kinh t v hiu qu s dng cao.
Ni dung ca n gm:
Chng 1: ng c in 1 chiu
Chng 2: Gii thiu v vi iu khin PIC 16F887A
Chng 3:Thit k v thi cng phn cng
Chng 4: Thit k phn mm
Phng php nghin cu ca n l tnh ton thit k mch, xy dng cc
lu thut ton v thi cng lp rp kim chng tnh ng n ca thit k v
cc lu thut ton xy dng.
Vi phng php trn, n c thit k v thi cng thnh cng.
V thi gian chun b khng nhiu cng vi kin thc cn hn hp, n
khng trnh khi nhng sai st, chng em rt mong nhn c kin ng gp ca
cc thy c trong khoa, chng em xin chn thnh cm n.
Nng, ngy 10 thng 06 nm 2010
Sinh vin thc hin
Trn Nguyn Quc Huy
Phan Hong Anh
Nguyn c Ba
Nguyn Tn Thch
Chng 1: ng c in mt chiu

Chng 1: ng c in mt chiu
1.1. Gii thiu chng
Chng ny gii thiu c bn v ng c DC, cc phng php iu khin
tc ng c v phng php n nh tc ng c dng thut ton PID.
1.2. Ni dung
1.2.1 Gii thiu ng c DC
ng c in mt chiu l ng c in hot ng vi dng in mt chiu.
ng c in mt chiu ng dng rng ri trong cc ng dng dn dng cng nh
cng nghip.
Cu to ca ng c gm c 2 phn: stato ng yn v rto quay so vi
stato. Phn cm (phn kch t-thng t trn stato) to ra t trng i trong mch
t, xuyn qua cc vng dy qun ca phn ng (thng t trn rto). Khi c dng
in chy trong mch phn ng, cc thanh dn phn ng s chu tc ng bi cc
lc in t theo phng tip tuyn vi mt tr rto, lm cho rto quay.
Ty theo cch mc cun dy roto v stato m ngi ta c cc loi ng c
sau:
- ng c kch t c lp: Cun dy kch t (cun dy stato) v cun
dy phn ng (roto) mc ring r nhau, c th cp ngun ring bit.
- ng c kch t ni tip: Cun dy kch t mc ni tip vi cun dy
phn ng.
i vi loi ng c kch t c lp, ngi ta c th thay th cun dy kch
t bi nam chm vnh cu, khi ta c loi ng c in 1 chiu dng nam chm
vnh cu. y l loi ng c c s dng trong n ny.
1.2.2 M hnh ha ng c DC
M hnh tng ng ca phn ng ng c nh sau:

Trang 1
Chng 1: ng c in mt chiu

I a
R a

L a

U a

1
+

A E g
-

2
di a
u a = Ra i a + La +e g (1.1)
dt
e g = k v n (1.2)
Trong l t thng do nam chm vnh cu gy ra. n l tc ng c.
Momen in t:
Td = Kt ia (1.3)
Phng trnh ca ng c:
d
Td = J + B + TL (1.4)
dt

B: h s ma st
T: monen ti.
ch xc lp:
u a = Ra ia +e g (1.5)
Td = 2nB +TL = K t ia (1.6)
Ta c c tc ng c ch xc lp:
U a I a Ra
n= (1.7)
Kv

Trang 2
Chng 1: ng c in mt chiu

1.2.3 Phng php iu khin tc ng c:


i vi loi ng c kch t c lp dng nam chm vnh cu, thay i
tc , ta thay i in p cung cp cho roto. Vic cp p 1 chiu thay i thng
kh khn, do vy ngi ta dng phng php iu xung (PWM):

Hnh 1.1 iu chnh rng xung PWM.


Phng php iu xung s gi tn s khng i, thay i chu k nhim v
(Duty cycle) thay i in p trung bnh t ln ng c.
in p trung bnh:
Ton
Vdk = Vin
T
Do c tnh cm khng ca ng c, dng qua ng c l dng lin tc, gn
sng nh sau:

Hnh 1.2 Dng sng dng v p trn ng c.

Trang 3
Chng 1: ng c in mt chiu

1.2.4 Kho st hm truyn


1.2.4.1 Hm truyn l tng:
Bin i Laplace cc cng thc t (1.1) (1.4 ) ta c:
Ua(p) = RaIa(p)+pLaIa(p)+Eg(p) (1.9)
E g ( p ) = k v n( p ) (1.10)
Td(p) = Kt Ia(p) (1.11)
Td ( p ) = 2pJn ( p ) + 2Bn ( p ) +TL ( p ) (1.12)
T 1.12 tnh c:
Td ( p ) TL ( p )
n( p ) = (1.13)
2B ( p m + 1)

(1.14)
Trong : a =La/Ra Hng s thi gian ca mch phn ng
m =J/B Hng s thi gian c.

Vy ta c m hnh h thng nh sau:

Hnh 1.3 M hnh h thng ng c in DC


Khi momen ti bng 0, ta c:
1
n( p ) = U a ( p )
2BR a
( a p +1)( m p +1) + K v
Kt

Vy hm truyn ca ng c lc ny c dng khu dao ng.

Trang 4
Chng 1: ng c in mt chiu

1.2.4.2 Hm truyn gn ng tm c bng thc nghim


tm hm truyn bng thc nghim ta tm p ng xung ca ng c.
Ta t p bng p nh mc vo ng c v v th vn tc theo thi gian.
V thi gian ly mu vn tc nh do ta khng thy c cc im un ca th,
do y ta xp x hm truyn ng c l khu qun tnh bc 1 c dng nh sau.
k
G=
Tp +1

p ng xung ca ng c:
kU
n(p)= (Tp +1) p

Bin i Laplace ngc ta c:


n=kU(1-e-t/T)
Khi t = T, n = kU(1-e-1)=0.63kU=0.63nmax
Vy trn th ta xc nh im ti n=0.63nmax sau tm c T.
Da vo th tm c bng thc nghim ta tm c kU v T.

Hnh 1.4 th tm c bng thc nghim ca ng c DC


kU = 150 vng/s
T = 30ms=0.03s

Trang 5
Chng 1: ng c in mt chiu

Vy hm truyn gn ng:
k 150 / 24 37 .5
G= = =
Tp +1 0.03 p +1 0.03 p +1

1.2.5 Phng php n nh ng c dng thut ton PID


1.2.5.1 Thut ton PID
de ( )
G = K p + K i e( )d + K d
d
Trong :
- Kp: H s khu t l (khu khuch i)
- Ki: H s tch phn
- Kd: h s vi phn

Hnh 1.5 M hnh h thng PID.


Lut iu khin PID:

p ng ca h Thi gian Vt Thi gian n Sai lch so vi trng


thng tng l nh thi bn
KP Gim Tng t thay i Gim
KI Gim Tng Tng Trit tiu
KD t thay i Gim Gim t thay i
Bng 1.1 Lut iu khin PID
Da vo bng trn ta thy rng lut t l (P) c c im tc ng nhanh
nhng khng trit tiu c sai lch, ng thi lm vt l ca h thng tng. Khu
tch phn cho php trit tiu sai lch nhng tc ng chm. Khu vi phn phn ng

Trang 6
Chng 1: ng c in mt chiu

vi tc bin thin ca sai lch. Ta cn xc nh cc thng s Kp, Ki, Kd c


h thng c cht lng mong mun.
Thut ton ca b iu khin PID s:
Khu t l P (Proportional): GP(z) = KP
Khu tch phn I (Integrate):
kT k
1
GI ( z) = K I T
1 z 1
vi e(t )dt = Te (nT )
0 n =0

Trong T l chu k ly mu vn tc. Cng thc tch phn gn ng theo


thut ton xp x hnh ch nht ti.
z 1
Khu vi phn D (Derivative): G D ( z ) = K D = K d (1 z 1 ) vi thnh phn
Tz

vi phn xp x bi
de (t ) e( nT ) e(( n 1)T )
=
dt T
Vy ta c hm truyn khu PID ri rc:
U dk ( z ) 1
G= = K p + Ki + K d (1 z 1 )
E( z) 1 z 1

Udk(z)(1-z-1) = E(z)(Kp(1-z-1) + Ki + Kd(1-z-1)2


Suy ra:
uk uk-1 = Kp(ek ek-1) + Kiek + Kd(ek 2ek-1 ek-2)
1.2.5.2 Phng php hiu chnh thng s b PID Ziegler-Nichols:
Thng thng vic chn cc thng s P, I, D c xc nh bng thc
nghim da vo p ng xung ca h thng. Ziegler Nichols a ra phng php
chn tham s PID cho m hnh qun tnh bc nht c tr. y ta xp x hm
truyn ca ng c dng phng php ny, tuy khng hon ton chnh xc
nhng c th cho p ng tng i tt.
Phng php ny i hi phi tnh c gi tr gii hn ca ca khu t l
Kgh v chu k gii hn ca h kn Tgh. Sau tm cc thng s khc theo bng sau:
B iu khin KP TI TD
P 0.5Kgh - -
PI 0.45Kgh 0.83Tgh -

Trang 7
Chng 1: ng c in mt chiu

PID 0.6Kgh 0.5Tgh 0.125Tgh


Bng 1.2 Cc gi tr thng dng ca cc h s KP, KI, KD.
tm c Kgh v Tgh, ban u ta chnh Ki, Kd bng 0 sau tng t t Kp
h thng bin gii n nh (dao ng vi bin v chu k khng i), ti y
ta xc nh c Kgh v Tgh sau tnh cc thng s khc ty theo b iu khin
nh bng trn.
Ki = Kp/Ti
Kd = KxTd
thun tin trong qu trnh iu chnh v quan st p ng ca ng c,
n ny xy dng chng trnh vit bng VB trn my tnh giao tip vi mch
iu khin. Phn ny s c gii thiu trong chng 4.
1.3. Kt chng
Chng ny gii thiu c s l thuyt v ng c, phng php iu
khin ng c v thut ton iu khin PID.
Chng ti s gii thiu vi iu khin PIC16F887, trong ti ny
PIC16F887 c s dng lm khi iu khin trung tm, iu khin ng c dng
thut ton PID v giao tip vi my tnh theo chun giao tip RS232 cho php
ngi s dng gim st trng thi ca ng c.

Trang 8
Chng 2: Gii thiu vi iu khin PIC16F887

Chng 2 : Gii thiu vi iu khin PIC16F887


1.4. Gii thiu chng
Chng ny gii thiu c bn v vi iu khin PIC16F887 ca hng
Microchip v hot ng ca n bao gm ni dung v cch cu hnh xung clock,
hot ng khi giao tip UART, khi PWM, ngt ngoi trn chn RB, cu to v
hot ng ca cc b timer, v cch np chng trnh cho PIC16F887.
1.5. Ni dung
2.2.1 Mt vi chi tit chnh ca vi iu khin PIC16F887
PIC16F887 l vi iu khin 8-bit c kin trc Harvard ca Microchip c
nhng thng s k thut nh sau:
- Clock hot ng ti a 20MHz.
- Chu k my bng bn ln chu k xung clock.
- Chip c nhiu dng v khc nhau, loi chip c s dng trong ti l
loi 40 chn PDIP.
- in p hot ng rng t 2V n 5.5V.
- B nh d liu v b nh chng trnh tch bit nhau, bus a ch cng
nh bus d liu l ring bit. B nh chng trnh Flash 8K nh cho
php ghi 100,000 ln. Mi nh c 14 bit. B nh d liu RAM c 512
Byte gm cc thanh ghi chc nng c bit v cc thanh ghi a mc ch.
Ngoi ra PIC16F887 c tch hp 256 Byte EEPROM cho php ghi n
1,000,000 ln.
- 35 chn I/O ca 5 port iu khin l PortA, PortB, PortC, PortD, PortE.
- B chuyn i ADC 10-bit vi 14 knh.
- 3 b timer. B timer0 8-bit, b timer1 16-bit v b timer2 8-bit.
- Module Capture, Compare v PWM
- Module Enhanced USART h tr RS-485, RS-232.
Nhng chi tit trn c th hin c th trong hnh 2.1.

Trang 9
Chng 2: Gii thiu vi iu khin PIC16F887

Hnh 2.1 S khi ca PIC16F887

Trang 10
Chng 2: Gii thiu vi iu khin PIC16F887

2.2.2 B dao ng ca PIC16F887


S khi ca b dao ng c minh ha trong hnh 2.2.

Hnh 2.2 S khi b dao ng ca PIC16F887


Clock h thng ca PIC16F887 c th c chn t hai ngun dao ng ni
(Internal Oscillator) hoc dao ng ngoi (External Oscillator) nh b chn knh
MUX. B MUX c iu khin bi cc bit FOSC<2:0> (bit 2, bit 1, bit 0 ca
thanh ghi CONFIG1 16-bit nh v ti a ch 2007H v 2008H trong b nh
chng trnh) v bit SCS<0> (bit 0 ca thanh ghi OSCCON). Nu SCS = 1, clock
h thng c chn t INTOSC. Nu SCS = 0, clock h thng c chn t b dao
ng ngoi. Cc bit FOSC<2:0> c s dng cu hnh b dao ng ngoi l
LP, XT, HS, RC, RCIO hay EC.
B dao ng ni gm 2 b dao ng HFINTOSC 8MHz v LFINTOSC
31kHz. Clock 8MHz ca b HFINTOSC c chia thnh cc tn s
8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz nh b chia tn
s postscaler. Cc bit IRCF<2:0> iu khin b MUX chn knh cho
INTOSC.

Trang 11
Chng 2: Gii thiu vi iu khin PIC16F887

B dao ng ngoi (c tch hp bn trong PIC) cn c kt ni vi


cc b lc ti cc chn OSC1, OSC2. Trong ti, ti s dng thch anh
12MHz v 2 t 33pF kt ni nh hnh 2.3. B dao ng ngoi c hot
ng ch HS. Tn hiu dao ng c qua b m Trigger theo sn
xung v to thnh xung clock HS 12MHz cung cp cho clock h thng.

Hnh 2.3 B dao ng ngoi ch HS.


2.2.3 Cc Port I/O
PIC16F887 tt c 35 chn I/O mc ch thng thng (GPIO: General
Purpose Input Ouput) c th c s dng. Ty theo nhng thit b ngoi vi c
chn m mt vi chn c th khng c s dng chc nng GPIO. Thng
thng, khi mt thit b ngoi vi c chn, nhng chn lin quan ca thit b ngoi
vi c th khng c s dng chc nng GPIO. 35 chn GPIO c chia cho 5
Port: PortA gm 8 chn, PortB gm 8 chn, PortC gm 8 chn, PortD gm 8 chn
v PortE gm 3 chn.
Mi port c iu khin bi 2 thanh ghi 8-bit, thanh ghi Port v thanh ghi
Tris. Thanh ghi Tris c s dng iu khin port l nhp hay xut. Mi bit ca
Tris s iu khin mi chn ca port , nu gi tr ca bit l 1 th chn lin quan l
nhp, ngc li nu gi tr ca bit l 0 th chn lin quan l xut. Thanh ghi Port
c s dng cha gi tr ca port lin quan. Mi bit ca thanh ghi Port s cha
gi tr ca chn lin quan.
Cu trc ca chn GPIO c th hin trong hnh 2.4

Trang 12
Chng 2: Gii thiu vi iu khin PIC16F887

Hnh 2.4 Cu to ca chn GPIO


2.2.4 Hot ng ca khi giao tip EUSART
Khi giao tip ni tip EUSART (Enhanced Universal Synchronous
Asynchronous Receiver Transmitter) cho php cu hnh hot ng ch giao
tip ni tip ng b v khng ng b. Trong ti ny, ch giao tip khng
ng b c s dng. Phn ny s tp trung m t hot ng ca module
EUSART ch khng ng b.
Hot ng truyn:
S khi b truyn c th hin trong hnh 2.5.

Hnh 2.5 S khi b truyn ca module EUSART

Trang 13
Chng 2: Gii thiu vi iu khin PIC16F887

B phn chnh ca khi truyn l thanh ghi truyn TSR. Thanh ghi ny
khng th truy cp bng phn mm, m c truy cp gin tip qua thanh
ghi m truyn TXREG. B truyn c kch hot khi cu hnh cc bit
TXEN=1, SYNC=0, SPEN=1. TXEN=1 kch hot b truyn ca EUSART.
SYNC=0 cu hnh EUSART hot ng ch khng ng b. SPEN=1
cho php b EUSART hot ng v cu hnh chn TX/CK l chn xut.
- Qu trnh truyn c khi to bng cch ghi d liu truyn vo thanh
ghi TXREG. Nu y l d liu truyn u tin hoc d liu truyn trc
truyn hon tt th d liu trong TXREG ngay lp tc s c truyn
vo thanh ghi TSR. Nu thanh ghi TSR vn cn cha d liu ca k t
truyn trc th d liu mi trong TXREG s c gi cho n khi bit
Stop ca k t ang truyn hon tt. Sau d liu ch trong TXREG s
c truyn vo TSR.
- Cc bc thit lp qu trnh truyn:
o Khi to cp thanh ghi SPBRGH, SPBRG v cc bit BRGH,
BRG16 cu hnh tc Baud.
o Thit lp bit SYNC=0, v bit SPEN=1.
o Gi d liu cn truyn vo TXREG, qu trnh truyn s bt u.
Hot ng nhn:
S khi b nhn c th hin trong hnh 2.6.
D liu c nhn trn chn RX/DT v y vo khi Data Recovery. Khi tt
c 8 hoc 9 bit ca k t nhn c dch vo, chng s ngay lp tc c
chuyn vo b m 2 k t FIFO. B m FIFO v thanh ghi RSR khng th
truy cp trc tip bng phn mm m c truy cp gin tip thng qua
thanh ghi RCREG. D liu trong b m nhn c c bng cch c
thanh ghi RCREG. B nhn c kch hot khi cu hnh cc bit CREN=1,
SYNC=0, SPEN=1. CREN=1 kch hot b nhn ca EUSART. SYNC=0
cu hnh EUSART hot ng ch khng ng b. SPEN=1 cho php b
EUSART hot ng v cu hnh chn RX/DT l chn nhp.

Trang 14
Chng 2: Gii thiu vi iu khin PIC16F887

C ngt nhn RCIF=1 khi b nhn EUSART c kch hot v c mt k t


c nhn trong b m nhn FIFO v cha c c. Bit RCIF l bit ch
c, khng th ghi bng phn mm. Ngt nhn c kch hot khi cu hnh
cc bit sau: RCIE=1, PEIE=1 v GIE=1. Sau khi thit lp cc bit nh trn,
ngt nhn xy ra ngay khi nhn xong mt k t trong b m nhn. C RCIF
c xa bng phn cng khi khng c k t no cha c trong b m
nhn.

Hnh 2.6 S khi b nhn USART.


2.2.5 Cu to v hot ng ca khi iu xung PWM
PIC16F887 c hai b iu xung, hai b ny s to ra cc tn hiu iu xung
trn cc chn CCP1 v CCP2. rng, chu k, v phn gii c xc nh bi
cc thanh ghi PR2, T2CON, CCPR1L, CCPR2L, CCP1CON, CCP2CON.
cc chn CCPx (CCP1 v CCP2) hot ng ch PWM, cn xa bit
TRIS tng ng ca cc chn . S khi ca cc b iu xung c m t
trong hnh 2.7.
Ch thch (1) trong hnh 2.7 biu th rng thanh ghi 8-bit TMR2 c kt
hp vi 2-bit prescaler ca b dao ng ni to ra b nh thi 10-bit. Cc thanh
ghi CCPRxH l cc thanh ghi ch c, kt hp vi 2 bit 5 v 4 ca cc thanh ghi
CCPxCON c vai tr nh rng ca xung, cc thanh ghi ny c ghi gin tip
thng qua cc thanh ghi CCPRxL. Thanh ghi 8-bit PR2 nh chu k cho xung ra.

Trang 15
Chng 2: Gii thiu vi iu khin PIC16F887

Hnh 2.7 S khi b PWM.


Sng iu xung ti cc chn CCPx c gin thi gian nh hnh 2.8.

Hnh 2.8 Gin thi gian ca sng iu xung ti chn CCPx


Thanh ghi TMR2 kt hp vi 2 bit prescaler s m ln nh xung clock ca
h thng. Khi gi tr ca TMR2 nh hn gi tr ca CCPRxL:CCPxCON<5:4>,
chn CCPx mc cao. Khi gi tr ca TMR2 bng vi gi tr ny, b so snh s o
chn CCPx xung mc 0. Khi gi tr ca TMR2 bng vi PR2, TMR2 s c xa
v 0 ng thi kt thc chu k xung, chn CCPx li c thit lp mc cao.
Chu k ca xung c tnh theo cng thc sau:
Chu k PWM = [(PR2)+1].4.TOSC.(gi tr Prescale ca TMR2)
y TOSC l chu k ca clock h thng. TOSC = 1/FOSC.
rng xung c tnh theo cng thc sau:
rng xung = (CCPxL:CCPxCON<5:4>).TOSC.(gi tr Prescale ca TMR2)

Trang 16
Chng 2: Gii thiu vi iu khin PIC16F887

2.2.6 Ngt ngoi trn chn RB0


Hnh 2.9 l s khi logic ca h thng ngt trong PIC16F887.

Hnh 2.9 S khi logic ca h thng ngt trong PIC16F887.


Ngt ngoi trn chn RB0 c kch khi theo sn. Sn ln nu nh bit
INTEDG=1 (bit 6 ca thanh ghi OPTION_REG), sn xung nu INTEDG=0. Khi
mt sn thch hp xut hin trn chn RB0, c INTF c bt ln 1. Ngt ny c
th c cho php nu bit INTE=1, khng cho php nu INTE=0. C INTF cn
c xa bng phn mm trong trnh phc v ngt trc khi cho php ngt tr li.

Trang 17
Chng 2: Gii thiu vi iu khin PIC16F887

2.2.7 Cu to v hot ng ca b Timer1


B timer1 l b nh thi 16-bit c cu to nh hnh 2.10.

Hnh 2.10 S khi ca b timer1.


B timer1 l b m ln 16-bit c truy xut gin tip thng qua cp thanh
ghi TMR1H, TMR1L. c hoc ghi cc thanh ghi ny s cp nht trc tip gi tr
cho b timer. Khi c s dng vi ngun clock ni, b timer 1 s c vai tr l b
nh thi. Khi c s dng vi ngun clock ngoi, n s c vai tr l nh thi
hoc b m. S dng bit TMR1CS chn ngun clock.
Cc bit T1CKPS<1:0> nh gi tr cho b chia tn s Prescaler. Khi b
TMR1 trn (t FFFFh n 0000h) c ngt TMR1IF s c thit lp ln 1. Nu lc
ny c TMR1IE =1, c PEIE=1 v GIE=1 th ngt timer1 s xy ra. C TMR1IF
cn c xa trong trnh phc v ngt timer1.
2.2.8 Cch np cho PIC16F887
C nhiu cch np cho chip PIC16F887, trong ti ny s dng cch np
bng mch np ezPIC Programmer ca Sunrom v phn mm np PICPgm
Programmer. Mch np c kt ni qua cng COM ca my vi tnh. S nguyn

Trang 18
Chng 2: Gii thiu vi iu khin PIC16F887

l, mch thc t ca mch np ezPIC Programmer ca Sunrom c cho hnh


2.11 v 2.12.

Hnh 2.11 S nguyn l mch np ezPIC Programmer ca Sunrom.

Hnh 2.12 Mch np ezPIC Programmer ca Sunrom.

Trang 19
Chng 2: Gii thiu vi iu khin PIC16F887

Phn mm np PICPgm Programmer c vit bi Christian Stadler, phn


mm ny giao tip c vi nhiu mch np, trong c ezPIC Programmer ca
Sunrom. c bit PICPgm Programmer np c hu ht cc dng PIC ca
Microchip. Phn mm ny rt d s dng v hot ng rt n nh, giao din c
th hin trong hnh 2.13.

Hnh 2.13 Giao din phn mm PICPgm Programmer.


1.6. Kt chng
Chng ny m t s lc cu to ca PIC16F887, hot ng ca mt vi
thit b ngoi vi c s dng trong ti, cch np cho PIC16F887 bng mch np
ezPIC v chng trnh np PICPgm Programmer.
Chng ti s trnh by qu trnh thit k v thi cng phn cng.

Trang 20
Chng 3: Thit k v thi cng phn cng

Chng 3: Thit k v thi cng phn cng


1.7. M chng
Chng ny s trnh by cch thit k v thi cng phn cng, tnh ton v
chn la cc linh kin s dng.
1.8. Ni dung
3.2.1 S khi phn cng
S khi phn cng c m t nh hnh 3.1.

Khi sa dng xung

Cc phm
iu khin
Encoder

ng c
o chiu Khi iu
Khi iu khin trung khin cng
tm PIC16F887 sut
PWM
UART

B phn hin MAX232 chuyn i


Cng DB9
R
S
2
3
2

th LCD 16x2 mc in p

Hnh 3.1 S khi phn cng.


Khi iu khin trung tm s kt ni vi khi iu khin cng sut qua chn
iu xung CCP1, iu khin khi cng sut o chiu ng c.

Trang 21
Chng 3: Thit k v thi cng phn cng

Khi iu khin cng sut iu khin cng sut cung cp cho ng c.


Khi Encoder c tc ng c v xut ra cc xung m, cc xung ny
c sa thnh xung vung v a vo chn ngt ngoi RB0 ca vi iu khin
PIC16F887 cho php PIC16F887 gim st c tc ca ng c.
Cc phm iu khin cho php ngi dng ci t cc thng s ca h thng.
Khi hin th s dng LCD cho php ngi dng theo di hot ng ca
ng c v cc thng s ca h thng.
Khi giao tip my tnh theo chun giao tip ni tip khng ng b s dng
IC chuyn i in p MAX232.
3.2.2 S nguyn l v hot ng ca cc khi mch
S nguyn l trong hnh 3.2 c thit k da trn s khi trn.
Chip PIC16F887 iu khin trung tm lm nhim v tnh ton, xut ra xung
iu khin cho khi iu khin ng c, iu khin o chiu ng c. iu khin
hin th LCD v giao tip vi my tnh.
Khi giao tip my tnh gm Max232 chuyn mc tn hiu RS232 vi mc
logic 0 (+3V n +15V) sang TTL 0V, v mc logic 1 (-15V n -3V) thnh 5V.
Nh khi ny, vn tc hin thi ca ng c s c cp nht ln my tnh v cc
t my tnh ta c th iu khin tc ng c, thay i cc thng s ca b iu
khin PID. Gi tr ca cc t trn s mch l 10u c chn theo datasheet ca
nh sn xut.
Khi iu khin cng sut (mch Drive cho FET) kch cho FET hot ng
theo tn hiu PWM t PIC16F887. m bo cho FET chuyn mch nhanh y
ta dng mch kch kiu totem-pole gm 2 BJT 2SD414 v 2SB548.
Khi o chiu ng c dng 2 tip im o in p t vo ng c.
Khi hin th dng LCD 16x2 hin th thng s Ki, Kp, Kd tc hin
thi, tc ci t.
Khi ngun cung cp: mch n p dng IC 7805 cp in p 5V cho mch
hot ng.

Trang 22
Chng 3: Thit k v thi cng phn cng

K H O I D I E U K H
V C RC 1 C 1 1 R E L A YJ 8 D A O C H I E U
1 2 K 0 4 1
3 K 1 x t a l 1 1 2 V 3 2
4 K 2 3 3 p x F t a l 2 U 3 5
5 K 3 g n d Y 1 s 1 t r 4 0 D I O DC O 1 N D 8 E
G C O
6 K 4 02 M k C R L R / VB 3 P7 9 / P I C S P D A T 6 0 D. 1 o u n F g C o
7 K 5 C 11 02 M 13 R h zk A 0 / A R N B 3 0 6 8 / / U I C L SP P W C U L / K C 1 2 I N 7 0 -
8 24 R k A 1 / A R N B 3 1 5 7 /d / C A i r N1 2 1 I 3 N / T1 1- 1 G N 4 1 0N
1
0 47 0 0 7
9 35 R k A 2 / A R N B 3 2 46 / V / A R N E 1 F 1 - D / C I O V DR EE 2 F C / C H 2 O I NN G+ C O N D U C
46 R k A 3 R / A B N 3 3 3 / A5 / V N V R C9 E / C P F G + M/ C / C1 I 1 N 2 +I N 2 -
4 k 7 3 3 p F 57 R k A 4 / T R0 C B3 K4 2 / I A/ C N 1 8 O U T
V C C s 8 R r A 5 / R A BN 13 4 e / 3 / A n S Nc S o 1/ d C 0 e /2 r C O 1 U 2 T I N 3 R- E L A Y D P D T
w 9 R r E 0 / A R N B 3 5 0 v2 / Ac c N 1 2 / I N T
1 n CR 0 V Ce E 1 / A N V 3 6 D g1 D n d
S W 2S W 3 S W 4 R 3 1cR 1c v E 2 / A N V 3 7S 0 d S 7 R b K E O R E L A Y
1 n V 2d g D D R D 2 9 d7 6/ P 1 d D i r C 1 8 1 5 K E O R E L A Y
K 0 K 1 K 2 1 8 k 17 t V a 3 R x lS1 S R D 2 8 d6 5/ P 1 C 2 K 2 7 S C

K H O I C
1 8 1 5
R l A2 7 / O R S D2 C 7 d5 1 4/ / P C 1 L B K I N
S W 1 k 1 t 7Ra 4 4 x A 6 / O SR 2 C D r6 x 2 4 / C L K O U T
1 5
I N C D E C C H A N G E p w m1 R6 C 0 / T R 1 C O 2 t57 S x / O R / X T / 12 D CK T 2 K I
1 R7 C 1 / T R 1 CO 2 46 S / I T / CX / C C P K 2
S W 1 R8 C 2 / P R 1 C2A 3 /5 C / S C D P OR 1 H A N D O N G L E D D A O C H
C 6R 2 d 10 R 9 C 3 / S R C C 2 K 4 d2 / / 3 S S C D LI / S D A R H A N D O N G D R I V E R
S W 6S W 7 S W 8 r s t d 21 R 0 D 0 R 2 D d1 3 2 1 K 8
R D 1 R D 2
K 3 K 4 K 5 L E D B A O D A O C H I E U
2 . 26 u8 F0 P I C 1 6 F 8 8 7 A
L E D 2 S D 4 1 4
O K C A N O C N E / LO F
R h aF n E dT o n g F E T t r e n

K H O I P H 1 2 V
I M N 2 H S
1
B
0 0 I R
4 8
F
5 A 5
N 4 0 / T O

R h a n d o n g F E T
4 k 7
U 9 A
J 2 R 4 R b D R I V E R V D K
4

3 3 + R 5 p w m C 1 8 1 5 D R I V E R
b 1 3 1 2 r x 2 1 e n c o d e r 2 S C 1 8 1 5
a 1 R 4 R 1 1I 1 N 1O t xU T 1 1 8 2k -
T 1 T O1 UI N T 8 2 0D 2 4 K 7
9 8 v c c R b D R I V E R
U 12 R 0 R2 7O 2 I U N T o u t E n c o d e rL M 3 2B 4Z X 8 4 C 1 6 1 / KS O T
11

T 2T I 2 N O C U 1 T2 1 R0 k6
1
6 C 1 +
V - 3 1 0 u
1 5 C 1 - g n d
G N 4 D C 3 g n d
C 1 4 C 5 2 +
1 0 u C 2 -
VC C
V+

g n d M A 1X 0 2 u3 2

K H O I E N C O D E
2
16

V C C
C 4
1 0 u
a
b

v c c L C LD C D
gnd

V C C
U 4
C 9 D 1
2

0 . 1 u
16
27
38
945

J 1
VV DS SD

U 6
VR ES E
ERD W0
DD 21
DDD 345
DD 67
KA

g n d 2
+
1 4 - 1 1 2 V 1 3 v c c
213
546
78
1011 9
1213
1415
16

V VI N O U T
P 1 v r e f
GND

K H O I H
C O N 2
C O N N E C T O R D B 9 C 2L M 7 8 C0 5 5 C / T 7 O
2

5 4 D7 0 0 u F 3 30 0. 1 0 u u F F
K H O I G IA O T IE P M A Y T IN H
B R 8 0
rw rsen
d3 d2d4
d5d6
d7
d0 d1
3

v c c

J 5
K H O g
I n d
N g n

R 1 1 k R5 1 1 0 6 k
d
G U O N
2 v c c v r e f
1 g n d
C O N 2

Hnh 3.2 S nguyn l.

Trang 23
Chng 3: Thit k v thi cng phn cng

3.2.3 Tnh ton cc thng s ca mch


3.2.3.1 Mch o chiu ng c

Hnh 3.3 Phn mch o chiu ng c.


iu khin chiu quay ca ng c in 1 chiu, ta c th dng mch cu
H, hoc c th dng Relay. V dng relay chi ph thp hn nn trong n ny
chng ti la chn gii php ny. Nguyn l ca mch ny nh sau:
Khi chn dir mc thp, BJT Q2 tt, tip im 3 ni n 4, tip im 6 ni
n 8, khi Vcc ni ti chn 2 ca CON2, cc D ca FET ni ti chn 2 ca
CON2 ng c chy theo chiu thun (chiu quy c). Khi c tn hiu kch 5V ti
chn dir, BJT Q2 dn, tip im 3 ni n 5, tip im 6 ni n 7, lc ngun
cung cp cho ng c o ngc so vi trng hp trn, do ng c quay theo
chiu ngc li.
Ta tnh chn vi dng cc i qua ng c l 5A, Chn Relay 10A.
Cng sut ca relay 530mW, -> dng qua relay 0.530/12 = 44mA. Cng sut
tn hao trn BJT Q2 ch yu l cng sut dn: P = V cesat xIcsat = 0.25x44mA =
11mW.
Vy chn BJT 2SC1815 c: Ic = 150mA, Vce = 50V, cng sut 400mW,
hfemin = 70.
BJT dn bo ha th Ibmin = Ic/hfemin = 44/70 = 0.63mA.

Trang 24
Chng 3: Thit k v thi cng phn cng

Chn dng qua R13 khong 0.7mA, => R13 = 0.7V/0.7mA = 1k.
Chn dng Ib ~ 1.5Ibmin => chn Ib = 1mA
Dng qua R11 = Ib + IR13 = 1.7mA
R11 = (5V-0.7V)/1.7 = 2.53k =>chn R11 = 2k2.
3.2.3.2 Tnh ton cho FET
Tnh dng ti a qua ng c:
Ta c phng trnh ca ng c trng thi xc lp:
Te = TL + B = K mI a

TL + B
Ia =
K m

ng vi ti c th ta c th xc nh c TL t ta c th xc nh c
dng Ia cc i qua ng c.
Gi s ta tnh vi dng ti a qua ng c l 5 A
Ta phi chn MOSFET c VDS >2Vng c, dng >1.5 -> 2ln Imax,
khong10A, cng sut tiu tn trn MOSFET ty thuc vo tng loi FET, y ta
chn cc thng s ca IRF540 tham kho sau kim tra li cng sut c m
bo hay khng..
Cng sut tiu tn trn MOSFET bao gm 2 thnh phn: cng sut tiu tn
khi FET dn v cng sut chuyn mch:
Ptt = Pd + Psw
Cng sut tiu tn khi FET dn c tnh theo cng thc:
Ton
Pd = I 2 .RDSon .
T
Theo datasheet ca IRF540, RDsonMax = 2.5 (Tj=150oC), Imax = 2.5 A,
Ton
max = 1
T
Pdmax = 52x2.5 = 62.5W
Cng sut tiu tn khi MOSFET hot ng chuyn mch:

Trang 25
Chng 3: Thit k v thi cng phn cng

Hnh 3.4 Dng sng VDS v VGS khi FET chuyn mch.
Tn hao trong qu trnh chuyn t off sang on
VDS 1
E1 = v
tr
ds (t ).ids (t ).dt = I DS .(VDS
tr
tr
t ). dt = Vcc .I DS .t r
2

Tng t nh trn tn hao khi t on sang off:


1
E2 = v
tf
ds (t ). ids (t ).dt ==
2
Vcc .I DS .t f

1
Psw = Vcc .I DS .( t r +t f ). f sw
2

Trang 26
Chng 3: Thit k v thi cng phn cng

Tn s iu xung c s dng y l 24khz, trong phn mm s dng


2000 mc iu xung, tuy nhin, ta ch cn mch p ng 100 mc iu xung (v
thi gian p ng cng nhanh th gi tr dng nh np cho t ng vo ca FET cng
ln, ta khng mun dng nh ny qu ln). Thi gian ca 1 mc iu xung lc ny
l: 1/(24.1000.100) = 0.417s =417ns. Tng thi gian np v x t ng vo ti cc
G phi nh hn gi tr ny. Ta chn tr + tf =200ns
Psw = 30.5. 200.10-9.24.103 = 720 mW.
Trong fsw l tn s chuyn mch.
Cng sut tng cng ln nht: 63.2W
Vy MOSFET IRF540 c cc thng s: VDSS = 100V, IDS = 33A, Pmax =
130W tha mn cc yu cu ra.
3.2.3.3 Tnh ton mch li cho FET
S mch Driver:

Hnh 3.5 Mch li cho FET.


Mch li c mc theo kiu totem-pole gm 2 BJT 2SD414 v 2SB548
m bo tn s chuyn mch nhanh cho FET.
Tnh cng sut ca Q3 v Q4:

Trang 27
Chng 3: Thit k v thi cng phn cng

Ta tnh da vo in tch cn np cho t CGS.


PDRI = V.QG.fsw = 12.72.10-9.24.3 = 21mW.
QG :tng in tch np hoc x cho cc G. Theo datasheet, QG = 72nC
M: tx = QG/IG => IG = QG/tx
Tx thi gian np hoc x t ng vo, 2.tx =200ns=(tr + tf)
IG > 72.2/200 = 720mA
Chn BJT Q3,Q4: c Vce > 2Vcc, P>2.21mW. Chn BJT 2SD414 v
2SB548.
Tnh R14: R14 = (24V-0.7V).60/720mA = 1.94k -> chn 1k8
Tnh chn Q6:
Dng sng chuyn mch ca BJT c dng nh sau:

Hnh 3.6 Dng sng chuyn mch trn Q6.


Cng sut tn hao trong BJT ch chuyn mch gm cng sut tn hao
khi dn bo ha v cng sut tn hao chuyn mch.
P = Psw + Pdn
Ton Ton
Pon = Vces.Icsat. Pdan = VCEs I CEs (1)
T T
Da vo th ta thy : trong qu trnh chuyn i trng thi lm vic, dng
in cc gp ic(t) v thi gian t c quan h tuyn tnh :

Trang 28
Chng 3: Thit k v thi cng phn cng

Ic = Kt
Icsat-Icoff
Vi K=
Tsw
Icsat
Icoff c th b qua => K=
Tsw
Icsat
=> ic= t
Tsw
Trong qu trnh ca mi ln chuyn i trng thi lm vic, nng lng tiu
hao ca BJT c th tnh theo cng thc :
Tsw Tsw
Icsat Tsw.Icsat.Vcc
E= 0
icVccdt =
0
Tsw
tVccdt =
2

Trong mi chu k, BJT chuyn i trng thi lm vic 2 ln, trong 2 ln


chyn i , nng lng tiu hao l nh nhau. Nh vy nng lng tiu hao trong
qu trnh chuyn mch l :
Esw= 2E =Tsw.Icsat.Vcc
Cng sut tiu tn trong qu trnh chuyn mch :
Tsw
Psw=Icsat.Vcc. (2)
T
T (1) v (2) ta c :
Ton Tsw
Ptt= Vces.Icsat. + Icsat.Vcc.
T T
Yu cu thi gian chuyn mch Tsw ca BJT phi nh hn thi gian chuyn
mch ca kha in t.
Thi gian tsw ca BJT thng thng khong vi chc n vi trm ns, y
ta ly tsw=100ns.
Vi BJT Q5, icsat = Vcc/R14 = 12/1k8= 6.7mA.
Ton/T max =1, 1/T = f =24kHz thay vo cng thc trn ta c :
Pttmax = 0.2x6.7 + 6.7x12x100x10-9x24x10-3 = 1.36mW.
Chn BJT Q6 c Vce > 12x2 =24V, Ic>6.7x2, Ptt>1.36mW, chn BJT Q6 l
C1815.
Q6 dn bo ha dng ibQ6 > icQ6/min = 6.7/70 ~0.1mA.

Trang 29
Chng 3: Thit k v thi cng phn cng

Chn ibQ6 = 0.2mA.


R15 c tc dng gim thi gian tt ca BJT.
Chn dng qua R15 khong 0.7mA.
R15 = Vbe/Ir15 = 0.7V/0.7mA =1k.
R6 = (5V-0.7V)/(0.7mA+0.2mA) = 4k78.
Chn R6 = 4k7.
3.3.4 Layout v thi cng mch
Layout v s nguyn l c thit k bng phn mm Orcad ca hng
Cadence. Mch in c thit k nh hnh 3.7. Mch in c thi cng bng phng
php i mch ln board ng v hn gn cc linh kin theo s nguyn l. Hnh
nh mch hon chnh c th hin trong hnh 3.8.

Hnh 3.7 Layout ca phn mch iu khin.

Trang 30
Chng 3: Thit k v thi cng phn cng

Hnh 3.8 Mch iu khin sau khi thi cng xong.


1.9. Kt chng
Trong chng ny, phn cng c m t, thit k v tnh ton mt cch
chi tit. Cc IC c s dng l PIC16F887, LM324, MAX232, LCD16x2. Ngoi
ra cn c cc linh kin khc nh t, in tr, relay, nt nhn, cng DB9, BJT, FET,
cu diode v cc connector.

Trang 31
Chng 4: Thit k phn mm

Chng 4 : Thit k phn mm


1.10. M chng
Vic thit k phn mm l cng on kh nht ca n ny bi h thng
yu cu x l phc tp. Do , em quyt nh chn ngn ng bc cao C thit k
phn mm. Phn mm c bin son v bin dch trn phn mm CCS. Phn mm
c chia thnh hai phn:
- Thit k phn mm cho vi iu khin PIC16F887.
- Thit k phn mm trn my vi tnh giao tip vi mch iu khin. Phn
mm ny c vit bng Visual Basic.
Cui chng s l phn nhn xt v ti v nh hng pht trin ti.
1.11. Ni dung
4.2.1 Phn mm cho vi iu khin PIC16F887
Phn ny trnh by nhng thut ton chnh ca chng trnh np cho
PIC16F887 gm nhng lu thut ton sau:
- Lu thut ton tng qut.
- Lu chng trnh x l phm.
- Lu chng trnh o tc ng c.
- Lu chng trnh ngt nhn UART.
4.2.1.1 Thut ton chng trnh chnh
Thut ton chng trnh chnh c th hin trong hnh 4.1 (trang 33).
Chng trnh khai bo cc bin ton cc l Ki, Kp, Kd, Sp. Cc bin Ki, Kp,
Kd ng vai tr l cc tham s ca b x l PID. Bin Sp l bin cha vn tc thc
ca ng c o c nh m xung encoder.
Sp: vn tc ca ng c.
Ki: h s tch phn.
Kp: h s tuyn tnh.
Kd: h s vi phn.
Tip theo ta khi to cc thit b ngoi vi cho PIC16F887:
- Ci t b timer2 hot ng ch PWM.

Trang 32
Chng 4: Thit k phn mm

- Cu hnh chn RB1 hot ng ch PWM.


- Thit lp thanh ghi Trisa l 0xFF. Vi thit lp ny th porta s c cu
hnh l port nhp. Porta c s dng kt ni vi cc phm.
- Thit lp thanh ghi Trisd l 0. Vi thit lp ny th portd l port xut.
Portd c s dng kt ni vi 8 chn d liu ca LCD.
- Thit lp thanh ghi Trise l 0. Vi thit lp ny th porte l port xut.
Porte c s dng kt ni vi 3 chn iu khin ca LCD.
- Ci t cho b UART hot ng tc Baud 9600kbits/s.
- B UART c s dng giao tip ni tip khng ng b vi my
tnh, cho php mch iu khin truyn d liu ln my tnh, v nhn d
liu t my tnh. y, b UART truyn hot ng ch thm d.
Cn b UART nhn hot ng ch ngt.
- Cho php ngt timer1. B timer1 kt hp vi ngt ngoi trn chn RB0
c s dng o tc ng c.
- Cho php ngt sn ln trn chn RB0, chn RB0 kt ni vi chn tn
hiu ca encoder. Khi c sn ln ti chn RB0, ngt RB0 s xy ra.
Sau khi khi to cho cc thit b ngoi vi, chng trnh s thc hin vng lp
v hn. Bt u vng lp, chng trnh gi hm qut phm. Thut ton nhn phm
ca hm qut phm s kim tra phm nhn, loi b qu trnh rung ca phm. Tip
theo chng trnh s kim tra c phm nhn hay khng. Nu khng c, chng trnh
s quay tr v u vng lp. Nu c, chng trnh s gi hm x l phm nhn. Sau
quay tr v u vng lp.
Nh vy, chng trnh chnh s khi to cho cc thit b ngoi vi, sau
kim tra phm nhn. Khi xy ra cc ngt, chng trnh s thc hin chng trnh
phc v ngt ca ngt tng ng.
Chng trnh phc v ngt timer1 c phn tch trong mc 4.2.1.3.
Chng trnh phc v ngt nhn UART c phn tch trong mc 4.2.1.4.
Chng trnh phc v ngt RB0 ch lm mt nhim v l tng bin m
xung encoder. Chng trnh ny s khng c phn tch trong ti.

Trang 33
Chng 4: Thit k phn mm

Do tnh ph bin, cc thut ton ca cc hm giao tip LCD s khng c


phn tch trong ti.

Bt u

Khai bo cc bin ton cc


Kp, Ki, Kd, SP

Ci t Timer2 ch PWM
Ci t UART tc Baud 9600kbits/s
Chn chn RB1 hot ng ch PWM
Thit lp thanh ghi TRISA l 0xFF.(porta l port nhp, kt ni vi phm)
Thit lp thanh ghi TRISD l 0 (portd l port xut, kt ni vi chn d liu LCD)
Thit lp thanh ghi TRISE l 0(porte l port xut, kt ni vi chn iu khin LCD)
Cho php ngt nhn UART
Cho php ngt timer1. Timer1 c dng o tc .
Cho php ngt ngoi trn chn RB0

Gi hm qut phm

C phm nhn? Sai

ng

Gi hm x l phm nhn

Hnh 4.1 Lu thut ton chng trnh chnh.

Trang 34
Chng 4: Thit k phn mm

4.2.1.2 Thut ton chng trnh x l phm


Thut ton hm x l phm c th hin trong hnh 4.2
Sau khi hm qut phm xc nhn c phm nhn, hm x l phm s gn gi
tr porta cho bin phim. Bin phim c so snh vi cc gi tr xc nh phm
no c nhn.
Chng trnh nh ngha cc macro cho c s dng cho cc phm nh sau:
#define INC 0x3E //Phm tng (increase)
#define DEC 0x3D //Phm gim (decrease)
#define SHIFT 0x3B //Phm dch thng s ci t (increase)
#define OK 0x37 //Phm chp nhn gi tr ci t
#define CANCEL 0x2F //Phm khng chp nhn gi tr ci t
#define ON_OFF 0x1F //Phm tt m ng c
#define INV_DIR 0x3C //Phm o chiu, kt hp nhn c hai
//phm INC v DEC cng lc.
Chng trnh s ty vo phm no nhn m x l cc tc v tng ng, sau
kt thc chng trnh.
Vi phm OK: chng trnh s gn gi tr va nhp cho bin tng ng vi
thng s ang ci t. Sau hin th ra LCD dng ch setup v tr 0x80 v
thng s va ci t v tr 0xC8.
Vi phm CANCEL: chng trnh s Hin th ra LCD dng ch setup v
tr 0x80 v cancel v tr 0xC8.
Vi phm INC: chng trnh s tng bin nhap_value ln mt n v. Bin
ny cha gi tr ang ci t.
Vi phm DEC: chng trnh s gim bin nhap_value mt n v.
Vi phm ON_OFF: nu ng c ang mtt ng c v ngc li.
Vi phm SHIFT: chng trnh s dch chuyn thng s ci t theo vng
sau: Kp Ki Kd Sp. Sau gn thng s mun thay i cho bin
nhap_value .

Trang 35
Chng 4: Thit k phn mm

Vi phm INV_DIR: chng trnh s o chn RB3. Sau hin th ra LCD


dng ch INV_DIR v tr 0xC8.

Trang 36
Chng 4: Thit k phn mm

Bt u

Gn gi tr porta cho bin phim

ng
Phm OK?

Sai
Gn gi tr va nhp cho bin
tng ng vi thng s ang
ci t..
ng Phm Hin th ra LCD dng ch
Cancel? setup v tr 0x80 v thng
s va ci t v tr 0xC8.
Hin th ra LCD dng ch
setup v tr 0x80 v Sai
cancel v tr 0xC8
ng
Phm INC?

Tng bin nhap_value ln


Sai
mt n v

Phm ng
DEC?
Sai

ng Phm Gim bin nhap_value i


ON/OFF? mt n v

Sai
ng c Phm ng
ang m? Shift?
Sai
Sai
ng Dch chuyn thng s ci
Phm Sai
tt PWM dng ng c INV? t theo vng sau: Kp,
Ki, Kd, Sp.
ng
o chn RB3.
M PWM bt ng c Hin th ra LCD dng Gn thng s mun thay
ch INV_DIR v tr i cho bin nhap_value
0xC8.

Kt thc

Hnh 4.2 Lu thut ton chng trnh x l phm.

Trang 37
Chng 4: Thit k phn mm

4.2.1.3 Thut ton chng trnh o tc ng c


Chng trnh o tc ng c c t trong hm phc v ngt timer1.
Thut ton chng trnh phc v ngt timer1 c th hin trong hnh 4.3.
Timer1 c ci t trn sau mi 2.5ms. Nh vy chng trnh phc v ngt
timer1 c thc thi sau mi 2.5ms. Nhim v chnh ca hm ny l tnh tc
hin ti ca ng c ri so snh vi tc ci t, tnh ton rng xung theo thut
ton PID sau cp nht rng xung va tnh cho b PWM.
Ban u, hm s dng b timer1 v khng cho php ngt trn chn RB0.
Gn bin pulse_count cho bin Sp, bin pulse_count c dng m s
xung t encoder a v chn RB0 trong khong thi gian 2.5ms. Bin ny c
tng ln mt n v trong chng trnh phc v ngt chn RB0. Sau khi gn, bin
ny c xa v 0.
Sau , chng trnh s tnh tc ca ng c da trn cng thc sau:
Tc = pulse_count / (400 x 2.5ms x 10-3) PPR (pulses per round).
Trong 400 l s xung encoder to ra khi ng c quay ng mt vng.
Sau khi c tc ng c hin thi, chng trnh s so snh tc hin
thi v tc ci t, tnh ton rng xung theo thut ton PID da trn cc tham
s Kp, Ki, Kd, vn tc ci t, vn tc o c.
Khi c rng xung cn iu khin, chng trnh tin hnh cp nht
rng xung cho b PWM. Nh vy vic p dng thut ton PID iu khin
rng xung c thc hin trong chng trnh phc v ngt timer1 ny.
Sau khi thc hin xong vic tnh ton rng xung cho khi PWM,
chng trnh s cu hnh li b timer1 trn sau 2.5ms v kt thc hm. C th nh
sau:
- Cu hnh gi tr ph hp cho thanh ghi TMR1, cc bit iu khin b
prescaler.
- Cho php b timer1 hot ng.
- Cho php ngt timer1.
- Cho php ngt ngoi RB0.

Trang 38
Chng 4: Thit k phn mm

Bt u

Dng timer1
Khng cho php ngt ngoi trn chn RB0

Gn bin pulse_count cho bin Sp.


Hin th tc ng c ln LCD.
Gi gi tr bin Sp ln my tnh.
Gn 0 cho bin pulse_count.(bin pulse_count c dng m s xung encoder
a v chn ngt ngoi RB0, trong chng trnh phc v ngt RB0, bin
pulse_count c tng ln mt n v).
Cp nht duty cho module PWM

Ci t li timer1 trn sau 2.5ms.


Cho php timer1 m
Cho php ngt timer1
Cho php ngt ngoi INT trn chn RB0.

Kt thc

Hnh 4.3 Lu thut ton chng trnh phc v ngt timer1.

Trang 39
Chng 4: Thit k phn mm

4.2.1.4 Thut ton chng trnh phc v ngt nhn UART


Chng trnh phc v ngt nhn c thut ton tng t chng trnh x l
phm. Thut ton chng trnh phc v ngt nhn c th hin trong hnh 4.4.
Mi ln iu khin t my tnh, chng trnh iu khin trn my tnh vit
bng Visual Basic s gi 2 byte. Byte th nht l byte cha m lnh mch iu
khin nhn bit gi tr ang c ci t. Byte th hai l byte d liu cha gi tr
cn ci t.
Cc bin c s dng trong hm ny gm:
- Bin dem_byte: bin ny m s byte nhn c.
- Bin byte_lenh: bin ny cha ni dung ca byte nhn u tin.
- Bin byte_dulieu: bin ny cha ni dung ca byte th hai.
Ban u, hm s khng cho php ngt ton cc nhm trnh hin tng xung
t ngt khi cc ngt c th t u tin hn xy ra trong khi ang thc hin chng
trnh phc v ngt nhn UART.
Sau hm s kim tra bin dem_byte bit c s th t byte ang
nhn. Nu byte nhn c l byte u tin (dem_byte bng 0), hm s gn gi tr
thanh ghi RCREG cho bin byte_lenh v tng gi tr ca bin dem_byte mt n v
ri kt thc hm.
Nu byte nhn c khng phi byte u tin (lc ny dem_byte bng 1),
hm s gn gi tr thanh ghi RCREG cho bin byte_dulieu, gn 0 cho bin
dem_byte, kim tra gi tr ca bin byte_lenh v c cc x l tng ng vi tng
gi tr ca byte_lenh ri kt thc hm.
- Vi byte_lenh bng 0: hm gn gi tr bin byte_dulieu cho bin Kp.
- Vi byte_lenh bng 1: hm gn gi tr bin byte_dulieu cho bin Ki.
- Vi byte_lenh bng 2: hm gn gi tr bin byte_dulieu cho bin Kd.
- Vi byte_lenh bng 3: hm gn gi tr bin byte_dulieu cho bin Sp.
- Vi byte_lenh bng 4: nu byte_dulieu bng 0 tt ng c, nu byte
d liu bng 1 m ng c.
- Vi byte_lenh bng 5: hm s o chn RB3 o chiu ng c.

Trang 40
Chng 4: Thit k phn mm

Bt u

ng
Byte th nht?

Tng bin dem_byte 1 n


Sai v: dem_byte++ .
Gn 0 cho bin m s byte Gn gi tr thanh ghi
dem_byte = 0. RCREG cho bin byte_lenh.
Gn gi tr thanh ghi RCREG
cho bin d liu nhn
byte_dulieu = RCREG.

ng Byte_lenh=
=0?

Gn bin byte_dulieu cho bin Kp Sai


Byte_lenh= ng
=1?
Gn bin byte_dulieu cho bin Ki
Sai
Byte_lenh= ng
=2?
Sai Gn bin byte_dulieu cho bin Kd
Byte_lenh= ng
=3?
Sai Gn bin byte_dulieu cho bin Sp
ng Byte_lenh=
=4?
Sai
byte_dulieu
bng 0?
Sai
Byte_lenh= Sai
ng =5?
ng
tt PWM dng ng c
o chn RB3 o chiu

M PWM bt ng c

Kt thc

Hnh 4.3 Lu thut ton chng trnh phc v ngt nhn UART.

Trang 41
Chng 4: Thit k phn mm

4.2.2 Phn mm trn my vi tnh giao tip vi mch iu khin


Phn mm trn my tnh giao tip vi mch iu khin c vit bng
Visual Basic. C giao din nh hnh 4.4.

3 2 4
Hnh 4.4 Giao din phn mm iu khin trn my tnh.
Trong hnh 4.4, giao din gm 4 phn:
- 1: Phn iu khin gm cc thanh trt KP, KI, KD, Speed bn cnh l
cc box cha gi tr iu khin tng ng vi v tr thanh trt. Nt
Direction iu khin chiu ng c. Nt On, Off iu khin m v tt
ng c
- 2: Phn hin th tc ca ng c, d liu tc nhn t mch iu
khin.
- 3: phn ci t cho cng COM, cho th. Nt Exit ng cng COM v
thot chng trnh.
- 4: phn th vn tc ca ng c. phn gii theo trc thi gian l
2.5ms.

Trang 42
Chng 4: Thit k phn mm

Cc thut ton khi thay i cc thanh trt hoc kch cc nt nhn trong khi
iu khin tng t nhau. Chng trnh s gi 2 byte xung mch iu khin. Byte
th nht cha m lnh mch iu khin bit c thng s no ang c ci
t. Byte th hai cha gi tr ci t. Cc hnh 4.5, 4.6, 4.7, 4.8, 4.9, 4.10 l cc lu
thut ton ca phn iu khin.

Bt u

Out put.Com1 = 0

Out put. Com1= gi tr ly t thanh


trt Kp

Kt thc

Hnh 4.5 Lu thut ton khi iu khin thanh trt Kp.

Bt u

Out put.Com1 = 1

Out put. Com1= gi tr ly t thanh


trt Ki

Kt thc

Hnh 4.6 Lu thut ton khi iu khin thanh trt Ki.

Trang 43
Chng 4: Thit k phn mm

Bt u

Out put.Com1 = 2

Out put. Com1= gi tr ly t thanh trt Kd

Kt thc

Hnh 4.7 Lu thut ton khi iu khin thanh trt Kd.

Bt u

Out put.Com1 = 3

Out put. Com1= gi tr ly t thanh trt


Speed

Kt thc

Hnh 4.8 Lu thut ton khi iu khin thanh trt Speed.

Trang 44
Chng 4: Thit k phn mm

Bt u

Out put.Com1 = 4

Gi 1 xung cng COM nu kch nt ON: Out put. Com1= 1 ;


Gi 0 xung cng COM nu kch nt OFF: Out put. Com1= 0 ;

Kt thc

Hnh 4.9 Lu thut ton khi iu khin cc nt On/Off.

Bt u

Out put.Com1 = 5

Out put. Com1= gi tr ly t thanh


trt Kp

Kt thc

Hnh 4.10 Lu thut ton khi iu khin nt Direction.

Trang 45
Chng 4: Thit k phn mm

Hnh 4.11 l lu thut ton chng trnh nhn d liu t MCU v hin th
trn giao din. Nu c d liu nhn c t cng COM, d liu ny l tc ca
ng c, th chng trnh s hin th gi tr vn tc nhn c ln th vn tc.
Sau tng bin m thi gian v th cho ln nhn k tip.

Bt u

Sai
C nhn c byte d liu t
cng COM1?

ng

Hin th gi tr nhn c (tc ) ln v tr (Text) hin th tc


V ln th vn tc gi tr nhn c

Tng bin m thi gian v th cho ln nhn k tip

Kt thc

Hnh 4.11 Lu thut ton chng trnh nhn d liu t MCU.

Trang 46
Chng 4: Thit k phn mm

1.12. Kt lun chng


Qua chng ny, vic thit k phn mm v cc thut ton c m t
tng i chi tit. Phn mm trn mch iu khin cho php iu khin ng c
theo thut ton PID gii thiu chng 1. ng thi cng cho php ci t cc
thng s cho b iu khin bng hai phng php: dng phm trn mch hoc iu
khin trn my tnh thng qua cng COM.
1.13. Nhn xt nh gi h thng
ti c hon thnh ng vi nhng d nh ban u. H thng iu
khin chy rt n nh v cho php gim st v iu khin ng c tng i
chnh xc. Khi thay i momen ti, ng c vn c n nh tc ci t. Tuy
nhin, vi kh nng ca chng em th khi lng cng vic ca ti l kh ln v
kh phc tp nn ti vn cha pht trin thm c mt s tnh nng cho h
thng. Chng em rt mong c s ch bo, ng gp kin ca cc thy c gio
v nhng ngi c chuyn mn.
1.14. Hng pht trin ti
H thng iu khin chy tt vi ng c DC 12V cng sut nh. Trn c
s , ti nn c pht trin theo nhng hng sau:
- iu khin ng c cng sut ln (vi kW).
- Pht trin h thng iu khin v gim st ng c qua web.

Trang 47
Ti liu tham kho

Ti liu tham kho


in t cng sut-Nguyn Bnh
Truyn ng in Bi Quc Khnh - Nguyn Th Hin - Nguyn Vn Lin
Datasheet ca cc IC PIC16F887, LM324, MAX232
Tutorial LCD HD44780 - Giao Tip V Lp Trnh iu Khin - Trietnguyen,
SPKT, 30/6/2007

Trang 48

You might also like