You are on page 1of 90

I HC QUC GIA TP.

HCM TRNG I HC BCH KHOA KHOA IN IN T B MN K THUT IN ----------------------oOo---------------------

LUN VN TT NGHIP I HC

THIT K ROBOT T HNH VI H IU HNH NHNG LINUX

GVHD SVTH LP MSSV

: TS. TRNH HONG HN : PHM MINH TUN : DD05KTD04 : 40503344

TP. H CH MINH, THNG 01/2011

B GIO DC V O TO TRNG H BCH KHOA KHOA IN - IN T B MN K THUT IN

CNG HA X HI CH NGHA VIT NAM c lp T do Hnh phc ==================================

NHIM V LUN VN TT NGHIP


H V TN: PHM MINH TU N NGNH: K thut in 1. u lun n: THIT K ROBOT T HNH VI H IU HNH NHNG LINUX 2. Nhim v : (yu cu v ni dung v s liu ban u) 1. Phn tch tm hiu v chn m hnh kt cu c kh ca robot t hnh (15%) 2. Tm hiu m ch Micro2440 (30%) 3. Vi ng dng demo bao gm t hnh v iu khin b ng tay (15%) 4. Tm hiu gii php thay th m ch Micro2440 bng cc h vi x l (40%) a) Tm hiu h vi x l thch hp (10%) b) Thit k phn cng tng thch (20%) c) Minh ha vi demo iu khin (10%) 3. Ngy giao nhim v lun n: _________________________________________ 4. Ngy hon thnh nhim v lun n: ____________________________________ 5. H tn ngi hng dn: Phn hng d n: 1) _______________________________ _________________________ 2) _______________________________ _________________________ 3) _______________________________ _________________________ N i dung v yu cu lun n tt nghip c thng qua b mn Ngy ____ thng ____ nm ______ CH NHIM B MN NGI HNG DN CHNH (K v ghi r h tn) (K v ghi r h tn) MSSV: 40503344 LP: DD05KTD4

PHN DNH CHO KHOA B MN Ngi duyt (chm s b): ___________________________ n v: __________________________________________ Ngy bo v: ______________________________________ im tng kt: ____________________________________ Ni lu tr lu n n: ________________________________

TRNG H BCH KHOA KHOA IN IN T

CNG HA X HI CH NGHA VIT NAM c lp T do Hnh phc -------------------------Ngy ____ thng ____ nm _____

PHIU CHM BO V LVTN (Dnh cho ngi hng dn)


1. H v tn SV: ___________________________________________________ MSSV: _______________ Chuyn ngnh: _____________________________ 2. ti: _________________________________________________________ 3. H tn ngi hng dn: ___________________________________________ 4. Tng qut v bng thuyt minh: _____________________________________ S trang: ________ S chng: ________ S b ng s liu: ________ S hnh v: ________ S ti liu tham kho:________ Phn m m tnh ton:________ Hin vt (sn phm): ________________ 5. Tng qut v cc bn v: S bn v: Bn A1: ____ Bn A2: ____ Kh khc: __________ S bn v tay: ______ S bn v trn my tnh: ______ 6. Nh ng u im chnh ca LVTN: _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _______________________________________________________________ 7. Nh ng thiu st chnh ca LVTN: _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _______________________________________________________________ 8. ngh: c bo v B sung thm bo v Khng c b o v 9. 3 cu h i sinh vin phi tr li trc hi ng: a) ______________________________________________________________ _____________________________________________________________ b) ______________________________________________________________ _____________________________________________________________ c) ______________________________________________________________ ______________________________________________________________ 10. nh gi chung (bng ch: Gii, Kh, TB): ______ im: ______/10 Ngi hng d n k, ghi r h tn:

TRNG H BCH KHOA KHOA IN IN T

CNG HA X HI CH NGHA VIT NAM c lp T do Hnh phc -------------------------Ngy ____ thng ____ nm _____

PHIU CHM BO V LVTN (Dnh cho ngi phn bin)


11. H v tn SV: ___________________________________________________ MSSV: _______________ Chuyn ngnh: _____________________________ 12. ti: _________________________________________________________ 13. H tn ngi hng dn: ___________________________________________ 14. Tng qut v bng thuyt minh: _____________________________________ S trang: ________ S chng: ________ S b ng s liu: ________ S hnh v: ________ S ti liu tham kho:________ Phn m m tnh ton:________ Hin vt (sn phm): ________________ 15. Tng qut v cc bn v: S bn v: Bn A1: ____ Bn A2: ____ Kh khc: __________ S bn v tay: ______ S bn v trn my tnh: ______ 16. Nh ng u im chnh ca LVTN: _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _______________________________________________________________ 17. Nh ng thiu st chnh ca LVTN: _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _______________________________________________________________ 18. ngh: c bo v B sung thm bo v Khng c b o v 19. 3 cu h i sinh vin phi tr li trc hi ng: d) ______________________________________________________________ _____________________________________________________________ e) ______________________________________________________________ _____________________________________________________________ f) ______________________________________________________________ ______________________________________________________________ 20. nh gi chung (bng ch: Gii, Kh, TB): ______ im: ______/10 Ngi hng d n k, ghi r h tn:

LI CM N
Knh gi n thy TRNH HONG HN li cm n chn thnh v su sc, cm n thy tn tnh hng dn, ch dy em hon thnh lun vn tt nghip ny. Em xin cm n tt c qu thy c trng i hc Bch Khoa TP.HCM ni chung, qu thy c khoa in-in t v b mn K thut in ni ring tn tnh ging d y, trang b cho em nhng kin thc b ch trong khong thi gian i hc. Ti xin cm n tt c bn b l ngun ng vin, gp , gip ti rt nhiu trong qu trnh hc tp v thc hin lun vn. Ti xin cm n tt c.

TP. H Ch Minh, thng 1 nm 2011 Phm Minh Tun.

TM TT LUN VN
Nhim v ca ti l thit k mt robot t hnh vi b iu khin da trn h iu hnh Linux nhng. ti c thc hin nh sau: Tm hiu cc thnh phn ca mt robot t hnh, bao gm c v phn cng v phn mm. Phn tch gii php s dng h thng nhng vi h iu hnh Embedded Linux vo iu khin Robot. Tm hiu v la chn thi cng mt m hnh c kh robot t hnh: m hnh Robot t hnh vi 3 bnh xe Omni-Directional. Tm hiu m ch Micro2440, bao gm tm hiu phn cng mch, h iu hnh Linux nhng v phn m m chy trn mch. Vit ng dng iu khin m hnh robot t hnh thit k, ng d ng x l nh - th gic my tnh. Tm gii php thay th mch Micro2440 dng cc h vi x l: o Tm hiu v la ch n vi x l thch hp: AT91SAM9260. o Thit k phn cng mch. o Np h iu hnh Embedded Linux v vit ng dng iu khin m hnh robot. ti ny tp trung vo vic tm hiu v thc hin mch v chng trnh iu khin cho robot, bao gm c thc hin phn cng v phn mm.

MC LC
mc Trang ba Nhim v lun vn Li cm n Tm tt lun vn Mc lc Trang i ii iii iv

CHNG 1: T ng quan v ti .. 1 1.1 t vn ..1 1.2 Cc nh ngha ....... 1 1.2.1 Robot t hnh .. 1 1.2.2 H thng nhng ... 3 1.2.3 H iu hnh nhng . 4 1.3 Nhim v c th v mc tiu ca lun vn ... 5 1.3.1 Nhim v c giao 5 1.3.2 Xc nh nhim v c th .... 5 CHNG 2: S kh i Robot t hnh .... 7 2.1. Phn tch s khi mt robot t hnh 7 2.2. Thit k m hnh robot t hnh 8 CHNG 3: Xy dng m hnh c kh robot .. 9 3.1 S lc v cc phng php di chuyn ca robot t hnh 9 3.2 M hnh robot vi 3 bnh xe Omni ... 10 3.3 Phn tch chuyn ng ca robot ... 11 3.4 Thc hin m hnh c kh robot 13 CHNG 4: Mch cng sut ng c .. 16 4.1 Nhim v v yu cu ca mch cng sut ng c .. 16 4.2 Tip cn l thuyt .. 16 4.2.1 Phng php iu ch rng xung PWM . 16 4.2.2 Mch cu H .. 17 4.2.3 IC cng su t L298 18 4.3 Thc hin mch cng su t ng c ... 19 4.3.1 S nguyn l ... 19 4.3.2 Gii thch ho t ng . 20 4.3.3 Mt s hnh nh th c t m ch cng sut ng c 20

CHNG 5: Mch Micro2440 .. 23 5.1 Tng quan v mch nhng Micro2440 ..... 23 5.2 Kin trc phn cng m ch Micro2440 .. 24 5.2.1 Vi x l S3C2550A . 20 5.2.2 Core board ... 26 5.2.3 SDK board ... 28 5.3 H iu hnh Embedded Linux trn Micro2440 ... 29 5.3.1 H iu hnh Embedded Linux ... 29 5.3.2 H iu hnh Embedded Linux trn Micro2440 . 31 5.3.3 Qu trnh khi ng Embedded Linux trn Micro2440 .. 33 CHNG 6: L p trnh iu khin Robot trn Micro2440 . 35 6.1 Ch n vit chng trnh iu khin .... 35 6.2 Xc nh cc bc tin hnh cc cng c cn thit 35 6.2.1 Xc nh cc bc tin hnh .... 35 6.2.2 Cc cng c cn thit ... 35 6.3 Bin dch Linux Kernel cho Micro2440 ... 37 6.4 Np li Embedded Linux cho Micro2440 . 39 6.5 Bin dch OpenCV cho Micro2440 ... 40 6.6 Ball Tracking . 41 6.6.1 Ball Detect ... 41 6.6.2 Truy xut GPIO driver . 45 6.6.3 To xung PWM 47 6.6.4 Phn lung cu trc chng trnh 47 6.6.5 Bin dch v ch y chng trnh ... 48 CHNG 7: Mch nhng AT91SAM9260-SMISY . 50 7.1 Tng quan v mch nhng AT91SAM9260-SMISY ....50 7.1.1 Mc ch thit k m ch AT91SAM9260-SMISY ... 50 7.1.2 Mch AT91SAM9260-SMISY 50 7.2 La chn vi x l AT91SAM9260 ... 51 7.3 S nguyn l m ch AT91SAM9260-SMISY .. 54 7.3.1 Khi vi x l AT91SAM9260 . 54 7.3.2 SDRAM ... 56 7.3.3 NAND FLASH 56 7.3.4 SPI DATA FLASH .. 57 7.3.5 Cc khi khc .. 57

7.4 Thi cng thc t . 61 CHNG 8: Embedded Linux trn AT91SAM9260-SMISY .64 8.1 Qu trnh boot Linux trn board AT91SAM9260-SMISY ... 64 8.1.1 Qu trnh khi ng c a vi x l AT91SAM9260 .. 64 8.1.2 Qu trnh boot Linux trn board AT91SAM9260-SMISY . 66 8.2 Thc hin port Linux trn board AT91SAM9260-SMISY ... 68 8.2.1 Cc cng c cn thit ... 68 8.2.2 AT91BootStrap 69 8.2.3 U-boot .. 71 8.2.4 Linux Kernel Image . 72 8.2.5 Root File System .. 73 8.2.6 Port Linux ln board AT91SAM9260-SMISY 73 8.2.7 Thit lp tham s khi ng Linux trn AT91SAM9260-SMISY .. 74 8.3 Chng trnh ng dng iu khin Robot ..... 75 CHNG 9: Cc kt qu t c - h n ch - hng pht trin ti 76 9.1 Cc kt qu t c v h n ch ....... 76 9.2 Hng khc ph c cc h n ch v pht trin ti 79 CHNG 10: Ti liu tham kho .... 80

Lun n t t nghip

Chng 1: Tng quan v ti

CHNG 1

Tng quan v ti
1.1 t vn :
Cng vi cng cuc cng nghip ha hin i ha t nc, lnh vc t ng ha c nhng bc tin vt bc v tr thnh yu t quan trng khng th thiu c a nn cng nghip hin i. Khi ni n t ng ha l ni n s thay th d n dn n hon ton cc hot ng chn tay bng my mc, trong Robot t hnh l mt phn quan trng khng th thiu. Ngy nay Robot t hnh ngy cng c hon thin v chng t vai tr ca mnh trong ng dng cng nghip v sinh ho t i sng. Phn quan trng nht quyt nh m i ho t ng ca robot chnh l h thng iu khin. Cho robot t hnh, h thng iu khin phi c kh nng t ho t ng c lp m khng cn kt n i vi my tnh hay mch iu khin no khc. H thng iu khin chnh l mt H thng nhng. H thng nhng bao gm c ph n cng v ph n m m, vi xu hng hin nay, phn cng mch iu khin ngy cng pht trin ph c tp, vic vit phn m m truy xut cc thit b ph n cng ngy cng phc tp hn. d dng pht trin phn mm ng dng, ta cn H iu hnh, h iu hnh qu n l cc thit b phn cng v cho php ta pht trin ph n mm d dng hn. H iu hnh ch y trong m t h thng nhng g i l mt H iu hnh nhng. ti ny tm hiu v xy d ng m hnh robot t hnh nh mt h thng hon ch nh, vi h thng iu khin chnh l m t h thng nhng bao gm c v mch in phn cng, h iu hnh nhng, v phn m m iu khin robot t hnh. Mc d ho t ng ca cc robot th c t bao gm rt nhiu thao tc, ti ny ch gii hn ho t ng di chuyn c a robot t hnh, v ph n mm ng dng tp trung vo hin th c gii php iu khin dn ng cho robot.

1.2 Cc nh ngha: 1.2.1 Robot t hnh:


Robot t hnh hay robot di ng (Mobile Robot, thng gi tt l Mobot) c nh ngha l m t lo i xe robot c kh nng t di chuyn, t vn ng (c th lp trnh c) di s iu khin t ng thc hin cng vic c giao. Tim nng ng dng ca robot t hnh ht sc rng ln. C th k n robot vn chuyn vt liu, hng ha trong cc ta nh, nh my, ca hng, sn bay v th vin; robot ph c v qut dn ng ph, khoang chn khng; robot kim tra trong mi trng nguy him; robot canh gc, do thm; robot khm ph khng gian, di chuyn trn hnh tinh; robot hn, sn trong nh my; robot xe ln phc v ngi khuyt tt; robot phc v sinh hot gia nh v.v... Mc d nhu cu ng dng cao, nhng nhng h n ch cha gii quyt c c a robot t hnh, nh chi ph ch to cao, khng cho php chng c s dng rng ri. Mt nhc im khc c a robot t hnh phi k n l cn thiu tnh linh ho t v thch ng khi lm vic nhng v tr khc nhau. Bi ton iu khin d n ng cho robot t hnh cng khng phi l bi ton n gin. SV: PHM MINH TU N H BCH KHOA TP.HCM 1

Lun n t t nghip

Chng 1: Tng quan v ti

Trong lun n t t nghip ny, gii php iu khin dn ng cho robot t hnh s c gii quyt mc khng qu ph c tp.

a)

b)

c)

d)

f) Hnh 1.1 Mt s hnh nh v robot t hnh. a) Robot Spirit ca NASA thm him sao H a b) Robot AQUA hot ng di nc c) Robot SRR v FIDO ca NASA - d) Spiderbot di chuyn bng chn trn sao Ha e) Robot nghin cu vng cc Bc f) iRobot Roomba ht bi SV: PHM MINH TU N H BCH KHOA TP.HCM 2

e)

Lun n t t nghip

Chng 1: Tng quan v ti

