Tải bản đầy đủ (.pdf) (73 trang)

Thiết kế và thi công hệ thống điều khiển cánh tay robot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.95 MB, 73 trang )

NỘI DUNG ĐỒ ÁN

Đề tài “Thiết kế và thi công hệ thống điều khiển cánh tay robot” gồm những nội
dung chính sau:
- Tìm hiểu về ngôn ngữ lập trình C cho Arduino, phần mềm Arduino IDE.
- Tìm hiểu về cánh tay người để từ đó xác định số bậc tự do cho robot arm.
- Tìm hiểu về động cơ Servo MG996, Arduino Uno R3, module Bluetooth HC05.
- Tìm hiểu về hệ điều hành Android, sử dụng trang ai2.appinventor.mit.edu của Google
do MIT phát triển.
- Xây dựng ứng dụng điều khiển 6 Servo trên hệ điều hành Android bằng App
Inventor của MIT.
- Thiết kế và thi công hệ thống điều khiển cánh tay Robot 6 bậc tự do bằng
Smartphone qua Bluetooth.

1


LỜI CẢM ƠN

Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo
trong trường Đại học Công nghệ Thông tin và Truyền thông và các thầy cô giáo trong
Bộ môn Công nghệ Điện tử, Khoa Công nghệ Điện tử và Truyền thông đã tận tình
giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời
gian qua. Đặc biệt em xin gửi lời cảm ơn đến thầy giáo Thạc sĩ Nguyễn Thanh Tùng
đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm báo cáo
tốt nghiệp. Trong thời gian làm việc với thầy em không ngừng tiếp thu thêm nhiều
kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học
nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học và
công tác sau này.
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng
góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành báo cáo Đồ


án tốt nghiệp.
Thái nguyên, Tháng 06 Năm 2016
SINH VIÊN THỰC HIỆN

Hoàng Văn Bắc

2


LỜI CAM ĐOAN

Tôi xin cam đoan: Những nội dung trong đồ án này là do tôi thực hiện dưới sự
hướng dẫn của thầy giáo Thạc sĩ Nguyễn Thanh Tùng và nghiên cứu trên Internet,
sách báo, các tài liệu trong và ngoài nước có liên quan, không sao chép hay sử dụng
bài làm của bất kỳ ai khác. Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ
ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. Tôi xin chịu hoàn toàn
trách nhiệm về lời cam đoan của mình trước Quý thầy cô và nhà trường.
Thái nguyên, Tháng 06 Năm 2016
SINH VIÊN THỰC HIỆN

Hoàng Văn Bắc

3


MỤC LỤC

NỘI DUNG ĐỒ ÁN ....................................................................................................1
LỜI CẢM ƠN .............................................................................................................2
LỜI CAM ĐOAN........................................................................................................3

MỤC LỤC...................................................................................................................4
DANH MỤC HÌNH ẢNH ...........................................................................................6
LỜI NÓI ĐẦU.............................................................................................................8
CHƯƠNG 1. TỔNG QUAN........................................................................................9
1.1. Tình hình nghiên cứu thuộc lĩnh vực đề tài trong nước và ngoài nước ...............9
1.1.1. Giới thiệu chung về cánh tay người .............................................................9
1.1.2. Tình hình phát triển của Robot trên thế giới...............................................10
1.2. Tính cấp thiết của đề tài...................................................................................14
1.3. Phạm vi nghiên cứu .........................................................................................14
1.4. Mục tiêu của đề tài ..........................................................................................14
CHƯƠNG 2. PHÂN TÍCH BÀI TOÁN.....................................................................15
2.1. Yêu cầu bài toán ..............................................................................................15
2.2. Giải pháp thiết kế.............................................................................................15
2.2.1. Sơ đồ khối .................................................................................................15
2.2.2. Phân tích chức năng các khối.....................................................................15
2.2.3. Nguyên lý hoạt động toàn hệ thốn .............................................................15
2.3. Lựa chọn linh kiện...........................................................................................16
2.3.1. Lựa chọn linh kiện cho Khối Module Bluetooth ........................................16
2.3.2. Lựa chọn linh kiện cho Khối Xử Lý Tín Hiệu ...........................................18
2.3.3. Lựa chọn linh kiện cho Khối Động Lực.....................................................22
CHƯƠNG 3. NGÔN NGỮ LẬP TRÌNH VÀ PHẦN MỀM PHỤ TRỢ .....................31
3.1. Giới thiệu môi trường lập trình ........................................................................31
3.2. Khởi tạo một dự án ..........................................................................................32
3.3. Cấu trúc của một chương trình lập trình Arduino.............................................33
3.4. Một số ví dụ lập trình các ứng dụng.................................................................34
3.5. Giới thiệu chung về hệ điều hành Android.......................................................36
3.5.1. Lịch sử ......................................................................................................37
4



3.5.2. Giao diện...................................................................................................38
3.5.3. Ứng dụng ..................................................................................................39
3.5.4. Phát triển ...................................................................................................40
3.5.5. Linux.........................................................................................................41
3.5.6. Quản lý bộ nhớ ..........................................................................................42
3.5.7. Lịch cập nhật.............................................................................................43
3.5.8. Cộng đồng mã nguồn mở...........................................................................44
3.5.9. Bảo mật và tính riêng tư ............................................................................45
3.5.10. Giấy phép phát hành ................................................................................46
3.5.11. Sự đón nhận.............................................................................................47
3.5.12. Máy tính bảng .........................................................................................48
3.5.13. Thị phần và tỷ lệ sử dụng.........................................................................49
3.5.14. Tỷ lệ sử dụng các phiên bản Android.......................................................50
3.5.15. Tình trạng ăn cắp bản quyền ứng dụng ....................................................50
3.5.16. Bản quyền và bằng phát minh..................................................................51
3.5.17. Các thiết bị khác ......................................................................................52
3.6. Phần mềm Fritzing ..........................................................................................52
CHƯƠNG 4. THIẾT KẾ VÀ THI CÔNG .................................................................56
4.1. Thiết kế phần cứng ..........................................................................................56
4.1.1. Các bộ phận cơ khí của cánh tay................................................................56
4.1.2. Sơ đồ nguyên lý điều khiển .......................................................................60
4.2 Thiết kế phần mềm ...........................................................................................61
4.2.1. Lưu đồ thuật toán ......................................................................................61
4.2.2. Tạo ứng dụng điều khiển trên điện thoại Android bằng App Inventor........62
TÀI LIỆU THAM KHẢO .........................................................................................69
PHỤ LỤC..................................................................................................................70

