Chương trình điều khiển cho ứng dụng Winform

Một phần của tài liệu ĐỒ án tốt NGHIỆP chuyên ngành điện công nghiệp đề tài ỨNG DỤNG PLC điều KHIỂN ROBOT DELTA PHÂN LOẠI sản PHẨM THEO màu (Trang 59)

3.2.1. Giao diện điều khiển

Lưu đồ giao diện điều khiển:

Hình 3.63 Lưu đồ điều khiển chương trình điều khiển Robot

Giao diện điều khiển sẽ bao gồm 4 phần: kết nối với PLC, chế độ điều khiển bằng tay, chế độ điều khiển tự động và tùy chình thông số.

Trang kết nối sẽ giúp liên kết Application C# với PLC thông qua OPC Kepserver.

43

Chế độ điều khiển bằng tay sẽ cho phép tùy chính các góc theta của từng động cơ một, chọn điểm đến thủ công, các ô để xem tọa độ hiện tại của robot, tọa độ các góc của động cơ.

Chế độ tự động sẽ cho phép tắt mở camera, cho phép robot bắt vị trí và gắp vật theo màu tự động.

3.2.2. Chương trình nhận diện màu và xác định tọa độ

Lưu đồ xử lý ảnh:

Hình 3.64 Lưu đồ xử lý ảnh

- Ảnh gốc được thu vào từ camera sẽ có kích thước 480x640 sẽ được chuyển đổi từ hệ ảnh màu RGB sang hệ màu HSV.

- Sau đó ảnh màu HSV sẽ được nhị phân hóa theo các khoảng sau: RED (0,100,135) – (29,255,255)

GREEN (104,171,64)-(150,255,255) BLUE (40,122,48)-(92,255,255)

44

- Tiếp đó ảnh nhị phân sẽ trải qua 2 lần co sau đó 2 lần dãn với phần từ cấu trúc là ma trận 8x8 giúp việc tìm đường biên dễ dàng hơn.

- Cuối cùng ảnh sau khi làm mượt sẽ được tìm biên và tìm tọa độ tâm.

Hình 3.65 Ảnh vật qua chuyển đổi HSV

Hình 3.66 Ảnh sau khi nhị phân hóa theo ngưỡng dùng hàm InRange

45

Hình 3.67 Ảnh qua 1 lần co dãn ảnh

Hình 3.68 Ảnh qua 2 lần co dãn ảnh

46

3.2.3. Điều khiển robot tự động gắp vật:

Hình 3.69 Lưu đồ xử lý ảnh

Khi băng tải chuyển động, tọa độ X của vật giữ nguyên, tọa độ Y thay đổi nên để gắp trúng vật ta bù tọa độ (X, Y) của vật ta thu được khi gửi xuống PLC sẽ là (X, Y+a) (a được chỉnh dựa vào tốc độ chuyển động của băng tải và tốc độ của robot).

3.2.4. Sắp xếp vật theo thứ tự trên băng tải

Mục tiêu bài toán đặt ra là xác định được tọa độ (X, Y), màu sắc, kích thước, hình dáng phù hợp của vật cần gắp trên băng tải theo thứ tự xuất hiện trước. Mục tiêu luận văn sẽ nhận dạng 3 màu cơ bản đặc trưng là Đỏ (Red), Lục (Green), Lam (Blue).

Từ vị trí Camera và băng tải, tọa độ vật đến trước cũng là vật gần đầu hút nhất sẽ có tung độ y lớn hơn vật đến sau. Ta sẽ so sánh và lưu vị trí vật đến trước vào vị trí gần nhất (x(0), y(0)).

