You are on page 1of 70

DKS GROUP

Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Robocon c t chc t nm 2002.Cuc thi ny cun ht rt nhiu


bn sinh vin c nim am m khoa hc k tht.Cuc thi ny em li cho
1

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

chng ta rt nhiu nhng kin thc v k thut ,rn luyn c tnh kin tr
,bn b ,dm i mt vi gian kh .Hn na ,cuc thi li nhng k
nim p v mt thi sinh vin.
Gio trnh ny c bin son nhm gip cc bn c c mt ci nhn
tng quan v robot ,s nh hng c th v nhng kinh nghim qu bu khi
tham gia robocon
Gio trnh gm 8 bi :
Bi 1: Gii thiu v Robot Cc Modul ca robot.
Bi 2: Mch iu khin robot bng tay.
Bi 3: Mch cm bin d ng.
Bi 4: Mch cng sut iu khin ng c .
Bi 5: Mch vi iu khin.
Bi 6: Lp trnh v k thut d ng .
Bi 7: Lp trnh cc thao tc khc v chin thut.
Bi 8: Chng trnh hon thin cho mt robot t ng
Ton b cc bi hc u c thc hnh trn mch v robot tht.S dng
mch in v robot ca i BK-FIRE.

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Bi ny s gii thiu cho cc bn mt cch tng quan v robot v cc


modul ca robot cng nh mt s kinh nghim khi lm robocon.
1.1.Gii thiu v robot
1.1.1.Nhng hnh nh v robot trong cc cuc thi robocon
Hnh 1.1.BK-FIRE 2005 (Robot t ng)

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

Hnh 1.3. FXR 2004 (robot t ng)

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Hnh 1.4.BKPRO 2006

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

1.1.2.Cc modul trong robot


Trong robocon ,c 2 loi robot l robot t ng v robot iu khin bng
tay.
Robot bao gm 3 phn chnh :C kh ,mch in t v lp trnh
+ C kh :
5

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Phn ny bao gm cc kt c c kh ca robot .Phn ny mi nm


u thay i tu thuc vo thi.y chnh l phn th hin tng ca
bn.Khi c mt tng c o ,mt kt cu c kh tt ,bn s c nhiu
c hi dnh chin thng.Trong cuc thi robocon , tng ng vai tr
rt quan trng .Do ,khi thit k c kh ,ton i cn phi hp bn k
lng a ra mt gii php thit k c kh ti u nht. thit k c
kh ,cc bn c th dung cc phn mm thit k c kh chuyn dng nh
Solid work ,Autocad.
Hnh 1.3.C cu bnh xch

Hnh 1.4.C cu kh nn

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

C cu kh nn c BK-FIRE s dng u tin trong cuc thi robocon


2005 .T ,c cu ny c rt nhiu i s dng v rt thnh cng
nh FAS-01 ,BK-FIRE (2006).
+ Mch in t
Mch in t trong robot ng vai tr nh nhng mch mu trong mt c
th ngi .N ng vai tr kt ni ton b nhng b phn khc trong robot
thnh mt th thng nht.
Mch in t trong robot bao gm cc phn chnh :
- Mch vi iu khin (8051 ,PIC ,AVR) ng vai tr nh b no ca
robot iu khin ton b hot 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 gi tn hiu v vi iu khin.
- Mch cng sut iu khin ng c ,dng iu khin cc c cu ca
robot
- Mch chin thut thi u :cho php ngi s dng c th tu la chon
chin thut khi trn sn thi u.

Hnh 1.5.Mch in t trong robocon (FXR)

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Hnh 1.6.Mch robot (BK-PRO 2006)

+Lp trnh
Chng trnh trong robot ging nh b no ca mt c th ngi ,robot ch
hot ng c khi c chng trnh ci t sn cho n.Cc chin tht thi
u ,ng chy ca robot l do ngi lp trnh qut inh .Hai ngn ng
c s dng nhiu trong robocon l C v ASM .Tuy nhin ,ngn ng C
c s dng nhiu nht v C c cu trc d debug li v c bit thun tin

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

khi lm nhng chng trnh ln (Cc chng trnh trong robocon rt phc
tp).
mt robot c th hot ng tt ,cn phi c s phi hp cht ch gia cc
phn c khi ,mch ,v lp trnh .Nu mt b phn khng tt ,th robot s
khng hot ng c.
1.2.Mt s kinh nghim khi tham gia robocon.
1.2.1.T chc i hnh.
Mt i robot bao gm 7 n 10 ngi ,v thng c chia thnh 3 nhm
-Nhm c kh :Thit k ,gia cng c kh (3-4 ngi).
-Nhm mch in t :Thit k ,lm mch cho robot (2-3 ngi).
-Nhm lp trnh: Lp trnh ,test robot (3 ngi)
Ngi i trng phi c trch nhim phn cng r rng cng vic cho
tng ngi ,cc thnh vin phi nghim tc chp hnh trnh hin tng ch
, li.
1.2.2.Mua sm thit b linh kin
i robot phi c nh hng r rng ,lm robot cn c nhng phng tin
g ,a im mua hng c th.
Cng c c kh :Khoan my ,ca my ,ca tay ,inh rt : a im :Ch
gii (Ph Hu)
Cng c in t :M hn ,ht thic ,ng h in t.v.v.v a im :Trn
Cao Vn ,17 Hn Thuyn ,70 Hng Trng ,269 i Cn.
1.2.3.Tm kim ti tr
lm robot ,bn phi tn rt nhiu tin (trung bnh t 20 n 30 triu v
c th nhiu hn na) .Vi iu kin sinh vin ,cc bn rt kh c th c
c s tin nh th ,Do ,bn cn phi tm kim cc nh ti tr t cc
doanh nghip.Tuy nhin xin c ti tr ,bn cn phi c phng n k
hoch c th ,hay nhng mi quan h khc.
-a ch mt s doanh nghip cc bn c th xin ti tr
a) Cng ty Elcom 18 Nguyn Ch Thanh
b) Cng ty c phn k thut SEEN (T Lim)
c) Cng ty Ameco (Tng 1 to nh sng Phng Lit)

Robot iu khin bng tay l mt phn khng th thiu c trong


robocon .Trong mt s trn ,robot bng tay c vai tr h tr cho robot t
9

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

ng .i khi ,robot bng tay gip thay i cc din trn sn.Mch iu


khin robot bng tay phn ln l mch relay iu khin ng c.
2.1.Chc nng ca mch iu khin bng tay
Mch iu khin bng tay dng iu khin cc ng c ca robot bng
tay.Vic iu khin ng c bao gm cc chc nng sau
- iu khin ng c quay ngc (robot li )
- iu khin ng c quay xui (robot tin )
- Dng ng c (dng robot)
Relay c dng trong robot bng tay l loi relay OMRON ,dng ln

Hnh 2.1.Role omron

2.2.Nguyn tc hot ng mch iu khin robot bng tay


Mch ny s dng 2 relay iu khin 1 ng c ,cp ngun cho relay th 1
th ng c quay phi ,cp ngun cho relay th 2 th ng c o chiu.
S mch iu khin bng tay

10

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Bn thit k mt mch iu khin s dng cc nt bm ng m cc relay


,mch rt n gin v hiu qu.Tuy nhin ,lm nh vy s khng thm m
v bt tin .Do bn c th thit k b iu khin bng gamepad PS 2
iu khin .
(Phn ny c tham kho ti liu trn mng)
Gamepad cho Robot iu khin bng tay chia lm 2 loi : iu khin t xa
bng hng ngoi v iu khin qua dy cp. Nu dng cc mch thu pht
hng ngoi thng thng th tnh n nh khi thi u khng cao (!), tt nht
nn dng Vi x l (VXL) thu pht theo tn s ring ca mnh (nh POL
chng hn). iu khin qua dy cp mang tnh n nh rt cao, y chng
ti cp ti cch s dng gamepad qua dy cp.
1.S dng gamepad playstation ca SONY.
Kt ni trc tip vo Vi x l. Rt gn khi thit k phn cng, tuy nhin
chng ta nn km theo nt Reset VXL trn gamepad tng tnh n nh.
y l phng php s dng ca i FXR.
2.Ci to phn mch ca 1 gamepad bt k:
Trong mch ca cc gamepad bt k, cc nt nhn c thit k nh l cc
cng tc hnh trnh (tc l c 1 im chung ni mass).
+ Ct b ng mch in ni cc nt nhn vi phn iu khin ca
gamepad.
+ S dng cc nt nhn nh l cc cng tc hnh trnh c lp.
a. Truyn ni tip :