1.2.2 H thng nhng:


H thng nhng (Embedded system) l mt thut ng ch mt h thng c kh nng t tr c nhng vo trong mt mi trng hay mt h thng m. l cc h thng tch hp c phn cng v phn mm phc v cc bi ton chuyn dng trong nhiu lnh vc cng nghip, t ng ho iu khin, quan trc v truyn tin. c im ca cc h thng nhng l hot ng n nh v c tnh nng t ng ho cao. H thng nhng thng c thit k thc hin mt chc nng chuyn bit no . Khc vi cc my tnh a chc nng, chng hn nh my tnh c nhn, mt h thng nhng ch thc hin mt hoc mt vi chc nng nht nh, thng i km vi nhng yu cu c th v bao gm mt s thit b my mc v phn cng chuyn dng m ta khng tm thy trong mt my tnh a nng ni chung. V h thng ch c xy dng cho mt s nhim v nht nh n n cc nh thit k c th ti u ha n nhm gim thiu kch thc v chi ph sn xut. Mt thc t khch quan l th trng ca cc h thng nhng ln gp khong 100 ln th trng ca PC v mng LAN, trong khi chng ta mi nhn thy b ni ca cng ngh thng tin l PC v Internet cn phn chm ca cng ngh thng tin chim 99% s processor trn ton cu n y nm trong cc h nhng th cn t c bit n. Cc h thng nhng thng c sn xut h ng lo t vi s lng ln. H thng nhng rt a dng, phong ph v chng loi. c th l nhng thit b cm tay nh gn nh ng h k thut s v my chi nhc MP3, hoc nhng sn phm ln nh n giao thng, b kim sot trong nh my ho c h thng kim sot cc my nng lng ht nhn. Xt v phc tp, h thng nhng c th rt n gin vi mt vi iu khin hoc rt phc tp vi nhiu n v, cc thit b ngoi vi v m ng li c nm gn trong mt lp v my ln. Mt mch vi iu khin cng c xem l mt h thng nhng. Mt h thng nhng m trn c mt h iu h nh nhng th c gi l mt My tnh nhng. H thng nhng thng c mt s c im chung nh sau: Cc h thng nhng c thit k thc hin mt s nhim v chuyn dng ch khng phi ng vai tr l cc h thng my tnh a chc nng. Mt s h thng i hi rng buc v tnh hot ng thi gian thc m bo an ton v tnh ng dng; mt s h thng khng i hi hoc rng buc cht ch, cho php n gin ha h thng phn cng gim thiu chi ph sn xut. Mt h thng nhng thng khng phi l mt khi ring bit m l mt h thng phc tp nm trong thit b m n iu khin. Phn mm c vit cho cc h thng nhng c lu tr trong cc chip b nh ch c (read -only memory) ho c b nh flash ch khng phi l trong mt a. Phn mm thng chy vi s ti nguyn ph n cng hn ch: khng c bn phm, mn hnh hoc c nhng vi kch thc nh, b nh hn ch. Kh nng lm vic n nh v bn b . ng dng h thng nhng vo iu khin robot t hnh c nhng u im hn hn so vi dng my tnh a chc nng: SV: PHM MINH TU N H BCH KHOA TP.HCM 3

Lun n t t nghip

Chng 1: Tng quan v ti

Kh nng ty bin ph n cng p ng y cc tnh nng cn thit. Gim kch thc c v phn cng v ph n mm, gim tiu tn nng lng. Gim chi ph v c th ti u v n gin ha cc phn khng cn thit. Lm vic n nh v bn b.

1.2.3 H iu hnh nhng:


H iu hnh l mt chng trnh chy trn my tnh, dng qu n l cc thit b phn cng v cc ti nguyn phn mm trn my tnh. H iu hnh ng vai tr trung gian gia ngi s dng v phn cng my tnh, cung cp cc mi trng cho php ngi s dng pht trin v thc hin cc ng dng ca h m t cch d dng. Cc h iu hnh ch y trn h thng nhng g i l H iu hnh nhng. H iu hnh nhng cng kh tng t vi h iu hnh chy trn cc my tnh a chc nng, nhng thng gim b t cc chc nng v giao din ha. Xu hng pht trin ca cc h thng nhng trn th gii hin nay l phn mm ngy cng chim t trng cao v tr thnh mt thnh ph n quan trng cu to nn h thng. Cc h thng nhng ngy cng c nhiu chc nng tin dng v thng minh hn. Cc chc nng ny phn ln do cc phn m m nhng to nn. Phn mm nhng hin ang l mt lnh vc cng ngh then cht cho s pht trin kinh t ca nhiu qu c gia trn th gii nh M, Nht Bn, Hn Quc, Phn Lan, Trung Quc Nhng qu c gia ny u thnh lp nhiu vin nghin cu v trung tm pht trin cc h th ng nhng. Ngy nay, khi m nhng ph n m m nhng ang tr nn phc tp hn th vic pht trin cc sn phm phn m m nhng n l khng cn ph hp. hin thc c nhng ng dng nhng phc tp phi cn n cc h iu hnh nhng nh gn c kh nng h tr tt cho vic pht trin cc phn m m nhng. Cc h iu hnh dng trong cc h nhng ni tr i hin nay bao gm Embedded Linux, VxWorks, Windows CE, Lynyos, BSD, Green Hills, QNX v DOS. Vi nhiu li th , Embedded Linux hin nay ang pht trin rt m nh trn th gii v chim v tr s 1 trong s cc h iu hnh nhng. Nhim v chnh c a h iu hnh: iu khin v qun l trc tip cc phn cng. Thc hin mt s thao tc c bn cc thao tc c, vit tp tin, qun l h thng tp tin (File System) v cc kho d liu. Cung ng mt h thng giao din s khai cho cc ng dng thng l thng qua mt h thng th vin cc hm chun iu hnh cc phn cng m t cc ng dng c th gi ti. Cung ng m t h thng lnh c bn iu hnh my. Cc lnh ny gi l lnh h thng (System Command).

Trong iu khin robot, chng trnh iu khin phi lm nhiu tc v cng lc (Multi task), nu khng c h iu hnh, ta phi t phn cng sp xp cc tc v ln lt c x l an xen m khng xung t nhau v phn cng, b nh Ngoi ra, vi nhng ng dng phc tp, cn phn cng cng vic cho nhm nhiu ngi, cn SV: PHM MINH TU N H BCH KHOA TP.HCM 4

Lun n t t nghip

Chng 1: Tng quan v ti

k tha cc kt qu t trc, khng c h iu hnh cung cp m t mi trng chung pht trin ng d ng, ta rt kh t c cc iu ny. Tm li, s dng m t h iu hnh trong iu khin robot t hnh c nhng u im chnh sau: Kh nng qun l a nhim c a h iu hnh cho php ta lp trnh truy xu t cng lc nhiu thit b phn cng, x l nhiu tc v Nh h iu hnh cung cp mi trng chung pht trin ng dng, ta k tha c cc th vin trong lp trnh, tham kh o v ti s dng m ngun. Ngoi ra ta d dng chia nh chng trnh v phn cng cng vic; d dng bo tr v pht trin h thng phn m m ng dng.

1.3 Nhim v c th v mc tiu ca lun vn: 1.3.1 Nhim v c giao:


Tn ca ti: THIT K ROBOT T HNH VI H IU HNH NHNG LINUX. Nhim v c giao: 1. Phn tch tm hiu v chn m hnh kt cu c kh ca robot t hnh (15%) 2. Tm hiu m ch Micro2440 (30%) 3. Vi ng dng demo bao gm t hnh v iu khin b ng tay (15%) 4. Tm hiu gii php thay th m ch Micro-2440 bng cc h vi x l (40%) a) Tm hiu h vi x l thch hp (10%) b) Thit k phn cng tng thch (20%) c) Minh ha vi demo iu khin (10%)

1.3.2 Xc nh nhim v c th:


Nhim v c th ca ti c xc nh nh sau: o Tm hiu s khi c a robot t hnh. o Tm hiu, l a chn v thi cng m hnh c kh. o Tm hiu mch Micro2440 v h iu hnh nhng Linux trn m ch. o Vit chng trnh ng dng lm ni b t ngha ca m t h thng nhng vi mt h iu hnh nhng. o Tm gii php thay th cho mch Micro-2440: Tm hiu h vi x l thch hp. Thit k phn cng tng thch. Vit chng trnh iu khin. Mc tiu ca ti: o Lm r cc khi nim v h thng nhng, my tnh nhng, h iu hnh nhng, v ngh a ca chng. o Lm r nguyn l ca m t my tnh nhng, tin n xy d ng mt my tnh nhng vo cc mc ch iu khin robot hin i.

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 1: Tng quan v ti

o Lm quen vi lp trnh nhng, p dng vo lp trnh iu khin Robot v cc thit b iu khin t ng hin i.

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 2: S kh i Robot t hnh

CHNG 2

S khi Robot t hnh


2.1 Phn tch s khi robot t hnh:
Mt Robot t hnh c cc khi c bn sau:

CPU Cm bin Mch cm bin Phn m m iu khin Kh i cng sut

Cc c cu chp hnh

Ngun cung cp Kt cu c kh Hnh 2.1 S khi robot t hnh. Cm bin (Sensor): thu nhn cc tn hiu t mi trng ho t ng v bin i thnh tn hiu in. C nhiu loi cm bin thu nhn nhiu lo i tn hiu ngoi nh: nh sng, nhit , m, lc, khong cch, vn tc, gia t c, gc nghing, hnh nh Cc robot t hnh hin i c trang b rt nhiu cm bin hin i cho php robot thch nghi t t vi mi trng v hot ng chnh xc hn. Mch cm bin c nhim v tin x l cc tn hiu in t cm bin a n, nh khuch i, bin i sang tn hiu s v a sang kh i x l trung tm. Cm bin v mch cm bin c th c tch hp trong m t khi. Khi x l trung tm (CPU) l cc mch vi iu khin, vi x l, hay my tnh, vi chng trnh iu khin. CPU phn tch cc tn hiu thu c, x l v a ra quyt nh iu khin cc hot ng cho robot. Cc tn hiu iu khin t CPU thng khng cng sut iu khin trc tip cc c cu chp hnh, v vy cn c khi cng su t lm nhim v nh n tn hiu iu khin t CPU v cung cp cng sut iu khin c cu chp hnh hot ng theo ng tn hiu iu khin . C cu ch p hnh thng l cc ng c, cc van kh nn hay th y lc s truyn ng cho cc kt cu c kh vn ng robot. Robot t hnh hot ng c lp, nn cn mang theo ngun nng lng cho mnh, thng l acquy hay pin nng lng mt tri. Tt c cc khi trn c t trn mt khung sn c kh. Kt cu c kh cng lm lp v bo v cc khi bn trong. ng thi, kt cu c kh cng bao gm cc chi tit vn ng cho robot (bnh, xch, chn di chuyn; cnh tay thao tc)

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 2: S kh i Robot t hnh

2.2 Thit k m hnh robot t hnh:


Trong ti ny, ta xy d ng mt m hnh robot t hnh nh, vi cng vic chnh tp trung vo tm hiu v thc hin m ch v chng trnh iu khin cho robot. Chng trnh iu khin ph i lm ni bt th mnh c a mt mch iu khin l mt my tnh nhng vi h iu hnh nhng Linux, v ch gii hn hot ng di chuyn c a robot t hnh. V vy, thit k m hnh robot t hnh vi s khi nh sau: CPU board (Micro-2440) Cm bin (camera) Chng trnh x l nh v iu khin Driver board

Cc ng c DC

Acquy Kt cu c kh Hnh 2.2 M hnh Robot t hnh. Cm bin ch gm 1 camera (USB webcam), thu nhn hnh nh v a n CPU board qua cng USB. CPU board s dng mch Micro2440, l mt my tnh nhng vi h iu hnh Linux. Trn , ta vit chng trnh x l nh dng th vin OpenCV, v xut tn hiu iu khin (PWM) n driver board. Driver board l kh i cng sut cho ng c. S dng mch cu H iu khin quay, o chiu v iu khin vn tc cho ng c DC dng phng php iu ch rng xung PWM. Cc ng c DC s dng lo i cng sut nh, pht ng cho robot di chuyn. Dng ng c DC 12V - 10W. Ngun in: dng acquy 12V 1.3AH. Kt cu c kh nh gn vi khung sn b ng nhm.

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

CHNG 3

Xy dng m hnh c kh robot


3.1 S lc v cc phng php di chuyn ca robot t hnh:
Theo phng php chuyn ng trn mt t, ta chia Robot t hnh thnh 2 lp: chuyn ng b ng chn (legged) v bng bnh (wheeled). Trong lp u tin, chuyn ng c c nh cc chn c kh bt chc chuyn ng ca con ngi v ng vt. Robot loi ny c th di chuyn rt tt trn cc nh hnh l i lm, phc tp. Tuy nhin, cch phi hp cc chn cng nh vn gi thng bng l cng vic cc k kh khn.

b) Hnh 3.1 Robot di chuyn bng chn. a) Robot Asimo hnh ngi - b) Robot 6 chn m phng chuyn ng ca nhn Lp cn li (di chuyn b ng bnh) t ra thc t hn, chng c th lm vic tt trn hu h t cc a hnh do con ngi to ra. iu khin robot di chuyn bng bnh cng n gin hn nhiu, gn nh lun m bo tnh n nh cho robot. Lp ny c th chia lm 3 loi robot: Lo i chuyn ng bng bnh xe (ph bin), loi chuyn ng bng vng xch (khi cn m men pht ng ln hay khi cn di chuyn trn vng m ly, ct v bng tuyt, vng a hnh li lm ph c tp), v loi hn hp bnh xe v xch (t gp).

a)

a)

b) Hnh 3.2 Robot di chuyn bng bnh. a) di chuyn bng bnh xe - b) di chuyn b ng bnh xch 9

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

ti ny thc hin m hnh robot t hnh nh di chuyn trn mt ph ng, v vy, chn gii php di chuyn bng bnh xe s n gin cho thit k v thi cng. Tuy nhin, dng bnh xe thng thng s khng th di chuyn linh hot trong phm vi hp, v khng th xoay chuyn hng ti ch, khng th di chuyn theo phng ngang so vi hng trc robot. Qua tm hiu, ta la chn gii php th c hin m hnh robot t hnh di chuyn trn 3 bnh xe Omni (Omni-directional Wheel).

3.2 M hnh robot vi 3 bnh xe omni:


Bnh xe Omni (Omni-directional Wheel): Bnh xe Omni l bnh xe vi cc bnh v tinh nh xp quanh chu vi, cc bnh xe v tinh t vung gc vi hng di chuyn ca bnh omni, tr c quay ca bnh v tinh vung gc vi trc quay c a bnh omni. Nh vy, bnh xe omni va c th quay nh mt bnh xe thng thng, m t khc c th trt (ln trn bnh xe v tinh) d dng theo phng vung gc vi mt phng quay. -

Hnh 3.3 Bnh xe omni. M hnh robot vi 3 bnh xe omni: Robot t hnh vi bnh xe omni c u im hn hn so vi robot s dng bnh xe thng thng. Nh kh nng di chuyn c trn c 2 phng vung gc ca bnh xe omni, robot c th di chuyn linh hot theo nhiu hng, quay ti ch, v a di chuyn va quay d dng di chuyn nhng ni cht hp. 3 bnh xe omni c b tr trn tr c lch nhau gc 120o, mi bnh xe c dn ng b ng mt ng c c lp. Bng vic iu khin vn tc v chiu quay c lp cho 3 bnh xe, ta c th iu khin robot quay v di chuyn theo b t c phng no trong m t phng. -

Hnh 3.4 Robot vi 3 bnh omni. V sao s dng 3 bnh? V 3 bnh l t i thiu robot thng bng trn mt phng m t cch d dng. 3 bnh, vi 3 im tip xc cng xc nh m t mt ph ng, vic thi cng c kh vi 3 bnh xe s d dng hn so vi nhiu bnh xe. SV: PHM MINH TU N H BCH KHOA TP.HCM 10

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

Di chuyn ca robot l s tng hp chiu quay v vn tc quay c a 3 bnh omni:

a)

b) c) d) Hnh 3.5 S di chuyn ca robot. a) i thng b) xoay ti ch - c) i cho d) i theo cung trn

o o o o

Hnh trn m t 4 trng h p di chuyn ca robot, trong : Vector vn tc ln ca bnh xe omni: mu xanh l. Vector vn tc di chuyn c a robot (tng hp ca 3 vector xanh l): mu trng. Vector vn tc trt ngang (ln trn bnh v tinh) c a bnh xe omni: mu vng. Vector vn t c di chuyn c a bnh xe omni (tng hp ca chuyn ng quay v trt ngang): mu xanh dng.

3.3

Phn tch chuyn ng ca robot:

Mi chuyn ng c a robot trn mt ph ng u c th phn tch thnh chuyn ng tnh tin v chuyn ng quay. Quy c: tr c 0 o trng vi tr c Xr; chiu dng ngc chiu kim ng h (xem hnh 3.6). Nh vy 3 bnh xe A, B, C ln lt cc gc 150o, 30o, v 270o. Chuyn ng tnh tin: G i - Ft l vector vn t c tnh tin ca robot. - FtA ; FtB ; FtC ln lt l vector vn tc c a 3 bnh xe A, B, C gy ra chuyn ng di ca robot.

SV: PHM MINH TU N H BCH KHOA TP.HCM

11

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

Hnh 3.6 Chuyn ng tnh tin. t vn tc Ft mong mun, ta cn tm FtA ; FtB ; FtC .

FtA ; FtB ; FtC chnh l hnh chiu ca Ft trn phng ln (phng vung gc vi

trc trong m t phng chuyn ng) ca bnh xe omni (xem hnh 2.3-4). FtA Ft .cos(150o );
FtB Ft .cos(30 o ); FtC Ft .cos(270o );

Chuyn ng quay:

Hnh 3.7 Chuyn ng quay. SV: PHM MINH TU N H BCH KHOA TP.HCM

12

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

t vn tc quay Fq mong mun, ta t FqA = FqB = FqC = Fq/3 ln 3 ng c. - Tng hp chuyn ng: Chuyn ng ca robot l s tng hp ca Ft v Fq. t chuyn ng ny, ta tnh FtA, FtB, FtC, FqA, FqB, FqC nh trn. Sau , vn tc cn t ln 3 ng c A, B, C: FA = FtA + FqA; FB = FtB + FqB; FC = FtC + FqC;

3.4

Thc hin m hnh c kh robot:

Kt cu c kh ca m hnh robot c thit k v thi cng da trn c tnh s b ch u c trng lng ca robot (khong 1Kg), mang ti nh (ti a 1Kg). Khng i su vo tnh ton chi tit v c kh. Khung sn robot bng nhm, hnh lc gic, kch thc mi cnh 17.5cm. Trn ta chun b mt khoang t acquy 12V-1.3AH.

Hnh 3.8 Khung sn robot. 3 ng c s dng l ng c DC 12V, cng sut 10W. C b gim tc.

Hnh 3.9 ng c. 3 bnh xe omni ng knh 4cm, 4 bnh v tinh trn chu vi.

Hnh 3.10 Bnh xe omni. SV: PHM MINH TU N H BCH KHOA TP.HCM 13

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

Ta c m hnh c kh hon chnh ca robot t hnh:

Hnh 3.11 Kt cu c kh robot. Cc hnh trn l cc hnh thit k s b trn phn mm thit k c kh Solidworks 2009. Sau y l mt s hnh nh th c t kt cu c kh m h nh robot t hnh thi cng:

a) SV: PHM MINH TU N H BCH KHOA TP.HCM 14

Lun n t t nghip

Chng 3: Xy dng m hnh c kh Robot

b)

c) Hnh 3.12 Hnh nh thc t kt cu c kh m hnh robot t hnh a) Nhn t pha trn b) Nhn t mt di c) Nhn nghing SV: PHM MINH TU N H BCH KHOA TP.HCM 15

Lun n t t nghip

Chng 4: Mch cng sut ng c

CHNG 4

Mch cng sut ng c


4.1 Nhim v v yu cu ca mch cng sut ng c:
Nhim v: Mch iu khin c nhim v tnh ton v a ra tn hiu iu khin 3 ng c iu khin robot di chuyn theo mun. Nhng tn hiu t m ch iu khin khng cng su t iu khin trc tip ng c. V v y cn c mch cng su t vi nhim v nhn tn hiu iu khin t mch iu khin v cp cng su t cn thit li ng c chy theo tn hiu iu khin . - Yu cu : Trong ti ny, robot vn hnh vi 3 ng c DC 12V 10W. V vy m ch cng su t ng c cn p ng cc yu cu: o in p hot ng: 12V. o iu khin vn tc v o chiu cho 3 ng c DC c lp. o Cng sut mi knh iu khin: 10W. ti ny xy d ng m hnh robot t hnh vi yu cu ti trng nh, ng c cng su t thp, iu khin vn tc ng c khng cn chnh xc cao. V vy n gin, ta thc hin m ch cng su t ng c: o Dng IC cng su t L298, l IC tch hp 2 mch cu H bn trong. o iu khin vn tc b ng phng php iu ch rng xung PWM. o Khng iu khin vng kn, khng c hi tip vn tc. o Khng cch ly vi mch iu khin. Mch cng sut ng c ng thi cng to ngun p 5VDC cp cho mch iu khin t ngun acquy 12VDC qua IC n p 7805. -

4.2 Tip cn l thuyt: 4.2.1 Phng php iu ch rng xung PWM:


Phng php iu ch rng xung PWM (Pulse Width Modulation) l phng php thay i in p ra trung bnh nh vo thay i thi gian ng ngt ca cc kha cp in cho ng ra. Phng php PWM c s dng rt ph bin trong iu khin ng c v cc u im: o Mch cng sut thit k n gin. o Vn tc ng c thay i m. o Tn hao cng sut nh. Xt m ch in sau:

Hnh 4.1 Mch PWM. SV: PHM MINH TU N H BCH KHOA TP.HCM 16

Lun n t t nghip

Chng 4: Mch cng sut ng c

Kha S c ng ngt theo chu k khng i, bng cch thay i thi gian ng (Ton) v ngt ca kha S trong chu k (T), ta thay i c in p trung bnh trn ti. Khong thay i t 0 n U.

Hnh 4.2 Phng php PWM. Ta c cng thc: Vaverage U .

Ton T

Nh vy ta thay i c in p trung bnh cp cho ng c, vic ny lm thay i vn tc ng c. Xung PWM c to rt d dng bng cc m ch vi iu khin. Th c t ngi ta thng iu ch xung vi tn s 5KHz n 20KHz. Kha ng ngt S trong th c t thng s dng Mosfet ho c IGBT.

4.2.2 Mch cu H:
Mch cu H c s dng rng ri iu khin o chiu ng c. Xt mch:

Hnh 4.3 Mch cu H. Gi s khi c dng in ch y theo chiu + - th ng c quay thun, chiu ngc li s lm ng c quay nghch. - Cho kha S1 v S4 ng, kha S2 v S3 h mch, khi dng in qua ng c c chiu: S1 M S4, ng c quay thun. - Mun o chiu quay ca ng c, ta ngt S1 v S4, ng S2 v S3, khi dng in qua S3 M S2, ng c s quay theo chiu ngc li. Trong ti ny, kt h p m ch cu H v phng php PWM, ta s iu khin vn t c v chiu quay ca ng c nh sau: - Quay thun: ngt kha S2 v S3, ng kha S4 v cp xung PWM cho S1. - Quay ngc: ngt kha S1 v S4, ng kha S2 v cp xung PWM cho S3. SV: PHM MINH TU N H BCH KHOA TP.HCM 17

Lun n t t nghip

Chng 4: Mch cng sut ng c

4.2.3 IC cng sut L298:


L298 l IC cng sut tch hp 2 mch cu H bn trong, chuyn dng cho iu khin cc ng c cng sut th p.

Hnh 4.4 IC cng su t L298, Cc thng s k thu t ng ch : o in p hot ng ln n 46V. o C 2 mch cu H hot ng c lp, vi dng ti a 2A cho mi cu. o Ng vo tng thch mc in p logic TTL. S nguyn l:

Hnh 4.5 Nguyn l IC L298. T s nguyn l, d thy m i ng ra (OUT1, OUT2, OUT3, OUT4) c iu khin bi 1 ng vo (IN1, IN2, IN3, IN4) c lp. Khi ng vo mc logic thp, ng ra tng ng s c ko xung GND qua RS mc chn SENSE. Khi ng vo mc logic cao, ng ra tng ng s c ko ln +VS. EnA v EnB cho php ho c cm 2 cu A v B. SENSE A v SENSE B mc vi in tr Sunt RSA v RSB ly in p hi tip v mch iu khin n u cn thit. Khi khng cn ly in p hi tip, c th b RSA v RSB, m c trc tip SENSE A v SENSE B xung GND. VS l ngun cng sut cho ng c. VSS l ngun +5VDC cung cp cho khi logic ca L298. SV: PHM MINH TU N H BCH KHOA TP.HCM 18

Lun n t t nghip

Chng 4: Mch cng sut ng c

4.3 Thc hin mch cng sut ng c:


S dng 2 IC L298, ta c 4 m ch cu H iu khin 4 ng c. Bn v s nguyn l v to layout m ch in 2 mt bng phn mm Orcad.

4.3.1 S nguyn l:

Hnh 4.6 S nguyn l mch cng su t. SV: PHM MINH TU N H BCH KHOA TP.HCM 19

Lun n t t nghip

Chng 4: Mch cng sut ng c

4.3.2 Gii thch hot ng:


Khi ngun (Power supply): Ly ngun 12V t acquy dng lm ngun cng sut cho L298. Ngun 12V cng qua cun l c L1, qua IC 7805 to ngun p 5V cp cho kh i logic c a L298, v cp ngun cho m ch iu khin. Cu ch F1 v iot xung FR307 bo v chng cp ngc p cho mch. Khi Motor: Cc t 104pF b cng sut. Cc iot FR207 d p dng t cm, bo v mch. Khi Logic driver: Gm 2 IC L298, cho php iu khin 4 ng c. Cc ng ra Out A1, Out A2, Out B1, Out B2, Out C1, Out C2, Out D1, Out D2 ln lt l ng ra cp dng cho 4 ng c c A, B, C, D tng ng. Cc ng vo In A1, In A2, In B1, In B2, In C1, In C2, In D1, In D2 ln lt l ng vo iu khin ng c A, B, C, D. Ho t ng: 4 ng c c iu khin c lp v hon ton tng t nhau. Xt ng c A: ng c quay thun, ta cp mc logic 0 cho ng vo In A2, v cp xung PWM cho In A1. Ngc li, ng c quay nghch, ta cp mc logic 0 cho In A1, v cp xung PWM cho In A2.

4.3.2 Hnh nh thc t mch cng sut ng c:

SV: PHM MINH TU N H BCH KHOA TP.HCM

20

Lun n t t nghip

Chng 4: Mch cng sut ng c

SV: PHM MINH TU N H BCH KHOA TP.HCM

21

Lun n t t nghip

Chng 4: Mch cng sut ng c

Hnh 4.7 Hnh nh th c t mch cng su t ng c. SV: PHM MINH TU N H BCH KHOA TP.HCM 22

Lun n t t nghip

Chng 5: Mch Micro2440

CHNG 5

Mch Micro2440
5.1 Tng quan v mch Micro2440:
Board Micro2440 l mt sn ph m c a mt nhm nghin cu v h thng nhng h iu hnh nhng my tnh nhng trn kin trc vi x l li ARM, tn nhm nghin cu l FriendlyARM. Website http://www.friendlyarm.net trnh by v cc sn phm v d n nghin cu ca FriendlyARM. Board FriendlyARM Micro2440 d a trn nn tng ARM9, s dng microprocessor S3C2440 ca Samsung c th chy vi xung clock ti a 533 MHz. Board c sn xut hng n ngi dng pht trin ng dng nhng, iu khin thit b cng nghip, pht trin cc thit b PDA, GPS receiver. Board FriendlyARM Micro2440 l m t my tnh nhng, xut xng h iu hnh Linux ci t sn v c th lm vic ngay m khng cn bc cu hnh no. Vi Micro2440, mt ngi dng vi kin thc lp trnh ng dng trn my tnh c th ngay lp tc lm vic v pht trin phn mm ng dng trn board, khng i hi kin thc v ph n cng v in t . Cho ngi dng lm cng vic nghin cu v pht trin, board Micro2440 c th c n p h iu hnh Linux, Windows CE, Android, v c th ty bin v ph n mm hon ton theo yu cu cng vic c th. Board Micro2440 m ngun m c v phn cng v phn mm. Cho mc ch hc tp v nghin cu, ta hon ton c th tham kho cc thit k ph n cng, cc quy trnh np (porting) m t h iu hnh ln m t mch nhng, thc hnh lp trnh nhng. Board Micro2440 bao gm 2 khi chnh: core board v SDK board. Core board cha CPU, cc b nh, cc thit b cn thit ti thiu chy CPU v memory, v cc port chn cm cm vo SDK board. SDK board c cc module giao tip ngoi vi.

Hnh 5.1 Mch nhng FriendlyARM Micro2440. SV: PHM MINH TU N H BCH KHOA TP.HCM 23

Lun n t t nghip

Chng 5: Mch Micro2440

Cu hnh c bn ca my tnh nhng Micro2440: CPU tc ti a 533MHz. 64MB SDRAM. 256MB b nh FLASH. LCD 3.5inch ho c 7inch vi resistor touch screen. Real-time clock vi pin backup. COM port. USB host 1.1. 1 10/100 Ethernet RJ-45. Cng giao tip vi Camera Module CAM130 c a FriendlyARM. Audio output 3.5 stereo jack v Microphone. PWM buzzer. Nt nh n, Led, GPIO.

5.2 Kin trc phn cng mch Micro2440: 5.2.1 Vi x l S3C2440A:


S3C2440A l vi x l 16/32-bit ca hng SAMSUNG, c thit k cho cc ng dng thit b cm tay, smartphone, PDA vi mc tiu tit kim nng lng, gi thnh thp, cht lng cao. S3C2440A c pht trin vi li 16/32-bit ARM920T, cng ngh ch to CMOS 0.13m, tp lnh RISC. Li ARM920T tch hp cc kh i: MMU, AMBA BUS, kin trc Harvard vi 16KB instruction v 16KB data cache ring bit.

Hnh 5.2 S3C2440A v kch thc.

SV: PHM MINH TU N H BCH KHOA TP.HCM

24

Lun n t t nghip

Chng 5: Mch Micro2440

Hnh 5.3 Cc kh i chc nng c a S3C2440A Cc c tnh k thut chnh trch t datasheet:

SV: PHM MINH TU N H BCH KHOA TP.HCM

25

Lun n t t nghip V s khi:

Chng 5: Mch Micro2440

Hnh 5.4 S khi S3C2440A

5.2.2 Core board:


