Sau khi tải, cài đặt phần mềm và cấu hình truyền thông như trên bước tiếp theo chúng ta cần làm là add file thư viện là file .dll của Communication Setup Utility vào mục thư viện của Windows Form. Và trong mục ToolBox của Windows Form sẽ xuất hiện mục MITSUBISHI ActUtlType Control, đây là công cụ của Windows Form có tích hợp các hàm truyền thông PLC và máy tính, thực hiện các lệnh đọc ghi cần thiết để từ đó lập trình phần lõi truyền nhận dữ liệu trên giao diện đã tạo sẵn.
Trong thư viện MITSUBISHI ActUtlType Control có rất nhiều câu lệnh với nhiều chức năng khác nhau nhưng một số câu lệnh được sử dụng để thiết kế giao diện giám sát được mô tả dưới bảng sau
Bảng 3.5 : Chức năng của các phương thức trong thư viện ActUtlType
Câu lệnh Chức năng
iRet=Object.Open(); Mở kênh truyền thông cho trạm có số thứ tự được chọn
iRet=Object.Close(); Đóng kênh truyền thông cho trạm có số thứ tự được chọn
iRet=object.ReadDeviceBlock
(szDevice,iSize,out iData[0]); Đọc mảng dữ liệu nhiều thanh ghi liêntiếp nhau, mỗi dữ liệu trả về dạng doubleword
iRet=object.ReadDeviceBlock 2
(szDevice, iSize, out iData[0]);
Đọc mảng dữ liệu nhiều thanh ghi liên tiếp nhau, dữ liệu trả về dạng word
iRet=object.WriteDeviceBloc k
(szDevice, iSize, ref iData[0]);
Ghi mảng dữ liệu dạng double word xuống bộ nhớ PLC
iRet=object.WriteDeviceBloc k2
(szDevice, iSize, ref iData[0]);
Ghi mảng dữ liệu dạng word xuống bộ nhớ PLC iRet=object.ReadDeviceRand om c các d li u v i các a ch n m r i Đọ ữ ệ ớ đị ỉ ằ ả rác trong b nh PLC, m i d li u tr vộ ớ ỗ ữ ệ ả ề
(szDevice, iSize, out iData[0]);
d i d ng doublewordướ ạ
iRet=object.ReadDeviceRand om2
(szDevice, iSize, out iData[0])
Đọc các dữ liệu với các địa chỉ nằm rải rác trong bộ nhớ PLC, mỗi dữ liệu trả về dạng word
iRet=object.WriteDeviceRand om
(szDevice, iSize, iData[0]);
Ghi mảng dữ liệu dạng doubleword xuống các địa chỉ rải rác trong vùng bộ nhớ dữ liệu của PLC
iRet=object.WriteDeviceRand om2
(szDevice, iSize, iData[0]);
Ghi mảng dữ liệu dạng word xuống các địa chỉ rảu rác trong vùng bộ nhớ dữ liệu của PLC
iRet=object.GetDevice2
(szDevice, out sData); Đọc 1 địa chỉ dữ liệu lưu trong 1 word(địa chỉ có thể là của 1 bit, dữ liệu chỉ lưu vào bit thấp nhất)
iRet=object.SetDevice2
(szDevice, out sData); Ghi 1 word xuống 1 địa chỉ vùng nhớ dữliệu của PLC ( địa chỉ có thể là 1 bit, chỉ bit cuối của word muốn gửi mới được ghi vào bit)
Hình 3.28 : Thứ tự add thư viện ActUtlType vào Windows C#
CHƯƠNG 4 : THIẾT KẾ LẮP RÁP HỆ ĐIỀU KHIỂN TAY MÁY KESTREL
4.1 Đặt vấn đề
Sau một thời gian tìm hiểu và học tập, nhóm được thầy TS Nguyễn Danh Huy giao cho bộ hệ thống điều khiển tay máy Kestrel được bố trí ở lab tự động hóa công nghiệp do Mitsubishi tài trợ ở C9-111. Đây là một bộ robot đã được thầy và các anh sinh viên khóa trước thiết kế và lắp đặt từ vài năm trước. Do vậy, ở đồ án này về thực chất nhóm chúng em chỉ khảo sát lại thiết kế của hệ thống và không phải là người trực tiếp làm ra sản phẩm về phần cứng và cơ khí của hệ thống. Tuy vậy, ở phần trình bày chi tiết, chúng em vẫn ghi chép và tìm hiểu kỹ về cơ chế thiết kế của bộ tay máy này.
4.2 Thiết kế hệ thống phân loại sản phẩm4.2.1 Tay máy Kestrel 4.2.1 Tay máy Kestrel
Tay máy Kestrel là dạng Castersian nên có hình dạng hình chữ nhật. Các cơ caassu khung được làm bằng thép nên tương đối chắc chắn. Do bốn chân của tay máy thấp nên khi để băng tải vào khung tay máy thì trục Z tay máy không hoạt động được nên việc đầu tiên là phải nâng độ cao cho bốn chân của tay máy lên khoảng 20cm bằng 2 thanh gỗ và cố định 4 chân đó vào các thanh gỗ. Các trục dẫn động của robot sẽ được bố trí nằm dọc theo các phương XYZ. Đối với trục X và Y, đường kính của vít me là 3750 mm, còn của trục Z là 2300 mm. Để tránh sức nặng làm cong trục chuyển động, ta sử dụng thêm 2 thanh dẫn hướng đặt song song các khung của tay máy, trục X và trục Y có 2 thanh dẫn hướng còn trục Z có 4 thanh dẫn hướng để di chuyển đầu gắp một cách chính xác nhất.
Hình 4.1 : Hệ thống tay máy của đồ án
Và để di chuyển được cơ cấu thì 4 Servo được kết nối với vit me thông qua khớp nối mềm làm nhiệm vụ giảm chấn. Giữa 2 trục có cơ cấu gối đỡ giúp nó cố định trên khung nhưng vẫn có khả năng quay quanh trục. Bên trên vit me là con trượt, con trượt sẽ chuyển động tịnh tiến theo trục vit me khi động cơ servo làm trục vit me quay
Hình 4.2 : Động cơ được trang bị cho tay máy
Toàn bộ cơ cấu định vị trục Y và trục Z đều nằm trên trục X vì vậy trục X có phạm vi hoạt động lớn nhất trong ba trục. Hệ thống phân loại sản phẩm không cần trục xoay R nên nhóm đã lắp thêm cơ cấu gắp nhả gắn trục tiếp với trục Z và được điều khiển bằng khí nén.
Mặc dù khi cài đặt tham số cho bộ điều khiển vị trí RD77MS2 ta đã cài đặt giới hạn dịch chuyển của các trục X, Y, Z. Tuy nhiên, để đảm bảo hệ thống hoạt động an toàn và không bị lỗi sau khi gắn các cơ cấu chuyển động lên robot. Nhóm đã tiến hành lắp thêm các công tắc giới hạn hành trình chuyển động. Các đầu ra được gắn lên các đầu vào của biến tần servo trên panel điều khiển. Khi các trục đi quá giới hạn thì công tắc hành trình sẽ báo về bộ điều khiển và dừng hệ thống.
Hình 4.3 : Cổ tay của hệ
Các động cơ servo cũ sẽ được thay thế bằng động cơ HG-KR053B của Mitsubishi. Do kích thước bề mặt và chiều dài của động cơ HG-KR053B khác với động cơ cũ nên bốn tấm bích đệm bằng nhôm phay được sử dụng để ghép nối động cơ servo mới với khung cũ.
4.2.2 Hệ thống thiết bị điều khiển
Trong phòng thí nghiệm các thiết bị điều khiển phải được sắp xếp sao cho phù hợp và an toàn nhất vì vậy nhóm đã thiết kế một giá đỡ có chiều dài là 70cm, chiều rộng là 70cm và bề dày là 20cm để đặt các thiết bị điều khiển lên đó. Các thiết bị điều khiển được sắp xếp trên giá như hình 4.1.
Hình 4.4 : Panel chứa các thiết bị điều khiển
Về cơ bản, các thiết bị điều khiển được sắp xếp thành 3 vùng chính trên giá đỡ. Vùng trên cùng là aptomat, PLC iQ-R, module nguồn và các module mở rộng. Do tay máy Kestrel cần điều khiển 3 trục động cơ trong khi đó mỗi module RD77MS2 chỉ điều khiển được 2 trục, vì vậy phải cần có 2 module để điều khiển 3 trục của tay máy. Các module được ghép nối với nhau bằng đế base và cùng 1 bus dữ liệu. Trến đế base bao gồm 1 module nguồn, 1 module CPU R04EN, 2 module RD77MS2, 1 module đầu vào số RX42C4, 1 module đầu ra số RY42NT2P và 1 module đếm xung tốc độ cao RD62P2.
Ở phần giữa của giá đỡ là panel giao tiếp servo và phần phía dưới cùng là 4 biến tần servo MR-J4-10B và các cầu đấu để phân nguồn hoặc đấu các chân tín hiệu do trên panel không đủ chỗ. Mỗi biến tần servo chỉ điều khiển được 1 trục động cơ của tay máy nên để điều khiển 4 trục của tay máy cần 4 biến tần servo. Do hệ thống phân loại sản phẩm sử dụng tay gắp điều khiển bằng khí nén nên trong đồ án này chỉ dùng 3 biến tần servo để điều khiển 3 trục X, Y, Z.
Hệ thống nguồn chia làm 2 phần chính:
- Nguồn AC cung cấp cho module nguồn của PLC, nguồn mạch lực và mạch điều khiển của biến tần servo
Các tín hiệu vào ra của PLC gồm có: Tín hiệu đầu vào RX42C4, tín hiệu đầu ra RY42NT2P, tín hiệu truyền thông cáp quang từ RD77MS2 tới các biến tần servo. Các tín hiệu vào ra của biến tần servo qua giắc cắm CN3 được sử dụng gồm:
- Tín hiệu dừng khẩn EM2.
- Tín hiệu điều khiển phanh động cơ MBR.
- Tín hiệu công tắc hành trình cận trên (FLS) tương ứng với DI1 và cận dưới (RLS) tương ứng với DI2
4.2.3 Thiết kế hệ thống băng tải, cảm biến và camera xử lý ảnh
a) Băng tải có encoder:
Băng tải được sử dụng trong đồ án là băng tải do nhóm thiết kế và lắp ráp, có chiều dài là 62cm, chiều rộng là 18cm và chiều cao là 15cm, cấu tạo gồm:
- Động cơ: động cơ 1 chiều hộp giảm tốc vuông góc, dùng để truyền động cho băng tải.
- Tang chủ động: được truyền đông từ động cơ bằng puli dây đai răng (hệ băng tải thực tế thường dùng xích)
- Tang bị động: được kéo bởi băng tải, nếu băng tải đủ căng thì tốc độ tang bị động tỷ lệ (bằng khi khi cung đường kính). Nếu băng tải không đủ căng hoặc chất lượng kém thì có hiện tượng trượt và tốc độ tang bị động nhỏ hơn tang chủ động.
- Encoder: được nối với tang bị động để đo tốc độ, vị trí băng tải.
Hình 4.5 : Băng tải sử dụng trong đồ án
Encoder dùng trong băng tải làE6B2-CWZ5B của OMRON được thể hiện dưới hình 4.11.
Thông số Encoder:
- Số xung: 600xung/vòng - Nguồn: 12-24VDC - Xung: A, B, Z
- Kiểu đầu ra: NPN hở collector.
Sơ đồ tổng quan ghép nối encoder với đầu vào highspeed counter như hình. Trên panel PLC thiết kế cho phép ghép nối nguồn và tín hiệu cho 1 encoder 2 xung A, B.
Hình 4.7 : Sơ đồ ghép nối encorder b) Cảm biến tiệm cận E3F-DS10C4
Cảm biến tiệm cận được gắn trên băng tải được dùng để phát hiện vật, phát tín hiệu để bộ đếm xung tốc độ cao RD62P2 bắt đầu đếm xung mà encoder phát ra và khi vật được quét hoàn toàn thì cảm biến phát tín hiệu dừng đếm xung.
Hình 4.8 : Cảm biến tiệm cận
Thông số kỹ thuật cơ bản của cảm biến: - Nguồn điện cung cấp: 6 – 36 VDC - Khoảng cách phát hiện: 5 – 30cm - Dòng kích ngõ ra: 300mA
- Ngõ ra dạng NPN cực thu hở giúp tùy biến được điện áp ngõ ra - Kích thước: 1.8cm x 7.0cm
Hình 4.9 : Bố trí cảm biến tiệm cận trên băng tải
4.3 Mô hình phân loại sản phẩm
CHƯƠNG 5. CHƯƠNG TRÌNH XỬ LÝ ẢNH
5.1 Đặt vấn đề
Công nghiệp phải ngày càng chính xác và nhanh chóng để đáp ứng được xu thế hiện đại hóa. Các ngành công nghiệp đóng gói, dược phẩm cũng như trong lĩnh vực điện, điện tử là những ngành đòi hỏi sự chính xác trong kiểm tra đầu ra, và để thay thế con người trong việc kiểm tra thành phẩm với một tốc độ và sự chính xác cao, công nghệ xử lý ảnh ra đời và không ngừng phát triển để ngày càng hoàn thiện hơn.
Tùy vào từng ứng dụng cụ thể mà chúng ta sẽ có những hệ thống xử lý ảnh khác nhau. Một số ví dụ cho thấy xử lý ảnh được ứng dụng trong công nghiệp:
- Trong công nghiệp đóng gói, người ta sử dụng hệ thống xử lý ảnh để kiểm tra xem các sản phẩm đã được dán nhãn chưa hoặc kiểm tra nhãn hiệu bao bì có đúng với thành phần chuẩn bị được đóng gói không.
- Trong công nghiệp dược phẩm, áp dụng hệ thống xử lý ảnh để kiểm tra số lượng viên thuốc có trong vỉ thuốc.
- Trong lĩnh vực điện, điện tử xử lý ảnh dùng để phát hiện sự thiếu sót các mối hàn sau khi hàn các chân linh kiện vào board mạch. - Ở phạm vi đồ án này sẽ giới thiệu phương pháp phân loại sản phẩm
dựa trên kích thước của vật. Yêu cầu đặt ra như sau:
- Sử dụng camera chuyển động gắn trên trục Y của tay máy để chụp ảnh và nhận dạng sản phẩm.
- Xử lý ảnh sau khi chụp để xác định tâm, góc lệch so với phương ngang và kích thước của ảnh trên vật.
- Gửi tín hiệu sau khi xử lý ảnh (tâm, tọa độ, góc lệch) xuống PLC để điều khiển tay máy gắp vật cần phân loại.
5.2 Tổng quan về xử lý ảnh
Xử lý ảnh (XLA) là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của người sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tƣợng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các thông tin hình ảnh của ảnh.
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình. Xử lý ảnh số bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên. Mục đích của xử lý ảnh gồm:
Biến đổi ảnh làm tăng chất lượng ảnh.
Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành những phần có ý nghĩa để phân biệt đối tượng này với đối tƣợng khác, dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu. Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng ảnh của các đối tượng trên ảnh, tách cạnh, phân đoạn hình ảnh,… Kỹ thuật này đƣợc dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ trong văn bản
5.2.1 Quy trình xử lý ảnh
Hình 5.1 : Các bước xử lý ảnh
Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình XLA. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor, máy scanner,v.v… và sau đó các tín hiệu này sẽ được số hóa. Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của thiết bị
Tiền xử lý: Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử độ lệch,v.v… với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị cho các bước xử lý phức tạp hơn về sau trong quá trình XLA. Quá trình này thường được thực hiện bởi các bộ lọc.
biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thông có thể là cùng màu, cùng mức xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo lên ảnh thô.
Tách các đặc tính: Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dƣới dạng biên hay dƣới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó. Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các đặc trong hình dạng bên ngoài của đối tượng. Chúng ta còn phải đưa ra một phương pháp mô tả dữ liệu đã được chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc xử lý chúng.
Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình XLA.