11

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Theo cch x l ny chng ta ch s dng cp 4 si : +5v, mass, TXD, RXD.


Cch x l ny vn cha n nh tuyt i nhng s dng t Port VXL.
Nn km theo nt Reset VXL trn gamepad tng tnh n nh. y l
phng php Basic Bot s dng nm 2003 v 2004.
b. Truyn song song :
Thc cht ta ni tt c cc nt nhn xung thng mch iu khin, khi
cc nt
nhn ng vai tr nh l nhng cng tc hnh trnh. Phng php ny rt n
nh, tuy nhin nhc im l rt tn Port VXL (mi nt nhn ng vi 1
Port).

Cch khc phc nhc im trn :


S dng mch dn knh 16 sang 1.

12

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

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 thi robocon 2004 rt thnh cng (ot chc v ch )

Bi 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 trng xung quanh (vch trng ,chng ngi vt ) t c bin
php x l.
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 2.1.Sensor hng ngoi.

i vi robot cng nghip ,bn c th s dng nhng loi cm bin cng


nghip ca cc hng Omron ,hay Siemens.Cc loi cm bin ny c nhy
cao v kh nng chng nhiu tt.Tuy nhin gi thnh rt t (hng trm
),cho nn s dng chng trong robocon th khng ph hp .Bn hon ton
c th t ch to mch sensor cho mnh.

Hnh 2.2.Mt s sensor dng trong cng nghip

13

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

3.1.Mch sensor pht thng.

14

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

3.1.1.S nguyn l
C
D
V
5

C
D
V
5

0
_
2
P

0
_
2
P

R44
R

R44
R

D7
LED

D7
LED

U11A
2

2
1

74LS14 3
1

R43
R

U11A

U11F

74LS14

2
1

74LS14 3
1

R43
R

C31
CAP NP

C31
CAP NP
GND

GND

U10A

U10A

1
4

11
+
3

11
+

LM324
BIEN_TRO_1

1
_
N
I

1
_
N
I

3.1.2.S mch in

15

LM324
BIEN_TRO_1

U11F

74LS14

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

3.1.3.Nguyn l hot ng.


Trong s nguyn 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 hiu t sensor .Tn hiu ra t LM324 c a v IC 7414
(Triger inverter) o mc tn hiu ,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
tia hng ngoi chiu xung nn en , led pht khng nhn c chm phn
x nn khng dn ,in tr bng v cng ,tn hiu ra LM324 l mc 1 ,qua
7414 b o mc tn hiu v 0 (led bo sang ,tn hiu vo vi iu khin l
mc 0).Tng t ,khi robot gp nn trng ,mc tn hiu ngc li ,led bo
tt ,tn hiu vo vi iu khin mc 1.
3.1.4.u nhc im
Mch sensor pht thng c u im l n gin ,d ch to ,tit kim chi
ph .Tuy nhin ,nhc im ca mch sensor pht thng l kh nng chng
nhiu km .Khi trn 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 ng ca sensor (t trong hp kn ,hoc
bc bng dnh en cc sensor).
3.2.Mch sensor pht xung

16

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

c im ca mch sensor pht xung l kh nng chng nhiu tt


,khng b nh hng bi cc iu kin bn ngoi nh nh sng.Tuy nhin
,mch pht xung c nhc im l phc tp ,khng tin li
5VVDK
RLED1
2.2K

5VVDK
5VVDK
22K
C1.1
1nF

U1A
3

THU1
R1.1
22K

R3.1

LED1

12

2 LM324
-

R2.1

104
100K

COMPA

1
1

C2.1

U1D

4
+

14

VDK1

13 LM324
COMPB 1
1
5VVDK

Trn thc t ,trong cc cuc thi robocon a s cc i s dng mch sensor


pht thng .Bi v mch sensor pht thng tng i n gin ,d s dng

3.3.B tr sensor
Trn 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

17

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

.Cch b tr sensor s tu thuc vo tng v cht lng cc loi ng


c bn s dng trong robot.
Xin gii thiu 2 phng php b tr sensor trn robot
a) S dng 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
,quay ng t quay bng 1 bnh (bnh quay ,bnh dng).Trong cch b tr
ny ,sensor 2,3,4,5 c s dng bm ng ,hai sensor ngoi cng 1 v
6 c dng m ng t v quay phi ,quay tri.Phng php b tr
sensor ny c FXR s dng nm 2004 v ot chc v ch.
a) S dng 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 c c hm km ,quay
ng t bng 2 bnh.( 2 bnh quay ngc chiu nhau). s trn ,2 sensor
c lp pha di ca robot bt ng t ,cn 6 sensor pha trn dng
bm ng.y l cch m BK-FIRE s dng trong cuc thi robocon
nm 2005.
3.4.Cng tc hnh trnh
Cng 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 ,b bng.
Hnh 3.3.Cng tc hnh trnh

18

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Cng tc hnh trnh c 3 chn : dng thng ng ,thng m. Mt chn


tn hiu c ni t hoc VCC , mt chn c ni vi vi iu khin.
Trong robocon ,vic b tr cng tc hnh trnh cn phi linh hot ,kho lo
pht huy ti a kh nng nhn bit ca robot.
3.5.Encoder
Mt cng ngh mi c mt s i robot p dng trong nhng nm gn
y l s dng cc b encoder .
C s ca phng php ny l s dng c tnh di qung ng i c
v sai s chuyn ng gia hai bnh ca ng c nh khai thc tnh cht ca
b m ho xung vng quay (Rotary encoder).

B encoder thc cht l mt a c c l c gn cp sensor thu pht 2 bn


.B encoder c gn trn bnh xe hoc trn ng c ca robot

Nguyn tc hot ng ca encoder


Gm 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
19

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

ng. Qu trnh a chuyn ng lm cho phn photo sensor thay i trng


thi v to ra mt chui cc xung vung trn u ra. y l thng s k thut
quan trng ca mt encoder. Tu theo s l trn a m s xung to ra trong
mt vng quay ca a khc nhau. S lng xung cng ln ngha l s l
cng nhiu trn mt vng trn 360. Ngha l ta cng c th iu khin chnh
xc. V d nhin b encoder cng t tin. Chng ta c th thy c nhiu loi
encoder dng t trng hoc trn a c nhiu vng l nhng ti gii thiu
loi ph dng v n gin nht l s dng nh sng nh trn. Trong thc t
chng ta c th thy 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 u v nhc im ring m ti khng cp y. Hnh dng cc
encoder :

Khi robot mun dch chuyn theo mt qu o xc nh cn cn c vo hai


trng thi c bn l qung ng i c ca hai bnh (tham chiu vi
chng trnh, v hng chuyn ng), Sai s qung ng gia hai ng c.

20

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Phng php ny th hin c tnh rt mm do khi phi chuyn hng v c


th xoay robot mt gc bt k ra khi qu o chnh.
Encoder thng c 6 dy (hoc 4 dy ty loi ) bao gm 2 dy ngun ,2 dy
tn hiu A v B v dy pha Z.2 dy tn hiu A v B cho php bn xc nh s
vng quay ca ng c ,vn tc v chiu quay ca ng c. lp trnh x l
tn hiu encoder ,bn c th ni 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 s m xung t vi iu khin.
Bn c th tham kho code di y
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;
}
21

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

}
// quay dung bo lap ma
void quayphai(unsigned char bytecao,unsigned char bytethap)
{
TMOD=0x55;// dem su kien
P1_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;

}
}
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;
22

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

}
}
// 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)
{
unsigned long i;
for (i=0;i<time ;i++)
23

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

{}
}
// bam xung bang bo dinh thoi

