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àn
Trang 1NỘ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
Trang 2gian 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
Hoàng Văn Bắc
Trang 3LỜ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
Hoàng Văn Bắc
Trang 4MỤ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
Trang 53.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
Trang 6DANH 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
Trang 7Hì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
Trang 8LỜ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 !
Trang 9CHƯƠ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
Trang 10- 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
Trang 11bằ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
Trang 12Hì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
Trang 13lự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
Trang 14Phò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
Trang 15CHƯƠ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”
Trang 16tươ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
Trang 17Module 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,
Trang 182.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
Trang 19thô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
Số chân Digital I/O 14 (có 6 chân điều chế độ rộng xung PWM)
Flash Memory 32KB (ATmega328) với 0.5KB sử dụng
bootloader
Trang 20Arduino 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
Trang 21Arduino 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
Trang 22Reset (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ộ
Trang 23Hì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
Trang 24mạ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
Trang 25gó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
Trang 26Các giới hạn quay: Các servo khác nhau ở góc quay được với cùng tín hiệu 1 – 2
ms (hoặc bất kỳ) được cung cấp Các servo chuẩn được thiết kế để quay tới và lui từ
90 – 180º khi được cung cấp toàn bộ chiều dài xung Phần lớn servo có thể quay được
180º hay gần 180º Nếu ta cố điều khiển servo vượt quá những giới hạn cơ học của nó ,
trục ra của động cơ sẽ đụng vật cản bên trong, dẫn đến các bánh răng bị mài mòn hay
bị rơ Hiện tượng này kéo dài hơn vài giây sẽ làm bánh răng của động cơ bị phá hủy Các loại và kích thước của Servo đặc biệt:
- Ngoài servo kích thước chuẩn dùng trong robot và mô hình điều khiển vô tuyến cón có các loại servo R/C khác:
- Servo tỉ lệ ¼ / tỉ lệ lớn (quarter-scale / large-scale servo): kích thước gấp
khoảng 2 lần servo chuẩn, công suất lớn hơn rõ, được dùng trong các mô hình máy bay lớn nhưng cũng có thể làm động cơ công suất tốt cho robot
- Servo nhỏ (mini-micro servo): kích thước nhỏ hơn khoảng 2 lần so với servo
chuẩn, không mạnh bằng servo chuẩn, dùng ở những không gian hẹp trong mô hình máy bay hay xe hơi
- Servo tời buồm(sail minch servo): mạnh nhất, dùng để điều khiển các dây thừng
của buồm nhỏ và buồm chính trong mô hình thuyền buồm
- Servo thu bộ phận hạ cánh(landing-gear retraction servo): dùng để thu bộ
phận hạ cánh trong mô hình máy bay vừa và lớn Thiết kế bộ phận hạ cánh thường đòi hỏi servo phải đảm bảo góc quay ít nhất là 170º Các servo này thường nhỏ hơn kích thước chuẩn vì không gian giới hạn trong mô hình máy bay
Hệ thống truyền động bánh răng và truyền công suất: Động cơ bên trong servo
R/C quay khoảng vài ngàn vòng / phút Tốc độ này quá nhanh để có thể dùng trực tiếp lên mô hình máy bay, xe hơi hay robot Tất cả các servo đều có một hệ thống bánh răng để giảm vận tốc ra của động cơ còn khoảng 50 – 100 v/ph Các bánh răng của servo có thể làm plastic, nylon hay kim loại (thường là đồng thau hay nhôm) Bánh răng kim loại có tuổi thọ cao nhưng giá thành cũng cao Các bánh răng thay thế luôn
có sẵn Khi một hay vài bánh răng bị hư, servo không khớp và ta phải thay bánh răng Trong một vài trường hợp ta có thể “nâng cấp” bánh răng plastic thành bánh răng kim loại Bên cạnh các bánh răng dẫn động, trục ra của động cơ cũng thường bị mòn và xước Trong các servo rẻ nhất, trục này được đỡ bằng miếng đệm plastic, miếng đệm này rất dễ mất tác dụng nếu động cơ chạy nhiều Thực sự thì đây cũng không phải là
Trang 27miếng đệm mà chỉ là một ống lót giúp giảm ma sát giữ trục và vỏ của servo Các ống lót bằng kim loại, cụ thể là ống lót bằng đồng thau có thấm chất bôi trơn, bền hơn nhưng cũng đắt hơn Servo sử dụng vòng bi có tuổi thọ cao nhất và đắt nhất Ta cũng
có thể “nâng cấp” servo bằng vòng bi có sẵn
Ứng Dụng
- Động cơ điện Servo được sử dụng trong nhiều ứng dụng khác nhau
- Dùng trong các máy cắt gọt và gia công kim loại có sự điều khiển bằng máy tính
- Đặc biệt với các động cơ Servo DC ứng dụng nhiều trong các robot( ứng dụng
để lái robot, di chuyển các tay máy lên xuống)
- Hỗ trợ sử dụng trong bộ phận trự lực của vô lăng các loại xe máy , bánh lái máy bay, dùng để thu bộ phận hạ cánh trong mô hình máy bay vừa và lớn
- Quay cảm biến để quét trong phòng dùng trong các lĩnh vực bảo vệ tự động
- Servo tời buồm có khả năng chịu nước dùng để điều khiển các dây thừng của buồm trong thuyền buồm
- Dùng trong các thiết bị làm việc và vận hành tự động
2.3.3.4 Khái quát chung về tay máy robot công nghiệp
Thuật ngữ Robot xuất hiện vào năm 1920 trong một tác phẩm văn học của nhà
văn Tiệp Khắc có tên Karel Capek
Thuật ngữ Inducstrial Robot (IR) – xuất hiện đầu tiên ở Mỹ do công ty AMF
(American Manchine and Foundry company) quảng cáo mô tả một thiết bị mang dáng dấp và có một số chức năng như tay người được điểu khiển tự động để thực hiện một
số thao tác sản xuất thiết bị có tên gọi Versatran
Quá trình phát triển của IR có thể tóm tắt như sau:
- Từ những năm 50 ở Mỹ xuất hiện viện nghiên cứu đầu tiên
- Đầu những năm 60 xuất hiện sản phẩm đầu tiên tên Versatran của công ty AMF
- Ở Anh người ta bắt đầu nghiên cứu và chế tạo các IR theo bản quyền của Mỹ từ năm 1967
- Các nước Tây Âu khác như: Đức, Ý, Pháp, Thụy Điển từ những năm 70
- Châu Á có Nhật bắt đầu nghiên cứu ứng dụng IR từ năm 1968
Đến nay trên thế giới có khoảng 200 công ty sản xuất IR trong số đó có 80 công ty của Nhật, 90 công ty của các nước Tây Âu, 30 công ty của Mỹ
Trang 28Theo chủng loại, mức độ điều khiển và khả năng nhận biết thông tin của tay máy – người máy đã được sản xuất trên thế giới có thể phân loại các IR thành các thế hệ sau: Thế hệ 1: Thế hệ có kiểu điều khiển theo chu trình dạng chương trình cứng không
có khả năng nhận biết thông tin
Thế hệ 2: Thế hệ có kiểu điều khiển theo chu trình dạng chương trình mềm bước đầu đã có khả năng nhận biết thông tin
Thế hệ 3: Thế hệ có kiểu điều khiển dạng tinh không, có khả năng nhận biết thông tin và bước đầu đã có một số chức năng lý trí của con người
Đối với tay máy công nghiệp đã có hơn 250 loại, trong số đó có hơn 40% là loại tay máy có điều khienr đơn giản thuộc thế hệ thứ nhất
Sự xuất hiện của Robot và sự gia tăng vai trò của chúng trong sản xuất và xã hội loài
người làm xuất hiện một ngành khoa học mới là ngành Robot học (Robotic), trên thế giới ở
nhiều nước đã xuất hiện những viễn nghiên cứu riêng về Robot Ở Việt Nam, những năm giữa của thập kỷ 80 đã có viện nghiên cứu về Robot
a Khái niệm chung
Robot sản xuất phổ biến nhất là tay máy công nghiệp Môt tay máy công nghiệp tiêu biểu bao gồm 7 thành phần làm bằng kim loại được nối với nhau bằng 6 khớp Máy tính điều khiển robot bằng cách quay từng động cơ được nối với từng khớp (một
số cánh tay robot cỡ lớn dùng thủy lực hay khí nén) Robot sử dụng các cảm biến chuyển động để đảm bảo nó chuyển động đến đúng vị trí mong muốn
b Cấu trúc
Một robot công nghiệp có 6 khớp rất giống với một cánh tay của con người gồm
có vai, khuỷu tay và cổ tay Thường thì vai sẽ được gắn vào một bệ cố định hơn là một
cơ thể di động
Các thành phần chính của robot: Một robot thường bao gồm các thành phần
chính như: cánh tay robot, nguồn động lực, dụng cụ gắn lên khâu chấp hành cuối, các cảm biến, bộ điều khiển, bộ điều khiển bằng tay (tech pendant), máy tính, các phần mềm lập trình Nguồn động lực là các động cơ điện (một chiều hoặc động cơ bước), các hệ thống xy lanh khí nén, thủy lực để tạo động lực cho tay máy hoạt động Dụng
cụ thao tác được gắn trên khâu cuối của robot, dụng cụ của robot có thể có nhiều kiểu khác nhau như: dạng bàn tay để nắm bắt đối tượng hoặc các công cụ làm việc như mỏ hàn, đá mài, đầu phun sơn Bộ tech pendant thường dùng để điều khiển robot bằng
Trang 29tay và có thể lập trình cho các hoạt động đơn giản của robot Các phần mềm để lập trình và các chương trình điều khiển robot được cài đặt trên máy tính, dùng điều khiển robot thông qua bộ điều khiển Bộ điều khiển còn được gọi là modun điều khiển, nó thường được kết nối với máy tính Một modun điều khiển có thể còn có các cổng vào –
ra để làm việc với nhiều thiết bị khác nhau như các cảm biến giúp robot nhận biết trạng thái của bản thân, xác định vị trí của đối tượng làm việc hoặc các dò tìm khác, điều khiển các băng tải hoặc cơ cấu cấu phôi hoạt động phối hợp với robot
Kết cấu của tay máy: Tay máy là thành phần quan trong, nó quyết định khả năng
làm việc của robot Các kết cấu của nhiều tay máy được phỏng theo cấu tạo và chức năng của tay người Tuy nhiên ngày nay, tay máy được thiết kế rất đa dạng, nhiều cánh tay robot có hình dạng rất khác xa cánh tay người Trong thiết kế và sử dụng tay máy, chúng ta cần quan tâm đến các thông số hình – động học, là những thông số liên quan tới khả năng làm việc của robot như: tầm với (hay trường công tác), số bậc tự do (thể hiện sự khéo léo linh hoạt của robot), độ cứng vững, tải trọng vật nâng, lực kẹp Các khâu của robot thường thực hiện 2 chuyển động cơ bản:
- Chuyển động tịnh tiến theo hướng x, y, z trong không gian Descartes thông thường tạo nên các hình khối, các chuyển động này thường ký hiệu là T hoặc P
- Chuyển động quay quanh các trục x, y, z ký hiệu là R
Tùy thuộc vào số khâu và sự tổ hợp các chuyển động (R và T) mà tay máy có các kết cấu khác nhau với vùng làm việc khác nhau Các kết cấu thường gặp của robot là robot kiểu tọa độ Descartes, tọa độ trụ, tọa độ cầu, robot kiểu SCARA, hệ tọa độ góc
Hoạt động chung của cánh tay robot công nghiệp: Tương tự như cánh tay người,
cánh tay robot để di chuyển cơ cấu cuối cùng từ điểm này đến điểm khác Bạn có thể
cố định dạng chuyển động của cánh tay robot với một số loại cơ cấu chấp hành cuối cùng tùy theo từng ứng dụng Một cơ cấu chấp hành thông dụng là một phiên bản thu nhỏ của một bàn tay có thể cần nắm các vật khác nhau Các cánh tay robot thường có các cảm biến áp suất gắn bên trong để thông báo cho máy tính biết cần bao nhiêu lực
để gắp một vật, giúp cho nó không đánh rơi hay làm vỡ đồ vật mà nó đang giữ
Robot công nghiệp được thiết kế để làm những công việc lặp đi lặp lại chính xác, trong một môi trường được điều khiển Để dạy robot làm công việc của mình, người lập trình sẽ dẫn cánh tay qua những chuyển động nhờ sử dụng những điều khiển bằng
Trang 30tay Những robot này sẽ lưu trữ trình tự chuyển động chính xác trong bộ nhớ của nó và lặp đi lặp lại chuyển động này trên các dây truyền lắp ráp
2.3.4 Lựa chọn linh kiện cho Khối nguồn
Sử dụng nguồn ATX 500W Power Supply
Hình 2.8 Nguồn DC 5V
Thông số kỹ thuật:
- Điện áp, dòng điện đầu vào AC: 220V 4A (50-60Hz)
Điện áp, dòng điện ra DC: +5V 2.5A, +3.3V 23A, +5V 32A, +12V 20A, 5V 0.8A, -12V 0.8A
Trang 31-CHƯƠNG 3 NGÔN NGỮ LẬP TRÌNH VÀ PHẦN MỀM PHỤ TRỢ
3.1 Giới thiệu môi trường lập trình
Để có môi trường lập trình Arduino thì bước đầu tiên các bạn phải có IDE do nhà sản xuất Arduino cung cấp được download tại trang chủ theo link sau:
http://arduino.cc/en/Main/Software
Hình 3.1 Link download phần mềm Arduino
Sau khi giải nén chạy Arduino.exe như sau:
Trang 32Hình 3.3 Giao diện lập trình Arduino
3.2 Khởi tạo một dự án
Khi muốn lập trình phải khởi động giao diện lập trình trên giao diện có các chức
năng được mô tả như sau:
Hình 3.4 Chức năng các Menu chính
Trang 33Trong giao diện lập trình căn bản khi lập trình cần chú ý các bước:
Bước 1: Tạo file biên dịch mới
Bước 2: Lưu file code
Bước 3: Lập trình code điều khiển
Bước 4: Biên dịch file để kiểm tra lỗi
Bước 5: Nạp chương trình vào Board
Trong Arduino hỗ trợ các thư viện và ví dụ mở với các chủ đề khác nhau, muốn dùng ví dụ nào có thể thao tác như hình bên dưới:
Hình 3.5 Mở ứng dụng mẫu trong Arduino
Nạp chương trình và chạy ứng dụng: Cắm cáp nạp USB vào Board và máy tính kiểm tra trạng thái có cổng kết nối chưa tại phần Tools>Serial Port để chọn cổng com kết nối và Tool> Board để chọn board Arduino sử dụng Sau đó nhấn Upload chương trình được nạp vào và chạy ứng dụng
3.3 Cấu trúc của một chương trình lập trình Arduino
Cũng như các ngôn ngữ lập trình khác, ngôn ngữ trong Arduino sử dụng ngôn ngữ
C, cấu trúc một chương trình Arduino bao gồm 2 phần chính :
void setup()
{
Thực hiện việc thiết lập ban đầu cho các ứng dụng
}
Trang 34{
Vòng lặp thực hiện chương trình
}
Hàm setup() được sử dụng để khởi tạo giá trị các biến, thiết lập chế độ chân, bắt
đầu sử dụng các thư viện…Hàm setup chỉ thực hiện một lần khi cấp nguồn hoặc reset
3.4.1 Lập trình Điều khiển led
Hình 3.6 Ví dụ điều khiển led
Trong hình trên led được kết nối tới chân 13 của arduino board, với hiệu ứng nhấp nháy cách nhau 1 giây Chương trình lập trình như sau:
int led = 13; // khoi tao chan led la 13
Trang 35digitalWrite(led, LOW); // xuat muc thap ra led
delay(1000); // tre1s
}
3.4.2 Lập trình gửi dữ liệu ra cổng truyền thông nối tiếp
Ta có thể gửi text hoặc data từ Arduino và có thể hiển thị trên máy tính Chương trình dưới đây gửi lần lần lượt các số từ Arduino hiển thị trên Serial Monitor:
Serial.print("The number is "); // gui ra cong noi tiep
Serial.println(number); // gửi số qua cổng nối tiếp
delay(500); // trễ 500us giữa 2 số
number++; // tăng số lên 1 đơn vị
}
Trang 363.5 Giới thiệu chung về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các
thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính
từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10/2008
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012,
có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòihoặc đưa Android vào các thiết
bị ban đầu chạy hệ điều hành khác
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày, Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