Core board c thit k layout 6 lp vi kch thc 52mm x 63mm. Trn cha CPU (S3C2440A), cc IC nh (memory), v a ra 3port chn cm sp xp dng ch U cm vo m ch SDK board. SV: PHM MINH TU N H BCH KHOA TP.HCM 26

Lun n t t nghip

Chng 5: Mch Micro2440

Hnh 5.5 Core board. Core board l m t mch vi cc phn cng ti thiu cho mt h thng my tnh. N bao gm: Vi x l S3C2440; mch cp ngun (u vo 5V); m ch Reset; cng Jtag; cc Led debug; cc b nh: NAND FLASH, NOR FLASH, SDRAM; cc linh kin nh t in, in tr, thch anh cn thit cho vi x l v cc IC nh; 1 Jumper chn ch kh i ng t NAND FLASH hay NOR FLASH; v 3 port chn cm PA, PB, PC. Core board c th xem nh kh i System(CPU v memory) cho board Micro2440. Chi tit phn cng core board: CPU: Samsung S3C2440A, tc 400MHz, max 533MHz. SDRAM: Dung lng 64MB. Data bus 32bit. Bus clock ti a 100MHz. Flash memory: 256MB NAND FLASH. 2M NOR FLASH. Cc cng v thit b tng tc: 1port PA 56 chn pitch 2.0mm cho GPIO. 1port PB 50 chn pitch 2.0mm cho LCD v CMOS CAMERA. SV: PHM MINH TU N H BCH KHOA TP.HCM 27

Lun n t t nghip

Chng 5: Mch Micro2440

1port PC 56 chn pitch 2.0mm cho System bus. Mch Reset on-board. Port Jtag 10 chn pitch 2.0mm. LED. Clock h thng: Thch anh 12MHz. Real-time clock: On-chip Real-time clock, khng bao gm pin back-up. Thch anh Real-time 32.768KHz. Ngun: 5VDC. Kch thc: 63 x 52 mm.

5.2.3 SDK board:


SDK (Software Development Kit b pht trin phn m m) thng c bit n nh m t mch (Kit) trn c sn mt s module chc nng phn cng, nhm mc ch d dng cho hc tp v nghin cu pht trin cc phn m m ng dng cho cc module ph n cng . Micro2440SDK l mt m ch 2 lp, gm cc module h tr khi h thng (Core board) giao tip vi cc thit b ngo i vi. Micro2440 l m t my tnh nhng v vai tr c a SDK board gn tng t Main Board ca my tnh.

Hnh 5.6 SDK board. SV: PHM MINH TU N H BCH KHOA TP.HCM 28

Lun n t t nghip

Chng 5: Mch Micro2440

Micro2440SDK bao gm: 1 RJ-45 network interface 100M, s dng Chip LAN DM9000. cng giao tip ni tip, gm 3 ng ra TTL v 3 ng ra RS232. USB Host (USB 1.1), s dng USB HUB Chip. 1 USB device (USB 1.1). Audio output 3.5mm stereo jack v 1 microphone. 1 PWM buzzer. 1 bin tr W1 cho b ADC on-chip. nt nhn. 1 khe cm SD card. LCD connector: 1 cho LCD 3.5inch v 1 cho LCD 7inch. touch screen connector. 1 CMOS camera connector (CON4) kt n i vi Camera module CAM130 c a FriendlyARM. Pin backup RTC 1 port System Bus. Ng vo cp ngu n 5V. Vi vic tch ring ph n h thng (Core board) v ph n giao tip ngo i vi (SDK), nh sn xut d tnh ta c th thit k v thi cng li 1 mch nhng s dng li khi Core board nhng vi cc ngoi vi v cc kh i chc nng khc thch hp hn vi ng dng c th ca minh. Core board bao gm CPU v cc memory (Flash, SDRAM) vi tn s hot ng v tn s trn data bus cao, ngoi ra S3C2440 c kiu v 289-FBGA, 2 l do ny khin vic thit k v thi cng kh i CPU v memory tr nn phc tp. Chc chn cn cng ngh mch in nhiu hn 2 lp. SDK ch g m cc port IO, cc IC giao tip nn vic thit k v thi cng n gin hn nhiu, hon ton c th s dng m ch in 2 lp. V vy, cho 1 ng dng c th cn n khi h thng tng t nh Core board c a Micro2440, ta hon ton c th dng li Core board v thit k li SDK thch h p.

5.3 H iu hnh Embedded Linux trn Micro2440: 5.3.1 H iu hnh Embedded Linux:
Mt h iu hnh bao gm 2 ph n chnh: phn nhn hay li ca h iu hnh (Kernel) v ph n h thng cc tp tin v cc ng dng (File System). Embedded Linux l mt h iu hnh hon chnh. Cm t embedded thng c cp trong kernel nhng th c cht khng c mt phin bn Linux kernel no dnh ring cho h thng nhng. Linux kernel source code c s dng chung compile cho mi thit b, t cc thit b nhng, n my PC v c cc server ln, i vi mi platform s c nhng option hiu ch nh ph hp v c bit dnh cho platform . SV: PHM MINH TU N H BCH KHOA TP.HCM 29

Lun n t t nghip

Chng 5: Mch Micro2440

Cc thnh phn cu to nn h thng Embedded Linux bao gm boot loader, Linux kernel, v File System. Tt c cc thnh ph n ny u c th tm thy phin bn open source v chng ta c th t mnh chnh sa, thay i cho ph hp vi thit b c a mnh. Embedded Linux khng th chy trn cc processor c kin trc nh hn 32 -bit. Trong thi gian gn y, cng ngh system-on-chip (SOC) pht trin mnh, dn n vic h gi thnh sn xut cc microprocessor, ng th i b nh RAM v flash cng r v c dung lng ln hn to nn thun li cho vic chuyn sang pht trin h thng nhng c s dng Embedded Linux. Cc h thng nhng ngy nay bn cnh cc chc nng cn thit cn c th h tr thm cc chc nng ph (web server, firewall, nghe nhc...) thng qua h thng Embedded Linux. Vic s dng Embedded Linux cho h thng nhng cn gip gim thi gian thit k v pht trin, do b n thn Linux kernel c thit k theo module. Chng ta c th d dng tm c nhiu module c sn v hiu qu nh TCP/IP stack, X-server cho ng dng GUI, hoc c th tm thy driver cho thit b nhng ca mnh c vit sn trong kernel. Mt im m nh khc ca Embedded Linux l open source, iu ny cho php ngi thit k can thip su hn vo cc dch v v module m h iu hnh cung cp. Ngi thit k c th hiu r hn v nhng hm m h gi v thm ch c th thay i, ti u cc hm ny cho thit b mnh s dng. Ngi thit k cn c th da vo cc module driver c sn tham kho cho cc driver m h sp vit. Tnh open source cn gip code h tr bi kernel c tnh tin cy cao, trc khi c a vo kernel source tree, code ny c test rt nhiu trong cng ng v thm ch nu c li xy ra cng s c patch thay th trong thi gian ngn. Tnh sn sng c a Embedded Linux l rt cao. t c h iu hnh no h tr c nhiu platform v device driver nh Linux. Ngoi h tr phn cng Linux cn h tr cc giao thc tiu chun (wifi, bluetooth, ...). Tt c nhng iu trn cho chng ta th y tnh nng hiu qu ca h thng Embedded Linux v cng nhng im mnh lm cho xu hng pht trin Embedded Linux ngy cng tr nn quan trng, cng nhiu cng ty u t vo lnh vc ny v cng nhiu ngi yu thch Embedded Linux hn.

Hnh 5.7 Linus Torvalds, cha ca HH Linux.

Hnh 5.8 Ch chim cnh c t, biu tng ca HH Linux. 30

SV: PHM MINH TU N H BCH KHOA TP.HCM

Lun n t t nghip

Chng 5: Mch Micro2440

5.3.2 H iu hnh Embedded Linux trn Micro2440:


Micro2440 c nh sn xut ci t sn Embedded Linux vi cc tnh nng chnh sau: Kernel Version Linux 2.6.29 File Systems YAFFS2 CRAMFS EXT2 FAT32 NFS Drivers (all open source) Drivers for 3 serial ports DM9000 driver Audio driver (UDA1341) (audio recording supported) RTC driver User LED driver USB host driver True color LCD driver (including 1024 x 768 VGA) Touch screen driver USB camera driver Drivers for USB mouse, keyboard, flash drive and portable hard disk SD card driver, supports maximum memory of 32 G I2C-EEPROM driver PWM buzzer driver LCD backlight driver A/D converter driver Watchdog driver (watchdog reset is cold reset) Linux Applications and Utilities Busybox1.13 (Linux tool kit including basic Linux commands) Telnet, FTP and inetd (remote login tool) BOA (web server) Madplay (console based mp3 player) Snapshot (console based screen print tool) ifconfig, ping, route and so on (basic network commands) Graphic User Interface (Open Source) Qt/Embedded 2.2 (x86 and arm)

Qtopia Test Utilities (developed by FriendlyARM, not open source) SV: PHM MINH TU N H BCH KHOA TP.HCM

31

Lun n t t nghip

Chng 5: Mch Micro2440

A/D conversion test tool LED test tool User button test tool I2C-EEPROM read/write test tool LCD test tool Ping test tool USB camera live preview and picture taking Audio recorder Web browser Watchdog test tool Network configuration tool Backlight control tool Language setting tool (English and Chinese) Handwriting tool (for touch pen testing) MMC/SD card and flash drive auto mounting and unmounting

Hnh 5.10 Giao din Qtopia 2.2 trn Micro2440. Ta hon ton c th t bin d ch 1 phin b n Embedded Linux t Open source code Linux Kernel, vi cc thit lp v driver ty ; hay s d ng h thng File System khc; hay giao din ha khc Qtopia 2.2 m c nh. Th m ch ci li h iu hnh khc nh Windows CE hay Android trn Micro2440. SV: PHM MINH TU N H BCH KHOA TP.HCM 32

Lun n t t nghip

Chng 5: Mch Micro2440

5.3.3 Qu trnh khi ng Embedded Linux trn Micro2440:


H iu hnh Embedded Linux khi ng trn b t c thit b no u qua 4 giai on sau: 1. Internal boot: B vi x l (Micro Processing Unit - MPU) khi ng, 1 chng trnh nh trong chip (Internal Bootloader - c xy d ng sn trong qu trnh sn xut chip) s tm trn cc thit b nh (NOR FLASH, NAND FLASH, SPI DATA FLASH, SD Card) s tn ti ca chng trnh kh i ng u tin (1st Bootloader). Ty vo tng MPU m qu trnh tm kim ny din ra khc nhau. Mi MPU s h tr tm bootloader trn mt vi thit b nh v h tr cch ch nh tm kim trn thit b nh no (thng b ng cch thit lp cc Jumper). Internal bootloader s tm v thc thi 1st Bootloader. Nu khng tm th y th s chuyn sang ch cc thao tc np chng trnh hay debug 2. 1 st Bootloader: 1st Bootloader l 1 on firmware c vit v bin dch cho MPU xc nh. 1 st Bootloader phi c lu tr sector u tin ca thit b lu tr MPU c th tm thy. 1st Bootloader c nhim v khi ng cc khi chc nng chnh (khi PLL to clock h thng, khi iu khin giao tip Ram, Rom, ngoi vi cn thit), sau khi ng Bootloader th 2. 3. 2 nd Bootloader: 2nd Bootloader thng l nhng on chng trnh khi ng c vit c th dng c cho nhiu loi MPU, nhiu kin trc ph n cng khc nhau. 2nd Bootloader c nhim v chp file nh ca nhn h iu hnh (Linux Kernel Image) vo RAM, gii nn v truyn cc bin mi trng (cc tham s v h th ng nh cc thng s b nh , file system u), v khi ng Linux Kernel. 4. Linux Kernel: Linux Kernel truy xut File System (l h thng th mc, tp tin cn thit cho h iu hnh), kh i ng driver cho cc thit b , th c thi cc d ch v (service) cn thit c a h thng. Hon tt qu trnh khi ng. Nh vy khi ng h iu hnh Linux cho mt m ch nhng, ta cn 4 thnh phn c bn tham gia: 1 st Bootloader, 2 nd Bootloader, Linux Kernel, v File System. Vi x l S3C2440A h tr boot vi NOR/NAND FLASH, EEPROM, v nhiu thit b lu tr khc. Board Micro2440 c trang b 2MB NOR FLASH v 256MB NAND FLASH, nh sn xu t lu sn 1st Bootloader trn c NOR v NAND FLASH. Ta c th chn boot t NAND FLASH hay NOR FLASH b ng cch t hay khng t Jumper J1 trn Core board trc khi bt ngun cho mch. 1st Bootloader s tm v chp 2nd Bootloader vo SDRAM sau nhy n thc thi 2nd bootloader. 2nd Bootloader, Micro2440 s dng Vivi Bootloader (hay tn g i khc l SuperVivi), l 1 bootloader cho cc dng MPU ca SAMSUNG, dng boot Linux hoc Windows CE. Khi qu trnh boot n SuperVivi, kt ni Micro2440 vi my PC qua COM1 ca Micro2440, ta s c 1 c a s giao din b ng dng lnh lnh (console) SV: PHM MINH TU N H BCH KHOA TP.HCM 33

Lun n t t nghip

Chng 5: Mch Micro2440

c a SuperVivi trn mn hnh my PC. Ti y, Vivi cung cp cho ta mt s chc nng cu hnh h thng nh: xa, format b nh FLASH, load v lu tr Kernel Image, System backup and Restore Micro2440 c nh sn xut n p sn SuperVivi trong c NAND FLASH v NOR FLASH. Tuy nhin, NOR FLASH dng cho mc ch s a cha, restore h thng khi c li, hay ci li h iu hnh m i NAND FLASH c SuperVivi vi nhng tham s bin mi trng t ng tip tc qu trnh boot bng cch load Linux Kernel sau chuyn thc thi cho Linux Kernel. Mc nh Linux Kernel v Root File System u c cha trn NAND FLASH c a Micro2440. Linux Kernel cng c load vo v ch y trn SDRAM.

SV: PHM MINH TU N H BCH KHOA TP.HCM

34

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

CHNG 6

Lp trnh iu khin Robot trn Micro2440


6.1 Chn vit chng trnh iu khin:
T mc tiu v nhim v ca ti xc nh mc 1.3.1, ta cn vit mt ng dng phn m m iu khin Robot t hnh chy trn h iu hnh Embedded Linux sao cho lm r c th mnh ca lp trnh nhng trn Embedded Linux so vi lp trnh firmware iu khin Robot nh trc y. Ta chn vit chng trnh ng dng: IU KHIN DN NG CHO ROBOT T HNH BNG X L NH. t tn cho chng trnh l Ball Tracking. T nhng hnh nh thu c t 1 camera (s dng USB webcam), chng trnh s iu khin Robot di chuyn bm theo 1 qu bng mu . Chng trnh c 2 nhim v (task) ph i c x l song song: - Nhn nh t USB webcam, x l nhn dng qu bng bit c lch ca tm qu bng so vi trc robot, v khong cch c chng gia Robot v qu bng (d a vo bn knh c a hnh nh qu bng thu c). - Xut xung PWM ra cc chn GPIO iu khin 3 ng c bm theo qu bng.

6.2 Xc nh cc bc tin hnh cc cng c cn thit: 6.2.1 Xc nh cc bc tin hnh:


