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...
115 trang |
Chia sẻ: hunglv | Lượt xem: 1202 | Lượt tải: 0
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:
- NOIDUNG.pdf