Bài giảng Thiết kế, chế tạo và điều khiển tay máy

Tài liệu Bài giảng Thiết kế, chế tạo và điều khiển tay máy: Thiết kế, chế tạo và điều khiển tay máy Trang 1 1 TỔNG QUAN 1.1 ĐỊNH NGHĨA Ngày nay bên cạnh sự phát triển không ngừng của ngành công nghiệp máy tính thì lĩnh vực robot cũng không ngừng phát triển theo. Có rất nhiều quốc gia trên thế giới nghiên cứu về lĩnh vực này như là: Nhật Bản, Mỹ, Úc, Nga… Và các kết quả đạt được khiến con người không phải không ngạc nhiên. Do vậy cũng có rất nhiều khái niệm, cũng như định nghĩa về robot. Theo viện nghiên cứu của Hoa Kỳ thì robot được định nghĩa như sau: “Robot là một tay máy nhiều chức năng, thay đổi được chương trình hoạt động, được dùng để di chuyển nguyên vật liệu, chi tiết máy, dụng cụ hoặc dùng cho những công việc đặc biệt thông qua những chuyển động khác nhau“. Còn theo giáo sư Masahioo (viện công nghệ Tokyo) thì robot công nghiệp phải có các đặc điểm sau: + Có khả năng thay đổi chuyển đo...