1/ Ta iu khin 3 ng c qua 6 chn GPIO. V bn Linux Kernel mc nh khi xut xng c a Micro2440 khng c driver cho cc chn GPIO, nn ta cn bin dch (Compile) li Linux Kernel t source code vi GPIO driver c chn. 2/ Np (port) h iu hnh Linux vi Kernel mi to. 3/ Compile th vin Op enCV ch y trn Embedded Linux ca Micro2440. 4/ Vit chng trnh iu khin s dng th vin x l nh OpenCV, v compile ch y trn Embedded Linux vi Micro2440.

6.2.2 Cc cng c cn thit:


a) Cross-Toolchain v Cross-Compiler: bin dch code sang m my, ta cn trnh bin dch (compiler) v cc cng c (tool), g i l b cng c bin d ch (toolchain). Khi nim Cross-Toolchain ch b cng c bin d ch thc hin trn mt h thng, nhng kt qu cho ra file thc thi dng chy trn mt h thng khc. Ta s dng my tnh vi h iu hnh Linux Ubuntu bin dch cc chng trnh cho Micro2440. Cross Toolchain s dng l gi "arm-linux-gcc-4.3.2.tar.bz2" download ti http://www.codesourcery.com/ Chi tit s dng Cross Toolchain bin d ch chng trnh cho vi x l li ARM trn h iu hnh Linux c th xem ti liu The GNU Toolchain for ARM targets HOWTO ti a ch http://www.aleph1.co.uk/armlinux/thebook.html/

SV: PHM MINH TU N H BCH KHOA TP.HCM

35

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Cc bc ci t arm-linux-gcc-4.3.2 ln my PC Linux Ubuntu: trong ca s Termial c a my PC Linux: To th m c: # mkdir /user/local/arm # mkdir /user/local/arm/4.3.2 Gii nn gi arm-linux-gcc-4.3.2.tar.gz vo th mc v a to: # tar xvzf arm-linux-gcc-4.3.2.tar.gz C/ Thit lp bin mi trng: # export PATH=$PATH:/user/local/arm/4.3.2/bin Sau ta c th compile cc chng trnh vit bng C hay C++ ch y trn Micro2440. V d ta compile file main.c trong th m c /hello_dir thnh file hello dng arm-linux-gcc: # cd /hello_dir /hello_dir# arm-linux-gcc o hello main.c b) Minicom: Minicom l phn m m giao tip vi cng n i tip (cng COM) ch y trn h iu hnh Linux. Ta cn s dng Minicom lm console trn my PC Linux, giao tip vi SuperVivi trn Micro2440 trong qu trnh n p (port) li h iu hnh Embedded Linux cho board Micro2440 (qu trnh port Linux ln board). Download v ci t gi ph n mm Minicom: # sudo get-install minicom Ci t xong, thit lp cho Minicom: # minicom s Ca s configuration ca Minicom hin ln, chn Serial port Setup

Hnh 6.1 Serial port setup Minicom. SV: PHM MINH TU N H BCH KHOA TP.HCM 36

Lun n t t nghip Thit lp cc thng s:

Chng 6: Lp trnh iu khin Robot trn Micro2440

Hnh 6.2 Thit lp thng s cho Minicom. Ch chn Serial Device l /dev/ttyS0 cho COM0 ca PC, /dev/ttyS1 cho COM1 Chn /dev/ttyUSB0 nu dng thit b USB-to-COM. Sau chn Exit, Minicom s to kt ni vi cng COM v ta c th bt u lm vic.

c) USB push: USB push l mt chng trnh chy trn my PC Linux, giao tip vi m ch Micro2440 qua cng USB th c hin gi v nh n file gia my PC v Micro2440. Download v xem cch s dng USB push trn website: http://www.friendlyarm.net/downloads.

6.3 Bin dch Linux Kernel cho Micro2440:


Ta thc hin bin dch li Linux Kernel cho Micro2440 nhm tch hp driver cho GPIO vo Kernel. Linux Kernel rt s, n gin, ta s dng gi source code Linux 2.6.32.2 download ti http://www.friendlyarm.net/downloads. y l Linux Kernel source code c cu hnh cc tham s ph hp vi ph n cng mch Micro2440. Download v gii nn ta c th m c Linux-2.6.32.2. Trc khi bin dch, ta cn xa nhng thit lp t cc ln bin dch trc: #cd /Linux-2.6.32.2 /Linux-2.6.32.2# make clean Vic bin dch m t gi phn mm gm 2 bc c bn: bc cu hnh (config) nhm mc ch to ra file .config trong gi source code cha cc thng tin thit lp cho gi phn m m; v bc Make to ra cc file th c thi. SV: PHM MINH TU N H BCH KHOA TP.HCM 37

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Trong source code Linux-2.6.32.2 download, nh sn xut FriendlyARM to sn cc file config cu hnh cho Kernel ph hp vi phn cng Micro2440. C th c 5 file cu hnh tng ng cho 5 lo i LCD s dng vi Micro2440: config_mini2440_t35 - cho TPO 3.5inch LCD config_mini2440_l80 - cho Sharp 8inch LCD config_mini2440_n35 - cho NEC 3.5inch LCD config_mini2440_a70 cho Innolux 7inch LCD config_mini2440_vga1024x768 cho mn hnh VGA ( phn gii 1024x768) s dng, ta i tn file cu hnh tng ng vi loi mn hnh ang s dng trn board Micro2440 thnh .config. V d s dng mn hnh LCD NEC 3.5inch: /Linux-2.6.32.2# cp config_mini2440_n35 .config Thit lp Cross-compiler nh mc 6.2.2, v bt u config Kernel: /Linux-2.6.32.2# make menuconfig Mn hnh giao din cu hnh Kernel xut hin:

Hnh 6.3 Cu hnh cho Linux Kernel. S dng cc phm mi tn di chuyn chn cho php ho c khng cho php, la chn cc option tng thch vi phn cng. Chi tit v cc option ca Linux Kernel c th tm thy trong ti liu Micro2440 User manual c a FriendlyARM ho c trn website pht trin Linux Kernel: http://www.kernel.org Nh ni, FriendlyARM cu hnh cc tham s cn thit ph hp vi m ch Micro2440, ta ch cn cho php thm la chn GPIO sysfs trong phn Device Driver --->. Exit, ta to c file .config c cc tham s cu hnh cho Linux Kernel ph hp vi Micro2440 v tch hp GPIO driver. SV: PHM MINH TU N H BCH KHOA TP.HCM 38

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Build Linux Kernel Image: /Linux-2.6.32.2# make zImage Nu qu trnh bin dch thnh cng, file zImage s c to ra trong th m c Linux-2.6.32.2/arch/arm/boot. l file nh ca Linux Kernel.

6.4 Np li Embedded Linux cho Micro2440:


Vic n p Embedded Linux (porting Embedded Linux) vi Kernel mi va to nhm c c driver cho GPIO. Nh trnh by, qu trnh boot Embedded Linux cn 4 thnh phn: 1 st bootloader, 2 nd bootloader, Linux Kernel Image, v File System. 1st bootloader c nh sn xut ci t sn trong NOR FLASH v NAND FLASH, ta khng cn thay i. 2nd bootloader: s dng SuperVivi, SuperVivi c FriendlyARM bin dch sn v c th download ti http://www.friendlyarm.net/downloads. Linux Kernel Image l file zImage ta va to c. Root File System cng c th download ti http://www.friendlyarm.net/downloads. Tin hnh port Embedded Linux cho Micro2440 bng cch s dng SuperVivi c sn trn NOR FLASH lm console np cc bootloader, Linux Kernel, v File System vo NAND FLASH. Thao tc nh sau: Kt ni cng COM0 ca Micro2440 vi cng COM ca my PC Linux, khi ng Minicom trn PC Linux. Gt switch boot mode trn Micro2440-SDK sang NOR FLASH v bt ngun cho Micro2440. Micro2440 s boot vo SuperVivi trn NOR FLASH. Trn console c a Minicom trn my PC Linux s xut hin giao din n gin c a SuperVivi:

Hnh 6.4 SuperVivi console. SV: PHM MINH TU N H BCH KHOA TP.HCM 39

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Ta format NAND FLASH bng lnh f. Tip theo, dng lnh v, SuperVivi s ch nhn file Vivi bootloader t my PC. Ta kt n i cng USB device trn Micro2440 vi cng USB my PC, v dng chng trnh USB push gi file Vivi bootloader download xung Micro2440. SuperVivi ang chy trn Micro2440 s nhn file Vivi bootloader ny v chp vo NAND FLASH. Tng t, dng lnh k v tool USB push download zImage vo NAND FLASH c a board Micro2400. Tip tc dng lnh y v tool USB push download Root File System vo NAND FLASH ca Micro2440. Ngt kt ni COM v USB gia Micro2440 v my PC, gt switch chn ch boot trn Micro2440-SDK sang NAND FLASH v kh i ng li board. Micro2440 s boot vo NAND FLASH v khi ng Embedded Linux mi n p. Nu Embedded Linux va np khi ng tt trn Micro2440, v trong th m c /sys/class/ c a Root File System trn Micro2440 xut hin th mc GPIO l ta thnh cng trong vic ci t li Embedded Linux trn board Micro2440 c driver cho GPIO.

6.5 Bin dch OpenCV cho Micro2440:


OpenCV l mt th vin m ngun m phc v cho lp trnh ng dng v th gic my tnh. OpenCV gm hn 500 hm v thut ton cn thit cho vic x l nh, v hin vn tip tc c pht trin mnh bi cng ng m ngun m . OpenCV c th c bin d ch ch y trn nhiu h iu hnh, nhiu platform. Ta s dng phin bn OpenCV 2.0.0, source code download ti http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.0/ Download v gii nn vo th mc OpenCV-2.0.0 To th m c /Micro2440-OpenCV ch a cc file th vin s bin dch c: # mkdir /Micro2440-OpenCV Thit lp Cross-compiler arm-linux-4.3.2 v config OpenCV vi cc tham s ch nh ch y trn arm-linux platform, khng to th vin shared, v file kt qu lu ti th mc /Micro2440-OpenCV: # cd /OpenCV-2.0.0 /OpenCV-2.0.0# ./configure --host=arm-linux --disable-shared -prefix=/Micro2440-OpenCV Sau make: /OpenCV-2.0.0# make install Qu trnh bin dch thnh cng s to ra 4 th mc th vin Open CV: include, lib, bin, share trong th m c /Micro2440-OpenCV. Chp 4 th mc ny vo th mc g c ca Root File System trn m ch Micro2440. Vic chp file qua li gia my PC v Micro2440 c th dng USB flash disk, SD Card, hoc qua cng ethernet dng giao thc FTP. Chi tit cch dng giao thc FTP gia my PC Linux v mch Micro2440 c trnh by trong ti liu Micro2440 User manual. SV: PHM MINH TU N H BCH KHOA TP.HCM 40

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Th vin OpenCV 2.0.0 sn sng cho ng dng x l nh trn board Micro2440.

6.6 Ball Tracking:


Chng trnh gm 2 lung (thread) cng vic c thc hin song song: Bt nh t USB webcam, p dng cc hm x l nh ca OpenCV nh n dng qu bng, ly c ta (ta tnh trong khung hnh thu c) ca qu bng v kho ng cch t Robot n bng (da vo bn knh c a hnh nh qu bng thu c). Sau tnh ra cc gi tr vn t c cn t ln 3 ng c Robot di chuyn bm theo qu bng. To xung PWM b ng cch on-off 6 chn GPIO theo vn tc tnh c iu khin ng c.

6.6.1 Ball detect:


Nh n dng qu bng (Ball detect) bng phng php sau: 1. Bt 1 hnh nh t USB webcam capture = cvCaptureFromCAM; // m thit b camera. frame = cvQueryImage; // bt m t hnh nh t camera.

Hnh 6.5 Hnh g c thu t USB webcam. 2. Chuyn sang h mu HSV H mu HSV cho php p dng cc thut ton lc mu tt hn h mu RGB. Chuyn hnh nh thu c t h mu RGB sang h mu HSV: cvCvtColor(frame, HSV_frame, CV_BGR2HSV); SV: PHM MINH TU N H BCH KHOA TP.HCM 41

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Hnh 6.6 Hnh nh trong h mu HSV. 3. Lc mu dng hm cvInRangeS Hm cvInRangeS l c v to ra 1 nh trng en nh phn, ch gm 2 mu: trng (1) v en (0). Nhng im khng thuc vng mu c ch nh s chuyn thnh en, im n m trong gii h n vng mu ch nh s chuyn sang mu trng.

Hnh 6.7- cvInRangeS lc ly mu . SV: PHM MINH TU N H BCH KHOA TP.HCM 42

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

4. Gim nhiu b ng hm cvDilate

Hnh 6.8 cvDilate gim nhiu. 5. Tip tc gim nhiu bng hm cvErode

Hnh 6.9 cvErode gim nhiu. SV: PHM MINH TU N H BCH KHOA TP.HCM 43

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

6. Pht hin ng bin vt (contour) b ng cvFindContours

Hnh 6.10 cvFindContours pht hin ng bin. 7. V hnh elip xp x ng bin, dng hm cvFitEllipse2

Hnh 6.11 cvFitEllipse2 to elip xp x vi ng bin. SV: PHM MINH TU N H BCH KHOA TP.HCM 44

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

8. Xc nh ng trn. Trong cc hnh elip to ra, so snh ng knh trc ln v trc nh ca elip, nu gn b ng nhau th l ng trn tng ng vi qu bng mc tiu. Cn c vo lch ca tm ng elip so vi trc i xng dc ca hnh, ta s bit qu bng ang pha tri hay phi ca Robot, t iu khin Robot quay v pha qu bng. Cn c vo bn knh ng trn, ta c chng c kho ng cch gia qu bng v Robot, t iu khin Robot di chuyn ti hay lui.

6.6.2 Truy xut GPIO driver :


Trong h iu hnh Linux, chng trnh ng dng c a ta chy lp User, khng th trc tip can thip iu khin phn cng lp Device. iu khin phn cng cn mt chng trnh trung gian gi l Driver. Chng trnh ng dng s giao tip vi Driver qua h thng File System, v Driver s truy xut iu khin phn cng. Driver cho GPIO c a Linux cung cp phng php giao tip thng qua cc file v th m c trong /sys/class/gpio. Trong console terminal ca Micro2440, g lnh: #cd /sys/class/gpio /sys/class/gpio# ls Lnh ls s lit k cc file v th m c trong /sys/class/gpio export gpiochip192 gpiochip96 gpiochip0 gpiochip224 unexport gpiochip128 gpiochip32 gpiochip160 gpiochip64 Nh vy Driver GPIO trong Linux Kernel ca Micro2440 cho php ta truy xu t cc port GPIO thng qua: gpiochip0, gpiochip32, gpiochip64, gpiochip96, gpiochip128, gpiochip160, gpiochip192, gpiochip224. Truy xu t file export v unexport bt u v kt thc thao tc vi GPIO. bit cc gpiochip l tng ng vi port GPIO no, v d vi gpiochip160, ta dng lnh: /sys/class/gpio# cat gpiochip160/label Cho kt qu: GPIOF. Ngh a l gpiochip160 iu khin port F ca S3C2440A. Mi chn GPIO c nh s th t theo quy tc: s ca gpiochip iu khin tng ng + s th t ca GPIO trong port. V d: chn GPIO th 3trong port F (GPIO F.2) s c s th t: 160 (s c a gpiochip port F) + 2 (s th t c a GPIO F.2 trong port F) = 162. bt u truy xut chn GPIO F.2, ta ghi gi tr 162 vo file export. Sau , th mc gpio162 s c to ra, trong cha cc file ph c v truy xut chn GPIO F.2. Ta cn quan tm file direction v value. thit lp GPIO l input hay output, ta ghi in, out, high, low vo direction: out hay low cho cng kt qu l GPIO s c thit lp thnh ng ouput vi m c in p ban u m c thp (0). SV: PHM MINH TU N H BCH KHOA TP.HCM 45

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

