You are on page 1of 57

Trng Ngc Anh :GVHD

2 n

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

LI NOI AU
at nc ta ang trong thi k cong nghiep hoa , hien ai hoa. Nen kinh te ngay cang phat trien manh me , i song nhan dan ngay cang c nang cao. Qua o nhu cau cua ngi dan cung tang theo, ieu o oi hoi cac nha may san xuat phai nang cao nang suat va am bao ca ve mat chat lng. e lam c ieu o cac nha may phai ngay cang nang cao ve mat t ong hoa. Trong cac day chuyen san xuat t ong th ong c DC la mot c cau ieu khien hu hieu. ong c DC c s dung rong rai trong cac day chuyen san xuat t ong , ngoai ra ong c DC con c ng dung trong cac thiet b ieu khien chnh xac, v du nh ieu khien robot Trong qua trnh hoc trng sinh vien can phai van dung c cac kien thc a hoc vao thc te. o an mon hoc IEU KHIEN TOC O ONG C DC DUNG PID la mot trong nhng ket qua cua s van dung nhng kien thc a hoc cua sinh vien ai Hoc nganh ien t vao thc te. Qua o giup cho moi sinh vien co the hieu ro hn nhng g a hoc ly thuyet ma cha co dp e ng dung vao thc te.

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

LI CAM N
Du Em a co nhieu co gang trong qua trnh thc hien o an nay, tuy nhien cung khong the tranh khoi nhng thieu sot. Knh mong Thay cung cac ban thang than ong gop y kien e o an mon hoc cua em c hoan thien hn. Em xin chan thanh cam n Thay Trng Ngc Anh a tan tnh ch bao va hng dan , ong cam n en cac ban trong lp 081011 a gop y cho mnh trong qua trnh thc hien o an.

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

MUC LUC
PHAN I. GII THIEU E TAI

1. Gii thieu s lc cac module cua mach 2. Gii thieu ve thuat toan PID 3. Phng an thc hien 4. S o nguyen ly mach 5. Cac bc van hanh mach 6. Gii han e tai 7. Hng phat trien e tai
PHAN II. NOI DUNG
CHNG 1: Gii thieu linh kien CHNG 2: Thiet ke mach

KHI IU KHIN KHI HIN TH KHI X L 4. KHI CNG SUT CHNG 3: THIT K LU KHI V VIT CODE CHNG4: THI CNG 1. S o mach in 2. S o linh kien
1. 2. 3.

PHAN III. KET LUAN VA HNG PHAT TRIEN 1. Ket luan (neu tom tat cac van e a thc hien

c) 2. Hng phat trien (neu hng phat trien cua e tai) 3. Ph lc:Code chng trnh

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

PHAN I: GII THIEU E TAI


1. GII THIEU S LC CAC MODULE CUA MACH Yeu cau at ra: Lap trnh C cho PIC16f877a ieu khien on nh toc o ong c DC dung phng phap PID. Toc o at trc ong c c nhap t nut nhan, toc o tc thi hoi tiep t ong c c hien th tren LCD 16x2. Tom tat hng thc hien e tai: + S dung vi ieu khien PIC lam vi ieu khien trung tam. Dung phan mem CCS e lap trnh va bien dch. + Xay dng khoi nut nhan gom 6 nut nhan e ieu khien toc o va chieu ong c, ong thi co them mot nut nhan e reset VK. + Hien th toc o ong c dung man hnh LCD 16x2 lap trnh che o 8 bit. + Dung IC L298 va IC cong logic 7408 va 7414 e lam c cau lai va em cong suat cho ong c. + Dung kenh PWM ccp1 e thay oi toc o cho ong c. + oi tng ieu khien la ong c DC 12V co tch hp encoder + Khoi nguon cung cap cho mach s dung IC7805 on nh 5V
5

Huy Duy :SVTH

2 n cap cho vi ieu khien va khoi nguon dung IC7812 tao ien ap 12V cap cho ong c DC. 2.
-

Trng Ngc Anh :GVHD

GII THIEU VE THUAT TOAN PID: Mt b iu khin vi tch phn t l (b iu khin PID) l mt c ch phn hi vng iu khin (b iu khin) tng qut c s dng rng ri trong cc h thng iu khin cng nghip b iu khin PID c s dng ph bin nht trong s cc b iu khin phn hi. Mt b iu khin PID tnh ton mt gi tr "sai s" l hiu s gia gi tr o thng s bin i v gi tr t mong mun. B iu khin s thc hin gim ti a sai s bng cch iu chnh gi tr iu khin u vo. Trong trng hp khng c kin thc c bn v qu trnh, b iu khin PID l b iu khin tt nht. [1] Tuy nhin, t c kt qu tt nht, cc thng s PID s dng trong tnh ton phi iu chnh theo tnh cht ca h thng-trong khi kiu iu khin l ging nhau, cc thng s phi ph thuc vo c th ca h thng.

Gii thut tnh ton b iu khin PID bao gm 3 thng s ring bit, do i khi n cn c gi l iu khin ba khu: cc gi tr t l,tch phn v o hm, vit tt l P, I, v D. Gi tr t l xc nh tc ng ca sai s hin ti, gi tr tch phn xc nh tc ng ca tng cc sai s qu kh, v gi tr vi phn xc nh tc ng ca tc bin i sai s. Tng chp ca ba tc ng ny dng iu chnh qu trnh thng qua mt phn t iu khin nh v tr ca van iu khin hay b ngun ca phn t gia nhit. Nh vy, nhng gi tr ny c th lm sng t v quan h thi gian: P ph thuc vo sai s hin ti, I ph thuc vo tch ly cc sai s qu kh, v D d on cc sai s tng lai, da vo tc thay i hin ti.
-

Bng cch iu chnh 3 hng s trong gii thut ca b iu khin PID, b iu khin c th dng trong nhng thit k c yu cu c bit. p ng ca b iu khin c th c m t di dng nhy sai s ca b iu khin, gi tr m b iu khin vt l im t v gi tr dao ng ca h thng. Lu l cng dng ca gii thut PID trong iu khin khng m bo tnh ti u hoc n nh cho h thng.
-

Vi ng dng c th yu cu ch s dng mt hoc hai khu ty theo h thng. iu ny t c bng cch thit t i li ca cc u ra khng mong mun v 0. Mt b iu khin PID s c gi l b iu khin PI, PD, P hoc I nu vng mt cc tc ng b khuyt . B iu khin PI kh ph bin, do p ng vi phn kh nhy i vi cc nhiu o lng, tri li nu thiu gi tr tch phn c th khin h thng khng t c gi tr mong mun.

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