5



DANH MỤC HÌNH ẢNH
Hình 1.1. Tấm dịch chuyển Gough ............................................................................10
Hình 1.2. Sơ đồ của Robot Delta và ứng dụng đóng gói thực phẩm ...........................11
Hình 1.3. Robot ứng dụng trong y học .......................................................................11
Hình 1.4. Robot CRIGOS dùng để phẫu thuật tái tạo xương ......................................12
Hình 1.5. Robot leo cột của phòng thí nghiệm PCR ...................................................12
Hình 1.6. Thiết bị thực tế tại Viện Cơ học..................................................................13
Hình 2.1. Sơ đồ khối hệ thống ...................................................................................15
Hình 2.2. Module Bluetooth HC-05. ..........................................................................16
Hình 2.3. Board cơ bản của Arduino Uno. .................................................................19
Hình 2.4. Sơ đồ chân Arduino Uno. ...........................................................................20
Hình 2.5. Hình ảnh thực tế của servo .........................................................................23
Hình 2.6. Cấu tạo của servo .......................................................................................24
Hình 3.1. Link download phần mềm Arduino. ...........................................................31
Hình 3.2. Cài đặt Arduino IDE ..................................................................................31
Hình 3.3. Giao diện lập trình Arduino........................................................................32
Hình 3.4. Chức năng các Menu chính ........................................................................32
Hình 3.5. Mở ứng dụng mẫu trong Arduino. ..............................................................33
Hình 3.6. Ví dụ điều khiển led. ..................................................................................34
Hình 3.7. Kết quả thu được trên màn hình Serial .......................................................35
Hình 3.8. ICON chợ ứng dụng Android CH Play.......................................................40
Hình 3.9. Giao diện thiết kế mạch trên Breadboard....................................................53
Hình 3.10. Giao diện chỉnh sửa các thông số .............................................................54
Hình 3.11. Giao diện sơ đồ mạch nguyên lý trên Schemati ........................................55
Hình 3.12. Giao diện sơ đồ mạch in trên PCB............................................................55
Hình 4.1. Bản vẽ chi tiết gá servo rc ..........................................................................56
Hình 4.2. Gá servo RC thực tế ...................................................................................56
Hình 4.3. Bản vẽ chi tiết của gá chữ U dài .................................................................57
Hình 4.4. Gá chữ U dài ngoài thực tế.........................................................................57
Hình 4.5. Tay kẹp của cánh tay robot.........................................................................58

Hình 4.6. Tay kẹp được ghép nối với động cơ servo ..................................................58
Hình 4.7. Bản vẽ chi tiết của servo rc MG996............................................................59
6


Hình 4.8. Động cơ servo MG996 ...............................................................................59
Hình 4.9. Sơ đồ mạch nguyên lý ................................................................................60
Hình 4.10. Lưu đồ thuật toán .....................................................................................61
Hình 4.11. Đăng nhập tài khoản Google ....................................................................64
Hình 4.12. Giao diện hiển thị các project ...................................................................64
Hình 4.13. Giao diện tạo một ứng dụng mới ..............................................................64
Hình 4.14. Giao diện thiết kế của App Inventor .........................................................65
Hình 4.15. Giao diện điều khiển trên màn hình ..........................................................65
Hình 4.16. Giao diện thẻ Block..................................................................................66
Hình 4.17. Xuất file .apk............................................................................................66
Hình 4.18. Giao diện điều khiển trên điện thoại Android ...........................................67
Hình 4.19. Hình ảnh sản phẩm thực tế .......................................................................67

7


LỜI NÓI ĐẦU

Ngày nay, khoa học kỹ thuật phát triển như vũ bão. Nhiều thành tựu khoa học kỹ
thuật đã và đang được ứng dụng vào thực tiễn và đem lại những lợi ích to lớn, tạo ra
những bấc ngoặt cho sự phát triển của xã hội. Từ khi ra đời, robot đã phát triển mạnh
mẽ và đã gớp phần đáng kể làm thay đổi bộ mặt nền sản xuất – xã hội.
Trong ứng dụng công nghiệp, từ những tay máy điều khiển từ xa cho ngành hóa
phóng xạ ban đầu, ngày nay robot đã được sử dụng rộng khắp trong các lĩnh vực gia
công, lắp ráp của nhiều ngành sản xuất như năng lượng, ô tô, máy bay, sản phẩm điện

