You are on page 1of 7

iu khin vn tc ng c DC dng b iu khin PID.

CsLthuyt

1. ThutiukhinPIDvvicrirchan:

Trongminthigian,biukhinPIDcmtbngmhnhvo
ra:
t

U (t ) = K P e (t ) + K i e (t )dt + K d
0

de (t )
dt

tronge(t)ltnhiungvo,u(t)ltnhiungracabiu
khin.
Tuynhin,iviViiukhinnichung,victnhtonccthnh
phnP,I,Dnicchkhcltnhcctchphnhayohmtrongcng
thctrnlkhngthchinc.Ldo:CPUkhngthtnhton
chnhxctimct=0,nghalkhnglintc.
Do,tachcthtnhtongnngbngcchtachot=rt
nhnhnglnhn0.
tmhthcPIDrirc,taxtthsauy:

V

e2
e1
e0

2
t (s)

Chthch:ngchmgchbiudinvntccnthitv_set.

nggchgchbiudinvntcthctcangc.

iu khin vn tc ng c DC dng b iu khin PID.


nggchmlthrirchacavntcng
c.

t lthigianlymu.

Thnhphntchphn:
e(t)dt=limt>0(e(t)t).Dokhilygnngt=>0,tac:

e(t)dte(i)t,i=0,1,2,3

Thnhphnviphn:

de(t)/dt=limt>0{[e(t2)e(t1)]/t}.Dokhilygnngt=>0,
tac:

de(t)/dt=[e(i+1)e(i)]/t,i=0,1,2,3

Tmli,tac:
u(i)=Kp*e+Kd*[e(i+1)e(i)]/t+Ki*e(i)t

t e_delta(i+1)=e(i+1)e(i)

e_sum(i+1)=e(i)=e_sum(i)+e(i+1)
Trongcngthctrn,thigiansamplingtimetlrtnh,tab
quat.Sauny,khitmcchsKd,Kibngthcnghim,KdvKi
lcbaogmct.
Khi,cngthctrncvitlinhsau:

u(i)=Kp*e+Ki*e_sum+Kd*delta_e

iukinbin:u(0)=duty>0.

2. itngiukhin:
itngiukhinlvntcngcDC(c).Tabitvntc
ngcDCphthucdnginhayinpmtacpchon(d
nhinphinmtrongkhongchophpcac).Cthys
dngc24VDC,doinpcpkhngcqu24V.Tuynhin,
viccppchoctrongmtkhongrngt0n24Vlkhkhn.
4

iu khin vn tc ng c DC dng b iu khin PID.

DotaiukhinvntctheoxungPWM(PulseWidth
Modulation),cthldutycycle.
VyccngvovracabiukhinPIDnhsau:
Ngvo:e=vntchinti(v_cur)vntcthitlp(v_set)
Ngra:u=%dutycycle

Phthucgia%dutyvvntccgnnhtuyntnhnn
ngin,tagisnhontontuyntnh.Vy,tacthiu
khinvntccthngqua%duty.

3.Smch:Giithiuccthnhphntrongmchvchcnng:
ViiukhinchnhcamchiukhinlPIC16F88ca
Microchip.PIC16F88c7knhADC10bit,1PWMiu
khinc.

Do,tasdng4knhADCdngnhpdliu(hsPID
chnhbngtayvvntcmongmun).ChnADCnivimtcuphn
pbngbintr.Gitrbintrlmthayiinpdnganalogtrn
chnADC,vPIClyinpchuynthnhgitrdigital.Victnh
toncthxinxemphn5cabocony.

PWM(PulseWidthModulation)lmtmodulemrngcaPIC
16F88.Ncchcnngtoramtdyxungc%dutyvtnsxcnh.
Ccgitr%dutyvtnscaxunghontoncthhiuchnhbng
phnmm.

Tn s f = 1/T

duty Chu k T

ChnT0CLKIcaPIC16F88lchnvocaxungclockbnhthi
0.Chnnycnividytnhiucaencoder.Timer0lcnycchc
nngcountermsxungphttencoder.Timer1snhthitrong1
khongthigian.KhiTimer1trn,talygitrcaTimer0.Davogitr

iu khin vn tc ng c DC dng b iu khin PID.

ny,cthtnhcvntccthiimny.Phntnhtonxemmc
5.
DriveriukhinclchipL293caTexasInstruments.Chip
nyccccimsau:

Dngtia1A,qudng1.2A.

inptial33V.

Cthlicnglc2cDC.Tuynhin,tachsdng1cuH
iukhin1c.TachncuH1cccchnngvolchnenable1/2EN,
chnchnchiuquay1A,2A.Ccchnral1Y,2Y.Chn1/2ENcni
vichncpxungPWMcaPIC16F88.
Chip74LS06lcngNOT.Mcchkhuychixung
clockcaencodertrckhiavoT0CLKI.

Mchsdng2ngun:5Vchoccchiphotngv24Vcho
ngc.
Docchudydiy,tacchnRB2caPIC16F88=0/1th
cquaythun/nghchchiukimngh.

SauylsmchcvbngOrCAD9.2.ThtchnIC,
cchnidycth,cngdngcaccchncbitxinxemtrns
mchny.

iu khin vn tc ng c DC dng b iu khin PID.


100

Dong co

R3

100

VCC

R4

100 R5

VCC

VCC R6 100