void quayphaingatu()
{
motor(backward);
delay(3500);
motor(stop);
delay(10000);
motor(left_go);
delay(4500);
bamxung_quay(5,motor_left);
motor(stop);
}
void quaytraingatu()
{
motor(backward);
delay(3500);
motor(stop);
delay(10000);
motor(right_go);
delay(4500);
bamxung_quay(5,motor_right);
motor(stop);
}

4.1. ng c.
ng c c s dng trong robocon l loi ng c 1 chiu (DC motor).
Hnh 4.1.ng c 1 chiu

24

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Vic la chn ng c cn c vo cc tiu ch sau:


-Tc
-Kh nng chu ti
- hm
-Dng ,p
-i vi ng c dng cho c cu chuyn ng (phn ca robot) yu cu
t ra l phi c tc nhanh ,v c hm tt .ng c thng c s
dng phn ny l loi ng c pitman.
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 th s dng ng c vung tho bnh
rng .y l cc m BK-FIRE s dng trong cc thi robocon2005 ,bng
cch ny ,robot ca BK-FIRE t c tc kh cao.

25

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Hnh 4.3.ng c pitman.


-i vi ng c dng cho c cu nng h ,gp qu (phn trn ) yu cu
phi c kh nng chu ti ,kho .Loi ng c thng c s dng l loi
ng c gt nc hoc ng c c hp iu tc .c im ca loi ng c
ny l tc khng cao nhng lc quay rt kho c th chu ti ln.Trong
nm 2005 ,cc i robocon BK- Nng s dng ng c ny cho robot
trung tm v t hiu qu rt cao.
-Trong mt s trng hp ,robot cn phi c tc cc nhanh .VD nm
2005 v 2006 ,cc robot trung tm phi c tc c bit nhanh (trong vng
1,5s-2s phi chim lnh c uc trung tm). gii quyt vn ny,mt
s i s dng ng c xe my cho robot trung tm.ng c xe
my c dng ln ,v tc rt nhanh.Tuy nhin vi loi ng c ny th cc
mch cng sut khng th iu khin c. gia tng tc ,bn c th lp
t c cu xch cho robot ca mnh.
4.2.Mch iu khin ng c
4.2.1.Mch relay
4.2.1.1.S nguyn l

26

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861
R20
DC1_DIR
R
R19
DC2_DIR

http://www. dks.com.vn

24VDC
Q6
2N1470
ROLE1_ON

LS1

J16
8

24VDC

1
2

7
4

24VDC
TRAN1_ON3
Q5
2N1470
ROLE2_ON

R
TRAN1_ON

CON2
5

ROLE1_ON1
GND
2
20-2121-DPDT
LS2

DC1_EN

Q1
IRF540N/TO

R30

8
24VDC

GND

7
4
TRAN2_ON 3

R
TRAN2_ON

DC2_EN

J17
1
2
CON2

5
ROLE2_ON 1
GND
2
Q2
IRF540N/TO

R29

20-2121-DPDT

GND
R

4.2.1.2.Nguyn l hot ng.


Loi relay c s dng trong mch robot t ng l loi relay 8 chn (2
tip im )
Mch relay iu khin ng c s dng 2 tn hiu iu khin .Chn DC_EN
v chn DC_DIR ,chn DC_EN l chn kch FET (ng m FET) chn
DC_DIR l chn o chiu .Tuy nhin ,trc khi o chiu ng c bn phi
tt FET trc ,nu khng s gy cht FET.

4.3.Mch cu H iu khin ng c
4.3.1.S nguyn l
27

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

+12V
5V
5V
5V

4
1

U1A
3

12

4
1

R01
1K
Opto1.1
PS2501-1

U1D

RCH1.5
10K

RCH1.6
10K

QCH1.1

11
13
74LS00
7

MTP60P06

QCH1.3
MTP60P06

74LS00
7

NGUON5V

MCH1+

4
3
2
1

MCH15V

CON4

MCH1-

MCH1+

5V

2 1
OUT1

5V

5V

4
1

R02
1K
Opto1.2
PS2501-1

U1B
6

4
1

U1C

-12V
QCH1.4
MTP60N06

8
74LS00
7

+12V
NGUON12V

MTP60N06

10

1
2
74LS00
7

QCH1.2

RCH1.9
10K

CON2

RCH1.8
10K

-12V

4.3.2.S mch in

4.3.3.Nguyn l hot ng
Mch cu H iu khin ng c s dng 4 MOSFET IRF540 khuch i
cng sut v ng m.
Hnh 4.4.IRF 540

28

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Mosfet l loi transitor hiu ng trng (MOSFET = metal-oxide


semiconductor field-effect transistor) MOSFET l m hnh ngun dng ph
thuc p.Nh vy kch dn MOSFET cn a in p vo hai cc Vgs.
Mt im khc ca MOSFET na l MOSFET c Vds khng n nh nh
Vce (BJT) m n ph thuc vo gi tr n nh khc l Rds-on ( ch
ng ngt). Nh vy Vds = Id*Rds. Nh vy cng sut tiu tn trn
MOSFET ch yu ph thuc vo Rds.
C hai loi MOSFET knh P v knh N.
Loi knh N thng c Rds nh hn knh P.
Loi knh N cn Vgs > 0 dn.
Loi knh P cn Vgs < 0 dn.
a s cc MOSFET bt u dn khi abs(Vgs) xp x 5. Thng gi tr
khuyn co l 10V. Khi in p ln hn 15 bt u c nguy c nh thng
Vgs. Kh nguy him l khi b thng MOSFET thng dn lun dn n d
n. Trong m hnh ca MOSFET c mt ci t k sinh t gi l Cgs cn
quan tm n t ny khi thit k mch li s dng PWM.Khi lm Robot
thng dng con IRF540 li ng c DC hoc dng mch cu 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
na c ni vi 2 chn vi iu khin.
Gi s 2 tn hiu iu khin l A,B (tng ng 2 chn P1.0 ,P1.1)
iu khin ng c DC c cc trng thi iu khin :ng c quay ,o
chiu ,dng v iu khin tc ng c.

Ta c bng trng thi


P1.0
1
0
1

P1.1
0
1
1

Trng thi
ng c quay xui
ng c quay ngc
Dng ng c
29

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

1
1
Dng ng c
4.3.4.M ngun iu khin ng c
#include <at89x52.h>
#include <robot.h>
unsigned char dutycycle=0 ;
/*
P2_0 P2_1 : dieu khien dong co nang ha
P2_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;
}
}
}

30

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

void motorkep(unsigned char state)


{
switch (state)
{
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<time ;i++)
{}
}
void nangnhanhdan(unsigned char time1,unsigned time2)
{
31

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

unsigned char x,y;


for (x=0;x <time1 ;x++)
{
for ( y=0;y<time2; y++)
{
P2_0=1;
P2_1=0;
delay(dutycycle);
P2_1=1;
delay(Time-dutycycle);
}
dutycycle++;
if (dutycycle==255) break;;
}
}
void nangchamdan(unsigned char Time1,unsigned Time2)
{
unsigned char x,y;
for (x=0;x <Time1 ;x++)
{
for ( y=0;y<Time2; y++)
{
P2_0=1;
P2_1=0;
delay(dutycycle);
P2_1=1;
delay(Time-dutycycle);
}
dutycycle--;
if (dutycycle==0) break;
}
32

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

}
void nhabong(unsigned char timedelay)
{
motorkep(nha);
delay(timedelay);
motorkep(phanh);
}
void main()
{
// trang thai gap bong
motorkep(kep);
delay(255);
motorkep(phanh);
// co cau nang bong hoat dong
nangnhanhdan(100,100);

// chang 1 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 trang thai nha bong hoat dong
*/

33

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

nhabong(100);