– điện tử...
Trong nền sản xuất hiện đại, chúng ta không thể phủ nhận vai trò quan trọng của
các robot công nghiệp trong các hệ thống sản xuất tự động. Robot công nghiệp giúp
nâng cao năng xuất và chất lượng sản phẩm, giải phóng con người khỏi những công
việc nguy hiểm hay những công việc nhàm chán trong quá trình sản xuất. Trong hệ
thống sản xuất tự động, một robot công nghiệp có thể thực hiện các công việc như: vận
chuyển sản phẩm, sơn, quét, lau chùi...
Trong lĩnh vực giáo dục, nghiên cứu về robot đang được đẩy mạnh thực hiện ở rất
nhiều trường đại học trên thế giới, ở nước ta hầu hết các trường kỹ thuật cũng đều
được trang bị môn học robot công nghiệp tuy nhiên việc nắm bắt của sinh viên còn
nhiều hạn chết do thiếu kỹ năng thực hành, vận dụng lý thuyết vào thực tế nên lĩnh vực
robot của nước ta chưa phát triển. Trong nước mới có rất ít công ty phát triển về lĩnh
vực này. Do đó robot là lĩnh vực rất cần được nghiên cứu và phát triển hơn nữa để ứng
dụng nhanh vào đời sống kinh tế - xã hội của đất nước.
Sau thời gian học tập và nghiên cứu cùng với sự nỗ lực, em đã hoàn thành nhiệm
vụ "Thiết kế và thi công hệ thống điều khiển cánh tay Robot”. Em xin chân thành
cảm ơn thầy giáo Thạc sĩ Nguyễn Thanh Tùng đã giúp đỡ và hướng dẫn tận tình. Đề
tài không tránh khỏi những thiếu xót, em mong được sự chỉ bảo của các thầy để sản
phẩm hoàn thiện hơn và có thể ứng dụng vào thực tế.
Em xin chân thành cảm ơn !

8


CHƯƠNG 1. TỔNG QUAN

1.1. Tình hình nghiên cứu thuộc lĩnh vực đề tài trong nước và ngoài nước
Nội dung chương này sẽ khái quát chung về thực trạng sử dụng cánh tay robot
trong các ngành công nghiệp tại Việt Nam và thế giới. Thống kê và dự đoán về việc sử
dụng cánh tay robot trong tương lai. Và trong chương này cũng là cơ sở hình thành

nên ý tưởng của đề tài, thiết kế và thi công bộ điều khiển cánh tay robot.
1.1.1. Giới thiệu chung về cánh tay người
Cánh tay là một bộ phận trên cơ thể người. Nó có vai trò rất quan trọng, giúp cho
chúng ta vận động được dễ dàng hơn và thực hiện được các công việc như: cầm, nắm,
mang vác... phục vụ trong sản xuất.
Cánh tay người được cấu tạo linh hoạt gồm 6 khớp: Khớp xoay cánh tay, khớp
vai, khớp khuỷu, khớp quay - trụ gần, khớp quay - cổ tay, khớp bàn tay.
Khớp xoay cánh tay giúp cho cánh tay chúng tay hoạt động linh hoạt hơn.
Khớp cánh tay còn gọi là khớp vai hay khớp ổ chảo – cánh tay là một khớp hoạt
dịch có động tác rất linh hoạt và rộng rãi.
Khớp khuỷu liên kết đầu dưới xương cánh tay với đầu trên của hai xương cẳng tay
(xương quay, xương trụ). Thực chất là một khớp kép bao gồm 3 khớp cùng nằm trong
một bao khớp chung đó là:
- Khớp cánh tay – trụ.
- Khớp cánh tay – quay.
- Khớp quay – trụ trên hay khớp quay – trụ gần.
Khớp quay trụ xa hay khớp quay trụ dưới liên kết hai đầu dưới của xương quay và
xương trụ.
Khớp quay – cổ tay liên kết đầu dưới xương quay với các xương cổ tay. Còn đầu
dưới xương trụ tham gia gián tiếp qua dây chằng tam giác hay đĩa khớp. Khi chống
bàn tay xuống đất, trọng lượng cơ thể truyền từ xương quay xuống bàn tay, đĩa khớp
không trực tiếp ấn xuống các cổ tay.
Các khớp của bàn tay gồm:
- Các khớp ở cổ tay gồm các khớp gian xương cổ tay, khớp giữa cổ tay, khớp tháp
– đậu.
- Các khớp cổ tay – bàn tay.
9


- Các khớp bàn tay – ngón tay.

- Các khớp gian đốt ngón tay.
Khớp của bàn tay sẽ giúp ta cầm nắm các vật được chắc chắn hơn.
1.1.2. Tình hình phát triển của Robot trên thế giới
Sự phát triển của khoa học kỹ thuật ngày càng nhanh góp phần nâng cao năng suất
lao động. Đặc biệt sự ra đời và phát triển của công nghệ chế tạo Robot nhằm tạo ra sự
tự động hóa trong quá trình sản xuất giảm đi sức lao động..
Đối với nước ngoài thì Robot đã được nghiên cứu và chế tạo để ứng dụng vào sản
xuất đã có từ trước và đã đạt được những thành tựu hết sức to lớn, hỗ trợ đắc lực con
người trong nhiều lĩnh vực như:
Năm 1947, Eric Gough đã đưa ra các nguyên lý cơ bản và phát triển thiết bị tên là
“Universal Tyre - Test Machine” (còn gọi là Universal Rig) dùng để kiểm tra lốp xe
cho hãng Dumlop. Thiết bị này chính thức đi vào vận hành vào năm 1955. Tấm dịch
chuyển của thiết bị này có hình lực giác, mỗi góc nối với các khâu tác động tuyến tính
bằng các khớp cầu. Đầu còn lại của các khâu tác động được nối với bệ bằng các khớp
cardan. Các khâu có chiều dài thay đổi do cơ cấu dẫn động tịnh tiến. Thiết bị này vẫn
sử dụng đến năm 2000. Hiện đang được trưng bày tại Viện bảo tàng khoa học Anh.

