Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghiệp hóa, hiện đại hóa và sự phát triển của cuộc Cách mạng Công nghiệp 4.0, nhu cầu sản xuất linh kiện, chế tạo máy móc và sản xuất hàng hóa số lượng lớn đòi hỏi các dây chuyền sản xuất phải liên tục nâng cao tính tự động. Trong đó, công đoạn sắp xếp và phân loại sản phẩm là mắt xích thiết yếu nhằm tiết kiệm thời gian, nhân lực và chi phí sản xuất. Việc ứng dụng robot công nghiệp với khả năng hoạt động linh hoạt, độ chính xác cao và làm việc bền bỉ trong các môi trường nguy hiểm hoặc độc hại là giải pháp tối ưu thay thế thao tác thủ công của con người.
Tuy nhiên, tại Việt Nam, robot công nghiệp chưa xuất hiện phổ biến trong các dây chuyền sản xuất quy mô vừa và nhỏ do giá thành nhập khẩu thiết bị từ nước ngoài còn quá cao. Nhằm hướng tới mục tiêu nội địa hóa sản phẩm, tối ưu hóa thuật toán điều khiển phù hợp với điều kiện sản xuất trong nước và tạo công cụ thí nghiệm trực quan cho sinh viên, đề tài "Cánh tay Robot phân loại sản phẩm theo màu sắc" được tác giả Nguyễn Đức Thịnh thực hiện tại Khoa Công nghệ Kỹ thuật Điện – Điện tử, Trường Đại học Công nghiệp Thực phẩm TP.HCM (2017).
Nhiệm vụ nghiên cứu trọng tâm của đồ án bao gồm:
- Nghiên cứu tổng quan lịch sử phát triển, các tiêu chuẩn và phân loại cấu trúc cánh tay robot công nghiệp.
- Tìm hiểu và khảo sát cấu trúc phần cứng của hệ thống, bao gồm các dòng board vi điều khiển Arduino (Uno, Mega 2560), cảm biến nhận dạng màu sắc TCS3200, cơ cấu chấp hành động cơ RC Servo và kết cấu cơ khí cánh tay robot.
- Nghiên cứu nguyên lý giao tiếp, phương pháp kết nối linh kiện và xây dựng thuật toán điều khiển trên môi trường Arduino IDE.
- Xây dựng mô hình thực nghiệm và đánh giá khả năng phân loại sản phẩm theo 3 màu sắc cơ bản (đỏ, xanh lá cây, vàng) phục vụ mục đích học tập tại các phòng thí nghiệm cao đẳng, đại học và định hướng ứng dụng sản xuất.
Đối tượng nghiên cứu là hệ thống cánh tay robot nhiều bậc tự do sử dụng động cơ servo RC, tích hợp cảm biến màu sắc quang học TCS3200 và bộ điều khiển nhúng vi xử lý. Phạm vi nghiên cứu tập trung vào việc thiết kế mô hình mẫu, lập trình điều khiển logic tuần tự và thử nghiệm phân loại các sản phẩm mẫu có màu sắc xác định trước.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và tiêu chuẩn áp dụng
Đồ án tổng hợp hệ thống lý thuyết về robot học từ các mốc lịch sử và tiêu chuẩn kỹ thuật quốc tế:
- Lịch sử và nguyên tắc Robot học: Thuật ngữ "Robot" xuất hiện lần đầu năm 1922 trong tác phẩm kịch "Rossum’s Universal Robot" của Karel Čapek. Đến thập niên 1940, nhà văn Isaac Asimov đưa ra khái niệm "Robotics" cùng 3 nguyên tắc cơ bản: (1) Robot không được làm hại con người; (2) Robot phải tuân thủ mệnh lệnh của con người trừ khi vi phạm nguyên tắc thứ nhất; (3) Robot phải bảo vệ sự sống của chính mình nhưng không được vi phạm hai nguyên tắc trước.
- Tiêu chuẩn phân loại:
- Tiêu chuẩn công nghiệp Nhật Bản JISB 0134-1979: Phân loại robot công nghiệp bao gồm cả nhóm tay máy điều khiển bằng tay đến tự động.
- Tổ chức Tiêu chuẩn hóa Quốc tế (ISO): Định nghĩa robot công nghiệp là tay máy đa mục tiêu, có nhiều bậc tự do, dễ dàng lập trình, điều khiển tự động nhằm vận chuyển phôi, dụng cụ hoặc thiết bị phục vụ chu trình sản xuất linh hoạt.
- Phân loại cấu trúc cánh tay robot (Arm Robot):
- Robot Cartesian / Gantry Robot: Hoạt động theo hệ tọa độ Descartes với 3 khớp trượt lăng trụ.
- Robot tọa độ trụ (Cylindrical Robot): Cấu tạo gồm khớp quay và khớp trượt theo hệ tọa độ trụ.
- Robot hình cầu / Polar Robot: Chuyển động dựa trên hệ tọa độ cực.
- Robot SCARA (Selective Compliance Articulated Robot Arm): Có hai khớp quay song song, chuyên dụng trong thao tác chọn - đặt (pick and place).
- Robot khớp nối (Articulated Robot): Tay máy có ít nhất 3 khớp quay linh hoạt.
- Robot song song (Parallel Robot): Điển hình là cấu trúc 3-PRS với các cánh tay liên kết song song.
Phương pháp nghiên cứu
- Phương pháp tổng hợp và phân tích tài liệu: Thu thập, đối chiếu tài liệu kỹ thuật chuyên ngành cơ điện tử, datasheet linh kiện điện tử và tài liệu chuẩn quốc tế về robot công nghiệp.
- Phương pháp thiết kế và tích hợp hệ thống: Lựa chọn giải pháp điều khiển mã nguồn mở, module hóa các khối phần cứng (khối điều khiển, khối cảm biến, khối chấp hành, khối nguồn) và ghép nối tín hiệu số/tương tự.
- Phương pháp lập trình cấu trúc thực thi tuần hoàn (Cyclic Executive): Ứng dụng ngôn ngữ C/C++ thông qua lõi phần mềm Wiring trên nền tảng Arduino IDE để xử lý tín hiệu xung PWM và xung tần số từ cảm biến.
Thiết kế và triển khai
Kiến trúc phần cứng
Hệ thống điều khiển phân loại sản phẩm tự động bao gồm các khối thành phần kỹ thuật:
| Thành phần | Mã thiết bị / Thông số kỹ thuật | Vai trò trong hệ thống |
|---|---|---|
| Khối vi điều khiển | Board Arduino Uno (Chip Atmega328) / Mega 2560 (Atmega2560) | Xử lý trung tâm, đọc tần số cảm biến, xuất xung PWM điều khiển góc quay servo |
| Khối cảm biến màu | Module TCS3200 (Chip TAOS TCS3200 RGB + 4 LED trắng) | Cảm biến màu sắc, chuyển đổi cường độ quang học thành chuỗi xung vuông có tần số tỉ lệ |
| Động cơ khớp cơ sở/nâng | RC Servo Digital FR1510 (Trọng lượng: 60g; Lực kéo: 17kg/cm; Bánh răng kim loại; Dòng: >600mA) | Đảm nhiệm các bậc tự do chịu tải chính: xoay trục đế, nâng hạ trục cánh tay |
| Động cơ kẹp và cổ tay | RC Servo 9G (Khối lượng: 9g; Kích thước: 22.32 mm; Momen xoắn: 1.8kg/cm; Tốc độ: 60°/0.1s; Điện áp: 4.8V - 5V) | Điều khiển mở/đóng kẹp gắp sản phẩm và điều chỉnh góc cổ tay |
| Khung cơ khí | Khung cánh tay robot đa bậc tự do | Liên kết các trục động cơ và tạo bán kính hoạt động gắp - đặt |
Thông số kỹ thuật các dòng vi điều khiển khảo sát
| Thông số kỹ thuật | Arduino Uno (ATmega328) | Arduino Mega 2560 (ATmega2560) |
|---|---|---|
| Điện áp hoạt động | 5V DC | 5V DC |
| Điện áp vào khuyến nghị / giới hạn | 7 – 12V / 6 – 20V | 7 – 12V / 6 – 20V |
| Chân Digital I/O (Chân PWM) | 14 chân (6 chân PWM) | 54 chân (15 chân PWM) |
| Chân Analog Input | 6 chân (độ phân giải 10-bit) | 16 chân (độ phân giải 10-bit) |
| Dòng điện DC trên mỗi chân I/O | 40 mA | 40 mA |
| Bộ nhớ Flash | 32 KB (chứa bootloader) | 256 KB (8 KB dùng cho bootloader) |
| SRAM | 2 KB | 8 KB |
| EEPROM | 1 KB | 4 KB |
| Tần số thạch anh (Clock Speed) | 16 MHz | 16 MHz |
Sơ đồ đấu nối chân (Pinout Mapping)
Hệ thống sử dụng board Arduino Uno làm trung tâm điều khiển chính. Sơ đồ kết nối giữa vi điều khiển và các thiết bị ngoại vi được thiết lập cụ thể:
Bảng 1: Sơ đồ đấu nối Động cơ Servo với Arduino Uno
| Động cơ chấp hành | Dây tín hiệu (Cam) | Dây âm (Đen/Nâu) | Dây nguồn (Đỏ) |
|---|---|---|---|
| Servo 1 (Trục xoay cơ sở) | Chân Digital 7 | Chân GND | Nguồn VCC |
| Servo 2 (Trục nâng cánh tay) | Chân Digital 6 | Chân GND | Nguồn VCC |
| Servo 3 (Trục vươn cánh tay) | Chân Digital 5 | Chân GND | Nguồn VCC |
| Servo 4 (Trục cổ tay) | Chân Digital 4 | Chân GND | Nguồn VCC |
| Servo 5 (Kẹp gắp) | Chân Digital 3 | Chân GND | Nguồn VCC |
Bảng 2: Sơ đồ đấu nối Cảm biến màu sắc TCS3200 với Arduino Uno
| Chân Module TCS3200 | Chân kết nối Arduino Uno | Chức năng kỹ thuật |
|---|---|---|
| VCC | 5V | Cấp nguồn hoạt động |
| GND / OE | GND | Nối đất / Chân cho phép tần số đầu ra (kích hoạt mức LOW) |
| S0 | Chân Digital 12 | Lựa chọn tỉ lệ chia tần số đầu ra (Output frequency scaling) |
| S1 | Chân Digital 13 | Lựa chọn tỉ lệ chia tần số đầu ra (Output frequency scaling) |
| S2 | Chân Digital 11 | Lựa chọn loại bộ lọc Photodiode (Đỏ, Xanh lá, Xanh dương, Không lọc) |
| S3 | Chân Digital 10 | Lựa chọn loại bộ lọc Photodiode |
| OUT | Chân Digital 9 | Đọc chuỗi xung tần số tỷ lệ với cường độ sáng về vi điều khiển |
Nội dung chính theo từng chương
Chương 1: Tổng quan đề tài
Chương này tập trung trình bày tính cấp thiết của việc tự động hóa khâu phân loại trong nền sản xuất hiện đại. Tác giả phân tích lý do chọn nền tảng Arduino làm trung tâm điều khiển hệ thống:
- Về phần cứng: Nền tảng mở, thiết kế module hóa, ký hiệu chân rõ ràng, hỗ trợ việc lập trình trực quan mà không đòi hỏi thiết kế mạch in phức tạp từ đầu.
- Về phần mềm: Môi trường Arduino IDE đa nền tảng (Windows, macOS, Linux) viết bằng Java, hỗ trợ soạn thảo mã lệnh, tự động đóng mở ngoặc, canh lề cú pháp và tích hợp sẵn công cụ biên dịch (GNU toolchain, AVR Libc) cùng trình nạp chip avrdude.
Chương 2: Tổng quan về cánh tay robot phân loại sản phẩm theo màu sắc
Chương 2 phác thảo lịch sử phát triển của robot công nghiệp từ sau Thế chiến II với các dòng tay máy chép hình cơ khí và thủy lực dùng trong nghiên cứu phóng xạ tại Mỹ, mô hình cánh tay robot tại nhà máy General Motors (Trenton, New Jersey), sự phát triển của các hãng công nghệ Nhật Bản (Hitachi, Mitsubishi) từ sau năm 1967 (sau khi nhập khẩu robot AMF của Mỹ) cho đến thập niên 1990. Chương này cũng phân loại chi tiết 6 dạng hình học cấu trúc của robot cánh tay và nêu bật tiềm năng mở rộng của đề tài sang nhận diện kích thước, mã vạch, mã hiệu.
Chương 3: Tổng quan thiết bị và phần mềm sử dụng
Chương này đi sâu vào chi tiết kỹ thuật của từng linh kiện:
- Phân tích chi tiết cấu trúc vi điều khiển ATmega328 (Arduino Uno) và ATmega2560 (Arduino Mega 2560).
- Giới thiệu bản chất của cảm biến: chuyển đổi đại lượng vật lý phi điện thành đại lượng điện có thể xử lý. Cảm biến TCS3200 với mảng ma trận quang học gồm các bộ lọc màu đỏ, xanh lá, xanh dương và không lọc, kết hợp bộ dao động nội tạo sóng vuông.
- Nguyên lý điều khiển động cơ servo bằng xung điều biến độ rộng xung (PWM) góc từ $0^\circ$ đến $180^\circ$ thông qua cơ chế phản hồi vòng kín. So sánh hai loại động cơ RC Servo Digital FR1510 (nhông kim loại, tải kéo lớn 17kg/cm) và RC Servo 9G (nhông nhựa, kích thước nhỏ gọn 9g).
- Giới thiệu cấu trúc chương trình Arduino cơ bản với 2 hàm tiêu chuẩn:
setup()chạy một lần khi khởi động vàloop()lặp tuần hoàn liên tục.
Chương 4: Kết nối linh kiện, nguyên lý hoạt động và lập trình
Chương 4 mô tả chi tiết sơ đồ ghép nối chân tín hiệu của 5 servo và module TCS3200. Tác giả xây dựng nguyên lý hoạt động của cánh tay robot theo chu trình máy trạng thái:
- Khởi động: Cánh tay robot được thiết lập về vị trí ban đầu (Vị trí chờ).
- Tiếp cận: Từ vị trí làm việc 1, servo 2 và 3 vươn cánh tay về phía trước (vị trí làm việc 2), đồng thời servo 4 và 5 hạ và mở rộng kẹp gắp.
- Nhận dạng: Tại vị trí làm việc 2, cảm biến TCS3200 đo cường độ ánh sáng phản xạ, chuyển đổi thành tần số và gửi về chân Digital 9 của Arduino để nhận dạng mã màu (Đỏ, Xanh lá cây hoặc Vàng).
- Xử lý phân loại:
- Sản phẩm màu Đỏ $\rightarrow$ Đưa đến Vị trí 3.
- Sản phẩm màu Xanh lá cây $\rightarrow$ Đưa đến Vị trí 4.
- Sản phẩm màu Vàng $\rightarrow$ Đưa đến Vị trí 5.
- Gắp và nâng: Servo 5 đóng kẹp giữ chặt vật phẩm; servo 2 và 3 nâng cánh tay lên cao (vị trí làm việc 6).
- Xoay và thả: Servo 1 quay trục đế cánh tay đến góc tương ứng với vị trí 3, 4 hoặc 5; servo 2 và 3 đưa cánh tay hạ xuống phía trước; servo 5 mở kẹp nhả vật phẩm.
- Phục hồi chu trình: Servo 2, 3 nâng cánh tay lên vị trí 6; servo 5 đóng lại; servo 1 quay cánh tay về vị trí làm việc 1 để tiếp tục chu trình lặp tuần hoàn cho đến khi hết sản phẩm.
Chương 5: Kết luận và hướng phát triển
Đánh giá toàn diện các nhiệm vụ đã thực hiện, những thuận lợi tại xưởng thực hành và khó khăn gặp phải trong quá trình dịch thuật tài liệu kỹ thuật tiếng Anh cũng như phân bổ thời gian. Đồng thời, chương này đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả đạt được
- Hệ thống đã kết nối hoàn chỉnh phần cứng giữa vi điều khiển Arduino Uno, module cảm biến quang TCS3200 và hệ thống 5 động cơ servo RC.
- Xây dựng thành công thuật toán điều khiển tuần tự bằng ngôn ngữ C/C++ trên Arduino IDE; chương trình chạy thông suốt, không phát sinh lỗi biên dịch và giải thuật logic đúng theo yêu cầu thiết kế.
- Mô hình thực hiện được chu trình: phát hiện vật thể, kích hoạt cảm biến đo màu sắc, phân biệt được 3 nhóm màu sắc xác định (đỏ, xanh lá, vàng) và điều khiển cơ cấu cánh tay gắp, chuyển hướng, thả vật thể vào đúng vị trí quy định.
Đóng góp của đề tài
- Cung cấp tài liệu thiết kế và mô hình mẫu về hệ thống phân loại sản phẩm tự động có chi phí thấp, linh kiện dễ tìm kiếm trên thị trường trong nước.
- Đóng góp một mô hình thực hành trực quan phục vụ việc giảng dạy, học tập và nghiên cứu chuyên sâu về vi điều khiển, cảm biến và robot học cho sinh viên tại các phòng thí nghiệm kỹ thuật.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được tác giả chỉ ra
- Nghiên cứu và thử nghiệm còn dựa nhiều trên điều kiện lý thuyết và môi trường phòng thí nghiệm mô hình mẫu.
- Độ chính xác của quá trình nhận dạng màu sắc từ cảm biến TCS3200 phụ thuộc nhiều vào cường độ ánh sáng của môi trường xung quanh, có thể dẫn đến sai số nhận dạng khi cường độ sáng thay đổi.
Hướng phát triển đề tài
- Mở rộng chức năng phân loại của hệ thống dựa trên các đặc tính khác của sản phẩm như kích thước, nhiệt độ hoặc đọc mã vạch, mã hiệu.
- Phát triển và nâng cấp cơ cấu cơ khí cùng giải thuật điều khiển để ứng dụng cánh tay robot vào các nguyên công sản xuất công nghiệp chuyên biệt như gắp linh kiện điện tử, hàn hồ quang, cắt vật liệu hoặc khoan tự động.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên, giảng viên và kỹ sư thực hành thuộc các ngành:
- Công nghệ Kỹ thuật Điện – Điện tử, Tự động hóa và Cơ điện tử: Tham khảo phương pháp tích hợp hệ thống điều khiển nhúng Arduino với cơ cấu chấp hành nhiều bậc tự do.
- Sinh viên thực hiện đồ án môn học / đồ án tốt nghiệp: Cung cấp thông số kỹ thuật chi tiết, sơ đồ ánh xạ chân (pinout) giữa Arduino Uno và cảm biến TCS3200, cùng cấu trúc mã nguồn điều khiển động cơ servo bằng xung PWM.
- Nghiên cứu ứng dụng công nghiệp nhẹ: Tham khảo giải pháp thiết kế module phân loại sản phẩm quy mô vừa và nhỏ với chi phí tối ưu.
Câu hỏi thường gặp
1. Đồ án sử dụng loại vi điều khiển nào và lý do lựa chọn nền tảng này là gì?
Tác giả khảo sát hai dòng vi điều khiển là Arduino Uno (ATmega328) và Arduino Mega 2560 (ATmega2560), trong đó Arduino Uno được chọn làm bộ điều khiển chính cho mô hình. Lý do lựa chọn là nhờ nền tảng mã nguồn mở, phần cứng module hóa dễ sử dụng, chân kết nối trực quan và môi trường phần mềm Arduino IDE hỗ trợ thư viện Wiring giúp việc lập trình, biên dịch và nạp code thuận tiện.
2. Cảm biến màu sắc TCS3200 hoạt động theo nguyên lý nào và kết nối với Arduino qua các chân nào?
Module TCS3200 sử dụng chip cảm biến quang TAOS TCS3200 kết hợp 4 đèn LED chiếu sáng trắng. Nó chuyển đổi cường độ ánh sáng của các dải màu (đỏ, xanh lá, xanh dương) thành chuỗi sóng vuông có tần số tỉ lệ trực tiếp với cường độ màu. Module được kết nối với Arduino Uno qua các chân: S0 (chân 12), S1 (chân 13), S2 (chân 11), S3 (chân 10), OUT (chân 9), VCC (5V) và OE/GND (GND).
3. Hệ thống cánh tay robot sử dụng các loại động cơ servo nào và có thông số kỹ thuật ra sao?
Hệ thống sử dụng hai loại động cơ servo RC điều khiển theo góc quay ($0^\circ - 180^\circ$):
- RC Servo Digital FR1510: Nặng 60g, nhông kim loại, lực kéo mạnh 17kg/cm, dòng tiêu thụ >600mA, dùng cho các khớp chịu tải lớn.
- RC Servo 9G: Nặng 9g, kích thước 22.32 mm, momen xoắn 1.8kg/cm, tốc độ $60^\circ$ trong 0.1 giây, bánh răng nhựa, dùng cho cơ cấu kẹp và khớp cổ tay.
4. Chu trình phân loại đưa sản phẩm tới các vị trí đích nào tương ứng với từng màu sắc?
Dữ liệu nhận dạng từ cảm biến sau khi được Arduino xử lý sẽ điều khiển servo đưa sản phẩm về các vị trí quy định:
- Màu Đỏ: Vận chuyển đến Vị trí 3.
- Màu Xanh lá cây: Vận chuyển đến Vị trí 4.
- Màu Vàng: Vận chuyển đến Vị trí 5.
5. Hạn chế kỹ thuật lớn nhất tác giả ghi nhận trong quá trình thử nghiệm hệ thống là gì?
Hạn chế lớn nhất là khả năng sai lệch nhận dạng màu của cảm biến TCS3200 khi hoạt động trong môi trường có cường độ ánh sáng dao động hoặc thay đổi, do cảm biến đo đạc trực tiếp cường độ quang học phản xạ từ bề mặt sản phẩm.
Kết luận
Đồ án "Cánh tay Robot phân loại sản phẩm theo màu sắc" của tác giả Nguyễn Đức Thịnh đã thiết kế và chế tạo thành công mô hình cơ điện tử ứng dụng vi điều khiển Arduino Uno và cảm biến TCS3200 để phân loại tự động 3 nhóm màu sản phẩm. Nghiên cứu giải quyết tốt bài toán điều khiển nhiều bậc tự do sử dụng động cơ RC Servo kết hợp thuật toán điều khiển tuần hoàn, đảm bảo hệ thống vận hành đúng quy trình logic đề ra. Đây là công trình thực nghiệm có tính ứng dụng cao trong công tác đào tạo thực hành tại các trường đại học, cao đẳng, đồng thời đặt nền móng cho việc mở rộng các tính năng phân loại công nghiệp phức tạp hơn trong tương lai.