:Gii thut iu khin PID tc PID l cch vit tt ca cc t Propotional (t l), Integral (tch phn) v Derivative (o hm). Tuy xut hin rt lu nhng n nay PID vn l gii thut iu khin c dng nhiu nht trong cc ng dng iu khin t ng. ti ny iu khin tc ca ng c DC dng gii thut PID c th c gii :thch nh sau Gi F l lc quay ng c. Ban u ng c vn tc bng 0, nhim v t ra l iu khin lc F (mt cch t ng) lm quay ng c t ti tc t trc vi cc yu cu: chnh xc (accurate), nhanh (fast response), n nh .((small overshot Mt iu rt t nhin, nu vn tc hin ti ca ng c rt xa vn tc mong mun, hay ni cch khc sai s (error) ln, chng ta cn tc ng lc F ln nhanh chng a vn tc ng c v ti vn tc t trc. Mt cch n gin : cng thc ha tng ny l dng quan h tuyn tnh (F=Kp*e (1 Trong Kp l mt hng s dng no m chng ta gi l h s P (Propotional gain), e l sai s cn iu khin tc chnh lch gia vn tc t trc vi vn tc hin ti ca ng c. Mc tiu iu khin l a e tin v 0 cng nhanh cng tt. R rng nu Kp ln th F cng s ln v ng c rt nhanh chng tin v vn tc t trc. Tuy nhin, lc F qu ln s gia tc cho ng c
7

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

rt nhanh (nh lut II ca Newton: F=ma). Khi ng c n vn tc t trc (tc e=0), th tuy lc F=0 (v F=Kp*e=F=Kp*0) nhng do qun tnh tc ng c vn tip tc tng, sai s e li tr nn khc 0, gi tr sai s lc ny c gi l overshot (vt qu). Lc ny, sai s e l s m, lc F li xut hin nhng vi chiu ngc li hm tc ng c v li tc t trc. Nhng mt ln na, do Kp ln nn gi tr lc F cng ln v c th ko tc ng c v thp hn tc t trc. Qu trnh c tip din, tc ng c c mi dao ng quanh tc t trc. C trng hp tc dao ng cng ngy xng xa tc t trc. B iu khin lc ny c ni l khng n nh. Mt xut nhm gim overshot ca ng c l s dng mt thnh phn thng trong b iu khin. S rt l tng nu khi tc ang xa im O (tc t trc), b iu khin sinh ra lc F ln nhng khi tc ng c tin gn n im O th thnh phn thng s gim tc ng c li. Chng ta u bit khi mt vt dao ng quanh 1 im th vt c vn tc cao nht tm dao ng (im O). Ni mt cch khc, gn im O sai s e ca tc ng c thay i nhanh nht (cn phn bit: e thay i nhanh nht khng phi e ln nht). Mt khc, tc thay i ca e c th tnh bng o hm ca bin ny theo thi gian. Nh vy, khi tc ng c t ban u tin v gn O, o hm ca sai s e tng gi tr nhng ngc chiu ca lc F (v e ang gim nhanh dn). Nu s dng o hm lm thnh phn thng th c th gim c overshot ca ng c. Thnh phn thng ny chnh l thnh phn D (Derivative) trong b iu khin PID m chng ta ang kho st. Thm thnh phn D ny vo b iu :khin P hin ti, chng ta thu c b iu khin PD nhu sau (F=Kp*e + Kd*(de/dt) (2 Trong (de/dt) l vn tc thay i ca sai s e v Kd l mt hng s khng .(m gi l h s D (Derivative gain S hin din ca thnh phn D lm gim overshot ca ng c, khi vn tc ng c tin gn v O, lc F gm 2 thnh phn Kp*e > =0 (P) v Kd*(de/dt) <=0 (D). Trong mt s trng hp thnh phn D c gi tr ln hn thnh phn P v lc F i chiu, thng ng c li, vn tc ca ng c v th gim mnh gn im O. Mt vn ny sinh l nu thnh phn D qu ln so vi thnh phn P hoc bn thn thnh phn P nh th khi vn tc ng c tin gn im O (cha tht s n O), ng c c th khng tng tc na, thnh phn D bng 0 (v sai s e khng thay i na), lc F = Kp*e. Trong khi Kp v e lc ny u nh nn lc F cng nh v c th khng thng c lc ma st tnh. Bn hy tng tng tnh hung bn dng sc ca mnh y mt xe ti nng vi chc tn, tuy lc y tn ti nhng xe khng th di chuyn. Nh th, ng c s khng tng tc d sai s e vn cha bng 0. Sai s e trong tnh hung ny gi l steady state error (tm dch l sai s trng thi tnh). trnh steady state error, ngi ta thm vo b iu khin mt thnh phn c chc nng cng dn sai s. Khi steady state error xy ra, 2 thnh phn P v D mt tc dng, thnh phn iu khin mi s cng dn sai s theo thi gian v lm tng lc F theo thi gian. n mt lc no , lc F ln thng ma st tnh v tng tc ng c
8

Huy Duy :SVTH

2 n tin tip v im O. Thnh phn cng dn ny chnh l thnh phn I (Integral - tch phn) trong b iu khin PID. V chng ta iu bit, tch phn mt i lng theo thi gian chnh l tng ca i lng theo thi gian. B iu :khin n thi im ny y l PID (F=Kp*e + Kd*(de/dt)+Ki*edt (3 Nh vy, chc nng ca tng thnh phn trong b iu khin PID gi r. Ty vo mc ch v i tng iu khin m b iu khin PID c th c lt bt tr thnh b iu khin P, PI hoc PD. Cng vic chnh ca ngi thit k b iu khin PID l chn cc h s Kp, Kd v Ki sao cho b iu khin .(hot ng tt v n nh (qu trnh ny gi l PID gain tuning

Trng Ngc Anh :GVHD

3.

PHNG AN THC HIEN: S O KHOI TOAN MACH: S o khoi:

KHI IU KHIN
1.

HIN TH

NG RA

HI TIP

NG C DC

NGUN

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Khi ngun: cp ngun cho ton mch Khi iu khin: iu khin khi cng sut n nh tc ng c DC,ng thi nhn xung t khi hi tip v iu khin v hin th. Khi hi tip: l encorder tch hp sn trong ng c DC,a xung v cho khi iu khin x l. Khi hin th: nhn d liu t khi iu khin hin th Ng ra:gm IC s li va IC mch cu H(L298) iu khin ng c DC ng c DC:ng c 12V c tch hp encorder 4. S O NGUYEN LY MACH:

10

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

5.

CAC BC VAN HANH MACH: Bc 1: nhan nut MODE chon che o hoat ong bnh thng hay on nh toc o. Bc 2: chon toc o at trc va chon chieu quay. Bc 3: nhan nut START/STOP cho ong c bat au chay, nhan lan na th ong c dng.
11

Huy Duy :SVTH

Trng Ngc Anh :GVHD 6.

2 n

GII HAN E TAI:

Mch cu H s dng IC L298 ch iu khin c ng c DC vi cng sut nh. i vi khi hin th,do tnh cht ca mn hnh LCD nn b hn ch quan st gi tr khong cch xa. 7. HNG PHAT TRIEN E TAI: Dung C# lap trnh ieu khien ong c qua may tnh, ve bieu o toc o ong c theo thi gian, co the thay oi toc o ong c nh y muon. Thiet ke mach cong suat e co the ieu khien ong c co cong suat ln. Dung led7oan e tang kha nang quan sat.

PHAN II: NOI DUNG

CHNG I: GII THIEU LINH KIEN

1.PIC16F877A: I. TNG QUAN V VI IU KHIN PIC - PIC l mt h vi iu khin RISC c sn xut bi cng ty Microchip Technology. Th h PIC u tin l PIC1650 c pht trin bi Microelectronics Division thuc General Instrument. PIC l vit tt ca "Programmable Intelligent Computer" l mt sn phm ca hng General Instruments t cho dng sn phm u tin l PIC1650. Thi im PIC1650 c dng giao tip vi cc thit b ngoi vi cho my ch 16 bit CP1600, v vy, ngi ta cng gi PIC vi ci tn "Peripheral Interface Controller" - B iu khin giao tip ngoi vi: CP1600 l mt CPU mnh nhng li yu v cc hot ng xut nhp v vy PIC 8-bit c pht trin vo nm 1975 h tr cho hot ng xut nhp ca CP1600. ROM cha m, mc d khi nim RISC cha c s dng thi by gi, nhng PIC thc s l mt vi iu khin vi kin trc RISC, chy mt lnh vi mt chu k my gm 4 chu k ca b dao ng. Nm 1985 General Instruments bn cng ngh cc vi in t ca h, v ch s hu mi hy b hu ht cc d n - lc qu li thi. Tuy nhin PIC c b sung EEPROM to thnh 1 b iu khin vo ra lp trnh.
12

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Ngy nay rt nhiu dng PIC c xut xng vi hng lot cc module ngoi vi tch hp sn (nh USART, PWM, ADC...), vi b nh chng trnh t 512 Word n 32K Word. II. MT S C TNH CHUNG CA VI IU KHIN PIC Hin nay c kh nhiu dng PIC v c rt nhiu khc bit v phn cng, nhng chng ta c th im qua mt vi nt nh sau: L CPU 8/16 bit, xy dng theo kin trc Harvard. C b nh Flash v ROM c th tu chn t 256 byte n 256 Kbyte. C cc cng xut nhp (I/O ports). C timer 8/16 bit. C cc chun giao tip ni tip ng b/khng ng b USART. C cc b chuyn i ADC 10/12 bit. C cc b so snh in p (Voltage Comparators). C cc khi Capture/Compare/PWM. C h tr giao tip LCD. C MSSP Peripheral dng cho cc giao tip IC, SPI, v IS. C b nh ni EEPROM - c th ghi/xo ln ti 1 triu ln. C khi iu khin ng c, c encoder. C h tr giao tip USB. Tc hot ng: DC- 20MHz ng vo xung clock. DC- 200ns chu k lnh. Dung lng ca b nh chng trnh Flash l 8K14words. Dung lng ca b nh d liu RAM l 3688bytes. Dung lng ca b nh d liu EEPROM l 2568 bytes. 1. CC C TNH NGOI VI Timer0: l b nh thi timer/counter 8 bit c b chia trc. Timer1: l b nh thi timer/counter 16 bit c b chia trc, c th m khi CPU ang trong ch ng vi ngun xung t t thch anh hoc ngun xung bn ngoi. Timer2: b nh thi timer/counter 8 bit vi thanh ghi 8-bit, chia trc v b chia sau. Hai khi Capture, Compare, PWM. Capture c rng 16-bit, phn gii 12.5ns Compare c rng 16-bit, phn gii 200ns phn gii ln nht ca PWM l 10-bit.
13

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

2.CNG NGH CMOS: C cc c tnh: cng sut thp, cng ngh b nh Flash/EEPROM tc cao. in p hot ng t 2V n 5,5V v tiu tn nng lng thp. Ph hp vi nhit lm vic trong cng nghip v thng mi. Hnh 1-1 trnh by s chn ca cc loi PIC16F87XA.

Hnh 1-1: S chn h PIC16F87XA.

Bng 1-2 s tm tt c im PIC16F877A:

14

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

2.IC CONG LOGIC AND 74HC08 : +IC 74HC08 la IC cong AND 2 trang thai , IC nay gom co 4 cong AND , 1 chan nguon, 1 chan noi mass , tong cong co 14 chan. S o chan:

7: GND 14: VCC = 5V


15

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

S o nguyen ly:

Mo ta chan:

Bang trang thai:

Trong o: H: mc ien ap cao L: mc ien ap thap Phep toan logic: Y = AB ac tnh ien:

16

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

3.IC CONG LOGIC NOT 74LS14: +IC 74LS14 la IC cong NOT , bao gom 6 cong NOT, 1 chan nguon, 1 chan noi mass , tong cong co 14 chan. S o chan va nguyen ly:

7: GND 14: VCC = 5V Bang trang thai: Input X L H

Output Y H L

Trong o: H: mc ien ap cao L: mc ien ap thap Phep toan logic: Y = NOT(X) ac tnh ien:

17

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

4. CHIP DRIVER L298: L298D l mt chip tch hp 2 mch cu H trong gi 15 chn. Tt c cc mch kch, mch cu u c tch hp sn. L298D c in p danh ngha cao (ln nht 50V) v dng in danh ngha ln hn 2A nn rt thch hp cho cc .cc ng dng cng sut nh nh cc ng c DC loi nh v va

Hnh pha trn l hnh dng bn ngoi v tn gi cc chn ca L298D. Hnh pha di l cu trc bn trong chip. C 2 mch cu H trn mi chip L298D nn c th iu khin 2 i tng ch vi 1 chip ny. Mi mch cu
-

18

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

bao gm 1 ng ngun Vs (tht ra l ng chung cho 2 mch cu), mt ng current sensing (cm bin dng), phn cui ca mch cu H khng c ni vi GND m b trng cho ngi dng ni mt in tr nh gi l sensing resistor. Bng cch o in p ri trn in tr ny chng ta c th tnh c dng qua in tr, cng l dng qua ng c 5.NG C IN MT CHIU: ng c in mt chiu: - L ng c in hot ng vi dng in mt chiu. Nguyn tc hot ngca ng c in mt chiu: - Stator ca ng c in 1 chiu thng l 1 hay nhiu cp nam chm vnh cu, hay nam chm in, rotor c cc cun dy qun v c ni vi ngun in mt chiu, 1 phn quan trng khc ca ng c in 1 chiu l b phn chnh lu, n c nhim v l i chiu dng in trong khi chuyn ng quay ca rotor l lin tc. Thng thng b phn ny gm c mt b c gp v mt b chi than tip xc vi c gp.

Pha 1: T trng ca rotor cng cc vi stator, s y nhau to ra chuyn ng quay ca rotor

Pha 2: Rotor tip tc quay

Pha 3: B phn chnh in s i cc sao cho t trng gia stator v rotor cng du, tr li pha 1 C ch sinh lc quay ca ng c in mt chiu:
19

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n - Khi c mt dng in chy qua cun dy qun xung quanh mt li st non, cnh pha bn cc dng s b tc ng bi mt lc hng ln, trong khi cnh i din li b tc ng bng mt lc hng xung theo nguyn l bn tay tri ca Fleming. Cc lc ny gy tc ng quay ln cun dy, v lm cho rotor quay. lm cho r to quay lin tc v ng chiu, mt b c gp in s lm chuyn mch dng in sau mi v tr ng vi 1/2 chu k. Ch c vn l khi mt ca cun dy song song vi cc ng sc t trng. Ngha l lc quay ca ng c bng 0 khi cun dy lch 90o so vi phng ban u ca n, khi R to s quay theo qun tnh.

- Trong cc my in mt chiu ln, ngi ta c nhiu cun dy ni ra nhiu phin gp khc nhau trn c gp. Nh vy dng in v lc quay c lin tc v hu nh khng b thay i theo cc v tr khc nhau ca R to. 6.ENCODER: iu khin s vng quay hay vn tc ng c th chng ta nht thit phi c c gc quay ca motor. Mt s phng php c th c dng xc nh gc quay ca motor bao gm tachometer (tht ra tachometer o vn tc quay), dng bin tr xoay, hoc dng encoder. Trong 2 phng php u tin l phng php analog v dng optiacal encoder (encoder quang) thuc nhm phng php digital. H thng optical encoder bao gm mt ngun pht quang (thng l hng ngoi infrared), mt cm bin quang v mt a c chia rnh. Optical encoder li c chia thnh 2 loi: encoder tuyt i (absolute optical encoder) v encoder tng i (incremental optical encoder). Trong a s cc DC Motor u dng incremental optical encoder.

Encoder thng c 3 knh (3 ng ra) bao gm knh A, knh B v knh I (Index). Trong hnh 2 bn thy hy ch mt l nh bn pha trong ca a quay v mt cp phat-thu dnh ring cho l nh ny. l knh I ca encoder. C mi ln motor quay c mt vng, l nh xut hin ti v tr ca cp pht-thu, hng ngoi t ngun pht s xuyn qua l nh n cm bin quang, mt tn hiu xut hin trn cm bin. Nh th knh I xut hin
20

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n mt xung mi vng quay ca motor. Bn ngoi a quay c chia thnh cc rnh nh v mt cp thu-pht khc dnh cho cc rnh ny. y l knh A ca encoder, hot ng ca knh A cng tng t knh I, im khc nhau l trong 1 vng quay ca motor, c N xung xut hin trn knh A. N l s rnh trn a v c gi l phn gii (resolution) ca encoder. Mi loi encoder c phn gii khc nhau, c khi trn mi a ch c vi rnh nhng cng c trng hp n hng nghn rnh c chia. iu khin ng c, bn phi bit phn gii ca encoder ang dng. phn gii nh hng n chnh xc iu khin v c phng php iu khin. Khng c v trong hnh 2, tuy nhin trn cc encoder cn c mt cp thu pht khc c t trn cng ng trn vi knh A nhng lch mt cht (lch M+0,5 rnh), y l knh B ca encoder. Tn hiu xung t knh B c cng tn s vi knh A nhng lch pha 90o. Bng cch phi hp knh A v B ngi c s bit chiu quay ca ng c. Hnh di th hin s b tr ca 2 cm bin knh A v B lch pha nhau. Khi cm bin A bt u b che th cm bin B hon ton nhn c hng ngoi xuyn qua, v ngc li. Hnh thp l dng xung ng ra trn 2 knh. Xt trng hp motor quay cng chiu kim ng h, tn hiu i t tri sang phi. Lc tn hiu A chuyn t mc cao xung thp (cnh xung) th knh B ang mc thp. Ngc li, nu ng c quay ngc chiu kim ng h, tn hiu i t phi qua tri. Lc ny, ti cnh xung ca knh A th knh B ang mc cao. Nh vy, bng cch phi hp 2 knh A v B chng ta khng nhng xc nh c gc quay (thng qua s xung) m cn bit c chiu quay ca ng c (thng qua mc ca knh B cnh xung ca knh A).

7.LCD: 1.Hnh dang va kch thc:

21

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

2.Chc nang cua cac chan:

22

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

3.Tap lenh LCD:

23

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

24

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

CHNG II: THIET KE MACH

I.KHI IU KHIN: - Gom 6 nut nhan: Nut UP e tang toc o cho ong c, nut nay noi vi chan RA0 cua VK. Nut DOWN e giam toc o cho ong c, nut nay noi vi chan RA1 cua VK. Nut RIGHT e at chieu quay phai cho ong c, nut nay noi vi chan RA2 cua VK.
25

Huy Duy :SVTH

Trng Ngc Anh :GVHD


2 n Nut LEFT e at chieu quay trai cho ong c, nut nay noi vi chan RA3 cua VK. Nut START/STOP e khi ong hay dng ong c, nut nay noi vi chan RA4 cua VK. Nut MODE e chon che o hoat ong cho ong c, nut nay noi vi chan RA6 cua VK. ong thi co them mot nut nhan RESET mach cho VK S o mach:
+ 5 V

R 9 8 K 2 M C C 1 0 u L 1 R 1 C 1

8 R

K A

2 0 C 1

R 4 8 k 2 R 6 0 u A 1 C

R 5 8 k 2 R 7 A 2 C

R 6 8 k 2 R 8 i A 3 C 1

8 R

k A

7 2 4 C

R 8 8 k 2 R 1 1 0 A 0 u 5

5 0 u

9 0 i

1 0 u

1 0

SW 7

SW 1

SW 2

SW 4

SW 5

SW 6

SW 3

II.KHOI HIEN TH: Dung LCD 16x2 e hien th: 8 ng d lieu cua LCD c noi vi PORTD cua VK 3 chan E, RW, RS lan lt c noi vi 3 chan RB5, RB6, RB7 cua VK

S o mach:

26

Huy Duy :SVTH

Trng Ngc Anh :GVHD


R v 3 _ l c 1d 0 K 1 2

2 n

+ 5 V R R E D D D D D D D D S W 0 1 2 3 4 5 6 7

L 3

L 1 5 G N D

V V V R R E D D D D D D D D A K

S D E S / O 1 2 3 4 5 6 7

S D E W

2DEATH

+ 5 V

III.KHOI X LY: Dung VK PIC16f877a e x ly: Cac PORT cua VK eu c treo len ien tr treo e tr dong. Mach dung thach anh 4MHz
U R 3 E S - P A C K 1 2 3 4 5 6 7 8 9 +5V 1 2 3 4 5 6 7 8 9

R _AK 10
M R R R R R R R C 0 R C 1 R C 2 R C 3 R C 4 R C 5 T X D R X D 0 1 3 2 C A A A A A A L 0 1 2 3 4 5 R

L C

1 6 X 2

P 1 2 3 4 5 6 7 1 1 1 1 2 2 2 2 5 6 7 8 3 4 5 6 M R R R R R R R R R R R R R R O

V C A A A A A A C C C C C C C C S

1 L R 0 1 2 3 4 5 0 1 2 3 4 5 6 7 C / / / / / / / / / / / / / / * / V A N 0 A N 1 A N 2 A N 3 T 0 C A N 4 P P R / V R E F / V R E F K I / C 1R O / S S * /R C R B B R R 0 3 / I 3N B 13 B 23 / P 3G B V 4 3R B 53 T/ P 4G / P GT U / / / / / / / / IP P P P P P P P D R S D D 1 S 2 S 2 S 2 S 2 S 2 S 2 S 3 S 3 4 5 6 7 8 9 0 9 0P 1P 2P 7P 8P 9P 0P P T M E C D 0 1 2 3 4 5 6 7

P C K 2 1 2 1 J 2

L S

I N T C H E

3 - R C / + R B U6 B 2 7O DC DP D D D D D D 0K 1 2 2 3 4 5 6 7

E R R D D D D D D D D

W S 0 1 2 3 4 5 6 7

U 1 2 J 2

A 1 2

T 1 O S O / TR 1 T 1 O S I / C RC C C P 1 R S C K / S C R L S D I / S D AR S D O R T X / C K R R X / D T R 1 / C L K

+ 5 V

R R T R C 4 C 5 X D X D

1 3

U 1 + 5 V C 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 C 1 1 n U R 5 E S - P A C K AB

1 2 R Y S T A C 1 L 2 n

1 4 1 2 3 1

O V V

S S S

C S S

2 / C

I N R E 0 / R R E 1 / W R E 2 / C O U T V V

8 *9 / A N 1* /0 A N * / A N 1 1 D3 2 D

5 7

D D D D

9 8 7 6 5 4 3 2 1 U 4 R E S - P A C K + 5 V

I C

1 6

8 7

7 A

IV. KHOI CONG SUAT:


27

Huy Duy :SVTH

9 8 7 6 5 4 3 2 1

Trng Ngc Anh :GVHD

2 n

Dung kenh A cua IC cau H L298 e xuat tn hieu

ra cho ong c. Dung IC 7414 va 7408 e lam c cau lai oi chieu cho ong c. Thng thng, khi thit k mt mch driver cho motor ngi ta thng dnh 3 ng iu khin l PWM dng iu khin vn tc, DIR iu khin hng v En cho php mch hot ng. Chip L298D c sn ng En nhng 2 ng iu khin In1 v In2 khng tht s chc nng nh chng ta mong mun. V th, chng ta s thit k mt mch logic ph vi 2 ng vo l PWM v DIR trong khi 2 ng ra l 2 ng iu khin In1 v In2. Bng .chn tr ca mch logic cn thit k c trnh by trong bng 1 .Bng 1. bng chn tr ca mch logic cho driver L298D PWM 0 0 1 1 DIR 0 1 0 1 In1 0 0 1 0 In2 0 0 0 1

:T bng gi tr ny, chng ta c th vit hm bool cho 2 ng In1 v In2 (In1=PWM.NOT(DIR In2=PWM.DIR . Mch logic v th s c dng nh trong hnh
C + 5 14 U 9 A + 5 2V 7 7 4 1 4 14 U V 8 A 3 2 7 4 0 8 4 +12V +5V C 3 n f

1 0 0

n f U 9

1 0 0 1 0 2 T 1 3 T 2 1 3 T 3 1 4 T 4

0
I 1 0 I 1 2 I I 6 1 1 E E 1 5 S S 1 VC C 5 7 4 N N N N N N E E 1 2 3 4 VS O O A B G N D N N L 2 8 S S O O A B U U U U

0
2 1

O 2 1 J 2

T - D

0
V 8 B 6

14 4 5

+ 5 U

9 8

7 4

0 8 R 2 1 k

Trong chn RC1 l chn DIR o chiu ng c. DIR = 0: ng c quay tri. DIR = 1: ng c quay phi. RC2 l chn cp xung PWM .
28

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

RC3 l chn EN. EN =1: cho php ng c chy, EN = 0: ng c dng.

CHNG III: THIET KE LU V VIT CODE 1. Gii thiu phn mm CCS vit code v bin dch: - CCS l trnh bin dch dng ngn ng C lp trnh cho VK.

2.

Cac tap lenh c ban trong CCS:

29

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Bit_test ( var,bit):

Setup_CCPx(mode):

Set_CCPx_duty(value):

30

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

3.

Lu o giai thuat: Chng trnh ngt ngoi

:Chng trnh ngt TIMER0:

begin begin
vt = pulse - p_pulse

b=b+1
p_pulse = pulse b = pulse |err = vt t - |vt

END

err_p = err
31

Huy Duy :SVTH END

Trng Ngc Anh :GVHD

2 n :Chng trnh con gii m begin

tram2 = a/100 a = a%100 p_pulse = pulse chuc2 = a/10

donvi2 = a%10

tram1 = f/100

= f%100

chuc1 = f/10

donvi1 = f%10

END

32

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n :Chng trnh chnh

tn nhN edoM

nigeB

ov gn phN tn hN edoM ar ov gn ot ihK tiB 0=EDOM Nhp ng vo EDOM tiB o DIP it yhN

EDOM tiB o

DCL ot ihK LAMRON it yhN iogn tgn ot ihK

0remiT tgn ot ihK


tiB 0=EDOM ,irt uihc hn cM gnd c gn U T :

DIP hC S

L hnh nm aX elihW eurt) )

hnh nm il tB

hc gnh nI LAMRON ac 1 gnh u DCL

MWP ot ihK

hc c gn gnD s gnht pl tiht

33

Huy Duy :SVTH

Trng Ngc Anh :GVHD :NORMAL In hng ch NORMAL u hng 1 ca LCD

2 n

tiB 0=NE

hc gnh nI POTS hc gnh nI NUR

ct nib nI :Ch thng ct nv = a

m iiG

2 gnh u ct nI

34

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Nhn nt Start

Nhn nt Up

Nhn nt Dwn

X0

Delay
Nh nt Start

Delay
Bin tc - 1

Bin tc + 1

S
o bit EN

Bin tc = 5

Bin tc = 0

Bin tc = 4

Bin tc = 1

In Bin tc trn LCD

In Bin tc trn LCD

Nh nt Up

Nh nt Dwn

case

35

Huy Duy :SVTH

Trng Ngc Anh :GVHD


X0
Nhn nt Left

Nhn nt Right

2 n

Nh nt Left

Nh nt Right

DIR = 0
In hng ch LEFT

DIR = 1
In hng ch RIGHT

In bin DIR

In bin DIR

case

Bin tc
1=
Duty = tocdo1 C

Break
2=
Duty = tocdo2

Khng

Break
3=
Duty = tocdo3

Break
4=
Duty = tocdo4 Khng Update duty cho PWM

C Khng

Break

T U

36

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Ch PID

Bit MODE=1

Xa mn hnh LCD, cho hin th li mn hnh LCD

Dng ng c ch thit lp thng s

:PID
Nhn nt Left

Nhn nt Right

X1

Nh nt Left

Nh nt Right

DIR = 0
In hng ch LEFT

DIR = 1
In hng ch RIGHT

X4

T U

37

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

1X

nhN pU tn

nhN nwD tn

2X

yaleD 5 + t tV

yaleD 5 - t tV

t tV 504 =

t tV 59 =

001 = t tV

054 = t tV

t tV = f m iiG ht niHHin th tV :TESSET: Vt tt

t tV = f m iiG ht niH tV :TES t

tn hN pU

tn hN nwD

4X
38

Huy Duy :SVTH

Trng Ngc Anh :GVHD


X2
Nhn nt Start

2 n

Nh nt Start

o BIT EN S

Bit EN = 0 In hng ch STOP

In hng ch RUN

X4 In hng ch CURRENT: Vt tc thi Up = Kp*err Ud = Kd*(err )p_err err_tichluy = err_tichluy + err Ui = Ki * err_tichluy U = Up+Ud+Ui

39

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

|Duty = | U

a = | vt tc thi
| |f = | vt t

Gii m

In hng ch SET: Vt t Update duty cho PWM Nhy v T U

END

40

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

Tnh ton cc khu trong chng trnh

4. Tnh ton cc khu trong chng trnh:


41

Huy Duy :SVTH

Trng Ngc Anh :GVHD


:CCH THIT LP TO PWM ; (Setup_ccp1( mode :Mode CCP_PWM : chn CCP1 lm ch PWM

2 n

CCP_OFF:

tt ch PWM

;(Setup_timer_2( mode,period,potscale

T2_DISABLED, T2_DIV_BY_1, T2_DIV_BY_4, T2_DIV_BY_16 Period: l mt s nguyn t 0 n 255 xc nh gi tr xung clock Postscale: l mt s t 1- 16 xc nh timer trn bao nhiu ln trc khi xy ra ngt Set_ccp1_duty(value) ;

Mode c th l mt trong cc:

:Tnh ton PWM TPWM = [(PR2) + 1] * 4 * TOSC * TMR2 prescale value Chn iu ch tn s PWM 10kHZ, chn b chia 4, thch anh 4MHZ T = 100x10-6 = [(PR2) + 1] x 4 x 1/4.106 x 4 Period = 24 TDUTY = value * T2_div / fOSC :Trong chng trnh ta iu khin 4 mc tc Value = 25 => TDUTY = 25 us. => PWM 25%

Value = 50 => TDUTY = 50 us. => PWM 50% Value = 75 => TDUTY = 75 us. => PWM 75% Value = 100 => TDUTY = 100 us. => PWM 100%
: THIT LP NGT TIMER Enable_ interrupts(global); // kch hot ngt ton cc Enable_ interrupts(int_timer0); //kch hot ngt timer0 ;(setup_timer_0(mode Chn mode : RTCC_DIV_256 ( Thi gian nhp xung : div * (1/ fOSC us 256 = 4.106 / 4*256 Sau 256 us timer0 nhp mt ln, y ta chn thi gian nhp cho VDK lu VDK khng mt .nhiu thi gian cho vic m xung ngt ;(Set_timer0(value ( Time = (256 value) * div * (1/ fOSC Thi gian ly mu: 25ms = 97 * 256 us Value = 256 97 = 159 :Thit lp ngt ngoi ;(enable interrupts(int_ext ext_int_edge (source, edge)

42

Huy Duy :SVTH

Trng Ngc Anh :GVHD


source: 0, 1 hoc 2 trong dng pic 18XXX v 0 trong cc dng khc edge: H_TO_L hoc L_TO_H chn ly cnh ln hay cnh xung ;Trong bi ny ta dng PIC 16f877a nn source = 0 .Nhn xung t encorder ly cnh xung ext_int_edge(0,H_TO_L); :Chng trnh hon chnh to ngt KHOI TAO NGAT// ;(Enable_interrupts(global ;(Enable_interrupts(int_timer0 ;(setup_timer_0(RTCC_DIV_256 ;(set_timer0(61 ;(enable_interrupts(int_ext ;(ext_int_edge(0,H_TO_L *******************************//

2 n

Code chng trnh: #include <16F877A.h> #include <def_16f877a.h> #fuses NOWDT,PUT,HS,NOPROTECT,NOLVP #use delay(clock=4000000) #use fast_io(B) #use fast_io(D) #use fast_io(A) #define E RB5 #define RW RB6 #define RS RB7 #define #define #define #define #define #define #define #define EN RC3 DIR RC4 LCD portd START RA2 tocdo1 tocdo2 tocdo3 tocdo4 25 50 75 100
// nh ngha 3 chn iu khin LCD

// EN: chn cho php C chy. 1: chy 0: dng //DIR: chn iu khin chiu quay. 1: phi 0:tri

//tc c iu ch 25% PWM //tc c iu ch 50% PWM //tc c iu ch 75% PWM //tc c iu ch 100% PWM

int n,m,h,j,k,l,chuc1,donvi1,chuc2,donvi2,tram2,bientocdo=1,tram1; int mode=1,CN=0; int32 pulse=0,p_pulse=0; signed int32 err=0,err_p=0,err_tichluy=0;


43

Huy Duy :SVTH

Trng Ngc Anh :GVHD float int32 int32 u,ud,ui,up; vt=0,vtdat=100,duty,b; a,f;

2 n

const unsigned char dig[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; const unsigned char dig1[]= {'s','e','t',':'}; const unsigned char dig2[]= {'c','u','r','r','e','n','t',':'}; const unsigned char dig3[]= {'N','O','R','M','A','L',' ',' '}; const unsigned char dig5[]= {'L','E','F','T',' '}; const unsigned char dig6[]= {'R','I','G','H','T'}; const unsigned char dig7[]= {'S','T','O','P'}; const unsigned char dig8[]= {'R','U','N',' '}; void CMD() { RS = 0; RW = 0; E = 1; E = 0; delay_us(80); } void WRT() { RS = 1; RW = 0; E = 1; E = 0; delay_us(80); } void giaima() { tram2 = a/100; a = a%100; chuc2 = a/10; donvi2 = a%10; tram1 = f/100; f = f%100; chuc1 = f/10;
44

// chng trnh con truyn lnh cho LCD

// chng trnh con truyn d liu cho LCD

//chng trnh con gii m gi tr vn tc t v vn tc tc thi

Huy Duy :SVTH

Trng Ngc Anh :GVHD donvi1 = f%10; } void chuoi1() { for(n=0;n<=3;n++) { LCD = dig1[n]; WRT(); } LCd = dig[tram1]; WRT(); LCD = dig[chuc1]; WRT(); LCD = dig[donvi1]; WRT(); LCD = ' '; WRT(); LCD = ' '; WRT(); } void chuoi2() { LCD = 0xC0; CMD(); for(m=0;m<=7;m++) { LCD = dig2[m]; WRT(); } LCD = dig[tram2]; WRT(); LCD = dig[chuc2]; WRT(); LCD = dig[donvi2]; WRT(); } void chuoi3()
//chng trnh con hin th hng ch : NORMAL //chng trnh con hin th hng ch : current: vt tc thi

2 n

//chng trnh con hin th hng ch : set: vn tc t

45

Huy Duy :SVTH

Trng Ngc Anh :GVHD { for(h=0;h<=7;h++) { LCD = dig3[h]; WRT(); } } void chuoi5() { for(k=0;k<=4;k++) { LCD = dig5[k]; WRT(); } }
//chng trnh con hin th hng ch : LEFT

2 n

chng trnh con hin th hng ch : RIGHT//

void chuoi6() { for(l=0;l<=4;l++) { LCD = dig6[l]; WRT(); } } void chuoi7() { for(l=0;l<=3;l++) { LCD = dig7[l]; WRT(); } }
chng trnh con hin th hng ch : RUN//

//chng trnh con hin th hng ch : STOP

void chuoi8() { for(l=0;l<=3;l++) { LCD = dig8[l];


46

Huy Duy :SVTH

Trng Ngc Anh :GVHD WRT(); } }

2 n

chng trnh ngt thc hin vic m xung ngoi t encorder //

#int_ext void demxung() { b++; // khi c 1 xung cnh xung chn RB0 th tng bin m xung b ln 1 pulse=b; //gn bin m xung cho bin trung gian pulse tnh ton } #int_timer0 // chng trnh ngt timer thc hin vic tnh sai s void interrupt_timer0() {
// ly s xung tc thi tr s xung trc tnh s xung trong thi gian ly mu tc vn tc tc thi: s xung/50ms p_pulse = pulse; //lu li s xung dng cho tnh ton cho ln sau err = vtdat - abs(vt); // tnh sai s vn tc cho chng trnh PID err_p = err; //lu li sai s vn tc

vt

= pulse - p_pulse;

} void main(void) { SET_TRIS_D(0); SET_TRIS_B(3); SET_TRIS_A(63); SET_TRIS_C(0) ; //KHOI TAO LCD LCD = 0x38; CMD(); LCD = 0x0C; CMD(); LCD = 0x01; CMD(); LCD = 0x06; CMD();
47

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

//******************************* //KHOI TAO NGAT enable_interrupts(global); enable_interrupts(int_timer0); setup_timer_0(RTCC_DIV_256); set_timer0(61); enable_interrupts(int_ext); ext_int_edge(0,H_TO_L); //******************************* DIR = 0; EN = 0; while(1) { setup_ccp1(CCP_PWM); setup_timer_2(T2_DIV_BY_4,24,1); //tan so PWM 10kHZ //*************MODE******************** if(!bit_test(porta,5)) //kiem tra nut mode { delay_ms(50); X0: if(!bit_test(porta,5)) goto X0; mode = !(mode); // co nhan , nha dao bit mode } else if(mode==0) goto NORMAL; else goto PID; //kiem tra bit mode de chon che do hoat dong if(mode==0) //mode=0-->chon che do hoat dong binh thuong { LCD = 0x38; CMD(); LCD = 0x0C; CMD(); LCD = 0x01; CMD();
48

Huy Duy :SVTH

Trng Ngc Anh :GVHD LCD = 0x06; CMD(); LCD = 0x80; //chon hang 1 cua LCD CMD(); chuoi3(); //hien hang chu NORMAL EN = 0; //dung dong co cho thiet lap thong so NORMAL: LCD = 0x80; //chon hang 1 cua LCD CMD(); chuoi3(); //hien hang chu NORMAL if(EN==0) { chuoi7(); } else { chuoi8(); } LCD = dig[bientocdo]; WRT(); a = abs(vt)/5; giaima(); LCD = 0xC0; CMD(); LCD = dig[tram2]; WRT(); LCD = dig[chuc2]; WRT(); LCD = dig[donvi2]; WRT(); if(!bit_test(porta,4)) //nhan START cho phep dong co chay {X3: if(!bit_test(porta,4)) goto X3; EN = !(EN); } if(!bit_test(porta,0)) //nhan nut UP

2 n

49

Huy Duy :SVTH

Trng Ngc Anh :GVHD { X4: delay_ms(200); bientocdo+=1; //tang bien toc do if(bientocdo==5) bientocdo=1; LCD = 0x8C; CMD(); LCD = dig[bientocdo]; WRT(); if(!bit_test(porta,0)) goto X4; } if(!bit_test(porta,1)) //nhan nut DOWN { X5: delay_ms(200); bientocdo-=1; //giam bien toc do if(bientocdo==0) bientocdo=4; LCD = 0x8C; CMD(); LCD = dig[bientocdo]; WRT(); if(!bit_test(porta,1)) goto X5; } if(!bit_test(porta,2)) //neu nhan nut RIGHT { X2: if(!bit_test(porta,2)) goto X2; bit_set(portc,4); //chon chieu quay phai LCD = 0xC9; CMD(); chuoi6(); LCD = dig[DIR]; WRT(); } if(!bit_test(porta,3)) //neu nhan nut LEFT { X1: if(!bit_test(porta,3)) goto X1; RC4= 0; //chon chieu quay trai LCD = 0xC9; CMD();

2 n

//in hang chu RIGHT o hang duoi LCD

50

Huy Duy :SVTH

Trng Ngc Anh :GVHD chuoi5(); //in hang chu LEFT o hang duoi LCD LCD = dig[DIR]; WRT(); } switch(bientocdo) { case 1: duty= tocdo1; break; case 2: duty= tocdo2; break; case 3: duty= tocdo3; break; case 4: duty= tocdo4; break; } set_pwm1_duty(duty); } else if(mode==1) { LCD = 0x01; CMD(); LCD = 0x0C; CMD(); LCD = 0x06; CMD(); EN = 0; //mode=1--> chon che do PID

2 n

//dung dong co cho thiet lap thong so

//***************TINH TOAN PID************************** PID: if(!bit_test(porta,3)) //neu nhan nut LEFT { X6: if(!bit_test(porta,3)) goto X6; DIR = 0; //chon chieu quay trai LCD = 0x89; CMD(); chuoi5(); //in hang chu LEFT o hang tren LCD
51

Huy Duy :SVTH

Trng Ngc Anh :GVHD } if(!bit_test(porta,2)) //neu nhan nut RIGHT { X7: if(!bit_test(porta,2)) goto X7; DIR = 1; //chon chieu quay phai LCD = 0x89; CMD(); chuoi6(); //in hang chu RIGHT o hang tren LCD } if(!bit_test(porta,0)) { X8: delay_ms(100); //nhan nut UP

2 n

vtdat+=5; //tang bien toc do if(vtdat==405) vtdat=100; f = vtdat/5; giaima(); LCD = 0x80; CMD(); chuoi1(); //hien thi set: vtdat if(!bit_test(porta,0)) goto X8; } if(!bit_test(porta,1)) //nhan nut DOWN { X9: delay_ms(100); vtdat-=5; //giam bien toc do if(vtdat==95) vtdat=450; f = vtdat/5; giaima(); LCD = 0x80; CMD(); chuoi1(); //hien thi set: vtdat if(!bit_test(porta,1)) goto X9; } if(!bit_test(porta,4)) //nhan START cho phep dong co chay { delay_ms(50); X10: if(!bit_test(porta,4))
52

Huy Duy :SVTH

Trng Ngc Anh :GVHD goto X10; CN = !(CN); if(CN==0) { LCD = 0xCC; CMD(); chuoi7(); EN = 0; } else { LCD = 0xCC; CMD(); chuoi8(); EN = 1; } }

2 n

LCD = 0x80; CMD(); chuoi1(); LCD = 0xC0; CMD(); chuoi2(); up = 0.005*err; ud = 0.075*(err-err_p); err_tichluy+=err; ui = 0.006*err_tichluy; u = up+ud+ui; duty = abs(u); a = abs(vt)/5; f = vtdat/5; giaima(); LCD = 0x80; CMD(); chuoi1(); set_pwm1_duty(duty); } } }
53

Huy Duy :SVTH

Trng Ngc Anh :GVHD CHNG IV: THI CNG MCH 1.S NGUYN L TON MCH:
+ 5 V 5 V 1 2 J 2 1 2 - D C

2 n

0
1 2 1 2 J 2 1 2 V - D C + 1 2 V

0
+ 5 V

R 9 8 K 2 M C C 1 0 u L R 1 1 C

R 3 8 K 2 R 5 u A 0 C

R 8 R 6 u k A

4 2 1 C 1

R 8 R 7 0 u k A

5 2 2 C 1

R 8 R 8 0 i k A

6 2 3 C 1

R 7 8 k 2 R 9 0 i A 4 C

R 8 8 k 2 R 1 1 0 A 0 u 5

1 0

1 0

SW 7

SW 2

SW 3

SW 4

SW 1

SW 5

0
R v 3 _ lc1d0

0
K 1

SW 6

+ 5 V R R E D D D D D D D D S W 0 1 2 3 4 5 6 7

L 3

L 1 5 G N D

V V V R R E D D D D D D D D A K

S D E S / O 1 2 3 4 5 6 7

S D E W

2DEATH

+ 5

R _AK 10 V

L C

6 X 2

54

Huy Duy :SVTH

Trng Ngc Anh :GVHD


U R 3 E S - P A

2 n
C K 1 2 3 4 5 6 7 8 9 +5V 1 2 3 4 5 6 7 8 9

M R R R R R R R C 0 R C 1 R C 2 R C 3 R C 4 R C 5 T X D R X D 0 1 3 2

C A A A A A A 0 1 2 3 4 5

L R

P 1 2 3 4 5 6 7 1 1 1 1 2 2 2 2 5 6 7 8 3 4 5 6 M R R R R R R R R R R R R R R O

V C A A A A A A C C C C C C C C S

1 L R 0 1 2 3 4 5 0 1 2 3 4 5 6 7 C / / / / / / / / / / / / / / * / V P P B 0 R B R B R B 3 / R E F R - B/ R E FR + B / C R 1 B O 6 U/ S R* /B C 7 2 / R/ T D 1 RC DC R D C LD R R A D R D R D R D 0C 1P 2 3 4 5 6 7 R 3 / I3 13 23 P3 C 43 53 P 4T O P 1 2 2 2 2 2 2 3

P T E C K 2 1 J 2 1

L S

A N 0 A N 1 A N 2 / V A N 3 / V T 0 C K I A N 4 / S

I 3 N4 T C 5 6 G7 M V8 R 9 G0 C GU DT 9 IS 0 S1 S2 S7 S8 S9 S0 S P P P P P P P P 0 1 2 3 4 5 6 7

N H

EE F R W R S D D D D D D D D 0 1 2 3 4 5 6 7

U 1 2 J 2

A 1 2

T 1 O S O T 1 O S I / C C P 1 S C K / S S D I / S D S D O T X / C K R X / D T 1 / C L K R R R

/ KP / 2P / P / P / P / P / P / P

+ 5 V

R R T R C 4 C 5 XD XD

1 3 D D D D

I N E 0 / R E 1 / W E 2 / C O U T V V D D

U 1 + 5 V C 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 C 1 1 n U R 5 E S - P A C K AB

1 2 R Y S T A L C 2 1 n

9 8 7 6 5 4 3 2 1 1 D3 D 1 2 U 4 R E S - P A C K + 5 V 3 0 0 n f O 2 1 J 2 1 2 U T - D C

1 4

8 D 9 * / A N R 1 *0 / A N S * / A N

5 6 7 9 8 7 6 5 4 3 2 1

S S S

C S S

2 / C

1 2 3 1 V V

I C

1 6 F

8 7 7 A

C + 14 U 9 A + 52V 7 4 7 1 4 14 5 V U 8 A 3 7 4 0 8 1 0

+12V

+5V

C 1 U 1 0 T 1 T 2 1 3 T 3 1 4 T 4 3 2

0 n

0
9 I 1 0 I 1 2 I I 6 1 1 E E 1 1 5 S S VC C 5 7 N N N N 1 2 3 4 4 VS O O A B G N D N N L 8 R 1 2 8 S S O O A B U U U U

1 2

0
5 V U 8 B 6 7 4 0

+ 14

N N E E

4 5

9 8

0
2 k

S MCH IN:

55

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

S linh kin:

56

Huy Duy :SVTH

Trng Ngc Anh :GVHD

2 n

PHN III: KT LUN V HNG PHT TRIN:


1.KET LUAN: e tai ieu khien ong c DC bng VK tuy khong la mot e tai mi me va cung khong phai la mot e tai ln, nhng qua o a phan anh c s van dung cac kien thc a hoc mot cach khoa hoc, tinh than lam viec nghiem tuc, s tm toi hoc hoi, nghien cu cac kien thc mi cua em, cung vi s giup va ch day tan tnh cua thay TRNG NGC ANH . 2.HNG PHAT TRIEN : Mach ieu khien nay con nhieu han che , board mach ln, ieu khien c t chc nang cua ong c DC, co the phat trien mach theo hng dung vi ieu khien giao tip my tnh cho gon va de thay oi chc nang. PH LC V TI LIU THAM KHO VI X L 2 NGUYN NH PH- HSPKT TPHCM PROGRAMMIG 8-BIT PIC MICROCONTROLLERS IN C CCS_C PROGRAMMING

57

Huy Duy :SVTH

You might also like