Chụp ảnh bằng camera đây là khâu quan trọng nhất của hệ thống bởi vì nếu ảnh chụp bị mờ hay nhiễu thì khi đưa vào nhận dạng sẽ không được. Để chụp ảnh thì ta có thể sử dụng camera hoặc WebCam. Khi lựa
chọn thiết bị thì ta cần quan tâm tới các thông số, để hình ảnh được ổn định nhóm đưa ra lựa chọn sử dụng camera để chụp ảnh.
Tiền xử lý ảnh đây là bước đầu tiên khi xử lý bất kỳ một ảnh nào. Hình ảnh tiền xử lý là hình ảnh chưa được chỉnh sửa ở bất kỳ phương diện nào. Ở bước này hình ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử độ lệch…và mục đích làm cho ảnh trở nên tốt hơn. Đồng thời ở giai đoạn này cũng chuyển ảnh gốc thành những loại ảnh cần thiết để thuận lợi trong việc thực hiện các giai đoạn kế tiếp.
Sau khi có được hình ảnh từ camera, chương trình tiến hành quá trình tách biển số xe ra khỏi hình. Bằng việc sử dụng tệp tin lưu trữ dữ liệu huấn luyện nhận dạng biển số xe tỉ lệ 33x25, chương trình sẽ tiến hành xử lý và trả về biển số xe với kích thước ảnh 500x500 pixel.
Từ biển số xe ta tiến hành lấy đường viền ảnh. Vì biển số xe có màu nền trắng còn ký tự màu đen, nên khi lấy đường viền ta sẽ dễ dàng có các đường viền bao quanh những ký tự để phục vụ cho bước tiếp theo là cắt ký tự.
Như bước ở trên ta đã có các đường viền xung quanh các ký tự, từ các đường viền này ta cắt riêng lẻ từng ký tự của biển số xe. Thường các biển số xe hiện tại thường có 7 hoặc 8 ký tự [6].
3.4 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN VÀ GIÁM SÁT
3.4.1 Thiết kế giao diện PLC trên WinCC
WinCC được ứng dụng trong nhiều lĩnh vực khác nhau, phổ biến nhất là tự động hóa quá trình điều khiển và giám sát quy trình sản xuất. Khi một hệ thống sử dụng chương trình WinCC để điều khiển và thu thập dữ liệu từ quá trình, có thể mô phỏng các sự kiện xảy ra trong quá trình bằng các sơ đồ, hình ảnh trực quan.
Yêu cầu của giao diện:
- Giao diện có bố cục rõ ràng, cân đối với độ phân giải: 800 x 600 - Phông nền của giao diện có màu sắc ưa nhìn, không lòe loẹt.
- Bảng điều khiển thiết kế đầy đủ gồm:
- Đầu vào: đầy đủ nút nhấn EMG, start, stop, reset, auto, maual. - Đầu ra: hiển thị đèn báo trạng thái hoạt động của mô hình như trạng thái cơ cấu đi lên, đi xuống, vị trí gốc.
- Các vị trí xe được đánh số, hiển thị đầy đủ vị trí, số lượng.
Các bước thiết kế giao diện:
Bước 1: Khai báo khối Wincc trong Tia Portal từ phần add new device.
Bước 2: Lựa chọn khối Wincc Advance và kết nối IE với PLC.
Bước 3: Cài đặt và căn chỉnh độ màn hình Wincc với độ phân giải 800 x 600
Bước 4: Thiết kế phông nền cho giao diện, chia tỉ lệ các khâu như bảng điều khiển, đèn báo trạng thái, vị trí xe theo từng tầng cân đối.
Bước 5: Thiết kế bảng điều khiển là các nút nhấn, đèn báo bao gồm gắn tag từ PLC, sử dụng các công cụ như graphic, symbol library, apper, visible trong WinCC để thiết kế.
Bước 6: Vẽ, thiết kế giao diện các tầng đỗ xe sử dụng công cụ Draw, căn chỉnh số lượng cho phù hợp với yêu cầu bài toán.
Bước 7: Compile chương trình và nhấn simulation để chạy chương trình.
Từ những yêu cầu và 7 bước thực hiện việc thiết kế ta được giao diện điều khiển như Hình 3.16 [7].
Hình 3.16: Giao diện điều khiển trên WinCC 3.4.2 Thiết kế giao diện quản lý, giám sát trên Winform
Sử dụng phần mềm visual Studio 2017 để thiết kế giao diện winform C#.
- Giao diện có thể kéo thả, dễ học và dễ sử dụng.
- Khi thiết kế giao diện chỉ cần kéo thả do thư viện có nhiều thành phần có sẵn. Phù hợp với nhiều phần mềm thống kê, quản lý, tính tiền, thích hợp cho nhiều doanh nghiệp từ lớn cho đến nhỏ.
- Tốc độ xử lý dữ liệu nhanh và hiệu quả.
- Chạy được trên nhiều phiên bản của Windows khác nhau. - Có thể thao tác với nhiều giao diện.
- Gọn gàng, bố cục rõ từng phần.
Giao diện thiết kế gồm các phần:
- Kết nối thiết bị kết nối Camera.
- Kết nối RFID, kết nối PLC.
- Ảnh Camera chụp biển số xe.
- Nhận dạng biển số.
- Thời gian xe ra và thời gian xe vào, chi phí.
- Số thẻ có trong hệ thống.
- Xóa thẻ.
- Số xe có trong bãi tương ứng với mã thẻ và biển số xe.
- Hiển thị thời gian ra vào cũng như chi phí. Hệ thống giám sát được hoạt động.
Các bước tiến hành xây dựng giao diện
Thiết kế giao diện
Với đề tài này thì nhóm sử dụng phần mềm Microsoft Visual Studio 2017. Các bước để tạo một project mới trên phần mềm.
Bước 1: Khởi động phần mềm, nhấm File New New Project hoặc nhấn tổ hợp phím Ctrl + Shift + N.
Bước 2: Ở mục Visual C# kích chọn Windows Forms App (.NET Framework), sau đó đặt tên project ở mục Name, chọn đường dẫn ở mục Location rồi nhấn OK.
.
Hình 3.18: Giao diện viết chương trình trên Visual studio
Kết nối các thiết bị như Camera, RFID, PLC.
Thiết kế phông nền, bố cục từng phần của giao diện. Xây dựng và thiết kế các khung cho phần nhận diện biển số, biển số đầu vào, biển số đầu ra.
Thiết kế phần thông tin thẻ, quản lý xe, vị trí xe, thời gian vào ra.
Hình 3.19: Giao diện quản lý giám sát trên visual Studio 2017 Các bước thực hiện xử lý biển số xe trên visual studio:
Chế độ gửi xe:
Bước 1: Quẹt thẻ xe vào mạch đọc thẻ RFID.
Bước 2: Hệ thống chụp ảnh bằng camera và xử lý ảnh ở chương trình.
Bước 3: Biển số xe được xử lý và truyền dữ liệu lên hệ thống SQL Server, hệ thống này đã được liên kết với PLC thông qua phần mềm Visual - PC ¬ Tia Portal để xác định vị trí trống để gửi xe trong trường hợp gửi xe vào.
Bước 4: Sau khi đã xác định được vị trí, tiến hành gửi lệnh đến PLC để PLC thực hiện việc nâng hạ xe tới vị trí đã xác định.
Chế độ lấy xe:
Bước 1: Quẹt thẻ xe vào mạch đọc thẻ RFID.
Bước 2: Tìm và truy xuất dữ liệu từ hệ thống SQL Server đã được lưu từ chế độ gửi xe trước đó.
Bước 3: Sau khi truy xuất dữ liệu trong hệ thống SQL Server, xử lý để xác định được vị trí xe.
Bước 4: Sau khi đã xác định được vị trí, tiến hành gửi lệnh đến PLC để PLC thực hiện việc nâng hạ lấy xe.
3.5. KẾT QUẢ KHẢO NGHIỆM
3.5.1 Khảo nghiệm chương trình điều khiển
Sau khi lập chương trình điều khiển trên máy tính, đổ xuống PLC qua cổng Ethernet, chương trình bắt đầu chạy, vận hành hệ thống. Kết quả khảo nghiệm cho thấy hệ thống vận hành ổn định, theo đúng yêu cầu công nghệ của quá trình gửi/trả xe.
Sau khi đã thiết kế giao diện giám sát hệ thống qua WinCC và chạy chương trình như sau:
- Các nút nhấn có thể tắt/mở cho phép chương trình hoạt động.
- Hiển thi đúng vị trí xe có trong bãi.
- Người dùng có thể thao tác trên màn hình máy tính.
Hình 3.20: Giao diện giám sát bãi xe trên WinCC khi hoạt động
Tuy nhiên, quá trình thử nghiệm vẫn còn một số lỗi như:
- Gắn tag địa chỉ sai.
- Khi nhấn nút ở WinCC mô hình không chạy.
- Lỗi license WinCC.
- Cập nhật thời gian chậm (ví dụ nhấn nút đèn sáng nhưng bị trễ 2- 3s đèn ở WinCC mới sáng).
- Bị sai lệch độ phân giải giữa màn hình laptop nên giao diện sẽ bị phóng to, thu nhỏ, hoặc khuyết chữ, khuyết hình.
- Kiểm tra lại kết nối của laptop trong phần set pg/pc 32 bit phần control panel.
- Kiểm tra lại tag trong phần plc tag của chương trình PLC. - Kiểm tra phần kết nối giữa Wincc Advanced với laptop ở phần Network kết nối cổng IE với WinCC.
- Khi hiện ra lỗi License cần Crack lại phần mềm Tia Portal. - Lỗi cập nhật: chỉnh sửa ở phần HMI connection ở WinCC mục Sequence để đặt lại thời gian cập nhập thành Uppon change.
- Lỗi độ phân giải thì cần cài đặt độ phân giải của máy tính và độ phân giải ở WinCC phần Setting Screen.
3.5.3. Khảo nghiệm giao diện quản lý Winform
Kết quả khảo nghiệm chương trình quản lý và giám sát cho thấy:
- Hệ thống quẹt thẻ có thể đọc được thẻ và lưu thẻ khi có xe vào.
- Giao diện camera có thể chụp ảnh là lưu ảnh biển số khi xe vào.
- Hệ thống xử lý ảnh có thể nhận dạng được biển số xe.
- Hệ thống có thể lưu vị trí, mã thẻ, thời gian ra/vào của xe.
Hình 3.21: Giao diện quản lý thẻ xe trên winform
Khi thử nghiệm chương trình vẫn còn gặp một số lỗi xảy ra như: camera chưa nhận diện, các ký tự dễ bị nhầm lẫn (0-O, 8–B, 1-I)…
Camera chưa nhận diện được ảnh là vì khi thử nghiệm trong môi trường thiếu ánh sáng, bị phản chiếu, khi đó camera không nhận diện
được biển số xe, nhóm đã đưa ra nơi có ánh sáng phù hợp để thử nghiệm lại chương trình.
Mới đầu nhóm sử dụng biển số xe có kích thước nhỏ và số xe bị mờ dẫn đến tình trạng không nhận diện được, nhóm đã thay đổi kích thước cũng như độ nét của biển số xe để việc nhận diện được thực hiện dễ dàng hơn.
Đánh giá về chất lượng nhận diện biển số xe: Về các bãi gửi xe trên thực tế, thường thì là camera chuyên dụng cho việc chụp biển số xe, vì thế sẽ có chất lượng hình ảnh và độ phân giải tốt. Về camera của nhóm sử dụng loại phổ thông lên đôi lúc chụp ảnh bị mờ, thời gian chụp ảnh cũng bị chậm vì thế cần phải có điều kiện ánh sáng tốt để chụp ảnh một cách rõ nét.
Kết quả khảo nghiệm về thời gian gửi/trả xe
Bảng 3.2. Kết quả khảo nghiệm thời gian gửi/trả xe
STT GỬI XE TRẢ XE TỰ Đ Ộ N G BẰNG T A Y
THỜI GIANTỰ ĐỘNG BẰNG TAY THỜI
GIAN
Hiệu suất Hiệu suất Hiệu suất SL Hiệu
suất
90% 90% 3m 7s 80% 90% 4m 12s
2 90% 100% 1m 40s 75% 95% 2m 10S
3 80% 100% 1m 5s 80% 100% 1m 30s
Nhận xét
Thời gian gửi/trả xe phụ thuộc vào vị trí gửi xe trong bãi, ở đây mô hình được chia làm 3 tầng.
Khi gửi xe (chế độ tự động và bằng tay) thời gian trung bình gửi đủ 6 vị trí xe vào bãi là 3m 7s (3 phút 7 giây) (do đây
là mô hình được thiết kế nhỏ hơn so với các bãi gửi xe lên thời gian gửi xe sẽ chênh lệch).
Khi trả xe (chế độ tự động và bằng tay) thời gian trung bình gửi đủ 6 vị tí là 4m 12s (vì khi thời gian xác nhận lấy xe ra chụp ảnh biển số xác nhận lại biển số xe một lần nữa sẽ lâu hơn thời gian gửi xe).
Như vậy: Dựa vào bảng 3.2 có thể thấy chế độ chạy tự động về việc gửi/trả xe hiệu suất sẽ kém hơn so với chế độ chạy bằng tay vì một số yếu tố về việc nhận diện biển số còn sai sót, đôi lúc do yếu tố (ánh sáng tối, bị chói phản quang, camera chụp mờ, khi lấy xe ra chụp biển số và không xác nhận trùng biển số so với lúc gửi).
KẾT LUẬN – ĐỀ NGHỊ
KẾT LUẬN
Qua những cố gắng và nỗ lực của bản thân, sự giúp đỡ tận tình của giảng viên hướng dẫn cũng như thầy cô và bạn bè trong thời gian qua, nhóm đã hoàn thành đề tài “Thiết kế và thi công mô hình bãi đỗ xe ô tô tự động” với phần nội dung cụ thể là xây dựng chương trình điều khiển và thiết kế giao diện quản lý, giám sát và điều khiển. Kết quả cho thấy: Hệ thống có thể vận hành theo đúng yêu cầu của bài toán công nghệ của quá trình gửi/lấy xe ra; Camera chụp được ảnh; Thẻ RFID giao tiếp được với Adruino và máy tính.
Giao diện Winform kết nối được với PLC, nhận dạng được biển số, đọc mã thẻ lưu ảnh và mở ảnh. Các thông tin hiển thị trên giao diện quản lý giám sát chi tiết, đầy đủ về xe được gửi/trả, thao tác vận hành thuận tiện, dễ dàng, hình ảnh trực quan.
Bên cạnh những kết quả đạt được như trên thì hệ thống không thể tránh được những sai sót:
- Hệ thống chạy chưa ổn định do đôi lúc động cơ bị trượt bước, cơ cấu đến không được vị trí cần đến.
- Việc nhận dạng biển số đôi lúc bị sai sót do một số nguyên nhân khách quan và chủ quan.
ĐỀ NGHỊ
Từ nhưng kết quả mà nhóm đã nghiên cứu được ở trên, nhóm có một số hướng phát triển cho đề tài của mình cũng như sát với thực tế nhất: Có thể nâng cấp tầng xe cao hơn để mở rộng số lượng xe gửi. Trong hệ thống thực tế thường được sử dụng các cảm biến siêu âm và bảng LED hiển thị vị trí xe ra vào để đảm bảo được xe có ở trong vị trí một cách chính xác, ta cũng có thể nâng cấp cho mô hình của mình cảm biến
quang để đảm bảo phát hiện xe ra vào một cách chính xác nhất. Thêm một số đèn báo hiệu vị trí xe đã có xe hoặc còn trống.
Thiết kế bảng điều khiển HMI thực hiện trực tiếp trên bảng điều khiển đưa ra xe ra vào một cách trực quan. Nâng cấp chương trình quản lý để có thể tính tiền thông qua thẻ ngân hàng. Nâng cấp để hệ thống có thể điều khiển, giám sát thông qua điện thoại cũng như web (có thể sử dụng thiết bị V-BOX để điều khiển và giám sát). Thêm chức năng đặt chỗ trước thông qua tin nhắn SMS hoặc ứng dụng Web, điện thoại.
TÀI LIỆU THAM KHẢO
[1] Theo số liệu mới nhất của Tổng cục Hải quan theo trang VOV (Thứ ba, 06:00, 18/01/2022) về lượng ô tô nhập khẩu nguyên chiếc tính chung của năm 2021
https://vov.vn/
[2] Mai Chi, (23/01/2019), NET Framework và ngôn ngữ lập trình Visual C# ,
https://tuhocict.com/dot-net-framework-va-ngon-ngu-c-sharp/
[3] MESIDAS, Tổng hợp các chuẩn giao tiếp & giao thức truyền thông công nghiệp,
https://mesidas.com/chuan-truyen-thong-cong-nghiep/ [4] CODE GYM ( 29/06/2020 ) Ngôn ngữ lập trình C#
https://codegym.vn/blog/2020/06/29/c-la-gi-tim-hieu-ve-ngon-ngu-lap-trinh-c/ [5]MESIDAS , Ngôn ngữ lập trình PLC LAD/LD ( Ladder logic / Ladder Diagram ) https://bit.ly/ngonngulaptrinhPLCLAD
[6] Chương trình nhận dạng biển số xe bằng C# (Demo version).
https://laptrinhvb.net/bai-viet/chuyen-de-csharp/Chuong-trinh-nhan-dang-bien-so-xe- bang--Csharp--(Demo-version)/3a4500923205f566.html
[7] PLC TECH , Tài liệu hướng dẫn chi tiết lập trình WinCC cho hệ thống SCADA,
https://drive.google.com/open?id=1GRtQ0fvMaG7FtO_aC_Z4Clk7asepczGV
[8] Kiều Quốc Hưng & Lê Hùng Phúc ,“Bãi giữ xe tự động dùng PLC S7-1200”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2019.
[9] PGS TS Ngô Văn Thuyên , KS. Phạm Quang Huy , Lập Trình với PLC S7 1200 và S7 1500.
PHỤ LỤC
B.Chương trình đọc thẻ RFID cho Arduino
Để viết chương trình đọc thẻ RFID trên Arduino thông qua mạch đọc thẻ RFID RC522 thì nhóm sử dụng phần mềm Arduino IDE 1.8.5.
Cách sử dụng phần mềm Arduino IDE rất đơn giản, chỉ cần mở phần mềm là đã có sẵn giao diện lập trình, chúng ta sẽ bắt đầu viết code.