0
Tải bản đầy đủ (.pdf) (88 trang)

Bộ thu phát nRF24L01+

Một phần của tài liệu NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO ROBOT CUNG CẤP NGUYÊN VẬT LIỆU TỰ ĐỘNG CHO CÁC TRẠM SẢN XUẤT LẮP RÁP TRONG NHÀ MÁY CÔNG NGHIỆP (Trang 36 -36 )

Để robot có thể hoạt động thì cần có sự giao tiếp giữa robot với hệ thống và các robot khác. Robot là thiết bị di động khắp nhà máy nên ta không thể sử dụng dây kết nối robot với hệ thống mà phải sử dụng giao tiếp không dây.

Hiện nay trong đời sống và sản xuất có 2 loại điều khiển từ xa được sử dụng đó là điều khiển sử dụng công nghệ tần số vô tuyến (RF)và sử dụng công nghệ hồng ngoại.

Điều khiển từ xa công nghệ hồng ngoại là sử dụng ánh sáng hồng ngoại để chuyển tín hiệu đến các thiết bị cần điều khiển. Nó đóng góp như một bộ phát tín hiệu phát ra các xung ánh sáng hồng ngoại mang 1 chuỗi mã số nhị phân cụ thể như mã khởi động, bật, tắt, chuyển kênh thiết bị. Còn trên thiết bị được điều khiển sẽ có 1 bộ thu tín hiệu hồng ngoại nằm ở trước để có thể dễ dàng nhận được tín hiệu điều khiển từ điều khiển. Sau khi nhận được chúng sẽ giải mã các xung ánh sáng thành dữ liệu nhị phân để bộ vi xử lý có thể hiểu được và thực hiện các lệnh tương ứng.

Nguyễn Văn Xô 37

Ưu điểm của loại này là rất bền tuy nhiên tầm hoạt động chỉ khoảng 10m, không xuyên qua được kính, tường hay truyền vòng qua các góc và dễ bị nhiễu sóng do ảnh hưởng từ các nguồn có hồng ngoại khác. Vì vậy nó khó có thể ứng dụng trong đề tài này. Cần điều khiển robot trong phạm vi rộng có nhiều vật cản.

Điều khiển từ xa bằng tần số vô tuyến xuất hiện từ rất lâu và đến nay vẫn giữ được vai trò quan trọng, phổ biến trong đời sống. Nguyên lý sử dụng nó tương tự như điều khiển bằng tia hồng ngoại. Nhưng thay vì gửi đi các tín hiệu ánh sáng nó lại truyền sóng vô tuyến ứng với các lệnh nhị phân. Bộ phận thu sóng vô tuyến trên thiết bị được điều khiển nhận tín hiệu và giải mã nó.

Truyền tin bằng RF có thể truyền tín hiệu phạm vi lên tới 1km trong điều kiện không có vật cản và có thể truyền xuyên vật cản nhưng khoảng cách truyền giảm đi. Nó có thể bị nhiễu sóng do bên ngoài có rất nhiều thiết bị máy móc sử dụng các tần số khác nhau; tuy nhiên ta có thể khắc phục bằng cách truyền ở các tần số đặc biệt và nhúng mã kỹ thuật số địa chỉ của thiết bị nhận trong các tín hiệu vô tuyến. Điều này giúp bộ phận thu vô tuyến trên thiết bị hồi đáp tín hiệu tương ứng một cách chính xác.

Ở đề tài này tác giả chọn bộ thu phát nRF24L01+ (Hình 2.20) để giao tiếp giữa mạch điều khiển chính và robot. Module nRF24L01+ hoạt động ở tần số sóng ngắn 2.4G nên Module này khả năng truyền dữ liệu tốc độ cao và truyền nhận dữ liệu trong điều kiện môi trường có vật cản. nRF24L01+ có 126 kênh truyền. Điều này giúp ta có thể truyền nhận dữ liệu trên nhiều kênh khác nhau.Khi sử dụng 2 module RF này để truyền nhận dữ liệu thì yêu cầu nhất thiết phải cài đặt 2 module này cùng 1 kênh. Ngoài ra module này có khả năng thay đổi công suất phát bằng chương trình, điều này giúp nó có thể hoạt động trong chế độ tiết kiệm năng lượng.

Nguyễn Văn Xô 38

Điện áp cung cấp cho là 1.9 - 3.6V. Điện áp thường cung cấp là 3.3V. Nhưng các chân IO tương thích với chuẩn 5V. Điều này giúp nó giao tiếp rộng dãi với các dòng vi điều khiển. Giao tiếp giữa module này và vi điều khiển sử dụng chuẩn giao tiếp SPI.

Nguyễn Văn Xô 39 CHƯƠNG III

LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG ROBOT

3.1 Phần mềm điều khiển hệ thống

