CÁC NHIỆM VỤ CỤ THỂ CỦA ĐỀ TÀI - Xây dựng mô hình Robot Delta - Thi công tủ điều khiển - Xây dựng chương trình điều khiển PLC, chương trình xử lý ảnh và xây dựng ứng dụng điều khiển liên
TỔNG QUAN
GIỚI THIỆU ROBOT DELTA
Robot Delta, được phát triển bởi giáo sư Reymond Clavel tại École Polytechnique Fédérale de Lausanne từ những năm 1980, là một loại robot công nghiệp có cấu trúc cơ học đặc biệt, nổi bật với khả năng vượt trội trong các lĩnh vực đòi hỏi tốc độ và độ chính xác cao, làm nổi bật sự khác biệt của nó trong ngành tự động hóa
Robot Delta có cấu trúc đặc trưng với ba cánh tay song song nối từ một đế cố định đến một mâm di động Mỗi cánh tay thường được cấu tạo từ hai thanh nối cứng, được điều khiển bởi ba động cơ đặt trên đế cố định Đặc điểm này giúp mâm di động của robot Delta có thể hoạt động linh hoạt trong không gian ba chiều, nhưng chỉ giới hạn trong một vùng làm việc nhất định
Hình 1 1: Hình ảnh Robot Delta
2 Ưu Điểm Của Robot Delta
- Tốc Độ Cao : Nhờ cấu trúc nhẹ và linh hoạt, robot Delta có khả năng di chuyển nhanh chóng, thường được dùng trong các dây chuyền sản xuất cần tốc độ cao như đóng gói, lắp ráp linh kiện, và phân loại sản phẩm.
- Độ Chính Xác Cao : Với thiết kế cơ học ổn định, robot Delta đảm bảo tính chuẩn xác trong các tác vụ đòi hỏi sự tỉ mỉ như gắp, đặt các chi tiết nhỏ trong dây chuyền sản xuất
- Linh Hoạt: Robot Delta dễ dàng lập trình để thực hiện nhiều nhiệm vụ khác nhau
- Tiết Kiệm Không Gian : Thiết kế nhỏ gọn và vùng làm việc tập trung giúp robot Delta tiết kiệm không gian trong các nhà máy sản xuất
Với các đặc tính nổi trội Robot Delta được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau Dưới đây là 1 số ví dụ cụ thể:
- Ứng dụng trong công nghiệp : Phân loại và đóng gói các sản phẩm công nghiệp…
- Ứng dụng trong y học : Đóng gói và kiểm tra chất lượng các sản phẩm y tế…
- Ngành Tự Động Hóa : Thực hiện các nhiệm vụ gắp, đặt và phân loại trong dây chuyền sản xuất tự động…
MỤC TIÊU , NHIỆM VỤ ĐỀ TÀI
- Củng cố kiến thức đã học
- Phát triển mô hình robot Delta với cấu trúc cơ học tối ưu cho việc phân loại sản phẩm
- Đảm bảo robot phải hoạt động đúng với các tiêu chí đặt ra là ổn định, chính xác và hiệu quả
- Đảm bảo hệ thống nhận diện chính xác các màu sắc khác nhau của sản phẩm (cụ thể là 3 màu xanh, đỏ, vàng)
- Thử nghiệm robot trong thực tế để đánh giá hiệu suất, điều chỉnh và tối ưu hoá hệ thống để đạt được hiệu quả cao
- Tìm hiểu cấu trúc và nguyên lý hoạt động của robot Delta
- Nghiên cứu các công nghệ nhận diện màu sắc hiện đại
- Tiến hành chế tạo các bộ phận cơ khí, điện tử của robot và lắp ráp hoàn chỉnh robot
- Phát triển phần mềm xử lý ảnh
- Tiến hành thử nghiệm thực tế và đánh giá khả năng làm việc của robot
- Thu thập dữ liệu sau đó phân tích đưa ra các điều chỉnh hệ thống để cải thiện hiệu quả hoạt động
- Tổng hợp kết quả trong quá trình thử nghiệm, đưa ra các đề xuất về việc ứng dụng robot Delta trong các lĩnh vực khác nhau nhằm nâng cao hiệu quả sản xuất và chất lượng sản phẩm.
Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI
Những kết quả nghiên cứu của robot Delta phân loại sản phẩm theo màu tạo ra tiềm năng lớn cho nhiều ứng dụng trong nghiên cứu Ngoài ra việc nghiên cứu robot Delta kết hợp xử lý ảnh có thể giúp robot Delta nhận diện và định vị vật thể trong không gian làm việc, theo dõi đối tượng một cách tự động và chính xác Điều này mở ra nhiều tiềm năng ứng dụng trong lĩnh vực tự động hóa, sản xuất công nghiệp, y tế, nông nghiệp thông minh và nhiều lĩnh vực khác
Nhóm đã triển khai kiến thức để phát triển hệ thống Robot Delta, dựa trên cơ sở lý thuyết, thiết kế cơ khí, thuật toán điều khiển và xử lý ảnh, nhằm đạt được các mục tiêu sau:
- Tiết kiệm thời gian, chi phí và giảm sức lao động
- Đảm bảo tính chính xác trong quy trình sản xuất
- Mở ra tiềm năng trong lĩnh vực tự động hóa Điều này cũng mang đến đóng góp quan trọng cho nghiên cứu trong nhiều lĩnh vực.
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.4.1 Đồi tượng nghiên cứu Đối tượng nghiên cứu trong đề tài là Robot Delta, sử dụng PLC S7-1200 kết hợp với công nghệ xử lý ảnh nhằm mục đích phân loại sản phẩm theo màu sắc Bằng cách nghiên cứu tổng quan các khía cạnh về Robot Delta, đề tài sẽ cung cấp một cái nhìn toàn diện về việc ứng dụng robot Delta trong việc phân loại sản phẩm theo màu sắc
Do kiến thức của nhóm nghiên cứu có hạn, nên đề tài xin phép được giới hạn trong việc triển khai các thuật toán xử lý ảnh và điều khiển hợp lý, kiểm chứng bằng cách kiểm nghiệm trên mô hình
- Nhận diện và phân loại được sản phẩm theo màu
- Thiết kế tập bản vẽ cơ khí và điện - điện tử của hệ thống
- Thiết kế giao diện điều khiển và giám sát
- Thiết kế mô hình kiểm nghiệm.
CƠ SỞ LÝ THUYẾT
PHƯƠNG TRÌNH ĐỘNG LỰC HỌC ROBOT DELTA
Hình 2 1: Cấu tạo cơ bản của robot Delta [1]
Như hình (Hình 2.1) cho thấy, cấu tạo Robot Delta bao gồm các bộ phận sau:
- Bàn cố định F nằm ở phía trên
- Bàn di động E nằm ở phía dưới
- Ba cánh tay chủ động F J 1 1 , F J 2 2 và F J 3 3 liên kết với bàn cố định F và được dẫn động bởi 3 động cơ được gắn chặt với bàn máy cố định F
- Ba cánh tay bị động J E 1 1 , J E 2 2 và J E 3 3 có cấu trúc hình bình hành giống nhau liên kết ba cánh tay chủ động với bàn di động E Cơ cấu hinh của ba cánh tay bị động đảm bảo chuyển động của bàn di động là chuyển động tịnh tiến
- Biến điều khiển 1 , 2 , 3 được xác định bằng quy tắc bàn tay phải [1]
2.1.2 Động học thuận của robot Delta r f r e z x y
Hình 2 2: Mô hình động học robot delta [1]
- Các thông số của robot delta:
- Độ dài cạnh tam giác của bàn cố định f
- Độ dài cạnh tam giác của bàn di động e
- Độ dài khâu chủ động rf
- Độ dài khâu bị động re
Bài toán động thuận của robot detal là bài toán xác định tọa độ điểm
E x y z dựa trên các giá trị của các góc 1 , 2 , 3 [1]
Nếu đã biết góc 1 , 2 , 3 , thì ta có thể tìm thấy tọa độ của các điểm J 1 , J 2 và
J 3 Các khớp nối J E 1 1, J E 2 2 và J E 3 3 có thể tự do xoay quanh các điểm J 1 , J 2 và
J 3 tương ứng, tạo thành ba hình cầu có bán kính r e [1]
Hình 2 3: Mô hình động học robot delta [1]
Di chuyển tâm của các hình cầu từ các điểm J 1 , J 2 và J 3 đến các điểm J 1 ' , J 2 ' và J 3 ' bằng cách sử dụng các vector E E 1 0 , E E 2 0 và E E 3 0 tương ứng Sau khi di chuyển, tất cả ba mặt cầu sẽ giao nhau tại điểm E 0 , như hình (Hình 2.3) [1]
Hình 2 4: Mô hình động học robot delta [1]
Từ hình (Hình 2.4) ta tìm được tọa độ các điểm J 1 , J 2 và J 3
2 ( cos 2) cos 30 ; ( cos 2) sin 30 ; cos 2
3 ( cos 3) cos 30 ; ( cos 3) sin 30 ; cos 3
Giả sử tọa độ của các điểm J 1 , J 2 , J 3 lần lượt là ( , x y z 1 1 , ) 1 , ( x y z 2 , 2 , 2 ),
( , x y z , ) và ta có x 1 = 0, thì suy ra được hệ ba phương trình mặt cầu như sau:
10 Thế (2.14), (2.15) vào phương trình (1) của hệ phương trình (2.10), ta có:
(a +a +1)z +2(a +a b( −y )−z z) +(b +(b −y ) + −z r e )=0 (2.21) Cuối cùng, giải phương trình ta tìm được z 0 (nên chọn gốc phương trình âm nhỏ nhất), và sau đó tính x 0 và y 0 từ (2.14) và (2.15) [1]
2.1.3 Động học nghịch của robot Delta
Bài toán động nghịch của robot detal là bài toán xác định các giá trị của các góc 1 , 2 , 3 dựa trên tọa độ điểm E x y z 0 ( ; 0 0 ; 0 )
Như hình có thể thấy khớp nối F J 1 1 của robot chỉ có thể xoay trong mặt phẳng YZ, tạo thành hình tròn với tâm tại điểm F 1 và bán kính r f Ngược lại với F 1 , J 1 và E 1 được gọi là khớp vạn năng , nghĩa là E J 1 1 có thể quay tự do tương đối với E 1, tạo thành hình cầu có tâm tại điểm E 1và bán kính r e [1]
Hình 2 5: Minh hoạ động học của cánh tay đòn [1]
11 Giao điểm của mặt cầu này và mặt phẳng YZ là một đường tròn có tâm tại điểm E ' 1 và bán kính E J ' 1 1 , trong đó E ' 1 là hình chiếu của điểm E 1 trên mặt phẳng YZ Điểm J 1 bây giờ có thể tìm thấy được dưới dạng giao điểm của các đường tròn có bán kính đã biết có tâm ở E ' 1 và F 1 (chúng ta chỉ nên chọn một điểm giao nhau có tọa độ Y nhỏ hơn) Và nếu chúng ta biết J 1, chúng ta có thể tính được góc 1 [1] z y
Xét tam giác bàn di động ta có:
12 Suy ra tọa độ của điểm E 1 ' :
Ta có hệ phương trình như sau:
Suy ra tọa độ điểm J 1:
Từ đó ta tìm được góc 1 :
Khớp F J 1 1 chỉ di chuyển trong mặt phẳng YZ, nên ta có thể bỏ qua tọa độ X Để tận dụng điều này cho các góc còn lại 2 và 3 , ta nên sử dụng tính đối xứng của delta robot Để làm điều này, trước hết, ta xoay hệ tọa độ trong mặt phẳng
XY xung quanh trục Z một góc 120° ngược chiều kim đồng hồ [1]
Hình 2 7: Quy đổi toạ độ [1]
Ta đã có một khung tham chiếu mới X'Y'Z', và từ khung này, ta có thể tính góc 2 bằng cách sử dụng cùng thuật toán như khi tìm 1 Điểm khác biệt duy nhất là ta cần xác định tọa độ mới x'0 và y'0 cho điểm E 0, có thể dễ dàng thực hiện bằng cách sử dụng ma trận xoay tương ứng Để tìm góc 3, ta phải xoay khung tham chiếu theo chiều kim đồng hồ [1].
TỔNG QUAN VỀ CÔNG NGHỆ XỬ LÝ ẢNH
2.2.1 Các khái niệm xử lý ảnh
Xử lý ảnh là một trong những lĩnh vực khoa học máy tính và kỹ thuật điện tử liên quan đến việc xử lý các hình ảnh số thông qua các phương pháp và thuật
14 toán Mục đích việc xử lý ảnh có thể là để cải thiện chất lượng hình ảnh, trích xuất thông tin từ ảnh, hoặc thậm chí là tạo ra những hiệu ứng đặc biệt Xử lý ảnh sự kết hợp từ kiến thức của các lĩnh vực như toán học, thống kê, và trí tuệ nhân tạo để giải quyết các vấn đề liên quan đến việc xử lý và phân tích hình ảnh [2] a Hình ảnh
Một hình ảnh là một tập hợp các điểm ảnh được sắp xếp trên một không gian hai chiều, mỗi điểm ảnh được xác định bởi các tọa độ không gian (x, y) và có một giá trị biểu thị cường độ tại điểm đó Hình ảnh thường được biểu diễn bằng một ma trận hai chiều, trong đó mỗi phần tử của ma trận tương ứng với một pixel trong hình ảnh và chứa giá trị cường độ của pixel đó [2]
Hình 2 8: Biểu diễn ảnh dưới dạng ma trận b Pixel
Pixel viết tắt của "Picture Element" (phần tử hình ảnh), là đơn vị nhỏ nhất trong một hình ảnh số Mỗi pixel đại diện cho một điểm ảnh trên không gian hai chiều của hình ảnh và chứa thông tin về cường độ màu tại điểm đó Quá trình số hóa ảnh chuyển đổi từ tín hiệu analog sang tín hiệu số và lượng tử hóa cường độ mà mắt thường của chúng ta không phân biệt được các điểm kề nhau Trong quá trình này, hình ảnh được chia thành một lưới các ô vuông nhỏ, mỗi ô vuông đại diện cho một pixel Mỗi pixel thường được biểu diễn bằng một số bit màu, thường là 1, 2, 8 hoặc 24 bit, để đại diện cho màu sắc của nó Số bit càng cao thì số lượng màu sắc khả dụng cho mỗi pixel càng nhiều, từ màu đơn sắc đến màu sắc phức tạp [2]
Hình 2 9: Ảnh pixel 8 bit [2] c Mức xám (Gray level)
Mức xám là giá trị số biểu diễn cường độ sáng của từng điểm ảnh trong một hình ảnh Quá trình này là kết quả của việc lượng tử hóa, trong đó mỗi giá trị cường độ sáng được ánh xạ tương ứng với một giá trị số Thông thường, quá trình này sử dụng một phạm vi giá trị số cố định, thường là 256 giá trị, mỗi giá trị được biểu diễn bằng một số bit Ví dụ, mỗi pixel trong hình ảnh thường được mã hóa bằng một chuỗi bit, thường là 8 bit, đại diện cho mức xám của pixel đó [7], [2]
Hình 2 10: Ảnh mức xám [2] d Ảnh màu Ảnh màu được hình thành bởi sự kết hợp của ba màu: đỏ, xanh lá, và xanh dương, mỗi màu được thu thập trên các dải tần khác nhau của quang phổ và có
16 thể được phân thành nhiều cấp độ khác nhau Để lưu một hình ảnh màu, thường ta lưu riêng biệt từng mặt màu, trong đó mỗi mặt màu được biểu diễn như một ảnh xám đa cấp Vì vậy, không gian lưu trữ cần cho một ảnh màu thường gấp ba không gian lưu trữ cần cho một hình ảnh xám cùng kích thước [7], [2]
Hình 2 11: Giá trị mã màu RGB [2] e Ảnh đen trắng Ảnh đen trắng là một loại hình ảnh gồm hai màu: đen và trắng Có hai loại ảnh chính: ảnh nhị phân và ảnh đa cấp xám
- Ảnh nhị phân: Được biểu diễn bởi hai giá trị mức xám, thường là 0 và
255 Mỗi pixel trong ảnh nhị phân được gán một trong hai giá trị này, thể hiện mức độ đen hoặc trắng của pixel đó Trong ảnh nhị phân, mức xám L
- Ảnh đa cấp xám: Được biểu diễn bởi nhiều hơn hai giá trị mức xám, thường là từ 0 đến 255 Mỗi pixel trong ảnh đa cấp xám được gán một giá trị xám trong phạm vi này, thể hiện mức độ sáng tối của pixel đó Ảnh đa cấp xám với mức xám L = 256 thường được sử dụng để đảm bảo chất lượng và chi tiết
Tùy thuộc vào số lượng mức xám, ảnh đen trắng có thể được sử dụng cho nhiều mục đích khác nhau như nhận dạng đối tượng, và xử lý ảnh, phân tích hình ảnh [2]
Hình 2 12: Ảnh màu và ảnh đa mức xám [2]
2.2.2 Các lý thuyết xử lý ảnh sử dụng trong đề tài a Không gian màu HSV
Hue, Saturation, và Value (HSV) là một phương pháp phân tích màu trong ảnh, trong đó mỗi pixel được biểu diễn bởi ba thuộc tính chính:
- Hue (Màu sắc): Xác định góc của màu trên vòng tròn màu RGB Màu sắc được thể hiện bằng giá trị từ 0 đến 255 trong hệ thống màu HSV Ví dụ, màu đỏ được đại diện bởi giá trị gần 0, màu xanh lục bởi giá trị gần 60, và màu xanh lam bởi giá trị gần 120
- Saturation (Độ bão hòa): Xác định lượng màu sắc trong mỗi pixel Saturation được thể hiện bằng giá trị từ 0 đến 1 trong hệ thống màu HSV Saturation cao (gần 1) tượng trưng cho màu sắc tinh khiết, trong khi saturation thấp (gần 0) tạo ra các màu sắc mờ nhạt hoặc trắng đen
- Value (Độ sáng): Xác định độ sáng của màu sắc Value được thể hiện bằng giá trị từ 0 đến 1 trong hệ thống màu HSV Value cao (gần 1) tượng trưng cho màu sắc sáng, trong khi value thấp (gần 0) tạo ra các màu sắc tối
18 Với việc mỗi pixel trong hình ảnh có độ sâu 8 bit (tương đương với 256 giá trị), các giá trị của Hue, Saturation, và Value sẽ được chuyển đổi để nằm trong dải từ 0 đến 255 thay vì khoảng từ 0 đến 360 ở Hue và từ 0 đến 1 ở Saturation và Value Tiếp đó, hàm inRange được sử dụng để chuyển đổi hình ảnh sang ảnh nhị phân, giúp dễ dàng tách vật mẫu ra khỏi nền ảnh [2]
Hình 2 13: Không gian màu HSV [2] b Xử lý hình thái học (Morphology)
Phép toán giãn nở (Dilation)
GIỚI THIỆU PHẦN CỨNG
2.3.1 Thiết bị xử lý trung tâm PLC
PLC (Programmable Logic Controller), là một thiết bị điều khiển có khả năng lập trình, thực hiện các thuật toán điều khiển logic linh hoạt bằng ngôn ngữ lập trình Người dùng có thể lập trình để thực hiện chuỗi các sự kiện, được kích hoạt bởi các tác nhân như tín hiệu vào hoặc qua các hoạt động có độ trễ như thời gian và sự kiện đếm PLC thường được sử dụng để thay thế các mạch relay trong các ứng dụng thực tế Các PLC hoạt động bằng cách quét trạng thái của đầu ra và đầu vào: khi có sự thay đổi ở đầu vào, các đầu ra sẽ thay đổi tương ứng Ngôn ngữ lập trình của PLC có thể là Ladder Logic hoặc State Logic
- Lập trình đơn giản, ngôn ngữ lập trình dễ tiếp cận
- Thiết kế nhỏ, nhẹ: Thuận tiện cho di chuyển và lắp đặt
- Dễ dàng trong quá trình bảo quản và sửa chữa
- Bộ nhớ lớn, dễ dàng nạp và xóa chương trình
- Độ chính xác và khả năng xử lý cao
- Hoạt động ổn định trong môi trường công nghiệp,
- Tích hợp giao tiếp với nhiều thiết bị [3]
Hình 2 19: Một số loại PLC thông dụng [3]
Cấu tạo của một hệ thống PLC gồm:
- Bộ nhớ chương trình: Bao gồm RAM (Random Access Memory), ROM (Read-Only Memory), và có thể dùng thêm vùng nhớ ngoài như EPROM
- Bộ xử lý trung tâm (CPU): Nơi xử lý các lệnh điều khiển từ chương trình
- Module đầu vào/đầu ra (I/O): Thường được tích hợp sẵn trên PLC, module I/O nhận tín hiệu đầu vào từ các thiết bị ngoại vi và điều khiển các thiết bị ra thông qua tín hiệu đầu ra Khi cần mở rộng số lượng I/O ta lắp thêm module I/O bổ sung
Cấu trúc này cho phép PLC nhận các tín hiệu đầu vào, thực hiện xử lý qua chương trình lập trình và điều khiển các tín hiệu đầu ra để tự động hóa và điều khiển các hoạt động trong các ứng dụng công nghiệp
Hình 2 20: Sơ đồ hệ điều khiển logic PLC
CPU trong PLC đảm nhận vai trò điều khiển các hoạt động nội bộ Bộ xử lý đọc và kiểm tra chương trình lưu trong bộ nhớ, tiếp đó thực thi từng lệnh trong chương trình và điều khiển việc kích hoạt hoặc ngưng các đầu ra Trạng thái của các đầu ra được gửi tới các thiết bị kết nối để thực hiện các chức năng cần thiết Quá trình thực thi này hoàn toàn dựa vào các chương trình điều khiển được lưu trong bộ nhớ
Hệ thống Bus trong PLC là một phần quan trọng để truyền tín hiệu Nó bao gồm:
- Data Bus: Dùng để truyền dữ liệu
- Address Bus: Dùng để truyền địa chỉ tới các module khác nhau
- Control Bus: Dùng để truyền các tín hiệu điều khiển định thời và đồng bộ hóa các hoạt động trong PLC
Theo hãng sản xuất: Siemens, Ormon, Misubishi, Alenbratlay
- PLC Siemens bao gồm các họ như S7-200, S7-300, S7-400, S7-1200, S7- 1500
- Mitsubishi có các họ như Alpha, FX, FX0, FXON, FX1N, FX2N
PLC được áp dụng trong việc điều khiển đa dạng các loại máy móc nhờ vào tính linh hoạt nó Việc thay đổi chương trình điều khiển để điều chỉnh quy trình hoạt động của các thiết bị hoặc hệ thống sản xuất tự động cũng rất dễ dàng Điều này cho phép PLC điều khiển từ các thiết bị cơ bản đến các hệ thống phức tạp [3]
Cảm biến tiệm cận (hay còn gọi là Proximity Sensors) dùng để phát hiện được sự hiện diện hoặc khoảng cách của các đối tượng gần với cảm biến
Cảm biến tiệm cận chuyển đổi tín hiệu về sự di chuyển hoặc sự xuất hiện của vật sang tín hiệu điện
Phát hiện vật mà không cần phải tiếp xúc nên không ảnh hưởng đến vật và có thể hoạt động ở khoảng cách khoảng 30mm
- Đáp ứng nhanh chóng, tuổi thọ cao
- Cảm biến nhỏ gọn, dễ lắp đặt ở nhiều vị trí
- Ít ảnh hưởng bởi môi trường làm việc
Có hai loại cảm biến tiệm cận chính:
- Cảm biến tiệm cận cảm ứng từ (Inductive Proximity Sensors): Cảm biến này thường được sử dụng cho vật thể kim loại
- Cảm biến tiệm cận điện dung (Capacitive Proximity Sensors): Cảm biến này hường được sử dụng cho vật thể không dẫn điện
- Tự động hóa công nghiệp
Hình 2 21: Một số loại cảm biến tiệm cận 2.3.3 Relay trung gian
Relay trung gian được biết đến với tên gọi rơ le trung gian, là một thiết bị có khả năng chuyển mạch tín hiệu và thực hiện khuếch đại Trong các sơ đồ điện, relay trung gian thường được đặt ở vị trí trung gian giữa thiết bị điều khiển công suất lớn và thiết bị điều khiển công suất nhỏ [5]
- Cuộn hút (Nam châm điện): Gồm lõi thép động, lõi thép tĩnh và cuộn dây Cuộn dây bên trong được dùng để tạo ra từ trường từ cường độ hoặc điện áp, hoặc có thể kết hợp cả hai Lõi thép động được định vị bằng vít điều chỉnh găng và được bọc bởi lò xo
- Mạch tiếp điểm (Mạch lực): Gồm tiếp điểm nghịch và tiếp điểm thuận Tiếp điểm nghịch thường đóng cắt tín hiệu của thiết bị tải với dòng nhỏ, và được cách ly với cuộn hút
Hình 2 22: Cấu tạo relay trung gian [5]
Khi dòng chạy qua cuộn dây của rơle, nó sẽ tạo ra một từ trường từ cuộn dây
Từ trường này sẽ tác động lên một cấu trúc cơ khí bên trong rơle, làm trạng thái của các tiếp điểm điện thay dổi, làm cho chúng mở hoặc đóng tùy thuộc vào điện áp được áp dụng Điều này cho phép rơle trung gian kiểm soát dòng điện lớn bằng cách sử dụng dòng điện nhỏ để điều khiển, tạo ra một phản ứng chuyển động cơ cơ khí để chuyển đổi trạng thái của các tiếp điểm điện [5]
Relay trung gian được áp dụng trong các hệ thống để điều khiển động cơ, đèn và thiết bị chiếu sáng, ô tô và ngành điện tử
Hình 2 23: Một số loại relay trung gian [5]
Step Motor là loại động cơ điện được điều khiển bằng các xung điện áp để quay từng bước rời rạc Nó có thể điều khiển vị trí và góc quay một cách chính xác mà không cần sử dụng bộ mã hóa Cấu trúc gồm rotor và stator với các cuộn
28 dây được cấp điện theo thứ tự nhất định để tạo ra chuyển động quay Động cơ bước được áp dụng rộng rãi trong các ứng dụng như máy in 3D, máy CNC, robot công nghiệp và tự động hóa, nhờ vào tính linh hoạt và điều khiển chính xác
Hình 2 24: Một số loại động cơ bước
• Nguyên lý hoạt động của động cơ bước: Động cơ bước không hoặt động theo các cơ chế thông thường, Động cơ bước hoạt động nhờ vào các bộ chuyển mạch điện tử Các mạch điện tử này sẽ truyền các tín hiệu của lệnh điều khiển vào stato theo thứ tự lần lượt và một tần số nhất định Tổng số góc quay của rotor tương ứng với số lần động cơ được chuyển mạch Đồng thời, chiều quay và tốc độ quay của rotor còn phụ thuộc vào thứ tự và tần số chuyển đổi của nó
Hình 2 25: Step motor làm việc nhờ vào hđ của các bộ chuyển mạch điện tử
29 Động cơ bước di chuyển theo từng bước xác định, do đó nó được sử dụng chủ yếu để điều khiển thích nghi, nghĩa là tốc độ quay thay đổi liên tục Thậm chí, động cơ bước có thể phải dừng lại và giữ ở vị trí cụ thể Vì vậy, vận tốc quay của động cơ bước được hiểu là vận tốc trung bình vtb:
THIẾT KẾ MÔ HÌNH
GIỚI THIỆU MÔ HÌNH
Với đề tài này, yêu cầu là điều khiển robot delta để phần loại sản phẩm theo màu Vì vậy nhóm thiết kế và thi công mô hình theo yêu cầu sau:
- Thiết kế cơ khí robot delta
- Thiết kế khối ngõ vào PLC với cảm biến và các nút nhấn
- Thiết kế ngõ ra PLC với các drive điều khiển step motor, các relay trung gian và khối đèn báo
- Thiết kế khối Webcam nhận và phân tích dữ liệu hình ảnh.
THI CÔNG MÔ HÌNH
THI CÔNG PHẦN CỨNG
Bảng 4 1: Danh sách các linh kiện
T Tên linh kiện Thông số Số lượng Ghi chú CÁC LINH KIỆN PHẦN CƠ KHÍ CỦA ROBOT
Chiều dài: 70cm Chiều rộng: 2cm Chiều cao: 2cm
Chiều dài: 50cm Chiều rộng: 2cm Chiều cao: 2cm
Chiều dài: 20cm Chiều rộng: 2cm Chiều cao: 2cm
4 Ke góc nhôm Kích thước 20×20mm 24
5 Đai ốc chữ T M5 Đường kính lỗ ren 5mm 48
6 Ốc lục giác M5 Chiều dài 10mm Đường kính ren 5mm 48
7 Bàn có định bằng mica Đường kính 35cm
8 Gá động cơ bước Kích thước 65x 68x 68mm 3
SI4 Đường kính lỗ trục 4mm
10 Thanh ren M4 Chiều dài 40cm Đường kính ren 4mm 6
11 Thanh cacbon Chiều dài 40cm 6
E3DV6 1 Loại ốc bắt tay đòn: M4
13 Giác hút chân không Chiều dài: 60mm 1
14 Băng tải Chiều dài: 50cm
Chiều rộng: 8cm 1 Dây belt băng tải màu trắng
15 Tủ điện Kích thước: 40x 30x 15cm 1
CÁC LINH KIỆN PHẦN ĐIỆN
18 Step motor Điện áp: 24VDC
19 Drive DM542 Điện áp làm việc: 20 ~50VDC
Dòng điện ngõ ra max: 4.2A 3
HH52P Điện áp kích: 24V Điện áp chuyển mạch AC:
240VAC Điện áp chuyển mạch DC:
21 Đế relay PYF08A Dòng định mức: 10A Điện áp định mức: 220VAC 2
3 màu: Xanh lá cây, đỏ, vàng
23 Nút nhấn nhả Điện áp tải max: 440V
Nút nhấn gồm 3 màu: Xanh lá cây,
24 Nút nhấn dừng khẩn cấp Điện áp tải max: 440V Dòng điện tải max: 10A 1
25 Nguồn tổ ong Điện áp vào: 220VAC Điện áp ra: 24VDC Dòng điện ra: 10A
LM2596S Điện áp vào: 3.2~ 40VDC Điện áp ra: 1.25~ 35VDC Dòng điện ra max: 3A
27 CB cóc Panasonic Dòng điện định mức 10A
Dòng cắt ngắn mạch 1.5KA Điện áp định mức 240VAC
PNP- NC Điện áp làm việc: 6~ 36VDC Dòng điện tiêu thụ 300mA 3
29 Bơm hút chân không Điện áp làm việc: 12VDC
Chiều dài: 1000 mm Chiều rộng: 30mm Chiều cao: 30mm
Chiều dài: 1000 mm Chiều rộng: 20mm Chiều cao: 20mm
4.1.2 Thi công mô hình a Phần cơ khí robot delta
Các thành phần chính của robot delta có thông số như sau:
- Khoảng cách từ tâm bàn cố định đến trục quay của động cơ: f = 85mm
- Chiều dài cánh tay chủ động: rf = 120mm
- Chiều dài cánh tay bị động: re = 433mm
- Khoảng cách tù tâm giác hút đến cánh tay đòn: e %mm
Hình 4 1: Cánh tay máy động cơ b Khung cố định robot
Khung cố định robot được thi công bằng nhôm định hình 20x20, kích thước của khung là 70x50x50cm
Hình 4 2: Khung cố định robot delta
55 c Động cơ điều khiển robot
Robot delta 3 bậc tự do có ba góc quay nên sẽ sử dụng 3 động cơ step motor để điều khiển 3 góc quay của robot, cùng với 3 động cơ bước sẽ kèm 3 drive để điều khiển
Hình 4 3: Vị trí 3 động cơ bước điều khiển 3 góc quay
Hình 4 4: Vị trí 3 drive DM542
Cảm biến tiệm cận sẽ phát hiện khâu chủ động để cài đặt vị trí home cho robot
Hình 4 5: Vị trí lắp cảm biến tiệm cận d Bơm hút chân không, băng tải, webcam
Sử dụng bơm hút không để robot có thể gắp và nhả sản phẩm đến đúng vị trí phân loại
Hình 4 6: Vị trí đặt bơm hút chân không
Sử dụng băng tải để đưa sản phẩm cho robot thực hiện phân loại
Hình 4 7: Vị trí đặt băng tải
Sử dụng webcam để nhận hình ảnh để máy tính phân tích phân loại sản phẩm
Hình 4 8: Vị trí lắp đặt Webcam e Tủ điện điều khiển
Hình 4 9: Nguồn cung cấp điện
Hình 4 10: Vị trí đặt PLC và Module mở rộng
Hình 4 11: Vị trí 2 relay điều khiển bơm và băng tải
Hình 4 12: Nút nhấn và đèn báo
Hình 4 13: Tủ điện hệ thống
ĐÁNH GIÁ KẾT QUẢ VÀ NHẬN XÉT
KẾT QUẢ
5.1.1 Kết quả thi công phần cứng
Sau khi thiết kế và thi công mô hình thì nhóm đã nhận kết quả như sau:
- Hoàn thiện mô hình robot delta 3 bậc tự do với với robot được gắn cố định vào khung
- Hoàn thành tủ điện gồm các thiết bị kết nối với PLC để điều khiển robot
- Đã lắp đặt băng tải để đưa sản phẩm cho robot phân loại, lắp máy bơm chân không mini để robot có thể gắp vật
- Đã lắp đặt camera để nhận dữ liệu hình ảnh để phân tích
Hình 5 1: Mô hình Robot delta hoàn chỉnh
5.1.2 Kết quả xử lý ảnh
Sau khi nhận ảnh từ Webcam, thông qua quá trình xử lý ảnh đã nhận diện được màu sắc của vật, tìm và vẽ tọa độ tâm của vật, tìm và vẽ được đường biên của vật, xác định được hình dạng củ vật Qua qua trình xử lý trên đã làm cho robot nhận dạng và gắp vật một cách chính xác
Hình 5 2: Hình ảnh sản phẩm hình chữ nhật sau khi qua quá trình xử lý ảnh
Hình 5 3: Hình ảnh sản phẩm hình chữ nhật sau khi qua quá trình xử lý ảnh
5.1.3 Kết quả hoạt động của robot
Bảng 5 1: Bảng đánh giá thực nghiệm
Hình dạng sản phẩm Hình chữ nhật Hình tam giác
Màu sắc Đỏ Xanh Vàng Đỏ Xanh Vàng
Số lượng sản phẩm (cái) 30 30 30 30 30 30
Số lượng sản phẩm phân loại được
Sau khi thực hiện thí nghiệm 180 lần với phương pháp sắp xếp ngẫu nhiên, hệ thống đã cho thấy hiệu suất tương đối cao và hoạt động ổn định Không có sự nhầm lẫn đáng kể trong việc phân loại sản phẩm cũng như không có trường hợp bỏ sót sản phẩm nhiều
Mặt khác vẫn có những yếu tố cần phải xem xét Thí dụ, trong mỗi lần thử, chỉ có khoảng 30 lần đối với mỗi sản phẩm được kiểm tra dưới điều kiện ánh sáng tốt Sự thay đổi lớn về ánh sáng có thể làm mờ vật thể và làm tăng sai số Ngoài ra, sự vận hành lâu dài có thể dẫn đến hao mòn cơ cấu cơ khí, gây ra sai số lớn hơn so với ban đầu
Có một số yếu tố khác cũng cần phải xem xét, bao gồm hạn chế về phần cơ khí, mật độ sản phẩm cao có thể làm cho robot không thể xử lý đủ nhanh để gắp hết các vật, và hạn chế về phạm vi của camera có thể làm giới hạn tầm nhìn của robot
NHẬN XÉT
5.2.1 Những hạn mực đã nghiên cứu
- Nghiên cứu nguyên lý hoạt động của Robot, tính toán động lực học
- Nghiên cứu và phát triển mô hình Robot Delta phù hợp với các tiêu chí đặt ra.
- Nghiên cứu lý thuyết và áp dụng xử lý ảnh
- Xây dựng ứng dụng bằng Winform C# để điều khiển Robot Delta một cách hiệu quả và thuận tiện
- Nghiên cứu về động cơ bước và cách điều khiển motion control bằng PLC S7-1200
- Đã thiết kế và thi công được mô hình robot Delta với độ chính xác khá cao
- Xây dựng phương trình động lực học và áp dụng vào ứng dụng để điều khiển Robot Delta
- Sử dụng thư viện EmguCV của C#.NET để áp dụng xử lý ảnh
- Xây dựng kết nối giữa ứng dụng trên PC và PLC thông qua OPC KepserverEX V6
- Lập trình thành công điều khiển 3 động cơ bước bằng PLC S7-1200
- Lưu trữ dữ liệu vào SQL
- Kết hợp hệ thống nhận diện màu với hệ thống điều khiển của robot một cách thành công, giúp robot thực hiện quá trình phân loại tự động
- Thực hiện nhiều thử nghiệm để đánh giá phân tích hiệu suất hoạt động và độ chính xác của hệ thống, với kết quả cho thấy hệ thống đã đáp ứng được các yêu cầu đã đề ra
- Do tự thiết kế và thi công nên mô hình Robot sẽ ko thể đáp ứng tốt hoàn toàn
- Chương trình xử lý ảnh có thể gặp khó khăn trong quá trình nhận diện chính xác màu sắc trong môi trường thiếu ánh sáng
- Việc tích hợp nhiều thành phần, từ cảm biến, hệ thống điều khiển đến cơ cấu cơ khí, nên sẽ gặp khó khăn trong quá trình đảm bảo sự tương thích và đồng bộ hóa…
- Tích hợp trí tuệ nhân tạo và học máy để xử lý dữ liệu tốt hơn giúp Robot hoạt động tối ưu hơn
- Nâng cấp các thiết bị phần cứng (Động cơ, cảm biến, webcam…) để robot Delta vận hành trơn tru và chuẩn xác hơn
- Nâng cấp thuật toán xử lý ảnh, phát triển các module và phụ kiện tùy chỉnh để robot có thể phân loại không chỉ dựa trên màu sắc mà còn các đặc điểm khác như hình dạng, kích thước, QRcode…
- Kết hợp hệ thống điều khiển từ xa, giám sát và quản lý hoạt động robot, giúp người vận hành có thể dễ dàng trong quá trình theo dõi và điều chỉnh quá trình làm việc, cải thiện hiệu quả quản lý và bảo trì hệ thống
[1] Robert L williams II, The Delta Parallet Robot: Kinematics Solutions, Ohio University: Mechanical Engineering, 2016
[2] TS Nguyễn Thanh Hải, Giáo trình Xử Lý Ảnh, TP.Hồ Chí Minh: Nhà xuất bản Đại học Quốc gia, 2014
[3] Nguyễn Thanh Lộc, "Mô hình điều khiển, giám sát bãi xe tự động," 17 02
2019 [Online] Available: https://fr.slideshare.net/slideshow/luan-van-mo- hinh-dieu-khien-va-giam-sat-bai-giu-xe-o-to-tu-dong/206555593
[4] daithinh, "Lập Trình, PLC, Vi Xử Lý," 26 04 2022 [Online] Available: https://phongthanhtech.vn/lap-trinh-plc-vi-xu-ly-p382.html
[5] Huỳnh Lai, "Relay Trung gian là gì? Cấu tạo-Nguyên lý hoạt động," 17
11 2022 [Online] Available: https://huynhlai.vn/tin-tuc/relay-trung-gian-la- gi/
[6] ntppro, "code giải trí sau những giờ lao động chân tay," 2 2 2018 [Online] Available:https://codelungtung.wordpress.com/2018/02/02/contour- approximation/
[7] Hồ Tấn Tài-Hồ Văn Phước, "thiết kế và chế tạo mô hình Robot Delta," 09
03 2021 [Online] Available: https://123docz.net/document/7653288-thiet- ke-va-che-tao-mo-hinh-robot-delta.htm
[8] CMC CLOUD, "OPC Server là gì? Tìm hiểu về Open Platform Communications Server," https://cmccloud.vn/, 05 04 2023 [Online] Available: https://cmccloud.vn/tin-tuc/opc-server-la-gi
1 Chương trình chính của PLC
Network 3: Điều khiển chế độ Manual
81 Network 4: Điều khiển chế độ Auto
Network 6: Điều khiển băng tải
2 Chương trình con của PLC
3 Code tính toán động học cho robot delta
// Tính toán động học nghịch
// Tính toán góc giữa trục Y và trục Z private int DeltaCalcAngleYZ(double x0, double y0, double z0, out double theta)
// Tính toán các giá trị tạm thời double y1 = -f; y0 -= ee; double a = (x0 * x0 + y0 * y0 + z0 * z0 + rf * rf - re * re - y1 * y1) / (2.0 * z0); double b = (y1 - y0) / z0; double d = -(a + b * y1) * (a + b * y1) + rf * (b * b * rf + rf); if (d < 0)
// Tính toán giá trị yj và zj double yj = (y1 - a * b - Math.Sqrt(d)) / (b * b + 1); double zj = a + b * yj;
// Tính toán góc theta theta = Math.Atan2(-zj, (y1 - yj)) * 180.0 / pi + ((yj > y1) ? 180.0 : 0.0); return 0;
// Tính toán góc Theta từ tọa độ XYZ private int DeltaCalcInverse(double x0, double y0, double z0, out double theta1, out double theta2, out double theta3)
{ theta1 = theta2 = theta3 = 0; int status = DeltaCalcAngleYZ(x0, y0, z0, out theta1); if (status == 0) status = DeltaCalcAngleYZ(x0 * cos120 + y0 * sin120, y0 * cos120 - x0 * sin120, z0, out theta2); if (status == 0) status = DeltaCalcAngleYZ(x0 * cos120 - y0 * sin120, y0 * cos120 + x0 * sin120, z0, out theta3); return status;
// Tính toán động học thuận private int DeltaCalcForward(double theta1, double theta2, double theta3, out double x0, out double y0, out double z0)
// Khai báo các biến cần thiết double t = f - ee; double dtr = pi / 180; theta1 *= dtr; theta2 *= dtr; theta3 *= dtr; double y1 = -(t + rf * Math.Cos(theta1)); double z1 = (-rf * Math.Sin(theta1)); double y2 = ((t + rf * Math.Cos(theta2)) * sin30); double x2 = y2 * tan60; double z2 = (-rf * Math.Sin(theta2)); double y3 = ((t + rf * Math.Cos(theta3)) * sin30); double x3 = -y3 * tan60; double z3 = (-rf * Math.Sin(theta3)); double dnm = (y2 - y1) * x3 - (y3 - y1) * x2; double w1 = y1 * y1 + z1 * z1; double w2 = x2 * x2 + y2 * y2 + z2 * z2; double w3 = x3 * x3 + y3 * y3 + z3 * z3; double a1 = (z2 - z1) * (y3 - y1) - (z3 - z1) * (y2 - y1); double b1 = -((w2 - w1) * (y3 - y1) - (w3 - w1) * (y2 - y1)) / 2.0; double a2 = -(z2 - z1) * x3 + (z3 - z1) * x2; double b2 = ((w2 - w1) * x3 - (w3 - w1) * x2) / 2.0; double a = a1 * a1 + a2 * a2 + dnm * dnm; double b = 2 * (a1 * b1 + a2 * (b2 - y1 * dnm) - z1 * dnm * dnm); double c = (b2 - y1 * dnm) * (b2 - y1 * dnm) + b1 * b1 + dnm * dnm * (z1 * z1 - re * re); double D = b * b - 4 * a * c;
// Lấy 3 chữ số sau dấu phẩy x0 = Math.Round(x0, 3); y0 = Math.Round(y0, 3); z0 = Math.Round(z0, 3); return 0;