high s thit lp output GPIO vi in p ban u m c cao (1). in s thit lp chn GPIO tng ng thnh ng vo input. Sau khi thit lp GPIO thnh ng ra output, ta c th t gi tr ng ra cao hay thp b ng cch ghi gi tr 1 hay 0 vo file value. c ng vo input bng cch c gi tr trong file value Trong chng trnh Ball Tracking, on code sau khi to ouput cho GPIO F.0:

Ta cn 6 chn GPIO, khi to tng t cho GPIO F.1, F.2, F.3, F.4, F.5. Output m c cao cho chn GPIO:

Output m c th p cho GPIO:

Vi tham s fname gi chui ng dn v tn ca file value tng ng vi chn GPIO mun iu khin. SV: PHM MINH TU N H BCH KHOA TP.HCM 46

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

6.6.3 To xung PWM :


iu khin 1 ng c ta cn 2 ng ra GPIO. Trong qu trnh hot ng, 1 ng ra s c gi mc th p, ng ra cn li xu t xung PWM iu khin vn tc ng c. o chiu quay ng c, ta i vai tr 2 chn GPIO. M t chi tit CHNG 4: mch cng sut ng c. Ta cn 6 GPIO iu khin c lp 3 ng c, trong cn 3 ng ra PWM. n gin, ta to xung PWM vi phn gii 10 bc bng 10 bc iu khin gi tr output chn GPIO trong 1 chu k. Trong chng trnh Ball Tracking: - Dng m ng PWM_mask[] gi 3 chui ng dn n file value c a 3 chn GPIO cn xut xung PWM. Chiu quay ca 3 ng c s quyt nh chn GPIO no cn xut xung PWM. - Mng PWM_speed[] gi gi tr vn t c mong mun cho 3 ng c (gi tr trong khong t 0 n 10) on chng trnh to xung PWM:

Xung PWM to ra vi phn gii 10 bc, tn s 100Hz.

6.6.4 Phn lung cu trc chng trnh:


Ball tracking cn lm 2 cng vic ng thi: x l nh v xut xung iu khin ng c. V vy dng th vin pthread, ta to 2 lung (thread) hot ng song song: Thread 1: nh n d ng qu bng v tnh ton gi tr vn tc v chiu quay cho 3 ng c. T chiu quay ca 3 ng c, xc nh 3 chn GPIO ph i xut PWM v a gi tr tng ng vo mng PWM_mask[] nh bng cch a vo mng PWM_speed[]. Qu trnh ny lp li lin t c. Thread 2: xut xung PWM t mng gi tr PWM_speed[]. y cng l m t vng lp lin tc. SV: PHM MINH TU N H BCH KHOA TP.HCM 47

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

Th vin pthread l mt th vin chun trong C/C++. N cho php to v qu n l nhiu lung x l trong 1 chng trnh, cho ta hiu qu gn nh nhiu chng trnh cng c chy v x l m t lc. Cu trc chng trnh Ball Tracking:

6.6.5 Bin dch v chy chng trnh:


Chng trnh c vit v lu li vo file BallTracking.cpp. bin dch chng trnh, ta to file Makefile trong cng th m c vi BallTracking.cpp vi n i dung: BOARDCC=/user/local/arm/4.3.2/bin/arm-linux-gcc BOARDCXX=/user/local/arm/4.3.2/bin/arm-linux-g++ BOARDFLAGS=-o2 -I/Micro2440-OpenCV/include/opencv -L/Micro2440-OpenCV/lib -lcv -lhighgui -lcxcore -lml -lcvaux -lrt -lpthread -ldl -lz -lpng12 -ljpeg target: BallTracking.cpp $(BOARDCC) $(BOARDFLAGS) BallTracking.cpp -o BallTracking_app

SV: PHM MINH TU N H BCH KHOA TP.HCM

48

Lun n t t nghip

Chng 6: Lp trnh iu khin Robot trn Micro2440

default: target Trong : /user/local/arm/4.3.2/bin/ l ng dn n Cross-compiler. /Micro2440-OpenCV/ l ng dn n th vin OpenCV bin dch. Bin dch BallTracking: di chuyn vo th mc cha BallTracking.cpp v: # make File BallTracking_app s c to ra trong cng th mc. y l file thc thi ch y trn board Micro2440. Ta chp file ny ln board v cp quyn thc thi cho file: # chmod +x BallTracking_app Kt ni USB webcam vo cng USB host trn Micro2440 v chy ng dng: # ./BallTracking_app

SV: PHM MINH TU N H BCH KHOA TP.HCM

49

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

CHNG 7

Mch nhng AT91SAM9260-SMISY


7.1 Tng quan v mch nhng AT91SAM9260-SMISY: 7.1.1 Mc ch thit k mch AT91SAM9260-SMISY:
Trong ti ny, mch AT91SAM9260-SMISY c thit k nhm mc ch thay th m ch Micro2440 lm vai tr b iu khin trung tm cho m hnh Robot t hnh. Mch thit k c ly tn l AT91SAM9260-SMISY. Vic thit k li m ch iu khin thay th cho mch Micro2440 nhm nh ng m c ch sau: Thit k ti u cho ng dng c th: iu khin dn ng cho robot t hnh. Vic thit k ti u nhm n gin ha trong thi cng v h gi thnh sn phm. Nm r hn v cu trc v hot ng ca h thng nhng, my tnh nhng, h iu hnh nhng. Tin n thc hin cc h thng iu khin Robot khc.

7.1.2 Mch AT91SAM9260-SMISY:


Mch AT91SAM9260-SMISY c thit k thay th cho m ch Micro2440 lm mch iu khin cho m hnh Robot t hnh, v vy cn mch cn c thit k c th chy vi h iu hnh Embedded Linux. Nhim v c a AT91SAM9260-SMISY trong m hnh Robot t hnh cng tng t nh mch Micro2440: l b iu khin trung tm cho Robot, nh n tn hiu t cc cm bin, x l v a ra quyt nh iu khin ng c robot di chuyn. Vi mc ch ti u cc chc nng, h gi thnh b iu khin, v n gin ha vic thi cng ti Vit Nam, mch AT91SAM9260 lc b vi chc nng khng cn thit cho ng dng iu khin Robot so vi Micro2440 nh: khng c mn hnh giao din, khng c phn Audio. Ta thc hin mch vi cc thnh phn chnh: o Vi x l AT91SAM9260: li ARM926EJ-S 32bit, tc ti a 180MHz. o Ram: 8MB SDRAM. o 256MB NAND Flash. o USB host, USB device. o SD card slot. o Cng giao tip RS232. o Cng giao tip Ethernet 10/100 Base. o Cc chn IO. Mch c thit k c th thi cng ti Vit Nam, vi nhng linh kin d tm thy trn th trng, gi thnh khng qu cao.

SV: PHM MINH TU N H BCH KHOA TP.HCM

50

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

7.2 La chn vi x l AT91SAM9260:


ch y h iu hnh Embedded Linux, cn b vi x l 32bit, ti thiu 4MB Ram cho kernel Linux, v cn t i thiu 60MB ROM cha Root FileSystem. V vy vi x l s d ng phi c: Li x l 32-bit, tc khng qu th p. H tr giao tip vi cc b nh FLASH ngoi hay th nh (Storage Card). H tr giao tip vi RAM ngoi dung lng ln nh SDRAM, DDRAM. ng thi gim bt kh khn khi thi cng ti Vit Nam, ta la chn vi x l c la ch n nn c kiu ng gi (package) thch hp. a s cc vi x l cao cp c kiu ng gi BGA (Ball-Grid Array), QFP (Quad Flat Package), hay LCC (Leadless Chip Carrier). Trong kiu ng gi BGA vi cc chn sp xp dng ma trn di bng chip, m ch s dng chip BGA cn thit k nhiu lp, hu nh khng th thi cng ti Vit Nam.

b) c) Hnh 7.1 Mt s kiu ng gi vi x l. a) BGA package - b) QFP package - c) LCC package Ta chn vi x l AT91SAM9260 ca hng ATMEL vi kiu ng gi 208 chn QFP. AT91SAM9260 l vi x l vi li ARM9 do hng ATMEL sn xu t, c thit k nh b x l cho h thng hon chnh, thch h p cho cc ng dng nh Point-OfSale, Bar code reader, Ethernet-base IP camera

a)

Hnh 7.2 AT91SAM9260.

SV: PHM MINH TU N H BCH KHOA TP.HCM

51

Lun n t t nghip o o

Chng 7: Mch nhng AT91SAM9260-SMISY

Cc thng s chnh: 180 MHz ARM926EJ-S ARM Thumb Processor - 8 KBytes Data Cache, 8 KBytes Instruction Cache, MMU Memories - 32-bit External Bus Interface supporting 4-bank SDRAM/LPSDR, Static Memories, CompactFlash, SLC NAND Flash with ECC - Two 4-kbyte internal SRAM, single-cycle access at system speed - One 32-kbyte internal ROM, embedding bootstrap routine Peripherals - ITU-R BT. 601/656 Image Sensor Interface - USB Device and USB Host with dedicated On-Chip Transceiver - 10/100 Mbps Ethernet MAC Controller - One High Speed Memory Card Host - Two Master/Slave Serial Peripheral Interfaces - Two Three-channel 32-bit Timer/Counters - One Synchronous Serial Controller - One Two-wire Interface - Four USARTs - Two UARTs - 4-channel 10-bit ADC System - 90 MHz six 32-bit layer AHB Bus Matrix - 22 Peripheral DMA Channels - Boot from NAND Flash, SDCard, DataFlash or serial DataFlash - Reset Controller with On-Chip Power-on Reset - Selectable 32,768 Hz Low-Power and 3-20 MHz Main Oscillator - Internal Low-Power 32 kHz RC Oscillator - One PLL for the system and one PLL optimized for USB - Two Programmable External Clock Signals - Advanced Interrupt Controller and Debug Unit - Periodic Interval Timer, Watchdog Timer and Real Time Timer I/O - Three 32-bit Parallel Input/Output Controllers - 96 Programmable I/O Lines Multiplexed with up to Two Peripheral I/Os Package - 217-ball BGA, 0.8 mm pitch - 208-pin QFP, 0.5 mm pitch

SV: PHM MINH TU N H BCH KHOA TP.HCM

52

Lun n t t nghip S khi:

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.3 S khi vi x l AT91SAM9260. SV: PHM MINH TU N H BCH KHOA TP.HCM 53

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

7.3 S nguyn l mch AT91SAM9260-SMISY:


Mch AT91SAM9260-SMISY c thit k nh mt my tnh nhng ch y h iu hnh Embedded Linux vi cu hnh: o Vi x l AT91SAM9260: li ARM926EJ-S 32bit, tc ti a 180MHz. o Ram: 8MB SDRAM. o 256MB NAND Flash. o USB host, USB device. o SD card slot. o Cng giao tip RS232. o Cng giao tip Ethernet 10/100 Base. o Cc chn IO.

7.3.1 Khi vi x l AT91SAM9260:


Khi vi x l gm cc thnh phn: o Vi x l AT91SAM9260. o Thch anh 18.432MHz, cung cp xung nhp clock cho vi iu khin. o Thch anh 32.768KHz, cung cp xung nhp cho khi Realtime Clock trong vi iu khin. o Jtag port, debug. o Cc nt nh n Reset, Wake-up, user button o User Led. o Cc jumper chn ch hot ng. S nguyn l kh i vi x l:

SV: PHM MINH TU N H BCH KHOA TP.HCM

54

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.4 Khi vi x l AT91SAM9260 SV: PHM MINH TU N H BCH KHOA TP.HCM 55

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

7.3.2 SDRAM:
S dng MT48LC4M16A2, l IC SDRAM ca hng MICRON, vi cc thng s c bn: o Dung lng: 8 MegaByte (1Meg x 16 x 4banks). o Data bus 16bits, 133MHz. o Address bus 12bits. o ng gi: TSOP II - 54 chn.

Hnh 7.5 SDRAM. SDRAM c iu khin giao tip nh khi giao tip vi b nh ngoi (External Bus Interface) ca vi iu khin AT91SAM9260, ta khng qu quan tm n giao thc giao tip SDRAM. Khi SDRAM ny dng lm vng Ram chnh cho h iu hnh v cc ng dng.

7.3.3 NAND Flash:


S d ng HY27UF081G2M, l IC NAND Flash ca hng HYNIX, cc thng s tiu biu: o Dung lng 128 Mega Bytes. o Data bus 8bits. o Kiu ng gi: TSOP1 48 chn.

SV: PHM MINH TU N H BCH KHOA TP.HCM

56

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.6 NAND Flash. NAND Flash cng c giao tip nh vo khi External Bus Interface c a vi iu khin AT91SAM9260. NAND Flash ng vai tr nh a cng my vi tnh, l b nh cha h thng File (File System) cho h iu hnh hot ng.

7.3.4 SPI Data Flash:


Qu trnh khi ng h iu hnh Linux nhng l qu trnh ph c tp, qua nhiu giai on. Cn m t vng nh cha cc on code cho qu trnh khi ng (Boot loader). Ta dng AT45DB161D-SU, l IC nh Flash ca hng ATMEL: o Dung lng: 2 MegaBytes. o Giao tip SPI, tc ti a 66MHz. o Kiu ng gi: SOIC 8 chn.

Hnh 7.7 SPI Data Flash. AT45DB161D giao tip vi AT91SAM9260 nh kh i giao tip SPI vi chn chip select SPI0_NPCS1 c a AT91SAM9260.

7.3.5 Cc khi khc:


7.3.5.1-Khi ngun: o Dng LM1117-3V3, t u vo 5VDC, to ngun 3.3V cp cho cc module chc nng c a AT91SAM9260, v cc IC khc trn mch. SV: PHM MINH TU N H BCH KHOA TP.HCM 57

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

o Dng LM1117-1V8, t u vo 5VDC, to ngun 1.8V cp cho li x l c a AT91SAM9260. o Ngun pin 3V, qua MCP1700-1802E/MB, l IC n p hiu sut cao, to p 1.8V cho khi Realtime Clock ca AT91SAM9260.

Hnh 7.8 Khi cp ngu n. 7.3.5.2-Khi RS232: Dng IC Max3232 chuyn i mc in p gia kh i giao tip UART ca AT91SAM9260 (3.3V) v mc in p ca chun giao tip RS232 (9V). nh giao tip vi my vi tnh hoc cc thit b khc. Khi UART0 c a AT91SAM9260 cn giao tip vi my vi tnh qua RS232, lm Console chnh cho H iu hnh Linux chy trn m ch.

SV: PHM MINH TU N H BCH KHOA TP.HCM

58

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.9 RS232. 7.3.5.3-Khi giao tip SD card: Giao tip vi th nh SD. Th nh SD c th c dng nh b nh chnh ch a Kernel Linux v File system, hoc cha cc chng trnh ng dng hay cc d liu khc.

Hnh 7.10 SD card. 7.3.5.4-Khi giao tip Ethernet: AT91SAM9260 c module iu khin lp MAC ca giao thc Ethernet, ta cn IC DM9161A c a hng DAVICOM lm nhim v giao tip ethernet lp vt l (Physical layer).

SV: PHM MINH TU N H BCH KHOA TP.HCM

59

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.11 Ethernet. 7.3.5.5-USB port: Cng USB device dng giao tip vi my vi tnh. Cng USB host dng giao tip vi cc thit b USB khc (USB webcam, USB flash disk).

