Giao diện giám sát và điều khiển bên C#

Một phần của tài liệu Thiết kế và thi công mô hình bãi giữ xe thông minh (Trang 96)

Hình 4.14: Màn hình điều khiển và giám sát C# Winforms

77 - Một danh sách các cổng COM để chọn cổng giao tiếp đang sử dụng giữa máy tính với Arduino và một nút nhấn. Nếu trạng thái kết nối với Arduino là “Chưa kết nối” thì nút nhấn sẽ hiển thị chữ “Kết nối” và nút nhấn này sẽ có tác dụng kết nối C# với Arduino. Ngược lại nếu trạng thái kết nối là “Đã kết nối” như trong ảnh thì nút nhấn sẽ hiển thị chữ “Ngắt kết nối” và nút nhấn lúc này có tác dụng là ngắt kết nối giữa C# và Arduino.

- Khi quẹt thẻ thì mã thẻ sẽ được hiển thị lên ô “Mã thẻ”.

 Ở giữa là ảnh chụp từ webcam logitech C270 và chuỗi ký tự biển số xe sau khi đã được xử lý.

 Ở dưới cùng là bảng cơ sở dữ liệu được cập nhật liên tục để thể hiện đang có mã thẻ và biển số xe nào đã được lưu và nhìn vào đó ta có thể biết trong bãi giữ xe đang có bao nhiêu chiếc, còn trống bao nhiêu chỗ.

 Ở bên phải là hình ảnh của webcam và các nút nhấn để yêu cầu chương trình chụp hình và nhận diện biển số xe. Ngoài ra ta có thể tìm vị trí xe bằng cách nhập biển số vào ô “Nhập biển số” và ấn nút “Tìm”, vị trí của xe đó sẽ hiển thị lên ô “Vị trí xe”. Đôi khi biển số xe sẽ nhận diện thiếu hoặc có sai sót thì ta sẽ nhập lại biển số xe đó và bấm vào nút “Cập nhật”, biển số xe đúng sẽ được cập nhật trong cơ sở dữ liệu. Nút “xóa” có tác dụng xóa tất cả các dữ liệu của chiếc xe bất kỳ ra khỏi hệ thống.

4.3. Tài liệu hướng dẫn, thao tác. Hướng dẫn sử dụng.

Bước 1: Cấp nguồn 220VAC cho hệ thống, bật CB bảo vệ.

Bước 2: Chạy chương trình C#, bấm nút “Kết nối”.

Bước 3: Mở giao diện giám sát Wincc, Webserver.

Bước 4: Chọn chế độ Auto và quẹt thẻ khi có xe vào hoặc ra.

Bước 5: Khi muốn dừng hoạt động, bấm nút OFF trên màn hình giám sát, tắt chương trình C# và ngắt nguồn điện cung cấp cho toàn hệ thống.

78

Chương 5:

KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH, TỔNG HỢP 5.1. Kết quả đạt được

Hình ảnh hệ thống thu được từ thực nghiệm:

 Ở trạng thái ban đầu, khi hệ thống chưa hoạt động:

Cơ sở dữ liệu trống, không có mã thẻ nào. Hệ thống hiển thị chế độ điều khiển là “Auto”. Kết nối với Arduino đã được tạo. Chỉ có 1 xe đang ở vị trí sẵn sàng vào bãi giữ xe đang hiển thị ở ô hình ảnh từ webcam.

Hình 5.1: Chương trình C# khi hệ thống bắt đầu hoạt động

Màn hình giám sát trên WinCC cho thấy hiện không có xe nào trong bãi, chỉ có 1 xe đang ở vị trí IN. Chế độ điều khiển là “Auto” được hiển thị trên màn hình.

Hình 5.2: Màn hình giám sát WINCC ở trạng thái ban đầu Màn hình điều khiển và giám sát từ xa qua Web Server ở trạng thái ban đầu:

79

Hình 5.3: Web Server ở trạng thái ban đầu

 Tiến hành gửi xe thứ nhất vào:

Hình 5.4: Quẹt thẻ

80

Hình 5.5: Hệ thống hoạt động gửi xe vào Chương trình C# sau khi gửi xe thứ nhất vào:

Hình 5.6: Chương trình C# sau khi gửi xe thứ nhất vào

Lúc này ta có thể thấy biển số xe và mã thẻ của chiếc xe đầu tiên đã được lưu vào cơ sở dữ liệu đồng thời các chức năng khác của chương trình cũng hoạt động

81 chính xác. Mã thẻ được hiển thị đúng lên ô “Mã thẻ”, COM4 là cổng giao tiếp đang hoạt động, chế độ điều khiển là “Auto”, biển số xe được chụp lại và qua hàng loạt các giai đoạn xử lý được hiển thị trên màn hình.