3.1.1 Lập trình ngôn ngữ C++ trên Visual Studio

Ngôn ngữ lập trình C++ được biết đến như là một trong những ngôn ngữ lập trình mạnh nhất nhờ khả năng của nó trong việc triển khai phần mềm ở các mức độ khác nhau. Từ mức độ hệ thống đến mức độ ứng dụng, từ lập trình cấu trúc đến lập trình hướng đối tượng, và từ lập trình cơ sở dữ liệu đến lập trình trí tuệ nhân tạo. Microsoft Visual C++ là một sản phẩm của Microsoft với khả năng biên dịch ưu việt và lối khai thác hệ thống mở rộng nhờ tập hợp lớp thư viện MFC cho C++ có đầy đủ các tiện ích giúp chúng ta có thể sử dụng mọi công cụ của Windows phục vụ cho ứng dụng của mình.

Visual C++ nằm trong bộ Microsoft Visual Studio. Đây là một môi trường lập trình đa năng dành cho ngôn ngữ C/C++ và vì là một môi trường lập trình trên hệ điều hành Windows nên Visual C++ cho phép lập trình viên thực hiện rất nhiều công việc, hỗ trợ lập trình viên việc coding, thiết kế giao diện, giao tiếp với các chương trình khác… Trong VC++ chúng ta có thể tạo được : các ứng dụng trên Windows, ActiveX, hay thư viện liên kết động DLL…VC++ có nhiều công cụ giúp việc thiết kế giao diện cho chương trình, kiểm lỗi và sửa lỗi.

Từ thực tế trong quá trình làm việc trong doanh nghiệp lắp ráp tự động hóa hiện nay, tác giả thấy rằng ngôn ngữ visual C++ được dùng để lập trình điều khiển cho gần như toàn bộ các thiết bị. Với khả năng và ững dụng rộng rãi như vậy, để lập trình mô phỏng và điều khiển hệ thống robot trong đề tài này tác giả sử dụng ngôn ngữ lập trình Visual C++ với thư viện MFC kết hợp với Open GL để mô phỏng đồ họa và Microsoft Communication Control để thực hiện giao tiếp qua cổng nối tiếp, ngoài ra khi cần thiết có thể dễ dàng giao tiếp với các thiết bị hay hệ thống khác trong nhà máy. Thậm chí có thể giao tiếp điều khiển qua mạng internet sử dụng Microsoft Internet Transfer Control để thực hiện giao tiếp với các thiết bị.

Thư viện MFC (Microsoft Foundation Class) là thư viện tập hợp các lớp hướng đối tượng đóng gói các hàm API của Windows và các kiểu dữ liệu đặc biệt. Bên cạnh

Nguyễn Văn Xô 40

sử dụng thư viện MFC trong Visual C++ chúng ta vẫn có thể sử dụng các hàm C chuẩn.

3.1.2 Sơ đồ khối và lưu đồ thuật toán điều khiển hệ thống

Trong một nhà máy có rất nhiều dây chuyền và thiết bị sản xuất vì vậy đòi hỏi nhiều robot mới có thể đáp ứng được nhu cầu vận chuyển trong quá trình sản xuất. Và khi có nhiều robot thì lại cần có một hệ thống điều khiển toàn bộ các robot này để có thể vận hành tuần tự, không xảy ra xung đột giữa các robot. Đồng thời yêu cầu hệ thống phải có khả năng giúp người sử dụng có thể dễ dàng theo dõi, giám sát hoạt động của các robot. Vì vậy đây tác giả đã xây dựng hệ thống điều khiển và giám sát 3 robot phục vụ vận chuyển vật liệu. Để giám sát về vị trí của robot ta có thể xác định bằng cách đếm số vòng quay động cơ bằng encoder từ đó tính được quãng đường robot đi được tuy nhiên sẽ có các sai số trong quá trình quay vì vậyđể chính xác hơn tác giả sử dụng thêm các vạch trên đường đi của robot để bù lại sai số trong quá trình tính toán. Khi cần nhiều robot hơn thì có thể dễ dàng thêm các mô hình robot tương tự vào hệ thống.

Khi nghiên cứu chế tạo robot thì vấn đề được quan tâm trước tiên là khả năng ứng dụng thực tế của robot. Mỗi nhà máy có mức độ tự động hóa khác nhau, tác giả muốn xây dựng một hệ thống có thể ứng dụng rộng rãi tùy theo các mô hình sản xuất khác khau. Và để có thể thực hiện việc tự động hóa vận chuyển vật liệu thì yêu cầu tất yếu đó là hệ thống điều khiển robot phải giao tiếp được với các phần mềm, chương trình điều khiển sản xuất hoặc giao tiếp trực tiếp với các thiết bị.