while(1)
{
motor(dung);
motorkep(phanh);
}
// P0=0xFB;
}
/* bo qua thu 1 */
4.3.5.K thut iu ch rng xung iu khin tc ng c (PWM)
iu khin tc ng c l mt k thut ht sc quan trng trong vic lp
trnh robot .K thut ny gip bn c th iu 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 trn sn.
a) Cch to xung c rng thay i bng VK.
Cch 1: Nh cc bn iu khin nhp nhy 1 con led, l to ra 1 xung
1 chn ca vi iu khin, nhng xung c rng c nh, tn s ln,
cch bn c th iu chnh li hm delay tn s ca n ng 1 Khz. Tuy
nhin v l dng hm delay nn trong thi gian c xung ln 1(5V) v thi
gian khng c xung(0V) vi iu khin khng lm g c, hn na to xung
bng vic delay m cc bn c nhu cu cn 2 b pht xung 2 knh, c cng
tn s m khc rng xung th tr nn rt kh khn. Cho nn chng ta
dng b nh thi Timer ca vi iu khin trong trng hp ny rt tin.
+ Cch 2: Dng ngt Timer ca b vi iu khin.
Trc ht nhc li v ngt ca vi iu khin:
+ Ngt l g ? tr li cu hi ny ti xin trch an v ngt trong bi
2 v d cho ngt timer:
Timer

Program excution without interrut


Main Program

ISR

Main

**

ISR

Main

**

ISR

Main

Program excution34with interrupt.

**

Main

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Mt chng trnh chnh khng c ngt th chy lin tc, cn chng trnh
c ngt th c khi no iu kin ngt c m bo th con tr s nhy sang
hm ngt thc hin xong hm ngt li quay v ng ch c thc hin tip
chng trnh chnh. Ti c 1 v d nh sau: Bn ang n cm , c ting in
thoi , bn t bt cm ra nghe in thoi , nghe xong li quay v bng bt
cm ln n tip. Th qu trnh n cm ca bn l chng trnh chnh,c in
thoi gi n l iu kin ngt, bn ra nghe in thoi l thc hin chng
trnh ngt(Interrupt Service Rountine),quay v n cm tip l tip tc thc
hin chng trnh chnh.
Ngt i vi ngi mi hc vi iu khin l rt kh hiu, v a s cc ti
liu u khng gii thch ngt lm g. C nhiu loi ngt khc nhau
nhng tt c u c chung 1 c im, ngt dng cho mc ch a nhim.
a tc l nhiu, nhim tc l nhim v. Thc hin nhiu nhim v .
Cc bn nhn vo tin trnh ca hm main vi chng 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 d n cm
nghe in thoi ca ti ch, thi gian thc hin hm chnh l rt ln,thi
gian thc hin hm ngt l rt nh, cho nn thi gian thc hin hm ngt
khng nh hng g n thi gian thc hin hm chnh Nh vy trong hm
ngt cc bn lm 1 vic, trong hm chnh ca bn lm 1 vic
nh vy coi nh cc bn lm c 2 vic(a nhim) trong 1 qung thi gian
tng i ngn c mS, ch thc ra ti 1 thi im vi iu khin ch thc thi
1 lnh.
V d : Bn th ngh xem lm th no va iu ch xung PWM iu
chnh tc ng c , va c cc cm bin u vo m tc ng c ph
thuc u vo cm bin.
Vy ngt l 1 iu kin no xy ra ngu nhin m vi iu khin c
th bit do phn cng ca vi iu khin, ri ta cn c vo lp trnh.
* V d: Vi ngt b nh thi timer, hay b m counter l khi trn
b m th phn cng ca vi iu khin s bo c ngt xy ra v nhy n
chng trnh phc v ngt( ISR_ Interrupt Sevice Rountine) 1 cch t ng.
Vi ngt ngoi, chn P3.2 chng hn, nu ta khai bo trc chn s
dng chn P3.2 s dng cho ngt ngoi ch khng phi s dng cho mc
35

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

ch IO thi c khi c 1 xung xut hin t mch ngoi vi truyn vo chn


P3.2 th phn cng ca vi iu khin nhn ra v chuyn ti chng trnh
phc v ngt.
Vi ngt ni tip th c khi c k t truyn t my tnh xung vi iu
khin th s c hin tng ngt xy ra.
- Hm ngt:
Cu trc:
Void Tnhm(void) interrupt ngunngt using bngthanhghi
{
// Chuong trinh phuc vu ngat o day
}
Ch v hm ngt:
+ Hm ngt khng c php tr li gi tr hay truyn bin vo hm.
+ Tn hm bt k.
+ interrupt l t kha phn bit hm ngt vi hm thng.
+ Ngun ngt t 0 ti 5 theo bng vector ngt.
+ Bng thanh ghi trn ram chn t 0 n 3.
Ty theo bn vit hm ngt cho ngun no bn chn ngun ngt t bng
sau:
Ngt do
C
a ch vector
Reset h thng
RST
0000H
Ngt ngoi 0
IE0
0003H
B nh thi 0
TF0
000BH
Ngt ngoi 1
IE1
0013H
B nh thi 1
TF1
001BH
Port ni tip
RI hoc TI
0023H
B nh thi 2
TF2 hoc EXF2
002BH
Ring ngt Reset khng tnh, bt u m t 0 v t ngt ngoi 0. V d: ti
cn vit hm ngt cho b nh thi timer 1 hm ngt s l.
void timer1_isr(void) interrupt 3 using 0
{
// Lenh can thuc hien.
}
- V using 0: C 4 bng thanh ghi bn c th chn cho chng trnh phc v
ngt, ci ny cng khng quan trng. Trong hm ngt cc bn c th b i t
using 0, khi vi iu khin s t sp xp l dng bng thanh ghi no.

36

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

- Hm ngt khc hm bnh thng ch no. Hm bnh thng v d hm


delay, c khi bn gi n th n s c thc hin, c ngha l n c v tr c
nh trong tin trnh hm main, c ngha l bn bit n xy ra khi no. Cn
hm ngt th khng c tin trnh c nh, iu kin ngt c th xy ra bt k
lc no trong tin trnh hm main v c khi no c iu kin ngt th hm
ngt s c gi t ng.
- s dng ngt ta phi lm cc cng vic sau:
1) Khi to ngt: dng ngt no th cho php ngt hot ng bng
cch gn gi tr tng ng cho thanh ghi cho php ngt IE( Interrupt
Enable):
EA
ET2
ES
ET1
EX1
EX0
ET0
iu khin cc ngun ngt
IE
(0: khng cho php; 1: cho php)
IE.7
EA
Cho php/ khng cho php ton cc
IE.6
--Khng s dng
IE.5
ET2
Cho php ngt do b nh thi 2
IE.4
ES
Cho php ngt do port ni tip
IE.3
ET1
Cho php ngt cho b nh thi 1
IE.2
EX1
Cho php ngt t bn ngoi (ngt ngoi 1)
IE.1
EX0
Cho php ngt t bn ngoi (ngt ngoi 0)
IE.0
ET0
Cho php ngt do b nh thi 0
IE l thanh ghi c th x l tng bt. V d : bn mun cho php ngt timer 1
bn dng lnh: ET1=1; Khng cho php na bn dng lnh : ET1=0; Hoc
bn c th dng lnh IE= 0x08; th bit 3 ca thanh ghi IE tc(IE) s ln 1.
Nhng cch th nht tin hn.
2) Cu hnh cho ngt: Trong 1 ngt n li c nhiu ch v d: vi
ngt timer. Bn phi cu hnh cho n chy ch no, ch timer hay
counter, ch 16 bit, hay 8 bit, bng cch gn cc gi tr tng ng cho
thanh ghi TMOD( Timer MODe).
TMOD
Chn model cho b nh thi 1
7
GATE
Chn model cho b nh thi 1
6
C/T
Bt chn chc nng m hoc nh thi:
5
M1
Bit chn ch th nht
4
M0
Bit chn ch th 2
M1 M0 Ch
Chc nng

0
0
0
Ch nh thi 13 bit
0
1
1
Ch nh thi 16 bit

37

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Ch t ng np li
8 bit
1
1
3
Ch nh thi chia
x
3
GATE
Bit iu khin cng cho b nh thi 0
2
C/T
Bit chn chc nng m / nh thi cho
b nh thi 0
1
M1
Bit chn ch th nht cho b nh thi
0
0
M0
Bit chn ch th 2 cho b nh thi 0
V d ti cu hnh cho b nh thi 1 ch timer,vi b m 8 bit t ng
np li(auto reload) dng lnh sau: TMOD=0x20.
Cc bn ng lo v vic phi nh bng thanh ghi ny, cc bn khng phi
nh ni trng ra nh vy, chuyn sang phn lp trnh cc bn s c hng
dn lm th no khng phi nh, nhng ch lp trnh vi C mi lm c
cn lp trnh Asem th bt buc phi nh .
3)Bt u chng trnh c ngt:
-Trc khi bt u cho chy chng trnh ta phi cho php ngt ton
cc c xy ra bng cch gn EA(Enable All interrupt) bng 1, th ngt
mi xy ra.
-Thng th ngay vo u chng trnh(hm main) trc vng
while(1) chng ta t cng vic khi to, cu hnh v cho php kim tra
ngt. V d vi b nh thi timer ta gn cc gi tr ph hp cho thanh ghi
TCON( Timer CONTROl).
TCON
iu khin b inh thi
TCON.7
TF1
C trn ca b nh thi 1. C ny c set
bi phn cng khi c trn, c xo bi
phn mm, hoc bi phn cng khi b vi x
l tr n trnh phc v ngt
TCON.6
TR1
Bit iu khin hot ng ca b nh thi 1.
Bit ny c set hoc xo bi phn mm
iu khin b nh thi hot ng hay
ngng
TCON.5
TF0
C trn ca b nh thi 0
TCON.4
TR0
Bit iu khin hot ng ca b nh thi 0
TCON.3
IE1
C ngt bn ngoi 1 (kch khi cnh). C
ny c set bi phn cng khi c cnh m
(cung) xut hin trn chn INT1, c xo

38

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

bi phn mm, hoc phn cng khi CPU tr


n trnh phc v ngt
TCON.2
IT1
C ngt bn ngoi 1 (kch khi cnh hoc
mc). C ny c set hoc xo bi phn
mm khi xy ra cnh m hoc mc thp ti
chn ngt ngoi
TCON.1
IE0
C ngt bn ngoi 0 (kch khi cnh)
TCON.0
IT0
C ngt bn ngoi 0 ( kch khi cnh hoc
mc)
V d chy b nh thi timer 1 ta dng cu lnh: TR1=0;
TR1(Timer Run 1). Cn bn no thch kh th:TCON=0xxx;
Cn cc loi ngt khc qu trnh tng t, y l kha hc c bn ch lm
vic vi ngt timer, trong kha nng cao s c cc ngt cn li, tuy nhin
lm vic c vi ngt timer th cc ngt khc cc bn cng c th lm
tng t, cc bn lm n ngt no th dng ti liu tra bng thanh ghi ca
ngt . Ti liu ti s gi cng bi ny.
- Quay tr li bi hc:
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(Timer Low1) s tng 1,c thn ni timer 1 m s chu k my. i vi
ch 8 bt.
TL1 l 1 thanh ghi 8 bt, l b m ca b nh thi r ri. N m c t
0, n 255. Nu n m n 256 th b m trn, TL1 quay vng li bng 0,
v c ngt TF1(Timer Flag 1) t ng c gn ln 1(bng phn cng ca vi
iu khin) nh 1 cng tc t ng bt, v ngt xy ra.
Cn vi ch 16 bt, b m ca b nh thi cn 1 thanh ghi 8 bt
na l TH1(Timer high 1), nu cu hnh cho timer 1 hot ng ch 16
bit th khi TL1 trn n s m sang TH1(TH1 s tng 1). Nh vy ta c th
m: 216 chu k my( 2 thanh ghi 8+8=16 bt).
Ch l khi b m trn ngt s xy ra. Nu ta cn m 256 chu k my th
khi khi to ta cho TL1=0; , cn nu khng mun m 256 chu k my m ta
ch cn m 100 thi ngt xy ra ri th ta fi lm nh sau: 256-100 =
156; v khi khi to ta gn : TL1=155; v m t 155 n 255 l 100 ln
th ngt xy ra.
Vi yu cu ca bi. To xung tn s 1Khz Chu k = 1/103 = 0,001 giy=
1 mili giy=1000 uS= 1000 chu k my. Vi 10 cp tc , tc l bn phi
to ra c xung 10%, 20%, 30%, 40%, , 90%, 100%. 1 xung nh sau:
5V
39

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

0V

T : Chu k
1000 miro giy.
Khong thi gian xung ko di 5V l T1. Xung 10% tc l T1/ T=
10%=1/10. Xung 20% T2/T=2/10PWM(Thay i rng xung)
By gi ti mi xin ni v phn 2.
4.3.5.Nguyn l ca PWM
- Xung PWM: a ra m transitor, xung vi rng ln hn transitor s
m lu hn ng c s quay nhanh hn,d nhin khng tuyn tnh. Khng c
xung ng c s khng quay, c xung 100% ng c s quay max.Tuy nhin
xung phi ln hn 1 mc no th mi khi ng cho ng c. Cc c
tnh ny cc bn tham kho trong gio trnh v my in, kh c in, nu
cc bn cn thng s chnh xc.
c th thay i 10 cp tc vi chu k 1000uS, ta khi to cho ngt
timer: 100 uS ngt 1 ln. Trong hm ngt kim tra xem ta cn cp xung bao
nhiu % th ta s gn gi tr cho n. C th nh sau:
* Hm khi to ngt.
Dng ngt timer 0, 100 uS ngt 1 ln, dng ch 2 8 bit t ng np
li ca timer (v mnh ch cn m n 100).TL0 np bng 156. i vi ch
2 khi trn b m TL0 s quay vng gi tr bng 0, nhng sau n li
c np gi tr lu trong TH0(gi tr np li), do ta ch cn gn gi tr
choTL0 v TH0 trong hm khi to, cn cc ch khc 16 bit, 2 timer
counter 8 bit, khi trn b m TL0 khng c np li m ta phi t gn li
gi tr cho n trong hm ngt.
void khoitaotimer0(void)// Ham khoi tao
{
EA=0;// Cam ngat toan cuc
TMOD=0x02;// Timer 0 che do 2 8 bit auto reload
TH0=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 ngat timer 0
EA=1;// Cho phep ngat toan cuc
TR0=1;// Chay timer 0 bat dau dem so chu ki may
}
40

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Mch vi iu khin ng vai tr l phn trung tm ca robot .Vi iu khin


c th v nh l b no ca mt c th ngi ,iu khin mi hot ng ca
robot.
5.1.Gii thiu mt s loi vi iu khin c s dng trong robocon
5.1.1.Vi iu khin 8051
Vi iu khin 8051 l loi vi iu khin c s dng nhiu nht trong cc
cuc thi robocon t trc ti nay.Bi v n c gi thnh r ,d mua v nhiu
ti liu ting Vit.Chnh v th ,nhiu i robocon s dng 8051 l b no
cho robot ca mnh.
Hnh 5.1.Vi iu khin 8051

41

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Hnh 5.2.S chn

42

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Trong cc loi iu khin h 8051 ,vi iu khin 89c52 v 89s52 c nhiu


i robocon s dng nhiu nht.c bit l cc i n t Bch Khoa H
Ni.

43

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Nhng c im ca vi iu khin 8051 ,cc bn c th tham kho trong