Màn hình giám sát trên Wincc lúc này: (adsbygoogle = window.adsbygoogle || []).push({});

Hình 5.7: Màn hình WINCC sau khi gửi xe đầu tiên Web Server lúc này:

82

 Tiến hành gửi xe thứ 2. Chương trình C#:

Hình 5.9: Chương trình C# sau khi gửi xe thứ 2

Ta có thể thấy mã thẻ và biển số của xe thứ 2 đã được lưu vào vị trí số 2 trong cơ sở dữ liệu.

Màn hình điều khiển và giám sát Wincc sau khi gửi xe thứ 2:

83 Web Server sau khi gửi xe thứ 2:

Hình 5.11: Web Server sau khi gửi xe thứ 2

 Tương tự cho vị trí số 3.

84

Hình 5.13: Cơ sở dữ liệu khi ban đầu

Hình 5.14: Màn hình WinCC sau khi gửi xe thứ 3

85

 Bây giờ ta sẽ tiến hành lấy xe ra ở vị trí số 2:

Hình 5.16: Hệ thống tiến hành lấy xe ra ở vị trí số 2 Chương trình C# sau khi lấy xe ở vị trí số 2.

86 Lúc này mã thẻ và biển số của xe ở vị trí số 2 đã được xóa khỏi cơ sở dữ liệu.

Màn hình WinCC sau khi lấy xe số 2 ra khỏi bãi giữ xe:

Hình 5.18: Màn hình WinCC sau khi lấy xe số 2 ra Web Server sau khi lấy xe số 2 ra:

87 Như vậy vị trí trống gần nhất hiện tại đang là vị trí số 2, nếu ta gửi một xe khác vào thì xe đó sẽ vào đúng vị trí số 2. Hãy cùng xem nhé.

 Tiếp tục gửi xe bất kỳ vào.

Hình 5.20: Chương trình C# sau khi gửi xe mới vào vị trí số 2

Hình 5.21: Cơ sở dữ liệu lúc sau

Lúc này xe mới vào đã được gửi vào vị trí số 2. Mã thẻ của xe ở vị trí số 2 trước đó là 723572523 (hình 5.8), còn mã thẻ ở vị trí số 2 bây giờ là 2572932651.

88

 Gửi xe tiếp theo vào.

Tương tự cho lần gửi xe này, vị trí trống gần nhất hiện tại đang là vị trí số 4, nên xe sẽ được gửi vào vị trí này.

Hình 5.22: Chương trình C# sau khi gửi xe thứ tư

89

Hình 5.24: Web Server sau khi gửi xe thứ 4

5.2. Phân tích và so sánh. (adsbygoogle = window.adsbygoogle || []).push({});

Về khoảng thời gian gửi hoặc lấy xe trong hệ thống bãi giữ xe thông minh của nhóm em là khá tốt. Theo ghi nhận từ thực nghiệm thì nhóm em thấy ở vị trí gần nhất, hệ thống mất khoảng 15 giây cho việc gửi xe và khoảng 20 giây cho việc lấy xe. Đối với vị trí xa nhất là khoảng 23 giây cho việc gửi xe và 21 giây cho việc lấy xe. Theo thống kê trung bình, hệ thống sẽ tốn khoảng 20s cho một lần gửi xe và khoảng 22 giây cho một lần lấy xe. Trong khi đó, đồ án bãi giữ xe dạng hình tròn của nhóm khác mà em tham khảo được có thành tích tốt nhất là khoảng 13 giây cho 1 lần lấy hoặc gửi xe ở vị trí gần nhất và khoảng 23 giây đối với vị trí xa nhất, tính trung bình cộng sẽ mất khoảng 18 giây cho một lần lấy hoặc gửi xe, nhanh hơn hệ thống của nhóm em một chút. Còn nhiều mô hình khác có khoảng thời gian vận hành lâu hơn khoảng 20 giây trở lên cho vị trí gần nhất và khoảng 40 đến 60 giây cho vị trí xa nhất. Như vậy về mặt thời gian thì hệ thống của nhóm em đạt được là khá tốt. Nếu điều chỉnh lại cơ cấu nâng hạ, tăng tốc độ quay của động cơ bước và giảm thời gian chờ giữa các vị trí thì có thể sẽ cải thiện được đáng kể thời gian lấy xe cho hệ thống.

90

Bảng 5.1: Thống kê thời gian vận hành hệ thống

Vị trí 1 2 3 4 5 6 7 8

Chế độ gửi xe

Thời gian (giây) 15 18 18 20 18 22 22 23

Chế độ lấy xe

Thời gian (giây) 20 22 22 20 23 25 25 21