pdf115 trang | Chia sẻ: hunglv | Lượt xem: 1202 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Thiết kế, chế tạo và điều khiển tay máy, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 1 1 TOÅNG QUAN 1.1 ÑÒNH NGHÓA Ngaøy nay beân caïnh söï phaùt trieån khoâng ngöøng cuûa ngaønh coâng nghieäp maùy tính thì lónh vöïc robot cuõng khoâng ngöøng phaùt trieån theo. Coù raát nhieàu quoác gia treân theá giôùi nghieân cöùu veà lónh vöïc naøy nhö laø: Nhaät Baûn, Myõ, UÙc, Nga… Vaø caùc keát quaû ñaït ñöôïc khieán con ngöôøi khoâng phaûi khoâng ngaïc nhieân. Do vaäy cuõng coù raát nhieàu khaùi nieäm, cuõng nhö ñònh nghóa veà robot. Theo vieän nghieân cöùu cuûa Hoa Kyø thì robot ñöôïc ñònh nghóa nhö sau: “Robot laø moät tay maùy nhieàu chöùc naêng, thay ñoåi ñöôïc chöông trình hoaït ñoäng, ñöôïc duøng ñeå di chuyeån nguyeân vaät lieäu, chi tieát maùy, duïng cuï hoaëc duøng cho nhöõng coâng vieäc ñaëc bieät thoâng qua nhöõng chuyeån ñoäng khaùc nhau“. Coøn theo giaùo sö Masahioo (vieän coâng ngheä Tokyo) thì robot coâng nghieäp phaûi coù caùc ñaëc ñieåm sau: + Coù khaû naêng thay ñoåi chuyeån ñoäng. + Coù khaû naêng xöû lyù thoâng tin (bieát suy nghó). + Coù tính vaïn naêng. + Coù nhöõng ñaëc ñieåm cuûa ngöôøi. Noùi chung coù raát nhieàu ñònh nghóa veà robot, tuy nhieân coù moät söï thoáng nhaát trong taát caû caùc ñònh nghóa laø ôû ñaëc ñieåm “ñieàu khieån theo chöông trình”. Toång GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 2 quaùt hôn coù theå noùi robot laø moät saûn phaåm ñöôïc cheá taïo theo moät kyõ thuaät môùi, chuùng vöøa coù theå giaûi phoùng con ngöôøi khoûi nhöõng coâng vieäc lao ñoäng chaân tay naëng nhoïc, vöøa coù khaû naêng naâng cao chaát löôïng cuõng nhö soá löôïng saûn phaåm. robot thöïc söï laø moät saûn phaåm minh chöùng cho khaû naêng tieàm aån cuûa con ngöôøi. 1.2 PHAÂN LOAÏI VAØ ÖÙNG DUÏNG Ngöôøi ta phaân bieät robot döïa vaøo caùc yeáu toá chính sau: + Theo daïng hình hoïc cuûa khoâng gian hoïat ñoäng. + Theo theá heä robot. + Theo boä ñieàu khieån. + Theo nguoàn daãn ñoäng. ÔÛ luaän vaên naøy chæ giôùi thieäu caùch phaân loaïi robot theo theá heä. 1.2.1 Robot theá heä thöù nhaát Bao goàm caùc robot hoaït ñoäng laäp laïi theo chu trình ñaõ ñöôïc laäp trình töø tröôùc (playback robots). Chöông trình ôû ñaây cuõng coù 2 daïng: chöông trình cöùng khoâng thay ñoåi ñöôïc, nhö ñieàu khieån baèng heä thoáng cam; vaø ñieàu khieån theo chöông trình coù theå thay ñoåi ñöôïc theo yeâu caàu coâng ngheä cuûa moâi tröôøng söû duïng nhôø caùc panel hoaëc maùy tính. * Ñaëc ñieåm: + Söû duïng toå hôïp caùc cô caáu cam vôùi coâng taéc giôùi haïn haønh trình. + Ñieàu khieån voøng hôû. + Coù theå söû duïng baêng töø hoaëc baêng ñuïc loå ñeå ñöa chöông trình vaøo boä ñieàu khieån, tuy nhieân loaïi naøy khoâng theå thay ñoåi ñöôïc chöông trình. Söû duïng phoå bieán trong coâng vieäc gaép ñaët. 1.2.2 Robot theá heä thöù hai Robot theá heä naøy bao goàm caùc robot söû duïng caùc caûm bieán trong ñieàu khieån (sensor-controlled) cho pheùp taïo ñöôïc nhöõng voøng ñieàu khieån kín kieåu servo. * Ñaëc ñieåm: + Ñieàu khieån voøng kín caùc chuyeån ñoäng cuûa tay maùy. + Coù theå töï ra quyeát ñònh löïa choïn caùc chöông trình ñaùp öùng döïa treân tín hieäu phaûn hoài töø caùc caûm bieán nhôø caùc chöông trình ñaõ ñöôïc laäp tröôùc. Hoaït ñoäng cuûa robot coù theå laäp trình ñöôïc nhôø caùc coâng cuï nhö baøn phím, panel ñieàu khieån. 1.2.3 Robot theá heä thöù ba Ñaây laø daïng phaùt trieån cao nhaát cuûa robot. Caùc robot ôû ñaây ñöôïc trang bò caùc thuaät toaùn xöû lyù caùc phaûn xaï logic thích nghi theo nhöõng thoâng tin vaø taùc ñoäng cuûa moâi tröôøng leân chuùng, nhôø ñoù chuùng töï bieát phaûi laøm gì ñeå hoaøn thaønh coâng vieäc ñaõ ñöôïc ñaët ra tröôùc. Robot theá heä naøy bao goàm caùc robot ñöôïc trang GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 3 bò heä thoáng thu nhaän hình aûnh trong ñieàu khieån (vision-controlled robots) cho pheùp nhìn thaáy vaø nhaän daïng caùc ñoái töôïng thao taùc. * Ñaëc ñieåm: + Coù nhöõng ñaëc ñieåm nhö robot theá heä thöù hai vaø ñieàu khieån hoaït ñoäng treân cô sôû xöû lyù thoâng tin thu nhaän ñöôïc töø heä thoáng thu nhaän hình aûnh. + Coù khaû naêng nhaän daïng ôû möùc ñoä thaáp nhö phaân bieät caùc ñoái töôïng coù hình daïng vaø kích thöôùc khaù khaùc bieät nhau. Robot theá heä naøy ñöôïc öùng duïng trong caùc lónh vöïc: trong coâng ngheä cheá taïo xe hôi, ñieän töû, cô khí cuï theå nhö laø haøn caùc ñöôøng noái, sôn daàu, laép raùp, ñoùng goùi, gia coâng linh kieän, vaän chuyeån… 1.2.4 Robot theá heä thöù tö Bao goàm caùc robot söû duïng caùc thuaät toaùn vaø cô cheá ñieàu khieån thích nghi (adaptively controlled robots) coù khaû naêng löïa choïn caùc ñaùp öùng tuaân theo moät moâ hình tính toaùn xaùc ñònh nhaèm taïo ra nhöõng öùng xöû phuø hôïp vôùi ñieàu kieän cuûa moâi tröôøng thao taùc. * Ñaëc ñieåm: + Coù nhöõng ñaëc ñieåm gioáng nhö theá heä thöù hai vaø thöù ba, coù khaû naêng löïa choïn chöông trình hoaït ñoäng vaø laäp trình cho caùc hoaït ñoäng döïa treân caùc tín hieäu thu nhaän töø caûm bieán. + Boä ñieàu khieån phaûi coù boä nhôù töông ñoái lôùn ñeå giaûi quyeát caùc baøi toaùn toái öu vôùi ñieàu kieän bieân khoâng ñöôïc xaùc ñònh tröôùc. Keát quaû cuûa baøi toaùn seõ laø moät taäp hôïp caùc tín hieäu ñieàu khieån vaø ñaùp öùng cuûa robot. 1.2.5 Robot theá heä thöù naêm Laø nhöõng robot ñöôïc trang bò trí tueä nhaân taïo (artificially intelligent robots). * Ñaëc ñieåm: + Ñöôïc trang bò caùc kyõ thuaät cuûa trí tueä nhaân taïo nhö nhaän daïng tieáng noùi, hình aûnh, xaùc ñònh khoaûng caùch, caûm nhaän ñoái töôïng qua tieáp xuùc… Ñeå ra quyeát ñònh vaø giaûi quyeát caùc vaán ñeà hoaëc nhieäm vuï ñaët ra cho noù. + Ñöôïc trang bò maïng neuron coù khaû naêng töï hoïc. Ñöôïc trang bò caùc thuaät toaùn daïng neuron fuzzy/fuzzy logic ñeå töï suy nghó vaø ra quyeát ñònh cho caùc öùng xöû töông thích vôùi tín hieäu ñieàu khieån nhaän ñöôïc töø moâi tröôøng xung quanh theo nhöõng thuaät toaùn toái öu moät hay nhieàu muïc tieâu ñoàng thôøi. Hieän nay trong lónh vöïc giaûi trí, nhieàu daïng robot theá heä naøy ñang ñöôïc phaùt trieån nhö laø robot Aibo do haõng Sony saûn xuaát hay robot ñi treân hai chaân vaø khieâu vuõ cuûa haõng Honda. Gaàn ñaây coù moät robot môùi coù teân laø ROBOSCOUT do Nhaät cheá taïo. Robot naøy noù coù theå ñi, noùi, nghe, traùnh vaät caûn, hai caùnh tay noù coù theå caàm khay thöùc aên naëng 1kg. Ñaëc bieät neáu nhö baïn noùi vaøo moät boä ñieàu khieån töø xa noù seõ ñaùp laïi baèng chính gioïng noùi cuûa baïn baèng haøng traêm caâu ñaõ ñöôïc laäp trình saün. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 4 Ñeå thoáng nhaát trong caùch goïi, keå töø chöông 2 thuaät ngöõ robot vaø tay maùy ñöôïc xem laø moät. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 5 2 NHIEÄM VUÏ CUÛA LUAÄN VAÊN TOÁT NGHIEÄP ¾ Muïc ñích vaø caùc chæ tieâu phaûi ñaït ñöôïc qua ñeà taøi Luaän vaên toát nghieäp - Thieát keá vaø cheá taïo tay maùy coù 4 baäc töï do. - Laäp trình ñieàu khieån tay maùy coù khaû naêng ñi tôùi moät ñieåm hoaëc ñi theo moät ñöôøng yeâu caàu. - Vieäc ñieàu khieån tay maùy phaûi chính xaùc. - Tay maùy ñöôïc ñieàu khieån töø xa. - Tay maùy coù theå laäp ñi laäp laïi theo moät chu trình ñaõ ñöôïc laäp trình tröôùc. ¾ Caùc giaûi phaùp ñeà ra ñeå ñaït ñöôïc caùc muïc tieâu treân - Choïn ñoäng cô coù ñoä chính xaùc cao. - Choïn vaät lieäu laøm tay maùy laø vaät lieäu nheï, deã gia coâng. - Döõ lieäu veà toïa ñoä tay maùy ñöôïc laäp trình treân maùy vi tính. - Choïn giaûi phaùp truyeàn döõ lieäu töø maùy tính ñeán tay maùy baèng soùng hoàng ngoaïi. - Söû duïng ñóa cöùng (HDD) ñeå coù theå löu tröõ ñöôïc moät khoái löôïng lôùn döõ lieäu. Töø nhöõng döõ lieäu naøy, tay maùy coù theå hoaït ñoäng ñoäc laäp theo chu trình ñaõ ñöôïc laäp saün. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 6 3 ÑOÄNG HOÏC TAY MAÙY 3.1 GIÔÙI THIEÄU VEÀ TAY MAÙY Chöông naøy seõ ñöa ra moät vaøi lyù thuyeát cô baûn veà tay maùy. Ñaàu tieân laø phaàn giôùi thieäu veà caùc loaïi tay maùy vaø nguyeân lyù laøm vieäc cuûa chuùng. Sau ñoù, chuùng ta seõ noùi sô löôïc caùch tính toaùn ñoäng hoïc tay maùy. Moät tay maùy thöôøng goàm coù 5 thaønh phaàn sau: - Caùnh tay cô khí. - Khaâu taùc ñoäng cuoái. Noù coù theå laø moät ñaàu haøn, moät ñaàu phun sôn hay moät tay keïp… - Ñoäng cô ñeå di chuyeån caùc khaâu. Ña soá laø caùc ñoäng cô ñieän servo hoaëc caùc ñoäng cô thuûy löïc. - Boä ñieàu khieån. - Caùc caûm bieán ñöôïc gaén vaøo tay maùy vaø ñöôïc noái vôùi boä ñieàu khieån, noù taïo ra tín hieäu phaûn hoài giuùp cho tay maùy hoaït ñoäng chính xaùc hôn. Vôùi nhöõng thaønh phaàn treân, tay maùy coù theå hoaït ñoäng, vaø tuøy theo chuaån ñoäng cuûa tay maùy maø ngöôøi ta phaân loaïi chuùng. 3.1.1 Phaân loaïi tay maùy theo chuyeån ñoäng Ñeå hieåu ñöôïc caùnh tay laøm vieäc nhö theá naøo thì ta phaûi bieát caùch noù di chuyeån. Coù hai chuyeån ñoäng cô baûn cuûa moät tay maùy: • Tònh tieán GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 7 • Quay Ngoaøi ra ngöôøi ta coøn döïa treân soá baäc töï do cuûa tay maùy ñeå phaân loaïi chuùng. Moãi moät chuyeån ñoäng quay hay chuyeån ñoäng tònh tieán coù trong tay maùy laø moät baäc töï do ñöôïc tính. Soá baäc töï do cuûa moät tay maùy laø thöôùc ño möùc ñoä phöùc taïp cuûa tay maùy cuõng nhö khaû naêng ñieàu khieån chuùng. Neáu moät tay maùy coù hôn 3 baäc töï do thì seõ coù nhieàu caùch khaùc nhau ñeå ñöa khaâu taùc ñoäng cuoái ñeán moät ñieåm xaùc ñònh cho tröôùc. 3.1.2 Caùc coâng thöùc toaùn hoïc lieân quan 3.1.2.1 Heä toïa ñoä Tay maùy laø moät chuoãi ñoäng hoïc hôû goàm moät chuoãi lieân tieáp nhau cuûa caùc khaâu, trong ñoù moãi khôùp chæ lieân keát vôùi hai khaâu keá tieáp. Ñeå khaûo saùt chuyeån ñoäng cuûa caùc khaâu, ngöôøi ta duøng phöông phaùp heä toïa ñoä tham chieáu hay heä toïa ñoä cô sôû. Baèng caùch gaén cöùng leân moãi khaâu ñoäng cô thöù k moät heä truïc toïa ñoä vuoâng goùc (oxyz)k, goïi laø heä toïa ñoä töông ñoái. Vôùi phöông phaùp naøy ta coù theå khaûo saùt chuyeån ñoäng cuûa moät khaâu baát kyø treân tay maùy hoaëc chuyeån ñoäng cuûa moät ñieåm baát kyø thuoäc khaâu. Toïa ñoä cuûa ñieåm M thuoäc khaâu baát kyø, ñöôïc xaùc ñònh bôûi baùn kính vectô r(0)M vôùi caùc thaønh phaàn hình chieáu cuûa noù trong heä toïa ñoä cô sôû (oxyz)0 laàn löôït laø (x(0)M , y(0)M , z(0)M), goïi laø toïa ñoä tuyeät ñoái cuûa ñieåm M. Toïa ñoä cuûa moät ñieåm M thuoäc khaâu thöù k ñöôïc xaùc ñònh bôûi baùn kính vectô Mkr vôùi caùc thaønh phaàn töông öùng cuûa noù trong heä toïa ñoä (Oxyz)k – goïi laø toïa ñoä töông ñoái cuûa ñieåm M. X X0 00 0 Y k r M0r 0k Mk Z0 M Yk Zk Toïa ñoä cuûa ñieåm M ñöôïc bieåu dieãn döôùi daïng ma traän nhö sau: GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 8         = 0 M 0 M 0 M 0 M z y x r ;         = k M k M k M k M z y x r Nhö vaäy ta coù theå coi tay maùy laø moät chuoãi caùc heä toïa ñoä lieân tieáp coù chuyeån ñoäng töông ñoái vôùi nhau. 3.1.2.2 Chuyeån ñoåi heä toïa ñoä Pheùp bieán ñoåi heä toïa ñoä ñöôïc söû duïng ñeå bieán ñoåi caùc thaønh phaàn cuûa vectô khi chuyeån töø heä toïa ñoä naøy sang heä toïa ñoä khaùc. Trong heä toïa ñoâ vuoâng goùc (Oxyz) coù caùc vectô ñôn vò laàn löôït laø i, j, k töông öùng treân caùc truïc x, y, z. Goïi hình chieáu cuûa vectô a theo höôùng i, j, k laàn löôït laø ax, ay, az, khi ñoù: a= axi + ayj + azk (3-1) Trong ñoù ax, ay, az ñöôïc xaùc ñònh baèng caùch chieáu (3-1) leân laàn löôït caùc truïc x, y, z töông öùng ta ñöôïc: )x,a(Cos.aax = )y,a(Cos.aay = )z,a(Cos.aaz = Khi bieát ñöôïc caùc thaønh phaàn cuûa vectô a theo caùc truïc x, y, z ta coù theå tính thaønh phaàn cuûa noù theo höôùng u baát kyø. Ñeå laøm ñieàu naøy ta chieáu caû hai veá cuûa phöông trình (3-1) leân höôùng u ta ñöôïc: )z,u(Cos.a)y,u(Cos.a)x,u(Cos.aa zyxu ++= (3-2) Nhö vaäy thaønh phaàn cuûa vectô a theo moät phöông baát kyø coù theå bieåu dieãn qua caùc thaønh phaàn cuûa noù treân caùc truïc cuûa moät heä toïa ñoä vuoâng goùc vaø pheùp bieåu dieãn naøy laø tuyeán tính. Goïi ϕ laø goùc giöõa caùc höôùng cuûa vectô a vaø u, theá (3-1) vaø (3-2) ta ñöôïc: )z,u(Cos.)z,a(Cos)y,u(Cos).y,a(Cos)x,u(Cos.)x,a(Cos)u,a(Cos)(Cos ++==ϕ Nhö vaäy ta nhaän ñöôïc coâng thöùc cuûa hình hoïc giaûi tích cho cosin cuûa goùc ϕ giöõa caùc höôùng a vaø u. 3.1.3 Phaân tích ñoäng hoïc tay maùy baèng phöông phaùp ma traän Treân cô sôû nhöõng kieán thöùc veà pheùp chuyeån ñoåi heä toïa ñoä ôû treân, phaàn tieáp theo ñaây seõ khaûo saùt caùch thöïc haønh ñeå aùp duïng phöông phaùp ma traän trong vieäc khaûo saùt ñoäng hoïc caùc cô caáu tay maùy. Coù hai tröôøng hôïp laø chuyeån ñoäng tònh tieán vaø chuyeån ñoäng quay. Nhöng ôû ñaây chuùng ta chæ khaûo saùt tröôøng hôïp hai heä toïa ñoä (Oxyz)1 vaø (Oxyz)0 coù chuyeån ñoäng töông ñoái laø chuyeån ñoäng quay. Xeùt hai heä toïa ñoä (Oxyz)1 vaø (Oxyz)0 nhö hình veõ. Moät vectô a ñöôïc xaùc ñònh trong heä toïa ñoä (Oxyz)0 bôûi caùc thaønh phaàn laø: GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 9 (axo, ayo, azo). Ta seõ ñi tìm caùc thaønh phaàn laø ax1 , ay1, az1 cuûa vectô a trong heä toïa ñoä (Oxyz)1. j k M' i a a M y1 z1 O1 x1 y0 z0 0x Z0 ax0 ay0O0 Goïi l=0001 Ta xeùt hai tröôøng hôïp: ¾ Tröôøng hôïp l = 0 Luùc naøy 00 ≡ 01 Trong heä toïa ñoä (Oxyz)0 ta coù ozooyooxo kajaiaa ++= (3-3) Trong heä toïa ñoä (Oxyz)1 ta coù: 00011 00011 00011 kkajkaikakaa kjajjaijajaa kiajjaiiaiaa ízoíyoíxoz ízoíyoíxoy ízoíyoíxox ++== ++== ++== (3-4) Trong ñoù, caùc ñaïi löôïng ax1, ay1, az1 tìm ñöôïc coù quan heä tuyeán tính vôùi caùc thaønh phaàn hình chieáu ax0, ay0, az0. Ngoaøi ra caùc heä soá aûnh höôûng cuûa caùc ñaïi löôïng naøy laø tích voâ höôùng giöõa caùc vectô ñôn vò treân caùc truïc toïa ñoä(Oxyz)0 vaø (Oxyz)1 vaø cuõng laø cosin cuûa caùc goùc taïo bôûi caùc truïc toïa ñoä töông öùng. Töø (3-4) caùc thaønh phaàn trong haøng thöù nhaát. )z,x(Cosk.i )y,x(Cosj.i )x,x(Cosi.i 0101 0101 0101 = = = (3-5) Bieåu dieãn hình chieáu cuûa vectô ñôn vò íi treân caùc toïa ñoä x0, y0, z0 hay cuõng chính laø cosin chæ höôùng cuûa truïc x1 trong heä toïa ñoä (oxyz)0 Bieåu dieãn daïng ma traän: GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 10         = oíoíoí oíoíoí oíoíoí ba kkjkik kjjjij kijiii M hay         = )z,zcos()y,zcos()x,zcos( )z,ycos()y,ycos()x,ycos( )z,xcos()y,xcos()x,xcos( ooo ooo ooo ba 111 111 111 M Ma traän Mba goïi laø ma traän cosin chæ höôùng. Goïi a(o) vaø a(1) laø caùc ma traän coät vôùi caùc phaàn töû laø caùc hình chieáu cuûa chuùng treân caùc heä truïc toïa ñoä (Oxyz)0 vaø (Oxyz)1.         =         = )( z )( y )( x )( )o( z )o( y )o( x )o( a a a a; a a a a 1 1 1 1 Nhö vaäy (3-4) coù theå vieát laïi: a(1) =Mba a(0) Phöông phaùp ma traän cho pheùp ta theå hieän moät caùch ngaén goïn vieäc chuyeån hình chieáu cuûa vectô a trong heä truïc toïa ñoä (Oxyz)0 sang heä truïc toïa ñoä (Oxyz)1 Trong ñoù ma traän Mba ñöôïc goïi laø ma traän quay trong pheùp chuyeån ñoåi caùc thaønh phaàn cuûa vectô a töø heä truïc toïa ñoä 00 sang 01. Töông töï, ta xaùc ñònh ñöôïc ma traän quay trong pheùp chuyeån ñoåi töø heä truïc toïa ñoä 00 sang 01, ta coù:         = 101010 101010 101010 kkjkik kjjjij kijiii Mba Do tính chaát voâ höôùng cuûa tích hai vectô i0, i1 ma traän Mab nhaän ñöôïc chính laø ma traän chuyeån vò cuûa ma traän Mba. Khi giaûi baøi toaùn ñoäng hoïc cuûa cô caáu khoâng gian nhieàu baäc töï do, trong ñoù bao goàm caùc cô caáu tay maùy, ta seõ caên cöù vaøo tính chaát ñoäng hoïc cuûa töøng loaïi khôùp ñeå boá trí sao cho caùc heä truïc toïa ñoä töông ñoái cuûa hai khaâu keá tieáp nhau coù moät truïc truøng nhau hoaëc song song nhau ôû moïi vò trí trong khoâng gian hoaït ñoäng cuûa cô caáu nhaèm ñôn giaûn hoùa caùc quaù trình tính toaùn. ¾ Tröôøng hôïp l ≠ 0 Khi lieân keát giöõa caùc khaâu treân cô caáu tay maùy goàm caùc khôùp baûn leà vaø caùc khôùp tònh tieán thì vieäc moâ taû chuyeån ñoäng töông ñoái giöõa caùc khaâu baèng phöông phaùp neâu treân seõ gaëp trôû ngaïi. Vaán ñeà xuaát hieän ôû choã laø ma traän (3x3) khoâng theå moâ taû chuyeån ñoäng tònh tieán giöõa hai khaâu lieân keát baèng khôùp tröôït loaïi 5, töông öùng vôùi l ≠ 0. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 11 Noùi caùch khaùc laø phöông phaùp naøy chæ phuø hôïp cô caáu tay maùy lieân keát hoaøn toaøn baèng khôùp baûn leà. Khaéc phuïc nhöôïc ñieåm naøy ngöôøi ta ñöa ra moät phöông phaùp khaùc toång quaùt hôn, ñoù laø phöông phaùp toïa ñoä thuaàn nhaát. 3.1.4 Moâ taû chuyeån ñoäng vôùi phöông phaùp toïa ñoä thuaàn nhaát 3.1.4.1 Giôùi thieäu phöông phaùp toïa ñoä thuaàn nhaát Phöông phaùp naøy ñöôïc ñöa ra bôûi FOREST naêm 1969. Theo phöông phaùp naøy moät khoâng gian n chieàu ñöôïc trình baøy trong n+1 chieàu. Ví duï trong khoâng gian 3D moät ñieåm P ñöôïc xaùc ñònh bôûi vectô pr vôùi caùc thaønh phaàn xp, yp, zp ñöôïc bieåu dieãn thaønh (hxp, hyp, hzp) vôùi h laø moät soá tuøy yù. Trong khaûo saùt ñoäng hoïc tay maùy, h thöôøng baèng 1, theå hieän söï khoâng thay ñoåi veà giaù trò kích thöôùc cuûa töøng phaàn töû trong pheùp chieáu töø khoâng gian n sang n+1 chieàu, hoaëc ngöôïc laïi. Toïa ñoä ñöôïc theâm vaøo h, ñöôïc duøng nhö moät heä soá tyû leä nhaèm khaéc phuïc möùc giôùi haïn trong ñoà hoïa ñieän toaùn. Caùc toïa ñoä thuaàn nhaát coù theå ñöôïc xem nhö toïa ñoä theâm vaøo cuûa moãi vectô sao cho vectô seõ khoâng thay ñoåi baèng caùch cho caùc phaàn töû nhaân vôùi moät haèng soá. Ví duï vectô kcjbiav ++= seõ ñöôïc bieåu dieãn döôùi daïng ma traän coät trong toïa ñoä thuaàn nhaát laø:         =         =         = 1 c b a w cw bw aw w z y x v vôùi w=1 Ñeå khaéc phuïc moät vaán ñeà nöõa cuûa phöông phaùp ma traän, ngöôøi ta döïa vaøo ma traän Mab(3x3) ñeå ñònh nghóa moät ma traän chuyeån ñoåi (4x4) moâ taû ñoàng thôøi caùc chuyeån ñoäng quay vaø chuyeån ñoäng tònh tieán giöõa caùc heä toïa ñoä nhö sau:         = )11()31( )13()33( x leäTyû x chuaåntröïcñoåiChuyeån x tieántònhñoåiChuyeån x quayñoåiChuyeån T Trong phaàn khaûo saùt ñoäng hoïc cô caáu tay maùy, ta chæ quan taâm ñeán vieäc moâ taû ñoàng thôøi caùc chuyeån ñoåi quay vaø chuyeån ñoåi tònh tieán khoâng laøm thay ñoåi höôùng cuûa caùc vectô, do ñoù caùc phaàn töû trong chuyeån ñoåi tröïc chuaån laø (0,0,0) vôùi tæ leä laø 1, nhö vaäy:    ××= 1000 3333 T Vaäy moät ñieåm p trong khoâng gian 3D (R3) coù toïa ñoä (x, y, z)T seõ ñöôïc bieåu dieãn theo toïa ñoä thuaàn nhaát laø (x, y, z, 1)T trong khoâng gian (R4) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 12 Treân cô sôû, Denavit – Hartenberg ñöa ra yù töôûng söû duïng toïa ñoä thuaàn nhaát ñeå moâ taû chuyeån ñoåi heä toïa ñoä khi khaûo saùt chuyeån ñoäng hôû treân tay maùy, cho neân caùc ma traän naøy goïi laø ma traän DH. 3.1.4.2 Ma traän DH tuyeät ñoái Treân tay maùy goàm n khaâu, ta xeùt chuyeån ñoäng cuûa khaâu 1 so vôùi heä toïa ñoä cô sôû, ta coù: (3-6) 1 0 110 r).t(A)t(c)t(r += Trong ñoù :         = )( )( )( )( tz ty tx tr o o o o Toïa ñoä cuûa moät ñieåm treân khaâu 1 so vôùi heä toïa ñoä cô sôû(O,x,y,z)o.         = )( )( )( )( 1 1 1 1 tc tb ta tc Chuyeån vò tònh tieán goùc 01 so vôùi heä toïa ñoä cô sôû.         = )()()( )()()( )()()( )( 111 111 111 0 1 tctbta tctbta tctbta tA zzz yyy xxx Ma traän quay cuûa khaâu 1 xung quanh goùc 01.         = 1 1 1 1 z y x r Toïa ñoä cuûa ñieåm ñang xeùt treân khaâu 1 so vôùi heä toïa ñoä (Oxyz)1 töông ñoái. Töø (3-6) ta ñöôïc:                   =           1 )()()( )()()( )()()( 1 )( )( )( 1 1 1 111 111 111 z y x tctbta tctbta tctbta tz ty tx zzz yyy xxx o o o Neáu goïi         = )()()( )()()( )()()( 111 111 111 1 tctbta tctbta tctbta T zzz yyy xxx o Thì trong khoâng gian (R4) ta coù theå moâ taû chuyeån ñoäng cuûa moät ñieåm thuoäc khaâu 1 nhö sau: 11 )()( rtTtr o o ×= GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 13 Vaø ma traän ñöôïc goïi laø ma traän DH tuyeät ñoái cuûa khaâu 1 cho pheùp moâ taû ñoàng thôøi chuyeån ñoäng tònh tieán vaø chuyeån ñoäng quay. 1T o 3.1.4.3 Ma traän DH töông ñoái Ma traän DH töông ñoái kyù hieäu laø ñeå moâ taû chuyeån ñoäng töông ñoái giöõa hai khaâu i vaø j. Neáu nhö xem khaâu i laø giaù thì laø ma traän DH tuyeät ñoái cuûa khaâu j. i jA i jA Ta coù moái quan heä giöõa ma traän tuyeät ñoái vaø töông ñoái. k k n kn o AT 1 1 0 + − = π= 3.1.4.4 Ma traän DH quay Caùch theå hieän ma traän DH trong tröôøng hôïp chuyeån ñoäng töông ñoái laø chuyeån ñoäng quay quanh 1 truïc baát kyø, laø keát quaû toång hôïp cuûa chuyeån ñoäng quay ñoàng thôøi 3 truïc toïa ñoä x, y, z moät goùc ϕ naøo ñoù. ¾ Tröôøng hôïp quay quanh truïc x moät goùc ϕ         ϕϕ ϕϕ=ϕ 1000 0cossin0 0sincos0 0001 ),(xRot ¾ Tröôøng hôïp quay quanh truïc y moät goùc ϕ         ϕϕ− ϕϕ =ϕ 1000 0cos0sin 0010 0sin0cos ),(yRot ¾ Tröôøng hôïp quay quanh truïc z moät goùc ϕ         ϕϕ ϕ−ϕ =ϕ 1000 0100 00cossin 00sincos ),(zRot 3.1.4.5 Ma traän DH tònh tieán Trong tröôøng hôïp toång quaùt chuyeån ñoäng tònh tieán töông ñoái giöõa hai khaâu laøm thay ñoåi ñoàng thôøi toïa ñoä treân 3 truïc vôùi caùc löôïng dòch chuyeån treân 3 truïc laàn löôït laø px, py, pz thì ma traän DH ñeå moâ taû trong heä toïa ñoä thuaàn nhaát coù daïng: GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 14         == − 1000 p100 p010 p001 A)p,p,p(Trans z y x 1i jzyx 3.2 BAØI TOAÙN ÑOÄNG HOÏC THUAÄN Noäi dung cuûa baøi toaùn naøy ñöôïc phaùt bieåu nhö sau: ”Cho tröôùc soá khaâu, soá khôùp, loaïi khôùp vaø caùc kích thöôùc ñoäng di cuûa caùc khaâu thaønh vieân treân tay maùy, ta phaûi xaùc ñònh vò trí vaø höôùng cuûa khaâu taùc ñoäng cuoái, trong heä truïc toïa ñoä vuoâng goùc gaén lieàn vôùi giaù coá ñònh khi cho tröôùc vò trí cuûa caùc khaâu thaønh vieân thoâng qua caùc toïa ñoä suy roäng (qi) duøng ñeå moâ taû chuyeån ñoäng töông ñoái giöõa chuùng”. Cuï theå hôn, ôû baøi toaùn naøy caùc bieán dòch chuyeån laø caùc goùc quay töông ñoái θi (i=1-5) ñaõ cho bieát tröôùc. Ta phaûi xaùc ñònh toïa ñoä tuyeät ñoái cuûa ñieåm treân khaâu taùc ñoäng cuoái vaø höôùng cuûa noù. Moät ñieåm p baát kyø trong khoâng gian ñöôïc xaùc ñònh trong heä toïa ñoä thöù i baèng baùn kính vectô ir , vaø trong heä toïa ñoä cô sôû seõ ñöôïc xaùc ñònh baèng baùn kính vectô or . Ta coù quan heä: pii o1i i 1 2 0 1o rTA...AAr == − (3-7) Trong ñoù         = 1 o o o o z y x r bieåu dieãn caùc thoâng soá caàn tìm cuûa ñieåm p trong heä toïa ñoä cô sô.û         = 1 pi pi pi i z y x r bieåu dieãn toïa ñoä ñieåm p trong heä toïa ñoä töông ñoái thöù i, ma traän ñaõ bieát. Nhö vaäy theo (3-7) ta phaûi ñi tìm caùc ma traän chuyeån ñoåi thì baøi toaùn ñöôïc giaûi quyeát, vaø baøi toaùn naøy coù duy nhaát moät nghieäm. Vì öùng vôùi moät vò trí cuûa caùc khaâu thaønh vieân ta chæ coù duy nhaát moät toïa ñoä cuûa khaâu cuoái. 1−i iA GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 15 3.3 BAØI TOAÙN ÑOÄNG HOÏC NGÖÔÏC Noäi dung baøi toaùn naøy ñöôïc phaùt bieåu nhö sau: “Cho tröôùc soá khaâu, soá khôùp, loaïi khôùp, kích thöôùc ñoäng di cuûa caùc khaâu thaønh vieân, vaø cho tröôùc vò trí, höôùng cuûa khaâu taùc ñoäng cuoái trong heä toïa ñoä Descarters. Ta phaûi xaùc ñònh vò trí cuûa caùc khaâu thaønh vieân thoâng qua caùc toïa ñoä suy roäng qi cuûa chuùng sao cho khaâu taùc ñoäng cuoái ñaït ñöôïc vò trí vaø höôùng yeâu caàu“. Neáu nhö so vôùi baøi toaùn thuaän coù moät ñaùp soá duy nhaát thì ngöôïc laïi baøi toaùn ngöôïc coù voâ soá ñaùp soá, lyù do laø söï moâ taû vò trí töông ñoái giöõa caùc khaâu thaønh vieân chæ laø aùnh xaï theo chieàu thuaän maø khoâng coù chieàu nghòch. Ñeå giaûi quyeát vaán ñeà naøy nhaèm choïn ra nghieäm toái öu, ngöôøi ta ñöa ra caùc raøng buoäc veà ñoäng hoïc beân trong vuøng khoâng gian hoaït ñoäng cuûa noù. Hoaëc ñaët vaán ñeà phaûi toái öu hoùa hoaït ñoäng cuûa tay maùy theo moät haøm muïc tieâu cuï theå naøo ñoù ñeå choïn lôøi giaûi toái öu nhaát. Ñeå giaûi baøi toaùn ngöôïc tröôùc tieân ta ñöa ra baøi toaùn muïc tieâu vaø giaûi baøi toaùn ñoù vôùi caùc raøng buoäc. 3.4 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ trình baøy khaùi quaùt moät soá lyù thuyeát tính toaùn ñoäng hoïc cho tay maùy. Vaø döïa treân nhöõng lyù thuyeát naøy, chöông sau chuùng ta seõ tieán haønh vieäc tính toaùn cuï theå cho tay maùy cheá taïo. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 16 4 THIEÁT KEÁ TAY MAÙY 4.1 GIÔÙI THIEÄU Chöông naøy seõ giôùi thieäu veà vieäc tính toaùn thieát keá tay maùy. Vôùi nhöõng lyù thuyeát ñaõ trình baøy ôû chöông tröôùc, chuùng ta seõ aùp duïng ñeå tính toaùn ñoäng hoïc cho tay maùy. Tay maùy ñöôïc thieát keá coù 4 baäc töï do. Moät chuyeån ñoäng quay quanh truïc z, ba chuyeån ñoäng coøn laïi laø chuyeån ñoäng quay quanh truïc y. Sô ñoà nguyeân lyù cuûa tay maùy ñöôïc minh hoïa trong hình sau. Hình 4.1 Sô ñoà nguyeân lyù tay maùy GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 17 Heä truïc toïa ñoä cuûa töøng khaâu ñöôïc minh hoïa ôû hình 4.2, ta coù theå so saùnh giöõa caùch boá trí heä truïc toïa ñoä vôùi tay maùy thöïc ñöôïc veõ keá beân. Hình 4.2 Tay maùy vaø heä truïc toïa ñoä cuûa noù Kích thöôùc ñoäng cuûa tay maùy ñöôïc chuù thích trong hình 4.3 vaø trong baûng 4.1. Hình 4.3 Kích thöôùc ñoäng cuûa caùc khaâu Baûng 4.1 Kích thöôùc ñoäng hoïc X (mm) Y (mm) Z (mm) a 100 0 0 b 78 0 0 c 55 0 0 d 0 0 25.5 e 11 0 13.5 GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 18 4.1.1 Caùc goùc cuûa tay maùy Ñeå khaâu taùc ñoäng cuoái (ôû ñaây laø ñaàu caây vieát) ñeán ñöôïc ñieåm coù toïa ñoä mong muoán, thì ta phaûi phoái hôïp chuyeån ñoäng cuûa caùc khaâu. Cuï theå laø ta seõ phaûi phoái hôïp chuyeån ñoäng cuûa caùc goùc α, β, γ, θ (hình 4.4). Hình 4.4 Caùc goùc cuûa tay maùy 4.1.2 Caùc giôùi haïn cuûa goùc Nhö ñaõ giôùi thieäu veà caùc tính naêng kyõ thuaät cuûa ñoäng cô ôû chöông 5, vì lyù do caùc baùnh raêng cuûa caùc ñoäng cô RC servo ñöôïc laøm baèng nhöïa neân khoâng theå chòu taûi troïng lôùn, haïn cheá veà moment toái ña cuûa ñoäng cô, cuõng nhö nhöõng haïn cheá veà khoâng gian chuyeån ñoäng…, cho neân chuùng ta phaûi giôùi haïn caùc goùc quay cuûa caùc ñoäng cô naøy trong moät khoaûng giaù trò nhaát ñònh. Vaán ñeà naøy ñöôïc ñaët ra nhaèm giuùp baûo veä caùc ñoäng cô khoâng bò quaù taûi trong suoát quaù trình hoaït ñoäng. Sau ñaây laø baûng giaù trò giôùi haïn cuûa caùc goùc. Baûng 4.2 Caùc giôùi haïn veà goùc Goùc nhoû nhaát Goùc lôùn nhaát Alpha (α) 340 1050 Beta (β) 420 1640 Gama (γ) 700 2250 Theta (θ) -900 900 4.1.3 Khoâng gian laøm vieäc cuûa tay maùy Khoâng gian laøm vieäc cuûa tay maùy phuï thuoäc vaøo caùc goùc quay vaø kích thöôùc ñoäng cuûa caùc khaâu. Sau khi tính toaùn, ta coù vuøng khoâng gian hoaït ñoäng cuûa tay maùy nhö sau. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 19 Hình 4.5 Khoâng gian laøm vieäc cuûa tay maùy 4.1.4 Caùc ma traän DH lieân quan Caùc ma traän DH chuyeån heä truïc toïa ñöôïc thieát laäp treân cô sôû lyù thuyeát trình baøy ôû chöông tröôùc. Ma traän DH cuûa heä truïc thöù nhaát:         θθ θ−θ = 1000 5.25100 00cossin 00sincos B Ma traän DH cuûa heä truïc thöù hai         αα α−α = 1000 5.13cos0sin 0010 11sin0cos C Ma traän DH cuûa heä truïc thöù ba         β−β− ββ− = 1000 0cos0sin 0010 100sin0cos D Ma traän DH cuûa heä truïc thöù tö GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 20         γ−γ− γγ− = 1000 0cos0sin 0010 78sin0cos E Ma traän DH cuûa heä truïc khaâu cuoái         = 1000 0100 0010 55001 F 4.2 CAÙC PHÖÔNG PHAÙP VEÕ 4.2.1 Veõ ñieåm treân maët phaúng XY Phaàn naøy noùi veà phöông phaùp veõ ñieåm treân maët phaúng XY cuûa tay maùy. Coù moät söï khaùc bieät veà vieäc veõ moät ñieåm trong khoâng gian vaø veõ moät ñieåm trong maët phaúng XY laø khi veõ trong maët phaúng XY thì cao ñoä Z luoân laø moät haèng soá. Coøn khi veõ trong khoâng gian, ñeå ñaït ñöôïc ñieåm cho tröôùc thì ta phaûi phoái hôïp chuyeån ñoäng cuûa taát caû caùc khaâu. Döïa vaøo caùc ma traän DH treân caùc khaâu, ta tìm ra vò trí, goùc cuûa caùc khaâu. F*E*D*C*B 1000 szyx qzyx pzyx 333 222 111 =         B,C,D,E,F: caùc ma traän DH (x1,yi,zi): toïa ñoä cuûa khaâu cuoái treân heä truïc toïa ñoä cô sôû. ÔÛ ñaây, giaûi baøi toaùn naøy raát phöùc taïp vaø khoù khaên, neân chuùng ta seõ söû duïng moät phöông phaùp khaùc, ñôn giaûn hôn nhöng vaãn baûo ñaûm tính toång quaùt cuûa baøi toaùn. Chuùng ta ñaët khaâu cuoái (caây buùt) luoân luoân vuoâng goùc vôùi maët phaúng XY vaø vôùi vò trí ñoù thì chuùng ta coù theå veõ ñöôïc deã daøng vaø chính xaùc. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 21 Ta coù sô ñoà sau Hình 4.6 Goùc θ Cho bieát ñöôïc toïa ñoä ñieåm cuoái laø C(xC,yC,zC). Vì vaäy goùc θ ñöôïc tính nhö sau   =θ x yarctan (4-1) Caùc chuyeån ñoäng cuûa tay maùy ñöôïc giôùi haïn trong maët phaúng vuoâng goùc vôùi maët phaúng XY vaø hôïp vôùi truïc X moät goùc laø θ. Ta phaûi dôøi heä toïa ñoä tuyeät ñoái cuûa khaâu cuoái veà heä truïc toïa ñoä töông ñoái cuûa tay maùy ñeå coù theå xaùc ñònh ñöôïc caùc goùc coøn laïi. C2C2' yxx += (4-2) Hình 4.7 Kích thöôùc caùc khaâu Trong heä truïc toïa ñoä môùi, ñieåm C coù toïa ñoä: xC’’= x’ – s GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 22 zC’ = z – f – t (4-3) Töø ñoù ta tính ñöôïc caùc goùc α vaø β baèng ñònh lyù haøm cos trong tam giaùc nhö sau: 22 'z''xk += (4-4) ( )    +−+=β ab2 'z''xbaarccos 2222 (4-5)     −+++  =α ak2 b'z''xaarccos x zarctg 2222 (4-6) Vì khaâu cuoái luoân vuoâng goùc vôùi maët phaúng XY neân goùc γ ñöôïc tính nhö sau: β−α−π=γ 5.1 (4-7) Nhö vaäy taát caû caùc goùc ñaõ ñöôïc tính toaùn, chuùng ta coù theå söû duïng nhöõng goùc naøy ñeå di chuyeån khaâu cuoái ñeán baát cöù ñieåm naøo trong maët phaúng XY. Phaàn sau ñaây seõ trình baøy phöông phaùp veõ ñieåm treân moät maët phaúng nghieâng hôïp vôùi maët phaúng XY moät goùc baát kyø. 4.2.2 Veõ ñieåm treân maët phaúng nghieâng moät goùc δ Phaàn naøy seõ giôùi thieäu veà vieäc veõ moät ñieåm trong maët phaúng nghieâng hôïp vôùi maët phaúng XY 1 goùc δ. Hình 4.8 Veõ trong maët phaúng nghieâng GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 23 Vaãn vôùi nguyeân taéc laø khaâu cuoái luoân vuoâng goùc vôùi maët phaúng veõ, töùc laø luùc naøo caây vieát cuõng vuoâng goùc vôùi tôø giaáy veõ. Chuùng ta thu ñöôïc ma traän DH ñeå chuyeån ñoåi toïa ñoä tính töø goác maët phaúng nghieâng ñeán goác toïa ñoä cô sôû.                 δδ δ−δ 1 z y x 1000 0cos0sin 0010 lsin0cos Töông töï nhö phaàn tröôùc, chuùng ta söû duïng ñònh lyù haøm cos trong tam giaùc ñeå tính toaùn caùc goùc nhö sau: δ= sin.cm δ−= tg).lx(z [ ]     +−−+=β ab2 c)mx(baarccos 2222     −++   −=α ak2 bkaarccos mx carctg 22 γ = 1,5π - α -β - δ Vôùi nhöõng goùc ñaõ tính, chuùng ta coù theå ñöa khaâu cuoái ñeán moät ñieåm coù toïa ñoä baát kyø trong maët phaúng khoâng song song vôùi maët phaúng XY. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 24 Tieáp theo ñaây seõ trình baøy phöông phaùp di chuyeån khaâu cuoái cuûa tay maùy ñeán moät ñieåm baát kyø trong khoâng gian laøm vieäc. 4.2.3 Veõ ñieåm trong khoâng gian β α γ b a q λ x p z x' z' Ñeå veõ moät ñieåm trong khoâng gian, chuùng ta caàn phaûi giaûi baøi toaùn ngöôïc cho tay maùy vôùi 4 baäc töï do. Giaû söû ñieåm C(x,y,z) laø ñieåm caàn ñeán. Aùp duïng nhöõng lyù thuyeát veà hình hoïc vaø phöông phaùp giaûi baøi toaùn toái öu hoùa vôùi caùc raøng buoäc laø caùc giôùi haïn cuûa caùc goùc quay, chuùng ta tìm ñöôïc caùc coâng thöùc tính sau: λ= sin.cp q = c cosλ z’ = z + p x’ = x – q 22 'z'xk +=     −++=α ak2 bkaarccos 'x 'zarctg 222 GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 25     −+=β ab2 kbaarccos 222 x yarctg=θ γ =2π - α - β -λ Vôùi caùc coâng thöùc naøy, baøi toaùn cuûa chuùng ta chæ coù moät nghieäm duy nhaát hoaëc laø khoâng tìm thaáy nghieäm naøo. 4.3 KEÁT LUAÄN Nhö vaäy chuùng ta ñaõ nghieân cöùu caùc giaûi thuaät cho vieäc xaùc ñònh toïa ñoä moät ñieåm trong moät maët phaúng nghieâng baát kyø, cuõng nhö giaûi thuaät cho khaâu taùc ñoäng cuoái ñi ñeán moät ñieåm baát kyø trong khoâng gian laøm vieäc cuûa tay maùy. Tieáp theo, chöông sau chuùng ta seõ nghieân cöùu veà caáu taïo, nguyeân lyù hoaït ñoäng cuûa ñoäng cô RC Servo. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 26 5 ÑOÄNG CÔ RC SERVO 5.1 GIÔÙI THIEÄU ÑOÄNG CÔ RC SERVO Ñoäng cô RC (Radio Control) Servo ñaàu tieân ñöôïc thieát keá ñeå söû duïng trong ñieàu khieån maùy bay hoaëc xe hôi. Veà sau, ñoäng cô naøy ñöôïc söû duïng phoå bieán nhö laø caùc cô caáu chaáp haønh ñöôïc ñieàu khieån baèng vi xöû lyù, vöøa nhoû goïn, vöøa tieát kieäm naêng löôïng laïi reû tieàn. Hình 5.1 Ñoäng cô RC Servo GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 27 Ñoäng cô RC Servo coù moment xoaén cao so vôùi kích thöôùc cuûa noù, coù theå cho vò trí goùc chính xaùc baèng caùch cung caáp xung theo phöông thöùc ñieàu bieán ñoä roäng xung (PWM); ñoä roäng cuûa xung seõ quyeát ñònh vò trí goùc cuûa truïc ñoäng cô. 5.2 CAÁU TAÏO ÑOÄNG CÔ RC SERVO Ñoäng cô RC Servo cöïc kyø tieän duïng trong lónh vöïc Robotics. Saùu ñoäng cô RC Servo HS300 cuûa haõng HITEC (hình 5.1) ñaõ ñöôïc choïn söû duïng trong ñeà taøi naøy. Ñoäng cô naøy khaù nhoû vôùi kích thöôùc: 41 x 20 x 36,5mm, troïng löôïng 47,1g vaø caùc thoâng soá kyõ thuaät khaùc nhö sau: - Moment xoaén 3 kg.cm. - Ñieän aùp söû duïng 4,8V ÷ 6V. - Nhieät ñoä vaän haønh -20 ÷ +60oC. - Toác ñoä quay toái ña 60o/0,19 giaây. - Doøng tieâu thuï 8mA ôû traïng thaùi nghæ, 150mA luùc laøm vieäc khoâng taûi. Hình 5.2 Kích thöôùc cuûa ñoäng cô RC Servo Beân trong ñoäng cô coù tích hôïp maïch ñieàu khieån, boä truyeàn baùnh raêng (hình 5.3) vaø moät thieát bò hoài tieáp laø moät bieán trôû xoay ñöôïc noái vôùi truïc ngoaøi cuûa ñoäng cô (hình 5.4). Bieán trôû naøy coù taùc duïng theo doõi vò trí goùc cuûa truïc ñoäng cô thoâng qua cöôøng ñoä doøng ñöa vaøo. Neáu truïc ñoäng cô ñaït ñöôïc vò trí goùc yeâu caàu GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 28 thì ñoäng cô seõ ñöôïc taét, ngöôïc laïi thì ñoäng cô seõ quay ñeán khi naøo ñaït ñöôïc vò trí goùc ñöôïc quy ñònh bôûi ñoä roäng xung ñöa vaøo. Hình 5.3 Boä truyeàn baùnh raêng Truïc ñoäng cô chæ coù theå quay moät goùc giôùi haïn laø 1800 hoaëc 2100 (tuøy thuoäc vaøo haõng saûn xuaát ñoäng cô) laø do coù moät choát nhöïa ôû beân trong. Neáu muoán ñoäng cô RC Servo quay toaøn voøng, ta phaûi caét boû choát naøy ñi (hình 5.5). Ñoäng cô coù 3 daây ra: 1 daây nguoàn (ñoû), 1 daây mass (ñen), 1 daây tín hieäu ñieàu khieån (maøu vaøng/traéng). Hình 5.4 Caáu taïo beân trong cuûa RC Servo GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 29 Hình 5.5 Choát nhöïa giôùi haïn tröôùc vaø sau khi bò caét 5.3 NGUYEÂN LYÙ HOAÏT ÑOÄNG CUÛA ÑOÄNG CÔ RC SERVO Nhö ñaõ noùi ôû treân vò trí goùc cuûa ñoäng cô RC Servo ñieàu khieån döïa treân nguyeân lyù PWM. Ñeå ñieàu khieån ñoäng cô RC Servo, ta seõ caáp xung moãi 20ms moät laàn. Vaø ñoä roäng cuûa xung caáp seõ quyeát ñònh vò trí goùc cuûa truïc ñoäng cô. Chaúng haïn vôùi xung coù ñoä roäng 1.5ms thì truïc ñoäng cô seõ quay ñeán vò trí goùc 900 (thöôøng ñöôïc goïi laø Neutral), neáu ñoä roäng nhoû hôn 1.5ms thì truïc ñoäng cô seõ quay gaàn veà vò trí goùc 00 vaø ngöôïc laïi neáu lôn hôn 1.5ms thì truïc ñoäng cô seõ quay gaàn ñeán vò trí goùc 1800 (hình 5.6). Hình 5.6 Giaûn ñoà xung kích RC Servo Vôùi nguyeân taéc ñieàu khieån nhö vaäy thì ta coù moät phöông aùn caáp xung cho ñoäng cô nhö sau: goùc quay cuûa moät ñoäng cô laø 1800, ñeå quay heát 1800 ñoù, ta caàn caáp xung coù ñoä roäng töø 1,25ms cho ñeán 1,75ms, töùc laø khoaûng 500µs. Caøng chia nhoû khoaûng naøy thì vò trí goùc cuûa ñoäng cô ñaït ñöôïc caøng nhieàu. Ví duï: neáu ta coù theå caáp xung vôùi ñoä roäng chia nhoû khoaûng 2µs thì trong khoaûng 500µs ta thu GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 30 ñöôïc 255 vò trí goùc cuûa ñoäng cô, ñieàu naøy coù nghóa laø moãi vò trí goùc cuûa ñoäng cô laø 0,70, coøn neáu ta coù theå caáp xung vôùi ñoä roäng chia nhoû khoaûng 1µs thì trong khoaûng 500µs ñoù, ta coù theå thu ñöôïc 500 vò trí goùc cuûa ñoäng cô, töùc laø moãi vò trí goùc laø 0,350. Ñieàu naøy coù yù nghóa raát lôùn ñeán ñoä chính xaùc khi ñieàu khieån tay maùy. Trong luaän vaên naøy, ñoä chia ñaït ñöôïc ñeán 0,320, töùc 560 vò trí goùc cuûa ñoäng cô. 5.4 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ nghieân cöùu veà ñoäng cô RC Servo, chuùng ta ñaõ bieát ñöôïc nguyeân taéc xaùc ñònh goùc, cuõng nhö caùc ñaëc tính veà kyõ thuaät khaùc cuûa noù. Tieáp theo chöông sau chuùng ta seõ tieán haønh nghieân cöùu veà vi xöû lyù hoï AVR. Ñaây laø moät hoï vi xöû lyù khaù maïnh, coù thôøi gian ñaùp öùng raát cao raát thuaän tieän cho vieäc ñieàu khieån ñoäng cô. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 31 6 VI XÖÛ LYÙ AVR AT90S2313 6.1 GIÔÙI THIEÄU CHUNG VEÀ HOÏ VI XÖÛ LYÙ AVR AVR laø vi xöû lyù chuaån CMOS 8bit tieâu thuï ít naêng löôïng, ñöôïc cheá taïo döïa treân caáu truùc AVR RISC (Reduced Instruct Set Computers), ñaây laø caáu truùc coù toác ñoä xöû lyù cao hôn nhieàu so vôùi caùc vi xöû lyù ñöôïc cheá taïo döïa treân caáu truùc CISC (Complex Instruct Set Computers). Bôûi vì moãi moät chu kyø maùy cuûa AVR baèng vôùi taàn soá hoaït ñoäng cuûa thaïch anh, trong khi vôùi vi xöû lyù hoï 8051 thì moãi chu kyø maùy baèng taàn soá cuûa thaïch anh chia cho 12. 6.1.1 Ñaëc tính kyõ thuaät cuûa AVR-AT90S2313 - Taäp leänh goàm 118 leänh. Haàu heát moãi leänh ñöôïc thöïc hieän trong moät chu kyø maùy. - 32×8 thanh ghi (R0→R31). - 2Kb flash ROM ñeå chöùa chöông trình, cho pheùp xoùa naïp 1000 laàn. - 128 bytes SRAM. - 128 bytes EEPROM, cho pheùp ghi xoùa 100000 laàn. - Cho pheùp caám truy caäp noäi dung Flash ROM va EEPROM. - Moät boä ñònh thôøi vaø boä ñeám 8bit. - Moät boä ñònh thôøi vaø boä ñeám 16bit, boä phaùt xung PWM 8,9 hoaëc 10 bit. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 32 - Boä so aùp. - Watchdog timer coù theå laäp trình ñöôïc. - Laäp trình tröïc tieáp thoâng qua chuaån giao tieáp SPI. - Hoã trôï toác ñoä BAUD cao. - Cheá ñoä tieát kieäm naêng löôïng. - 15 chaân xuaát nhaäp. - Ñieän aùp hoaït ñoäng 4,0– 6,0V. 6.1.2 Sô ñoà chaân + Moâ taû caùc chaân: - VCC: Chaân caáp ñieän (5V). - GND: Chaân noái ñaát (0V). - PORTB (PB7..PB0): Port B laø port xuaát nhaäp hai chieàu 8-bit vôùi caùc ñieän trôû keùo leân beân trong. PB0 vaø PB1 cuõng laø caùc ngoõ vaøo döông (AIN0) vaø aâm (AIN1) cuûa boä so aùp. Boä ñeäm xuaát cuûa Port B coù theå keùo doøng ñeán 20mA. Port B seõ ôû traïng thaùi high-Z khi bò Reset hoaëc ngay caû khi ngaét xung clock. - PORT D (PD6..PD0): Port D cuõng töông töï nhö Port B nhöng chæ coù 7 pin xuaát nhaäp hai chieàu. - RESET: Ngoõ vaøo Reset. Möùc thaáp ôû chaân naøy trong hôn 50ns seõ reset chip. - XTAL1: Ngoõ vaøo khueách ñaïi ñaûo cuûa maïch dao ñoäng. - XTAL2: Ngoõ ra khueách ñaïi ñaûo cuûa maïch dao ñoäng. 6.2 CAÁU TRUÙC CUÛA AVR Vi xöû lyù AVR-AT90S2313 coù kieán truùc kieåu RISC. Taäp thanh ghi truy xuaát nhanh cuûa noù bao goàm 32 x 8 bit thanh ghi vôùi thôøi gian truy xuaát baèng moät xung GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 33 clock. Ñieàu naøy coù nghóa laø trong thôøi gian moät xung clock, ñôn vò soá hoïc ALU (Arithmetic Logic Unit) seõ thöïc thi moät leänh, keát quaû ñöôïc löu ngöôïc laïi vaøo caùc thanh ghi. ALU hoã trôï caùc pheùp tính soá hoïc vaø logic giöõa caùc thanh ghi hay giöõa moät haèng soá vôùi moät thanh ghi. Caùc leänh treân moät thanh ghi ñôn cuõng coù theå ñöôïc thöïc thi trong ALU. Saùu trong soá 32 thanh ghi ñoù ñöôïc duøng nhö laø 3 thanh ghi con troû ñòa chæ 16-bit, ñieàu naøy seõ ñöôïc noùi roõ hôn ôû phaàn sau. Boä nhôù xuaát nhaäp bao goàm 64 ñòa chæ cho CPU keát noái vôùi caùc thieát bò ngoaïi vi: thanh ghi ñieàu khieån, boä ñònh thôøi/boä ñeám, boä chuyeån ñoåi A/D, vaø moät soá chöùc naêng xuaát nhaäp khaùc. Boä nhôù xuaát nhaäp coù theå ñöôïc truy xuaát tröïc tieáp. Hoï AVR cuõng coù kieán truùc Harvard: taùch rôøi vuøng nhôù vaø caùc bus cho chöông trình vaø döõ lieäu. Hình 6.1 Khoâng gian vuøng nhôù cuûa AVR – AT90S2313 GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 34 Hình 6.2 Caáu truùc cuûa AVR AT90S2313 6.2.1 Thanh ghi (register) Veà caáu truùc thì AVR AT90S2313 coù 32 thanh ghi 8bit ñöôïc truy caäp trong moät chu kyø maùy. Coù 6 trong 32 thanh ghi ñöôïc söû duïng nhö 3 thanh ghi con troû 16 bit ñeå ñònh ñòa chæ döõ lieäu (X,Y,Z). Vaø moät trong 3 thanh ghi naøy coøn ñöôïc söû duïng laøm con troû troû ñeán moät baûng döõ lieäu trong haøm tìm kieám (look up). GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 35 Hình 6.3 Ñòa chæ thanh ghi Haàu heát trong taäp leänh cuûa AVR ñeàu cho pheùp duøng toaøn boä thanh ghi. Chæ tröø caùc leänh sau SBCI, SUBI, CPI, ANDI, ORI, LDI laø caùc leänh thao taùc treân moät thanh ghi vôùi moät haèng soá, chæ cho pheùp duøng caùc thanh ghi töø R16-R31. 6.2.2 Boä ñònh thôøi (timer) AT90S2313 cung caáp 2 timer, moät timer 8-bit vaø moät timer 16-bit, ñeàu coù khaû naêng thay ñoåi toác ñoä traøn baèng caùch laáy taàn soá thaïch anh chia cho 8, 64, 256, 1024. Hình 6.4 Sô ñoà khoái Timer 6.2.3 UART Moät soá ñaëc tính veà boä thu phaùt khoâng ñoàng boä cuûa AT90S2313 • Hoä trôï raát nhieàu toác ñoä BAUD. • Cho toác ñoä BAUD cao ngay caû vôùi taàn soá thaïch anh thaáp. • Khung truyeàn 8 hoaëc 9 bit. • Cheá ñoä loïc nhieãu. • Côø kieåm tra neáu döõ lieäu trong boä ñeäm bò ghi ñeø. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 36 • Côø kieåm tra loãi khung truyeàn. • Côø kieåm tra loãi Start bit. • Hoã trôï ba ngaét rieâng bieät: ngaét khi truyeàn xong, ngaét khi boä ñeäm döõ lieäu roãng, ngaét khi nhaän xong. 6.2.3.1 Boä truyeàn döõ lieäu Hình 6.5 Sô ñoà khoái cuûa boä truyeàn UART Döõ lieäu caàn truyeàn ñöôïc caát vaøo trong thanh ghi döõ lieäu UDR. Döõ lieäu trong thanh ghi naøy ñöôïc chuyeån tôùi thanh ghi dòch ñeå truyeàn ñi treân chaân TxD. Neáu boä ñeäm truyeàn roãng thì côø UDRE trong thanh ghi USR ñöôïc set. Khi truyeàn xong thì côø TXC trong thanh ghi USR ñöôïc set. Côø TXEN trong thanh ghi UCR laø côø cho pheùp truyeàn. Khi côø naøy ñöôïc reset thì chaân PD1 (TxD) coù theå ñöôïc söû duïng nhö moät chaân xuaát nhaäp bình thöôøng. Vaø khi côø naøy ñöôïc set, thì boä truyeàn seõ ñöôïc noái vôùi chaân PD1 ñeå trôû thaønh chaân TxD. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 37 6.2.3.2 Boä nhaän döõ lieäu Hình 6.6 Sô ñoà khoái boä nhaän UART Boä nhaän laáy maãu treân chaân RxD ôû taàn soá gaáp 16 laàn toác ñoä BAUD. Ñieàu naøy coù nghóa laø trong thôøi gian cuûa 1 bit döõ lieäu thì boä nhaän seõ laáy maãu 16 laàn. Trong khi ñöôøng truyeàn raûnh, maãu laáy ôû möùc logic 0 thì ñöôïc hieåu laø caïnh xuoáng cuûa start-bit, vaø chu trình kieåm tra start-bit ñöôïc baét ñaàu. Ta choïn maãu laàn thöù 1 bieåu thò cho maãu 0. Ta xeùt maãu thöù 8, 9 vaø 10, neáu hôn hai trong ba maãu naøy ôû möùc logic 1 thì startbit ñöôïc coi nhö laø moät nhieãu vaø boä nhaän seõ chôø moät start-bit môùi. Neáu moät start-bit ñöôïc kieåm tra laø ñuùng, thì quaù trình laáy maãu töông töï ñöôïc tieáp tuïc vôùi töøng bit döõ lieäu keá theo. Hình 6.7 Khung truyeàn döõ lieäu UART Khi stop-bit ñeán boä nhaän, phaûi coù ít nhaát 2 trong 3 maãu ôû logic 1 thì bit ñoù môùi ñöôïc hieåu laø stopbit. Neáu coù hôn 2 maãu laø logic 0 thì côø FE (Framing Error) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 38 trong thanh ghi USR ñöôïc set. Vì vaäy tröôùc khi ñoïc thanh ghi UDR, ngöôøi söû duïng neân kieåm tra côø FE. Döõ lieäu vaãn ñöôïc chuyeån vaøo thanh ghi UDR vaø côø RXC trong thanh ghi USR ñöôïc set cho duø vieäc kieåm tra stop-bit coù loãi hay khoâng. Thaät ra, UDR ñöôïc chia thaønh 2 thanh ghi rieâng bieät: moät cho boä nhaän vaø moät cho boä truyeàn. Vaø neáu trong khi ñang nhaän veà moät kyù töï maø thanh ghi UDR khoâng ñöôïc ñoïc veà töø laàn nhaän tröôùc thì côø OR (OverRun) trong UCR seõ ñöôïc set. Ñieàu naøy coù nghóa laø döõ lieäu trong laàn nhaän tröôùc ñaõ ñöôïc dòch vaøo trong thanh ghi dòch ñaõ khoâng ñöôïc chuyeån vaøo UDR vaø bò maát. Côø OR ñöôïc caäp nhaät khi maø döõ lieäu trong UDR ñöôïc ñoïc. Vì theá, ngöôøi söû duïng neân kieåm tra côø naøy sau khi ñoïc UDR ñeå chaéc raèng döõ lieäu khoâng bò ghi ñeø do toác ñoä BAUD quaù cao hay CPU quaù taûi. Khi maø côø RXEN trong thanh ghi UCR ñöôïc reset, thì boä nhaän bò voâ hieäu hoùa. Töùc laø chaân PD0 (RxD) coù theå duøng nhö laø moät chaân xuaát nhaäp bình thöôøng. Khi côø naøy ñöôïc set, boä nhaän seõ ñöôïc noái vôùi chaân PD0 vaø chaân naøy trôû thaønh chaân RxD. 6.2.4.3 Caùc thanh ghi lieân quan • Thanh ghi döõ lieäu UDR (The UART I/O Data Register) Thanh ghi UDR thaät ra coù 2 thanh ghi rieâng bieät cuøng coù chung moät ñòa chæ I/O. Khi ghi leân thanh ghi naøy, thì UDR laø thanh ghi döõ lieäu cuûa boä truyeàn. Khi ñoïc töø UDR, thì luùc naøy UDR laïi laø thanh ghi döõ lieäu cuûa boä nhaän. • Thanh ghi traïng thaùi USR (UART Status Register) Thanh ghi USR laø moät thanh ghi chæ ñoïc, noù cung caáp thoâng tin traïng thaùi UART. ƒ Bit 7 – RXC (UART Receive Complete) Bit naøy ñöôïc set khi moät kyù töï ñöôïc chuyeån töø thanh ghi dòch vaøo UDR. RXC ñöôïc xoùa khi UDR ñöôïc ñoïc. ƒ Bit 6 – TXC (UART Transmit Complete) Bit naøy ñöôïc set khi maø toaøn boä kyù töï (bao goàm caû stop-bit) trong thanh ghi dòch ñöôïc ñaåy ra vaø khoâng coù döõ lieäu môùi naøo ñöôïc ghi vaøo trong UDR. ƒ Bit 5 – UDRE (UART Data Register Empty) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 39 Bit naøy ñöôïc set khi moät kyù töï trong UDR ñöôïc chuyeån vaøo thanh ghi dòch. Vieäc set côø naøy baùo hieäu raèng boä truyeàn ñaõ roãng vaø ñaõ saün saøng ñeå phaùt kyù töï tieáp theo. UDRE ñöôïc set trong suoát quaù trình reset. ƒ Bit 4 – FE (Framing Error) Bit naøy ñöôïc set neáu moät loãi khung truyeàn ñöôïc tìm thaáy; ví duï nhö: stop-bit cuûa kyù töï ñang nhaän laø 0. Bit naøy seõ ñöôïc xoùa khi maø stopbit cuûa döõ lieäu nhaän ñöôïc laø 1. ƒ Bit 3 – OR (Overrun) Bit naøy ñöôïc set neáu moät loãi ghi ñeø döõ lieäu ñöôïc phaùt hieän. Ví duï nhö: khi moät kyù töï ñang ôû trong UDR khoâng ñöôïc ñoïc tröôùc khi moät kyù töï khaùc ñöôïc dòch vaøo thanh ghi dòch cuûa boä nhaän. Côø OR ñöôïc xoùa khi döõ lieäu ñöôïc nhaän vaø chuyeån tôùi UDR. • Thanh ghi ñieàu khieån UCR (UART Control Register) ƒ bit 7 – RXCIE: Cho pheùp ngaét nhaän khi hoaøn taát. Neáu bit naøy ñöôïc set thì khi bit RXC trong thanh ghi RXC leân moät thì chöông trình phuïc ngaét seõ ñöôïc thöïc hieän. ƒ bit 6 – TXCIE: Cho pheùp ngaét truyeàn khi hoaøn taát. Neáu bit naøy ñöôïc set thì khi bit TXC trong thanh ghi USR leân moät thì chöông trình phuïc vuï ngaét seõ ñöôïc thöïc hieän. ƒ bit 5 – UDRIE: Cho pheùp ngaét khi boä ñeäm roãng. Neáu bit naøy ñöôïc set thì khi bit UDRE trong thanh ghi USR leân moät thì chöông trình phuïc vuï ngaét seõ ñöôïc thöïc hieän. ƒ bit 4 – RXEN: Cho pheùp nhaän. Bit naøy cho pheùp boä nhaän hoaït ñoäng khi ñöôïc set. Khi bit naøy ñang ôû möùc 0, thì caùc côø traïng thaùi TXC, OR, FE khoâng theå ñöôïc set. Neáu caùc côø naøy ñöôïc set, thì vieäc reset RXEN khoâng laøm cho caùc côø naøy bò xoùa. ƒ bit 3 – TXEN: Cho pheùp truyeàn Bit naøy cho pheùp boä truyeàn hoaït ñoäng khi ñöôïc set. Trong khi ñang truyeàn moät kyù töï maø bit cho pheùp truyeàn bò reset, thì boä truyeàn vaãn tieáp tuïc truyeàn cho ñeán heát kyù töï ñang truyeàn. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 40 ƒ bit 2 – CHR9: Khung döõ lieäu 9 bit Khi bit naøy ñöôïc set thì khung döõ lieäu seõ laø 9 bit keå caû start bit vaø stop-bit. Bit thöù 9 seõ ñöôïc ñoïc vaø ghi baèng caùch söû duïng bit RXB8 vaø TXB8 töông öùng trong thanh ghi UCR. Bit thöù 9 naøy coù theå coi nhö moät stop-bit môû roäng hoaëc bit kieåm tra parity. ƒ bit 1 - RXB8: Receive Data Bit 8 RXB8 laø bit thöù 9 cuûa kyù töï nhaän ñöôïc khi CHR9 ñöôïc set. ƒ bit 0 – TXB8: Transmit Data Bit 8 TXB8 laø bit thöù 9 cuûa kyù töï nhaän ñöôïc khi CHR9 ñöôïc set. 6.2.4.4 Caùch ñònh toác ñoä BAUD Toác ñoä BAUD ñöôïc xaùc ñònh theo coâng thöùc sau: )1UBRR(16 f BAUD CK += ƒ BAUD: toác ñoä BAUD. ƒ fCK : taàn soá thaïch anh söû duïng. ƒ UBRR: thanh ghi chöùa giaù trò xaùc ñònh toác ñoä BAUD (0- 255). Vôùi moät soá thaïch anh chuaån, caùc toác ñoä BAUD thoâng thöôøng ñöôïc cho trong baûng sau, chuù yù raèng vôùi caùc toác ñoä BAUD coù phaàn traêm sai soá hôn 1% khoâng neân söû duïng: Baûng 6.1 Baûng caùc toác ñoä BAUD thoâng duïng GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 41 • Thanh ghi toác ñoä BAUD – UBRR Thanh ghi UBRR laø thanh ghi 8 bit qui ñònh toác ñoä BAUD. 6.3 CAÙC LEÄNH CUÛA AT90S2313 SÖÛ DUÏNG TRONG LUAÄN VAÊN ™ ADC – Coäng vôùi côø Carry Coäng hai thanh ghi vôùi côø C, sau ñoù keát quaû ñöôïc löu vaøo thanh ghi ñích Rd. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0001 11rd dddd rrrr Cuù phaùp ADC Rd, Rr (0 ≤ d ≤ 31, 0 ≤ r ≤ 31) Hoaït ñoäng Rd ← Rd+Rr+C Caùc côø aûnh höôûng Z, C, N, V, H. ™ ADIW – Coäng tröïc tieáp 1 thanh ghi 16bit vôùi moät soá Coäng moät caëp thanh ghi vôùi moät soá töø 0-63, keát quaû löu vaøo caëp thanh ghi. Leänh naøy duøng cho 4 caëp thanh ghi cao nhaát. Soá byte 2 Soá chu kyø 2 Maõ ñoái töôïng 1001 0110 KKdd KKKK Cuù phaùp ADIW Rd+1:Rd, K (d ∈ {24,26,28,30}, 0≤ K ≤ 63) Hoaït ñoäng Rd+1:Rd ← Rd+1:Rd + K Caùc côø aûnh höôûng Z, C, N, V, S. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 42 ™ AND – And logic Thöïc hieän pheùp and logic noäi dung giöõa hai thanh ghi Rd vaø Rr, keát quaû löu vaøo thanh ghi Rd. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0010 00rd dddd rrrr Cuù phaùp AND Rd, Rr (0 ≤ d ≤ 31, 0 ≤ r ≤ 31) Hoaït ñoäng Rd ← Rd * Rr Caùc côø aûnh höôûng Z, N, V. ™ BREQ – Nhaûy neáu baèng Leänh naøy seõ thöïc hieän neáu côø Z ñöôïc set Soá byte 2 Soá chu kyø 1/2 Maõ ñoái töôïng 1111 00kk kkkk k001 Cuù phaùp BREQ k (-64 ≤ k ≤ 63) Hoaït ñoäng If Rd=Rr (Z=1) then PC← PC+k+1, else PC ← PC+1 ™ BRNE – Nhaûy neáu khoâng baèng Leänh naøy seõ ñöôïc thöïc hieän neáu côø Z ñöôïc reset Soá byte 2 Soá chu kyø 1/2 Maõ ñoái töôïng 1111 01kk kkkk k001 Cuù phaùp BRNE k (-64 ≤ k ≤ 63) Hoaït ñoäng If Rd≠Rr (Z=0) then PC← PC+k+1, else PC ← PC+1 ™ BRCS – Nhaûy neáu côø Carry ñöôïc set Leänh naøy seõ thöïc hieän khi côø Carry ñöôïc set Soá byte 2 Soá chu kyø 1/2 Maõ ñoái töôïng 1111 00kk kkkk k000 Cuù phaùp GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 43 BRCS k (-64 ≤ k ≤ 63) Hoaït ñoäng If C=1 then PC← PC+k+1, else PC ← PC+1 ™ CP – So saùnh So saùnh noäi dung thanh ghi Rd vaø Rr. Leänh naøy khoâng laøm thay ñoåi noäi dung thanh ghi. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0001 01rd dddd rrrr Cuù phaùp CP Rd, Rr (0 ≤ d ≤ 31, 0 ≤ r ≤ 31) Hoaït ñoäng Rd - Rr Caùc côø aûnh höôûng Z, C, N, V, H ™ CPI – So saùnh So saùnh noäi dung thanh ghi Rd vôùi moät haèng soá K. Leänh naøy khoâng laøm thay ñoåi noäi dung thanh ghi. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0011 KKKK dddd KKKK Cuù phaùp CPI Rd, K (16 ≤ d ≤ 31, 0 ≤ K ≤ 255) Hoaït ñoäng Rd - K Caùc côø aûnh höôûng Z, C, N, V, H. ™ CPSE – So saùnh vaø boû qua neáu baèng So saùnh noäi dung thanh ghi Rd vaø Rr, vaø boû qua leänh keá tieáp neáu Rd=Rr. Leänh naøy khoâng laøm thay ñoåi noäi dung thanh ghi. Soá byte 2 Soá chu kyø 1/2 Maõ ñoái töôïng 0001 00rd dddd rrrr Cuù phaùp CPSE Rd, Rr (0 ≤ d ≤ 31, 0 ≤ r ≤ 31) Hoaït ñoäng If Rd = Rr then PC ← PC + 2 (hoaëc 3), else PC ← PC + 1 GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 44 ™ IN – Löu giaù trò cuûa moät vò trí I/O vaøo thanh ghi Löu döõ lieäu töø moät thieát bò xuaát nhaäp (nhö Port, Timer…) vaøo thanh ghi Rd. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 1011 0AAd dddd AAAA Cuù phaùp IN Rd,A (0 ≤ d ≤ 31, 0 ≤ A ≤ 63) Hoaït ñoäng Rd ← I/O(A) ™ LD – Naïp giaùn tieáp noäi dung vaøo thanh ghi thoâng qua thanh ghi con troû (X, Y, Z). Noäi dung caùc thanh ghi con troû X, Y, Z coù theå khoâng ñoåi hoaëc coù theå taêng hoaëc giaûm moät ñôn vò sau khi leänh ñöôïc thöïc thi. Chuù yù raèng chæ coù noäi byte thaáp cuûa thanh ghi ñöôïc caäp nhaät, coøn byte cao thì khoâng. Soá byte 2 Soá chu kyø 2 Maõ ñoái töôïng Khi söû duïng thanh ghi con troû X (1) 1001 000d dddd 1100 (2) 1001 000d dddd 1101 (3) 1001 000d dddd 1110 Khi söû duïng thanh ghi con troû Y (4) 1000 000d dddd 1000 (5) 1001 000d dddd 1001 (6) 1001 000d dddd 1010 Khi söû duïng thanh ghi con troû Z (7) 1000 000d dddd 0000 (8) 1001 000d dddd 0001 (9) 1001 000d dddd 0010 Cuù phaùp (1) LD Rd, X ( 0 ≤ d ≤ 31) (2) LD Rd, X+ ( 0 ≤ d ≤ 31) (3) LD Rd, -X ( 0 ≤ d ≤ 31) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 45 (4) LD Rd, Y ( 0 ≤ d ≤ 31) (5) LD Rd, Y+ ( 0 ≤ d ≤ 31) (6) LD Rd, -Y ( 0 ≤ d ≤ 31) (7) LD Rd, Z ( 0 ≤ d ≤ 31) (8) LD Rd, Z+ ( 0 ≤ d ≤ 31) (9) LD Rd, -Z ( 0 ≤ d ≤ 31) Hoaït ñoäng (1) Rd ← (X) (2) Rd ← (X) X ← X+1 (3) X ← X-1 Rd ← (X) Cô cheá hoaït ñoäng töông töï vôùi Y vaø Z ™ LDI – Naïp giaù trò tröïc tieáp Naïp moät haèng soá 8-bit tröïc tieáp vaøo thanh ghi töø 16 ñeán 31 Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 1110 KKKK dddd KKKK Cuù phaùp LDI Rd, K (16 ≤ d ≤ 31, 0 ≤ K ≤ 255) Hoaït ñoäng Rd ← K ™ MOV – Sao cheùp thanh ghi Leänh naøy sao cheùp noäi dung cuûa thanh ghi Rr vaøo thanh ghi Rd. Thanh ghi Rr khoâng thay ñoåi trong khi thanh ghi Rd ñöôïc löu giaù trò cuûa thanh ghi Rr. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0010 11rd dddd rrrr Cuù phaùp MOV Rd,Rr (0 ≤ d ≤ 31, 0 ≤ r ≤ 31) Hoaït ñoäng Rd ← Rr ™ ORI – Or vôùi moät haèng soá Thöïc hieän pheùp OR logic giöõa moät thanh ghi Rd vaø moät haèng soá, keát quaû löu vaøo thanh ghi Rd. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 46 Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 0110 KKKK dddd KKKK Cuù phaùp ORI Rd,K (16 ≤ d ≤ 31, 0 ≤ K ≤ 255) Hoaït ñoäng Rd ← Rd v K Caùc côø aûnh höôûng: Z, N, V. ™ RJMP – Nhaûy khoâng ñieàu kieän Nhaûy ñeán moät ñòa chæ trong khoaûng PC – 2K + 1 ñeán PC + 2K (Word). Vôùi ngoân ngöõ Assembler, thì K ñöôïc thay baèng moät nhaõn. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 1100 kkkk kkkkk kkkkk Cuù phaùp RJMP k (-2K ≤ k ≤ 2K) Hoaït ñoäng PC ← PC + k + 1 ™ SBIS – Boû qua neáu bit trong thanh ghi I/O ñöôïc set Leänh naøy kieåm tra moät bit leû trong moät thanh ghi I/O vaø boû qua leänh keá tieáp neáu bit ñoù ñöôïc set. Leänh naøy chæ thöïc hieän vôùi caùc thanh ghi I/O thaáp. Soá byte 2 Soá chu kyø 1 Maõ ñoái töôïng 1001 1011 AAAA Abbb Cuù phaùp SBIS A,b (0≤ A ≤ 31, 0 ≤ b ≤ 7) Hoaït ñoäng If I/O(A.b) = 1 then PC ← PC + 2( or 3) else PC ← PC + 1 ™ SBIW – Tröø moät haèng soá (16 bit) Laáy moät caëp thanh ghi tröø moät haèng soá (0-63), keát quaû löu vaøo caëp thanh ghi ñoù. Soá byte 2 Soá chu kyø 2 Maõ ñoái töôïng 1001 0111 KKdd KKKK Cuù phaùp GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 47 SBIW Rd+1:Rd,K (d∈{24,26,28,30}, 0 ≤ K ≤ 63) Hoaït ñoäng Rd+1:Rd ← Rd+1:Rd -K Caùc côø aûnh höôûng: Z, N, V, S, C. ™ ST – Löu noäi dung moät thanh ghi vaøo oâ nhôù ñöôïc con troû döõ lieäu troû tôùi (X,Y,Z). Noäi dung caùc thanh ghi con troû X, Y, Z coù theå khoâng ñoåi hoaëc coù theå taêng hoaëc giaûm moät ñôn vò sau khi leänh ñöôïc thöïc thi. Chuù yù raèng chæ coù noäi byte thaáp cuûa thanh ghi ñöôïc caäp nhaät, coøn byte cao thì khoâng. Soá byte 2 Soá chu kyø 2 Maõ ñoái töôïng Khi söû duïng thanh ghi con troû X (1) 1001 001r rrrr 1100 (2) 1001 001r rrrr 1101 (3) 1001 001r rrrr 1110 Khi söû duïng thanh ghi con troû Y (4) 1000 001r rrrr 1000 (5) 1001 001r rrrr 1001 (6) 1001 001r rrrr 1010 Khi söû duïng thanh ghi con troû Z (7) 1000 001r Rrrr 0000 (8) 1001 001r Rrrr 0001 (9) 1001 001r Rrrr 0010 Cuù phaùp (1) ST X, Rr ( 0 ≤ r ≤ 31) (2) ST X+, Rr ( 0 ≤ r ≤ 31) (3) ST -X, Rr ( 0 ≤ r ≤ 31) (4) ST Y, Rr ( 0 ≤ r ≤ 31) (5) ST Y+, Rr ( 0 ≤ r ≤ 31) (6) ST -Y, Rr ( 0 ≤ r ≤ 31) (7) ST Z, Rr ( 0 ≤ r ≤ 31) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 48 (8) ST Z+, Rr ( 0 ≤ r ≤ 31) (9) ST -Z, Rr ( 0 ≤ r ≤ 31) Hoaït ñoäng (2) (X) ← Rr (4) (X) ← Rr X ← X+1 (5) X ← X-1 (X) ← Rr Cô cheá hoaït ñoäng töông töï vôùi Y vaø Z ™ STS – Löu giaù trò tröïc tieáp vaøo bieán Löu moät byte töø moät thanh ghi vaøo trong boä nhôù (RAM noäi). Soá byte 4 Soá chu kyø 2 Maõ ñoái töôïng 0110 001d dddd 0000 kkkk kkkk kkkk kkkk Cuù phaùp STS k,Rr (0 ≤ r ≤ 31, 0 ≤ k ≤ 65535) Hoaït ñoäng (k) ← Rr ¾ Chuù yù ñoái vôùi caùc leänh khoâng ñeà caäp ñeán caùc côø aûnh höôûng, nghóa laø caùc leänh ñoù khoâng aûnh höôûng ñeán caùc côø. 6.4 NAÏP DÖÕ LIEÄU NOÁI TIEÁP Chöông trình coù theå ñöôïc naïp vaøo chip baèng chuaån SPI trong khi chaân RESET ñöôïc keùo xuoáng mass. Chuaån SPI duøng 3 chaân: SCK, MOSI (nhaäp) vaø MISO (xuaát). Sau khi chaân RESET ñöôïc keùo xuoáng mass, thì leänh cho pheùp laäp trình caàn ñöôïc thöïc hieän tröôùc khi thöïc hieän vieäc xoaù vaø naïp chöông trình. Hình 6.8 Sô ñoà maïch ñoå chöông trình cho chip GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 49 Ñoái vôùi EEPROM thì khoâng caàn thöïc hieän leänh xoùa vì ñieàu naøy seõ ñöôïc thöïc hieän töï ñoäng. Leänh xoùa laøm toaøn boä noäi dung thaønh FFh. Hình 6.9 Giaûn ñoà xung cho quaù trình ñoå döõ lieäu vaøo chip ‰ Quaù trình naïp chip a) Caáp nguoàn cho chip (Vcc vaø GND) trong khi chaân RESET vaø SCK xuoáng mass. b) Chôø ít nhaát 20ms vaø cho pheùp naïp noái tieáp baèng caùch gôûi leänh cho pheùp naïp tôùi chaân MOSI (PB5). c) Neáu thieáu söï ñoàng boä thì caùc leänh naïp noái tieáp seõ khoâng ñöôïc thöïc hieän. Khi ñaõ coù söï ñoàng boä, thì byte thöù hai (53h) seõ ñöôïc gôûi ngöôïc trôû laïi trong khi byte thöù ba ñang cuûa leänh cho pheùp naïp ñöôïc gôûi. Cho duø byte gôûi veà thöù hai (53h) coù ñuùng hay khoâng thì taát caû 4 byte cuõng phaûi ñöôïc truyeàn ñi. Trong tröôøng hôïp byte thöù hai (53h) khoâng ñöôïc gôûi veà thì ta caáp moät xung döông cho chaân SCK vaø sau ñoù ta laïi tieáp tuïc truyeàn laïi leänh laäp trình. Quaù trình naøy seõ ñöôïc laäp ñi laäp laïi trong 32 laàn, neáu khoâng thaønh coâng coi nhö vieäc laäp trình chip bò huûy. d) Neáu leänh xoùa chip ñöôïc thöïc hieän (khi laäp trình Flash ROM) thì ta chôø tWD- ERASE (toái thieåu 8ms) sau leänh naøy, tieáp tuïc caáp moät xung döông cho chaân RESET roài quay laïi böôùc hai. e) Flash ROM vaø EEPROM ñöôïc naïp töøng byte moät baèng caùch cung caáp vöøa ñòa chæ vöøa döõ lieäu trong cuøng moät leänh ghi thích hôïp. Ñoái vôùi vuøng nhôù trong EEPROM, thì leänh xoùa seõ ñöôïc thöïc hieän moät caùch töï ñoäng tröôùc khi döõ lieäu môùi ñöôïc ghi vaøo. Coù theå söû duïng vieäc ñoïc caùc byte daáu hieäu tröôùc khi truyeàn leänh keá tieáp hoaëc neáu khoâng thì ta chôø tWD-PROG (toái thieåu 4ms) f) Baèng leänh ñoïc ta coù theå ñoïc laïi noäi dung trong baát kyø oâ nhôù naøo thoâng qua chaân MISO (PB6) ñeå kieåm tra laïi döõ lieäu ñaõ ghi. g) Khi keát thuùc vieäc ñoå chöông trình, chaân RESET ñöôïc ñöa leân möùc cao ñeå baét ñaàu cheá ñoä hoaït ñoäng bình thöôøng. Baûng 6.2 Caùc leänh duøng trong naïp chöông trình cho chip Maõ leänh Leänh Byte 1 Byte 2 Byte 3 Byte 4 Ghi chuù Cho pheùp naïp 1010 1100 0101 0011 xxxx xxxx xxxx xxxx Leänh thöïc thi khi chaân GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 50 RESET → 0V Xoùa chip 1010 1100 100x xxxx xxxx xxxx xxxx xxxx Xoùa Flah vaø EEPROM Leänh ñoïc Flash ROM 0010 H000 xxxx xxaa bbbb bbbb oooo oooo Ñoïc döõ lieäu o töø flash ROM taïi ñòa chæ a:b Ghi vaøo Flash ROM 0100 H000 xxxx xxaa bbbb bbbb iiii iiii Ghi döõ lieäu i vaøo Flash ROM taïi ñòa chæ a:b Leänh ñoïc EEPROM 1010 0000 xxxx xxxx xbbb bbbb oooo oooo Ñoïc döõ lieäu o töø EEPROM taïi ñòa chæ b Ghi vaøo EEPROM 1100 0000 xxxx xxxx xbbb bbbb iiii iiii Ghi döõ lieäu I vaøo EEPROM taïi ñòa chæ b Ghi bit khoùa 1010 1100 111x x21x xxxx xxxx xxxx xxxx Ghi bit khoùa. 1,2=0 thì khoùa chöông trình Ñoïc caùc byte daáu hieäu 0011 0000 xxxx xxxx xxxx xxbb oooo oooo Ñoïc caùc byte daáu hieäu o taïi ñòa chæ b ¾ Chuù thích: - a = bit ñòa chæ cao - b = bit ñòa chæ thaáp - H = 0 – byte thaáp, 1 – byte cao - o = döõ lieäu nhaän veà - i = döõ lieäu naïp vaøo - x = khoâng quan taâm - 1 = bit khoùa 1 - 2 = bit khoùa 2 6.5 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ naém khaù roõ caáu truùc, caùch laäp trình cuõng nhö caùc ñaëc tính noåi troäi cuûa chip AT90S2313. Döïa vaøo nhöõng ñieàu naøy chuùng ta coù theå laäp trình ñieàu khieån caùc ñoäng cô RC-Servo. Chöông sau seõ noùi khaùi quaùt veà hoï vi xöû lyù MCS-51, cuï theå laø vi xöû lyù AT89C2051. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 51 7 VI XÖÛ LYÙ AT89C2051 7.1 GIÔÙI THIEÄU VEÀ AT89C2051 AT89C2051 laø chip thuoäc hoï vi xöû lyù MCS-51 do haõng Atmel saûn xuaát. Chip AT89C2051 coù caùc ñaëc tính kyõ thuaät sau: o 2k flash ROM, 128 byte RAM. o 15 ñöôøng xuaát nhaäp. o 1 port noái tieáp vaø hai boä ñònh thôøi 16 bit. o 6 nguoàn taïo ngaét. o Moät boä so aùp (Voltage Comparator). Ngoaøi ra so vôùi chip AT89C51 (loaïi chip thöôøng duøng phoå bieán hieän nay) thì chip AT89C2051 coù kích thöôùc nhoû goïn hôn (chæ coù 20 chaân), doøng taûi ôû caùc chaân xuaát nhaäp cao (20mA). Coøn veà taäp leänh thì noù hoaøn toaøn gioáng AT89C51, do vaäy caùch vieát chöông trình ta coù theå tham khaûo ôû chip AT89C51 [Saùch hoï vi ñieàu khieån 8051 cuûa Toáng Vaên On vaø Hoaøng Ñöùc Haûi]. AT89C2051 coøn ñöôïc thieát keá coù theå hoaït ñoäng ngay caû khi taàn soá xuoáng tôùi zero vaø noù coøn cung caáp cho hai cheá ñoä choïn mode tieát kieäm naêng löôïng baèng phaàn meàm. ÔÛ cheá ñoä nghæ (IDLE), thì CPU seõ ngöng hoaït ñoäng trong khi GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 52 cho pheùp RAM, boä ñònh thôøi, coång noái tieáp, ngaét tieáp tuïc hoaït ñoäng. Coøn ôû cheá ñoä nguoàn giaûm (Power Down) thì noäi dung cuûa RAM ñöôïc löu, coøn boä giao ñoäng thì “ñoùng baêng” cho ñeán khi coù moät tín hieäu (möùc cao trong 2 chu kyø maùy) ôû chaân Reset. 7.2 MO TAÛ CAÙC CHAÂN CUÛA AT89C2051 Hình 7.1 Caáu hình chaân ra cuûa chip AT89C2051 o Chaân VCC Chaân cung caáp ñieän. o GND Chaân noái mass. o Port 1 Laø port xuaát nhaäp 8-bit hai chieàu. P1.2-P1.7 thì coù ñieän trôû pull up ôû beân trong, coøn P1.0 vaø P1.1 ñoøi hoûi phaûi coù ñieän trôû pull up khi ñöôïc söû duïng laøm ngoõ xuaát tín hieäu. Coøn khi duøng laøm ngoõ nhaäp thì chuùng laàn löôït trôû thaønh caùc ngoõ vaøo ñaûo vaø khoâng ñaûo cuûa boä so aùp. Port 1 coøn ñöôïc duøng ñeå ñöa maõ laäp trình cho chip cuõng nhö ñoïc noäi dung cuûa chip. o Port 3 Laø port xuaát nhaäp 7-bit hai chieàu ñaõ coù saün ñieän trôû pull up ôû beân trong. P3.6 laø ngoõ ra cuûa boä so aùp, nhöng khoâng theå söû duïng nhö moät chaân xuaát nhaäp bình thöôøng maø phaûi thoâng qua phaàn meàm. Port 3 ngoaøi ñöôïc duøng nhö caùc chaân chöùc naêng (noái tieáp, ngaét) coøn ñöôïc duøng ñeå ñöa caùc tín hieäu ñieàu khieån ñeå laäp trình cho chip. o RST GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 53 Ngoõ vaøo reset. AT89C2051 seõ bò reset khi chaân naøy ñöôïc ñöa leân möùc cao trong hai chu kyø maùy. o XTAL1 Ngoõ vaøo ñeán maïch khueách ñaïi ñaûo cuûa maïch dao ñoäng vaø ngoõ vaøo ñeán maïch taïo xung clock beân trong chip. o XTAL2 Ngoõ ra töø maïch khueách ñaïi ñaûo cuûa maïch dao ñoäng. 7.3 SÔ ÑOÀ VAØ NGUYEÂN LYÙ NAÏP CHÖÔNG TRÌNH CHO AT89C2051 Trong luaän vaên naøy ñeå thuaän tieän cho vieäc laäp trình cho AT89C2051, chuùng ta caàn laøm moät maïch naïp cho AT89C2051 baèng coång song song thoâng qua 8255 vaø chöông trình naïp ñöôïc vieát baèng Visual Basic. So vôùi caùch laäp trình thoâng thöôøng baèng coång noái tieáp thì caùch laäp trình naøy nhanh hôn nhieàu. 7.3.1 Sô ñoà maïch naïp cho AT89C2051 BASE1 A0 /WR /RD /RD U2 AT89C2051 1 5 4 12 13 14 15 16 17 18 19 2 3 6 7 8 9 11 RST/VPP XTAL1 XTAL2 P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.7 A1 VB1 SUB-D 25 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 A0 /WR U1 8255 34 33 32 31 30 29 28 27 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 5 36 9 8 35 6 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 RD WR A0 A1 RESET CS BASE2 VPP A1 D3 D6 D4 D5 D4 D0 D2 D7 D2 D0 D7 D3 D1 D6 D1 D5 Hình 7.2 Sô ñoà nguyeân lyù maïch naïp AT89C2051 baèng coång song song GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 54 0 R7 1k Q1 2N1069 0 10uF 0 100uF R6 1k VPP 0 10uF 0 R8 1k 2 1 3 VOUT A D JVIN Q2 Q2N2906A0 LM7805 1 2 3 IN OUT G N D BASE2 R1 1k V1 15V 0 R5 10k BASE1 5V 0 Hình 7.3 Sô ñoà nguyeân lyù maïch nguoàn cho maïch naïp 7.3.2 Nguyeân lyù naïp chöông trình cho AT89C2051 Ñeå naïp chöông trình cho chip, tröôùc heát ta caàn phaûi xoùa noäi dung cuûa noù (ñeå toaøn boä noäi dung cuûa noù laø FFh). Beân trong chip coù moät bieán ñeám ñòa chæ cuûa PEROM, bieán naøy ñöôïc reset veà 00h khi coù tín hieäu reset ôû chaân RST vaø taêng leân moät khi coù moät xung döông ñöôïc kích ôû chaân XTAL1. Ñeå laäp trình cho chip AT89C2051 ta laøm theo caùc böôùc sau: 1. Caáp nguoàn cho chaân VCC vaø GND, cho chaân RST vaø chaân XTAL1 xuoáng möùc thaáp. 2. Cho chaân RST vaø chaân P3.2 leân möùc cao. 3. Cung caáp caùc chaân choïn mode leân caùc chaân P3.3, P3.4, P3.5, P3.7 theo baûng 7.1. 4. Ñöa döõ lieäu laäp trình ra Port1 cuûa chip. 5. Cho chaân RST leân möùc aùp laäp trình laø 12V. 6. Caáp moät xung leân chaân P3.2, luùc naøy quaù trình ñöa maõ laäp trình vaøo chíp ñöôïc baét ñaàu, thôøi gian naøy maát khoaûng 1.2 ms. ÔÛ ñaây ta chôø khoaûng 1.25 ms cho an toaøn (khoâng duøng cheá ñoä ñoïc laïi ñeå kieåm tra maø ta seõ kieåm tra sau khi laäp trình). 7. Caáp xung leân chaân XTAL1 ñeå taêng ñòa chi leân vò trí keá tieáp, tieáp tuïc ñöa döõ lieäu laäp trình môùi ra port1. 8. Laëp laïi böôùc 6 cho tôùi khi bieán ñeám ñòa chi PEROM ñeán 2K hoaëc ñeán heát chöông trình caàn naïp. 9. Cho chaân XTAL1 vaø chaân RST xuoáng möùc thaáp. 10. Ta cho ñoïc laïi toaøn boä noäi dung chip vaø so saùnh vôùi döõ lieäu caàn naïp vaø ñöa ra thoâng baùo cho ngöôøi söû duïng bieát keát quaû. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 55 Baûng 7.1 Baûng caùc mode laäp trình Cheá ñoä RST/VPP P3.2/nPROG P3.3 P3.4 P3.5 P3.7 Ghi maõ 12V L H H H Ñoïc maõ H H L L H H Bit-1 12V H H H H Ghi khoùa Bit-2 12V H H L L Xoùa chip 12V H L L L Ñoïc byte daáu hieäu H H L L L L • Chuù yù: - Leänh xoùa chip yeâu caàu ñoä roäng xung nPROG laø 10ms. - Chaân P3.1 ñöôïc keùo xuoáng thaáp khi döõ lieäu ñöôïc naïp vaøo chip ñeå chæ ra raèng CPU ñang baän. Ta coù theå ñoïc chaân naøy thay cho vieäc chôø 1.25ms. - ÔÛ cheá ñoä ñoïc noäi dung cuûa chip, thì döõ lieäu noäi dung cuûa chip ñöôïc ñoïc ôû port1. 7.4 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ tìm hieåu veà chip vi xöû lyù AT89C2051, laø loaïi chip khaù thoâng duïng, coù kích thöôùc nhoû, thuaän tieän cho vieäc duøng trong caùc öùng duïng maø khoâng ñoøi hoûi phaûi duøng nhieàu chaân (nhö giaûi maõ, phaùt hoàng ngoaïi, giaûi maõ baøn phím, …). Moät trong nhöõng öùng duïng duøng AT89C2051 ñeå ñieàu khieån laø giaûi maõ hieån thò LCD seõ ñöôïc trình baøy trong chöông tieáp theo ñaây. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 56 8 THIEÁT BÒ HIEÅN THÒ LCD 8.1 GIÔÙI THIEÄU VEÀ LCD 1602A LCD 162A laø moät thieát bò ngoaïi vi coù theå xuaát (ñeå hieän thò), nhaäp (ñoïc giaù trò töø LCD veà), coù kích thöôùc vaø sô ñoà chaân nhö hình sau: Hình 8.1 Caùc thoâng soá veà kích thöôùc cuûa LCD + Thoâng soá kyõ thuaät cuûa moät oâ chöõ GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 57 Hình 8.2 Caùc thoâng soá veà kích thöôùc oâ chöõ cuûa LCD + Sô ñoà khoái cuûa LCD Hình 8.3 Sô ñoà khoái cuûa LCD Baûng 8.1 Caùc chaân LCD (pinout) Chaân soá Kyù hieäu Möùc logic Chöùc naêng 1 Vss 0V Mass 2 Vdd 5V Nguoàn cung caáp 3 Vo -- Nguoàn cung caáp cho chöõ 4 RS H/L H: tín hieäu döõ lieäu, L: tín hieäu cho leänh 5 R/W H/L H: cheá ñoä ñoïc, L: cheá ñoä ghi 6 E H, H→L Tín hieäu cho pheùp 7..14 DB0..DB7 H/L Ñöôøng döõ lieäu 15 LED+ 4.2V Cöïc döông ñeøn neàn 16 LED- 0V Cöïc aâm ñeøn neàn + Moät soá ñaëc tính o Hieån thò: 16 x 2 haøng. o Boä ñieàu khieån: KS0066U hoaëc töông ñöông. o Hoã trôï ñeøn neàn, ñeøn chöõ. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 58 o Hoã trôï baûng leänh ñeå laäp trình . o Thôøi gian ñaùp öùng nhanh. + Sô ñoà maïch caáp nguoàn 5V Vôùi maïch naøy khi thay ñoåi bieán trôû, töùc thay ñoåi aùp Vo ta coù theå chænh ñöôïc möùc ñoä töông phaûn cuûa chöõ xuaát treân LCD. Hình 8.4 Sô ñoà noái maïch nguoàn Coøn ñoái vôùi maïch caáp nguoàn cho LED neàn, ta coù theå caáp tröïc tieáp hoaëc duøng moät bieán trôû ñeå coù theå ñieàu chænh saùng toái khi caàn. 8.2 BAÛNG MAÕ LEÄNH ÑEÅ LAÄP TRÌNH LCD 1602A GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy GVHD: TS. NGUYEÃN VAÊN GIAÙP Trang 59 SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Maõ leänh Leänh R S R/W D7 D6 D5 D4 D3 D2 D1 D0 Ghi chuù Tmax vôùi fpc hay fosc=270 KHz Xoùa maøn hình 0 0 0 0 0 0 0 0 0 1 Ghi “20H” vaøo DDRAM vaø ñöa con troû ñòa chæ veà 0h 1.53ms Trôû veà ñaàu doøng 0 0 0 0 0 0 0 0 1 -- Ñöa con troû veà ñaàu doøng vaø con troû ñòa chæ veà 0. Noäi dung hieån thò khoâng maát 1.53ms Choïn cheá ñoä nhaäp 0 0 0 0 0 0 0 1 I/D SH Thieát laäp chieàu chuyeån ñoäng cuûa con troû vaø cho pheùp xuaát dòch toaøn boä; I/D: taêng, I/D: giaûm, SH=1 thöïc hieän cuøng vôùi dòch maøn hình 39µs Ñieàu khieån hieån thò 0 0 0 0 0 0 1 D C B Choïn hieån thò toaøn boä maøn hình (D), hieån thò con troû (C), vaø taét/môû nhaáp nhaùy (B) 39µs Con troû hoaëc hieån thò 0 0 0 0 0 1 S/C R/L -- -- Di chuyeån con troû vaø dòch toaøn boä noäi dung hieån thò LCD maø khoâng laøm thay ñoåi noäi dung. R/L=1: dòch phaûi, R/L=0: dòch traùi, S/C=1: hieån thò dòch, S/C=0: di chuyeån con troû 39µs Thieát laäp kieåu truyeàn DATA 0 0 0 0 1 DL N F -- -- Qui ñònh chieàu daøi döõ lieäu (DL=1: 8bit, DL=0: 4bit), soá haøng hieån thò (N=1: 2doøng, N=0: 1 doøng) vaø font chöõ hieån thò (F=1: 5x10, F=0: 5x7) 39µs SET ñòa 0 0 0 1 AC AC AC AC AC AC Set laïi ñòa chæ CG RAM 39µs Trang 60 SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng chæ CG RAM 5 4 3 2 1 0 SET ñòa chæ DD RAM 0 0 0 AC 6 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 Set laïi ñòa chæ DD RAM 39µs Côø ñoïc baän vaø ñòa chi’ 0 1 BF AC 6 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 Côø BF=1 chæ raèng leänh ñang ñöôïc thöïc hieän beân trong LCD. Noäi dung boä ñeám ñòa chæ cuõng coù theå ñoïc. 0µs Ghi Data vaøo RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 Ghi Data vaøo RAM (DD/CG RAM) 43µs Ñoïc Data töø RAM 1 1 D7 D6 D5 D4 D3 D2 D1 D0 Ñoïc Data töø RAM (DD/CG RAM) 43µs + Ghi chuù - Khi taàn soá thay ñoåi thì thôøi gian thöïc hieän toái ña seõ thay ñoåi theo. Chaúng haïn vôùi fpc hay fosc=250 KHz thì thôøi gian thöïc hieän toái ña laø 39*270/250=42µs - LCD coù hai RAM laø CG vaø DD RAM. DD RAM chöùa noäi dung hieån thò coøn CG RAM laø RAM chöùa kieåu chöõ (font) caàn xuaát. Baûng 8.2 Ñòa chæ cuûa DD RAM Thieát keá, cheá taïo vaø ñieàu khieån tay maùy GVHD: TS. NGUYEÃN VAÊN GIAÙP Soá 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Haøng 1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F Haøng 2 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F o “--“ khoâng quan taâm Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 61 Baûng 8.3 Ñòa chæ cuûa CG RAM GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 62 8.3 SÔ ÑOÀ KHOÁI GIAÛI THUAÄT LAÄP TRÌNH LCD 1602A 8.3.1 Giaûi thuaät laäp trình vôùi 8-bit data A Chôø hôn 39µs Xoùa maøn hình RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 1 Chôø hôn 39µs Ñieàu khieån hieån thò RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 D C B Chôø hôn 39µs Thieát laäp kieåu truyeàn DATA RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 1 N F -- -- Chôø hôn 30ms ñeå Vdd ñaït 4.5V Baät nguoàn GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 63 A Thöïc hieän voøng laëp ñeå xuaát data ra LCD Ñöa döõ lieäu vaøo RAM DD ñeå hieån thò RS R/W 1 0 D7 D6 D5 D4 D3 D2 D1 D0 Choïn cheá ñoä nhaäp RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 1 I/D SH Quaù trình khôûi ñoäng LCD keát thuùc 8.3.2 Giaûi thuaät laäp trình vôùi 4-bit data So vôùi caùch laäp trình 8-bit, thì quaù trình khôûi ñoäng LCD theo sô ñoà laäp trình 4-bit cuõng töông töï, nhöng chæ khaùc ôû choã moãi laàn truyeàn thì chuùng ta chia moät byte döõ lieäu thaønh hai laàn truyeàn lieân tieáp. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 64 Chôø hôn 30ms ñeå Vdd ñaït 4.5V Thieát laäp kieåu truyeàn DATA RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 0 -- -- -- -- Ñieàu khieån hieån thò RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 -- -- -- -- Thieát laäp kieåu truyeàn DATA RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 N F -- -- -- -- -- -- Chôø hôn 39µs B Chôø hôn 39µs Baät nguoàn GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 65 C Chôø hôn 39µs Xoùa maøn hình RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 1 -- -- -- -- Chôø hôn 39µs Chôø hôn 39µs Choïn cheá ñoä nhaäp RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 -- -- -- -- Xoùa maøn hình RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 -- -- -- -- B Chôø hôn 39µs Ñieàu khieån hieån thò RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 D C B -- -- -- -- Chôø hôn 39µs GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 66 C Choïn cheá ñoä nhaäp RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 I/D SH -- -- -- -- Ñöa döõ lieäu vaøo RAM DD ñeå hieån thò RS R/W 1 0 D7 D6 D5 D4 -- -- -- -- Ñöa döõ lieäu vaøo RAM DD ñeå hieån thò RS R/W 1 0 D3 D2 D1 D0 -- -- -- -- Chôø hôn 43µs Thöïc hieän voøng laëp ñeå xuaát data ra LCD Quaù trình khôûi ñoäng LCD keát thuùc 8.4 KEÁT LUAÄN Nhö vaäy ta ñaõ trình baøy nguyeân lyù hoaït ñoäng cuõng nhö nguyeân taéc laäp trình hieån thò LCD. Döõ lieäu hieän thò LCD ñöôïc xöû lyù tröïc tieáp treân chip AT89C2051 hoaëc qua giao tieáp döõ lieäu noái tieáp. Chöông sau chuùng ta seõ tìm hieåu roõ hôn veà vieäc giao tieáp ñieàu khieån noái tieáp. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 67 9 ÑIEÀU KHIEÅN BAÈNG COÅNG NOÁI TIEÁP 9.1 GIÔÙI THIEÄU Gheùp noái duøng qua coång noái tieáp laø moät trong nhöõng kyõ thuaät ñöôïc duøng roäng raõi nhaát ñeå gheùp noái, giao tieáp giöõa caùc thieát bò vôùi nhau. Qua coång noái tieáp coù theå gheùp noái chuoät, modem, maùy in, boä bieán ñoåi A/D, caùc thieát bò ño löôøng hoaëc ñeå giao tieáp giöõa caùc chip, … Caùch gheùp noái naøy söû duïng phöông phaùp truyeàn thoâng theo kieåu noái tieáp, trong ñoù ôû moät thôøi ñieåm chæ coù 1 bit ñöôïc göûi ñi/nhaän veà treân moät ñöôøng daãn. Ñaëc ñieåm naøy khaùc so vôùi phöông phaùp truyeàn thoâng theo kieåu song song, trong ñoù nhieàu bit ñöôïc göûi ñi ñoàng thôøi. Öu ñieåm chính cuûa kieåu truyeàn noái tieáp so vôùi kieåu truyeàn song song laø tieát kieäm daây daãn, truyeàn ñi ñöôïc xa, khaû naêng choáng nhieãu toát hôn. Nhöng laïi coù khuyeát ñieåm laø toác ñoä truyeàn chaäm hôn. Luaän vaên naøy duøng truyeàn thoâng noái tieáp ñeå giao tieáp giöõa maùy PC vôùi boä phaùt hoàng ngoaïi, vaø duøng ñeå giao tieáp giöõa AT89C2051 vaø AT90S2313 ñeå ñieàu khieån ñoäng cô. Chöông naøy seõ trình baøy veà caùch thieát laäp vaø phöông phaùp ñieàu khieån coång noái tieáp. 9.2 GIAO TIEÁP VÔÙI MAÙY VI TÍNH Maùy tính ñöôïc giao tieáp vôùi vi xöû lyù AT89C2051 baèng chuaån RS-232. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 68 9.2.1 Chuaån giao tieáp RS-232 9.2.1.1 Caùc yeâu kyõ thuaät cuûa chuaån RS-232 Caùc yeâu caàu veà ñieän ñöôïc qui ñònh trong RS- 232C nhö sau: + Möùc logic 1: naèm trong khoaûng -3V÷ -12V. + Möùc logic 0: naèm trong khoaûng +3V ÷ +12V. + Trôû khaùng taûi veà phía boä nhaän cuûa maïch phaûi lôùn hôn 3000(Ω) vaø phaûi nhoû hôn 7000(Ω). + Toác ñoä truyeàn / nhaän döõ lieäu cöïc ñaïi laø 100 Kbit/giaây. + Caùc loái vaøo cuûa boä nhaän phaûi coù ñieän dung nhoû hôn 2,500 pF. + Ñoä daøi cuûa caùp noái giöõa maùy tính vaø thieát bò gheùp noái qua coång noái tieáp khoâng ñöôïc vöôït quaù 15m neáu khoâng söû duïng modem. + Caùc giaù trò toác ñoä truyeàn döõ lieäu chuaån laø : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800,…,56600, 115200 BAUD. 9.2.1.2 Sô ñoà chaân ra treân PC Haàu heát caùc maùy tính caù nhaân ñöôïc cheá taïo gaàn ñaây ñeàu coù hai coång noái tieáp RS-232, ñoâi khi coù 3-4 coång. Coång ñaàu tieân coù teân laø COM1 tieáp theo laø COM2, COM3, COM4. Coù hai kieåu ñaàu noái ñöôïc söû duïng cho coång noái tieáp RS-232 laø loaïi 25 chaân vaø 9 chaân. P2 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 P1 5 9 4 8 3 7 2 6 1 RI GND GND TXD CTS DTR DCD RI RTS DTR RTS RXD RXD DCD DSR DSR CTS TXD Hình 9.1 Sô ñoà chaân cuûa DB9 vaø DB25 cuûa RS-232 Ñoái vôùi ñaàu noái 25 chaân, trong moät soá tröôøng hôïp coù söû duïng chaân soá 1 ñeå noái vôùi voû kim loaïi cuûa caùp truyeàn ñeå haïn cheá nhieãu, thoâng thöôøng thì caùp truyeàn chæ boïc nhöïa. Khi ñoù chaân 1 seõ ñöôïc noái vôùi ñaát mass cuûa thieát bò, chaân naøy khaùc vôùi chaân soá 7 laø chaân mass cuûa tín hieäu. Tieâu chuaån RS- 232C qui ñònh roõ vieäc söû duïng ñaàu noái thoáng nhaát ñeå taát caû caùc saûn phaåm ñeàu töông thích vôùi nhau. Cho neân thöù töï vaø chöùc naêng cuûa caùc chaân ñaõ ñöôïc qui ñònh raát cuï theå vaø phaûi tuaân thuû moät caùch nghieâm ngaët. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 69 Baûng döôùi ñaây chæ ra taát caû caùc ñöôøng daãn ñöôïc noái vôùi caùc chaân treân DB9 vaø DB25. Baûng 9.1 Caùc chaân vaø chöùc naêng DB25 DB9 Teân goïi Vaøo/ra Chöùc naêng 1 - FG Frame ground (ñaát voû maùy) - Chaân naøy thöôøng ñöôïc noái vôùi voû boïc kim cuûa daây caùp, vôùi voû maùy, vôùi ñai bao ngoaøi hoaëc ñaát thaät söï 2 3 TxD Transmit data ⇐ Truyeàn döõ lieäu 3 2 RxD Receive Data ⇒ Nhaän döõ lieäu 4 7 RTS Request to send ⇐ Yeâu caàu göûi; boä truyeàn ñaët ñöôøng naøy leân möùc hoaït ñoäng khi saün saøng truyeàn döõ lieäu. 5 8 CTS Clear to send ⇒ Xoùa ñeå göûi; boä nhaän ñaët ñöôøng naøy leân möùc hoaït ñoäng ñeå thoâng baùo cho boä truyeàn laø noù saün saøng nhaän döõ lieäu. 6 6 DSR Data set ready ⇒ Döõ lieäu saün saøng; tính hoaït ñoäng gioáng nhö CTS, nhöng ñöôïc kích hoaït bôûi boä truyeàn khi noù saün saøng nhaän döõ lieäu. 7 5 SG Signal ground - Mass cuûa tín hieäu 8 1 DCD Data carrier detect ⇒ Phaùt hieän tín hieäu mang döõ lieäu 20 4 DTR Data terminal ready ⇐ Ñaàu cuoái döõ lieäu saün saøng; tính hoaït ñoäng gioáng vôùi RTS nhöng ñöôïc kích hoaït bôûi boä nhaän khi muoán truyeàn döõ lieäu. 22 9 RI Ring Indicate ⇒ Baùo chuoâng, cho bieát laø boä nhaän ñang nhaän tín hieäu rung chuoâng + Ghi chuù: ⇒ loái vaøo; ⇐ loái ra. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 70 9.2.2 Caùc thanh ghi vaø ñòa chæ Chuùng ta caàn phaûi thieát laäp caùc thoâng soá cho coång noái tieáp tröôùc khi muoán söû duïng noù. Nhöõng thieát laäp naøy ñöôïc thöïc hieän trong vuøng BIOS cuûa maùy tính vaø tuøy vaøo coång noái tieáp söû duïng maø ta duøng caùc ñòa chæ cô sôû töông öùng. Caùc ñòa chæ cô sôû naøy ñöôïc cho trong baûng döôùi. Baûng 9.2 Ñòa chæ caùc coång COM COM 1 COM 2 COM 3 COM 4 HEX 3F8 2F8 3E8 2E8 DEC 1016 760 1000 744 UART coù toång coäng laø 12 thanh ghi, qua ñoù taát caû caùc chöùc naêng nhaäp vaøo vaø xuaát ra noái tieáp coù theå ñöôïc ñieàu khieån. Caùc thanh ghi ñöôïc trao ñoåi qua 7 ñòa chæ, trong ñoù coù nhöõng ñòa chæ ñöôïc saép xeáp 2 laàn. Baûng sau ñaây giôùi thieäu taát caû caùc thanh ghi. Nhöng trong luaän vaên naøy chuùng ta chæ söû duïng moät soá thanh ghi trong soá naøy. Baûng 9.3 Ñòa chæ offset caùc thanh ghi Offset DLAB Ñoïc/Ghi Kyù hieäu Teân =0 Ghi - Thanh ghi ñeäm truyeàn =0 Ñoïc - Thanh ghi ñeäm nhaän +0 =1 Ñoïc/Ghi - Thanh ghi toác ñoä BAUD (byte thaáp) =0 Ñoïc/Ghi IER Thanh ghi cho pheùp ngaét +1 =1 Ñoïc/Ghi - Thanh ghi toác ñoä BAUD (byte cao) +2 - Ñoïc IIR Thanh ghi nhaän daïng ngaét - Ghi FCR Thanh ghi ñieàu khieån FIFO +3 - Ñoïc/Ghi LCR Thanh ghi ñieàu khieån ñöôøng daãn +4 - Ñoïc/Ghi MCR Thanh ghi ñieàu khieån MODEM +5 - Ñoïc LSR Thanh ghi traïng thaùi ñöôøng daãn +6 - Ñoïc MSR Thanh ghi traïng thaùi MODEM +7 - Ñoïc/Ghi - Thanh ghi Scratch Vieäc truy nhaäp tröïc tieáp leân thanh ghi dieãn ra qua ñòa chæ thanh ghi, ñöôïc tính baèng caùch laáy toång cuûa ñòa chæ cô sôû cuûa giao dieän vaø ñoä leäch Offset cuûa thanh ghi trong UART, cuï theå laø: Ñòa chæ cô sôû + Offset = Ñòa chæ thanh ghi Nhö ñaõ noùi ôû treân, chuùng ta chæ söû duïng moät soá thanh ghi vaø seõ ñöôïc trình baøy sau ñaây. 9.2.2.1 Thanh ghi cho pheùp ngaét (IER) GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 71 Baûng 9.4 Chöùc naêng töøng bit cuûa thanh ghi IER Bit Chöùc naêng 7 - 6 - 5 Cho pheùp cheá ñoä nguoàn giaûm 4 Cho pheùp cheá ñoä nghæ 3 Cho pheùp ngaét modem 2 Cho pheùp ngaét nhaän 1 Cho pheùp ngaét truyeàn 0 Cho pheùp nhaän döõ lieäu khi coù ngaét Vì ta khoâng duøng ngaét noái tieáp neân chuùng ta ghi giaù trò 0 vaøo thanh ghi naøy. 9.2.2.2 Thanh ghi ñieàu khieån ñöôøng daãn (LCR) Thanh ghi naøy ñöôïc duøng hai laàn ñeå thieát laäp thoâng soá truyeàn cuûa coång. Vieäc naøy ñöôïc kieåm soaùt baèng bit DLAB. Thanh ghi naøy ñöôïc moâ taû nhö sau. Baûng 9.5 Chöùc naêng töøng bit cuûa thanh ghi LCR Bit 7 1 DLAB 0 Truy xuaát ñeán caùc boä ñeäm vaø caùc thanh ghi cho pheùp ngaét Bit 6 Cho pheùp Break Bit 3,4 vaø 5 Bit 5 Bit 4 Bit 3 Choïn Parity X X 0 No Parity 0 0 1 Parity leû 0 1 1 Parity chaún 1 0 1 Parity cao 1 1 1 Parity thaáp Bit 2 Ñoä daøi cuûa stop-bit 0 1 stop-bit 1 2 stop bit ñoái vôùi khung truyeàn 6,7,8 bit hay1,5 stop bit vôùi khung truyeàn 5 bit Bit 1 Bit 0 Khung döø lieäu 0 0 5 bit 0 1 6 bit 1 0 7 bit Bit 0 vaø bit 1 1 1 8 bit GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 72 Sau khi coù caùc hieåu bieát veà chuaån RS-232 vaø coång noái tieáp cuûa maùy PC, phaàn tieáp theo seõ trình baøy phöông thöùc thieát laäp giao tieáp giöõa maùy PC vaø chip AT89C2051. 9.2.3 Giao tieáp giöõa PC vôùi AT89C2051 9.2.3.1 Khung truyeàn döõ lieäu Baûng döôùi chæ ra khung truyeàn moät byte döõ lieäu maø chuùng ta duøng ñeå giao tieáp giöõa maùy tính vaø chip AT89C2051. Baûng 9.6 Khung truyeàn döõ lieäu Khung truyeàn döõ lieäu 19200 BAUD 1 stop bit No parity 8 bytes 9.2.3.2 Sô ñoà MAÏCH noái AT89C2051 vôùi RS232 Chuùng ta söû duïng moät IC MAX 232 ñeå gheùp möùc ñieän aùp. Chöông trình ñieàu khieån ñôn giaûn coù theå ñöôïc vieát moät caùch deã daøng khi naém vöõng hoaït ñoäng cuûa boä vi xöû lyù AT89C2051. 1uF 1uF 10k 1uF AT89C2051 1 5 4 12 13 14 15 16 17 18 19 2 3 6 7 8 9 11 RST/VPP XTAL1 XTAL2 P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.7 33p 33p 0 11.059M 1uF COM PC 0 VCC 10uF MAX232/SO 1 3 4 5 2 6 9 10 8 7 C1+ C1- C2+ C2- V+ V- R2OUT T2IN R2IN T2OUT 0 1 2 3 0 Hình 9.2 Gheùp noái tieáp AT89C2051 vôùi PC qua MAX2 Döõ lieäu ñöôïc maùy tính truyeàn qua coång COM laàn löôït theo ñònh daïng sau: o Byte thöù nhaát + soá 13 - quy ñònh soá thöù töï ñoäng cô. o Byte thöù hai + soá 13 – quy ñònh vò trí cuûa ñoäng cô ñoù. o 255 - byte ñoàng boä hoùa. Chaúng haïn ví duï neáu chuùng ta muoán ñieàu khieån ñoäng cô thöù 3 ñeán vò trí goùc 500 (moãi ñoäng cô coù 560 vò trí goùc) thì ta phaûi truyeàn ñi laø: soá 3 + 13 + 500 + 13 + 255 + 13. Do moãi laàn giao tieáp noái tieáp ta chæ coù theå göûi ñöôïc moät byte. Trong khi döõ lieäu truyeàn caàn ñeå xaùc ñònh vò trí cuûa ñoäng cô phaûi laø word (2 byte). Do vaäy vieäc göûi ñi kyù töï coù maõ ASCII 13 coù yù nghóa nhö laø moät “stop byte”. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 73 Byte “255”: ñöôïc göûi nhaèm ñoàng boä hoùa caùc döõ lieäu ñaõ göûi ñi. Khi nhaän ñöôïc byte naøy thì chip AT90S2313 môùi göûi caùc vò trí môùi tôùi caùc ñoäng cô, coøn khoâng thì caùc vò trí môùi naøy vaãn ñöôïc löu trong boä nhôù cuûa chip AT90S2313. 9.3 GIAO TIEÁP NOÁI TIEÁP GIÖÕA AT89C2051 VAØ AT90S2313 AT89C2051 vaø AT90S2313 gheùp noái tieáp vôùi nhau baèng 2 chaân RxD vaø TxD ñöôïc noái cheùo vôùi nhau. Möùc ñieän aùp treân ñöôøng truyeàn laø möùc TTL. Tröôùc khi giao tieáp noái tieáp giöõa hai chip, chuùng ta caàn phaûi thieát laäp toác ñoä BAUD gioáng nhau ôû hai chip. Trong luaän vaên naøy, chuùng ta duøng toác ñoä BAUD laø 9600 cho vieäc truyeàn döõ lieäu giöõa hai chip. Do chip AT90S2313 vöøa thöïc hieän vieäc ñieàu khieån ñoäng cô vöøa nhaän döõ lieäu noái tieáp, neân ñeå baûo ñaûm döõ lieäu khoâng bò maát, chuùng ta söû duïng theâm moät chaân laøm côø baét tay trong vieäc truyeàn nhaän giöõa hai chip. Döõ lieäu ñöôïc truyeàn moät chieàu töø AT89C2051 ñeán AT90S2313. 9.3.1 Thieát laäp toác ñoä BAUD 4800 9.3.1.1 Thieát laäp toác ñoä BAUD cho AT89C2051 MOV SCON,#52H ; Port noái tieáp cheá ñoä 1. MOV TCON,#20H ; Boä ñònh thôøi 1, cheá ñoä 2. MOV TH1,#-6 ; Giaù trò naïp ñeå coù toác ñoä BAUD laø 4800. SETB TR1 ; Boä ñònh thôøi 1 hoaït ñoäng. 9.3.1.2 Thieát laäp toác ñoä BAUD cho AT90S2313 EQU BAUDR=143 EQU MYVAL =129 LDI UCR,MYVAL ;Naïp giaù trò vaøo thanh ghi cho pheùp söû duïng RxD, TxD. LDI UBBR,BAUDR ;Naïp giaù trò ñeå ñònh toác ñoä BAUD laø 4800. 9.3.2 Chöông trình truyeàn (AT89C2051) vaø nhaän (AT90S2313) döõ lieäu 9.3.2.1 Chöông trình con truyeàn döõ lieäu vieát cho AT89C2051 Transmit: JNB TI,$ CLR TI JB BUSY,$ ; Busy laø chaân baét tay phaàn cöùng. MOV SBUF,{byte cao cuûa data} JNB TI,$ CLR TI JB BUSY,$ GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 74 MOV SBUF,{byte thaáp cuûa data} JNB TI,$ CLR TI JB BUSY,$ MOV SBUF,#13 RET Côø Busy seõ ñöôïc set leân 1 trong AT90S2313 moãi khi chip naøy vaøo chöông trình phuïc vuï ngaét ñeå ñieàu khieån ñoäng cô. 9.3.2.2 Chöông trình con nhaän döõ lieäu vieát cho AT90S2313 Receive: L2: Charin = 0 Again: Portb = &B11000000 SBIS USR,7 ; Chôø cho RXEN ñöôïc set RJMP Again Portb = &B11110000 IN R17,UDR ; Ghi buffer vaøo thanh ghi R17 CPI R17,13 : So saùnh vôùi soá 13 BREQ Thoat STS {temp},R17 ; Chuyeån noäi dung R17 vaøo bieán temp. Shift Charin , Left , 8 Charin = Charin + Temp RJMP Again Thoat: Ret 9.4 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ tìm hieåu khaù roõ veà vieäc söû duïng coång noái tieáp ñeå giao tieáp vaø ñieàu khieån; vaø vôùi caùc taäp leänh cuûa caùc hoï vi xöû lyù ñaõ bieát chuùng ta coù theå deã daøng vieát moät chöông trình con xöû lyù döõ lieäu theo khung truyeàn mong muoán. Chöông tieáp chuùng ta seõ nghieân cöùu moät caùch truyeàn döõ lieäu khaùc cuõng khaù phoå bieán hieän nay, ñoù laø vieäc truyeàn nhaän döõ lieäu khoâng daây baèng soùng hoàng ngoaïi. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 75 10 TRUYEÀN NHAÄN DÖÕ LIEÄU BAÈNG HOÀNG NGOAÏI 10.1 GIÔÙI THIEÄU VEÀ HOÀNG NGOAÏI (IR) 10.1.1 Ñònh nghóa Hoàng ngoaïi laø aùnh saùng khoâng nhìn thaáy ñöôïc coù böôùc soùng daøi, böôùc soùng töø 750 nanometer tôùi 0.1 milimeter. 10.1.2 Öu vaø nhöôïc ñieåm • Öu ñieåm - Tieâu toán coâng suaát thaáp neân thöôøng ñöôïc duøng trong maùy vi tính… - Maïch thu, phaùt hoàng ngoaïi deã cheá taïo, khoâng ñoøi hoûi cao veà phaàn cöùng do ñoù giaù thaønh thaáp. - Vaán ñeà ño ñaït, kieåm tra tín hieäu deã daøng hôn so vôùi soùng FM. - Truyeàn döõ lieäu baèng hoàng ngoaïi coù tính baûo maät, an toaøn cao vì noù chæ coù theå truyeàn trong phoøng kín, döõ lieäu khoâng bò “roø” ra ngoaøi. Do vaäy noù thöôøng ñöôïc duøng trong caùc hoäi nghò… - Tín hieäu hoàng ngoaïi khoâng bò gaây nhieãu bôûi soùng FM,… - Tín hieäu hoàng ngoaïi coù daõy baêng taàn roäng. - Truyeàn döõ lieäu khoâng caàn daây, tieän lôïi. • Nhöôïc ñieåm - Do hoàng ngoaïi laø aùnh saùng neân noù mang caùc baûn chaát cuûa soùng aùnh saùng nhö: truyeàn thaúng, phaûn xaï, khuùc xaï… neân boä nhaän tín hieäu hoàng ngoaïi phaûi ñaët thaúng vôùi boä truyeàn tín hieäu hoàng ngoaïi, hoaëc GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 76 boä truyeàn vaø boä phaùt phaûi ñöôïc ñaët trong moâi tröôøng coù khaû naêng phaûn xaï ñöôïc (nhö trong phoøng…). - Khoâng gioáng nhö truyeàn baèng soùng radio(FM…), boä nhaän cuõng nhö boä truyeàn khoâng ñöôïc ñeå bò che phuû hoaëc ñaët trong hoäp kín (ñuïc). - Coù theå bò gaây nhieãu bôûi caùc thieát bò coù khaû naêng phaùt ra caùc soùng hoàng ngoaïi khaùc nhö ñeøn huyønh quang… - Khoaûng khoâng gian truyeàn caøng lôùn thì coâng suaát truyeàn cuõng phaûi taêng theo → laøm taêng giaù thaønh boä phaùt. - Hoàng ngoaïi khoâng theå truyeàn xuyeân töôøng vaø bò che bôûi caùc vaät raén, khoaûng caùch truyeàn ngaén. - Toác ñoä truyeàn thaáp hôn so vôùi truyeàn coù daây. 10.2 TRUYEÀN TÍN HIEÄU HOÀNG NGOAÏI 10.2.1 Giôùi thieäu Ñaây laø phöông thöùc truyeàn döõ lieäu khoâng daây. Phöông thöùc naøy söû duïng naêng löôïng böùc xaï ñieän töø ñeå truyeàn döõ lieäu trong khoâng gian. Moät trong nhöõng nguoàn naêng löôïng böùc xaï ñieän töø maø ta thöôøng thaáy ñoù laø maët trôøi, ñeøn, TV, … So vôùi soùng radio thì soùng aùnh saùng hoàng ngoaïi coù böôùc soùng ngaén neân taàn soá cao hôn so vôùi soùng radio. 10.2.2 Nguyeân lyù truyeàn döõ lieäu baèng hoàng ngoaïi Döïa treân taàn soá thu toát nhaát cuûa maét thu (B.P.F) maø ta phaùt döõ lieäu treân taàn soá ñoù, goïi laø taàn soá mang. Taàn soá mang 38,4 KHz Hình10.1 Taàn soá soùng mang cuûa boä phaùt Vaø tuøy theo chuaån ñaõ quy ñònh tröôùc maø möùc logic 1 coù theå laø “khoâng phaùt” hay “phaùt” (led hoàng ngoaïi seõ nhaáp nhaùy theo taàn soá mang). GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 77 10.2.3 Khung truyeàn döõ lieäu 10.2.3.1 Khung truyeàn 1 byte döõ lieäu Döõ lieäu ñöôïc truyeàn töø coång noái tieáp RS-232 (PC) xuoáng AT89C2051, döõ lieäu naøy ñöôïc chip giaûi maõ vaø truyeàn ñi laàn löôït töøng byte. Header 10 bit döõ lieäu Buø 1 cuûa 10 bit döõ lieäu Stop bit 10.2.3.2 Thôøi gian cuûa khung truyeàn 2211us 1084us 1084us 1084us Header Data Stop bit 1084us Hình 10.2 Thôøi gian cuûa khung truyeàn 10.2.4 Taïo taàn soá mang baèng AT89C2051 Do moãi moät chu kyø maùy (CKM) cuûa AT89C2051 coù thôøi gian baèng 12/fCrystal. Trong luaän vaên naøy, chuùng ta söû duïng thaïch anh coù taàn soá laø 22,1184 MHz. Suy ra: s54.0 1184,22 12t CKM µ== Sau ñaây laø chöông trình con taïo taàn soá mang 38,4 KHz vôùi ñoä daøi cuõa moät bit döõ lieäu laø 2004 CKM. Pulse: MOV R4,#83 L5: CPL P1.7 MOV R5,#10 DJNZ R5,$ GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 78 DJNZ R4,L5 CLR P1.7 NOP NOP NOP NOP NOP NOP RET Space: MOV R4,#4 L4: MOV R5,#248 DJNZ R5,*+0 DJNZ R4,L4 NOP NOP NOP RET 10.2.5 Sô ñoà nguyeân lyù maïch phaùt Xem phaàn phuï luïc trang1. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 79 10.2.6 Sô ñoà khoái cuûa truyeàn moät byte döõ lieäu (10 bit) Ñuùng Sai For i=0 to 9 If Data.i = then Call Space Else Call Pulse End if Next If Flag = 0 then Stop bit Data = 1024 – data Flag = 1 Flag =0 Truyeà

Các file đính kèm theo tài liệu này:

  • pdfNOIDUNG.pdf
Tài liệu liên quan