Hình 1.1. Tấm dịch chuyển Gough
Một loại máy móc khác được ứng dụng rộng rãi trong công nghiệp là robot Delta.
Robot song song Delta được sáng chế bởi Reymond Clavel vào đầu thập niên 1980 với
ý tưởng dùng các hình hình bình hành để chế tạo robot song song có 3 bậc tự do do
chuyển động tịnh tiến và một bậc chuyển động quay. Robot Delta đã nhận được 36
10


bằng phát minh, trong đó có những bằng sáng chế quan trọng như của WIPO (WO
87/03582 cấp ngày 18/06/1987), bằng sáng chế Hoa Kỳ (US 4,976,582 cấp ngày
11/12/1991) và bằng sáng chế châu Âu (EP 0 250 470 cấp ngày 17/07/1991). Robot
Delta được dùng trong dây chuyền đóng gói thực phẩm, làm thiết bị nâng gắp...


Hình 1.2. Sơ đồ của Robot Delta và ứng dụng đóng gói thực phẩm
Công ty Elekta (Thụy Điển), một công ty chuyên về các trang thiết bị y tế đã dùng
Robot Delta để làm thiết bị nâng giữ kính hiển vi có khối lượng 20kg dùng trong việc
giải phẫu.

Hình 1.3. Robot ứng dụng trong y học
Một dự án ở châu Âu chế tạo robot CRIGOS (viết tắt của chữ Compact Robot for
Image Guidel Orthopedic) sử dụng cơ cấu Gough – Stewart nhằm cung cấp cho các
bác sĩ phẫu thuật những dụng cụ hiệu suất cao cho phẫu thuật xương.
11


Hình 1.4. Robot CRIGOS dùng để phẫu thuật tái tạo xương
+ Các ứng dụng khác
Phòng thí nghiệm PCR tại Đại học Kỹ thuật Sharif đã thiết kế, mô phỏng, phân
tích động học và chế tạo tay máy song song dùng để leo cột điện thay bóng đèn cho
công nhân. Đây là loại robot có 3 chuối động học, mỗi chuỗi động học được bố trí các
khớp là UPU (U: khớp cardan, P: khớp lăng trụ).

Hình 1.5. Robot leo cột của phòng thí nghiệm PCR
1.1.3. Tình hình phát triển của Robot tại Việt Nam
Cùng với sự phát triển trên thế giới thì ở Việt Nam cũng đã có được những thành
tựu về chế tạo robot. Có thể kể tới các thành tựu như:
Các tác giả Phạm Văn Bạch Ngọc, Vũ Thanh Quang, Đỗ Trần Thắng và Phạm
Anh Tuấn tại Phòng Cơ Điện Tử, Viện Cơ học đã lựa chọn mô hình, mô phỏng động
12


lực học và tính toán thiết kế để chế tạo một robot cơ cấu song song cụ thể (Hexapod)
ứng dụng trong gia công cơ khí. Các máy công cụ truyền thống sau khi thêm bộ đồ gá

vạn năng có thể gia công được những chi tiết có bề mặt phức tạp mà trước đây không
thực hiện được. Nhóm tác giả cũng đã chế tạo thành công thiết bị này và thiết bị hiện
đang được trưng bày tại Viện Cơ học.
Ưu điểm nổi bật của loại robot này là bề mặt tấm đế di động của robot có thể
chuyển động tự do linh hoạt, vì vậy việc tạo hình bề mặt được thực hiện dễ dàng hơn
và đạt yêu cầu về độ chính xác cao hơn hơn. Kết cấu động học của robot song song có
độ cứng vững cao và chịu được tải trong lớn mặc dù kích thước robot nhỏ. Tầm hoạt
động rất rộng, từ việc lắp ráp các chi tiết cực nhỏ tới các chuyển động thực hiện các
chức năng phức tạp đòi hỏi độ chính xác cao như: phay, khoan, tiện, hàn, lắp ráp...
Ngoài ra, robot dễ dàng lắp đặt ở các vị trí và các hướng khác nhau (trên thuyền và
treo trên trần, tường...)

Hình 1.6. Thiết bị thực tế tại Viện Cơ học
Nhóm tác giả Nguyễn Minh Thạnh, Nguyễn Ngọc Lâm, Trần Công Tuấn và
Nguyễn Công Mậu đã trình bày cách tiếp cận những cấu hình đặc biệt của cánh tay
robot song song bằng cách xem xét số bậc tự do của khâu ra và số lượng các chuỗi
động học phụ liên kết với nền và khâu ra. Lý thuyết A.P. Kotelnikov cũng đã được
dùng trong nhóm vít duy nhất biểu diễn những nhóm dịch chuyển để loại trừ dịch
chuyển không – điều khiển của khâu ra.
13


Phòng Cơ Điện tử (Viện Cơ học) đã đưa ra một giải pháp hoàn chỉnh điều khiển
robot cơ cấu song song, phân tích xử lý song song, xử lý phân tán và ứng dụng nguyên
lý Hardware – in – the – Loop trong mô phỏng điều khiển.
Các tác giả Trần Công Tuấn, Nguyễn Minh Thạnh sử dụng phương pháp điều tra
không gian tham số để khảo sát vùng làm việc của tay máy song song có các dẫn động
phân bố bên ngoài không gian làm việc.
1.2. Tính cấp thiết của đề tài
Điều khiển cánh tay robot là một ứng dụng thực tế mà hiện đang phát triển mạnh mẽ,