Đối với các dây chuyền sản xuất có nhiều nhân viên lắp ráp, mức độ tự động hóa chưa cao, không có các hệ thống tự động hóa điều khiển ở công đoạn này thì chỉ cần lắp thêm các công tắc điều khiển yêu cầu lấy hoặc trả vật liệu tại đầu hoặc cuối các dây chuyền. Các công tắc này sẽ được kết nối trực tiếp với mạch điều khiển chính. Khi cần vận chuyển vật liệu thì công nhân chỉ cần nhấn các nút này; hệ thống sẽ tự động phân phối robot phục vụ yêu cầu.

Đối với các nhà máy sản xuất sử dụng các thiết bị lắp ráp tự động nhưng chưa có một hệ thống để kết nối toàn bộ thiết bị trong nhà máy thì tại mỗi thiết bị ta có thể lắp các cảm biến phát hiện vật cản một cách hợp lý tại các vị trí để vật liệu; khi hết vật

Nguyễn Văn Xô 41

liệu hoặc cần chuyển vật liệu đi thì các cảm biến sẽ phát tín hiệu về mạch điều khiển và hệ thống sẽ yêu cầu robot đến vận chuyển vật liệu.

Còn đối với các hệ thống tự động hóa ở mức độ cao tất cả các thiết bị sản xuất được kết nối với 1 hệ thống điều khiển trung tâm thông qua giao thức HSMS( High speed SECS Message Services = TCP/IP + SECS). Những nhà máy này thường là những nhà máy lớn với rất nhiều dây chuyền sản xuất, trong cùng một thời điểm sẽ có rất nhiều thiết bị sản xuất nhiều dạng model khác nhau và kho cũng sẽ có nhiều cửa để xuất vật liệu. Mỗi cửa xuất nguyên vật liệu tại kho có thể cài đặt được các model vật liệu riêng được xuất ra. Các lô hàng từ kho vật liệu đem ra sản xuất đều được xác định rõ ràng thiết bị nào sẽ sản xuất lô hàng đó; bởi vì trong quá trình hoạt động mỗi khi vật liệu vào/ra thiết bị đều gửi các thông tin lên hệ thống và khi hết vật liệu hoặc có vật liệu cần chuyển đi thì các thiết bị này cũng sẽ gửi các tín hiệu tương tự lên trên hệ thống điều khiển trung tâm, hệ thống này có kết nối với hệ thống kho vật liệu. Tuy nhiên đôi khi công nhân sản xuất có thể đặt sai vị trí dẫn đến lỗi sản phẩm và dừng thiết bị làm giảm năng suất các thiết bị. Nếu sử dụng hệ thống robot này có thể tránh được những lỗi xảy ra nhưng yêu cầu chương trình điều khiển hệ thống robot phải giao tiếp được với hệ thống vận hành sản xuất như ở trên. Dưới đây là sơ đồ khối và lưu đồ thuật toán điều khiển hệ thống.

Hình 3.1. Sơ đồ khối điều khiển hệ thống.

Chương

trình

điều

khiển

(PC)

Arduino Uno Các thiết bị hoặc các hệ thống phục vụ sản xuất khác.

Nguyễn Văn Xô 42

Hình 3.2. Lưu đồ thuật toán điều khiển hệ thống.

Nhận dữ liệu từ hệ thống và các thiết bị khác. Có vị trí cần chuyển vật liệu? Có Robot ở trạng thái chờ? Tăng biến đếm chờ robot lên 1. Khởi động robot Cập nhật dữ liệu về vị trí robot So sánh vị trí robot thực tế với vị trí trên hệ thống.

Điều chỉnh vị trí mô phỏng cho khớp với vị trí trên thực tế.

Chạy tiếp

Kiểm tra đã đến vị trí A/B hay về đích chưa?

Dừng xe, chuyển vật liệu.

Chuyển vật liệu xong chưa?

So sánh biến chờ robot với Giảm biến đếm

chờ robot đi 1.

Chuyển robot sang trạng thái chờ. Khởi tạo chương trình

Nguyễn Văn Xô 43

Hình 3.3. Sơ đồ khối nhà máy

Sau khi khởi tạo chương trình nhận dữ liệu từ mạch điều khiển hệ thống Arduino và cập nhật dữ liệu về vị trí và trạng thái của các robot. Và chờ tín hiệu yêu cầu vận chuyển vật liệu từ các hệ thống khác.