Lần lượt với 3 màu Red, Green, Blue với thông số HSV được xác định sẵn ta sẽ có 3 cặp tọa độ gần nhất đặt tên lần lượt là ( X R ,Y R ¿, (XG ,Y G ¿, (X B ,Y B ¿. Ta sẽ so sánh 3 tung độY R,Y G , Y B để xác định tọa độ vật cần gắp (X, Y).

47

Hình 3.70 Thuật toán nhận diện vật theo thứ tự trên băng tải

3.2.5. Phương pháp chuyển đổi tọa độ khung hình sang tọa độ của hệ Robot

Gọi hệ trục tọa độ khung ảnh là O1x1y1, hệ trục tọa độ gắn vào đáy Robot là O2x2y2.

Hình 3.71 Minh họa trục tọa độ gốc robot và trục tọa độ vật 48

Ví dụ: Ta có khung ảnh thu được từ camera có thước 640x480 (pixel). Xét độ dài tia O1x1 = 640 (pixel), tia O1y1 = 480 (pixel). Ta thực hiện đo ngoài mô hình thực tế và xác định được tia O1x1 = a (cm). Giả sử: a đo được 10 cm. Vậy tính toán ta được 1 cm = 32 pixel.

Ta sẽ thực hiện việc chuyển đổi từ hệ trục tọa độ O1x1y1 sang hệ trục tọa độ O2x2y2.

Ta xét tọa độ O2 ứng với hệ trục O1x1y1 sẽ có tọa độ (xO; yO) đơn vị pixel và giả sử tọa độ A bất kì ứng với hệ trục O1x1y1 là (xA, yA) đơn vị pixel. Như đã nói ở trên thì O2 là gốc của Robot, nên muốn Robot di chuyển đến điểm A thì ta phải tính được tọa độ vecto

phương khác

hướng, tia O2x2 và tia O1x1 cùng phương cùng hướng. Nên vector

sẽ có tọa độ là (Px, Py), tương ứng với Px = xO – xA (pixel); Py = -yO + yA

đây Px và Py cũng chính là tọa độ vị trí trong phương trình động học nghịch cánh tay máy. Px, Py khi chuyển sang tọa độ mặt phẳng thực tế sẽ có giá trị Px = (xO - xA)/32 (cm), Py = (-yO +yA)/32 (cm).

Vì đề tài chỉ thực hiện xử lý ảnh 2D nên chỉ cần xác định được tọa độ Px, Py. Còn Pz ta sẽ cho bằng một hằng số cố định. Như vậy khi có được 3 thông số Px, Py, Pz ta sẽ xác định được các giá trị góc xoay θ1, θ2 3 từ đó Robot sẽ di chuyển đến vị trí mà ta mong muốn.

3.3. Kết nối giữa PC-PLC-SQL

Hình 3.72 Sơ đồ kết nối giữa PC-PLC-SQL thông qua OPC KepServer

C# kết nối với PLC và lưu thông tin kết quả vào cơ sở dữ liệu SQLserver thông qua phần mềm OPC KEPServer như sau:

49

- Sau khi cài đặt chương trình Kepware V6, ta tiến hành cài đặt cấu hình để Kepware có thể kết nối tới PLC S7-1200 thông qua Ethernet TCP/IP.

- Tiếp theo ta tạo các Group và Tag với các địa chỉ tương ứng với địa chỉ ô nhớ trong PLC để có thể truy cập vào dữ liệu ta mong muốn trên PLC.

- Vì Kepware có sẵn các thư viện Driver (.dll) hầu như tất cả các PLC hiện nay, nên có thể dễ dàng tự động kết nối tới dữ liệu PLC mà người dùng không cần thao tác nhiều.

- Trong chương trình C# ta thêm vào thư viện OPCAutomation.dll, thư viện này được cung cấp miễn phí bởi OPC Foundation.

- Ta tiến hành khai báo các biến OPCItem trong C# để link tới các tag trong KEPServer mà ta đã tạo trước đó.

- Với các lệnh đơn giản là Read và Write ta có thể dễ dàng đọc hay ghi dữ liệu xuống PLC.

- Sau đó sử dụng tính năng datalogger để lưu dữ liệu số lượng sản phẩm vào cơ sở dữ liệu đã tạo sẵn.

50

CHƯƠNG 4: THI CÔNG MÔ HÌNH 4.1. Thi công phần cứng

4.1.1. Chuẩn bị phần cứng

Bảng 4.10 Danh sách các nguyên liệu của mô hình

STT Tên linh kiện

1 PLC S7-1200 (1212 DC/DC/DC) 2 SM-1222 RLY 3 Băng tải 4 Nguồn tổ ong 5 Adapter

6 Bơm chân không

7 Nút hút châm không 8 Bộ in 3D robot Delta + 3 thanh carbon mắt trâu 9 Stepmotor 10 Driver động cơ TB6600 11 Công tắc hành trình KW11 download by : skknchat@gmail.com

12 CB LS 40

13 Rotary encoder 400 Tiêu chuẩn với cáp 1,5 m

4.1.2. Thi công robot delta và tủ điều khiển

a. Robot Delta

Các thành phần chính của Robot Delta được in 3D với các thông số sau: - Khoảng các từ tâm đế robot tới trục trục động cơ là f = 75mm - Khoảng cách từ trục động cơ đến cánh tay đòn là rf = 80 mm - Độ dài cánh tay đòn là re = 235 mm

- Khoảng các từ tâm giác hút đến cánh tay đòn là e = 20 mm

Hình 4.73 Hình ảnh thiết kế 3D sử dụng phần mềm Fusion 360

Hình 4.74 Các linh kiện của Robot Delta sau khi in 3D

52

b. Khung đặt robot

Phần khung được lắp ghép mới các thanh nhôm định hình độ dài 50cm để cố định robot.

Hình 4.75 Ráp khung Robot

c. Động cơ điều khiển Robot

Do xung đầu ra của PLC S7-1200 có điện áp là 24V nên ta thêm vào điện trở 2k4Ω để giúp giảm áp xuống còn 5V cấp xung chân PUL+ và chân DIR+ của driver TB6600.

Hình 4.76 Sơ đồ đấu nối PLC điều khiển động cơ 53

Hình 4.77 Mô hình sử dụng Stepmotor và driver TB6600

Hình 4.78 Vị trí lắp đặt công tắc hành trình

d. Bơm và băng tải

Hình 4.79 Sơ đồ kết nối module SM-1222 với băng tải và bơm

54

Hình 4.80 Bơm và động cơ băng tải

e. Encoder

Hình 4.81 Sơ đồ kết nối encoder với PLC

Hình 4.82 Hình ảnh Encoder trong mô hình

f. Tủ điều khiển

55

Hình 4.83 Tủ điều khiển Robot Delta, băng tải và bơm sử dụng nguồn 24V và 12V

Các thành phần chính của tủ điều khiển: - 1 Nguồn tổ ong 24VDC.

- 1 Adapter 12VDC.

- 3 Driver TB6600 cho 3 động cơ.

- 1 PLC 1212C DC/DC/DC và 1 signal boad 1222 8DO Relay. - 1 động cơ hút chân không 24VDC.

- 1 CB LS C40.

g. Mô hình hoàn chỉnh

Hình 4.84 Mô hình thực tế

56

4.2. Thi công phần mềm

Giao diện phần mềm điều khiển:

Hình 4.85 Trang điều khiển kết nối

Hình 4.86 Trang điều khiển chế độ Manual

57

Hình 4.87 Trang điều khiển Auto

Hình 4.88 Trang điều khiển Setting

58

CHƯƠNG 5: ĐÁNH GIÁ KẾT QUẢ VÀ NHẬN XÉT 5.1. Kết quả

5.1.1. Kết quả xử lý ảnh

Hình ảnh thực tế sau khi áp dung lên mô hình:

Hình 5.89 Hình ảnh thực tế sau khi qua các bước xử lý và lọc màu

Ảnh sau khi trải qua xử lý đã đóng khung ôm sát các vật thể, xác định được tâm của đường biên giúp robot có thể gắp chính xác vật thể.

5.1.2. Kết quả robot gắp vật

Hình 5.90 Robot gắp vật màu đỏ

59

Hình 5.91 Robot gắp vật màu xanh dương Bảng 5.11 Bảng đánh giá thực nghiệm Sản phẩm Kết quả Độ chính xác (%) Tỷ lệ tìm được màu sắc vật và gắp đúng vật là 97.8%.

Sau 99 lần thực hiện thí nghiệm với cách sắp xếp ngẫu nhiên, hệ thống phân loại sản phẩm cho số liệu chính xác tương đối cao hệ thống hoạt động ổn định, không bị nhầm lẫn phân loại cũng như bỏ sót sản phẩm nhiều. Tuy nhiên ở đây chỉ thực hiện khoảng 33 lần trên mỗi sản phẩm ở điều kiện ánh sáng ổn định, nếu có sự thay đổi ánh sáng lớn dẫn đến làm nhòe vật, hoặc vận hành lâu dẫn đến các cơ cấu cơ khí không còn đảm bảo được như lúc đầu sẽ dẫn đến sai số lớn hơn. Ngoài ra còn nhiều nguyên nhân khác như: giới hạn cơ khí của robot, mật độ sản phẩm lớn khiến robot không đáp ứng đủ tốc độ để gắp hết các vật, phạm vi camera hạn chế nên robot bị giới hạn tầm nhìn…

5.2. Nhận xét

5.2.1. Những kiến thức đã nguyên cứu

- Nguyên cứu lý thuyết về Robot Delta, phương trình động lực học. - Nguyên cứu lý thuyết về xử lý ảnh nhằm tách vật thể màu ra khỏi nền.

60

- Tìm hiểu cách xây dựng một Application bằng Winform C# để dễ dàng điều khiển hệ Robot Delta.

- Nguyên cứu về đông cơ bước, cách điều khiển motion control bằng PLC S7- 1200.

- Tìm hiểu cách liên kết biến giữa Application Winform và phần mềm TIA Portal V15.

- Đọc và xử lý giá trị của encoder để tính toán tốc độ động cơ.

5.2.2. Những hạng mục đạt được

- Xây dựng được phương trình tính toán động lực nghịch đưa áp dụng vào Application để điều khiển Robot Delta.

- Áp dụng xử lý ảnh tìm tìm tọa độ của vật real time qua camera sử dụng thư viện EmguCV của C#.NET.

- Xây dựng liên kết giữa Appllication trên PC và PLC thông OPC KepserverEX V6.

- Điều khiển cùng lúc 3 động cơ bước bằng PLC S7-1200 (1212C DC/DC/DC) sử dụng motion control của phần mềm TIA Portal V15.

- Vận hành được Robot Delta để gắp, phân loại sản phẩm trên băng tải theo màu sắc, hình khối.

- Đọc được tốc độ băng tải giúp tăng độ chính xác gắp vật thể. - Lưu trữ dữ liệu vào SQL.

5.2.3. Những hạn chế

- Phần cứng Robot do tự thiết kế và thi công nên vẫn còn nhiều lỗi dẫn đến sai số trong quá trình vận hành.

- Thuật toán tự thiết kế nên chưa hoàn toàn tối ưu.

- Chương trình xử lý ảnh chỉ đáp ứng trong môi trường ánh sáng ổn định. Sự thay đổi ánh sáng có thể làm ảnh hưởng đến độ chính xác của tính toán.

5.2.4. Hướng phát triển

- Tích hợp trí tuệ nhân tạo để Robot linh hoạt, phù hợp với nhiều điều kiện hoạt động hơn.

- Năng cấp phần cứng (động cơ, camera, chất liệu của khớp robot…) để hệ thống có thể tối ưu hơn về độ chính xác, tốc độ, độ ổn định khi vận hành.

61

- Nâng cấp thuật toán xử lý ảnh mở rộng vùng nhận diện màu ra nhận diện kích thước, hình thái, màu sắc, QRcode…

- Cập nhật cơ sở dữ liệu lên internet để theo dõi từ xa.

TÀI LIỆU THAM KHẢO

[1] Robot Công Nghiệp (2009) - Ts. Phạm Đăng Phước

[2] S7-1200 Motion Control V4.0 in TIA Portal V15 - Siemens [3] Emgu CV Essentials – Shin Shi

[4] ClientAce: Creating a Simple Windows Form Application - Kepware Technologies [5] Delta Robot kinematics Tutorial - hypertriangle.com/

[6] Ứng dụng C# trong lập trình hệ thống Scada – automationsystemvn.blogspot.com

62

Một phần của tài liệu ĐỒ án tốt NGHIỆP chuyên ngành điện công nghiệp đề tài ỨNG DỤNG PLC điều KHIỂN ROBOT DELTA PHÂN LOẠI sản PHẨM THEO màu (Trang 59)