đa dạng và sinh động, nó được ứng dụng nhiều trong các nhà máy sản xuất nhằm giảm bớt
công sức lao động của con người đồng thời nâng cao số lượng cũng như chất lượng của sản
phẩm, nên nó phù hợp với ứng dụng thực tế,...
Ở Việt Nam nói chung công nghệ chế tạo cơ khí chính xác còn chưa phát triển nếu
không muốn nói là con số không, chúng ta hoàn toàn chưa có khả năng chế tạo các bộ
phận cấu thành của tay máy đạt tiêu chuẩn quốc tế (có độ chính xác và độ bền cao).
Tận dụng những vật liệu có sẵn để gia công các chi tiết cơ khí cũng như linh kiện, thiết
bị điện do nước ngoài sản xuất để thiết kế thành những sản phẩm cụ thể trước hết là
ứng dụng làm phương tiện giảng dạy trong trường học và từ đó phát triển cao hơn để
ứng dụng vào sản xuất đã và đang là hướng đi đúng đắn của các nhà khoa học và kỹ sư
ở Việt Nam. Đề tài: "Thiết kế và thi công hệ thống điều khiển cánh tay Robot” sẽ
giúp chúng ta hiểu hơn các vấn đề liên quan đến việc tính toán thiết kế, chế tạo,
nguyên lý hoạt động của tay máy và phần lý thuyết về mạch giao tiếp công suất và
mạch điều khiển hệ thống bằng vi xử lý. Nó sẽ là nguồn thông tin hữu ích cho những
ai muốn tìm hiểu về lĩnh vực cánh tay robot.
1.3. Phạm vi nghiên cứu
Dựa trên phần cơ khí được xây dựng sẵn với 6 gá Servo, sử dụng các phương
pháp điều khiển động cơ Servo mô phỏng các khớp của cánh tay người thực hiện chức
năng được cài đặt sẵn.
1.4. Mục tiêu của đề tài
Thiết kế và thi công hệ thống điều khiển cho cánh tay Robot bằng cách điều khiển
6 động cơ Servo tương ứng với 6 khớp của cánh tay người (Robot arm 6 bậc tự do)
bằng Smartphone chạy android qua Bluetooth.

14


CHƯƠNG 2. PHÂN TÍCH BÀI TOÁN

2.1. Yêu cầu bài toán

- Tìm hiểu về các khớp của cánh tay người để lựa chọn số bậc tự do (số Servo,
số gá động cơ) cho Robot arm.
- Tìm hiểu về phương pháp điều khiển Servo qua Bluetooth.
- Áp dụng Arduino, Servo, Module Bluetooth HC05 vào điều khiển cánh tay
Robot 6 bậc tự do bằng Smartphone Android qua Bluetooth.
2.2. Giải pháp thiết kế
2.2.1. Sơ đồ khối

Hình 2.1. Sơ đồ khối hệ thống
2.2.2. Phân tích chức năng các khối
Khối Bluetooth: Nhận các tín hiệu điều khiển từ điện thoại để gửi dữ liệu vào
trong khối xử lý dữ liệu.
Khối xử lý tín hiệu: Nhận các tín hiệu từ khối bluetooth mà người điều khiển
đưa ra và xử lý các tín hiệu rồi xuất các tín hiệu điều khiển ra các Port điều khiển
Servo tương ứng.
Khối động lực: Nhận các tín hiệu được đưa từ khối xử lý tín hiệu và thực thi
những yêu cầu mà khối điều khiển đưa ra và di chuyển đến vị trí cần làm việc.
Khối nguồn: Cấp nguồn cho toàn hệ thống.
2.2.3. Nguyên lý hoạt động toàn hệ thốn
Sản phẩm của đề tài “Thiết kế và thi công hệ thống điều khiển cánh tay Robot”
sẽ thực hiện các cử động giống như các khớp trên cánh tay người. Với 6 bậc tự do
15


tương ứng với 6 khớp trên cánh tay người giúp cho cánh tay hoạt động một cách linh
hoạt và thực hiện các công việc theo yêu cầu một cách dễ dàng hơn.
Sản phẩm được thiết kế với 6 Servo được điều khiển bằng Smartphone chạy
Android thông qua Bluetooth. Tín hiệu điều khiển từ điện thoại sẽ được đưa vào
Arduino thông qua Module Bluetooth. Arduino sẽ xử lý các tín hiệu đó và xuất các tín
hiệu đó ra các Port điều khiển Servo tương ứng. Tùy thuộc vào yêu cầu đặt ra (vị trí

cần di chuyển, servo cần hoạt động hay công việc cụ thể) mà thực hiện việc điều khiển
các động cơ từ giao diện trên điện thoại.
2.3. Lựa chọn linh kiện
2.3.1. Lựa chọn linh kiện cho Khối Module Bluetooth
Sử dụng Module Bluetooth HC-05 master / slave.

Hình 2.2. Module Bluetooth HC-05.
Module bluetooth HC05 master / slave dùng để thiết lập kết nối Serial giữa 2
thiết bị bằng sóng bluetooth. Điểm đặc biệt của module bluetooth HC-05 là module có
thể hoạt động được ở 2 chế độ: MASTER hoặc SLAVE. Trong khi đó, bluetooth
module HC-06 chỉ hoạt động ở chế độ SLAVE.
+ Ở chê độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth
để dò tìm module sau đó pair với mã PIN là 1234. Sau khi pair thành công, bạn đã có 1
cổng serial từ xa hoạt động ở baud rate 9600.
+ Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module
bluetooth HC-06, usb bluetooth, bluetooth của laptop...) và tiến hành pair chủ động mà
không cần thiết lập gì từ máy tính hoặc smartphone.
16


