You are on page 1of 16

Hng dn

ROBOCON 2005 Sample Robots Ngi dch: roboconaz@gmail.com www.robocon.vn www.skynet.com.vn

H ni 2006

Ni dung Chng 1: iu khin DC Motor


1.1 Gii thiu hot ng DC motor

1.2 iu khin hng chuyn ng dng mch cu H


1.3 1.4 iu khin DC motor dng nh (1A) dng L293B iu khin DC motor dng ln (2A) dng L298

1.5 iu khin tc DC Motor dng chnh rng xung (Pulse Width Modulation
1.6 1.7 -PWM) Phn cng Pulse Width Modulation (PWM) Phn mm Pulse Width Modulation (PWM)

Chng 2: D ng trng dng Sensor hng ngoi (IR)


2.1 2.2 cc c tnh ca IR sensor IR Sensor iu bin

Chng 3: Lp trnh Robot t ng


3.1 3.2 Chy theo ng trng D v m nhng ng ct

Chng 1: iu khin DC Motor


1.1 Gii thiu hot ng DC motor cho motor 1 chiu hot ng, chng ta cn t 1 in p 1 chiu vo motor and 1 dng in 1 chiu s chy qua motor, motor s quay theo 1 chiu no .

Nu chng ta i chiu ca in p 1 chiu ny, motor s quay ngc li

Ch : in p V v dng I khng nn vt qu gi tr c ghi trn motor, nu khng motor s b hng. Tuy nhin nu ta t 1 in p thp hn V hoc 1 dng in thp hn I, th tc v chu ti ca motor s gim theo.

1.2

iu khin hng chuyn ng dng mch cu H iu khin hng quay ca motor 1 chiu, chng ta cn t in p ln motor. C 1 mch ph bin dng iu khin motor gi l cu H. N c gi nh vy bi v mch ny trng ging hnh ch H. Mt trong nhng kh nng cc hay ca mch ny l n cho php iu khin motor tin ln hoc li li bt k tc no, ngoi ra n cn c th dng 1 ngun in c lp [1].

Khi u vo Direction trng thi cao th motor s chuyn sang ch hng bnh thng. Nu u vo Direction trng thi thp th motor s quay ngc chiu. C rt nhiu loi IC dng cho mch cu H. Loi ph thng dng cho motor dng thp l L293B v motor dng cao l L298. 1.3 iu khin DC motor dng nh (1A) dng L293B ng dng in hnh ca L293B c v trn hnh di [2]. Vs l in p t vo motor v c th ln ti 36V. Dng ln nht ca L293B c th ln ti 1A mi knh. Mt IC L293B c th dng iu khin 2 motor. u vo 2 v 7 dng iu khin motor 1. u 10 v 15 dng iu khin motor 2. Diode D1 v D8 to 1 mch cp. L293B l mt IC ph thng c th mua cc ca hng in t (gi khong 20 ngn ng tham kho www.skynet.com.vn)

Trong cc robot t ng, chng ti s dng con L293B iu khin motor r tri v phi. Mch c v trn hnh di y. Trong s P1.1 v P1.3 l cc tn hiu iu khin chiu motor t con vi s l 87C552. Nhng tn hiu iu khin hng ny c t hp AND vi cc tn hiu iu bin rng xung PWM0 v PWM1 iu khin tc motor. Chng ti s gii thch vic iu khin ny trong mc sau. Ngun motor c cung cp vo chn 8 ca con L293B. in p thc t ph thuc vo thng s ca motor, thng t 9V n 12V. Robot mu ny s dng in p 12V. Chn 16 c ni vo in p 5V logic dng lm ngun IC. L1 v L2 tch ngun nui L293B ra khi h thng. Chng hot ng ging nh nhng b lc cc tn hiu nhiu c sinh ra bi motor.

1.4 iu khin DC motor dng ln (2A) dng L298 L298 cng tng t nh con L293B nhng n cho php dng ln hn. ng dng in hnh c miu t nh sau [3]. (Gi con ny khong 40 ngn ng tham kho www.skynet.com.vn)

Cho ng dng dng ln hn, chng ta dng 2 knh nh hnh v trn. Vs l ngun motor v Vss l ngun logic. in tr Rs c dng hn ch. Trong robot mu iu khin bng tay, chng ti dng con L298 iu khin 2 motor dng ln (2A). Mch c v nh hnh di y.

1.5 iu khin tc DC Motor dng chnh rng xung (Pulse Width Modulation -PWM)