Về giải pháp RFID, nhóm em xây dựng được thuật toán ưu tiên vị trí xe vào giúp cho việc gửi xe của khách hàng sẽ được rút ngắn. Các xe gửi vào sẽ được hệ thống ưu tiên gửi vào vị trí trống gần nhất. Ở các mô hình đồ án khác, người ta sẽ quy định mã số của 1 chiếc xe ở 1 vị trí cố định, họ có thẻ ở vị trí số 1, thẻ ở vị trí số 2. Tuy nhiên trong chương trình của tụi em đã giải quyết được vấn đề đó. Bất kỳ thẻ nào được quẹt đầu tiên sẽ được ưu tiên vào vị trí trống gần nhất là số 1, thẻ quẹt lần 2 sẽ vào số 2 và tương tự cho các lần khác, không cố định mã số thẻ vào một vị trí nào hết. Điều đó sẽ giải quyết được vấn đề bất cập là trong bãi còn nhiều chỗ trống ở vị trí gần nhưng hệ thống lại gửi xe ở vị trí xa, làm tăng thời gian lấy xe và tốn năng lượng vận hành hệ thống.

Về mặt mô hình giữ xe, nhóm em thiết kế và thi công thành công mô hình bãi giữ xe hình trụ tròn, là giải pháp tối ưu được diện tích giữ xe nhất trong các loại mô hình bãi giữ xe tự động. Tuy nhiên phần thiết kế cánh tay di chuyển trong hệ thống chưa được tối ưu nên việc cánh tay di chuyển lên/xuống và ra/vào không thực hiện đồng thời được, làm tăng thời gian gửi/lấy xe cho khách. Ngoài ra việc thiết kế cánh tay chưa được tối ưu này còn làm tăng diện tích không đáng có của bãi giữ xe.

5.3. Tổng kết

Ưu điểm:

- Lắp đặt thành công mô hình phần cứng hệ thống bãi giữ xe ô tô tự động. - Hệ thống có thể gửi xe vào và lấy xe ra đúng vị trí yêu cầu.

- Khi quẹt thẻ thì hệ thống tự động lưu mã thẻ và gửi tín hiệu cho PLC điều khiển chính xác.

- Xây dựng được thuật toán ưu tiên vị trí gửi xe giúp rút ngắn thời gian gửi xe cho khách hàng.

- Điều khiển và giám sát hệ thống trên WINCC thành công.

- Điều khiển và giám sát hệ thống trên Webserver thành công.

Nhược điểm:

91 - Đôi khi việc xử lý ảnh biển số xe vẫn có sai sót nhưng tỷ lệ thấp.

- Thiết kế phần cánh tay di chuyển trong hệ thống chưa được tối ưu nên chưa rút ngắn tối đa thời gian gửi/lấy xe cho khách và còn làm tăng diện tích không đáng có của bãi giữ xe.

5.4. Kết quả thống kê

Sau khi hoàn thành sản phẩm, nhóm em có chạy thử và lập ra được bảng thống kê số lần thực hiện chính xác để kiểm tra tính ổn định của hệ thống như sau:

Kết quả được thể hiện trong bảng 5.2.

Bảng 5.2: Kết quả thống kê số lần thực hiện chính xác của hệ thống.

STT SỐ LẦN THỬ NGHIỆM SỐ LẦN THỰC HIỆN ĐÚNG XÁC SUẤT (%) 1 5 5 100% 2 10 10 100% 3 20 19 95%

92

Chương 6:

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1. Kết luận

Sự cố gắng và nỗ lực của nhóm và sự giúp đỡ tận tình của giáo viên hướng dẫn cũng đã dẫn đến kết quả tốt đẹp đó là đồ án “Thiết kế và thi công hệ thống bãi giữ xe ô tô tự động” đã được hoàn thành.

Đề tài đã được một số mục tiêu đặt ra từ đầu, cụ thể đó là: (adsbygoogle = window.adsbygoogle || []).push({});

- Thiết kế và thi công được mô hình bãi giữ xe ô tô tự động với dạng hình trụ tròn tối ưu được số lượng chỗ gửi xe trong một diện tích nhất định.

- Ứng dụng được công nghệ RFID vào hệ thống và kết hợp với xử lý ảnh nhận diện biển số xe lưu vào hệ quản trị cơ sở dữ liệu SQL Server.

- Xây dựng được giải pháp ưu tiên vị trí gửi xe cho hệ thống giúp rút ngắn thời gian gửi xe cho khách hàng.

Ưu điểm:

- Hệ thống tự động vận hành chính xác và ổn định được điều khiển bằng PLC. - Có giao diện điều khiển và giám sát trên C# và Wincc.