Module bluetooth HC05 được điều khiển bằng tập lệnh AT để thực hiện các tác vụ
mong muốn. Để bluetooth module chuyển từ chế độ thông thường qua điều khiển bằng
AT, có 2 cách như sau:
+ Cấp nguồn cho module bluetooth (Vcc và Gnd) đồng thời cấp mức điện áp cao
(=Vcc) cho chân KEY của module bluetooth. Khi đó giao tiếp bằng tập lệnh AT với
module bằng cổng Serial (Tx và Rx) với baud rate là 38400. (khuyên dùng)
+ Cấp nguồn cho module bluetooth trước, sau đó cấp mức điện áp cao cho chân
KEY của module bluetooth. Lúc này bạn có thể giao tiếp với module bằng tập lệnh AT
với baud rate là 9600.
Sau khi


kết nối thành công với thiết bị

bluetooth khác,

đèn trên

module bluetooth HC05 sẽ nhấp nháy chậm cho thấy kết nối Serial đã được thiết lập.
Nguồn cung cấp cho module bluetooth là nguồn từ 3.6V đến 6V. Quá áp sẽ gây
cháy module. Ngoài ra module tương thích với các vi điều khiển 5V mà không cần
chuyển đổi mức giao tiếp 5V về 3.3V như nhiều loại module bluetooth khác.
Thông số kỹ thuật
- Điện thế hoạt động của UART 3.3 - 5V.
- Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyền
nhận bình thường 8 mA.
- Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400,
57600, 115200.
- Kích thước của module chính: 28 mm x 15 mm x 2.35 mm.
- Dải tần sóng hoạt động: 2.4GHz
- Bluetooth protocol: Bluetooth Specification v2.0+EDRo.
- Kích thước: 26.9mm x 13mm x 2.2 mm.
- Khoảng cách thu phát không dây: bán kính 12 m.
Thiết lập mặc định:
- Baud rate: 9600, N, 8, 1.
- Mã kết nối: 1234.
Ứng dụng: Thiết bị Bluetooth cho ô tô, Bluetooth GPS, Bluetooth PCMCIA, USB
khoá điện tử, Truyền dữ liệu qua Bluetooth.

17



2.3.2. Lựa chọn linh kiện cho Khối Xử Lý Tín Hiệu
Khối xử lý tín hiệu sử dụng vi điều khiển Arduino Uno R3.
2.3.2.1. Giới thiệu chung về Arduino Uno R3
Môi trường Arduino được thiết kế đơn giản cho người mới bắt đầu sử dụng.
Không phải phần mềm hay các thiết bị điện tử thực nghiệm, với Arduino bạn có thể
xây dựng một dự án đáp ứng được các yêu cầu về điều khiển ánh sáng, âm thanh,
chuyển động một cách thông minh tự động… Arduino được sử dụng để tạo ta rất nhiều
thứ tuyệt vời như nhạc cụ, robot, điêu khắc ánh sáng, trò chơi, đồ nội thất tương tác
thậm chí là quần áo thông minh có khả năng tương tác với cơ thể.
Arduino được sử dụng rất nhiều trong các chương trình giáo dục trên toàn thế
giới, đặc biệt đối với các nhà thiết kế và nghệ sĩ những người muốn tạo ra những cái
mới độc đáo mà không cần am hiểu sâu về vấn đề của kỹ thuật. Bởi vì Arduino được
thiết kế sử dụng cho những người không am hiểu về kỹ thuật.
Mặc dù dễ dàng sử dụng nhưng Arduino có phần cứng được thiết kế rất tinh tế nên
các kỹ sư có thể dễ dàng nhúng nó vào trong các ứng dụng nhúng. Những người đã sử
dụng và phát triển các ứng dụng nhúng bằng vi điều khiển cũng bị thu hút bởi Arduino
do khả năng phần cứng tốt và và phần mềm tiện dụng dễ dàng cho việc giải quyết các
ý tưởng.
Arduino được biết đến nhiều nhất là phần cứng của nó, nhưng phải có phần mềm
để lập trình phần cứng. Cả phần cứng và phần mềm gọi chung là “Arduino’’. Sự kết
hợp đó cho phép bạn tạo ra các dự án có ý nghĩa và kiểm soát thế giới vật chất. Các
phần mềm là tự do, mã nguồn mở thông qua một nền tảng. Các board bạn có thể mua
với giá rẻ hoặc bạn có thể tự thiết kế với mã nguồn schematic mở. Ngoài ra, có một số
hoạt động liên quan tới Arduino được giải đáp bởi diễn đàn Arduino trên toàn thế giới
và Wikimedia gọi chung là sân chơi Arduino.
Phần mềm Arduino: được gọi là sketches, được tạo ra trên máy tính có tích hợp
môi trường phát triển(IDE). IDE cho phép bạn viết, chỉnh sửa code và chuyển đổi sao
cho phần cứng có thể hiểu. IDE dùng để biên dịch và nạp vào Arduino ( quá trình sử lý
này gọi là UPLOAD).

Phần cứng Arduino: là các board Arduino nơi thực thi các chương trình lập trình.
Các board này có thể điều khiển hoặc đáp trả các tín hiệu điện, vì vậy các thành phần
được ghép trực tiếp vào nó để tương tác với thế giới thực để cảm nhận hoặc truyền
18


thông. Ví dụ các cảm biến bao gồm các thiết bị chuyển mạch, cảm biến siêu âm, gia
tốc. Các thiết bị truyền động bao gồm đèn , motor, loa và các thiết bị hiển thị.
Hầu hết các board Arduino sử dụng kết nối kiểu USB dùng để cấp nguồn và
upload dữ liệu cho board Arduino.

Hình 2.3. Board cơ bản của Arduino Uno.
Thông số kỹ thuật: Arduino Uno là một bo mạch sử dụng chip Atmega328. Nó có
14 chân digital I/O, 6 chân đầu vào (input) analog, thạch anh dao động 16Mhz. Một số
thông số kỹ thuật như sau :
Bảng 2.1 Bảng thông số của Arduino Uno
Chip