Hnh 7.12 USB port. 7.3.5.6-GPIO: GPIO (General Purpose Input Output) l cc chn vo/ra ng dng chung. Ta c th dng iu khin On/Off cc thit b , c gi tr t cc nt nhn... SV: PHM MINH TU N H BCH KHOA TP.HCM 60

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

AT91SAM9260-SMISY c 47 chn GPIO.

Hnh 7.13 GPIO.

7.4 Thi cng thc t:


Mch c v s nguyn l v s mch in b ng phn mm Orcad. Mch in c thit k 2 lp, c th d dng t sn xut ti cc c s thi cng mch in ti Vit Nam.

Hnh 7.14 AT91SAM9260-SMISY mt trn. SV: PHM MINH TU N H BCH KHOA TP.HCM 61

Lun n t t nghip

Chng 7: Mch nhng AT91SAM9260-SMISY

Hnh 7.15 AT91SAM9260-SMISY mt di.

Hnh 7.16 AT91SAM9260-SMISY. SV: PHM MINH TU N H BCH KHOA TP.HCM 62

Lun n t t nghip Gii thch cc Jumper: Jumper Tn J3 J4 J5 J6 J7 J8 J17 J18 J19

Chng 7: Mch nhng AT91SAM9260-SMISY

Chc nng Chn clock khi ng: t b dao ng RC bn trong INTRC/EXTCLK hay t thch anh 32.768KHz ngoi. NTRST_E Cho php ho c cm tn hiu NTRST ca khi Jtag. TCK_RTCK S dng hoc khng s dng tn hiu RTCK ca Jtag. BDS_E Cho php ho c cm ch c nng Jtag debug. BMS_LOW Chn boot t Embedded ROM hay t external memory. SFLASH_WP Cho php ho c cm ghi vo SPI DATA FLASH. NAND_WP Cho php ho c cm ghi vo NAND FLASH. Chn TXD1 (t khi UART1) hay DTXD (t khi TXD1/DTXD UART0 debug) kt ni n RX c a COM port. Chn RXD1 (kh i UART1) hay DRXD (kh i UART0 RXD1/DRXD debug) kt ni n TX ca COM port.

SV: PHM MINH TU N H BCH KHOA TP.HCM

63

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

CHNG 8

Embedded Linux trn AT91SAM9260-SMISY


8.1 Qu trnh boot Linux trn board AT91SAM9260-SMISY: 8.1.1 Qu trnh khi ng ca vi x l AT91SAM9260:
Mi loi vi iu khin c qu trnh boot khc nhau. i vi AT91SAM9260, khi va c cp ngun, AT91SAM9260 s thc hin qu trnh Rom Boot: th c thi on chng trnh boot trong ROM (c xy dng sn trong qu trnh sn xu t chip). Qu trnh Rom Boot th c hin nh sau:

Hnh 8.1 Qu trnh Rom Boot c a AT91SAM9260. SV: PHM MINH TU N H BCH KHOA TP.HCM 64

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Bc 1: Chng trnh chy vi b dao ng ni, hoc vi b dao ng th ch anh (c chn bi kim tra mc in p trn chn OSCSEL chn 41 c a AT91SAM9260, i vi m ch AT91SAM9260-SMISY th bng cch ni hoc khng ni Jumper J3), th c hin cu hnh main clock cho h thng. Bc 2: Kim tra s tn ti ca chng trnh BootStrap trong SPI dataflash (NPCS0). Nu tn ti, MPU thc hin chp m thc thi BootStrap t SPI dataflash vo SRAM ni ca MPU, sau thc thi lnh nh y n a ch u tin ca SRAM thc thi chng trnh . Nu khng tn ti, MPU thc hin Bc 3 sau y. Bc 3: Kim tra s tn ti ca chng trnh BootStrap trong SPI dataflash (NPCS1) hay khng. Nu tn ti, MPU th c hin chp m thc thi c a BootStrap t SPI dataflash vo SRAM ni ca MPU, sau thc thi lnh nhy n a ch u tin ca SRAM thc thi chng trnh BootStrap. Nu khng tn ti, MCU th c hin Bc 4 sau y. Bc 4: Kim tra s tn ti ca chng trnh BootStrap trong NAND FLASH device hay khng. Nu tn ti, MPU thc hin chp m thc thi ca BootStrap t NAND FLASH vo SRAM n i ca MPU, sau thc thi lnh nhy n a ch u tin ca SRAM thc thi chng trnh BootStrap. Nu khng tn ti, MPU thc hin bc B5 sau y. Bc 5: Nu MPU nhn c k t bt k t bn phm my tnh (qua cng DBGU). Ho c khi cm cable USB vo my tnh chng trnh s nhy sang SAM-BA boot. SAM-BA boot l qu trnh giao tip gia cc MPU dng AT91SAM vi chng trnh SAM-BA trn my tnh thc hin n p chng trnh khi ng cho MPU. Chng trnh BootStrap l on chng trnh nh c lu tr a ch u c a cc thit b nh (SPI DATA FLASH, NAND FLASH), s c chp vo SRAM v thc thi trn SRAM, c nhim v load cc chng trnh ng dng ln hn, v chng trnh ng dng ln khng th c load trc tip vo 4KB SRAM c a AT91SAM9260. Vic kim tra s tn ti ca BootStrap trn cc thit b nh c xc nh bng cch kim tra 32byte u ca cc thit b nh : 8 vector lnh u thit b nh (32 byte u, m i lnh 4 byte), tr vector th 6, l nhng lnh thch hp ca tp lnh ARM

Vector th 6 ( a ch 0x14) cho bit kch thc ca chng trnh s c chp vo SRAM ca AT91SAM9260 thc thi. Kch thc chng trnh phi nh hn 4KB, v AT91SAM9260 c SRAM 4KB. SV: PHM MINH TU N H BCH KHOA TP.HCM 65

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

V y vi m ch AT91SAM9260-SMISY, ta c th lu tr BootStrap SPI DATA FLASH (NPCS1) hoc NAND FLASH. Chng trnh BootStrap s c Rom Boot load v ch y trn SRAM. BootStrap s tip tc load cc chng trnh ng dng ln hn. ATMEL cung cp sn source code BootStrap cho dng chip AT91, gi l AT91BootStrap.

8.1.2 Qu trnh boot Linux trn board AT91SAM9260:


Qu trnh boot Linux trn board AT91SAM9260-SMISY cng cn cc boot loader, Linux Kernel Image, v File System. y, 1st bootloader ta dng AT91BootStrap, s dng DAS U-boot cho boot loader tng th 2. Ta phn vng b nh nh sau: o AT91BootStrap, U-boot, v Linux Kernel c cha trong SPI DataFlash. o File System c cha trong NAND Flash. o AT91BootStrap thc thi trn SRAM ni ca MPU. o U-boot v Linux Kernel chy trn SDRAM. Boot media (SPI Data Flash AT45DB161D) (2 MegaBytes) 0x0000 AT91BootStrap (4KB) 0x1000 U-boot environment (16KB) 0x5200 U-boot (230KB) 0x3E800

SDRAM (8MegaBytes) 0x20000000

Linux kernel (7MB)

Kernel image (1.75MB) U-boot (1MB) 0x1FFFFF Hnh 8.2 Phn vng b nh cho AT91SAM9260-SMISY. SV: PHM MINH TU N H BCH KHOA TP.HCM

0x20780000

0x207FFFFF

66

Lun n t t nghip Qu trnh boot Linux:

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Hnh 8.3 Qu trnh boot Linux. (1) Rom code: Qu trnh Rom Boot: AT91SAM9260 kh i ng, Rom code s th c thi, kim tra xem AT91BootStrap c tn ti trn Boot Media khng. (Boot media l cc b nh ngoi nh SPI Data Flash, Nand Flash, hay SD card). Nu tm th y, Rom code s load AT91BootStrap (4KB u tin ca Boot Media) vo SRAM ni ca AT91SAM9260 v thc thi n. (2) AT91BootStrap: C nhim v kh i ng SDRAM, b dao ng, v load U-boot t a ch 0x5200 trn SPI Data Flash vo a ch 0x207800000 trn SDRAM, ri th c hin lnh nhy n a ch chuyn thc thi cho U-boot. (3) U-boot: Thc hin load Linux Kernel t a ch 0x3E800 trn SPI Data Flash vo a ch 0x20000000 trn SDRAM, truyn cc bin mi trng v chuyn thc thi cho Kernel. Linux Kernel s cn c vo cc bin mi trng truy xut File System v b t u h iu hnh Linux.

SV: PHM MINH TU N H BCH KHOA TP.HCM

67

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

8.2 Thc hin port Linux ln board AT91SAM9260-SMISY:


Board AT91SAM9260-SMISY c cc thng s phn cng gn ging vi AT91SAM9260-EK Evaluation board ca ATMEL. V vy ta c th s dng li cc cng c pht trin v m t s m ngun dng cho board ny. Chi tit v board AT91SAM9260-EK tm th y trong ti liu AT91SAM9260EK Evaluation board User Guide ca ATMEL. im khc bit ln nht ca AT91SAM9260-SMISY so vi AT91Sam9260-EK v cu hnh h thng boot Embedded Linux l SDRAM. AT91SAM9260 -EK dng SDRAM 32MB vi data bus width = 32; AT91SAM9260-SMISY dng SDRAM 8MB vi data bus width = 16. Ta tin hnh chun b cc bootloader (AT91BootStrap v U-boot), Linux Kernel Image, v File System cho qu trnh boot Embedded Linux.

8.2.1 Cc cng c cn thit:


8.2.1.1-Cross-Compiler: S d ng gi "arm-2007q3.tar.bz2" download ti http://www.codesourcery.com/ bin dch AT91BootStrap, U-boot, Linux Kernel, v chng trnh ng dng cho board AT91SAM9260-SMISY. Vic ci t v thit lp Cross-compiler thc hin nh trnh by mc 6.2.2. 8.2.1.2-Minicom: Minicom cng c dng nh console chnh giao tip gia my PC Linux v mch AT91SAM9260-SMISY. Thit lp cho Minicom: baud rate = 115200, data 8bit, no parity, 1bit Stop. Cc thao tc thit lp nh mc 6.2.2. 8.2.1.2-SAM-BA: SAM-BA (SAM Boot Assistant) l mt chng trnh chy trn my tnh (h iu hnh Windows ho c Linux) do ATMEL pht trin. C chc nng giao tip vi m ch s dng cc chip dng AT91SAM qua cng RS232 hoc USB n p chng trnh cho m ch. Chi tit v SAM-BA xem trong ti liu AT91 ISP/SAM-BA User Guide ca ATMEL. SAM-BA c xy d ng sn m t b th vin cc board c th kt ni. thc hin kt ni SAM-BA vi board khng c trong th vin, ta cn thm thng tin v board vo th vin SAM-BA. Thao tc thm board AT91SAM9260-SMISY vo danh sch cc board c a SAM-BA phin bn 2.10 nh sau: Danh sch cc board c th kt n i ca SAM-BA c lu trong file SAM-BAv2.10/tcl_lib/boards.tcl. Ta thm dng: "at91sam9260-SMISY" "at91sam9260-SMISY/at91sam9260-SMISY.tcl" vo cu i danh sch cc board. Tip theo, trong th m c SAM-BA-v2.10/tcl_lib/ ch a nhiu th mc con, mi th mc con tng ng vi 1 board. Ta chn th mc board AT91SAM9260-EK c

SV: PHM MINH TU N H BCH KHOA TP.HCM

68

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

phn cng gn nht vi board AT91SAM9260-SMISY, copy v i tn thnh AT91SAM9260-SMISY: # cd SAM-BA-v2.10/tcl_lib # cp r AT91SAM9260-EK/ AT91SAM9260-SMISY/ i tn file at91sam9260-ek.tcl thnh AT91SAM9260-SMISY.tcl: # cd AT91SAM9260-SMISY # mv at91sam9260-ek.tcl AT91SAM9260-SMISY.tcl Trong file AT91Sam9260-SMISY.tcl, dng 49, sa variable extRamDataBusWidth 32 thnh variable extRamDataBusWidth 16. Tip theo, trong th mc SAM-BA-v2.10/applets/at91lib/boards/ c cc th m c con cha source code tng ng cho 1 board. ta copy v i tn th mc AT91SAM9260-EK thnh AT91SAM9260-SMISY: # cp r AT91SAM9260-EK/ AT91SAM9260-SMISY/ Th mc AT91SAM9260-SMISY, file board.h, dng 513, sa cc thng tin v SDRAM size v data bus width:

File board_memory.c, dng 108, sa cc tham s cu hnh SDRAM:

Cc tham s ny tm th y trong datasheet ca SDRAM MT48LC4M16A2. Cu hnh xong, vo th mc SAM-BA-v2.10/applets/isp-project/extram, v bin d ch: #cd SAM-BA-v2.10/applets/isp-project/extram #make clean BOARD=AT91SAM9260-SMISY CHIP=at91sam9260 sdram File isp-extram-at91sam9260.bin s c to ra v c chp t ng vo th m c SAM-BA-v2.10/tcl_lib/AT91SAM9260-SMISY. Lc ny SAM-BA sn sng lm vic vi board AT91SAM9260-SMISY.

8.2.2 AT91BootStrap:
AT91BootStrap l boot loader c ATMEL vit dnh cho cc chip dng AT91 c a hng ny. AT91BootStrap c m ngun m, ta s dng phin b n 1.16, download ti http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4093 SV: PHM MINH TU N H BCH KHOA TP.HCM 69

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

AT91BootStrap ng vai tr 1st bootloader trong qu trnh boot Linux, c nhim v cu hnh cc kh i chc nng cn thit ca MPU, sau thc thi 2nd bootloader. Chi tit v AT91BootStrap xem ti liu AT91BootStrap ca ATMEL. Trong ti ny, ta s dng source code ca AT91BootStrap vit cho board AT91SAM9260-EK, v board ny c cu hnh ph n cng kh ging vi board AT91SAM9260-SMISY t thit k. C th, trong AT91BootStrap, ta cn cu hnh li cc thng s c a SDRAM, v a ch c a U-boot: Trong th mc source code ca AT91BootStrap, th m c board cha source code xy dng sn cho cc board. Copy AT91SAM9260-EK v i tn thnh AT91SAM9260-SMISY: # cd board # cp r at91sam9260ek/ AT91SAM9260-SMISY/ i tn file: # cd AT91SAM9260-SMISY # mv at91sam9260ek.c at91sam9260-SMISY.c # cd dataflash # mv at91sam9260ek.h at91sam9260-SMISY.h Ta lu tr AT91BootStrap trong SPI DataFlash nn ta ch quan tm n th m c dataflash. Tip theo, ta sa li file Makefile dng 18: BOARD=AT91SAM9260-SMISY File at91sam9260-SMISY.c, dng 114, sa li on code s cu hnh SDRAM 3 thng s AT91C_SDRAMC_NC_8, AT91C_SDRAMC_NR_12, AT91C_SDRAMC_DBW_16_BITS.

Cc thng s ny tm th y trong datasheet ca SDRAM MT48LC4M16A2. SV: PHM MINH TU N H BCH KHOA TP.HCM 70

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Ta s dng SPI DataFlash cha AT91BootStrap. Vo th mc dataflash, file at91sam9260-SMISY.h, dng 70, phn bootstrap setting, sa li cc thng s: IMG_ADDRESS, IMG_SIZE, JUMP_ADDR cho ph hp vi phn vng b nh.