iu khin rng ca xung c lm bng cch tt bt nhanh ngun in ln motor. Ngun p 1 chiu DC s chuyn thnh tn hiu xung vung, thay i t 12V xung 0V, to cho motor mt lot cc c sc in. Nu tn s bt tt m cao, motor s chy mt tc n nh nh mmen quay ca bnh xe. Bng cch thay i chu k hot ng ca tn hiu (thay i rng xung PWM), tc l khong thi gian Bt, ngun in trung bnh t ln motor s thay i v dn n thay i tc . [4][5]

1.6 Phn cng Pulse Width Modulation (PWM)


iu khin rng xung (PMW) c th dng IC thi gian NE555. Mch dng con ny c th hin trn hnh v di y. [6] Trong mch ny rng Bt ca xung ph thuc vo in p t ln u vo chn 5 (RA v C gi nguyn). V chu k ca xung vung ph thuc vo tn hiu Trigger.

Trong robot mu iu khin tay, 2 con NE555 to thnh phn cng iu khin rng xung nh trn hnh v. Tn hiu iu bin MOD c truyn t bin tr iu khin tc trn bn iu khin. VR1 v VR2 c th c iu chnh thay i chu k ca xung vung. VR3 dng chnh chu k ca sng.

1.7 Phn mm Pulse Width Modulation (PWM)


S dng con vi s l c s cc tn hiu PWM, nh 87C552 nh chng ti dng cho robot mu, chng ti c th lp trnh to cc sng PWM. Con 87C552 cha 2 knh iu bin PWM. Nhng knh ny to cc xung theo rng v khong cch c lp trnh. Tn s lp li c nh ngha bi thanh ghi 8-bit trong tn l b chia PWMP, to nhp ng h cho b m. B chia v b m dng chung cho c 2 knh PWM. B m 8-bit dng m 255, tc l t 0 n 254. Gi tr

ca b m 8-bit c so snh vi ni dung ca 2 thanh ghi: PWM0 v PWM1. Gi s ni dung ca nhng thanh ghi ny ln hn gi tr b m, th u ra tng ng /PWM0 hay /PWM1 s l THP. Nu ni dung nhng thanh ghi ny m bng hoc nh hn gi tr b m, tn hiu ra s l CAO. Chu k lm vic do c xc nh bi ni dung ca 2 thanh ghi PWM0 v PWM1. Chu k lm vic nm trong khong t 0% n 100% v c th c lp trnh tnh tin 1/255/ lp li ca tn s fPWM, vi cc tn hiu ra PWMn c xc nh bi: f PWM = f OSC 2 (1 + PWMP) 255

N cho ta tn s lp li t 84.7Hz to 21.7kHz (fOSC=11.0592MHz) trong trng hp ca chng ti. Bng cch a vo cc thanh ghi PWM gi tr l 00H hoc FFH, cc knh PWM s cho tn hiu ra mc CAO hoc THP tng ng. V b m 8-bit m modul 255, n c th khng bao gi t ti gi tr ca cc thanh PWM khi chng ta t FFH. Khi thanh ghi so snh (PWM0 v PWM1) c np gi tr mi, th u ra tng ng s c cp nht ngay lp tc. Vic ny khng cn phi i n ht chu k m. [7] M ngun C sau y c lp cho cc u ra PWM:
/* PWM for Philips 87c552 */ sfr at 0xFC PWM0 ; //Define the registers addresses sfr at 0xFD PWM1 ; sfr at 0xFE PWMP ; PWMP=53; PWM0=127; PWM1=63; [8][9]

//The period of the pulse (set to around 400Hz) //Set 50% duty cycle for /PWM0 //Set 25% duty cycle for /PWM1

Chng 2: Dng Sensor hng ngoi (IR) d vch trng


2.1 Cc c tnh ca IR sensor Trong con robot mu t ng ny, chng ti s dng 2 linh kin hng ngoi (IR): mt linh kin pht hng ngoi (IR emitter) v mt linh kin nhn (IR receiver) to thnh 1 cp cm bin sensor. Linh kin pht s to tia hng ngoi v sau khi phn x s truyn ti linh kin nhn.

Dng in i qua linh kin nhn s t l vi cng nng lng ca tia hng ngoi m n nhn c.

Trong robot mu ca chng ti, linh kin pht v nhn c ni mch theo s hnh di y. Khi TX trng thi thp, dng s i qua linh kin pht v n s pht ra tia hng ngoi. Nu c 1 vt phn x mu trng th nng lng hng ngoi s phn hi li v to mt dng cao hn i qua linh kin nhn, do in p trn IRS0 s h xung. Nu vt phn x c mu en, hoc mu sm hn th in p trn IRS0 s nng ln.

