Bai Giang Ky Thuat Robot

Embed Size (px)

Citation preview

  • 7/23/2019 Bai Giang Ky Thuat Robot

    1/59

    1

    U Ban Nhn Dn Tnh Qung NamTrngCao ng Kinh T - K Thut Qung Nam

    Bi ging: Kthut robot

  • 7/23/2019 Bai Giang Ky Thuat Robot

    2/59

    2

    Chng 1: GII THIU VROBOT CC MODUL CA ROBOTBi ny sgii thiu cho cc bn mt cch tng quan vrobot v cc modul ca

    robot cngnhmt skinh nghim khi lm robocon.1.1. Gii thiu vrobot

    1.1.1. Nhng hnh nh vrobot trong cc cuc thi robocon

    Hnh 1.1.BK-FIRE 2005 (Robot tng)

    Hnh 1.2. BK-FIRE 2005 (Robot bng tay)

  • 7/23/2019 Bai Giang Ky Thuat Robot

    3/59

    3

    Hnh 1.3. FXR 2004 (robot tng)

    Hnh 1.4. BKPRO2006

  • 7/23/2019 Bai Giang Ky Thuat Robot

    4/59

    4

    1.1.2. Cc modul trong robotTrong robocon, c 2 loi robot l robot t ng v robot iu khin bng tay.

    Robot bao gm 3 phn chnh: Ckh, mch in tv lp trnh.+ Ckh:

    Phn ny bao gm cc kt c c kh carobot. Phn ny mi nm u thay ituthuc vo thi. y chnh l phn th hin tng ca bn. Khi c mt tngc o, mt kt cu c kh tt, bn sc nhiu c hi dnh chin thng. Trong cucthi robocon, tng ng vai tr rt quan trng. Do , khi thit kc kh, ton icn phi hp bn k lng a ra mtgii php thit kckh tiu nht. thitk c kh, cc bn c thdng cc phn mm thit kckh chuyn dng nh Solidwork, Autocad.

    .

    Hnh 1.3. Ccu bnh xch

    Hnh 1.4. Ccu kh nn

  • 7/23/2019 Bai Giang Ky Thuat Robot

    5/59

    5

    C cu kh nn c BK-FIRE s dng u tin trong cuc thi robocon 2005.T ,ccu ny crt nhiu i s dng v rt thnh cng nhFAS-01, BK-FIRE (2006).+ Mch in t:

    Mch in t trong robot ng vai tr nh nhng mch mu trong mt c thngi. N ng vai tr kt ni ton bnhng b phn khc trong robot thnh mt ththng nht.

    Mch in ttrong robot bao gm cc phn chnh:- Mch vi iu khin (8051, PIC, AVR) ng vai tr nh b no ca robot iu

    khin ton bhot ng ca robot theo chng trnh lp sn.- Mch sensor ng vai tr nh cc gic quan ca robot gip robot nhn dng

    mi trng xung quanh gitn hiu vvi iu khin.- Mch cng sut iu khin ng c, dng iu khin cc ccu ca robot.- Mch chin thut thi u cho php ngi sdng c thtu la chon chin thut

    khi trn sn thi u.

    Hnh 1.5. Mch in ttrong robocon (FXR)

  • 7/23/2019 Bai Giang Ky Thuat Robot

    6/59

    6

    Hnh 1.6. Mch robot (BK-PRO 2006)

    + Lp trnh:Chng trnh trong robot ging nh b no ca mtc thngi, robot ch hotng c khi c chng trnh ci t sn cho n. Cc chin tht thi u, ng chyca robot l do ngi lp trnh qut nh. Hai ngn ng c s dng nhiu trongrobocon l C v ASM. Tuy nhin, ngn ngC c sdng nhiu nht v C c cutrc ddebug li v c bit thun tin lm nhngchng trnh ln(Cc chng trnhtrong robocon rt phc tp).

    mt robot c thhot ng tt, cn phi c sphi hpcht chgiacc phnckh, mch v lp trnh. Nu mt bphn khng tt, th robot s khng hot ng c.

    1.2. Mt skinh nghim khi tham gia robocon.1.2.1. Tchci hnh.

    Mt i robot bao gm 7 n 10 ngiv thng cchia thnh 3 nhm:- Nhm ckh: Thit k, gia cng ckh (3-4 ngi).- Nhm mch in t: Thit klm mch cho robot (2-3 ngi).- Nhm lp trnh: Lp trnh, test robot (3 ngi)

  • 7/23/2019 Bai Giang Ky Thuat Robot

    7/59

    7

    Chng 2: MCH IU KHIN ROBOT BNG TAY

    2.1. Gii thiuRobot iu khin bng tay l mt phn khng th thiu c trong robocon.

    Trong mt strn , robot bng tay c vai tr htrcho robot t ng. i khi, robotbng tay gip thay i ccdin trn sn. Mch iu khin robot bng tay phn lnlmch relay iu khin ng c.2.2. Chc nng camch iu khin bng tay

    Mch iu khin bng tay dng iu khin cc ng c ca robot bng tay.Vic iu khin ng cbao gm cc chc nng sau:- iu khin ng cquay ngc (robot li)- iu khin ng cquay xui (robot tin)- Dng ng c (dng robot)Relay cdng trong robot bng tay l loi relay OMRON, dng ln.

    Hnh 2.1.Role omron

    2.3. Nguyn tc hot ng mch iu khin robot bng tayMch ny sdng 2 relay iu khin 1 ng c, cp ngun cho relay th1 th

    ng cquay phi, cp ngun cho relay th2 th ng co chiu.Smch iu khin bng tay:

  • 7/23/2019 Bai Giang Ky Thuat Robot

    8/59

    8

    Bn thit kmt mch iu khin s dng cc nt bm ng m cc relay, mchrt ngin v hiu qu. Tuy nhin, lm nh vy skhng thm m v bt tin. Do bn c th thit kb iu khin bng gamepad PS2 iu khin. (Phn ny c thamkho ti liu trn mng)

    Gamepad cho Robot iu khin bng tay chia lm 2 loi: iu khin t xa bnghng ngoi v iu khin qua dy cp. Nu dng cc mch thu pht hng ngoi thngthng th tnh nnh khi thi u khng cao, tt nht nn dng Vi xl (VXL) thupht theo tn s ring ca mnh (nh POL chng hn). iu khin qua dy cp mang tnhn nh rt cao, y chng ti cp ticch sdng gamepad qua dy cp.1. Sdng gamepad playstation caSONY.

    Kt ni trctip vo Vi xl. Rt gn khi thit kphn cng, tuy nhin chng tann km theo nt Reset VXL trn gamepad tng tnh n nh. y l phng phpsdng ca i FXR.2. Ci tophn mch ca 1 gamepad bt k:

    Trong mch ca cc gamepad bt k, cc nt nhn cthit knhl cc cng tc

    hnh trnh (tc l c 1 im chung ni mass).+ Ct bng mch in ni cc nt nhn viphn iu khin ca gamepad.+ Sdng cc nt nhn nhl cc cng tc hnh trnh c lp.

    a. Truyn ni tip :

    Theo cch xl ny chng ta chs dng cp 4 si: +5v, mass, TXD, RXD.Cch x l ny vn cha n nh tuyt inhng sdng t Port VXL. Nn km

    theo nt Reset VXL trn gamepad tng tnh n nh. y l phngphp Basic Bot sdng nm 2003 v 2004.b. Truyn song song:

    Thccht ta ni tt ccc nt nhn xung thng mch iu khin, khi cc ntnhn ng vai tr nh l nhng cng tc hnh trnh. Phng php ny rt n nh, tuy

    nhin nhc im l rt tnPort VXL (mi nt nhn ng vi1 Port).

  • 7/23/2019 Bai Giang Ky Thuat Robot

    9/59

    9

    Cch khc phc nhc im trn: Sdng mch dn knh 16 sang 1.

    Phng php ny gim bt c ng k s lng Port VXL, tnh n nh cao.Thit k mch robot bng tay kiu bn t ng c FXR s dng trong cuc thirobocon 2004 rt thnh cng (ot chcv ch ).

  • 7/23/2019 Bai Giang Ky Thuat Robot

    10/59

    10

    Chng 3: MCH CM BIN D NG

    3.1. Gii thiuBi hc ny gii thiu v mch cm bin trong robocon. Mch cm bin ng

    vai tr nh mt ca robot gip cho robot c kh nng nhn bit c mi trngxung quanh (vch trng, chng ngi vt) tc bin php xl.Trong mch cm bin, cc bn c th s dng cc loi led thu pht hng ngoi

    hoc quang tr. Led thu pht hng ngoi c gi thnh r(2500 /cp).

    Hnh 3.1.Sensor hng ngoi.i vi robot cng nghip, bn c th sdng nhng loi cm bin cng nghip

    cacc hng Omron, hay Siemens. Cc loi cm bin ny c nhy cao v khnngchng nhiu tt. Tuy nhin gi thnh rt t (hng trm ), cho nn sdng chng trongrobocon th khng ph hp. Bn hon ton c thtchto mch sensor cho mnh.

    Hnh 3.2. Mtssensor dng trong cng nghip

  • 7/23/2019 Bai Giang Ky Thuat Robot

    11/59

    11

    -

    2

    -

    2

    3.2. Mch sensor pht thng.3.2.1. Snguyn l

    C DV 05 2

    P

    R44

    R

    C DV 05 2

    P

    R44

    R

    D7

    LED

    D7

    LED

    U11A2

    2 1

    1 74LS14 31

    U11F

    74LS14

    U11A2

    2 1

    1 74LS14 31

    U11F

    74LS14

    R43 R C31 CAP NP

    GND

    R43

    RC31 CAP NP

    GND

    U10A

    1

    U10A

    1

    4 11 4 11

    LM324BIEN_TRO_1

    LM324BIEN_TRO_1

    _ _NI NI

    3.2.2. Smch in

  • 7/23/2019 Bai Giang Ky Thuat Robot

    12/59

    12

    +

    3.2.3. Nguyn l hot ng.Trong snguyn l trn, cp led thu pht c t st nhau, mt chn ca led

    thu c a v LM324. LM324 l IC khuch i so snh, mc ch khuych i tn hiut sensor. Tn hiu ra t LM324 ca v IC 7414 (Triger inverter) o mc tnhiu, tn hiu ra c a vo chn ca vi iu khin. Chit p ng vai tr chnh nhy ca sensor, n led c tc dng bo hiu khi sensor gp vch trng.

    Khi hot ng, led pht chiu tia hng ngoi xung sn thi u, khi chm tiahng ngoi chiu xung nn en, led pht khng nhn c chm phn x nn khngdn, in trbng v cng, tn hiu ra LM324 l mc1, qua 7414 bo mc tn hiuv 0 (led bo sang, tn hiu vo vi iu khin l mc 0). Tng t, khi robot gp nntrng, mctn hiu ngc li, led bo tt, tn hiu vo vi iu khin mc1.3.1.4. unhcim

    Mch sensor pht thng c u im l n gin, d ch to, tit kim chi ph.

    Tuy nhin, nhcim ca mch sensor pht thng l khnng chng nhiu km. Khitrn sn thi u, nh sng n cao p s nh hng n kh nng hot ng ca sensor.Do , sensor phi c che chn k lng khi nh hng n kh nng hot ngca sensor (t trong hp kn hoc bcbng dnh en cc sensor).

    3.3. Mch sensor pht xung

    c im ca mch sensor pht xung l kh nng chng nhiu tt, khngb nh hng bi cc iu kin bn ngoi nhnh sng. Tuy nhin, mch pht xungc nhc im l phc tp, khng tin li.

    5VVDK

    C1.11nF

    5VVDK

    U1A

    4

    22K

    R3.1

    5VVDK

    RLED1

    2.2K

    LED1

    THU13

    12 LM324

    412

    +

    U1D

    14

    R1.122K

    R2.1

    100K

    -

    COMPA1

    104

    13 LM324-

    VDK1

    1 C2.1 COMPB 11

  • 7/23/2019 Bai Giang Ky Thuat Robot

    13/59

    13

    Trn thc t, trongcc cuc thi robocon a s cc i s dng mch sensor phtthng. Biv mch sensor pht thng tng i ngin, dsdng.

    3.4. Btr sensorTrn robot, v nguyn tc, s dng nhiu sensor th kh nng bm ng cng

    tt. Tuy nhin, trn thc t bn ch cn s dng 6 n 8 sensor l . Cch b trsensor s tu thuc vo tng v cht lng cc loi ng c bn s dng trongrobot. Xin giithiu 2 phng php btr sensor trn robot.a) Sdng 6 sensor xp thnh hng ngang.

    | || | Vch trng| |

    O O |O O| O O (sensor)1 2 3 4 5 6

    Cch ny thch hp i vi vic s dng cc loi ng c c hm tt, quayng t quay bng 1 bnh (bnh quay, bnh dng). Trong cch b tr ny, sensor2,3,4,5 c sdng bm ng, hai sensor ngoi cng 1 v 6 c dng mng t v quay phi, quay tri. Phng php btr sensor ny c FXR sdngnm 2004 v ot chcv ch.

    b) Sdng 8 sensor| || | Vch trng| |

    O O |O O| O O (sensor)2 3 4 5

    | || |

    O O

    Cch ny thng c p dng vi cc loi ng cc hm km, quay ng tbng 2 bnh (2 bnh quay ngcchiu nhau). s trn, 2 sensor c lp pha dica robot bt ng t, cn 6 sensor pha trn dng bm ng. y l cch mBK-FIRE s dng trong cuc thi robocon nm 2005.

    3.5. Cng tchnh trnhCng tc hnh trnh c s dng kh nhiu trong robocon. Cng tc hnh trnh

    thng c lp t cc c cu pha trn, nh c cu truyn ng, gp qu, bbng.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    14/59

    14

    Hnh 3.3. Cng tc hnh trnh

    Cng tc hnh trnh c 3 chn: dng thng ng, thng m.Mt chn tn hiuc ni t hoc VCC, mt chn c ni vivi iu khin.

    Trong robocon, vic btr cng tc hnh trnh cn phi linh hot, kho lo phthuy ti akhnng nhn bit carobot.

    3.6. Encoder

    Mt cng nghmi c mt si robot p dng trong nhngnm gn y lsdng cc bencoder .C sca phng php ny l s dng c tnh di qung ng ic v sai

    schuyn ng giahai bnh ca ng c nhkhai thc tnh cht ca bm ho xungvng quay (Rotary encoder).

    Bencoder thc cht l mt a c c lc gn cp sensor thu pht 2 bn. Bencoder c gn trn bnh xe hoc trn ng ccarobot.

    Nguyn tc hot ng caencoderGm mt b thu pht hng ngoi v mt a cho chia l c t gia h

    thng thu pht ny. a c gn trn trc ca ng c hoc trc chuyn ng.Qutrnh achuyn ng lm cho phn photo sensor thay i trng thi v to ra mt chui

  • 7/23/2019 Bai Giang Ky Thuat Robot

    15/59

    15

    cc xung vung trn u ra. y l thng s k thut quan trng ca mt encoder. Tutheo sltrn a m sxung to ra trong mt vng quay caa khc nhau. S lngxung cng lnngha l s l cng nhiu trn mt vng trn 360. Ngha l ta cng c thiu khin chnh xc. V d nhin b encoder cng t tin. Chng ta c th thy cnhiu loi encoder dng t trng hoc trn a c nhiu vng l nhng ti gii thiu loiphdng v n gin nht l s dng nh sng nh trn. Trong thc t chng ta c ththy cc b encoder trn cc ng c DC ch khng ch l cc thnh phn c lp.Vic la chn v s dng hai loi encoder ny u c nhng uv nhc im ringm ti khng cp y. Hnh dng cc encoder :

    Khi robot mundch chuyn theo mt quo xc nh cn cn c vo hai trngthi cbn l qung ng i c ca hai bnh (tham chiu vi chng trnh, vhng chuyn ng), Sai squng ng giahai ng c.

    Phng php ny thhin c tnh rt mm do khi phi chuyn hng v c thxoay robot mt gc bt k ra khi quo chnh.

    Encoder thng c 6 dy (hoc 4 dy ty loi ) bao gm 2 dy ngun, 2 dy tnhiu A v B v dy pha Z.2 dy tn hiu A v B cho php bn xc nh s vng quay cang c, vn tc v chiu quay ca ng c. lp trnh x l tn hiu encoder, bn c thni 2 dy tn hiu A v B vo 2 chn timer hoc ngt ngoi ca vi iu khin, thit lp vi

    iu khin ch counter, vi iu khin sm xung tvi iu khin.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    16/59

    16

    Bn c ththam kho code diy:

    void ngat0(void) interrupt 1 // ngat bo dinh thoi 0{

    if (kt0==0) // bit nay set de dung trong luc quay va di lap ma{

    P1_2=1; P1_3=1;P1_0=1; P1_1=1;

    }

    if (kt0==1) // bit nay xoa de bam xung dinh thoi new{TR0=0;if (dem_trai==tocdo_trai)

    { P1_2=~P1_2;tocdo_trai=10-tocdo_trai;dem_trai=0;}dem_trai++; TR0=1;

    }

    if (kt0==2) // dung cho bamxung quay{TR0=0; TH0=0xFF;TL0=0x47; d2++;TR0=1;}

    }// quay dung bo lap ma

    void quayphai(unsigned char bytecao,unsigned char bytethap){TMOD=0x55;// dem su kienP1_2=1; P1_3=0;P1_0=0; P1_1=1;delay(500); P1_0=1;kt0=0;// bit nay set de chuong trinh ngat kiem tra lua chon TH0=bytecao; TL0=bytethap; // 230

    XUNG TR0=1;while(1)

    {if (P1_3==1) break;

    }}

  • 7/23/2019 Bai Giang Ky Thuat Robot

    17/59

    17

    void ngat1(void) interrupt 3 // ngat bo dinh thoi 1{

    if (kt1==0) // dung de di lap ma{

    P1_0=1; P1_1=1;

    P1_2=1; P1_3=1;}

    if (kt1==1) // bam xung dinh thoi kieu moi {TR1=0;if (dem_phai==tocdo_phai){ P1_0=~P1_0;tocdo_phai=10-tocdo_phai;dem_phai=0;}dem_phai++; TR1=1;

    }}

    // quay dung bo lap ma

    void quaytrai(unsigned char bytecao,unsigned char bytethap){TMOD=0x55; //khoi dong bo dinh thoi dem su kien kt1=0;P1_0=1; P1_1=0;P1_2=0; P1_3=1;delay(500); P1_2=1;TH1=bytecao;TL1=bytethap; TR1=1;

    while(1){if (P1_1==1) break;

    }}

    void quay(unsigned char status ,unsigned char bytecao ,unsigned char bytethap){

    if (status==turn_right)

    quayphai(bytecao,bytethap);if (status==turn_left)

    quaytrai(bytecao,bytethap); }

    void delay (unsigned long time)

  • 7/23/2019 Bai Giang Ky Thuat Robot

    18/59

    18

    {unsigned long i;for (i=0;i

  • 7/23/2019 Bai Giang Ky Thuat Robot

    19/59

    19

    Chng 4: MCH CNG SUT IU KHIN NG C4.1. ng c.

    ng cc sdng trong robocon l loi ng c1 chiu (DC motor).

    Hnh 4.1. ng c1 chiu

    Vic lachn ng ccn cvo cc tiu ch sau:- Tc - Khnng chuti- hm- Dng ,p

    i ving cdng cho ccu chuyn ng (phn ca robot) yu cu t ra lphi c tc nhanh v c hm tt. ng cthng c s dng phn ny l loi

    ng cpitman.Ngoi ng c pitman, bn c th s dng cc loi ng c khc, min l t

    c cc tiu ch nu trn. Bn c ths dng ng c vung thobnh rng. yl ccm BK-FIRE s dng trong cc thi robocon2005, bng cch ny,robot ca BK-FIREt c tckh cao.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    20/59

    20

    Hnh 4.2. ng cpitman.

    i vi ng c dng cho c cu nng h, gp qu (phn trn) yu cu phi ckhnng chu ti, kho. Loi ng c thng c s dng l loi ng c gt nchoc ng cc hp iu tc. c im ca loi ng c nyl tc khng cao nhnglcquay rt khoc th chu ti ln. Trong nm 2005, cc i robocon BK-Nng sdng ng cny cho robot trung tm v t hiu qurt cao.

    Trong mt s trng hp, robot cn phi c tc ccnhanh. V d nm 2005v 2006, cc robot trung tm phi c tc c bit nhanh (trong vng 1,5s-2s phichim lnh c uc trung tm). gii quyt vn ny, mt s i s dng

    ng cxe my cho robot trung tm. ng cxe my c dng ln v tc rtnhanh. Tuy nhin vi loi ng c ny th cc mch cng sut khng th iu khinc. gia tng tc , bn c thlp t ccu xch cho robot ca mnh.

    4.2. Mch iu khin ng c4.2.1. Mch relay4.2.1.1. Snguyn l

  • 7/23/2019 Bai Giang Ky Thuat Robot

    21/59

    21

    DC1_DIR

    R2024VDC

    Q62N1470

    LS1 J16

    ROLE1_ON R

    24VDC

    8 124VDC 6 2

    74

    DC2_DIR

    R19

    Q52N1470

    TRAN1_ON3 5

    ROLE1_ON1

    CON2

    ROLE2_ON R GND 2

    DC1_EN

    TRAN1_ON

    R30

    R

    TRAN2_ON

    GND

    Q1IRF540N/TO

    24VDC

    TRAN2_ON

    ROLE2_ON

    GND

    20-2121-DPDT

    LS2

    86

    74

    35

    12

    J17

    12

    CON2

    DC2_ENR29

    GND

    Q2IRF540N/TO 20-2121-DPDT

    R

    4.2.1.2. Nguyn l hot ng.Loi relay c sdng trong mch robot tng l loi relay 8 chn (2 tip

    im). Mch relay iu khin ng csdng 2 tn hiu iu khin. Chn DC_EN vchn DC_DIR, chn DC_EN l chn kch FET (ng m FET) chn DC_DIR l chno chiu. Tuy nhin, trc khi o chiu ng cbn phi tt FET trc, nu khngsgy cht FET.

    4.3. Mch cu H iu khin ng c4.3.1. Snguyn l

  • 7/23/2019 Bai Giang Ky Thuat Robot

    22/59

    22

    1

    5V

    4 U1A

    5V

    5VR011KOpto1.1

    4

    +12V

    RCH1.510K

    QCH1.1

    RCH1.610K

    NGUON5V

    4321

    13

    2

    74LS00

    7

    112

    13

    74LS007

    U1D PS2501-1

    11

    MCH1-

    MTP60P06QCH1.3MTP60P06

    MCH1+

    2MCH1+

    MCH1-

    CON4 5V 5V5V

    OUT1

    41

    5V

    5

    74LS007

    U1B

    6 419

    10

    74LS007

    R021K

    U1C PS2501-1

    8MTP60N06

    QCH1.2

    RCH1.810K

    QCH1.4

    MTP60N06

    RCH1.910K

    -12V +12V

    NGUON12V

    12

    CON2

    -12V

    4.3.2. Smch in

    4.3.3. Nguyn l hot ngMch cu H iu khin ng c s dng 4 MOSFET IRF540 khuch i cng sut

    v ng m.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    23/59

    23

    Hnh 4.4. IRF 540

    Mosfet l loi transitor hiu ng trng (MOSFET = metal-oxide semiconductorfield-effect transistor) MOSFET l m hnh ngundng ph thucp. Nh vy kchdn MOSFET cn ain p vo hai cc Vgs. Mt im khc ca MOSFET na lMOSFET c Vds khng n nhnh Vce (BJT) m n ph thuc vo gi tr n nhkhc l Rds-on ( ch ng ngt). Nhvy Vds = Id*Rds. Nh vy cng sut tiutn trn MOSFET chyu phthuc vo Rds.

    C hai loi MOSFET knh P v knh N.Loi knh N thng c Rds nhhnknh P.Loi knh N cn Vgs > 0 dn.Loi knh P cn Vgs < 0 dn.

    ascc MOSFET bt u dn khi abs(Vgs) xp x5. Thng gi tr khuyn col 10V. Khi in p ln hn15 bt u c nguy cnh thng Vgs. Kh nguy him lkhi b thng MOSFET thng dn lun dn n d n. Trong m hnh ca MOSFETc mt ci t k sinh t gi l Cgs cn quan tm n tny khi thit kmch li sdng PWM. Khi lm Robot thng dng con IRF540 li ng cDC hoc dng mchcu IRF540 iu khin hng (Mc d cch iu khin ny rt kh).

    Mch cu H iu khin ng c c 2 tn hiu iu khin. 2 chn tn hiu nac ni vi2 chn vi iu khin.

    Gi s 2 tn hiu iu khin l A,B (tng ng 2 chn P1.0 ,P1.1). iu khinng c DC c cc trng thi iu khin: ng c quay, o chiu, dng v iukhin tc ng c.

    Ta c bng trng thi:

    P1.0 P1.1 Trng thi1 0 ng cquay xui0 1 ng cquay ngc

    1 1 Dng ng c

  • 7/23/2019 Bai Giang Ky Thuat Robot

    24/59

    4.3.4. M ngun iu khin ng c#include #include unsigned char dutycycle=0 ;

    /*P2_0 P2_1 : dieu khien dong co nang haP2_2 P2_3 : dieu khien dong co lay bong

    */void motor( unsigned char status){

    switch (status){

    case nang:

    {P2_0=1; P2_1=0;break;

    }

    case ha:{

    P2_0=0; P2_1=1;break;

    }case dung:{

    P2_0=1; P2_1=1;break;

    }}

    }

    void motorkep(unsigned char state){

    switch (state){

  • 7/23/2019 Bai Giang Ky Thuat Robot

    25/59

    case kep:{

    P2_2=0; P2_3=1;break;

    }

    case nha:{P2_2=1; P2_3=0;break;}

    case phanh :{

    P2_2=1; P2_3=1;break;

    }

    }}void delay ( unsigned char time){

    unsigned char i;

    for ( i=0; i

  • 7/23/2019 Bai Giang Ky Thuat Robot

    26/59

    if (dutycycle==255) break;;

    }

    }

    void nangchamdan(unsigned char Time1,unsigned Time2){

    unsigned char x,y;

    for (x=0;x

  • 7/23/2019 Bai Giang Ky Thuat Robot

    27/59

    nang nhanh dan

    // chang 2 : nang het toc luc

    motor(nang);delay(100);

    // chang 3 : nang cham dan

    nangchamdan(100,100); motor(dung);

    delay(100);motorkep(phanh);/* trang thai nha bong

    khi P0 cua slaver nhan tin hieu dieu khien tu master thi trangthai nha bong hoat dong

    */

    nhabong(100);

    while(1){motor(dung);motorkep(phanh);}

    // P0=0xFB;}

    /* bo qua thu 1 */

    4.3.5. Kthut iu chrng xung iu khin tc ng c(PWM)iu khin tc ng c l mt kthut ht sc quan trng trong vic lp trnh

    robot. K thut ny gip bn c thiu khin robot ca mnh chy nhanh chm tu ,gip cho hot ng ca robot lun linh hot, thch ng vi mi tnh hung xy ra trnsn.a) Cch to xung c rng thay ibng VK.

    Cch 1: Nh cc bn iu khin nhp nhy 1 con led, l to ra 1 xung 1 chnca vi iu khin, nhng xung c rng cnh, tn s ln, cch bn c thiuchnh li hm delay tn scan ng 1 Khz. Tuy nhin v l dng hm delay nntrong thi gian c xung ln 1(5V) v thi gian khng c xung(0V) vi iu khin khnglm g c, hnnato xung bng vic delay m cc bn c nhu cu cn 2 bpht xung 2 knh, c cng tn s m khc rng xung th tr nn rt kh khn. Cho nnchng ta dng bnh thiTimer ca vi iu khin trong trng hpny rt tin.

    Cch 2: Dng ngt Timer ca bvi iu khin. Trc ht nhc li vngt ca vi iu

  • 7/23/2019 Bai Giang Ky Thuat Robot

    28/59

    khin:+ Ngt l g ? trlicu hi ny ti xin trch an v ngt trong bi 2 v dchongt timer:

    Timer Program excution without interrut

    Main Program

    ISR ISR ISR

    * ** * ** * **Main Main Main Main

  • 7/23/2019 Bai Giang Ky Thuat Robot

    29/59

    29

    Mt chng trnh chnh khng c ngt th chy lin tc, cn chng trnh c ngtth ckhi no iu kin ngt c m bo th con trsnhy sang hm ngt thchinxong hm ngt li quay vng chcthchin tip chng trnh chnh. Ti c 1 v dnhsau: Bn ang n cm,c ting in thoi, bn t bt cm ra nghe in thoi, nghexong li quay vbng bt cmln n tip. Th qu trnh n cm ca bn l chng trnhchnh, c in thoi gin l iu kin ngt, bn ra nghe in thoi l thc hin chngtrnh ngt (Interrupt Service Rountine), quay vn cm tip l tip tc thc hin chngtrnh chnh.

    Ngt i vingi mihc vi iu khin l rt kh hiu, v a s ccti liu ukhng gii thch ngt lm g. C nhiu loi ngt khc nhau nhng tt cu cchung 1 c im, ngt dng cho mc ch a nhim. a tc l nhiu, nhim tc lnhim v.Thchin nhiu nhim v.

    Cc bn nhn vo tin trnh ca hm main vichng trnh c ngt :Chng trnh chnh ang chy, ngt xy ra, thc hin hm ngt ri quay li chng

    trnh chnh. Chng trnh trong vi iu khin khc vi v dn cm nghein thoi ca

    ti ch, thi gian thc hin hm chnh l rt ln, thi gian thc hin hm ngt l rtnh, cho nn thigian thchin hm ngt khng nh hng g n thi gian thc hinhm chnh Nhvy trong hm ngt cc bn lm 1 vic, trong hm chnh ca bn lm 1vic nhvy coi nhcc bn lm c 2 vic (a nhim) trong 1 qung thi gian tngi ngn cmS, ch thc ra ti 1 thiim vi iu khin chthc thi 1 lnh.

    V d:Bn thnghxem lm thno va iu chxung PWM iu chnhtcng c, vac cc cm bin u vo m tc ng c ph thucu vo cmbin.

    Vy ngt l 1 iu kin no xy ra ngu nhin m vi iu khin c thbit do

    phn cngcavi iu khin, ri ta cn c vo lp trnh.* V d: Vi ngt bnh thi timer, hay bm counter l khi trn bm thphn cngca vi iu khin sbo c ngt xy ra v nhy n chng trnh phcvngt( ISR_ Interrupt Sevice Rountine) 1 cch tng.

    Vi ngt ngoi, chn P3.2 chng hn, nu ta khai bo trc chn s dng chnP3.2 s dng cho ngt ngoi chkhng phi sdng cho mc ch IO thi ckhi c 1xung xut hin t mch ngoi vi truyn vo chn P3.2 th phn cng ca vi iu khinnhn ra v chuyn ti chng trnh phc vngt.

    Vingt ni tip th c khi c k t truyn t my tnh xung vi iu khin th schin tng ngt xy ra.

    Hm ngt: Cu trc:Void Tnhm(void) interrupt ngunngt using bngthanhghi{// Chuong trinh phuc vu ngat o day}

    Ch vhm ngt:+ Hm ngt khng c php trli gi trhay truyn bin vo hm.+ Tn hm bt k.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    30/59

    30

    + interrupt l tkha phn bit hm ngt vihm thng.+ Ngun ngt t0 ti 5 theo bng vector ngt.+ Bng thanh ghi trn ram chn t0 n 3.

    Ty theo bn vit hm ngt cho ngun no bn chn ngun ngt tbng sau:

    Ngt do C achvectorReset hthng RST 0000HNgt ngoi 0 IE0 0003H

    Bnh thi 0 TF0 000BHNgt ngoi 1 IE1 0013H

    Bnh thi 1 TF1 001BHPort ni tip RI hoc TI 0023H

    Bnh thi 2 TF2 hoc EXF2 002BH

    Ring ngt Reset khng tnh, bt u m t0 v tngt ngoi 0. V d:ti cn

    vit hm ngt cho bnh thi timer 1 hm ngt s l. void timer1_isr(void) interrupt3 using 0{// Lenh can thuc hien.}

    Vusing 0: C 4 bng thanh ghi bn c thchncho chng trnh phcv ngt,ci ny cng khng quan trng. Trong hm ngt cc bn c thbit using 0, khi vi iu khin stsp xp l dngbng thanh ghi no.

    Hm ngt khc hm bnh thng chno. Hm bnh thng v dhm delay, ckhi bn gin th n sc thchin, c ngha l n c vtr c nhtrong tin trnh

    hm main, c ngha l bn bit n xy ra khi no. Cn hm ngt th khng c tin trnhcnh, iu kin ngt c thxy ra bt k lc no trong tin trnh hm main v ckhino c iu kin ngt th hm ngt sc gi tng.

    sdng ngt ta phi lm cc cng vic sau:1) Khito ngt: dng ngt no th cho php ngt hot ng bng cch gn gi

    trtng ngcho thanh ghi cho php ngt IE( Interrupt Enable):EA ET2 ES ET1 EX1 EX0 ET0

    iu khin cc ngunngtIE (0: khng cho php; 1: cho php)

    IE.7 EA Cho php/ khng cho php ton cc

    IE.6 --- Khng sdngIE.5 ET2 Cho php ngt do bnh thi2IE.4 ES Cho php ngt do port ni tipIE.3 ET1 Cho php ngt cho bnh thi1IE.2 EX1 Cho php ngt tbn ngoi (ngt ngoi 1)IE.1 EX0 Cho php ngt tbn ngoi (ngt ngoi 0)IE.0 ET0 Cho php ngt do bnh thi0

  • 7/23/2019 Bai Giang Ky Thuat Robot

    31/59

    31

    IE l thanh ghi c th x l tng bt. V d: bn mun cho php ngt timer 1 bndng lnh: ET1=1; Khng cho php nabn dng lnh: ET1=0; Hoc bn c thdnglnh IE= 0x08; th bit 3 ca thanh ghi IE tc(IE) sln 1. Nhng cch thnht tin hn.

    2) Cu hnh cho ngt: Trong 1 ngt n li c nhiu chv d: vi ngt timer. Bnphi cu hnh cho n chy chno, chtimer hay counter, ch16 bit, hay 8bit, bng cch gn cc gi trtng ngcho thanh ghi TMOD( Timer MODe).

    TMOD Chn model cho bnh thi 17 GATE Chn model cho bnh thi 16 C/T Bt chnchcnng m hoc nh thi:5 M1 Bit chnchthnht4 M0 Bit chn chth2

    M1 M0 Ch

    Chcnng

    0 0 0 Chnh thi 13 bit

    0 1 1 Chnh thi 16 bit1 0 2 Chtng np li

    8 bit1 1 3 Chnh thi chia

    x3 GATE Bit iu khin cng cho bnh thi 02 C/T Bit chn chcnng m / nh thi cho

    bnh thi 01 M1 Bit chn chthnht cho bnh thi

    0

    0 M0 Bit chnchth2 cho bnh thi 0

    V dti cu hnh cho bnh thi 1 ch timer,vibm 8 bit t ngnp li(auto reload) dng lnh sau: TMOD=0x20.

    Cc bn ng lo v vic phi nhbng thanh ghi ny, cc bn khng phi nhnitrng ra nhvy, chuyn sang phn lp trnh cc bn sc hng dn lm thno khng phi nh, nhng chlp trnh viC mi lm c cn lp trnh Asem th bt bucphi nh.

    3)Bt u chng trnh c ngt:

    -Trckhi bt u cho chy chng trnh ta phi cho php ngt ton cc cxy ra bng cch gn EA(Enable All interrupt) bng 1, th ngt mi xy ra. Thng thngay vo u chng trnh(hm main) trc vng while(1) chng ta t cng vic khito, cu hnh v cho php kim tra ngt. V dvibnh thitimer ta gn cc gi trph hp cho thanh ghi TCON( Timer CONTROl).

  • 7/23/2019 Bai Giang Ky Thuat Robot

    32/59

    32

    TCON iu khin binh thiTCON.7 TF1 Ctrn cabnhthi 1. Cny c set

    biphn cng khi c trn, c xo biphn mm, hoc bi phn cng khi bvi x

    l trn trnh phc vngtTCON.6 TR1 Bit iu khin hot ng cabnhthi 1.

    Bit ny c set hoc xo bi phn mm iu khin bnh thihot ng hay

    ngngTCON.5 TF0 Ctrn ca bnh thi0TCON.4 TR0 Bit iu khin hot ng ca bnh thi0TCON.3 IE1 Cngt bn ngoi 1 (kch khicnh). C

    ny c set biphn cng khi c cnh m(cung) xut hin trn chn INT1, c xo

    bi phn mm, hoc phn cng khi CPU tr

    n trnh phc vngtTCON.2 IT1 Cngt bn ngoi 1 (kch khi cnh hoc

    mc). Cny c set hoc xo bi phnmm khi xy ra cnh m hoc mc thp ti

    chn ngt ngoiTCON.1 IE0 Cngt bn ngoi 0 (kch khicnh)TCON.0 IT0 Cngt bn ngoi 0 ( kch khicnh hoc

    mc)

    V dchy bnh thi timer 1 ta dng cu lnh: TR1=0; TR1(Timer Run 1).

    Cn bn no thch kh th: TCON=0xxx;Sau khi khi to song v cho ngt timer 1 chy th iu g xy ra?Khi bt u cho timer 1 chy th b m ca timer s m dao ng ca thch

    anh, c 12 dao ng ca thch anh(1 chu k my), b m ca timer 1 TL1(TimerLow1) s tng 1,c thn ni timer 1 m schu k my. i vi ch8 bt. TL1 l 1thanh ghi 8 bt, l bm ca bnh thi r ri. N m c t 0, n 255. Nu nm n 256 th bm trn, TL1 quay vng li bng 0, v cngt TF1(Timer Flag 1) tng c gn ln 1(bng phn cng cavi iu khin) nh1 cng tc tng bt, vngt xy ra.

    Cn vi ch 16 bt, b m ca b nh thi cn 1 thanh ghi 8 bt na lTH1(Timer high 1), nu cu hnh cho timer 1 hot ng ch16 bit th khi TL1 trnn sm sang TH1(TH1 stng 1). Nhvy ta c th m: 216 chu k my( 2 thanh ghi8+8=16 bt).

    Ch l khi bm trn ngt sxy ra. Nu ta cn m 256 chu k my th khikhi to ta cho TL1=0; cn nu khng mun m 256 chu k my m ta ch cn m 100thi ngt xy ra ri th ta phi lm nhsau: 256-100 = 156 v khi khito ta gn:TL1=155; v m t155 n 255 l 100 ln th ngt xy ra.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    33/59

    33

    Viyu cu cabi. To xung tn s1Khz.Chu k = 1/103 = 0,001 giy= 1 miligiy=1000 uS= 1000 chu k my. Vi 10 cp tc , tc l bn phi to ra c xung10%, 20%, 30%, 40%, , 90%, 100%. 1 xung nhsau:

    5V

    0V

    T : Chu k 1000 miro giy.Khong thi gian xung ko di 5V l T1. Xung 10% tcl T1/ T= 10%=1/10. Xung

    20% T2/T=2/10 PWM (Thay i rng xung). By giti mi xin ni vphn 2.

    4.3.5. Nguyn l ca PWMXung PWM: a ra m transitor, xung vi rng ln hn transitor s m lu

    hnng csquay nhanh hn, dnhin khng tuyn tnh. Khng c xung ng c skhng quay, c xung 100% ng c squay max. Tuy nhin xung phi ln hn1 mcno th mikhi ng cho ng c. Ccc tnh ny cc bn tham kho tronggio trnh vmy in, kh cin, nu cc bn cn thng schnh xc.

    c th thay i 10 cp tc vi chu k 1000uS, ta khi to cho ngt timer: 100uS ngt 1 ln. Trong hm ngt kim tra xem ta cn cp xung bao nhiu % th ta sgngi trcho n. Cthnhsau:

    + Hm khito ngt.Dng ngt timer 0, 100 uS ngt 1 ln, dng ch 28 bit tng np li ca

    timer (v mnh chcn m n 100). TL0 np bng 156. ivi ch 2 khi trn bm TL0 squay vng gi trbng 0, nhng sau n li c np gi trlu trong TH0

    (gi trnp li), do ta chcn gn gi tr choTL0 v TH0 trong hm khito, cn cc chkhc 16 bit, 2 timer counter 8 bit, khi trn bm TL0 khng c np li mta phi tgn li gi trcho n trong hm ngt.void khoitaotimer0(void)// Ham khoi tao{EA=0;// Cam ngat toan cucTMOD=0x02;// Timer 0 che do 2 8 bit auto reloadTH0=0x9B;// Gia tri nap lai 155 doi ra so hex TL0=0x9B;//Gia tri khoi tao 155 doi ra so hex ET0=1;// Cho phep ngattimer 0

    EA=1;// Cho phep ngat toan cucTR0=1;// Chay timer 0 bat dau dem so chu ki may}

  • 7/23/2019 Bai Giang Ky Thuat Robot

    34/59

    34

    Chng 5: MCH VI IU KHIN

    Mch vi iu khin ng vai tr l phn trung tm ca robot. Vi iu khin c thv nh lbno ca mt cthngi, iu khin mi hot ng ca robot.

    5.1. Gii thiu mt sloi vi iu khin5.1.1. Vi iu khin 8051

    Vi iu khin 8051 l loi vi iu khin c s dng nhiu nht trong cc cuc thirobocon ttrc tinay. Biv n c gi thnh r, d mua v nhiu ti liu ting Vit.Chnh v th, nhiu i robocon s dng 8051 l bno cho robot ca mnh.

    Hnh 5.1. Vi iu khin 8051

  • 7/23/2019 Bai Giang Ky Thuat Robot

    35/59

    35

    Hnh 5.2. Schn

    Trong cc loi iu khin h8051, vi iu khin 89c52 v 89s52 c nhiu irobocon sdng nhiu nht. c bit l cc in tBch Khoa H Ni.

    Nhng c im ca vi iu khin 8051, cc bn c th tham kho trong cungio trnh 8051 ca MTC.

    Mt loi vi iu khin thuch8051 kh mnh nado hng Philip sn xut l loiP89V51RD. Chip Philip ccc imin nam, c bit l BK HCM sdng rt nhiudo c ti tr min ph. Nhn chung chp Philip c y nhng tnh nng ca loichp 89c51 ca atmel nh timer/counter, ngt .v ..v. Bn cnh , chp Philip c nhng

    tnh nng ni bt hncon 89c51.+ BnhROM c dung lng ln 16/32/64 kb Flash rom v 1024 bytes Ram

    (so vi8 k rom, 128 bytes ram ca 89x) bnhca chp PHILIP.+ Chcnng ISP ( In system - programming)

    ISP l khnng np trc tip chng trnh vo chip ngay trn mchm khng cn phi rt chp ra khi mch. i vi vdk ca atmel ch c con AVR v89s52 mi c chcnng ny. Nhchcnng ny, mch np cho chip Philip rt ngin

  • 7/23/2019 Bai Giang Ky Thuat Robot

    36/59

    36

    dchto+ Chcnng IAP (in-application programmable)

    Chcnng IAP cho php b nhflash c khnng cu hnh li trongkhi cc ng dng ang chy.

    + 3 bnhthi 16 bt chcnng ca philip ging ht chp 89c51+ SPI (serial peripheral interface)

    Chc nng ny cho php truyn dliu ng bvitccao giachp Philip v cc thit bngoi vi khc ,hay gia cc chp vi nhau.

    + PWM (pulse width modulation)y l mt chc nng rt c bit ca Philip, khi chp hot ng

    ch ny mtchn ca chp s ra pht xung vi tn skhc nhau (tn sny do ngilp trnh xc nh).Philip c chbm xung 8 bit (con AVR cn h trbm xung 10bt ADC) vi 5 chnbm xung.

    + Chcnng ngtPhilip 8 ngt vi 4 mc u tin ngt, n cng c ngt ngoi, ngt

    timer, ni tip nh 89c, ngoi ra cn c chc nng ngt PCA, UART/SPI. C th nichip Philip l loi chp rt u vit, c th thay th rt tt cho loi chip 89c52 thngcdng trong cc k ROBOCON. Cc bn c ththam kho thm datasheet ca laichip ny trang http//www.alldatasheet.com(p89v51rd). Trong nm 2004, 2006, chipPhilip c FXR v BKPRO sdng trong cuc thi robocon v ginh chcv ch.

    5.1.2. Vi iu khin AVR

    AVR l loi vi iu khin do hng ATMEL sn xut. AVR c nhng tnh nng rtmnh so vi 8051 nh PWM, ADC. AVR c BK-FIRE s dng u tin vonm 2006 v lt c vo vng chung kt ton quc.

    Hnh 5.3 .Vi iu khin AVR

    Vic sdng AVR trong robocon c thni l mt ci tin mi trong cng nghchto robot theo truyn thng cacc i n tBKHN. Thng tin v chipAVR ccbn c ththam kho gio trnh Vi iu khin nng cao ca trung tm MTC.

    http://www.alldatasheet.com/http://www.alldatasheet.com/
  • 7/23/2019 Bai Giang Ky Thuat Robot

    37/59

    37

    5.1.3. Vi iu khin PIC.Bn cnh AVR, PIC cng l mt s la chn kh tt cho cc i robocon do nhngtnh

    nng vt tri ca n so vi cc loi vi iu khin khc nh kh nng chng nhiu,PWM, ADC, ngt. Hin nay trn thtrng c kh nhiu dng vi iu khin PIC. VD:pic16f877, pic16f84, pic16f828..v.v.v

    nh gi cc dng PIC- Dng PIC nhiu chn nht l dng PIC18Fxxxx, c nhngcon schn ln

    n 80 chn- Dng PIC t chn nht l dng PIC10Fxxx, chc 6 chn- Dng PIC phbin nht l dng PIC16F877A (mnh vtnh nng, 40

    chn, bnhcho hu ht cc ng dng thng thng)- Dng PIC m chng ti nh gi cao nht l dng PIC16F876A (28 chn,

    chc nng khng khc g so viPIC16F877A, nhng nhgn hnnhiuv schncng khng qu t nhPIC16F88).

    - Dng PIC htrgiao tip USB l dng PIC18F2550 v PIC18F4550

    - Dng PIC iu khin ng cmnh nht l dng PIC18F4x31- Khi cho rng mnh chuyn nghip hn, cc bn nn dng PIC18F458- Dng PIC tng hnh l dng PIC17xxxxx, hin nay khng cn c sn

    xut

    Hnh 5.4. Vi iu khin PIC

    5.2. Snguyn lTrong gio trnh ny ,chng ti ch yu tp trung vo mch vi iu khin dng

    89s52. Bi v vi iu khin 89s52 c s dng kh thng dng trong cc k robocon.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    38/59

    38

    A1 1A2 2A3 3B1 4B2 5B3 6

    30p B4 7B5 8

    19

    Y1RST

    18

    C22

    2526

    15

    35

    5V

    MASTERCL1104

    04

    21 Vidieukhien1P30(RXD)P31(TXD)

    ISP_program

    1 2

    3 4P1.0

    P1.1

    P2.0/A8

    C P2.1/A9Vidieukhien2 5 6

    P1.223

    V P2.2/A10 24Vidieukhien3Vidieukhien4

    5V 7 89 10

    Cta1

    P1.3P1.4P1.5P1.6P1.7

    P2.3/A11P2.4/A12P2.5/A13 27P2.6/A14 28P2.7/A15

    Vidieukhien5Vidieukhien6

    CON10AP

    int

    Cta230p 11.509Mhz5V

    PO0

    PO1PO2

    XTAL1

    XTAL2RST

    31EA/VPP

    39

    38 P0.0/AD0P0.1/AD1

    10P3.0/RXD 11P3.1/TXD 12

    P3.2/INTO 13P3.3/INT1 14

    P3.4/TO

    P3.5/T1 16P3.6/WR 17P3.7/RD

    P30(RXD)P31(TXD) /INT0/INT1T0T1

    A4

    A5

    SELECT_PR/OINT0 1/INT1 2T0 3T1 4PO4 5PO5 6PO6 7

    89

    37P0.2/AD2PO3

    PO436

    P0.3/AD3 PSEN29

    5V10

    PO5 34 P0.4/AD4 30

    PO6

    PO733 P0.5/AD5

    32 P0.6/AD6 DP0.7/AD7 N

    G

    ALE/PROG CON10

    P89V51RD20

    2

  • 7/23/2019 Bai Giang Ky Thuat Robot

    39/59

    39

    5V

    SW1Cs1100uF

    RST

    Rs1 10k

    Hnh 5.5. Snguyn l mch vi iu khin.Mch vi iu khin sdng ngun 5V. Trong robocon, mch ny ng vai tr l

    khi trung tm ca robot, kt ni vi tt ccc modul khc. T mch vi iu khin ny,bn c thmrng ra cc modul khc.

    Mch ngun.Mch vi iu khin s dng ngun 5V, Tuy nhin cc acquy dng trong robot u l

    ngu

    n 12V hoc 24V. Do

    , b

    n khng th

    u trc ti

    p ngun

    c quy vo vi

    iukhin c, cn phi thit kmt mch ngun cung cp mt ngun in n nh 5V

    cho vi iu khin .

    POWER_IN

    DPOWER1 1AR_CS1

    U3 LM7805/TO

    5V

    J2

    2

    1 C_L4

    SWITCH

    POWER_IN

    C_N1

    22R2W

    1

    C_L1

    VIN VOUT3

    D

    G C_N2C_L2 C_L3

    5V_A LED

    104CON2

    POWER_IN

    SW DPST

    DPOWER2 10A24V

    C_L5

    104

    24V

    1000uF

    24V

    LED

    2104

    10uF 104 104

    R_5V_A

    1K

    R_24V

    10

    Hnh 5.6. Snguyn l mch ngundng trong robocon.

    Mch ngun ny sdng IC n p 7805.yl loi IC n p : u vo > 7V u ra5V 500mA. Mch n p: cn cho VK v nu ngun cho VK khng n nh th streo VK, khng chy ng, hoc reset lin tc.

  • 7/23/2019 Bai Giang Ky Thuat Robot

    40/59

    40

    Chng 6: LP TRNH V KTHUT D NG

    Trong robocon, lp trnh l khu cui cng trong 3 b phn cu thnh robot. Lptrnh sng vai tr quyt nh cui cng nh gi robot ca bn s hot ng tt hay

    khng. Robot skhng thchy tt nu nhchng trnh x l khng hon ho.6.1. Cc ngn nglp trnh sdng trong robocon.Trong robocon c 2 ngn ng lp trnh c s dng nhiu nht l C v ASM.

    2 ngn ngny c nhng im mnh v im yu ring. Ngn ngASM c uim lgn nh, gip ngi lp trnh hiu su v cu trc phn cngca vi iu khin. Ccchng trnh vit bng ASM thng chy nhanh v tc x l cao. ASM cBK-FIRE s dng trong cuc thi 2005 v hot ng kh hiu qa. Tuy nhin, ASM cnhc im l kh hc v tp lnh ngho nn, khng thun tin lp trnh cc chngtrnh ln.

    Ngn ng lp trnh C c thmnh l dhc, tp lnh phong ph v c im lngn ng lp trnh c cu trc nn rt thun li xy dng cc chng trnh ln.Nhc im caC l khng gip ngi c hiu su v cu trc phn cng.

    Nhn chung, trong cc cuc thi robocon, ngn ng C c s dng nhiu nht donhnguim ca n. Gio trnh ny cng hng dn bn lp trnh bng ngn ngC.

    6.2. M ngunXin gii thiu mt on m ngun ca i CIRTECH-45 caBKHN nm 2004

    /*Night Lamp Saver V5.089C2051(ext.oscillator 680kHz) + MAC97A6 + no battery backup demonstration ofusing Micro-C and ATMEL89C2051 to build a device used for controlling night

    lamp that turn on and off night lampwith preset time on/off.After reset or power failure occured, high blink rate of led will show, user shouldpress P3.0 to reset time to 18:00, low blink rate will show indicating normaloperation. The Saver V4.0 using Xtal 11.0592MHz produces EMI that interfereTV

    receptionThis version the Xtal oscillator has changed to RC oscillator 680kHz. cputickincremental was derived from 50Hz or 20ms main frequency.

    Copyright (c) 1999 W.SIRICHOTE*/

    #include c:\mc51\8051io.h#include c:\mc51\8051reg.h

    /*-------- turn lamp on/off after reset time to 18:00 ---------*/

  • 7/23/2019 Bai Giang Ky Thuat Robot

    41/59

    41

    #define onHour1 18 /* 18:00 turn lamp on */#define onMin1 00#define offHour1 18 /* 18:01 turn off */#define offMin1 01

    /* every day turn on at 19:00 and and off at 22:00 */

    #define onHour2 19#define onMin2 00#define offHour2 22#define offMin2 00

    /* set clock to 18:00 when press P3.0 */

    #define setHour 18#define setMin 00

    /*-------------------------------------------------------------*/

    extern register char cputick;unsigned register charsec25,sec50,sec,sec5,min,hour,flag1,temp,led,blink_rate; /* above must be defined as register for tiny model */

    /* variables description

    cputick increments by one every 20ms sec25 halfsecond countersec50 2*25Hz counter sec

    current second sec5 5second counter min currentminhour current hourtemp temp registerled counter for led on duration (times cputick)blink_rate 0 = high blink rate, 10 low blink rate flag1

    intertask signaling mask byte

    flag1.0 set every 1 second 0x01 flag1.1 setevery 1 min 0x02 flag1.2 notuse 0x04 flag1.3 set every0.5 second 0x08

  • 7/23/2019 Bai Giang Ky Thuat Robot

    42/59

    42

    flag1.4 set after P3.2 has been pressed 0x10 flag1.5disable turn on/off 18:00-18:01 if set 0x20 flag1.6-7not use*/

    main(){

    cputick = 0; hour = 18;min = 0;sec = 0; sec25 = 0;sec50 = 0; flag1 = 0;blink_rate = 0; /* indicate reset time to 18:00 is needed */

    asm "LAMP EQU $97"; /* P1.7 */asm{

    SETB $AF /* setb EA */SETB $A8 /* enable external interrupt */ SETB $88/* negative edge triggering */

    }while(1){

    while ( cputick < 1);

    cputick = 0; /* 20ms has elapsed */

    /*------------- the following tasks execute every 10ms ------*/

    time(); comparetime();cpubeat(); settime();

    /* waithigh(); */}

    /*-----------------------------------------------------------*/}

    time ()

    /* update real-time clock, date */{sec25++;if (sec25 >= 25) /* now 25 times means half second */{sec25 = 0;flag1 |= 0x08; /* set bit 3 every 0.5 s */

    sec50++;

  • 7/23/2019 Bai Giang Ky Thuat Robot

    43/59

    43

    if (sec50 >= 2) /* 2 * 25 * 20 ms = 1 s */{sec50 = 0;flag1 |= 0x01; /* set bit 0 */sec++;if (sec >= 60){sec = 0;flag1 |= 0x02; /* set bit 1 */min++;if (min >= 60){min = 0;hour++;if (hour >= 24){hour = 0;

    }

    }}

    }

    }}

    comparetime(){

    if ((flag1 & 0x10) != 0) /* enabled only after P3.2 has been pressed */{

    compareTimeOn_Off();}

    }

    compareTimeOn_Off(){

    if ((flag1 & 0x01)!=0){testOnOff();if(hour == onHour2 && min == onMin2)

    asm" CLR LAMP";if(hour == offHour2 && min == offMin2)asm" SETB LAMP";

    }}

    testOnOff()

  • 7/23/2019 Bai Giang Ky Thuat Robot

    44/59

    44

    {if ((flag1 & 0x20) == 0){

    if(hour == onHour1 && min == onMin1)asm" CLR LAMP";

    if(hour == offHour1 && min == offMin1){asm" SETB LAMP";flag1 |= 0x20; /* disable further test on off */

    }}

    }

    cpubeat()

    {

    beat5sec();livecpu();

    }

    beat5sec() /* clear P3.7 every blink rate */

    {if ((flag1 & 0x08)!=0)

    {flag1 &= ~0x08; /* clear bit 3 of flag1 */

    sec5++;if (sec5 > blink_rate){sec5 = 0;flag1 |= 0x40; /* set bit 6 of flag1 to signal livecpu task */asm " clr P3.7"; /* make led on */led = 2; /* load time on duration times cputick */

    }}

    }

    livecpu()

    {if ((flag1 & 0x40) != 0)

    {led--;

  • 7/23/2019 Bai Giang Ky Thuat Robot

    45/59

    45

    if (led == 0){asm " setb P3.7";flag1 &= ~0x40;}

    }}

    settime(){

    if ((P3 & 0x01) == 0) /* reset time to 18:00 if P3.1 low */

    {hour = setHour; min =setMin; sec = 0;sec50 = 0;

    flag1 |= 0x10; /* enable compare time on/off */flag1 &= ~0x20; /* reenable testOnOff after pressing set clock to 18:00

    */blink_rate = 10;

    }}

    /*waithigh(){

    asm" jnb P3.2,*";pause(2);asm" jnb P3.2,*";pause(2);

    }

    pause(j)int j;{

    int i;

    for (i=0;i

  • 7/23/2019 Bai Giang Ky Thuat Robot

    46/59

    46

    M ngun ASM

    ;CHUONG TRINH CHO IC MASTER; P1: CAM BIEN NHAN VAO; P0: TRUYEN SANG SLAVER

    STARTB EQU P3.7CT_NANG EQU P3.2CT_HATAY EQU P3.0CT_QUA EQU P3.1CB_L EQU P1.2CB_R EQU P1.1MKEP_DIR EQU P2.0MKEP_EN EQU P2.1MNANG_DIR EQU P2.2

    MNANG_EN EQU P2.3

    STOP_C EQU 11111111B QPHAI_C EQU00011111B QTRAI_C EQU 00101111BLUI_C EQU 00111111B THANG_C EQU01001111B TINHCHINH_C EQU 01011111B

    ORG 0000HLJMP INITORG 001BH ;DIEM NHAP VECTOR NGAT CUA T1

    LJMP NGATT1ORG 0030H

    INIT:;KHOI TAO CAC GIA TRI SAU RESET CLR TR0MOV SP,#5FHSETB STARTB ;BIT KHOI DONG MOVP0,#0FFHMOV P1,#0FFHMOV R0,#0H ;BIT Dem SO NGA TU MOV

    R1,#0HMOV P2,#0H ;TAT CAC DONG COMOV IE,#0H ;CHO PHEP NGAT BO DINH THOI 1MOV P3,#0FFH

    MOV TMOD,#00010001B CLR TR1CLR TR0CLR TF0CLR TF1

    ;===========================================================================================================================

  • 7/23/2019 Bai Giang Ky Thuat Robot

    47/59

    47

    MAIN:;MOV P0,QPHAI_C JB

    STARTB,MAIN LAP_CHINH:MOV A,P1ANL A,#00001111B MOV P0,ALJMP LAP_CHINH EXIT:NODO: SJMP NODO

    ;===========================================================================================================================DEMNGATU:

    INC R0;LCALL STOP_ALL

    ; LCALL TRE_2S CJNER0,#2,TIEP1LCALL DUNG_NGATU LCALLTRE_QUAYLCALL QUAYPHAI TIEP1:CJNE R0,#10,TIEP2

    LCALL DUNG_NGATU LCALLTRE_QUAY LCALL QUAYphai

    TIEP2:CJNE R0,#15,DITIEP LCALL

    DUNG_NGATU LCALL TRE_QUAYLCALL QUAYTRAI HERE20: SJMPHERE20

    DITIEP:TREQUAVACH: LCALL TRE0 ;CHO THOI GIAN TRE DI DI QUA VACH

    NGANGTROVE:RET ;TRO VE CHUONG TRINH;==================================LAYQUA:

    LCALL STOP_ALL;KEPQUASETB MKEP_EN LCALLTRE_quay CLR MKEP_EN;NANG QUASETB MNANG_ENDOINANG: JB CT_NANG,DOINANG CLR

  • 7/23/2019 Bai Giang Ky Thuat Robot

    48/59

    48

    MNANG_EN;NHA QUASETB MKEP_DIR SETB

    MKEP_EN LCALL TRE_quay

    CLR MKEP_EN CLR

    MKEP_DIR;HA TAY

    ; SETB MNANG_DIR; SETB MNANG_EN

    ; DOIHA: JB CT_HATAY,DOIHA; CLR MNANG_EN

    ; CLR MNANG_DIR RET;================================

    DUNG_NGATU:LAPNT:JB P1.4,THOATNT MOV A,P1ANL A,#00001111B MOV P0,A

    LJMP LAPNT THOATNT:LCALL STOP_ALLLCALL TRE_QUAY MOVP0,#00111111B DOINT: JNB P1.4,DOINT LCALL STOP_ALLMOV P0,#01011111B ;TINH CHINH LCALLSTOP_ALL

    ;================================== QUAYTRAI:MOV P0,#00101111B ;QUAYTRAI LCALL

    TRE_QUAYLAPQT: MOV A,p1ORL A,#11111001BCJNE A,#11111111B,LAPQT LCALL

    STOP_ALLLCALL TRE_100MOV P0,#00011111B ;QUAYPHAI

    LAPQT2: MOV A,p1ORL A,#11111001BCJNE A,#11111111B,LAPQT2LCALL STOP_ALL LCALL

    TRE_QUAYLCALL TRE_QUAY RET

    ;=============================================

  • 7/23/2019 Bai Giang Ky Thuat Robot

    49/59

    49

    ============

    QUAYPHAI:MOV P0,#00011111B ;QUAYTRAI LCALLTRE_QUAYLAPQP: MOV A,p1ORL A,#11111001BCJNE A,#11111111B,LAPQP LCALLSTOP_ALLLCALL TRE_100MOV P0,#00101111B ;QUAYPHAI LAPQP2:MOV A,p1ORL A,#11111001BCJNE A,#11111111B,LAPQP2LCALL STOP_ALL LCALL

    TRE_QUAYLCALL TRE_QUAY

    ;=================================================NGATT1:

    RETI STOP_ALL:MOV P0,#0FFH

    RET;====================CAC THU TUC TRE================TRE0:

    ;THU TUC DE TAO TRE QUA VACH NGANG NGA TUmov r7,#50again0: mov TH0,#HIGH(-10000)

    mov TL0,#LOW(-10000)setb tr0 wait0: MOV

    A,P1ANL A,#00001111B MOV P0,A

    jnb tf0,wait0 clr tr0clr tf0djnz r7,again0

    RET

    TRE_500: ; 1s mov r7,#50again_1S: mov TH0,#HIGH(-10000)

    mov TL0,#LOW(-10000)setb tr0wait_1S: jnb tf0,wait_1Sclr tr0 clr tf0djnz r7,again_1S

  • 7/23/2019 Bai Giang Ky Thuat Robot

    50/59

    50

    RET TRE_QUAY: ;MOV R7,#100

    again: mov TH0,#HIGH(-10000)mov TL0,#LOW(-10000)

    RET

    setb tr0wait: jnb tf0,wait clr tr0clr tf0djnz r7,again

    TRE_100: ; MOV R7,#10again: mov TH0,#HIGH(-10000)

    mov TL0,#LOW(-10000)setb tr0wait: jnb tf0,wait clr tr0clr tf0djnz r7,again

    RET

    TRE_2S: ; 1s mov

    r7,#200

    RET END

    again_2S: mov TH0,#HIGH(-10000)mov TL0,#LOW(-10000)

    setb tr0wait_2S: jnb tf0,wait_2Sclr tr0 clr tf0djnz r7,again_2S

    6.3. Kthut d ng.Bi hc ny snu ln cc phng php lp trnh d ng trong robocon. Vic lp

    trnh d ng trong robot thc cht l vic x ltn hiu tsensor v a ra cc lnh

    iu khin ng cm bo cho robot c thbm theo vch trng trn sn. Khi lptrnh, cc bn phi xc nh uc tt c cc trng hp c th xy ra ca sensor, t a ra cc tn hiu iu khin ng chpl.

    Quay vbi sensor, ta c sbtr sensor

    | || | Vch trng

  • 7/23/2019 Bai Giang Ky Thuat Robot

    51/59

    51

    | |O O |O O| O O (sensor)1 2 3 4 5 6

    4 sensor 2,3,4,5 dng bm ng. Khi trn sn thi u, gi s khi robot lchsang phi sensor 2 chm vch trng, sensor 4 chm nn, bn phi iu chnhcho ng cphi quay nhanh hn, ng ctri chm li hay dng robot quay li vtr. Tng t,khi robot lch sang tri, bn cng iu khin tung tnhvy. Bng cch x l nhth,bn sgip cho robot c thbm ng mt cch hiu qu.

    Khi gp ng t, hai sensor ngoi cng 1,6 schm vch trng, c mc tn hiu 0a vo vi iu khin. Bn cn lp trnh m s ln mc tn hiu 0 vo vi iu khint suy ra ng trobot i.

    6.4. Kthut chng nhiuNh hc bi sensor, khi thi u nh hng ca n cao p trn sn c thgy

    ra nhiu ln sensor dn ti vic nhn bit tn hiu sai. chng nhiu, bn c thsdngchng trnh xl.

    C nhiu trng hp do nhiu nn sensor c th nhn nhm vch trng. Do ,bn phi vi iu khin kim tra thnh nhiu ln. M ngun:void golong(unsigned char songatu){

    unsigned char d=0; unsigned char

    dem=0; motor(forward);while (1)

    {

    if ((out_left==nen)&&(out_right==nen)) motor(forward);if ((out_left==nen)&&(out_right==vach))

    {motor(right_stop);motor(left_go);

    }if ((out_right==nen)&&(out_left==vach))

    { motor(left_stop);motor(right_go);

    }

    // bat nga tu

    if ((out_left==vach)&&(out_right==vach)){

  • 7/23/2019 Bai Giang Ky Thuat Robot

    52/59

    52

    while ((LEFT==vach)&&(RIGHT==vach)){

    d++;if (d==100)

    {dem++;d=0;if (dem

  • 7/23/2019 Bai Giang Ky Thuat Robot

    53/59

    53

    /INT1 2T0 3T1 4PO4 5PO5 6PO6 7

    89

    10

    C22

    11

    1

    Chng7: HON THIN V CHIN THUT THI U

    Trong khi thi u, c rt nhiu cc tnh hung xy ra. Do ngi lp trnh cn

    phi xy dngnhiu chin thut thi u khc nhau m bo c thx lkpthimitnh hung c thc trn sn. hin th chin thut thi u, bn c th dung led 7thanh hay mn hnh LCD, mt h thng cc phm bm iu khin, la chn ccgii php thi u. Thc cht, phn ny chng ta quy vbi ton lp trnh giao tip viiu khin vibn phm v mn hnh LCD, led 7 thanh.

    7.1. Snguyn l led 7 thanha) Giao tip viled 7 thanh

    R_24V10 5V

    5V

    A1 1

    CL1MASTER 104

    04

    21 Vidieukhien1P30(RXD)P31(TXD)

    ISP_program

    1 23 4

    SW 1 A2 2P1.0P1.1

    P2.0/A8C P2.1/A9

    Vidieukhien2 5 6Cs 1 100uF

    A3 3B1 4 P1.2

    23 V P2.2/A10 24

    Vidieukhien3Vidieukhien4

    5V 7 89 10

    RST Rs110k

    Cta1 30p

    B2 5B3 6B4 7B5 8

    19

    P1.3P1.4P1.5P1.6P1.7

    P2.3/A11 25P2.4/A12 26P2.5/A13 27P2.6/A14 28P2.7/A15

    10

    Vidieukhien5Vidieukhien6

    P30(RXD) SELECT_PR/OINT0

    CON10APint

    1

    Rsip15V

    Y1

    Cta230p 11.509Mhz

    RST

    5V

    PO0

    18 XTAL19 XTAL2

    RST

    31EA/VPP

    39

    P3.0/RXDP3.1/TXD 12

    P3.2/INTO 13 P3.3/INT1 14

    P3.4/TO 15P3.5/T1 16

    P31(TXD)/INT0/INT1T0T1

    A4

    1 2 PO03 PO1 7

    PO1PO2

    38 P0.0/AD037 P0.1/AD1

    P3.6/WR 17 A5P3.7/RD

    4 PO2 O5 PO3 P

    PO3PO4

    36 P0.2/AD235 P0.3/AD3 PSEN

    29 5V

    6 PO4 PO5 34 P0.4/AD4 30

    7 PO58 PO69 PO7

    Start PO6PO7

    33 P0.5/AD532 P0.6/AD6 D

    P0.7/AD7 NG

    ALE/PROG CON10

    10k 5V P89V51RD2 02

    3 8

    c d. c

    U17

    2 . 1 .

    8R4 10R5 9 D DR6 15 E N

    7D0 1D1

    2

    PO0PO1PO2

    5V 5V 5V 5V 5V 5V Connecter_sensor

    V.

    9 Ge c 7

    . 6 g . 4

    R 13F

    R8 12 A

    R9 11 B

    U16D2

    6D 3

    SN7447

    PO3Rp1470

    Rp2470

    Rp3470

    Rp4470

    Rp5470

    Rp6470

    Led_Phat1 1 2Led_Phat2 3 4Led_Phat3 5 6

    Led_Thu1Led_Thu2Led_Thu3

    f b. 5 14 C Led_Phat4 7 8 Led_Thu4

    P . G O DB

    Led_Phat5 9 10 Led_Thu5a R I C 1t 2t 3t 4t 5t 6t 13 12 Led_Thu6

    0 B R L V

    4 5 3 61

    5V

    h h hP_ P_ P_d d de e eL L L

    h h hP_ P_ P_d d de e eL L L

    15 16

    CON16AP

    strn, ta sdng 1 led 7 thanh hin thcc chin thut thi u 1,2,3.v.v.2 phm bm choice v start la chn chin thut. Mt led 7 thanh c th hin thc 10 chin thut thi u tng ng vi cc s t 0 n 9. Ngoi ra, led 7 thanhcn c dng hin thsng t.

    7.2. M ngun led 7 thanhvoid main(){

    unsigned char tam=0;

  • 7/23/2019 Bai Giang Ky Thuat Robot

    54/59

    54

    init(); P2_6=0;P2_7=0; h_thi(tam);

    selection();

    switch (select){case 0:

    {hanhtrinh0();

    }break;

    case 1:{hanhtrinh1();

    }break;

    case 2:{hanhtrinh2();

    }break;case 3:{hanhtrinh3();

    }

    break;case 4:{hanhtrinh4();

    }break;

    case 5:{hanhtrinh5();

    }break;

    case 6:{hanhtrinh6();

    }break;

    case 7:{

    hanhtrinh7();}break;

  • 7/23/2019 Bai Giang Ky Thuat Robot

    55/59

    55

    case 8: {hanhtrinh8();

    }break;

    case 9:{hanhtrinh9();

    }break;

    }//end of swith

    delay(50000); h_thi(tam);

    }/* cac ham chuc nang */

    void selection(){P2_6=0; P2_7=0;while (P2_7==0)

    {

    }}//end

    while (P2_6==1){select++;if (select>9) select=0;h_thi(select); delay(12000);

    }

    void h_thi(unsigned char so){if (so==0) {P0_3=0;P0_2=0;P0_1=0;P0_0=0;}else if (so==1) {P0_3=0;P0_2=0;P0_1=0;P0_0=1;} else if(so==2) {P0_3=0;P0_2=0;P0_1=1;P0_0=0;} else if (so==3){P0_3=0;P0_2=0;P0_1=1;P0_0=1;}

  • 7/23/2019 Bai Giang Ky Thuat Robot

    56/59

    56

    25

    11

    19

    o

    e

    35343332

    262728

    2 TX

    34

    67

    15

    9

    0

    else if (so==4) {P0_3=0;P0_2=1;P0_1=0;P0_0=0;} else if

    (so==5) {P0_3=0;P0_2=1;P0_1=0;P0_0=1;} else if (so==6)

    {P0_3=0;P0_2=1;P0_1=1;P0_0=0;} else if (so==7){P0_3=0;P0_2=1;P0_1=1;P0_0=1;} else if (so==8){P0_3=1;P0_2=0;P0_1=0;P0_0=0;} else if (so==9){P0_3=1;P0_2=0;P0_1=0;P0_0=1;} }

    7.3. Sdng LCDVCC

    g un _t cd d elel

    SW2_cong

    SW3_tru

    Jum_cong1 2

    1 2Jum_tru

    P0.5

    P0.6

    EAP0.7P0.6P0.5P0.4P0.3

    P0.2P0.1P0.0

    R_SIP10

    10987

    65

    432

    VCC1

    VCC RESISTOR SIP 10

    ret ci

    P0.0P0.1

    U1

    39P0.0/AD0 P2.0/A8

    21 P2.0P2.1

    n o hd _c

    el d el

    P0.2

    P0.3P0.4

    38P0.1/AD1

    37P0.2/AD2

    36P0.3/AD3

    P2.1/A922

    P2.2/A1023

    P2.3/A1124

    P2.2

    P2.3P2.4

    Enter

    P0.7P3.3

    P0.5P0.6P0.7

    P0.4/AD4P0.5/AD5P0.6/AD6

    P0.7/AD7

    P2.4/A12P2.5/A13P2.6/A14

    P2.7/A15

    P2.5P2.6P2.7

    Choice P1.0P1.1

    1P1.0/T2 P3.0/RXD

    10 RX

    P1.2P1.3P1.4P1.5P1.6P1.7

    P1.1/T2-EX

    P1.2

    5 P1.3P1.4/SS

    P1.5/MOSIP1.6/MISO

    P3.1/TXD 12P3.2/INT0 13P3.3/INT1 14

    P3.4/T0P3.5/T1 16

    P3.6/WR

    IR P3.3D0 D1 D2 D3

    VCC

    D1

    LCD2x16

    15A

    16 LCDDi spl ay 2x16K

    D d E

    EA

    RST

    8P1.7/SCK

    AT89S8252

    31EA/VPPRST

    40 D

    P3.7/RD17

    ALE/PROG30

    PSEN29

    18XTAL2XTAL1 ZTA

    12M

    C1_ZTA

    33

    C2_ZTA

    N d E W S 0 1 2 3 4 5 6 7 VCC VCC NG V V R R E D D D D D D D D

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

    C_nhieuG

    104 33

    2

    VCC 3. 4. 0. 1. 2. 3. 4. 5. 6. 7.0 0 2 2 2 2 2 2 2 2P P P P P P P P P P

    VCC

    TESER_

    SW_reset

    C47u

    R_RESETm o

    001

  • 7/23/2019 Bai Giang Ky Thuat Robot

    57/59

    57

    S trn thay th led 7 thanh bng LCD. Nhn chung dung LCD hin thchin thut thi u chuyn nghip hn (vi hin th c c ch) tuy nhin, dngLCD kh tn km v khng tht shiu qu. V th, tt nht l cc bn nn sdng led 7thanh hin thchin thut thi u./******************************/

    // LCDvoid lenh (){RS=0; EN=1; delay (50); EN=0; delay (100);}

    void ghi (){RS=1; EN=1; delay (50); EN=0; delay (100);

    }

    void LCDwrite(unsigned char c){

    P2=c;ghi();

    }

    void LCDputs(unsigned char *s,unsigned char row)

    {unsigned char len;if(row==1){ P2=0x80;lenh (); }else { P2=0xC0; lenh ();}

    len=strlen(s);while(len!=0){

    LCDwrite(*s);s++;

    len--;}}

    void LCDcontrol(unsigned char dk)

  • 7/23/2019 Bai Giang Ky Thuat Robot

    58/59

    58

    {P2=dk; lenh ();

    }

    void init_LCD (){delay(400);LCDcontrol(0x38); //LCD 2 dong _ 5x7LCDcontrol(0x0C); //bat hien thi, tat con troLCDcontrol(0x01); //xoa man hinh}

    /*****************************/

    void keyboard()

    {unsigned char key=0; unsigned chartest=0; LCDcontrol(0x01);

    choice=enter=1; LCDputs("RobotReady",1); delay(100000);LCDcontrol(0x01);LCDputs("1:Golong 2:Around ",1);

    LCDputs("3:Turn left 4:Turn right",2);delay(100000);LCDcontrol(0x01);

    while(1){LCDputs("1: 2: 3: 4:,2);while(choice==0)

    {delay(10000); key++;LCDcontrol(0x01);if (key==1)LCDputs("1 ",1); if(key==2)LCDputs("2 ",1); if(key==3)LCDputs("3 ",1); if(key==4)LCDputs("4 ",1);

    LCDputs("1:C 2:S 3:D 4:E",2);if (key>4) { LCDputs("0 ",1);key=0;}

  • 7/23/2019 Bai Giang Ky Thuat Robot

    59/59

    }if (key==1)while(enter==0) golongr(); if

    (key==2)while(enter==0) Around(); if(key==3)while(enter==0) left();if (key==4)while(enter==0) test=1;if (test==1) break;

    }//while(1)

    } // keyboard