S dng Cross Toolchain, bin dch: # cd board/AT91SAM9260-SMISY/dataflash # make Trong th mc board/AT91SAM9260-SMISY/dataflash s xut hin file dataflash_at91sam9260-SMISY.bin. y l file bootstrap np vo a ch 0x0000 c a SPI DataFlash.

8.2.3 U-boot:
DAS U-boot (Universal Bootloader) l m t bootloader m ngun m, tng thch vi rt nhiu kin trc CPU. U-boot c pht trin u tin bi Wolfgang Denk vo nm 2002. Website chnh ni pht trin U-boot: http://sourceforge.net/projects/uboot/. U-boot vn ang tip tc c pht trin m nh bi cng ng m ngun m , v trung bnh 1 thng c mt phin b n U-boot mi ra i. Chc nng c bn c a U-boot l cu hnh cho mt s khi phn cng trn board v kh i ng h iu hnh m t cch t ng hoc c s can thip ca ngi dng qua dng lnh. Vic can thip bng dng gip ngi dng c th cu hnh b nh , cu hnh mng, hay thit lp cc tham s cho qu trnh kh i ng. Ta s dng phin bn U-boot-1.3.4 download ti ftp://ftp.denx.de/pub/u-boot/uboot-1.3.4.tar.bz2. Qu trnh bin d ch U-boot nh sau: Download v gii nn: # wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2 # cd u-boot-1.3.4 Ly bn v cho cu hnh AT91: # wget ftp://www.at91.com/pub/uboot/u-boot-1.3.4-exp.5/u-boot-1.3.4-exp.5.diff # cat u-boot-1.3.4-exp.5.diff | patch pl Sa cc tham s trong file u-boot-1.3.4/include/configs/at91sam9260ek.h: Dng 95, s a thng s SDRAM size:

SV: PHM MINH TU N H BCH KHOA TP.HCM

71

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Dng 152, sa tham s CONFIG_SYS_LOAD_ADDR Dng 154, sa tham s SDRAM test:

Thit lp Cross-compile nh mc 6.2.2, v bin dch U-boot: # make distclean CROSS_COMPILE=arm-linux# make at91sam9260ek_dataflash_cs1_config # make CROSS_COMPILE=arm-linux Qu trnh bin dch thnh cng s cho ta file thc thi u-boot.bin.

8.2.4 Linux Kernel Image:


Ta bin dch Linux Kernel tng t nh khi bin dch cho board Micro2440 trnh by m c 6.3. S dng Linux Kernel 2.6.27, thao tc bin dch nh sau: Download v gii nn Kernel source code:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2 tar xvjf linux-2.6.27.tar.bz2 cd linux-2.6.27

Download cc b n patch:
wget zcat wget zcat http://maxim.org.za/AT91RM9200/2.6/2.6.xx-at91.patch.gz 2.6.27-at91.patch.gz | patch -p1 ftp://www.linux4sam.org/pub/linux/2.6.27-at91-exp.patch.gz linux-2.6.27-at91-exp.diff.gz | patch -p1

Cu hnh Kernel, s dng file cu hnh cho AT91:


wget http://www.at91.com/linux4sam/pub/Linux4SAM/LinuxKernel/ at91sam9260ek_defconfig cp at91sam9260ek_defconfig .config make ARCH=arm oldconfig

Sau bin dch Kernel:


make ARCH=arm CROSS_COMPILE=/user/local/arm/2007-q3/bin/arm-linux-

Ta c file zImage trong th m c arch/arm/boot. Tuy nhin, u-boot khng h tr file zImage ny, n i hi phi to file uImage t file zImage bng cch thm vo phn header v cc checksum Vic to uImage t zImage c th c hin b ng cng t mkimage. mkimage l cng c i km vi u-boot, c source code n m trong th mc source code ca u-boot, v c bin d ch cng lc khi ta bin d ch u-boot, file th c thi mkimage c to ra nm trong th mc tools ca th mc u-boot source code. Ta chp file th c thi mkimage vo th mc linux-2.6.27, v to uImage:
mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux2.6 -d arch/arm/boot/zImage uImage

File uImage c to ra trong th mc arch/arm/boot cng vi file zImage. y l file Linux Kernel Image cn thit.

SV: PHM MINH TU N H BCH KHOA TP.HCM

72

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

8.2.5 Root File System:


S dng Angstrom File System phin bn 2009 download ftp://www.at91.com/pub/oe/linux4sam_2.0/images/Angstrom-console-at91sam9image-glibc-ipk-2009.X-stable-at91sam9260ek.rootfs.jffs2 i tn thnh Angstrom-2009.rootfs.jffs2 ti:

8.2.6 Port Linux ln board AT91SAM9260-SMISY:


To c cc thnh phn cn thit boot Embedded Linux ln board AT91SAM9260-SMISY: AT91BootStrap.bin, u-boot.bin, uImage, Angstrom2009.rootfs.jffs2. S dng SAM-BA n p ln board: Kt n i cng USB device c a AT91SAM9260-SMISY vi USB my PC Linux, ch y chng trnh SAM-BA-v2.10 trn my PC Linux, chn board AT91SAM9260SMISY t danh sch cc board ca SAM-BA, v nh n nt connect.

Hnh 8.4 SAM-BA-v2.10 kt ni vi AT91SAM9260-SMISY. SAM-BA s kt n i vi board AT91SAM9260-SMISY, v thit lp SDRAM sn sng lm vic. Ca s giao din lm vic ca SAM-BA:

Hnh 8.5 Giao din SAM-BA. SV: PHM MINH TU N H BCH KHOA TP.HCM 73

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Np AT91BootStrap: Trn ca s giao din ca SAM-BA, chn th DataFlash AT45DB/DCB lm vic vi SPI DATA FLASH trn board. Trong danh sch Scripts, chn Enable Dataflash (SPI0_CS1) v nhn nt Execute. SAM-BA s thit lp cu hnh cho SPI DATA FLASH chun b chuyn d liu. Tip t c trong danh sch Scripts, chn Send Boot File v nhn nt Execute, browse n file AT91BootStrap.bin bin dch v nhn Open. SAM-BA s lu AT91BootStrap.bin vo a ch 0x0000 c a SPI DATA FLASH. Np U-boot: Vn trong th DataFlash AT45DB/DCB, trong phn Send File Name, browse n file uImage. Thit lp Address = 0x5200. Nh n nt Send File, SAM-BA s lu u-boot.bin vo a ch 0x5200 trn SPI DATA FLASH. Np Linux Kernel Image: Vn trong th DataFlash AT45DB/DCB, trong phn Send File Name, browse n file u-boot.bin. Thit lp Address = 0x3E800. Nh n nt Send File, SAM-BA s lu uImage vo a ch 0x3E800 trn SPI DATA FLASH. Np Root File System: Qua th NandFlash, trong phn Scripts chn Enable NandFlash v nhn nt Execute, NAND FLASH s c thit lp cu hnh cn thit hot ng. Trong phn Send File Name, browse n file Angstrom2009.rootfs.jffs2. Thit lp Address = 0x0 Nh n nt Send File, Angstrom Root File System s c lu vo NAND FLASH. Qu trnh np cc thnh ph n cn thit cho Embedded Linux hon thnh.

8.2.7 Thit lp tham s khi ng Linux trn AT91SAM9260-SMISY:


U-boot lu cc tham s cho qu trnh kh i ng trong vng bin mi trng (uboot environment) (16KB b t u t a ch 0x1000 trn SPI DATA FLASH). Ban u vng environment ny rng, v vy u-boot khng th t khi ng Linux c. Ta cn cu hnh cc tham s u-boot t load Linux Kernel ln khi ng sau. Kt n i board vi my PC Linux bng dy RS232, thit lp chng trnh Minicom trn my PC Linux 115200 8N1, v b t ngun cho board. Trn ca s Minicom s xut hin du nhc i lnh: U-Boot>

SV: PHM MINH TU N H BCH KHOA TP.HCM

74

Lun n t t nghip

Chng 8: Embedded Linux trn AT91SAM9260-SMISY

Hnh 8.6 U-boot console. Ta thit lp cc bin mi trng u-boot t ng chp uImage t a ch 0x3E800 trn SPI DATA FLASH vi kch thc 0x1C0000 (1.7MB) vo SDRAM a ch 0x20000000: U-Boot> setenv bootcmd cp.b 0x3e800 0x20000000 0x1c0000; bootm 0x20000000 U-Boot> setenv bootdelay 3 U-Boot> saveenv Kh i ng li board, U-Boot s ch trong 3 giy, nu khng nhn c phm nhn, U-boot s t ng load uImage t SPI DATA FLASH v khi ng Embedded Linux trn board AT91SAM9260-SMISY.

8.3 Chng trnh ng dng iu khin Robot:


Ta vit chng trnh n gin iu khin Robot di chuyn theo tn hiu iu khin nhn t cng RS232.

SV: PHM MINH TU N H BCH KHOA TP.HCM

75

Lun n t t nghip

Chng 9: Kt qu t c hn ch - hng pht trin ti

CHNG 9

Kt qu t c - hn ch - hng pht trin ti


9.1 Cc kt qu t c v hn ch:
ti hon thnh vi nh ng kt qu t c so vi yu cu nhim v t ra: phn tch tm hiu, la chn v thi cng m hnh Robot t hnh vi 3 bnh xe Omni-Directional. M hnh gn nh v di chuyn linh ho t trong mt phng. Tuy nhin, bnh xe Omni s dng bng kim loi, s b trt khi di chuyn trn m t cng. Thi cng m ch cng sut ng c, mch cng su t ng c iu khin t c (dng PWM) v chiu quay cho 4 ng c cng sut nh c lp. Mch nh gn v n gin. Tuy nhin mch c cch ly vi kh i iu khin, cha c bo v qu ti, v khng ly tn hiu h i tip iu khin vng kn. tm hiu v s dng mch Micro2440 vo iu khin d n ng cho Robot t hnh, vit chng trnh ng dng giao tip vi USB camera v x l nh d n ng cho Robot. Chng trnh hot ng vi tc x l nh 5 fps (frame-per-second, hnh trn giy), v xut xung PWM tn s 100Hz phn gii 10 iu khin c lp 3 ng c. Rob ot c th di chuyn v bm theo mc tiu. Tuy nhin, hn ch ca chng trnh l tn s v phn gii PWM cn thp, ch c th chp nh n c trong iu khin Robot tc thp; v gii thut iu khin ng c vng h cho p ng vn tc ng c cha t t. Thit k v thi cng m ch nhng s dng vi x l ARM9 AT91SAM9260. Mch c y cu hnh phn cng cn thit nh mt my tnh nhng: tc x l 180MHz, SDRAM 8MB, NAND FLASH 128MB, c th chy h iu hnh Embedded Linux, v c cc ngoi vi cn thit khc c th iu khin m hnh Robot t hnh, thay th cho mch Micro2440. Tuy nhin cng vic np Embedded Linux cn cha hon chnh v th i gian thc hin ti c hn. ti tm hiu, nghin cu, thit k v ch to mt m hnh Robot t hnh, tp trung vo tm hiu cc mch nhng, h thng nhng, h iu hnh nhng, lp trnh nhng iu khin Robot t hnh. Cc thit k th c hin trong ti mang tnh ch t th nghim, nghin cu v pht trin. Qua thu c cc kin th c b ch: Khi nim h thng nhng, v tr cao v xu th pht trin mnh ca h thng nhng trong ngnh in t, iu khin hin i. Li ch to ln khi ng dng h thng nhng, h iu hnh nhng vo iu khin t ng hin i. Nm r cc thnh ph n phn cng cn thit cho m t my tnh nhng. Nm r quy trnh ci t m t h iu hnh ln m t m ch nhng. Lm quen vi lp trnh nhng v p dng vo iu khin t ng. Mt s hnh nh thc t m hnh Robot t hnh thi cng: SV: PHM MINH TU N H BCH KHOA TP.HCM 76

Lun n t t nghip

Chng 9: Kt qu t c hn ch - hng pht trin ti

SV: PHM MINH TU N H BCH KHOA TP.HCM

77

Lun n t t nghip

Chng 9: Kt qu t c hn ch - hng pht trin ti

SV: PHM MINH TU N H BCH KHOA TP.HCM

78

Lun n t t nghip

Chng 9: Kt qu t c hn ch - hng pht trin ti

9.1 Hng khc phc cc hn ch v pht trin ti:


Kh c phc cc nhc im c th c a m hnh trong ti: M hnh c kh c th ci tin chc chn hn, vi ng c cng sut ln hn mang ti nng. Bnh xe Omni thay bng lo i bnh cao su khng b trt khi di chuyn trn nn cng. Mch cng sut ng c cn thm phn ly gi tr dng in hi tip bo v qu ti. ng thi thm encoder hi tip tc ng c v mch iu khin. Phn m m iu khin trn h iu hnh Embedded Linux ch iu khin vng h vn tc ng c bng iu rng xung PWM nn cho p ng vn tc cha tt. Cn nhn tn hiu h i tip t encoder v dng gii thut iu khin vng kn tc ng c (nh gii thut PID). Mch nhng AT91SAM9260-SMISY cn c pht trin hon thin hn, ci t hon chnh Embedded Linux. T nh ng kin thc thu c trong qu trnh thc hin ti, m hnh Robot t hnh c th c pht trin: Ci tin kt cu c kh mang ti hoc thc hin cc ng tc cho ng dng c th. Thm cc cm bin khc Robot ho t ng chnh xc hn. Mch iu khin thit k ti u hn. Robot s c ng dng vo m t s cng vic c th: robot t ng ht bi trong nh, robot lau knh trn cc ta nh cao tng, hay robot vn chuyn trong nh my

SV: PHM MINH TU N H BCH KHOA TP.HCM

79

Lun n t t nghip

Chng 10: Ti liu tham kho

CHNG 10

Ti liu tham kho

o Cc ti liu tham kho v m hnh Robot t hnh:


Robot t hnh. Nguyn V Quang, o n Nam Thi 2005 Tree Omni-Directional Wheels control on a Mobile Robot F. Ribeiro, I. Moutinho, P. Silva, C. Fraga, N. Pereira

o Cc ti liu v H thng nhng v H iu hnh nhng:


H thng iu khin nhng TS. Lu Hng Vit. Lun vn tt nghip H iu hnh nhng uClinux Lng Th Oanh H Cng Ngh H Ni. The GNU Toolchain for ARM Targets HOWTO Wookey, Chris Rutter, Jeff Sutherland, Paul Webb

o Cc ti liu v mch nhng Micro2440:


Micro2440 User Manual FriendlyARM Mini2440 Linux-Development of practical guidelines transplantation FriendlyARM Configuring the kernel FriendlyARM Website: http://www.friendlyarm.net

SV: PHM MINH TU N H BCH KHOA TP.HCM

80

Lun n t t nghip

Chng 10: Ti liu tham kho

o Cc ti liu gip thc hin mch AT91SAM9260-SMISY:


AT 91SAM9260-EK ATMEL Corporation. KM9260_Technical_Reference_V1.0 EEES Co. Ltd. KM9260_Users_Manual_V1.1 EEES Co. Ltd.

Olimex - SAM9-L9260 Olimex Co. Ltd. SAM9_Boot_Strategies ATMEL Corporation. SAM-BA user guide ATMEL Corporation. AT91BootStrap ATMEL Corporation. The Universal Boot Loader ("Das UBoot") DENX computer system Co. The U-boot bootloader Michael Opdenacker, Thomas Petazzoni Free Electrons. AT91SAM Linux ATMEL Corporation. Website: http://www.at91.com/linux4sam/

SV: PHM MINH TU N H BCH KHOA TP.HCM

81

You might also like