cun gio trnh 8051 ca MTC.
Mt loi vi iu khin thuc h 8051 kh mnh na do hng Philip sn xut
l loi P89V51RD.Chip Philip c cc i min nam ,c bit l BK HCM
s dng rt nhiu do c ti tr min ph.
Nhn chung chp Philip c y nhng tnh nng ca loi chp 89c51 ca
atmel nh timer/counter , ngt .v ..v. Bn cnh , chp philip c nhng tnh
nng ni bt hn con 89c51 .
- B nh ROM c dung lng ln
16/32/64 kb Flash rom v 1024 bytes Ram ( so vi 8 k rom ,128 bytes ram
ca 89x) b nh ca chp PHILIP
-Chc nng ISP ( In system -programming)
ISP l kh nng np trc tip chng trnh vo chip ngay trn mch m
khng cn phi rt chp ra khi mch .i vi vdk ca atmel ch c con AVR
,v 89s52 mi c chc nng ny.Nh chc nng ny ,mch np cho chip
philip rt n gin d ch to
-Chc nng IAP (in-application programmable),chc nng IAP cho php b
nh flash c kh nng cu hnh li trong khi cc ng dng ang chy.
-3 b nh thi 16 bt chc nng ca philip ging ht chp 89c51
-SPI (serial peripheral interface)
Chc nng ny cho php truyn d liu ng b vi tc cao gia chp
philip v cc thit b ngoi 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 mt chn ca chp s ra pht xung vi tn s khc nhau (tn s ny do
ngi lp trnh xc nh) . Philip c ch bm xung 8 bit (con AVR cn h
tr bm xung 10 bt ADC) vi 5 chn bm xung.
-Chc nng ngt
Philip 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
ni chip philip l loi chp rt u vit ,c th thay th rt tt cho loi chip
89c52 thng c dng trong cc k ROBOCON.cc bn c th tham kho
thm datasheet ca lai chip ny trang
http//www.alldatasheet.com (p89v51rd )
Trong nm 2004 ,2006 ,chip Philip c FXR v BKPRO s dng trong
cuc thi robocon v ginh chc v ch.
5.1.2.Vi iu khin AVR

44

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

AVR l loi vi iu khin do hng ATMEL sn xut .AVR c nhng tnh


nng rt mnh so vi 8051 nh PWM ,ADC .AVR c BK-FIRE s
dng u tin vo nm 2006 v lt c vo vng chung kt ton quc.
Hinh 5.1.Vi iu khin AVR

Vic s dng AVR trong robocon c th ni l mt ci tin mi trong cng


ngh ch to robot theo truyn thng ca cc i n t BKHN.Thng tin v
chip AVR cc bn c th tham kho gio trnh Vi iu khin nng cao ca
trung tm MTC.
5.1.3.Vi iu khin PIC.
Bn cnh AVR ,PIC cng l mt s la chn kh tt cho cc i robocon do
nhng tnh 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 nhng con s chn ln
n 80 chn
- Dng PIC t chn nht l dng PIC10Fxxx, ch c 6 chn
- Dng PIC ph bin nht l dng PIC16F877A ( mnh v tnh nng, 40
chn, b nh cho 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 vi PIC16F877A, nhng nh gn hn nhiu, v
s chn cng khng qu t nh PIC16F88).
- Dng PIC h tr giao tip USB l dng PIC18F2550 v PIC18F4550
- Dng PIC iu khin ng c mnh 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
45

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Hnh 5.2.Vi iu khin PIC

5.2.S nguyn l
Trong 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.S nguyn l ca vi iu khin c ni nhiu trong gio
trnh vi iu khin c bn (8051) do MTC son tho.Cc bn c th tham
kho k hn trong tp gio trnh ny.
5V

MASTER

Cta1

A1
A2
A3
B1
B2
B3
B4
B5

30p

1
2
3
4
5
6
7
8

Y1
RST
Cta230p 11.509Mhz

5V
PO0
PO1
PO2
PO3
PO4
PO5
PO6
PO7

19
18
9
31
39
38
37
36
35
34
33
32

CL1
104
0
4

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

C
C
V

XTAL1
XTAL2
RST

P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD

EA/VPP

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
PSEN
P0.4/AD4
P0.5/AD5
ALE/PROG
P0.6/AD6
D
P0.7/AD7 N
G

P89V51RD2

0
2

46

ISP_program
21
22
23
24
25
26
27
28

Vidieukhien1
Vidieukhien2
Vidieukhien3
Vidieukhien4
Vidieukhien5
Vidieukhien6

10
11
12
13
14
15
16
17

P30(RXD)
P31(TXD)
/INT0
/INT1
T0
T1
A4
A5

29

P30(RXD)
P31(TXD)
5V

1
3
5
7
9

2
4
6
8
10
CON10AP
int

SELECT_PRO
/INT0
/INT1
T0
T1
PO4
PO5
PO6

5V

1
2
3
4
5
6
7
8
9
10

30
CON10

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

5V

SW1
Cs1
100uF
RST
Rs1
10k

Hnh 5.2.S nguyn l mch vi iu khin.


Mch vi iu khin s dng ngun 5 vn.Trong robocon ,mch ny ng
vai tr l khi trung tm ca robot , kt ni vi tt c cc modul khc.T
mch vi iu khin ny ,bn c th m rng ra cc modul khc.
Mch ngun.
Mch vi iu khin s dng ngun 5V ,Tuy nhin cc acquy dng trong
robot u l ngun 12V hoc 24V .Do ,bn khng th u trc tip ngun
c quy vo vi iu khin c ,cn phi thit k mt mch ngun cung
cp mt ngun in n nh 5V cho vi iu khin .

DPOWER1 1A
POWER_IN

2
1
CON2

LM7805/TO
5V

SWITCH

J2

U3

R_CS1

VIN

VOUT

3
5V_A

22R2W
POWER_IN

C_L4
C_N1

C_L1

1000uF

104

104

D
N
G
2

LED
C_N2

C_L2

C_L3

10uF

104

104

SW DPST
DPOWER2 10A

R_5V_A
1K

24V
24V

POWER_IN
C_L5
104

24V
LED

R_24V
10

S nguyn l mch ngun dng trong robocon.


Mch ngun ny s dng IC n p 7805.y l loi IC n p : u vo >
7V u ra 5V 500mA. Mch n p: cn cho VK v nu ngun cho VK
khng n nh th s treo VK, khng chy ng, hoc reset lin tc, thm
47

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

ch l cht chp.Trong s trn ,cc t in ng vai tr lc nhiu ,n p


,diode chng ngc dng.Ngoi ra ,trong mch ngun ,cc bn ch nn
lp thm n bo ngun v cu ch bo v qu p .

Trong robocon ,lp trnh l khu cui cng trong 3 b phn cu thnh robot.
Lp trnh s ng vai tr quyt nh cui cng nh gi robot ca bn s
hot ng tt hay khng.Robot s khng th chy tt nu nh chng trnh
x l khng hon ho.
6.1.Cc ngn ng lp trnh s dng trong robocon.
Trong robocon c 2 ngn ng lp trnh c s dng nhiu nht l C v
ASM .2 ngn ng ny c nhng im mnh v im yu ring.
Ngn ng ASM c u im l gn nh ,gip ngi lp trnh hiu su v
cu trc phn cng ca vi iu khin .Cc chng trnh vit bng ASM
thng chy nhanh v tc x l cao.ASM c BK-FIRE s dng
trong cuc thi 2005 v hot ng kh hiu qa.Tuy nhin ,ASM c nhc
im l kh hc v tp lnh ngho nn ,khng thun tin lp trnh cc
chng trnh ln.
Ngn ng lp trnh C c th mnh l d hc ,tp lnh phong ph ,v c
im l ngn ng lp trnh c cu trc nn rt thun li xy dng cc
chng trnh ln.Nhc im ca C 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 do nhng u im ca n.Gio trnh ny cng hng dn bn lp trnh
bng ngn ng C.
6.2.M ngun ca robocon
Xin gii thiu mt on m ngun ca i CIRTECH-45 ca BKHN nm
2004
/*
Night Lamp Saver V5.0
89C2051(ext.oscillator 680kHz) + MAC97A6 + no battery backup
demonstration of using Micro-C and ATMEL89C2051 to build a device
used for controlling night lamp that turn on and off night lamp
with preset time on/off.
After reset or power failure occured, high blink rate of led will show,
user should press P3.0 to reset time to 18:00, low blink rate will show
indicating normal operation.

48

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

The Saver V4.0 using Xtal 11.0592MHz produces EMI that interfere TV
reception
This version the Xtal oscillator has changed to RC oscillator 680kHz.
cputick incremental 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 ---------*/
#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
sec25,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 half second counter
49

char

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

sec50 2*25Hz counter