ATmega328

Điện áp cấp nguồn

5V

Điện áp đầu vào (input)

7-12V

(kiến nghị )
Điện áp đầu vào(giới hạn)


6-20V

Số chân Digital I/O

14 (có 6 chân điều chế độ rộng xung PWM)

Số chân Analog (Input )

6

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory

32KB (ATmega328) với 0.5KB sử dụng
bootloader

SRAM

2 KB (ATmega328)

EEPROM


1 KB (ATmega328)

Xung nhịp

16 Hz
19


Arduino Uno sử dụng 2 vi điều khiển trên board để xử lý tất cả các kết nối USB.
Chíp dán nhỏ (ATmega8U2) nằm gần cổng cắm dây kết nối kiểu USB. Cho phép nạp
chương trình và quản lý các thiết bị USB khác cắm vào. Chíp ATMega328 chứa
chương trình nạp để thực thi chương trình đã được lập trình. Trên hầu hết các board
Arduino đều sử dụng 1 chip FTDI cung cấp giải pháp cho vấn đề kết nối với cổng nối
tiếp của máy tính. Ngoài Arduino Uno ra nhà sản xuất cung cấp nhiều board khác như:
Arduino Fio, Arduino Nano, Arduino Mega 2560. Với tùy vào ứng dụng có thể chọn
các loại board nhỏ hoặc board hỗ trợ nhiều chân TX và RX như Arduino 2560.
Sơ đồ chân của Arduino Uno.

Hình 2.4. Sơ đồ chân Arduino Uno.
USB (1): Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp
USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB
còn là nguồn cho Arduino.
Nguồn (2 và 3): Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng
nguồn ngoài thông qua jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2
chân Vin và GND để cấp nguồn cho Arduino.
Bo mạch hoạt động với nguồn ngoài ở điện áp 5-20 volt. Chúng ta có thể cấp một
điện áp lớn hơn tuy nhien chân 5V sẽ có mức điện áp lớn hơn 5 volt. Và nếu sử dụng
nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng board mạch. Khuyến cáo
các bạn nên dùng nguồn ổn định là 5 đến dưới 12 volt.
Chân 5V và chân 3.3V (Output voltage): các chân này dùng để lấy nguồn ra

từ nguồn mà chúng ta đã cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào
các chân này vì sẽ làm hỏng Arduino.
+ GND: Chân mass
20


Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức cẩn
thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO. Việc
làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn
giấy. Tôi khuyên bạn nên dùng nguồn từ cổng USB nếu có thể.
Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết
bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm
hỏng board. Điều này không được nhà sản xuất khuyến khích.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có
thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO
nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm
hỏng vi điều khiển.
Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO
vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận dữ
liệu, bạn phải mắc một điện trở hạn dòng.
Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader.
Ngoài ra còn có 2K SRAM, 1K EEPROM.
Input và Output (4, 5 và 6): Arduino Uno có 14 chân digital với chức năng
input và output sử dụng các hàm pinMode(), digitalWrite() và digitalRead() để điều
khiển các chân này tôi sẽ đề cập chúng ở các phần sau.
Serial: chân 0 (Rx ), chân 1 ( Tx). Hai chân này dùng để truyền (Tx) và nhận

(Rx) dữ liêu nối tiếp TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM
của một số thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có dấu
“~” là các chân PWM để điều khiển tốc độ động cơ, độ sáng của đèn…
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp
theo chuẩn SPI.
I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL)
cho phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C.
21


Reset (7): dùng để reset Arduino.
Ngoài ra trên board mạch còn có:
- Thạch anh 16K : Tạo ra tần số giao động ổn định cho chíp Atmega 328.
- IC 7805 giúp hạ nguồn vào về chuẩn nguồn 5V cho bo mạch...
Lập trình cho Arduino.
- Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ
này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói. Và Wiring lại là một biến
thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++.
Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu.
- Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino
được gọi là Arduino IDE (Intergrated Development Environment).
2.3.2.2. Ứng dụng của Arduino
Trong thực tế Arduino có rất nhiều ứng dụng bởi khả năng xử lý linh hoạt, phần
cứng dễ dàng tích hợp vào hệ thống khác. Do đó có thể ứng dụng trong hầu hết các hệ
thống điều khiển tự động từ đơn giản từ các thiết bị báo cháy báo ga, đo các thông số
môi trường (nồng độ khí, nhiệt đô, độ ẩm, ánh sáng ), hay phức tạp hơn là xử lý máy
in 3D. Arduino còn được ứng dụng trong công nghệ giải trí như thiết kế robot dò
đường, tay cầm điều khiển. Arduino còn có thể kết hợp ghép nối với các thiết bị điện

tử khác như kết nối với máy tính nhúng raspberry để thu thập dữ liệu gửi lên mạng
internet, hay có thể ghép nối với các board mở rộng như WiFi, Ethernet Shield,...
2.3.3. Lựa chọn linh kiện cho Khối Động Lực
Động cơ servo được sử dụng trong khối động lực là thiết bị được điều khiển bằng
chu trình kín. Từ tín hiệu hồi tiếp vận tốc/vị trí, hệ thống điều khiển số sẽ điều khiển
họat động của một động cơ servo. Với lý do nêu trên nên sensor đo vị trí hoặc tốc độ là
các bộ phận cần thiết phải tích hợp cho một động cơ servo.
Đặc tính vận hành của một động cơ servo phụ thuộc rất nhiều vào đặc tính từ và
phương pháp điều khiển động cơ servo.
Phân loại: Có 3 loại động cơ servo được sử dụng hiện nay đó là động cơ servo AC
dựa trên nền tảng động cơ AC lồng sóc; Động cơ servo DC dựa trên nền tảng động cơ
DC và động cơ servo AC không chổi than dựa trên nền tảng động cơ không đồng bộ.

