Giới thiệu một số hệ thống đã có trong thực tế và hiệu quả sử dụng
❖ Ứng dụng công nghệ đọc mã vạch trong nhà máy
SVTH: Nguyễn Đình Đức 5 GVHD: Nguyễn Thế Tranh
Hình 1-7 Hệ thống nhận dạng
✓ Tiết kiệm: Sử dụng ít nhân lực và tăng tốc quá trình sản xuất, tối ưu hóa dây chuyền sản phẩm, phân loại đơn giản, thay thế nhiều hầu hết các loại cảm biến khác trong dây chuyền
✓ Chính xác: Nhờ mã vạch, người quản lí dễ dàng kiểm tra số lượng sản phẩm, phân loại sản phẩm, phân loại theo nơi nhận, phân loại theo người sử dụng Chính xác đến từng đích đến
✓ Thuận tiện cho người quản lí, rút ngắn thời gian củng như không can thiệp nhiều vào khâu sản phẩm, tăng hiệu quả của dây chuyền sản phẩm lên cao
1.5 PHƯƠNG HƯỚNG NGHIÊN CỨU PHÁT TRIỂN ứng dụng công nghệ xử lý ảnh (Opencv) nhận dạng mã QR và sử dụng LabView để lập trình cho Arduino điều khiển các cơ cấu chấp hành và băng tải
❖ Đề tài sẽ theo những hướng chính sau đây:
- Quét mã QR thông qua camera đưa vào máy tính đọc và truyền vào Arduino
- Xác định sản phẩm và phân loại chính xác
- Sử dụng xylanh để đẩy vật ra không cần dùng tay bỏ vật lên băng chuyền (có ổ đựng phôi)
- Thiết kế giao diện điều khiển và giấm sát, theo dõi trên LabVIEW để thuận tiện trong quá trình giám sát vận hành dây chuyền
SVTH: Nguyễn Đình Đức 6 GVHD: Nguyễn Thế Tranh
Hình 1-9 Phân loại trong công nghiệp qui mô lớn
SVTH: Nguyễn Đình Đức 7 GVHD: Nguyễn Thế Tranh
Hình 1-8 Mô hình đang phát triển
Camera Ổ cấp phôi Băng tải
PHÂN TÍCH XÁC ĐỊNH HỆ THỐNG
Nhiệm vụ hệ thống 8 2.2 Nguyên lý hoạt động
Ngày nay, trong quá trình sản xuất của các khu công nghiệp với nhiều quy mô, sản phẩm khác nhau, được hoạt động một cách tự động dưới sự giám xác của con người
Mã vạch là một trong số các quy mô này để phân loại sản phẩm khác nhau một cách tự động hóa Giúp nâng cao hiệu suất làm việc, tiếp kiệm được thời gian chi phí và cả giảm thiểu nguồn nhân công
Phân loại sản phẩm vào thùng hay kho một cách chính xác với tỉ lệ gần như tuyệt đối
Khi cảm biến 1 phát hiện vật sau 1s Xy lanh 1 đẩy vật từ hộp chưa phôi ra băng tải, khi camera phát hiện đươc mã vạch.Nếu mã 1 di chuyển trên băng chuyền đến vị trí cảm biến 2, cảm biến 2 phát hiện vật lập tức Xy lanh 2 sẽ đẩy vật và biến đếm SP1 tăng lên 1, nếu biến đếm Sp1 = SP1(SP1 là số lượng sản phẩm mà chúng ta nhập vào) thì xylanh 4 hoạt động để đẩy hộp chứa sản phẩm 1 ra Nếu mã 2 di chuyển trên băng chuyền thì khi đi qua cảm biến 2 vật sẽ tiếp tục di chuyển đến vị trí cảm biến 3, khi đó cảm biến sẽ phát hiện vật ngây lập tức Xy lanh 3 sẽ đẩy vật, và biến đếm SP2 tăng lên
1, nếu biến đếm sản phẩm 2 = SP2 thì xylanh 5 hoạt động để đẩy hộp chứa sản phẩm 2 ra Trường hợp vật là mã 3 cảm biến 2 và 3 phát hiện vật nhưng vật vẫn tiếp tục di chuyển (vì đây là sản phẩm 3), và biến đếm SP3 tăng lên 1, nếu biến đếm sản phảm 3
= SP3 thì xylanh 6 hoạt động để đẩy hộp chứa sản phẩm 3 ra
SVTH: Nguyễn Đình Đức 8 GVHD: Nguyễn Thế Tranh
Hình 2-1 sơ đồ hệ thống
❖ Các thành phần trong hệ thống
• Cấp phôi tự động: dùng để cấp phôi
• Băng tải: vận chuyển phôi
• Hệ thống nhận dạng sản phẩm (camera): dùng để phân loại sản phẩm theo mã
• Cơ cấu đẩy (xylanh): đẩy phôi
• Gá đỡ sản phẩm: đựng phôi
Hình 2-2: Phễu thống cấp phôi Hình 2-3: Băng tải
SVTH: Nguyễn Đình Đức Hình 2-4: Camera utake ov 9 GVHD: Nguyễn Thế Tranh
3660 million pixels Hình 2-5: Bộ giảm tốc
Hình 2-8: Van điện từ khí nắng 5/2
SVTH: Nguyễn Đình Đức 10 GVHD: Nguyễn Thế Tranh
CHƯƠNG 3 TÍNH TOÁN THIẾT KẾ CÁC THÀNH PHẦN CỦA HỆ THỐNG
Hệ thống cấp phôi
GIỚI THIỆU ARDUINO
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án điện tử. Arduino bao gồm cả bảng mạch lập trình (thường được gọi là vi điều khiển) và một phần mềm (IDE) được sử dụng để lập trình viết và tải mã máy tính lên bo mạch
Nhờ sự đơn giản và dễ tiếp cận, Arduino đã được sử dụng trong hàng nghìn dự án và ứng dụng khác nhau Phần mềm Arduino rất dễ sử dụng cho người mới bắt đầu, nhưng đủ linh hoạt cho người dùng nâng cao Không giống như hầu hết các bo mạch lập trình trước đây, Arduino không cần bộ nạp riêng chỉ cần sử dụng cáp USB cắm vào máy tính rồi nạp
Các phiên bản Arduino khác nhau được thiết kế để phục vụ cho các mục đích khác nhau, từ các dự án nhỏ gọn và đơn giản đến các dự án phức tạp hơn với nhiều chân I/O và tính năng mạnh mẽ hơn Ví dụ như arduino mega 2560 với 54 chân digital, 16 chân analog, phù hợp cho dự án lớn Hoặc Arduino Nano với thiết kế cực kỳ nhỏ gọn nhưng cũng đầy đủ chân analog và digital, nhưng phổ biến và hay dùng nhất là arduino Uno. Ngoài ra, Arduino cũng hỗ trợ nhiều ngôn ngữ lập trình khác nhau, giúp cho người dùng có thể lập trình theo cách mà họ muốn Để lập trình cho Arduino ta cần sử dụng phần mềm lập trình Arduino IDE Đây là một môi trường phát triển tích hợp (IDE) được thiết kế để dễ sử dụng cho người mới bắt đầu trong lĩnh vực phát triển phần mềm Arduino IDE là một ứng dụng cross-platform (đa nền tảng) được viết bằng Java, vì vậy nó có thể chạy trên nhiều hệ điều hành khác nhau, bao gồm Windows, macOS và Linux
Arduino IDE bao gồm một chương trình code editor với các tính năng như đánh dấu cú pháp, tự động brace matching và tự động canh lề Nó cũng cung cấp các công cụ để biên dịch và tải lên chương trình lên bo mạch Arduino Ngoài ra, Arduino IDE cũng hỗ trợ các thư viện mã nguồn mở rất phổ biển như Wire, Servo, và LiquidCrystal, giúp các nhà phát triển xây dựng các ứng dụng phức tạp hơn trên nền tảng Arduino một cách dễ dàng hơn
SVTH: Nguyễn Đình Đức 24 GVHD: Nguyễn Thế Tranh
Hình 4-1 Giao diện Arduino IDE
Hình 4-2 Lựa chọn board và cổng COM
GIỚI THIỆU VỀ LABVIEW
Labview (Virtual Instrument Engineering Workbench) là một môi trường phát triển dựa trên ngôn ngữ lập trình đồ hoạ, thường được sử dụng cho mục đích đo lường, kiểm tra, đánh giá, xử lý, điều khiển các tham số của thiết bị - Labview là một ngôn ngữ lập trình đa năng, giống như các ngôn ngữ lập trình hiện đại khác Labview gồm có các thư viện thu nhận dữ liệu, một loạt các thiết bị điều khiển, phân tích dữ liệu,
SVTH: Nguyễn Đình Đức 25 GVHD: Nguyễn Thế Tranh biểu diễn và lưu trữ dữ liệu Nó còn có các công cụ phát triển được thiết kế riêng cho việc nối ghép và điều khiển thiết bị
Labview khác với các ngôn ngữ lập trình thông thường ở điểm cơ bản là: các ngôn ngữ lập trình khác thường dùng dòng lệnh, trong khi đó Labview dùng ngôn ngữ lập trình Graphical để tạo ra các chương trình ở dạng sơ đồ khối (Block diagram) có thể hiểu là lưu đồ thuật toán Labview xây dựng giao diện người sử dụng bằng việc thiết lập các công cụ và các đối tượng Giao diện người sử dụng được hiểu như là một front panel rồi sau đó đưa code vào trong sơ đồ khối để điều khiển các đối tượng ở trên front panel
❖ Các chức năng chính của LabVIEW có thể tóm tắt như sau:
- Thu thập tín hiệu từ các thiết bị bên ngoài như cảm biến nhiệt độ, hình ảnh
- từ webcam, vận tốc của động cơ, …
- Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông
- qua các cổng giao tiếp: RS232, RS485, USB, PCI, Ethernet
- Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích
- nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn
- Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn
- nhiều so với các ngôn ngữ khác như Visual Basic, Matlab, …
- Cho phép thực hiện các thuật toán điều khiển như PID, Logic mờ (Fuzzy
- Logic), một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong - LabVIEW
- Cho phép kết hợp với nhiều ngôn ngữ lập trình truyền thống như C, C++, …
SVTH: Nguyễn Đình Đức 26 GVHD: Nguyễn Thế Tranh
Hình 4-3 Phạm vi ứng dụng của LabView Hiện tại LabVIEW được sử dụng trong nhiều trong phòng thí nghiệm, các lĩnh vực về khoa học kỹ thuật như tự động hóa, điện tử, cơ điện tử, hàng không, hóa sinh Với ứng dụng rộng rãi như thế, LabVIEW sẽ trở thành một phần không thể thiếu trong sự phát triển của nền khoa học công nghệ hiện tại và tương lai
4.2.2 Các khái niệm cơ bản
VI (Virtual Instrument) Công cụ ảo: đây là khái niệm đầu tiên khi làm việc với Lab VIEW, chúng ta sẽ xây dựng các giải thuật, ứng dụng dựa trên những VI Để bắt đầu thiết lập chương trình với LabVIEW, hãy tạo một VI mới từ màn hình khởi tạo của phần mềm chụp cách nhấn vào Blank V hoặc File > New VI
Front Pannel: Là giao diện người dùng, tại đây lưu trữ các điều khiển (Controls), chi thị (Indicator) Controls có thể là nút nhấn (Button), thanh gạt (Slide), Núm vặn (Knob), Hộp chữ (Text box)
Người dùng có thể điều chỉnh giá các điều khiển này thông qua các khung trước đó. Indicator là đối tượng được đặt trên Front Panel dùng để hiển thị kết quả, nó tương tự như bộ phận đầu ra của chương trình Các bộ hiển thị là các đồ thị, LED, và các hiển thị khác Các bộ điều khiển mô phòng các tín hiệu vào và cung cấp dữ liệu cho sơ đồ khối của VI còn bộ hiển thị mô phỏng các tín hiệu đầu ra và hiển thị quá trình phát hay nhận dữ liệu ra mặt máy (font panel)
Hình 4-4 Front Pannel của một VI
SVTH: Nguyễn Đình Đức 27 GVHD: Nguyễn Thế Tranh
Hình 4-5 Block Diagram của một VI
Block Diagram Là nơi chứa nội dụng chương trình LabVIEW, nơi các hàm liên kết với nhau để tạo ra một chương trình nhằm xử lý bài toán của người dùng
SVTH: Nguyễn Đình Đức 28 GVHD: Nguyễn Thế Tranh
Bảng điều khiển (Controls Palette): Bao gồm các hàm phổ biển dùng để điều khiển: như nhập số, nút nhấn, công tắc, biểu đồ và các công cụ tạo giao diện, để mở bảng điều khiển ta nhấn chuột phải ở khung trước (Font pannel)
4.2.3 Các ứng dụng của Labview
LabVIEW được sử dụng trong các lĩnh vực đo lường, tự động hóa, cơ điện từ, robotics, vật lý, toán học, sinh học, vật liệu, ôtô, vv Nhìn chung: LabVIEW giúp kỹ sư kết nối bất kỳ cảm biến, và bất kỳ cơ cấu chấp hành với máy tính
LabVIEW có thể được sử dụng để xử lý các kiểu dữ liệu như tín hiệu tương tự (analog), tín hiệu số (digital) hình ảnh (vision), âm thanh (audio), vv
LabVIEW hỗ trợ các giao thức giao tiếp khác nhau như RS232, RS485, TCP /IP, PCI, PXI, và như vậy
Ta cũng có thể tạo ra các thực thi độc lập và các thư viện chia sẻ (ví dụ thư viện liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32-bit.
GIỚI THIỆU VỀ CÁC CÔNG CỤ GIAO TIẾP ARDUINO VỚI LABVIEW
4.3.1 Tổng quan về Arduino Compatible Complier For Labview
Trình biên dịch Arduino compatible complier for labview (Arduino TM) là một sản phẩm dựa trên LabVIEW của National Instruments LabVIEW là ngôn ngữ lập trình đồ họa sử dụng biểu tượng thay vì dòng văn bản để tạo ứng dụng Trình biên dịch
SVTH: Nguyễn Đình Đức 29 GVHD: Nguyễn Thế Tranh tương thích Arduino TM dành cho LabVIEW là trình biên dịch sẽ lấy chương trình LabVIEW, biên dịch và tải xuống các mục tiêu tương thích với Arduino
❖ Phần cứng được hỗ trợ:
❖ Tính năng của Arduino compatible complier for labview
• Các kiểu dữ liệu LabVIEW gốc được hỗ trợ bao gồm màng, chuỗi, số nguyên và số dấu phẩy động cũng như booleans
• Hơn 100 hàm LabVIEW gốc được hỗ trợ từ các bảng cấu trúc, mảng, số, boolean, chuỗi, so sánh và thời gian
• API LabVIEW để truy cập I/O kỹ thuật số Arduino™, PWM, đầu vào tương tự, bộ tạo âm thanh, vv
• Được xây dựng trong các thuật toán tối ưu hóa bộ nhớ
• Hỗ trợ ngắt sử dụng Gọi lại trong LabVIEW
• API VI để giao tiếp với nhiều Arduino TM
Hình 4-8 Giao diện Arduino Compatible Complier for Labview
SVTH: Nguyễn Đình Đức 30 GVHD: Nguyễn Thế Tranh
Chương 5 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN
Lưu đồ hệ thống
Hình 5-1 Lưu đồ hệ thống
Hình 5-2 Lưu đồ thuật toán
SVTH: Nguyễn Đình Đức 31 GVHD: Nguyễn Thế Tranh
5.3 THIẾT KẾ MẠCH ĐIỀU KHIỂN
Hình 5-3 Sơ đồ nguyên lý
SVTH: Nguyễn Đình Đức 32 GVHD: Nguyễn Thế Tranh
5.3.3 Bản vẽ mô hình cơ khí
Hình 5-5 Bản vẽ cơ khí
SVTH: Nguyễn Đình Đức 33 GVHD: Nguyễn Thế Tranh
5.3 CHƯƠNG TRÌNH ĐIỀU KHIỂN HỆ THỐNG
SVTH: Nguyễn Đình Đức 34 GVHD: Nguyễn Thế Tranh
SVTH: Nguyễn Đình Đức 35 GVHD: Nguyễn Thế Tranh
✓ Thiết kế hoàn chỉnh được mô hình phân loại sản phảm theo mã QR
✓ Với thiết kế đơn giản với những bộ phận tách biệt với nhau đem đến nhiều ưu điểm cho máy:
✓ Dễ dàng thay thế linh kiện hư hỏng mà không ảnh hưởng đến lập trình chung của máy
✓ Dễ dàng thay đổi chức năng của máy bằng cách thay thế bộ phận tương đương
✓ Giá thành lắp ráp rẻ
✓ Dễ dàng tìm được linh kiện thay thế
✓ Thông qua đề tài nghiên cứu, em đã tìm hiểu được thêm nhiều về kỹ thuật chế tạo máy, kỹ thuật điều khiển, kỹ thuật điện và lập trình
✓ Trong quá trình làm việc, tìm hiểu nhiều linh kiện khác nhau để tìm ra được loại linh kiện chính xác và cần thiết nhất cho đề tài Qua đó, các thành viên có được nhiều kiến thức hơn và là kinh nghiệm quý giá để có thể giúp xử lý các loại máy móc khác sau này
✓ Đề tài được thiết kế và lắp ráp hoàn toàn thủ công nên còn nhiều hạn chế về độ chính xác cơ khí
✓ Trong quá trình chạy máy còn nhiều lỗi phát sinh
✓ Năng suất lao động chưa cao ✓ Tốc độ quét chưa cao
Thiết kế và chế tạo hệ thống với kích thước lớn hơn (thực tế) để có thể ứng dụng vào các dây chuyền phân loại trong công nghiệp
3.2 Tích hợp Trí tuệ nhân tạo (AI) và Machine Learning (ML):
SVTH: Nguyễn Đình Đức 36 GVHD: Nguyễn Thế Tranh
Sử dụng các thuật toán học máy để cải thiện khả năng phân loại và nhận diện sản phẩm dựa trên dữ liệu từ mã QR Điều này có thể giúp hệ thống tự động học và cải thiện hiệu suất theo thời gian
Tăng cường cơ sở dữ liệu sản phẩm để cung cấp thông tin chi tiết hơn về từng sản phẩm Điều này có thể bao gồm thông tin về nguồn gốc, quy trình sản xuất, hạn sử dụng, và các thông tin liên quan khác
Phát triển ứng dụng di động để người tiêu dùng có thể dễ dàng quét mã QR bằng điện thoại di động để xem thông tin chi tiết về sản phẩm Điều này tạo ra trải nghiệm người dùng thân thiện và tiện ích
3.5 Phân tích Dữ liệu và Báo cáo:
Phát triển chức năng phân tích dữ liệu để đưa ra báo cáo về xu hướng tiêu dùng, hiệu suất sản phẩm, và các thông số quan trọng khác
SVTH: Nguyễn Đình Đức 37 GVHD: Nguyễn Thế Tranh