sec current second
sec5 5 second counter
min current min
hour current hour
temp temp register
led 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 set every 1 min
0x02
flag1.2 not use
0x04
flag1.3 set every 0.5 second
0x08
flag1.4 set after P3.2 has been pressed
0x10
flag1.5 disable turn on/off 18:00-18:01 if set 0x20
flag1.6-7 not 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);
50

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

cputick = 0;

http://www. dks.com.vn

/* 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++;
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;
}
}
}
}
51

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

}
}
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()
{
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()
52

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

{
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--;
if (led == 0)
{
asm " setb P3.7";
flag1 &= ~0x40;
}
}
}
settime()
{
if ((P3 & 0x01) == 0) /* reset time to 18:00 if P3.1 low */
53

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

{
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<j;i++)
;
}
*/
M ngun ASM

;CHUONG TRINH CHO IC MASTER


; P1: CAM BIEN NHAN VAO
; P0: TRUYEN SANG SLAVER
STARTB EQU P3.7
CT_NANG EQU P3.2
CT_HATAY EQU P3.0
CT_QUA EQU P3.1
54

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

CB_L EQU P1.2


CB_R EQU P1.1
MKEP_DIR EQU P2.0
MKEP_EN EQU P2.1
MNANG_DIR EQU P2.2
MNANG_EN EQU P2.3
STOP_C EQU 11111111B
QPHAI_C EQU 00011111B
QTRAI_C EQU 00101111B
LUI_C EQU 00111111B
THANG_C EQU 01001111B
TINHCHINH_C EQU 01011111B
ORG 0000H
LJMP INIT
ORG 001BH ;DIEM NHAP VECTOR NGAT CUA T1
LJMP NGATT1
ORG 0030H
INIT:;KHOI TAO CAC GIA TRI SAU RESET
CLR TR0
MOV SP,#5FH
SETB STARTB
;BIT KHOI DONG
MOV P0,#0FFH
MOV P1,#0FFH
MOV R0,#0H ;BIT Dem SO NGA TU
MOV R1,#0H
MOV P2,#0H ;TAT CAC DONG CO
MOV IE,#0H ;CHO PHEP NGAT BO DINH THOI 1
MOV P3,#0FFH
MOV TMOD,#00010001B
CLR TR1
CLR TR0
CLR TF0
CLR TF1

;=============================================
=============================================
=================================
55

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

MAIN:
;MOV P0,QPHAI_C
JB STARTB,MAIN
LAP_CHINH:
MOV A,P1
ANL A,#00001111B
MOV P0,A
LJMP LAP_CHINH
EXIT:
NODO: SJMP NODO
;=============================================
=============================================
=================================
DEMNGATU:
INC R0
;LCALL STOP_ALL
; LCALL TRE_2S
CJNE R0,#2,TIEP1
LCALL DUNG_NGATU
LCALL TRE_QUAY
LCALL QUAYPHAI
TIEP1:
CJNE R0,#10,TIEP2
LCALL DUNG_NGATU
LCALL TRE_QUAY
LCALL QUAYphai
TIEP2:
CJNE R0,#15,DITIEP
LCALL DUNG_NGATU
LCALL TRE_QUAY
LCALL QUAYTRAI
HERE20: SJMP HERE20
DITIEP:
TREQUAVACH: LCALL TRE0 ;CHO THOI GIAN TRE DI DI QUA
VACH NGANG
TROVE:
RET ;TRO VE CHUONG TRINH
;==================================
56

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

LAYQUA:
LCALL STOP_ALL
;KEPQUA
SETB MKEP_EN
LCALL TRE_quay
CLR MKEP_EN
;NANG QUA
SETB MNANG_EN
DOINANG: JB CT_NANG,DOINANG
CLR MNANG_EN
;NHA QUA
SETB 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,P1
ANL A,#00001111B
MOV P0,A
LJMP LAPNT
THOATNT:
LCALL STOP_ALL
LCALL TRE_QUAY
MOV P0,#00111111B
DOINT: JNB P1.4, DOINT
LCALL STOP_ALL
MOV P0,#01011111B ;TINH CHINH
LCALL STOP_ALL
57

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

RET
;==================================
QUAYTRAI:
MOV P0,#00101111B ;QUAYTRAI
LCALL TRE_QUAY
LAPQT:
MOV A,p1
ORL A,#11111001B
CJNE A,#11111111B,LAPQT
LCALL STOP_ALL
LCALL TRE_100
MOV P0,#00011111B ;QUAYPHAI
LAPQT2:
MOV A,p1
ORL A,#11111001B
CJNE A,#11111111B,LAPQT2
LCALL STOP_ALL
LCALL TRE_QUAY
LCALL TRE_QUAY
RET
;=============================================
============
QUAYPHAI:
MOV P0,#00011111B ;QUAYTRAI
LCALL TRE_QUAY
LAPQP:
MOV A,p1
ORL A,#11111001B
CJNE A,#11111111B,LAPQP
LCALL STOP_ALL
LCALL TRE_100
MOV P0,#00101111B ;QUAYPHAI
LAPQP2:
MOV A,p1
ORL A,#11111001B
CJNE A,#11111111B,LAPQP2
LCALL STOP_ALL
LCALL TRE_QUAY
LCALL TRE_QUAY
58

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

RET
;=============================================
====
NGATT1:
RETI
STOP_ALL:
MOV P0,#0FFH
RET
;====================CAC
THU
TRE================
TRE0: ;THU TUC DE TAO TRE QUA VACH NGANG NGA TU
mov r7,#50
again0: mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
setb tr0
wait0:
MOV A,P1
ANL A,#00001111B
MOV P0,A
jnb tf0,wait0
clr tr0
clr tf0
djnz r7,again0
RET
TRE_500: ; 1s
mov r7,#50
again_1S: mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
setb tr0
wait_1S: jnb tf0,wait_1S
clr tr0
clr tf0
djnz r7,again_1S
RET
TRE_QUAY: ;
MOV R7,#100
again: mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
59

TUC

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

setb tr0
wait: jnb tf0,wait
clr tr0
clr tf0
djnz r7,again
RET
TRE_100: ;
MOV R7,#10
again: mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
setb tr0
wait: jnb tf0,wait
clr tr0
clr tf0
djnz r7,again
RET
TRE_2S: ; 1s
mov r7,#200
again_2S: mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
setb tr0
wait_2S: jnb tf0,wait_2S
clr tr0
clr tf0
djnz r7,again_2S
RET
END
6.3.K thut d ng.
Bi hc ny s nu ln cc phng php lp trnh d ng trong robocon.
Vic lp trnh d ng trong robot thc cht l vic x l tn hiu t sensor
v a ra cc lnh iu khin ng c m bo cho robot c th bm theo
vch trng trn sn.Khi lp trnh ,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 c hp l.
Quay v bi sensor ,ta c s b tr sensor
|
|
60

|
| Vch trng

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

|
O |O
2 3

O
1

|
O| O
4 5

O (sensor)
6

4 sensor 2,3,4,5 dng bm ng.Khi trn sn thi u ,gi s khi robot


lch sang phi sensor 2 chm vch trng ,sensor 4 chm nn ,bn phi iu
chnh cho ng c phi quay nhanh hn ,ng c tri chm li hay dng
robot quay li v tr.Tng t ,khi robot lch sang tri ,bn cng iu khin
tung t nh vy.Bng cch x l nh th ,bn s gip cho robot c th bm
ng mt cch hiu qu.
Khi gp ng t ,hai sensor ngoi cng 1,6 s chm vch trng ,c mc tn
hiu 0 a vo vi iu khin .Bn cn lp trnh m s ln mc tn hiu 0
vo vi iu khin t suy ra ng t robot i.
6.4.K thut chng nhiu
Nh hc bi sensor ,khi thi u nh hng ca n cao p trn sn c
th gy ra nhiu ln sensor dn ti vic nhn bit tn hiu sai. chng nhiu
,bn c th s dng chng trnh x l.
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);
}
61

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