22


Hình 2.5. Hình ảnh thực tế của servo
2.3.3.1. Giới thiệu về động cơ Servo
Động cơ DC và động cơ bước vốn là những hệ hồi tiếp vòng hở - ta cấp điện để
động cơ quay nhưng chúng quay bao nhiêu thì ta không biết, kể cả đối với động cơ
bước là động cơ quay một góc xác định tùy vào số xung nhận được. Việc thiết lập một
hệ thống điều khiển để xác định những gì ngăn cản chuyển động quay của động cơ
hoặc làm động cơ không quay cũng không dễ dàng.
Mặt khác, động cơ servo được thiết kế cho những hệ thống hồi tiếp vòng kín. Tín
hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và
vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản
chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được
vị trí mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm
chính xác.
Động cơ servo có nhiều kiểu dáng và kích thước, được sử dụng trong nhiếu máy

khác nhau, từ máy tiện điều khiển bằng máy tính cho đến các mô hình máy bay và xe
hơi. Ứng dụng mới nhất của động cơ servo là trong các robot, cùng loại với các động
cơ dùng trong mô hình máy bay và xe hơi.
Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo
R/C (radiocontrolled). Trong thực tế, bản thân động cơ servo không phải được điều
khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ
servo nhận tín hiệu từ máy thu này. Như vậy có nghĩa là ta không cần phải điều khiển
robot bằng tín hiệu vô tuyến bằng cách sử dụng một động cơ servo, trừ khi ta muốn thế.
Ta có thể điều khiển động cơ servo bằng máy tính, một bộ vi xử lý hay thậm chí một
23


mạch điện tử đơn giản dùng IC 555. Trong chương này ta sẽ tìm hiểu động cơ servo R/C
là gì, sử dụng chúng trong robot như thế nào. Mặc dù còn có nhiều loại động cơ servo
khác nhưng động cơ servo R/C được sử dụng nhiều nhất. Để đơn giản ta gọi động cơ
servo R/C là servo.
2.3.3.2. Cấu Tạo của một động cơ Servo

Hình 2.6. Cấu tạo của servo
1. Động Cơ.
2. Các bản mạch điện tử.
3. Dây nguồn chính (đỏ).
4. Dây tín hiệu (vàng hoặc trắng).
5. Dây âm/ dây nối đất (mầu đen).
6. Bộ chỉnh điện áp (bộ chia áp).
7. Trục đầu ra/ Bánh răng.
8. Mặt bích lắp (gá) động cơ Servo/ bánh răng.
9. Hộp động cơ Servo.
10. Chíp tích hợp điều khiển.
Động cơ và vôn kế nối với mạch điều khiển tạo thành mạch hồi tiếp vòng kín. Cả mạch

điều khiển và động cơ đều được cấp nguồn DC (thường từ 4.8 – 7.2 V).
Để quay động cơ, tín hiệu số được gửi tới mạch điều khiển. Tín hiệu này khởi
động động cơ, thông qua chuỗi bánh răng, nối với vôn kế. Vị trí của trục vôn kế cho
biết vị trí trục ra của servo. Khi vôn kế đạt được vị trí mong muốn, mạch điều khiển sẽ
tắt động cơ. Như ta dự đoán, động cơ servo được thiết kế để quay có giới hạn chứ
không phải quay liên tục như động cơ DC hay động cơ bước. Mặc dù ta có thể chỉnh
động cơ servo R/C quay liên tục nhưng công dụng chính của động cơ servo là đạt được
24


góc quay chính xác trong khoảng từ 90 – 180º. Việc điều khiển này có thể ứng dụng để
lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…
2.3.3.3. Servo và điều biến độ rộng xung
Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ
rộng xung (PWM). Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn
định. Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi
từ 1 – 2ms. Các xung này được gửi đi 50 lần/giây. Chú ý rằng không phải số xung
trong một giây điều khiển servo mà là chiều dài của các xung. Servo đòi hỏi khoảng 30
– 60 xung/giây. Nếu số này quá thấp, độ chính xác và công suất để duy trì servo sẽ
giảm. Với độ dài xung 1ms, servo được điều khiển quay theo một chiều (giả sử là
chiều kim đồng hồ như Hình 2.7)

Hình 2.7. Điều khiển vị trí trục ra của động cơ bằng cách điều chế độ rộng xung
Với độ dài xung xung 2ms, servo quay theo chiều ngược lại. Kỹ thuật này còn
được gọi là tỉ lệ số - chuyển động của servo tỉ lệ với tín hiệu số điều khiển.
Công suất cung cấp cho động cơ bên trong servo cũng tỉ lệ với độ lệch giữa vị trí
hiện tại của trục ra với vị trí nó cần đến. Nếu servo ở gần vị trí đích, động cơ được
truyền động với tốc độ thấp. Điều này đảm bảo rằng động cơ không vượt quá điểm
định đến. Nhưng nếu servo ở xa vị trí đích nó sẽ được truyền động với vận tốc tối đa
để đến đích càng nhanh càng tốt. Khi trục ra đến vị trí mong muốn, động cơ giảm tốc.

Quá trình tưởng chừng như phức tạp này diễn ra trong khoảng thời gian rất ngắn - một
servo trung bình có thể quay 60º trong vòng ¼ - ½ giây.
Vì độ dài xung có thể thay đổi tùy theo hãng chế tạo nên ta phải chọn servo và
máy thu vô tuyến thuộc cùng một hãng để đảm bảo sự tương thích. Đối với robot, ta
phải làm một vài thí nghiệm để xác định độ dài xung tối ưu.
25


×