Tín hiệu yêu cầu vận chuyển vật liệu của hệ thống được cung cấp theo nhiều cách khác nhau: Cách thứ nhất là khi các thiết bị gần hết nguyên vật liệu thì sẽ gửi dữ liệu lên hệ thống quản lý sản xuất(CIM), sau đó hệ thống này sẽ gửi yêu cầu về hệ thống robot vận chuyển vật liệu. Cách thứ hai là người vận hành hệ thống có thể nhập yêu cầu vận chuyển vật liệu từ màn hình giao diện điều khiển. Và cách thứ ba là nhận trực tiếp từ mạch điều khiển hệ thống thông qua các công tắc được kết nối tại các vị trí làm việc; công nhân có thể nhấn các nút này để yêu cầu vật liệu; hoặc đối với các nhà xưởng lớn việc đi dây không thuận lợi thì có thể sử dụng một module SIM900 kết nối với mạch điều khiển, khi cần vật liệu thì công nhân có thể sử dụng điện thoại gửi tin nhắn theo cấu trúc tới module SIM này và mạch điều khiển sẽ phân tích tin nhắn từ đó yêu cầu robot phục vụ. Tùy theo từng nhà máy để có thể sử dụng phương pháp thích hợp.Với điều kiện ở công ty tác giả đang làm việc ở đây tác giả sử dụng các công tắc.

Khi nhận được tín hiệu yêu cầu chuyển vật liệu từ hệ thống hay các thiết bị khác thì chương trình kiểm tra lại có robot nào ở trạng thái chờ chuyển vật liệu không. Nếu tất cả các robot đều ở trạng thái đang chuyển vật liệu không thể phục vụ ngay được thì chương trình sẽ chuyển dữ liệu về vị trí vận chuyển vật liệu vào danh sách

Line 1 Model A Line 2 Model C Line 4 Model A Line 6 Model B Line 3 Model B Line 5 Model C Model A Kho vật liệu đầu vào Model B Model C Kho thành phẩm Model B Model C Model A

Nguyễn Văn Xô 44

chờ và tăng biến đếm chờ robot phục vụ lên 1, và biến này cũng sẽ được cập nhật ra mạch điều khiển hệ thống robot. Nếu có robot đang chờ chuyển vật liệu thì hệ thống sẽ gửi dữ liệu về vị trí cần chuyển vật liệu đến robot gần nhất và robot này sẽ bắt đầu quá trình vận chuyển. Trong quá trình robot vận chuyển nó sẽ luôn gửi dữ liệu về hệ thống. Từ dữ liệu đó chương trình sẽ tính toán và điều chỉnh vị trí mô phỏng trong mô phỏng theo vị trí thực tế. Khi robot về đích nó sẽ chuyển sang trạng thái chờ, và hệ thống kiểm tra lại biến đếm chờ robot nếu nó khác 0. Hệ thống sẽ tiếp tục gửi yêu cầu vận chuyển vật liệu đến robot đó.

Ngoài ra trong sản xuất thì việc quản lý vật tư sản xuất cũng vô cùng quan trọng. Vì vậy trong quá trình hoạt động các thiết bị trong nhà máy luôn tự tạo ra các file log để lưu lại lịch sử hoạt động, tình trạng nguyên vật liệu vào/ra thiết bị. Các dữ liệu này vừa để quản lý vật liệu vừa để kiểm tra quá trình hoạt động của thiết bị. Khi có lỗi phát sinh sẽ dễ dàng tìm được nguyên nhân. Để có thể kết hợp hoạt động với các thiết bị thì hệ thống robot cũng có file log để ghi lại quá trình hoạt động, tình trạng vận chuyển vật liệu trong nhà máy. Các file này sẽ được tạo và lưu trữ theo từng ngày:

Nguyễn Văn Xô 45 3.1.3 Giao diện điều khiển hệ thống.

Hình 3.5. Giao diện điều khiển hệ thống

Giao diện điều khiển hệ thống gồm 2 phần chính:

- Phần bên trái là bảng điều khiển và hiển thị vị trí tương đối của robot.

- Phần bên phải là màn hình theo dõi hoạt động của các robot.

Do hệ thống được vận hành một cách tự động nên không yêu cầu nhiều nút điều khiển. Ngoài điều khiển tự động thì người vận hành có thể cài đặt các vị trí cần vận chuyển vật liệu bằng tay khi cần thiết. Người sử dụng chỉ cần nhập vào vị trí cần vật liệu và ấn xác nhận. Hệ thống sẽ tự phân phối robot để chuyển vật liệu. Ngoài ra bảng điều khiển này còn hiển thị tình trạng vận chuyển của robot, số vị trí còn chờ vật liệu do các robot đều đang phục vụ và tọa độ tương đối của robot trong nhà máy.

Ta có thể thấy được trạng thái và vị trí của robot trong nhà máy.

Một phần của tài liệu NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO ROBOT CUNG CẤP NGUYÊN VẬT LIỆU TỰ ĐỘNG CHO CÁC TRẠM SẢN XUẤT LẮP RÁP TRONG NHÀ MÁY CÔNG NGHIỆP (Trang 36 -36 )

×