- Có thể điều khiển và giám sát từ xa nhờ Web Server.

- Có thể tìm và lấy xe ra cho khách hàng nếu họ bị mất thẻ xe.  Nhược điểm:

Do nhóm tự thiết kế và thi công từ đầu nên chắc chắn còn nhiều hạn chế, ví dụ như:

- Hệ thống đôi khi còn rung lắc trong quá trình hoạt động.

- Cánh tay di chuyển trong hệ thống chưa được thiết kế tối ưu nên chưa rút ngắn được tối đa thời gian gửi/lấy xe cho khách và còn làm tăng diện tích không đáng có của bãi giữ xe.

- Đôi khi việc xử lý ảnh biển số xe vẫn có sai sót nhưng tỷ lệ thấp.

6.2. Hướng phát triển.

- Thiết kế lại cơ cấu cánh tay trong hệ thống để có thể hoạt động tối ưu hơn dựa trên cánh tay cũ đã có.

- Tăng số lượng chỗ gửi xe trong bãi để thực sự tối ưu được các ưu điểm về việc sử dụng diện tích của hệ thống bãi giữ xe ô tô tự động.

- Thiết kế website để có thể đặt chỗ đồng thời thanh toán online.

- Có thể áp dụng công nghệ nhận diện khuôn mặt để tăng tính bảo mật cho khách hàng.

93 - Áp dụng trí tuệ nhân tạo cho hệ thống, thu thập lịch sử gửi/ trả xe của khách hàng để tính toán đưa xe vào vị trí gần nhất theo thói quen gửi xe của khách.

- Áp dụng công nghệ blockchain để lưu trữ thông tin khách hàng và các lịch sử giao dịch của khách hàng.

94

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Châu Vĩnh Lợi, “Tài liệu hướng dẫn lập trình Webserver S7-1200 dựa trên

HTML kết hợp AWP”, Diễn đàn PLC Việt Nam, Việt Nam.

[2] Nguyễn Đình Lâm – Lê Văn Quân (2015), “Thiết kế và thi công mô hình bãi giữ xe ô tô tự động”, Luận văn tốt nghiệp Trường ĐH Bách Khoa Tp. Hồ Chí Minh, Việt Nam.

[3] Vũ Tiến Trình – Lê Vũ Khanh (2017), “Hệ thống bãi giữ xe ứng dụng công nghệ RFID kết hợp nhận diện biển số “, Đồ án tốt nghiệp Trường ĐH Sư phạm Kỹ

thuật Tp. Hồ Chí Minh, Việt Nam.

[4] Mai Văn Thành – Nguyễn Thanh Lộc (2019), “Thiết kế và thi công mô hình điều khiển, giám sát bãi giữ xe ô tô tự động”, Đồ án tốt nghiệp Trường ĐH Sư

phạm Kỹ thuật Tp. Hồ Chí Minh, Việt Nam.

[6] Website PLC Việt Nam: plcvietnam.com.vn/forum/

[7] Nguyen Manh Hung (2016), “Lập trình và sử dụng modul đọc thẻ RFID- RC522”, bài viết trên Cộng đồng Arduino Việt Nam, website: http://arduino.vn/bai- viet/833-lap-trinh-va-su-dung-modul-doc-rfid-rc522

[8] Đỗ Hữu Toàn (2016), “# ( C Sharp ) - Nhận dữ liệu từ Arduino”, bài viết trên (adsbygoogle = window.adsbygoogle || []).push({});

Cộng đồng Arduino Việt Nam, website: http://arduino.vn/bai-viet/908-c-c-sharp-

nhan-du-lieu-tu-arduino

[9] Đỗ Hữu Toàn (2016), “Chế tạo Serial Monitor từ C# (C Sharp) - Một sản phẩm được truyền cảm hứng”, bài viết trên Cộng đồng Arduino Việt Nam, website:

http://arduino.vn/bai-viet/908-c-c-sharp-nhan-du-lieu-tu-arduino

[10] Thái (2016), “C sharp (C#) - Một cách điều khiển ARDUINO bằng máy tính !!!”, bài viết trên Cộng đồng Arduino Việt Nam, website: http://arduino.vn/bai- viet/902-c-sharp-c-mot-cach-dieu-khien-arduino-bang-may-tinh

Tiếng Anh

[11] “Round Automated Parking System”, EITO&GLOBAL INC, website: http://www.e-globalparking.com/technology/?fbclid=IwAR3W0GlXVgv- VkZLao6Q-hL-OIQxio_qF4CGz-NLZXe7K4lUCqyH06QMfZg

Một phần của tài liệu Thiết kế và thi công mô hình bãi giữ xe thông minh (Trang 96)