VCC

Dieu
chinh
toc do
mong
muon

VCC_CIRCLE

He so Kd

He so Ki

He so Kp
Bien tro

2
1

D2

C4
D1

VCC
D3

U16
SW DIP-2

VCC

17
18
1
2
3

R2
1K

VCC

16
15

VCC_CIRCLE

4
SW1

Tu 30 pico x 2

14
11
6
3

4Y
3Y
2Y
1Y

3/4EN
1/2EN
4A
3A
2A
1A

8
16

12

13

10

11

Y1

9
1

PIC16F88
Vs s

VCC2
VCC1

VDD

4MHz
5

GND
GND
GND
GND

S1

15
10
7
2

L293
7406

PWM

C2

Quay phai
/Quay
trai

14

4
5
12
13

U15

6
7
8
9
10
11
12
13

MCLR/RA5/Vpp

VCC

Reset

C1
U2

14

RA0/AN0
RB0/INT/CCP1
RA1/AN1
RB1/SDI/SDA
RA2/AN2
RB2
RA3/AN3
RB3/CCP1/PGM
RA4/AN4/TOCKI RB4/SCK/SCL
RB5
OSC1/CLKIN RB6/AN5/T1CLKI
OSC2/CLKOUT
RB7/AN6

1
2

VCC

VCC_CIRCLE

J2
VCC

1= 5V
2=24V
3= mass

1
2
3

PHAN HANG DUY THAI

20202382

Title

DC Motor controller sche.


Size
B

Nguon

Date:

Document Number
v ersion2 by
Wednesday , April 27, 2005

4
3

1=mass
2=fase A
3=5V

R1
R

Encoder
feedback

Encoder
J1

3
2

D4

Wonbinbk@gmail.com
Sheet

of

Rev

1/4=Open/Close--->PID tu dong./bang
tay.
2/3=Open/Close--->quay trai/quay phai.

J3

iu khin vn tc ng c DC dng b iu khin PID.

5.Mtstnhtontronglptrnh
a. cvtnhgitrtbintr:

Vi iu khin PIC16F88 ca Microchip c tt c 7 knh ADC 10 bit,


nmtrnccchnAN0nAN6.
BintrsdngtrongmchlloiVolume10K,ccbintrhndng
ctrsrtnh(330)nncthbquakhitnhton.
ResolutioncaADCl10bit=1024.GitrADCcvolt01023
ViccbintriuchnhgitrKp,Ki,Kd,tagngitrtngngl
0100.Nhvy,bcthayinhnhtl100/1024=0.0976.iuny
cnghalKx=gitrctADC*0.0976.
Tng t nh vy, vi bin tr thit lp tc , ta gn gi tr tc
tngngl0300vng/pht.Bcthayinhnhtl300/1024=
0.293.Nghaltcv_set=gitrctADC*0.293.

b. cvtnhvntcthcscangctencoder:

TasdngTimer0chcountervixungclockcctencoder.
Timer1chtimer16bit.
Encoder200xung/vng

Trctinmsxungtrong1000s:timer1strnsau1000s,
trongthigian,timer0msxungnhnc.Khitimer1trn,
chngtrnhthchinngt.GitrtTimer0chnhlsxungtrong1000
s.TagigitrnylT0.

Nhvy,svng/pht=(sxung/200)/(60*1000)ms

=(sxung/ms)*12.106

hayvntccv_cur=T0*12.106(vng/pht)

c.HthcPIDcuicng:

duty=duty+Kp*e2+Ki*e_sum+Kd*e_del

10

iu khin vn tc ng c DC dng b iu khin PID.

6.Cchiuchnhcchs:
(Phnnycthamkhotrctipttrangwebhttp://www.acroname.com/brainstem/ref/h/i/iA.html)

utintachnhchoKp=1vKd,Ki=0.NghalchiukhinP.
SautatngKplndndn,vquanstngc.Khithyngdao
ng, ngha l n lc nhanh lc chm, ta ly Kp ti nhn vi 0.6
tnhton.NghalKp_t=0.6*Kp_daong.

SautatngKdlndndn(ginguynKp),nuKdqulns
lmngcbdaongmnh.GimKdlichonkhingchtdao
ng.

iuchnhKilkhnht,btutgitrrtnh,vdlyKi=1/
Kd chng hn. H s Ki khng cn ln v ng c t n cha thnh
phn Ki (th hin moment qun tnh, hay sc ca ng c). Do ,
thngviitngiukhinlnhithayngc(ccitngc
quntnh)thchcnbiukhinPDl.

BngsauchrccnhhngcaKp,Ki,Kdnccctnhcah
thng:

pngcahthng Thi
tng

gian Vtl

Thi gian n Sai lch so vi trng


nh
thibn

KP

Gim

Tng

tthayi

Gim

KI

Gim

Tng

Tng

Trittiu

KD

tthayi

Tng

Tng

tthayi

Tathyphngphpnycnhiunhcimnh:khngccs
tonhcvngchc,khngtiu(vttcuchnhtscngunhin
trongmtvnggitrno).Tuyvy,ngccthcpngtt,v
quiuchnhtheonhwebsitetrnaralkhngqu25%(trong
khiphngphpkhcththngcquiuchnh(hayvtl)chng
40%).pngcangcscngttnuthigianlymuPIDcng
nh.

11

You might also like