// bat nga tu
if ((out_left==vach)&&(out_right==vach))
{
while ((LEFT==vach)&&(RIGHT==vach))
{
d++;
if (d==100)
{
dem++;
d=0;
if (dem<songatu)
{ h_thi(dem); motor(forward); delay(1200);}
break;//thoat khoi while
}//if
}// while
if (dem==songatu) {h_thi(dem);motor(stop);dem=0;break;}
}
// chinh lech nhieu
}//end of while (1)
}//end of golong_ngatmo

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


cn phi xy dng nhiu chin thut thi u khc nhau m bo c th x
l kp thi mi tnh hung c th c trn sn.
hin th chin thut thi u ,bn c th dung led 7 thanh hay mn hnh
LCD ,mt h thng cc phm bm iu khin , la chn cc gii php
thi u.Thc cht , phn ny chng ta quy v bi ton lp trnh giao tip
vi iu khin vi bn phm v mn hnh LCD ,led 7 thanh

62

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

7.1.S nguyn l
a)Giao tip vi led 7 thanh

R_24V
10

5V

5V
MASTER
A1
A2
A3
B1
B2
B3
B4
B5

SW1
Cs1
100uF
RST

Cta1

30p

1
2
3
4
5
6
7
8

Rs1
10k
RST

19
18
9

5V

31

Y1
Cta230p 11.509Mhz
Rsip1

PO0
PO1
PO2
PO3
PO4
PO5
PO6
PO7

5V
1

2
3
4
5
6
7
8
9

PO0
PO1
PO2
PO3
PO4
PO5
PO6
PO7

7
O
P
Start

8
c
c
V
e

.
.
c.
.
g .
.
b
P .
D
a

d.

0
1

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

U17
2
1
9
7
6
4
5

R4
R5
R6
R7
R
R8
R
R9
R

10
9
15
13
12
11
14

8
D
E
F
A
B
C
G

D
N
G
U16

D0
D1
D2
D3

7
1
2
6

P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15

C
C
V

XTAL1
XTAL2
RST

P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD

EA/VPP

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
PSEN
P0.4/AD4
P0.5/AD5
ALE/PROG
P0.6/AD6
D
P0.7/AD7 N
G

P89V51RD2

10k 5V

39
38
37
36
35
34
33
32

CL1
104
0
4

PO0
PO1
PO2
PO3

5V
Rp1
470

SN7447
1t
a
h
P
_
d
e
L

4 5 3 6
1

21
22
23
24
25
26
27
28

Vidieukhien1
Vidieukhien2
Vidieukhien3
Vidieukhien4
Vidieukhien5
Vidieukhien6

10
11
12
13
14
15
16
17

P30(RXD)
P31(TXD)
/INT0
/INT1
T0
T1
A4
A5

1
3
5
7
9

5V

2
4
6
8
10
CON10AP
int

SELECT_PRO
/INT0
/INT1
T0
T1
PO4
PO5
PO6

29

5V

1
2
3
4
5
6
7
8
9
10

30
CON10

0
2

5V

O
B
C
R/ I
I B T C
BR L V

ISP_program
P30(RXD)
P31(TXD)

2t
a
h
P
_
d
e
L

5V

5V

5V

5V

Rp2
470

Rp3
470

Rp4
470

Rp5
470

3t
a
h
P
_
d
e
L

4t
a
h
P
_
d
e
L

5t
a
h
P
_
d
e
L

6t
a
h
P
_
d
e
L

Connecter_sensor
Rp6
470

Led_Phat1
Led_Phat2
Led_Phat3
Led_Phat4
Led_Phat5

1
3
5
7
9
13
Led_Phat6 11
15

2
4
6
8
10
12
14
16

Led_Thu1
Led_Thu2
Led_Thu3
Led_Thu4
Led_Thu5
Led_Thu6

CON16AP

5V

s trn ,ta s dng 1 led 7 thanh hin th cc 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 th c 10 chin thut thi u tng ng vi cc s t 0 n
9.Ngoi ra ,led 7 thanh cn c dng hin th s ng t.
7.2.M ngun
void main()
{
unsigned char tam=0;

63

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

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:{
64

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

hanhtrinh7();
}
break;
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)
{
while (P2_6==1)
{
select++;
if (select>9) select=0;
h_thi(select);
delay(12000);
}
}
}//end
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;}
65

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

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;}
}
b) S dng LCD
VCC

g
n
o
c
_
d
el

ur
_t
d
el

R_SIP10

SW2_cong
Jum_cong
1
2

P0.5

SW3_tru
P0.6

1
2
Jum_tru

EA
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0

10
9
8
7
6
5
4
3
2

VCC
1
RESISTOR SIP 10

VCC

U1
r
et
n
e
_
d
el
Enter

e
ci
o
h
c
_
d
el
P0.7
P3.3

Choice

D1
LCD2x16
VCC

15
16

P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7

39
38
37
36
35
34
33
32
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

1
2
3
4
5
6
7
8

P1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4/SS
P1.5/MOSI
P1.6/MISO
P1.7/SCK
AT89S8252

A
K

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7

LCD Display 2x16

EA
RST

D d E
0 1 2 3 4 5 6 7
N d EWS
GV V RR E DDDDDDDD

31
9
40

VCC

EA/VPP
RST

C_nhieu
104

1 2 3 5 4 6 7 8 9 0 1 2 3 4
1 1 1 1 1
VCC 3 4 0 1 2 3 4 5 6 7
. . . . . . . . . .
0 0 2 2 2 2 2 2 2 2
P P P P P P P P P P

VCC

T
E
S
E
R
_
C47u

m
o
0
0
1

66

SW_reset

R_RESET

0
2

P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
ALE/PROG
PSEN
XTAL2
XTAL1

D
N
G

VCC

P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15

21
22
23
24
25
26
27
28

P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7

10
11
12
13
14
15
16
17

RX
TX
IR
P3.3
D0
D1
D2
D3

30
29

C1_ZTA

18
19

33
ZTA
12M

C2_ZTA

33

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

S trn thay th led 7 thanh bng LCD .Nhn chung dung LCD hin
th chin thut thi u chuyn nghip hn (vi hin th c c ch ) tuy
nhin , dung LCD kh tn km v khng tht s hiu qu .V th ,tt nht l
cc bn nn s dng led 7 thanh hin th chin thut thi u.
/******************************/
// LCD
void lenh ()
{
RS=0;
EN=1;
delay (50); EN=0;
delay (100);
}
void ghi ()
{
RS=1;
}

EN=1;

delay (50); EN=0;

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)
67

delay (100);

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

{
P2=dk;

lenh ();

}
void init_LCD ()
{
delay(400);
LCDcontrol(0x38); //LCD 2 dong _ 5x7
LCDcontrol(0x0C);
//bat hien thi, tat con tro
LCDcontrol(0x01);
//xoa man hinh
}
/*****************************/
void keyboard()
{
unsigned char key=0;
unsigned char test=0;
LCDcontrol(0x01);
choice=enter=1;
LCDputs("Robot Ready",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;}
68

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

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

http://www. dks.com.vn

golongr();
Around();
left();
test=1;

}//while(1)
}

// keyboard

bi ny ,chng ta s hon thin mt robot hon chnh thi u .


Chng ta s dng robot nh hnh di y

69

DKS GROUP
Nguyen Manh Truong Mobi : 0988857861

http://www. dks.com.vn

Robot hnh trn l robot ca mt i tham gia trong cuc thi robocon
2007.Chng ta s s dng robot ny thc hnh .
Phn mch ca robot ,chng ta s dng mch iu khin ng c bng relay
Nh hnh di

y l mch iu khin ca i BK-FIRE nm 2005 ,robot hot ng kh


hiu qu .u ni sensor nh hnh trn ,lp t mch sensor vo phn ca
robot .Robot ny s dng b c quy 24V DC cp ngun.Mch ny s
dng 6 sensor xp thnh hng ngang bm ng ,6 ng c iu khin
cc c cu.
Sau khi lp t mch v sensor ,u ni cc ng c .Ta s lp trnh cho
robot c th bm theo vch trng c sn.
Trong bi thc hnh ny ,chng ta s dng vi iu khin 89c52 iu
khin robot.
y l ton b code chng trnh bm ng ca robot.(vit bng ASM)

70

You might also like