Mục đích của đề tài - Nghiên cứu về cấu tạo, nguyên lý hoạt động và các phương pháp điều khiển thíchhợp trên cơ sở ứng dụng Arduino để hiểu được bộ điều khiển cánh tay robot gắpsản phẩm
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hồ Thức Nhân 19021613
Hà Nội 2022
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 2
Chương I: Tổng quan về cánh tay robot học lệnh gắp sản phẩm 3
1 Đặt vấn đề 3
2 Mục đích của đề tài 3
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu khoa học 3
5 Ý nghĩa khoa học và thực tiễn đề tài 4
Chương II: Thiết kế cánh tay robot gắp sản phẩm 4
2.1 Thiết kế mô hình cánh tay 4
2.2 Ứng dụng và lợi ích của cánh tay robot 6
Chương III: Phân tích và thiết kế mô hình 7
3.1 Sơ đồ điều khiển vị trí cánh tay 7
3.2 Các thiết bị sử dụng trong mô hình 8
3.2.1 Arduino 8
3.2.2 Động cơ servo 12
3 Phần mềm điều khiển 14
3.3.1: Phần mềm Arduino IDE 14
3.3.2 Các thao tác hoạt động của cánh tay 15
3.3.3 Lưu đồ thuật toán 15
3.3.4 Mã nguồn chương trình điều khiển 16
KẾT LUẬN 23
1 Kiểm tra tính ổn định 23
2 Hướng phát triển 23
TÀI LIỆU THAM KHẢO 24
Trang 3LỜI MỞ ĐẦU
Trong sự nghiệp công nghiệp hóa và hiện đại hóa đất nước, tự động hóa ngày càngđóng một vai trò quan trọng Với tốc độ phát triển như hiện nay chúng ta không chỉcần một lượng lao động khổng lồ mà còn đòi hỏi có trình độ, chất lượng tay nghề, kỹthuật lao động và thiết bị sản xuất Mức độ phát triển của khoa học kỹ thuật ngày càngcao thì vấn đề tự động hóa ngày càng được chú trọng Tự động hóa các quá trình sảnxuất cho phép cải thiện điều kiện sản xuất Các quá trình sản xuất sử dụng quá nhiềulao động sống rất dễ mất ổn định về giờ giấc, về chất lượng gia công và năng suất laođộng, gây khó khăn cho việc điều hành và quản lý sản xuất Các quá trình sản xuất tựđộng cho phép loại bỏ các nhược điểm trên Đồng thời tự động hóa đã thay đổi tínhchất lao động, cải thiện điều kiện làm việc của công nhân, nhất là trong các khâu độchại, nặng nhọc, có tính lặp đi lặp lại nhàm chán, khắc phục dần sự khác nhau giữa laođộng trí óc và lao động chân tay
Do vậy, ứng dụng robot vào sản xuất là tính tất yếu của quá trình tự động hóa Việc ápdụng các cánh tay robot vào dây chuyền sản xuất ngày càng phổ biến Xuất phát từnhững vấn đề mà thực tiễn đề ra như trên, bản báo cáo này sẽ nghiên cứu cũng như
“Thiết kế và chế tạo cánh tay robot gắp sản phẩm”
Trang 4Chương I: Tổng quan về cánh tay robot học lệnh gắp sản phẩm
1 Đặt vấn đề
Thế giới hiện nay đang trong quá trình cách mạng công nghiệp 4.0, nó mang đếncho nhận loại cơ hội để thay đổi bộ mặt các nền kinh tế Cùng với đó là những hứahẹn về cuộc ‘đổi đời’ của các doanh nghiệp tại Việt Nam Tự động hóa và robot làmột xu hướng quan trọng của tương lai nền công nghiệp Tự động hóa đem lạimức độ chính xác và năng xuất cao hơn Công nghệ này thậm chí có thể hoạt độngtốt ở một số môi trường làm việc khắc nghiệt không an toàn với con người Mụcđích để phục vụ sản xuất, thậm chí phục vụ nhu cầu giải trí cũng như chăm sóc conngười Với sự phát triển mạnh mẽ về công nghiệp máy tính và cách mạng côngnghiệp 4.0 trên thế giới cũng như ở nước ta, công nghiệp tự động hóa và robotcũng phát triển nở rộ đi kèm theo đó là nhu cầu về nguồn lao động có trình độ cóthể làm chủ được công nghệ
2 Mục đích của đề tài
- Nghiên cứu về cấu tạo, nguyên lý hoạt động và các phương pháp điều khiển thíchhợp trên cơ sở ứng dụng Arduino để hiểu được bộ điều khiển cánh tay robot gắpsản phẩm
- Vận dụng các kiến thức đã học và tìm hiểu xây dựng mô hình cánh tay robot có thểhoạt động và lập trình được
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là mô hình cánh tay robot sử dụng mạch Arduino
để điều khiển Nghiên cứu tổng quan về cấu tạo nguyên lý hoạt động của cánh tayrobot và mạch điều khiển
4 Phương pháp nghiên cứu khoa học
- Nghiên cứu cơ sở khoa học và thực tiễn về chế tạo, điều khiển robot
- Nghiên cứu về phương trình động học của robot
- Nghiên cứu và ứng dụng các phần gia công cơ khí để chế tạo cánh tay robot
- Nghiên cứu và ứng dụng mạch Arduino để điều khiển cánh tay robot
Trang 55 Ý nghĩa khoa học và thực tiễn đề tài
- Kết quả nghiên cứu của đề tài có thể được ứng dụng xây dựng cánh tay robot tựđộng gắp sản phẩm, dựa theo hình dáng, hay chia sản phẩm từ trên băng truyềnxếp vào thùng/khay Ngoài ra cánh tay máy còn có thể ứng dụng vào hàn, cắt haychỉ đơn giản là nâng vật nặng
- Mô hình kết quả của đề tài có thể làm thiết bị thí nghiệm thực hành tốt và trực quancho sinh viên
Chương II: Thiết kế cánh tay robot gắp sản phẩm
Về mặt truyền động và điều khiển robot được cấu tạo từ những khối cấu trúc cơ
khí hoạt động nhờ các cơ cấu tác động Về mặt kết cấu robot được chế tạo rất khác biệt nhau nhưng chúng được xây dựng từ những thành phần cơ bản như tay máy, nguồn cung cấp, bộ điều khiển Trong đó tay máy là tập hợp các bộ phận và cơ cấu
cơ khí được thiết kế và hình thành các khối có chuyển động tương đối với nhau Vì vậy trong chương 2, chúng em sẽ đi xây dựng mô hình cánh tay của robot 3 bậc Chương này gồm những nội dung sau: Ứng dụng của robot trong đề tài, thiết kế mô hình cánh tay robot, xây dựng phương trình động học cho robot 3 bậc tự do.
2.1 Thiết kế mô hình cánh tay
Hệ thống chuyển động robot công nghiệp đảm bảo cho robot có thể thực hiện cácnhiệm vụ trong không gian làm việc bao gồm các chuyển động của thân, cánh tay, cổtay giữa các vị trí hoặc chuyển động theo một quỹ đạo đặt trước Bộ phận cơ bản củarobot là: Cánh tay (gồm một số thanh nối cứng liên kết với nhau bởi các khớp mềm);thân (bệ); cổ tay; bàn tay
● Khớp robot
Trang 6Khớp là khâu liên kết hai thanh nối có chức năng truyền chuyển động để thựchiện di chuyển của robot.
Khớp robot gồm hai loại: khớp tịnh tiến và khớp quay
● Bàn tay robot ( cơ cấu tác động cuối)
Bàn tay được gắn lên cổ tay robot đảm bảo cho robot thực hiện các nhiệm vụkhác nhau trong không gian làm việc Cơ cấu bàn tay có hai dạng khác nhautùy theo chức năng của robot trong dây chuyền sản xuất: cơ cấu tay kẹp và cơ
Trang 7cấu dụng cụ (Các dụng cụ là: mũi hàn, dụng cụ cắt đá, mài đá, một bình sơn, cơcấu hàn điểm, hàn hồ quang )
● Mô hình robot được thiết kế
2.2 Ứng dụng và lợi ích của cánh tay robot
Ứng dụng
- Ứng dụng của cánh tay robot trong công nghiệp rất đa dạng, tùy vào những ngànhnghề, công việc khác nhau mà ta có thể áp dụng những robot công nghiệp riêng biệt.Dưới đây là một số ngành trong hệ thống sản xuất mà áp dụng robot công nghiệp
- Công nghiệp đúc: cánh tay robot làm nhiệm vụ rót kim loại nóng chảy vào khuôn,cắt mép thừa, làm sạch vật đúc hoặc làm tăng bền vật đúc bằng cách phun cát
- Ngành gia công áp lực: các quá trình hàn và nhiệt luyện thường bao gồm nhiều côngviệc độc hại và ở nhiệt độ cao, điều kiện làm việc khá nặng nề, dễ gây mệt mỏi nhất là
ở trong các phân xưởng rèn dập
- Ngành gia công và lắp ráp: cánh tay robot thường được sử dụng vào những việc nhưtháo lắp phôi và sản phẩm cho các máy gia công bánh răng, máy khoan, máy tiện bán
tự động
- Cánh tay robot được sử dụng để thực hiện các công đoạn lắp ráp linh kiện điện tử,
xử lý các công cụ máy và hàn hồ quang
- cánh tay robot sử dụng trong ngành sản xuất ô tô
Lợi ích
- Cài đặt nhanh: Ngay cả các nhân viên vận hành chưa được đào tạo cũng ngạc nhiênkhi lần đầu tiên cài đặt cánh tay robot Tháo gỡ, lắp ráp robot và lập trình nhiệm vụđơn giản, đầu tiên thường chỉ mất ít hơn 1 giờ làm việc Theo trải nghiệm của kháchhàng chúng tôi, thời gian trung bình để tiến hành cài đặt hoàn chỉnh chỉ mất nửa ngày
Trang 8- Lập trình đơn giản: Việc lập trình trên các cánh tay robot dễ dàng nhanh chóng chonên các nhân viên không có nhiều kinh nghiệm vẫn có thể nhanh chóng lập trình cánhtay robot nhờ hiển thị 3D trực quan được cấp bằng sáng chế Tất cả những gì nhânviên vận hành cần làm là di chuyển cánh tay robot đến tọa độ mong muốn hoặc chạmvào các phím mũi tên trên máy tính bảng có màn hình cảm ứng dễ sử dụng
- Triển khai linh hoạt: Ngày nay các cài đặt sản phẩm cần linh hoạt và nhanh chóng đểđáp ứng các nhu cầu không ngừng thay đổi và mang tính cạnh tranh cao cánh tayrobot không bao giờ hạn chế bạn; ngược lại, những cánh tay robot gọn nhẹ dễ dàng dichuyển và tái triển khai sang các quy trình mới, cho phép bạn tự động hóa hầu như bất
kỳ công việc thủ công nào, kể cả công việc với phạm vi hoạt động rất nhỏ hoặc thayđổi liên tục
- Nâng cao hiệu quả lao động: Nhờ được lập trình sẵn với các chức năng tương tự nhưcánh tay người, các thiết bị này được ứng dụng vào rất nhiều lĩnh vực khác nhau vớimức năng suất cực kỳ hiệu quả, từ: hàn, sơn, lắp ráp các bảng mạch in, dán nhãn, hỗtrợ xử lý vật liệu, kiểm tra sản phẩm và thử nghiệm…
- Tiết kiệm không gian và chi phí: Không cần phải sử dụng đến nhiều nguồn lực haycác máy móc to lớn, 1 cánh tay robot 3 bậc có thể dư sức hoàn thành các công việc 1cách nhanh chóng, giúp tiết kiệm chi phí thuê nhân công, chi phí bảo trì, bảo dưỡngmáy móc, chi phí thuê mặt bằng…
- Hạn chế sai sót: Với sự lập trình, tính toán cẩn thận trong từng chi tiết, những cánhtay robot chắc chắn sẽ đảm bảo mọi thao tác được tiến hành một cách chuẩn xác, Điều
đó có nghĩa là chúng ta sẽ chẳng bao giờ để xảy ra các lỗi sai, các vấn đề trục trặctrong quá trình sản xuất
Chương III: Phân tích và thiết kế mô hình
3.1 Sơ đồ điều khiển vị trí cánh tay
Trang 9Bài toán điều khiển cánh tay robot là đưa khâu chấp hành đến vị trí làm việc mongmuốn Nguyên lý điều khiển trí cánh tay được trình bày như Hình được so sánh vớicác giá trị thông khớp hiện tại được mắt người phản hồi về, sai lệch sẽ qua bộ điềukhiển tác động đến các động cơ của cánh tay Từ các thông số khớp hiện tại được lấyliên tục từ mắt, vị trí hiện tại của khâu chấp hành sẽ tính được theo thời gian thực.
3.2 Các thiết bị sử dụng trong mô hình
Để có thể hoàn thành hệ thống thì phần cứng là một trong những yêu tố quan trọng nhất Chương này sẽ giới thiệu về các phần cứng sử dụng trong hệ thống và theo sau
đó là các thông số kỹ thuật cũng như cái nhìn chung về cách kết nối phần cứng
3.2.1 Arduino
● Giới thiệu về Arduino
Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết
bị phần cứng như cảm biến, động cơ, đèn hoặc một số thiết bị khác Lý doArduino được biết đến rộng rãi là nhờ môi trường phát triển ứng dụng cực kỳ
dễ sử dụng, ngôn ngữ lập trình dễ tiếp cận Hơn cả thế nữa điều đặc biệt nhấttạo nên cộng đồng Arduino mạnh mẽ là vì Arduino có mức giá rất thấp, mãnguồn từ phần cứng đến phần mềm đều mở
● Giới thiệu Arduino Uno
Trang 10 Vi điều khiển
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,ATmega168, ATmega328 Bộ não này có thể xử lý những tác vụ đơn giản nhưđiều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, làm mộttrạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD
Năng lượng
Trang 11Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồnngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Nếu cấpnguồn vượt quá ngưỡng giới hạn trên sẽ làm hỏng Arduino UNO.
Các chân năng lượng
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi dùng cácthiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nốivới nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, nối cực dương củanguồn với chân này và cực âm của nguồn với chân GND
IOREF: Điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo
ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy chúng ta không được lấynguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấpnguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương vớiviệc chân RESET được nối với GND qua 1 điện trở 10KΩ
Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
● 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong
bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong
số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nàocần quá 20KB bộ nhớ này đâu
● 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạnkhai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thìcàng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộnhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệutrên SRAM sẽ bị mất
Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc vàghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điệngiống như dữ liệu trên SRAM
Trang 12 Các cổng vào/ra
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ởmỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiểnATmega328 (mặc định thì các điện trở này không được kết nối)
Một số chân digital có các chức năng đặc biệt như sau:
● 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp vớithiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nóinôm na chính là kết nối Serial không dây Nếu không cần giao tiếpSerial, bạn không nên sử dụng 2 chân này nếu không cần thiết
● Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWMvới độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằnghàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh đượcđiện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V
và 5V như những chân khác
● Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoàicác chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệubằng giao thức SPI với các thiết bị khác
● LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khibấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nốivới chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chânAREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các
Trang 13chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùngcác chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giảivẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếpI2C/TWI với các thiết bị khác
3.2.2 Động cơ servo
- Động cơ servo có góc quay 0-180o
- Động cơ servo được thiết kế cho những hệ thống hồi tiếp vòng kí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
- Chức năng chính của Servo đó là điều khiển vị trí, thay đổi tốc độ chính xác, điềuchỉnh momen phù hợp với những ứng dụng công việc
Động cơ RC servo 9G
Động cơ RC Servo 9G là động phổ biến dùng trong các mô hình điều khiển nhỏ vàđơn giản như cánh tay robot Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵnDriver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độrộng xung PWM
Đặc điểm:
- Kích thước: 23mmX12.2mmX2i9mm
- Trọng lượng: 9 gam
Trang 153 Phần mềm điều khiển
3.3.1: Phần mềm Arduino IDE
Hình 3.1: Giao diện phần mềm IDE
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng
crossplatform (nền tảng) được viết bằng Java, và từ IDE này sẽ được sử
dụng cho ngôn ngữ lập trình xử lý (Processing programming language) và
project Wiring Nó được thiết kế để dành cho những người mới tập làm
quen với lĩnh vực phát triển phần mềm Nó bao gồm một chương trình code
editor với các chức năng như đánh đầu cú pháp, tự động brace matching, và
tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên
board chỉ với 1 cú nhấp chuột Một chương trình hoặc code viết cho
Arduino được gọi là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèmvới một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thểgiúp các thao tác input/output được dễ dàng hơn Người dùng chỉ cần định nghĩa 2hàm để tạo ra một chương trình vòng thực thi (cyclic executive) có thể chạy được
- setup() : hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài
đặt
- loop() : hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm
cho một bóng đèn Led sáng/tắt Trong môi trường Arduino, ta sẽ phải viết
một chương trình giống như sau: