mô hình phân loại sản phẩm bằng mã QR, sử dụng PLC tiaportal wincc điều khiển và giám sát qua webserver, xử lí hình ảnh bằng python.Ứng dụng các phần mềm Autocad thiết kế các cơ cấu cơ khí trong mô hình, xuất bản vẽ theo tiêu chuẩn để có thể sẵn sàng gia công chế tạo.Sử dụng phần mềm CADe_SIMU vẽ thiết kế đi dây cho mạch điện điều khiển một cách hợp lý nhất.Sử dụng phần mềm TIA Portal để lập trình điều khiển hệ thống cũng như mô phỏng điều khiển giám sát trên giao diện màn hình chính wincc.Sử ngôn ngữ lập trình Python để tạo mã QR code và giao diện Webserver.Sử dụng phần mềm Visual Studio Code để giao tiếp giữa Webserver và PLC, hiển thị trạng thái hoạt động của hệ thống.Kết quả đạt được thông qua quá trình thực nghiệm đã đúng với những gì đã dự kiến ban đầu.
GIỚI THIỆU ĐỀ TÀI
Đặt vấn đề
Ngày nay, kỹ thuật điện- điện tử và điều khiển tự động đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học, quản lý và công nghiệp tự động hóa Việc nắm bắt và ứng dụng hiệu quả những công nghệ tiên tiến như vi xử lý, PLC và vi mạch số là cần thiết để phát triển kỹ thuật điều khiển tự động Các hệ thống điều khiển cơ khí thô sơ đã được thay thế bằng hệ thống điều khiển tự động với lệnh chương trình đã được thiết lập trước, giúp tăng tốc độ xử lý và độ chính xác Trong sản xuất, việc kiểm tra lỗi sản phẩm thường gặp khó khăn khi sử dụng phương pháp thủ công, trong khi kiểm tra bằng cảm biến có thể tốn kém và không đạt độ chính xác cao Do đó, nhóm quyết định áp dụng công nghệ xử lý ảnh để phân loại sản phẩm hiệu quả hơn.
Xử lý ảnh là một lĩnh vực khoa học đang phát triển mạnh mẽ, với ứng dụng đa dạng và tiềm năng không giới hạn cho các doanh nghiệp Trong sản xuất hàng loạt, việc kiểm tra số lượng và chất lượng sản phẩm là rất cần thiết, tuy nhiên, phương pháp thủ công thường tốn thời gian và nhân lực, đồng thời giảm hiệu suất và độ chính xác Việc áp dụng công nghệ xử lý hình ảnh, đặc biệt trong việc nhận diện sản phẩm qua mã QR, đang trở thành giải pháp hiệu quả hơn so với các phương pháp truyền thống.
Nhóm quyết định chọn đề tài “Thiết kế thi công mô hình phân loại sản phẩm dùng mã QR” nhằm nâng cao độ chính xác gần như tuyệt đối, đồng thời giảm thiểu thời gian và nhân công lao động Để thực hiện thiết kế, cần chú trọng đến cơ khí và điều khiển động cơ cũng như hệ thống hoạt động tự động dựa trên lập trình và điều khiển của PLC Bên cạnh đó, các yếu tố như vật liệu mô hình, nguồn cung cấp và tính toán thông số chi tiết cũng cần được xem xét kỹ lưỡng.
Các vấn đề cần đƣợc giải quyết đó là:
Vấn đề cơ khí liên quan đến việc lựa chọn vật liệu và thông số kỹ thuật cho các chi tiết nhằm đáp ứng các yêu cầu như kích thước nhỏ gọn, trọng lượng nhẹ, độ bền cao, tính thẩm mỹ tốt, cũng như dễ dàng trong việc lắp đặt và sửa chữa.
• Vấn đề nhận biết sản phẩm: Phân tích hình ảnh từ camera để xử lý số liệu phân loại sản phẩm Qrcode
• Vấn đề điều khiển: điều khiển hoàn toàn tự động, dễ dàng vận hành
• Vấn đề an toàn: đảm bảo an toàn cho người sử dụng và sản phẩm không bị hỏng
Hệ thống phân loại bằng mã QR có thể giúp việc phân loại dễ dàng hơn trong lĩnh vực quản lý hàng hóa :
Hệ thống quản lý kho hàng giúp theo dõi số lượng và vị trí sản phẩm trong kho, đồng thời tự động cập nhật thông tin khi có giao dịch nhập hoặc xuất hàng.
- Vận chuyển và logistics: Công ty vận chuyển và logistics có thể sử dụng mã
Mã QR được sử dụng để phân loại và theo dõi hàng hóa trong quá trình vận chuyển Mỗi đơn hàng hoặc kiện hàng đều có thể được gắn mã QR, giúp nhân viên và khách hàng dễ dàng theo dõi vị trí cũng như trạng thái của hàng hóa.
Mã QR code là công cụ hữu ích trong việc phân loại và quản lý các sản phẩm công nghệ như điện thoại di động, máy tính xách tay, thiết bị điện tử và phụ kiện Người dùng có thể dễ dàng quét mã QR để truy cập thông tin chi tiết về sản phẩm.
3 code để biết thông tin chi tiết về sản phẩm và kiểm tra tính hợp pháp, bảo hành
Mã QR code trong ngành y tế đóng vai trò quan trọng trong việc phân loại và theo dõi thiết bị y tế, mẫu xét nghiệm, thuốc và sản phẩm y tế khác Việc áp dụng công nghệ này giúp cải thiện quản lý kho, theo dõi xuất xứ và hạn sử dụng của sản phẩm, từ đó đảm bảo tính chính xác và hiệu quả trong quá trình chăm sóc sức khỏe.
Mã QR code có ứng dụng đa dạng trong nhiều lĩnh vực và ngành công nghiệp khác nhau, tùy thuộc vào yêu cầu và mục đích sử dụng cụ thể Việc phân loại sản phẩm bằng mã QR code mang lại nhiều lợi ích, giúp tối ưu hóa quy trình và nâng cao hiệu quả trong quản lý sản phẩm.
- Có thể giám sát hệ thống qua webserver
- Điều khiển và giám sát hệ thống bằng WinCC, HMI
Mã QR code có khả năng lưu trữ đa dạng thông tin, từ mô tả sản phẩm, hướng dẫn sử dụng, nguồn gốc, thành phần đến giá cả và mã vạch Việc này không chỉ làm phong phú thêm thông tin mà còn giúp người tiêu dùng có cái nhìn chi tiết và rõ ràng hơn về sản phẩm.
Mô hình phân loại sản phẩm sử dụng mã QR code giúp quản lý hàng hóa hiệu quả hơn Bằng cách liên kết mã QR code với từng sản phẩm, các nhà sản xuất, nhà bán lẻ và nhà vận chuyển có thể theo dõi và quản lý số lượng hàng hóa, vị trí, thông tin nguồn gốc và hạn sử dụng một cách dễ dàng.
Mục tiêu đề tài
Mục tiêu thiết kế là xây dựng hệ thống phân loại sản phẩm sử dụng camera để phát hiện mã QR code, với kiểu dáng nhỏ gọn, thuận tiện cho việc lắp đặt, bảo trì và sửa chữa.
- Thiết kế mô hình phần cứng hệ thống phân loại sản phẩm
- Thiết kế chương trình điều khiển PLC, thực hiện giám sát trên web và điều khiển bằng HMI
- Cấu hình truyền thông giữa Laptop và PLC
- Thiết kế giao diện HMI và giao diện giám sát trên Webserver
- Hệ thống có khả năng phân loại đƣợc các sản phẩm bằng mã QR
Đối tƣợng nghiên cứu
Đối tƣợng nghiên cứu bao gồm:
- Hệ thống phân loại sản phẩm mã Qrcode
- Phân loại sản phẩm bằng xi lanh, khí nén
- Xử lí ảnh để phân loại sản phẩm
- Giám sát hệ thống qua websever.
Phương pháp thực hiện
Bao gồm hai phương pháp thực hiện
- Phương pháp nghiên cứu lý thuyết:
Nắm bắt các nội dung kiến thức liên quan từ các tài liệu qua sách vở, các diễn đàn, internet
Tìm hiểu về các bài toàn, mô hình hóa giúp cho việc chọn các trang bị điện và cơ khí cho phần thiết kế hệ thống
Tìm hiểu các tài liệu, cơ sở lý thuyết về các loại động cơ, hệ thống cảm biến,…
Tìm hiểu về phương pháp xử lí ảnh
Tìm hiểu về cơ sở lý thuyết, ứng dụng viết chương trình điều khiển hệ thống phân loại cho bộ điều khiển PLC
- Phương pháp nghiên cứu thực nghiệm:
Thực hiện nghiên cứu, tìm hiểu, lấy ý tưởng về các hệ thống, đề tài đã có, đã đi vào vận hành trong thực tế
Sử dụng phần mềm Visual studio code để lập trình xử lí ảnh và thiết kế websever để giám sát quá trình của hệ thống
Sử dụng phần mềm TIA Portal (SIMATIC STEP 7 & WINCC) điều khiển hệ thống
Sử dụng phần mềm CAD để thiết kế hệ thống cơ khí.
Dự kiến kết quả đạt đƣợc
- Xây dựng thành công mô hình cơ khí 2D hệ thống phân loại sản phẩm mã Qrcode bằng phần mềm CAD
- Xây dựng được chương trình điều khiển cho hệ thống hoạt động ổn định theo dự kiến đề ra
- Lắp ráp, hoàn thiện mô hình sản phẩm, vận hành đúng so với thực nghiệm.
Nội dung đề tài
Phần còn lại của đề tài có nội dung sau:
Chương 2: Tổng quan giải pháp công nghệ
- Trình bày các yêu cầu, quy trình công nghệ liên quan đến đề tài
Chương 3: Tính toán và thiết kế
- Xây dựng mô hình, quy trình hệ thống, thiết kế phù hợp, lựa chọn thiết bị
Chương 4: Kết quả phần cứng và phần mềm
- Thi công hệ thống thực tế dựa trên kết quả của việc tính toán và thiết kế
Chương 5: Kết quả chạy thực nghiệm
- Trình bày kết quả đạt đƣợc về mô hình thực tế
Chương 6: Kết luận và hướng phát triển
- Đƣa ra những quan điểm về mô hình và việc cải tiến, mở rộng phát triển Kết luận:
TỔNG QUAN GIẢI PHÁP CÔNG NGHỆ
Tổng quan hệ thống
Hiện nay có hệ thống phân loại rất đa dạng, ứng dụng nhiều công nghệ khác nhau để phân loại:
Phân loại sản phẩm bằng mã QR đang trở nên phổ biến trong việc tổ chức và quản lý hàng hóa Hệ thống này giúp phân loại các kiện hàng, bưu phẩm và sản phẩm đã được đóng gói trong thùng carton hoặc túi, đồng thời dán mã vạch barcode và mã QR để dễ dàng theo dõi và kiểm soát.
- Ƣu điểm: Hệ thống có thể dễ dàng sàng lọc và lựa chọn, gom sản phẩm vào các vị trí tập kết theo yêu cầu đặt ra nhƣ:
+ Với sản phẩm điện tử, công nghệ: phân theo cùng lô sản xuất, ngày sản xuất, model…
+ Với các bưu phẩm, đơn hàng chuyển phát nhanh: phân loại theo ngày lên đơn, cách thức đóng gói, địa điểm giao hàng, hàng chuyển nhanh-tiêu chuẩn…
+ Với các sản phẩm nông sản đóng gói: phân loại theo hạn sử dụng, số lô chế biến, cấp sản phẩm…
- Nhƣợc điểm là cần sử dụng nhiều máy đọc mã trong khâu nhận dạng mới cho kết quả mong muốn
Hình 2 7 Hệ thống phân loại sản phẩm theo mã vạch
Phân loại theo khối lượng được thực hiện bằng cách sử dụng cảm biến tích hợp trên băng tải để cân đo khối lượng sản phẩm Sau khi đo xong, tín hiệu sẽ được gửi về bộ điều khiển để tiến hành phân loại chính xác.
Hệ thống này có nhiều ưu điểm, đặc biệt là ứng dụng rộng rãi trong các ngành thực phẩm, thủy hải sản và nông sản Tuy nhiên, nhược điểm của nó là dễ bị nhiễu do các tác động bên ngoài và chi phí sử dụng cảm biến khá cao.
Hình 2 8 Hệ thống phân loại sản phẩm theo khối lượng
Phân loại theo màu sắc, kích thước, hình dạng: có thể sử dụng cảm biến hoặc camera để xác định màu sắc, hình dạng, kích thước của vật
- Ƣu điểm: Ứng dụng nhiều trong các ngành nông nghiệp, thực phẩm, dầu, hóa chất, công nghiệp dƣợc phẩm, linh kiện điện tử, thiết bị y tế…
- Nhƣợc điểm là khi đặt trong điều kiện ánh sáng không tốt thì khó ra kết quả chính xác
Hình 2 9 Hệ thống phân loại sản phẩm theo màu sắc
Hệ thống phân loại sử dụng công nghệ xử lý ảnh hiện nay đang được áp dụng rộng rãi trong ngành công nghiệp nhờ vào độ tin cậy cao Thay vì sử dụng các công cụ riêng biệt như đọc mã vạch hay mã QR, công nghệ này đáp ứng hầu hết các yêu cầu về nhận dạng Trong quy trình sản xuất, khâu đóng gói và kiểm tra là giai đoạn cuối cùng, do đó việc kiểm tra kỹ lưỡng về số lượng và chất lượng sản phẩm là vô cùng cần thiết.
Hệ thống phân loại sản phẩm sử dụng công nghệ xử lý hình ảnh để nhận dạng và phân loại sản phẩm đạt chuẩn cũng như sản phẩm lỗi Hệ thống này bao gồm camera thu thập hình ảnh, sau đó xử lý để phát hiện các sản phẩm, và cuối cùng, ngõ ra từ bộ xử lý sẽ gửi tín hiệu về bộ xử lý trung tâm.
Qr code là gì ?
QR Code, hay mã QR, là viết tắt của cụm từ Quick Response Code, có nghĩa là mã phản hồi nhanh Nó cũng được biết đến với tên gọi là mã vạch ma trận, hay mã vạch.
QR Code, một dạng thông tin mã hóa 2 chiều (2D), được Denso Wave, công ty con của Toyota, phát triển lần đầu vào năm 1994 Mã này cho phép người dùng quét và đọc thông tin nhanh chóng thông qua các thiết bị như máy đọc mã vạch hoặc điện thoại thông minh có camera và ứng dụng quét mã, mang lại sự tiện lợi vượt trội Cấu trúc của QR Code bao gồm nhiều hình vuông, giúp tối ưu hóa khả năng lưu trữ thông tin.
Trong lưới hình vuông có 9 ô màu đen trên nền trắng, ba ô lớn ở các góc được sử dụng làm cảm biến hình ảnh định vị Các ô còn lại chứa thông tin về định dạng, phiên bản, dữ liệu và mã sửa lỗi (ECC), giúp phát hiện và sửa lỗi trong quá trình truyền dữ liệu.
Hình 2.4 Mô tả QR code
+ (1) Hoa văn định vị (Finder pattern): Các hoa văn định vị nằm ở 3 góc của mã
Mã QR được thiết kế để xác định hướng và giúp camera nhận diện phạm vi cũng như đọc thông tin ngay cả khi mã bị biến dạng Thông tin định dạng trong mã QR có chức năng sửa lỗi, quyết định mức độ sửa lỗi của mã để đảm bảo tính chính xác Để cân bằng giữa các ô đen và trắng, chức năng Mask được thiết lập dựa trên 8 nguyên tắc, giúp bảo vệ sự toàn vẹn và màu sắc của mã, đảm bảo sự cân bằng trong thiết kế.
+ (3) Vùng dữ liệu (Data): Chứa những dữ liệu thực tế
Mô-đun trong mã QR bao gồm các ô đen và trắng, trong đó ô đen đại diện cho giá trị 1 và ô trắng đại diện cho giá trị 0 Tập hợp các ô này tạo thành thông tin được lưu trữ trong mã QR.
Ký hiệu căn chỉnh trong mã QR giúp định hướng và cho phép giải mã từ mọi góc độ, đảm bảo rằng ngay cả khi mã bị lật ngược hoặc ở một góc khác, máy quét vẫn có thể đọc mã một cách dễ dàng.
+ (6) Mẫu thời gian (Timing pattern): Khi sử dụng mẫu này, máy quét có thể biết đƣợc độ lớn của ma trận dữ liệu 7
Phiên bản mã QR được xác định bởi số lượng mô-đun, với tổng cộng 40 phiên bản từ 1 đến 40 Phiên bản 1 có 21 mô-đun, và mỗi phiên bản tiếp theo tăng thêm 4 mô-đun, cho đến phiên bản 40 với 177 mô-đun Số lượng mô-đun trong mã QR ảnh hưởng đến dung lượng lưu trữ, điều này rất quan trọng trong các chiến dịch tiếp thị.
QR với phiên bản từ 1 đến 7
Vùng yên tĩnh (Quiet zone) là không gian trống xung quanh mã QR, giúp bộ đọc mã phân biệt mã với môi trường xung quanh QR Code là phiên bản cải tiến của mã vạch truyền thống, với cấu trúc khác biệt cho phép chứa nhiều thông tin hơn.
Mã QR có khả năng chứa tối đa 7.089 ký tự số và 4.296 ký tự chữ, cho phép truyền tải nhiều thông tin hơn so với mã vạch chỉ 20 ký tự Điều này hỗ trợ doanh nghiệp trong việc gửi thông điệp đến khách hàng hiệu quả hơn Ngoài ra, mã QR chiếm ít không gian hơn so với mã vạch truyền thống, giúp tăng tính thẩm mỹ khi in trên sản phẩm hoặc danh thiếp Một mã QR có thể chứa địa chỉ web, thông tin liên hệ như email, số điện thoại, địa chỉ nhà, hay tin nhắn SMS Tùy thuộc vào thiết bị quét, mã QR có thể dẫn đến trang web, gọi điện, hoặc xem tin nhắn.
Hình 2.5 Mã vạch truyên thống và mã QR code
Phương pháp tạo mã QR code
Có nhiều phương pháp để tạo mã QR code Dưới đây là các phương pháp phổ biến để tạo mã QR code:
Để tạo mã QR code, bạn có thể sử dụng các công cụ trực tuyến miễn phí và trả phí Chỉ cần tìm kiếm trên web, bạn sẽ tìm thấy nhiều lựa chọn và hướng dẫn để tạo mã QR code theo nhu cầu của mình Các công cụ này cho phép bạn tùy chỉnh nội dung, kích thước, màu sắc và kiểu dáng của mã QR.
Các nhà phát triển có thể sử dụng các thư viện mã hóa QR code có sẵn trong nhiều ngôn ngữ lập trình như Python với thư viện qrcode, Java với zxing, và JavaScript với qrcode.js để tạo mã QR code Những thư viện này cho phép tùy chỉnh các thông số như nội dung, kích thước, màu sắc và hiệu ứng của mã QR code.
Sử dụng ứng dụng di động để tạo mã QR code là một giải pháp tiện lợi, với nhiều lựa chọn miễn phí và trả phí trên các nền tảng Android và iOS Bạn có thể dễ dàng tìm kiếm và tải xuống ứng dụng phù hợp từ cửa hàng ứng dụng trên điện thoại Những ứng dụng này cho phép bạn nhập nội dung và tùy chỉnh mã QR code ngay trên thiết bị di động của mình.
12 Ở đồ án này, chúng em sử dụng ngôn ngữ lập trình python trong Visual Studio Code để tạo ra mã QR.
Tổng quan về xử lý ảnh và đọc mã QR code
2.4.1 Giới thiệu thƣ viện mã nguồn mở OpenCV
OpenCV, viết tắt của thư viện thị giác máy tính mã nguồn mở, là một kho lưu trữ mã nguồn mở được sử dụng để xử lý hình ảnh và phát triển ứng dụng đồ họa trong thời gian thực.
OpenCV cho phép cải thiện tốc độ của CPU khi thực hiện các hoạt động real time
Nó còn cung cấp một số lƣợng lớn các mã xử lý phục vụ cho quy trình của thị giác máy tính hay các learning machine khác
OpenCV là một thư viện mã nguồn mở với giao diện thân thiện cho nhiều ngôn ngữ lập trình như C++, C, Python và Java, đồng thời tương thích với các hệ điều hành như Windows, Linux, Mac OS, iOS và Android Thư viện này được ứng dụng rộng rãi trong các phần mềm định vị, bản đồ, cung cấp dữ liệu hình ảnh cho các ứng dụng liên quan đến bản đồ, và tạo ra hình ảnh 3D phức tạp, cũng như trong các công nghệ như robot, xe tự lái và bảng cảm ứng thông minh OpenCV cho phép người dùng sử dụng miễn phí các thuật toán và cũng khuyến khích đóng góp để phát triển thư viện ngày càng tốt hơn.
- Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng
- Về Video cũng tương tự như hình ảnh cũng có đọc và ghi
- Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh
- Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh
- Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh
- Phân tích video, ƣớc lƣợng chuyển động của nó, trừ nền ra và theo dõi các đối tƣợng trong video
Chúng ta sẽ sử dụng ngôn ngữ lập trình Python cho đề tài này Python là lựa chọn lý tưởng nhờ vào phần mềm gọn nhẹ và không quá phức tạp Với cú pháp ngắn gọn và tính năng đơn giản, Python giúp quá trình phát triển phần mềm OpenCV trở nên dễ dàng hơn Đây cũng là giải pháp tốt cho những người không có nhiều kinh nghiệm lập trình.
2.4.2 Giới thiệu về xử lí ảnh
2.4.2.1 Tổng quan về xử lý ảnh
Xử lý ảnh là một lĩnh vực quan trọng trong xử lý tín hiệu, nơi ảnh số được sử dụng làm đầu vào và các giá trị, thuộc tính mong muốn là đầu ra Kỹ thuật này bao gồm nhiều phương pháp tính toán và biến đổi nhằm cải thiện chất lượng ảnh, nhận dạng và đánh giá nội dung của ảnh Trong những năm gần đây, ngành khoa học này đã phát triển mạnh mẽ, mang lại nhiều lợi ích thiết thực cho cuộc sống con người.
Lĩnh vực bảo mật: Nhận dạng vân tay, khuôn mặt…
Lĩnh vực giao tiếp giữa người và máy: tương tác với vật thể, dò line, tránh vật cản…
Lĩnh vực giải trí: Trò chơi điện tử thực tế ảo…
Lĩnh vực y tế: Chụp X-quang, MRI…
2.4.2.2 Quá trình xử lí ảnh Ảnh số là một tập hợp từ hàng nghìn cho tới hàng triệu điểm ảnh (pixel) Số điểm ảnh xác định độ phân giải của bức ảnh, độ phân giải càng cao thì bức ảnh càng sắc nét và ngược lại Mỗi điểm ảnh sẽ có hai thuộc tính (x, y) tương ứng là tọa độ theo phương ngang và dọc của chúng trên ảnh Trong quá trình xử lý ảnh, việc tính toán
14 thực hiện trực tiếp trên các điểm ảnh Sau đây là các quá trình trong xử lý ảnh:
Quá trình thu nhận ảnh bắt đầu bằng việc sử dụng các thiết bị như camera, sensor quang hoặc máy scanner để thu thập ảnh đầu vào Sau đó, các tín hiệu này sẽ được số hóa Việc chọn lựa thiết bị thu nhận ảnh phụ thuộc vào đặc tính của đối tượng cần xử lý, với các thông số quan trọng như độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh cần được xem xét kỹ lưỡng.
Quá trình tiền xử lý ảnh bao gồm cải thiện độ tương phản, khử nhiễu và khử bóng để nâng cao chất lượng ảnh, từ đó tạo điều kiện thuận lợi cho các bước xử lý phức tạp tiếp theo Thao tác này thường được thực hiện thông qua các bộ lọc chuyên dụng.
Quá trình phân đoạn ảnh là bước quan trọng trong xử lý ảnh, giúp phân tích ảnh thành các phần chuẩn để xác định các vùng liên thông có thể có cùng màu sắc hoặc mức xám Mục đích chính của phân đoạn ảnh là mô tả tổng hợp nhiều phần tử khác nhau trong ảnh thô Thông tin trong ảnh thường rất lớn, trong khi nhiều ứng dụng chỉ cần tập trung vào một số đối tượng đặc trưng Do đó, cần thiết phải có một quy trình chọn lọc thông tin để giảm khối lượng dữ liệu và tăng tốc độ xử lý, bao gồm việc phân vùng ảnh và trích chọn các đặc tính chủ yếu.
Kết quả của bước phân đoạn ảnh thường được trình bày dưới dạng dữ liệu điểm ảnh thô, bao gồm biên của một vùng ảnh hoặc tập hợp điểm ảnh thuộc về vùng đó Việc chuyển đổi dữ liệu thô này thành dạng phù hợp cho xử lý máy tính là rất cần thiết Câu hỏi quan trọng là nên biểu diễn vùng ảnh dưới dạng biên hay dạng vùng hoàn chỉnh Biểu diễn dạng biên thích hợp cho các ứng dụng tập trung vào đặc trưng hình dạng bên ngoài, như góc cạnh và điểm uốn, trong khi biểu diễn dạng vùng lại phù hợp cho các ứng dụng khác.
Các ứng dụng khai thác tính chất bên trong của đối tượng, như vân ảnh hoặc cấu trúc xương, là rất đa dạng Việc chọn cách biểu diễn phù hợp cho một vùng ảnh chỉ là bước đầu trong quá trình chuyển đổi dữ liệu ảnh thô thành dạng dễ dàng tính toán hơn Cần thiết phải phát triển phương pháp mô tả dữ liệu đã chuyển đổi để làm nổi bật những tính chất quan trọng, từ đó tạo điều kiện thuận lợi cho việc xử lý.
Nhận dạng và giải thích là bước cuối cùng trong quá trình xử lý ảnh, trong đó nhận dạng ảnh được hiểu là gán nhãn cho các đối tượng trong ảnh, chẳng hạn như các mẫu chữ Quá trình này bao gồm việc tách riêng các mẫu chữ và gán đúng các ký tự trong bảng chữ cái cho chúng Giải thích, ngược lại, là công đoạn gán nghĩa cho các đối tượng đã được nhận biết.
Không phải tất cả các ứng dụng xử lý ảnh đều cần tuân thủ mọi bước xử lý Thông thường, các chức năng như nhận dạng và giải thích chỉ xuất hiện trong hệ thống phân tích ảnh tự động hoặc bán tự động, nhằm rút ra thông tin quan trọng từ hình ảnh, chẳng hạn như ứng dụng nhận dạng ký tự và biển số.
2.4.3 Xử lí ảnh và đọc mã QR code Ở đề tài này, thì ta xử lý ảnh để đọc mã QR code nhƣ sau:
Để đọc mã QR code, trước tiên chúng ta cần tải ảnh chứa mã này Chúng ta có thể sử dụng nhiều thư viện và công cụ khác nhau, trong đó thư viện OpenCV trong Python là một lựa chọn phổ biến.
Chuyển đổi ảnh sang định dạng phù hợp là bước quan trọng trong quá trình xử lý ảnh Đặc biệt, khi đọc mã QR code, việc chuyển đổi ảnh sang định dạng grayscale giúp giảm kích thước dữ liệu và tăng tốc độ xử lý hiệu quả.
Để tìm kiếm mã QR code trong ảnh, chúng ta áp dụng các thuật toán xác định vùng (region detection) nhằm xác định các khu vực có chứa mã QR Mã QR thường có các đặc điểm nhận diện như vị trí mẫu, hình dạng hình vuông và các góc vuông Chúng ta có thể sử dụng các phương pháp như phát hiện cạnh (edge detection) và phân đoạn (segmentation) để tìm kiếm và phân loại các vùng phù hợp.
Giới thiệu về PLC
PLC, viết tắt của Programmable Logic Controller, là thiết bị điều khiển khả trình cho phép thực hiện các thuật toán điều khiển logic linh hoạt thông qua ngôn ngữ lập trình Người dùng có thể lập trình để thực hiện nhiều trình tự sự kiện, được kích hoạt bởi các tác nhân tác động vào PLC hoặc qua bộ đếm, thời gian Khi sự kiện được kích hoạt, ngõ ra sẽ điều khiển bật hoặc tắt các thiết bị ngoại vi Để khắc phục nhược điểm của bộ điều khiển dùng dây nối, PLC được phát triển với các yêu cầu như lập trình dễ dàng, ngôn ngữ dễ học, gọn nhẹ, dễ bảo quản và sửa chữa, dung lượng bộ nhớ lớn cho các chương trình phức tạp, hoạt động ổn định trong môi trường công nghiệp và khả năng giao tiếp với các thiết bị thông minh khác như máy tính.
17 internet, các module mở rộng
Việc thay đổi chương trình bên trong bộ nhớ PLC cho phép mở rộng và điều chỉnh chức năng một cách dễ dàng, mà không cần can thiệp vật lý vào hệ thống dây nối hay Relay.
Hình 2.6 Cấu trúc tổng quan I/O của PLC
2.5.2 Những đặc điểm nổi bật của S7-1200
Cổng truyền thông Profinet (Ethernet) giúp kết nối dễ dàng giữa Simatic S7-1200 và Simatic HMI Basic, được lập trình trên nền tảng TIA Portal V10.5 hoặc phiên bản cao hơn Việc lập trình sử dụng phương pháp kéo-thả, mang lại sự thuận tiện cho người dùng và giúp quá trình lập trình trở nên nhanh chóng, đơn giản.
Tích hợp sẵn các đầu vào ra và các board tín hiệu mở rộng giúp tiết kiệm chi phí và không gian tủ điện, đặc biệt khi ứng dụng yêu cầu lượng đầu vào ra lớn.
S7–1200 bao gồm các họ CPU 1211C, 1212C, 1214C Mỗi loại CPU có những tính năng khác nhau, thích hợp cho từng loại ứng dụng
Các kiểu cấp nguồn và đầu vào ra có thể là DC/DC/DC hay
Đều có khe cắm thẻ nhớ, dùng cho khi mở rộng bộ nhớ cho CPU, copy chương trình ứng dụng hay cập nhật firmware
Chẩn đoán lỗi online/offline
Đồng hồ thời gian thực cho các ứng dụng thời gian thực
Phần mềm lập trình cho PLC s7 – 1200
2.6.1 Tổng quan về phần mềm TIA Portal V15
Totally Integrated Automation Portal (TIA Portal) là phần mềm cung cấp môi trường thân thiện với người dùng, bao gồm lập trình hiệu chỉnh, thư viện, bộ điều chỉnh logic và ứng dụng điều khiển.
Phần mềm TIA Portal V15 của Siemens giúp người dùng phát triển và tích hợp các hệ thống tự động hóa một cách dễ dàng, giảm thiểu thời gian tích hợp và xây dựng ứng dụng từ các phần mềm riêng biệt, hạn chế lỗi TIA Portal là nền tảng tích hợp các phần mềm lập trình của Siemens với một cơ sở dữ liệu chung, tạo ra tính thống nhất trong giao diện và đảm bảo tính toàn vẹn cho các ứng dụng Tất cả các bộ điều khiển PLC, màn hình HMI và bộ truyền động của Siemens đều được lập trình và cấu hình trên TIA Portal, giúp tiết kiệm thời gian thiết lập truyền thông giữa các thiết bị.
2.6.2 Giao diện phần mềm TIA Portal
Phần mền TIA PORTAL V16 làm nhiệm vụ trung gian giữa người dùng, người lập trình và PLC Các bước để tạo một project trên phần mềm :
Bước 1: Kích đúp vào biểu tượng của TIA Portal V16
Hình 2.9 Icon TIA Portal V15 hiển thị trên máy tính
Bước 2: Ở phần Start, kích chuột vào Create New Project để tạo dự án mới
Bước 3: Tạo tên của Project,sau đó kích Create
Hình 2.11 Đặt tên cho Project
Bước 4: Kích vào Configure a device trước khi kích vào Write PLC program để chọn cấu hình PLC đƣợc sử dụng trong Project
Hình 2.12 Thiết lập cấu hình cho PLC
Bước 5: Kích Add new device, chọn loại CPU định sử dụng, ở đây chúng ta sử dụng CPU 1211 AC/DC/Rly
Hình 2.13 Chọn cấu hình phù hợp với PLC
Bước 6: Giao diện của TIA PORTAL
Hình 2.14 Giao diện TIA PORTAL
2.6.3 Sử dụng bảng Tag trong PLC
Sau khi hoàn thiện giao diện, chúng ta sẽ gắn các Tag cần thiết cho chương trình Tag này đóng vai trò khai báo các biến, giúp sử dụng chúng trong mọi khối chức năng của PLC.
Hình 2.15 Giao diện khai báo các biến TIA PORTAL
- Name: Tên ký hiệu của địa chỉ, chỉ đƣợc sử dụng 1 tên cho 1 địa chỉ duy nhất trong tag
- Data type: kiểu dữ liệu của tag (Bool, Word,Real…)
- Address: địa chỉ của tag
- Retain: khai báo của tag sẽ được lưu trữ lại
- Comment : comment miêu tả của tag
- Tag table : địa chỉ của mỗi I/O, có thể thiết lập tự động hay thủ công
- Visible : luôn hiện hữu địa chỉ này trong cả chương trình
- Accessible : cho phép truy cập vào địa chỉ trong bảng tag
- Comment : ghi chú thích vào địa chỉ nhằm giải thích địa chỉ đó biểu trƣng cho I/O nào
Sau khi khai báo tag, ta vào MAIN, ở đây ta có đƣợc giao diện chính dùng để viết chương trình:
Hình 2.16 Giao diện soạn thảo TIA PORTAL
2.6.4 Tải chương trình xuống CPU Đầu tiên phải thiết lập địa chỉ IP để kết nối PLC với máy tính lúc chọn lại CPU, chọn online access
Thanh công cụ Menu chính
24 Đổ từ màn hình soạn thảo chương trình bằng cách kích vào biểu tượng download trên thanh công cụ của màn hình
Hình 2.17 Đổ chương trình vào PLC
Chọn cấu hình Type of the PG/PC interface và PG/PC interface, tiến hành Search thiết bị, sau đó nhấn chọn Load
Hình 2.18 Thiết lập liên kết giữa máy tính và PLC
Chọn Start all để tiến hành khởi động module PLC, và nhấn Finish
Hình 2.19 Khởi động Module PLC
Giới thiệu về WinCC
WinCC (Windows Control Center) là phần mềm của Siemens chuyên giám sát, điều khiển và thu thập dữ liệu trong hệ thống sản xuất Phần mềm này thiết kế giao diện HMI (Human Machine Interface) và xử lý dữ liệu trong hệ thống SCADA (Supervisory Control And Data Acquisition).
WinCC có chức năng chính là thu thập dữ liệu, giám sát và điều khiển quy trình sản xuất Người dùng có thể dễ dàng trao đổi dữ liệu với PLC từ nhiều nhà sản xuất khác nhau như Mitsubishi, Omron, và Siemens thông qua cổng COM với chuẩn RS232 của PC và RS485 của PLC.
WinCC được sử dụng để mô phỏng các sự kiện trong quá trình điều khiển hệ thống dưới dạng chuỗi sự kiện, giúp người dùng dễ dàng vận hành và điều khiển hệ thống.
26 khiển giám sát tình trạng của hệ thống, thu thập số liệu, thực hiện các thao tác điều khiển thông qua giao diện HMI
WinCC có 4 phiên bản chính là:
• Wincc Basic để thiết lập cho màn hình HMI cơ bản, đính kèm với trong mỗi phần mềm STEP 7 Basic and STEP 7 Professional
• Wincc Comfort để thiết lập cho tất cả các màn hình HMI (Bao gồm Comfort HMI và điện thoại di động)
• Wincc Advanced để thiết lập cho tất cả các màn hình HMI và máy tính với phần mềm hiển thị Wincc Runtime Advanced
Hình 2.20 Hình ví dụ cho WinCC
2.7.2 Các đặc điểm chính của Wincc
Sự hợp tác giữa Siemens và Microsoft mang đến cho người dùng sự an tâm về sự phát triển của công nghệ phần mềm tiên tiến.
Hệ thống khách chủ với chức năng SCADA cho phép khởi động các yêu cầu hiển thị phức tạp ngay từ hệ thống WinCC cơ sở Việc thiết lập hình ảnh, cảnh báo, đồ thị trạng thái và báo cáo trở nên dễ dàng và hiệu quả.
- Có thể nâng cấp mở rộng một cách dễ dàng từ đơn giản đến phức tạp
- Cơ sở dữ liệu Odbe/Sql đã đƣợc tích hợp sẵn
- Các giao thức chuẩn mạnh (dde, ole, active, ope)
- Cài đặt phần mềm với khả năng lựa chọn ngôn ngữ
- Giao tiếp hầu hết với các loại PLC
Các cấu hình hệ thống cơ bản: WinCC có thể hỗ trợ các cấu hình từ thấp đến cao, ví dụ nhƣ trong các cấu hình nhƣ sau
- Hệ thống điều khiển dùng 1 máy tính (sing-user system)
- Hệ thống điều khiển dùng nhiều máy tính (nuti-user system)
- Cấu trúc Client/Server có dự phòng
- Cấu trúc phân tán với nhiều trạm chủ (sever)
2.7.3 Cấu hình giao diện Wincc Để cấu hình kết nối WinCC với PLC Ta tiến hành theo các bước sau:
- B1: Tạo Project và lập trình cho PLC
- B2: Khai báo địa chỉ IP cho PLC và máy tính
+ Đặt địa chỉ cho PLC: Chọn PLC1 (CPU)/Device configuration/FROFINET interface/Khai báo địa chỉ IP cho PLC (Ví dụ: 192.168.0.1)
Hình 2.21 Khai báo địa chỉ IP cho PLC
- B3: Khai báo cửa sổ Wincc advanced
+ Tại cửa sổ TIA Portal chọn Add new device/PC System/PC Station + Click PC
Station/Click đúp vào IE general/Click đúp vào Wincc RT Advanced
Hình 2.22 Khai báo của cửa số WinCC Advanced
Select Device & Network, then choose Connection to connect the PLC to the computer Click on the Show Address Labels icon to verify the IP address set in step 1.
Hình 2 23 Connect và nối dây với máy tính
Webserver
Máy chủ web, hay còn gọi là Web Server, là một máy tính lớn lưu trữ dữ liệu như hình ảnh, âm thanh và tập tin, đồng thời thực hiện kết nối với các mạng máy tính khác Mỗi Web Server có địa chỉ IP riêng và có khả năng đọc nhiều ngôn ngữ khác nhau Ngoài việc quản lý dữ liệu người dùng tải lên, Web Server còn cung cấp thông tin cho các máy khách thông qua giao thức HTTP trong môi trường Internet Để đảm bảo hoạt động hiệu quả, Web Server cần có dung lượng lớn và tốc độ kết nối Internet cao.
2.6.1 Ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình bậc cao đa mục đích, thường được sử dụng để phát triển trang web, phần mềm, tự động hóa tác vụ và phân tích dữ liệu Với khả năng linh hoạt, Python cho phép lập trình viên tạo ra nhiều loại chương trình mà không bị giới hạn vào một lĩnh vực cụ thể nào.
Hình 2.24 Ngôn ngữ lập trình python
Python là ngôn ngữ đƣợc ứng dụng đa dạng trong các lĩnh vực:
- Làm Web với các Framework của Python: Django và Flask là 2 framework phổ biến hiện nay dành cho các lập trình viên Python để tạo ra các website
Các công cụ tự động hóa như từ điển và phần mềm thu thập dữ liệu từ website đang trở nên phổ biến Lập trình viên thường ưu tiên sử dụng Python để phát triển những ứng dụng này nhờ vào tốc độ lập trình nhanh chóng của ngôn ngữ này.
Python là ngôn ngữ lập trình quan trọng trong khoa học máy tính, với nhiều thư viện hữu ích như OpenCV cho xử lý ảnh và machine learning, Scipy và Numpy cho toán học và đại số tuyến tính, cùng với Pandas cho phân tích dữ liệu.
Python là ngôn ngữ lập trình phổ biến trong lĩnh vực Internet kết nối vạn vật (IoT), cho phép phát triển ứng dụng cho nền tảng nhúng và xử lý dữ liệu lớn một cách hiệu quả.
- Làm game: Pygame là một bộ module Python cross-platform đƣợc thiết kế để viết game cho cả máy tính và các thiết bị di động
Visual Studio Code là một ứng dụng mạnh mẽ giúp biên tập và soạn thảo mã nguồn, hỗ trợ nhanh chóng trong việc xây dựng và thiết kế website Trình soạn thảo này hoạt động mượt mà trên nhiều nền tảng, bao gồm Windows.
VS Code hỗ trợ trên cả macOS và Linux, đồng thời còn tương thích với các thiết bị máy tính có cấu hình tầm trung, giúp người dùng dễ dàng sử dụng.
Visual Studio Code (VS Code) là một trình soạn thảo mã nguồn mở và miễn phí do Microsoft phát triển, hỗ trợ đa dạng ngôn ngữ lập trình như C.
C ++, Ruby, Python, PHP, JavaScript, và nhiều hơn nữa
HTML (Hypertext Markup Language) là ngôn ngữ đánh dấu chính để tạo ra các trang web trên internet Nó sử dụng các thẻ để định nghĩa và đánh dấu các thành phần khác nhau trên trang, giúp tổ chức và hiển thị nội dung một cách hiệu quả.
Có bốn loại phần tử đánh dấu trong HTML:
Đánh dấu có cấu trúc miêu tả mục đích của phần văn bản
Đánh dấu trình bày miêu tả phần hiện hình trực quan của phần văn bản bất kể chức năng của nó là gì
Đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia
Các phần tử thành phần điều khiển giúp tạo ra các đối tƣợng
CSS, viết tắt của Cascading Style Sheets, là một ngôn ngữ được sử dụng để tìm kiếm và định dạng các phần tử được tạo ra bởi các ngôn ngữ đánh dấu.
HTML là ngôn ngữ định dạng các phần tử trên trang web, như đoạn văn, tiêu đề và bảng, trong khi CSS bổ sung phong cách cho các phần tử HTML, cho phép thay đổi bố cục, màu sắc, font chữ và cấu trúc của trang.
Thƣ viện mã nguồn mở Snap7
Snap7 là một thư viện mã nguồn mở hỗ trợ giao tiếp Ethernet đa nền tảng, lý tưởng cho việc truyền dữ liệu giữa các dòng PLC của Siemens và thiết bị không phải của Siemens Thư viện này tương thích với nhiều dòng CPU từ S7-200, S7-300 đến S7-1200, S7-1500 và một phần Simatic Drives Dù được thiết kế để cải thiện khả năng truyền thông lƣợng lớn dữ liệu tốc độ cao trong công nghiệp, Snap7 cũng phù hợp cho các ứng dụng giao tiếp ethernet trên các board mạch nhỏ như Raspberry Pi, Arduino Yun, pcDuino, Cubie Board, và nhiều thiết bị khác.
Thư viện giao tiếp PC-PLC bao gồm ba thành phần chính: Server, Client và Partner, giúp tích hợp hoàn hảo chương trình phát triển.
PC vào hệ thống tự động hóa được thiết kế tương thích với cả cấu trúc 32 và 64 bit, hỗ trợ hầu hết các CPU phổ biến như Intel, AMD i386/x86_64, ARM Nền tảng này độc lập và hiện tại hỗ trợ đa hệ điều hành, bao gồm Windows.
NT 4.0 cho đến Window 10), Linux, BSD, Oracle Solaris 11, Apple OSX o Mã nguồn mở, có thể mở rộng, miễn phí cho cả hai mục đích giáo dục và thương mại, không phụ thuộc bất kì bên thứ ba nào, không cần cấu hình o Ba mô hình luồng khác nhau tối ƣu hóa hiệu suất: luồng Win32, luồng
Trong hệ thống Posix với 11 luồng Solaris, có hai mô hình truyền dữ liệu chính: đồng bộ cổ điển và không đồng bộ Hệ thống cũng hỗ trợ hai mô hình luồng dữ liệu: thăm dò và không yêu cầu, cho phép PLC truyền dữ liệu theo nhu cầu Ngoài ra, hai cổng chuyên dụng là Settimino và Moka7 cung cấp khả năng giao tiếp giữa các PLC S7 và Arduino hoặc thiết bị Android.
Để giao tiếp giữa chương trình PC và Siemens PLCs, có thể sử dụng thư viện Snap7 Để làm việc với thư viện này bằng ngôn ngữ thông dịch như Python, cần sử dụng Python-Snap7.
Python-Snap7 là một wrapper Python cho thư viện Snap7, giúp tích hợp dễ dàng vào các chương trình Python Dự án này được phát triển bởi Gijs Molenaar và Stephan Preeker trên Github, cho phép người dùng làm việc với thư viện Snap7 bằng ngôn ngữ lập trình Python Người dùng có thể dễ dàng cài đặt Python-Snap7 từ PyPi bằng lệnh “pip install python-snap7”.
Kết luận: Phần mềm TIA PORTAL V15 được sử dụng để thiết kế chương trình điều khiển PLC và giao diện WinCC Đồng thời, ngôn ngữ lập trình Python được áp dụng để xử lý ảnh và phát triển webserver.
TÍNH TOÁN VÀ THIẾT KẾ
Tính toán và thiết kế phần cứng
Mô hình phục vụ cho đồ án tốt nghiệp không thể đáp ứng đầy đủ các yêu cầu thực tế và điều kiện phân loại phức tạp Tuy nhiên, thiết kế mô hình vẫn cần đảm bảo một số yêu cầu kỹ thuật chung nhất định.
- Mô hình cơ bản phải phù hợp với nguyên lý phân loại trong thực tế;
- Lắp ráp, đấu nối và vận hành điều khiển dễ dàng;
- Sử dụng các vật tƣ, thiết bị, linh kiện thông dụng để dễ dàng thay thế sữa chữa;
- Đảm bảo tính thẩm mỹ và gọn gàng Các cơ cấu truyền động, kết nối phải đảm bảo cứng vững và tuổi thọ cao
3.1.1.2 Lựa chọn phương án thiết kế
Nhóm quyết định sử dụng công nghệ phân loại sản phẩm bằng phương pháp xử lý ảnh qua thư viện OpenCV kết hợp với PLC S7-1200 cho đề tài, dựa trên các yêu cầu kỹ thuật và tài liệu tham khảo Lựa chọn này được ưu tiên vì dễ lắp đặt, thi công với chi phí thấp, trong khi các phương án thiết kế khác có chi phí lắp đặt cao và yêu cầu nhiều thiết bị, vật liệu khó tìm.
Mô hình của nhóm mô phỏng lại một hệ thống như trong thực tế Phương án thiết kế mô hình gồm các phần chính nhƣ sau:
• Sử dụng băng tải để vận chuyển sản phẩm
• Sử dụng xilanh để đẩy sản phẩm vào ô chứa
• Sử dụng cảm biến để đếm sản phẩm
• Sử dụng nguồn điện 220, nguồn tổ ong 24V
• Sử dụng camera điện thoại để xử lý ảnh thông qua thƣ viện OpenCV
• Sử dụng PLC S7 1200 CPU 1211C AC/DC/Rly để lập trình điều khiển quá trình hoạt động của mô hình
Mô hình ở đề tài được hướng thiết kế theo mô hình phân loại sản phẩm thực tế với các chức năng được mô phỏng tương tự gồm có:
- Bảng điều khiển trên tủ điện
3.1.2 Bản thiết kế của hệ thống trên CAD
Việc thiết kế hệ thống băng tải cần dựa trên sản phẩm thực tế, bao gồm khối lượng và kích thước để đảm bảo tính phù hợp Kích thước băng tải được đề xuất là 12x50x10 cm, nhằm tối ưu hóa hiệu quả vận chuyển trong hệ thống.
Hình 3 1 Mô hình thiết kế băng tải hệ thống b Thiết kế máng trƣợt và giá đỡ camera
Hình 3 2 Thiết kế máng trượt sản phẩm
Hình 3 3 Thiết kế giá đỡ camera c Thiết kế ống chứa phôi và đế ống chứa phôi
Hình 3 4 Thiết kế ống chứa phôi
Hình 3 5 Thiết kế đế ống chứa phôi c Thiết kế khung mô hình
Hình 3 6 Thiết kế Khung mô hình
Hình 3 7 Bản vẽ cad tổng thể của hệ thống
Thiết kế sơ đồ khối hệ thống
Hình 3 8 Sơ đồ khối của hệ thống
Chức năng của từng khối:
- Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống
- Nút nhấn, ngõ vào ra tác động:
Ngõ vào của hệ thống bao gồm nút nhấn để kích hoạt, dừng và dừng khẩn cấp, cùng với cảm biến quang giúp phát hiện sự hiện diện của sản phẩm Ngõ ra được trang bị cụm van solenoid để điều khiển hoạt động của xilanh khí nén.
- Tín hiệu hình ảnh từ camera: truyền hình ảnh từ camera đến thƣ viện OpenCV
- Khối xử lý : thu nhận hình ảnh, xử lý ảnh đếm số lƣợng sản phẩm và quét mã
QR gửi tín hiệu về PLC
+ Thu nhận tín hiệu nút nhấn, cảm biến tác động vào ngõ ra động cơ, xilanh hệ thống
+ Thu nhận tín hiệu từ Camera để xác định sản phẩm thuộc loại nào
+ Gửi tín hiệu về Webserver
- Giao diện giám sát Webserver: nhận tín hiệu từ PLC, hiển thị lên giao diện đƣợc thiết kế giám sát
Lựa chọn thiết bị cho hệ thống
3.3.1 Bộ xử lý trung tâm
Hình 3 9 PLC S7-1200 CPU 1211C AC/DC/RLY
Số lƣợng ngõ vào 6 (DI)
Số lƣợng ngõ ra 4 (DO)
Số ngõ vào Analog Input 2 (AI)
Giao tiếp truyền thông Ethernet
Bộ nhớ dữ liệu 75 Kb
Bảng 3 6 Thông số kỹ thuật của S7-1200 CPU 1211C AC/DC/RLY
3.3.2 Nguồn cấp cho hệ thống
Các thiết bị trong hệ thống hoạt động với nguồn điện 100-240 V AC và 24 V DC, nhưng nguồn chính sử dụng là điện lưới 220 V AC Điều này bao gồm các thành phần như PLC, van solenoid và động cơ giảm tốc.
42 tốc, đèn tín hiệu sử dụng trong hệ thống đều là 24VDC nên nhóm sử dụng nguồn tổ ong, một nguồn 24VDC 10A cấp cho hệ thống hoạt động
Bảng 3 7 Thông số kỹ thuật của nguồn tổ ong 24V 10A
Hệ thống cần thiết bị vận chuyển sản phẩm đến các vị trí để phân loại theo kích thước đồ án Nhóm đã chọn sử dụng băng tải mini 12x50x10 kết hợp với động cơ 12V-24V và bộ giảm tốc để đảm bảo hiệu quả trong quá trình vận chuyển.
Kích thước 12cm x 50cm x 10cm
Bảng 3 3 Thông số kỹ thuật của nguồn tổ ong 24V 10A
3.3.4 Xilanh khí nén phân loại sản phẩm
Sản phẩm nhẹ và có hình dạng hộp, vì vậy nhóm đã chọn sử dụng xilanh khí nén vuông AIRTAC dạng kép để dễ dàng đẩy và phân loại sản phẩm.
Hình 3 12 Xilanh khí nén vuông
Thông số kỹ thuật Áp suất hoạt động 0.15 – 1.0 MPa
Bảng 3 4 Thông số kỹ thuật Xilanh khí nén vuông
3.3.5 Xilanh khí nén đẩy sản phẩm vào hệ thống phân loại sản phẩm
Hệ thống cần thiết bị để đẩy sản phẩm vào vị trí cần thiết để tiến hành phân loại mã
QR và sản phẩm nhỏ nhẹ phù hợp nên nhóm sử dụng xilanh khí nén AIRTAC
Thông số kỹ thuật Áp suất hoạt động 0.15 – 1.0 MPa
Bảng 3 5 Thông số kỹ thuật của Xilanh khí nén
3.3.6 Cảm biến quang Để nhận diện vị trí sản phẩm cũng nhƣ giúp các xilanh đẩy chính xác sản phẩm thì nhóm sử dụng cảm biến quang để nhận biết sản phẩm Do PLC sử dụng ngõ vào sourcing (cấp dòng) và khoảng cách cần phát hiện từ cảm biến đến sản phẩm ngắn, nến nhóm lựa chọn cảm biến quang dạng NPN E3F-DS30C4
Hình 3 14 Cảm biến quang NPN E3F-DS30C4
Kích thước đường kính 18 mm Điện áp làm việc 6-36VDC
Khoảng cách phát hiện 60-300 mm Điều chỉnh khoảng cách Biến trở
Bảng 3 6 Thông số kỹ thuật của cảm biến quang NPN E3F-DS30C4
Kích thước cổng xã 1/8 inch Áp suất 0.15-0.8 MPa
Bảng 3 7 Thông số kỹ thuật của Van Airtac 4V210-08
3.3.8 Camera logitech C270 và Camera Sky A870
Hệ thống sử dụng hai camera: một camera Logitech C270 để nhận diện số sản phẩm và một camera của điện thoại Sky A870L để quét mã QR code.
Thông số kỹ thuật Độ phân giải HD (1280 x 720 pixels)
Bảng 3 8 Thông số kỹ thuật của camera logitech C270
3.3.9 Các thiết bị hỗ trợ khác
Relay trung gian đóng vai trò quan trọng trong việc đảm bảo an toàn cho thiết bị và bảo vệ bộ điều khiển Chúng giúp dễ dàng điều khiển và phân chia nguồn kết nối cho thiết bị, đồng thời cách ly bộ điều khiển khỏi thiết bị khi xảy ra sự cố Relay nhận tín hiệu đóng/ngắt từ bộ điều khiển và thực hiện việc cấp hoặc ngắt điện cho thiết bị chấp hành Để hoạt động hiệu quả, relay cần có khả năng đáp ứng nhanh và tiếp điểm phải chịu được điện áp, dòng lớn.
Nhóm đã chọn Relay LY2N DC24 với điện áp 24VDC và 2 cặp tiếp điểm (1 thường đóng và 1 thường hở, 8 chân), đảm bảo đáp ứng đủ số lượng tiếp điểm cần thiết và phù hợp với điện áp ngõ ra của bộ điều khiển.
Hình 3 17 Relay LY2N DC24 Omron 24VDC
Thông số kỹ thuật Điện áp cuộn dây 24 VDC
Số tiếp điểm thường đóng 1
Số tiếp điểm thường mở 1
Số chân 8 Đèn báo Có
Bảng 3 8 Thông số kỹ thuật của Relay
MCB là thiết bị tự động cắt điện khi xảy ra sự cố quá tải hoặc ngắn mạch, giúp bảo vệ an toàn cho người sử dụng và thiết bị điện Nhóm đã chọn MCB Chint NXB-63 2P 20A 6KA làm thiết bị đóng cắt cho hệ thống của mình.
Hình 3 18 Cầu dao 2pha Chint NXB-63 2P 20A 6KA
Bảng 3 10 Thông số kỹ thuật MCB
Nút Start và Stop được sử dụng để bật và tắt hệ thống, trong khi nút nhấn khẩn cấp PBCY090-LAY37 giúp dừng hệ thống ngay lập tức khi gặp sự cố Thiết bị LA38/203-209B cũng được sử dụng như nút bật và tắt hệ thống trong các tình huống khẩn cấp.
Hình 3 19 Nút bật tắt hệ thống
Thông số kỹ thuật Điện áp định mức 440V
Chất liệu Nhựa, kim loại
Nắp kính đường 22mm 22mm
Nhiệt độ làm việc -5 độ - 50 độ C
Bảng 3 11 Thông số cơ bản của nút bật tắt hệ thống
Hình 3 20 Nút dừng khẩn cấp
Thông số kỹ thuật Điện áp định mức 660V
Chất liệu Nhựa, kim loại
Nắp kính đường 22mm 22mm
Bảng 3 12 Thông số cơ bản của nút dừng khẩn cấp
Lưu đồ giải thuật
3.4.1 Lưu đồ giải thuật hệ thống
Hình 3 21 Lưu đồ giải thuật hệ thống
-Nhấn Start, xi lanh 3 đẩy phôi chứ mã QR code ra khu vực có camera
Hệ thống phân loại bắt đầu hoạt động khi có phôi, với camera điện thoại quét mã QR code và xử lý ảnh trong vòng 2 giây Sau khi hoàn tất quá trình xử lý, băng tải sẽ khởi động để tiếp tục quy trình.
- Nếu sản phẩm là loại 1 thì đƣợc di chuyển tới khi cảm biến quang 1 phát hiện sản phẩm đến thì xilanh 1 đẩy sản phẩm vào máng trƣợt 1
- Nếu sản phẩm là loại 2 thì đƣợc di chuyển tới khi cảm biến quang 2 phát hiện sản phẩm đến thì xilanh 1 đẩy sản phẩm vào máng trƣợt 2
- Nếu sản phẩm là loại 3 hoặc không quét đƣợc mã QR code thì đƣợc di chuyển tới khi cảm biến quang 3 phát hiện và phẩm vào máng trƣợt 3
- Mỗi khi có một loại sản phẩm đƣợc phân loại thì counter loại đó sẽ đƣợc đếm lên
- Khi nhấn Stop, băng tải dừng, hệ thống tắt
- Khi nhấn Reset, hệ thống dừng và cái counter sẽ về 0
Trong quá trình hoạt động, việc phân loại sản phẩm chỉ được thực hiện khi sản phẩm trước đó đã được phân loại Nếu gặp sự cố, người dùng cần nhấn nút khẩn cấp để dừng hệ thống và băng tải Khi tắt nút nhấn, hệ thống sẽ trở về trạng thái sẵn sàng chờ tín hiệu bắt đầu.
3.4.2 Lưu đồ xử lí ảnh
Hình 3 22 Lưu đồ xử lý ảnh
Lưu đồ trên thể hiện việc xử lý mã QR code bằng sử dụng thư viện OpenCV Quá trình chính bao gồm:
- Khởi tạo các biến và thƣ viện cần thiết
- Khởi tạo camera và thiết lập thông số
- Trong một vòng lặp chính, đọc từng khung hình từ camera để phát hiện và giải mã mã QR code trong khung hình
Nếu mã QR code không được quét thành công trong khung hình, chương trình sẽ không thực hiện bất kỳ hành động nào liên quan đến mã QR code và sẽ tiếp tục vòng lặp để lấy khung hình tiếp theo từ camera.
- Nếu mã QR code đƣợc phát hiện, vẽ khung xung quanh mã QR code và hiển thị nội dung của mã lên hình ảnh
3.4.3 Đọc và ghi dữ liệu PLC
- Thƣ viện Snap 7 cho phép kết nối, truyền thông và thực hiện các thao tác đọc/ghi dữ liệu với PLC của Siemens
- Để đọc và ghi dữ liệu vào PLC thì phải tạo kết nối với PLC: + Khởi tạo PLC: plc = snap7.client.Client()
+ Đặt địa chỉ IP và số cổng tương ứng của PLC: plc.connect("192.168.0.1", 0, 1)
Khối dữ liệu (DB) là bộ nhớ được sử dụng để lưu trữ nhiều loại dữ liệu khác nhau, bao gồm trạng thái trung gian của các hoạt động và thông số điều khiển cho các FB Nó cũng chứa các cấu trúc dữ liệu cần thiết cho nhiều lệnh như bộ định thì và bộ đếm Người dùng có thể xác định khối dữ liệu cho phép đọc/ghi hoặc chỉ đọc, và có thể truy xuất bộ nhớ khối dữ liệu theo các đơn vị bit, byte, word hoặc double word Đối với khối dữ liệu đọc/ghi, cả truy xuất đọc và ghi đều được phép, trong khi khối dữ liệu chỉ đọc chỉ cho phép truy xuất đọc.
Bit DB [số hiệu khối dữ liệu].DBX[địa chỉ byte].[địa chỉ bit]
DB[số hiệu khối dữ liệu].DB [kích cỡ].[địa chỉ byte bắt đầu]
DB1.DBB4, DB10.DBW2, DB20.DBD8
Sau khi xử lý ảnh, nếu mã QR thuộc loại 1 hoặc loại 2, dữ liệu sẽ được ghi vào PLC với địa chỉ tương ứng, sử dụng kiểu dữ liệu Bool với hai giá trị là True hoặc False.
To write data into a PLC database, set the parameters including the database number (db_number = 1), byte offset (byte_offset = 0), and bit offset (bit_offset = 0) The value to be written can be either True or False, with an example of using True Create a byte array (byte_array = bytearray(1)) to hold the data, and utilize the set_bool function to assign the boolean value to the byte array Finally, execute the db_write function to write the data into the specified database.
Trong đồ án này, hệ thống sẽ đọc dữ liệu từ PLC, bao gồm số lượng sản phẩm dưới dạng kiểu dữ liệu int và trạng thái của các thiết bị với kiểu dữ liệu bool.
To read the total number of products, use the database number `db_number_db4 = 1`, with a byte offset of `byte_offset_db4 = 8` and a bit offset of `bit_offset_db4 = 0` The data length is set to `data_length_db4 = 2` bytes for an integer Retrieve the data from the database using `byte_array_db4 = plc.db_read(db_number_db4, byte_offset_db4, data_length_db4)` Convert the byte array to an integer value with `value7 = snap7.util.get_int(byte_array_db4, 0)` Store this value in the JSON data structure with `data_json['SL_TONG_SP'] = value7`, write the data to a JSON file using `writedataTojson(path, filename, data_json)`, and print the total product count with `print(f"Giá trị biến SL TONG: {value7}")`.
In the code snippet, the byte index is set to 10 to access a specific byte in DB1 that contains a boolean value The boolean index is initialized at 0, and a single byte is read from DB1 using the `plc.db_read` function The boolean value is then extracted from the byte array with the `snap7.util.get_bool` method, and this value is stored in the `data_json` dictionary under the key 'TT_START' Finally, the data is written to a JSON file, and the current state of the variable, indicating whether the process is running, is printed to the console.
3.4.4 Lưu đồ xử lý giữa PLC và Webserver
Hình 3 23 Lưu đồ xử lý giữa PLC và Webserver
Lưu đồ trên thể hiện kết nối và truy cập dữ liệu từ PLC, cũng như xử lý mã
QR code từ camera sử dụng thƣ viện OpenCV để phân loại sản phẩm và đồng thời lấy dữ liệu từ PLC hiện thị trạng thái của hệ thống:
- Kết nối và truy cập dữ liệu từ một thiết bị PLC thông qua giao thức Snap7
- Thiết lập giá trị cho các biến trong PLC
- Sử dụng camera để đọc và giải mã mã QR code
Mã QR được sử dụng để hiển thị nội dung và gửi dữ liệu đến PLC nhằm phân loại sản phẩm Trong trường hợp không đọc được mã, hệ thống sẽ tiếp tục lặp lại quá trình để lấy khung hình tiếp theo từ camera.
- Đọc dữ liệu từ PLC và hiển thị trạng thái hoạt động của hệ thống lên webserver
- Đóng kết nối với PLC kết thúc chương trình
+ Định nghĩa cấu trúc trang web
+ Định nghĩa các phần tử nhƣ văn bản, hình ảnh, liên kết, đầu mục, chú thích, biểu đồ và nhiều phần tử khác
+Tạo khung cơ bản cho trang web, sắp xếp các phần tử và thiết lập cấu trúc trang
+ Định dạng giao diện trang web bằng cách thiết lập kiểu dáng cho các phần tử nhƣ nút bấm, hình ảnh và biểu đồ
+ Xác định màu sắc, kích thước, viền, đường viền và định dạng chữ
+ Cung cấp các chức năng tương tác thời gian thực với trang web
+ Cho phép bật và tắt webcam, chụp ảnh snapshot
+ Trích xuất dữ liệu từ tệp JSON để cập nhật giao diện trạng thái của sản phẩm và trạng thái hoạt động của hệ thống
Trang web được xây dựng nhằm cung cấp thông tin chi tiết về trạng thái của các loại sản phẩm, đồng thời tích hợp hệ thống giám sát hiệu quả thông qua việc sử dụng webcam.
Sơ đồ đấu nối
Hình 3 24 Sơ đồ đấu nối của nguồn và đấu nối ngõ vào PLC
Hình 3 25 Sơ đồ đấu nối đấu nối ngõ ra PLC tới Relay
Hình 3 26 Sơ đồ đấu nối Relay tới các thiết bị
Hình 3 27 Sơ đồ đấu nối cảm biến
Trong bài viết này, chúng tôi đã trình bày quá trình thiết kế bảng vẽ hệ thống, bao gồm việc lựa chọn các thiết bị phù hợp, xây dựng các lưu đồ thuật toán và sơ đồ đấu nối cho các thiết bị trong mạch động lực.