c gi tr in p ny chng ta c th phn bit c vch dn ng mu trng trn nn nh mu xanh. 2.2 IR Sensor iu bin chnh xc ca sensor hng ngoi c miu t trn phn trc b nh hng rt nhiu bi nh sng mi trng. Mc in p trn u ra ca sensor IR khng ch ph thuc vo cng nh sng phn x m cn b thay i bi iu kin nh sng mi trng. gim bt s nh hng ca nh sng mi trng, chng ti dng 1 sensor hng ngoi iu bin thay v sensor IR thng thng. Trong h thng sensor IR iu bin ca chng ti, linh kin pht c bt v tt bi 1 ng h. Tn hiu nhn c sau i qua 1 mch khuch i 1 chiu DC nh trn hnh v di y. T C2 trong mch s chn dng DC ra khi tn hiu i qua b khuch i ny. Ch c phn xoay chiu ca tn hiu thay i tng ng vi tia hng ngoi phn x pht ra t b pht l c khuch i v tch hp vo mc 1 chiu u ra ca mch. Nh vy mc ra ca mch ch ph thuc vo tia hng ngoi m khng ph thuc vo nh sng mi trng. [10]

Chng 3: Lp trnh mt Robot t ng


hon thnh cc cng vic ca 1 robot t ng trong cuc thi Robocon 2005, robot phi c cc tnh nng sau: 1. kh nng ln theo vch trng

2.
3.1

kh nng nhn bit v m cc im giao nhau khi n i qua

Ln theo vch trng Trong con robot t ng mu ca chng ti, chng ti t 2 cp sensor IR: bn tri (Left) v bn phi (Right) phn u ca robot. Khi sensor tri ct ng trng, gi tr ca sensor s h xung di mc in p ngng t trc v chng ta buc phi cho robot chy sang tri mt vi bc iu chnh hng i ca n. Hoc khi sensor phi ct vo vch trng, gi tr ca sensor phi s thp hn gi tr ngng t sn, chng ta phi cho robot chy sang phi mt vi bc iu chnh hng chy chnh xc. Nu c hai sensor u khng ct vch trng th chng ta gi nh l i ng hng v n chy thng. Thut ton ln theo vch trng c miu t trong biu sau:

3.2

D v m nhng ng ct d c nhng im giao nhau ca cc vach khi robot chy qua, chng ti kim tra c sensor tri v phi. Nu c hai sensor u ct vch trng cng lc th chng ta

c th cho rng robot i qua 1 im giao nhau. Trong trng hp ny, chng ta phi cho robot i tip vi bc trnh m 2 ln im giao nhau ny. Thut ton nhn bit v m im giao nhau c v di y:

Hm C di y l v d cho 1 robot ln theo ng trng v m vch giao nhau khi n i qua:


void move_robot(unsigned char step) { int cnt; cnt=0; while(cnt<step) { if (read_sensor(1)>ALIGN_THRESHOLD && read_sensor(2)>ALIGN_THRESHOLD) movet(FORWARD,1,0); else if (read_sensor(1) <=ALIGN_THRESHOLD && read_sensor(2) >ALIGN_THRESHOLD) movet(TURN_LEFT,1,80); else if (read_sensor(2) <=ALIGN_THRESHOLD && read_sensor(1) >ALIGN_THRESHOLD) movet(TURN_RIGHT,1,80); else if (read_sensor(2) <=ALIGN_THRESHOLD && read_sensor(1) <=ALIGN_THRESHOLD) { cnt++; movet(FORWARD,8,0); } } stop(); } move_robot(3); // move the robot for 3 cross line

[11]

References
[1] http://www.robotroom.com/HBridge.html [2] http://personal.telefonica.terra.es/web/x-robotics/downloads/datasheets/L239B.pdf [3] http://www.learn-c.com/l298.pdf [4] http://www.cpemma.co.uk/pwm.html [5] http://www.cse.cuhk.edu.hk/~khwong/ceg3430/mrobot6.ppt [6] http://www.fairchildsemi.com/ds/NE/NE555.pdf [7] http://www.jjmb.nl/datasheets/microcontroller/8xc5x2_ov.pdf [8] http://www.cse.cuhk.edu.hk/~khwong/ceg3430/87c552.h [9] http://www.cse.cuhk.edu.hk/~khwong/ceg3430/demo.c [10] bottom.pdf [11] RoboconDemo05.c

You might also like