1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế, thi công mô hình bãi đỗ xe ô tô

94 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế, Thi Công Mô Hình Bãi Đỗ Xe Ô Tô
Tác giả Võ Hoài Đức, Võ Nhật Trường
Người hướng dẫn PGS.TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Truyền Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2018
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 94
Dung lượng 3,68 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (18)
    • 1.1. Lĩnh vực nghiên cứu (18)
    • 1.2. Mục tiêu và giới hạn đề tài (18)
      • 1.2.1. Mục tiêu (18)
      • 1.2.2. Giới hạn (18)
    • 1.3. Nội dung thực hiện (19)
    • 1.4. Tóm tắt (19)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (21)
    • 2.1. Phân tích phương án bãi đỗ (21)
      • 2.1.1. Các loại bãi đỗ phổ biến (21)
      • 2.1.2. Phương án lựa chọn (23)
    • 2.2. Trình biên dịch CCS (23)
    • 2.3. Microsoft Visual Studio (25)
    • 2.4. Microsoft SQL Server (26)
    • 2.5. Radio Frequency Identification (27)
    • 2.6. Xử lí ảnh (28)
    • 2.7. Vi điều khiển PIC16F887 (28)
    • 2.8. Chuẩn truyền dữ liệu (29)
      • 2.8.1. Chuẩn giao tiếp One - Wire (29)
      • 2.8.2. Chuẩn giao tiếp UART (29)
  • CHƯƠNG 3. TÍNH TOÁN, THIẾT KẾ VÀ THUẬN TOÁN (0)
    • 3.1. Giới thiệu (30)
      • 3.1.1. Chức năng từng khối (30)
      • 3.1.2. Nguyên lí hoạt động (31)
    • 3.2. Thiết kế các thành phần hệ thống (32)
      • 3.2.1. Khối xử lí trung tâm (32)
      • 3.2.2. Khối động cơ (40)
      • 3.2.3. Khối công tắc hành trình (44)
      • 3.2.4. Khối RFID (45)
      • 3.2.5. Khối nguồn (47)
      • 3.2.6. Các khối khác (48)
      • 3.2.7. Giao tiếp UART với máy tính (48)
    • 3.3. Lưu đồ thuật toán điều khiển (51)
      • 3.3.1. Lưu đồ chương trình chính (51)
      • 3.3.2. Lưu đồ chương trình con Gửi xe (52)
      • 3.3.3. Lưu đồ chương trình con Trả xe (53)
      • 3.3.4. Lưu đồ chương trình con Chọn vị trí (54)
      • 3.3.5. Lưu đồ chương trình con xử lí dữ liệu (55)
    • 3.4. Sơ đồ mạch nguyên lí (56)
  • CHƯƠNG 4. THI CÔNG HỆ THỐNG (57)
    • 4.1. Thi công phần cứng (57)
      • 4.1.1. Khung mô hình (57)
      • 4.1.2. Khung chứa xe (58)
      • 4.1.3. Cơ cấu xoay, di chuyển khung chứa xe lên xuống và vào ra (58)
      • 4.1.4. Công tắc hành trình (60)
    • 4.2. Thi công phần mềm (61)
      • 4.2.1. Gửi mã thẻ RFID lên Visual Studio 2015 (61)
      • 4.2.2. Làm việc với Microsoft SQL Sever 2014 (63)
      • 4.2.3. Xử lí biển số xe với EmguCV (66)
  • CHƯƠNG 5. KẾT QUẢ (0)
    • 5.1. Mô hình bãi đỗ thực tế (77)
    • 5.2. Mạch điều khiển thực tế (78)
    • 5.3. Giao diện phần mềm (80)
    • 5.4. Hoạt động của mô hình (81)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 6.1. Kết luận (84)
    • 6.2. Hướng phát triển (84)
  • TÀI LIỆU THAM KHẢO (85)
  • PHỤ LỤC (86)

Nội dung

TỔNG QUAN

Lĩnh vực nghiên cứu

Hiệp định CPTPP, ký kết bởi Việt Nam vào ngày 8/3/2018, mang lại cơ hội phát triển cho hàng hóa xuất nhập khẩu nhờ mức thuế nhập khẩu 0% giữa các nước đối tác Điều này giúp giá các mặt hàng xuất khẩu cạnh tranh hơn và giảm thuế cho hàng nhập khẩu, đặc biệt là ô tô, dự kiến sẽ gia tăng đáng kể tại Việt Nam với mức giá hợp lý, dần thay thế xe máy Tuy nhiên, sự gia tăng này đặt ra thách thức về cơ sở hạ tầng, khi mà quỹ đất hạn chế ở Việt Nam chủ yếu được sử dụng cho các công trình nhà ở và giao thông, khiến việc xây dựng bãi đỗ xe chất lượng và tiết kiệm diện tích trở nên khó khăn.

Nhiều bãi đậu xe trên thế giới đã áp dụng công nghệ hiện đại, tuy nhiên ở Việt Nam, các bãi đậu xe kỹ thuật cao vẫn còn hiếm hoi Một ví dụ điển hình là đề tài tốt nghiệp "Hệ thống bãi giữ xe thông minh ứng dụng công nghệ IoT và RFID", trong đó tác giả đã tích hợp nhiều công nghệ tiên tiến nhằm nâng cao chất lượng phục vụ khách hàng, bao gồm tiện ích đặt chỗ trước và ứng dụng RFID, IoT.

Đề tài “Thiết kế, thi công mô hình bãi đỗ xe ô tô” được chọn cho đồ án tốt nghiệp nhằm áp dụng kiến thức đã học vào thực tế Mục tiêu của dự án là thiết kế một mô hình bãi đỗ xe tiết kiệm diện tích và tự động hóa quy trình gửi và trả xe, góp phần nâng cao hiệu quả sử dụng không gian đô thị.

Mục tiêu và giới hạn đề tài

Thiết kế, thi công mô hình bãi đỗ xe ô tô sử dụng các công nghệ: xử lí ảnh, RFID, vi xử lí và đáp ứng được các tiêu chí:

- Tự động hóa quá trình gửi xe và trả xe.

Một số giới hạn của đề tài:

- Mô hình được làm bằng vật liệu chính là mica.

- Kích thước 100x40 cm (chiều cao, đường kính).

Bãi đỗ xe gồm 4 tầng, với mỗi tầng có 5 vị trí giữ xe, ngoại trừ tầng 1 chỉ có 3 vị trí do cần 2 vị trí để xe vào và ra Bãi đỗ xe có khả năng chứa ô tô có kích thước tối đa dài 9 cm, rộng 6 cm và cao 3 cm.

Nội dung thực hiện

- Đọc và tham khảo các tài liệu đồ án đi trước.

- Nghiên cứu các mô hình bãi đỗ xe thực tế.

- Tìm hiểu các loại vi điều khiển

- Lựa chọn các thiết bị cần sử dụng.

- Kết nối các thiết bị đã lựa chọn.

- Lập trình cho hệ thống.

- Chạy thử nghiệm, kiểm tra và hiệu chỉnh mô hình.

- Viết luận văn, báo cáo đề tài.

Tóm tắt

Đề tài được trình bày trong 6 chương:

- Chương 2: Cơ sở lý thuyết

- Chương 3: Tính toán, thiết kế và thuận toán

- Chương 4: Thi công hệ thống

- Chương 6: Kết luận và hướng phát triển

Nội dung chương 1: giới thiệu lĩnh vực nghiên cứu, lý do chọn đề tài Trình bày mục tiêu, giới hạn và nội dung thực hiện đề tài.

Chương 2 tập trung vào việc phân tích các đặc điểm, ưu điểm và nhược điểm của các phương án bãi đỗ xe, từ đó lựa chọn phương án phù hợp nhất Ngoài ra, chương cũng giới thiệu những tài liệu và công nghệ hiện đại được áp dụng vào đề tài nghiên cứu này.

Chương 3 trình bày sơ đồ khối và nguyên lý hoạt động của hệ thống, đồng thời mô tả quá trình lựa chọn thiết bị, thử nghiệm thiết bị và thuật toán điều khiển hệ thống.

Nội dung chương 4: trình bày quá trình thi công phần cứng, lập trình phần mềm cho các khối của hệ thống.

Chương 5 trình bày các kết quả đạt được từ quá trình thi công, bao gồm cấu trúc mô hình và giao diện phần mềm, cũng như hiệu suất hoạt động của hệ thống.

Chương 6 tập trung vào việc xác định những yếu tố cần cải thiện sau khi thực hiện đề tài, đồng thời đề xuất các hướng đi và công nghệ phù hợp để phát triển đề tài một cách hiệu quả.

CƠ SỞ LÝ THUYẾT

Phân tích phương án bãi đỗ

Với sự phát triển của nhu cầu xã hội, các phương án bãi đỗ ô tô ngày càng trở nên đa dạng Bài viết này sẽ trình bày những đặc điểm, ưu điểm và nhược điểm của một số phương án bãi đỗ ô tô phổ biến, giúp lựa chọn phương án phù hợp cho từng đề tài.

2.1.1 Các loại bãi đỗ phổ biến

 Bãi đỗ dạng xếp hình Đây là phương án đỗ xe phù hợp với các thành phố lớn có lượng xe quá tải.

Hệ thống sử dụng cấu trúc thiết kế một tháp và cao 2 hoặc 3 tầng, mỗi tầng giữ được từ 4 đến 5 xe.

Hình 2.1 Phương án bãi đỗ dạng xếp hình

- Ưu điểm: chi phí thấp, phù hợp nhiều loại địa hình, tiết kiệm diện tích, bảo trì, bảo dưỡng, di chuyển đơn giản.

- Nhược điểm: chỉ phù hợp với quy mô nhỏ (5 đến 15 ô tô), cơ cấu điều khiển chưa tự động.

 Bãi đỗ dạng di chuyển quanh tòa nhà

Phương án thiết kế này mang tính cổ điển, với cấu trúc là một tòa nhà hình trụ nhiều tầng dành cho xe cộ di chuyển Khách hàng sẽ tự lái xe vào và ra khỏi vị trí đỗ, trong khi có nhân viên phụ trách bán vé và ghi lại biển số xe.

Hình 2.2 Phương án bãi đỗ dạng di chuyển quanh tòa nhà

- Ưu điểm: giữ được nhiều xe, chi phí vận hành thấp, tiết kiệm diện tích.

- Nhược điểm: ô nhiễm môi trường, tính an toàn, tự động không cao.

Bãi đổ xe dạng tháp là giải pháp đỗ xe tự động phổ biến, tối ưu hóa diện tích đất nhưng vẫn có khả năng chứa nhiều xe Thiết kế bao gồm nhiều tháp, mỗi tháp có nhiều tầng, với mỗi tầng dành cho một xe Hệ thống nâng hạ và di chuyển giúp các xe vào ra dễ dàng và thuận tiện.

Hình 2.3 Phương án bãi đỗ dạng tháp

- Ưu điểm: số lượng xe đỗ được nhiều, bảo trì, bảo dưỡng đơn giản, tiết kiệm diện tích, chi phí vận hành thấp.

- Nhược điểm: vốn đầu tư cao, thời gian trả xe dài.

 Bãi đỗ dạng hình trụ

Hình 2.4 Phương án bãi đỗ dạng hình trụ

Phương án thiết kế bãi đỗ xe hình tháp trụ đang trở thành xu hướng hiện đại, với cấu trúc nhiều tầng cho phép chứa đựng một lượng lớn xe Hệ thống tự động hóa giúp xe vào ra một cách dễ dàng thông qua cơ cấu nâng hạ.

- Ưu điểm: tính thẩm mỹ cao, đỗ được nhiều xe, tiết kiệm diện tích.

- Nhược điểm: chi phí đầu tư cao, bảo trì, bảo dưỡng phức tạp.

Sau khi phân tích, nhóm đã lựa chọn phương án bãi đỗ dạng hình trụ dựa trên các tiêu chí như tiết kiệm diện tích, hiệu quả kinh tế theo thời gian và tính tự động cao.

Trình biên dịch CCS

CCS là một trình biên dịch ngôn ngữ C dành cho vi điều khiển PIC của Microchip, bao gồm ba trình biên dịch riêng biệt cho ba dòng PIC khác nhau.

- PCB cho dòng PIC 12‐bit opcodes

- PCM cho dòng PIC 14‐bit opcodes

- PCH cho dòng PIC 16 và 18‐bit

Hình 2.5 Giao diện cơ bản của trình biên dịch CCS phiên bản 5.015

CCS là công cụ hữu ích giúp người dùng nhanh chóng làm quen với vi điều khiển PIC và áp dụng vào các dự án Trình biên dịch này hiện đang được sử dụng tại Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM để giảng dạy thực hành về vi điều khiển Để tìm hiểu thêm về các thao tác với trình biên dịch CCS, người dùng có thể tham khảo mục Tài liệu tham khảo.

Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment from Microsoft designed for creating web pages, applications, web services, and computer programs for the Windows operating system Leveraging development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and Microsoft Silverlight, Visual Studio enables the production of both machine code and managed code.

Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau, cho phép biên tập mã và gỡ lỗi cho hầu hết các ngôn ngữ Các ngôn ngữ tích hợp bao gồm C, C++, C++/CLI, VB.NET, C#, và F# Ngoài ra, Visual Studio còn hỗ trợ các ngôn ngữ khác như J++, Python và Ruby thông qua cài đặt riêng Nó cũng hỗ trợ các công nghệ web như XML/XSLT, HTML/XHTML, JavaScript và CSS.

Hình 2.6 Giao diện cơ bản của Microsoft Visual Studio phiên bản 2015

Microsoft Visual Studio có tính đa dụng cao, dẫn đến sự phát triển của nhiều cộng đồng hướng dẫn sử dụng, trong đó nổi bật là HowKteam với các khóa học lập trình C++, C#, Java và Python hoàn toàn miễn phí Ngoài ra, HowKteam còn cung cấp các khóa học hướng dẫn lập trình các ứng dụng phổ biến sử dụng Winform như quản lý quán cà phê, quản lý nhân viên và quản lý cửa hàng Để tìm hiểu thêm, bạn có thể truy cập vào mục Tài liệu tham khảo.

Microsoft SQL Server

Microsoft SQL Server là một công cụ quản lý dữ liệu phổ biến, được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau Nhiều ngôn ngữ lập trình bậc cao, như Visual Basic, Oracle và Visual C, đều hỗ trợ SQL, giúp tăng cường khả năng làm việc với cơ sở dữ liệu.

Hình 2.7 Giao diện cơ bản của Microsoft SQL Sever phiên bản 2014

- Là ngôn ngữ tựa tiếng Anh, phi thủ tục và không yêu cầu cách thức truy nhập Các thông báo dễ sử dụng và ít khả năng mắc lỗi.

Để thực hiện việc hỏi đáp dữ liệu hiệu quả, người dùng cần nắm vững các cấu trúc cơ sở dữ liệu Việc cung cấp tập lệnh phong phú sẽ hỗ trợ tối đa cho quá trình này, giúp cải thiện khả năng truy vấn và phân tích dữ liệu.

 Đối tượng làm việc của SQL Server:

- Là các bảng dữ liệu hai chiều gồm một hoặc nhiều cột và hàng Cột gọi là trường, hàng gọi là bảng ghi.

- Cột với tên gọi và kiểu dữ liệu (kiểu dữ liệu của mỗi cột là duy nhất) xác định tạo nên cấu trúc của bảng.

Hầu hết các phần mềm hiện nay đều sử dụng cơ sở dữ liệu riêng để quản lý và thao tác thông tin Chẳng hạn, phần mềm "Quản lý cửa hàng" lưu trữ dữ liệu về giá cả, số lượng hàng đã bán và hàng tồn kho Để biết thêm chi tiết, bạn có thể tham khảo các tài liệu hướng dẫn tại mục Tài liệu tham khảo.

Radio Frequency Identification

Công nghệ Nhận diện Tần số Radio (RFID) cho phép đọc thông tin từ Chip mà không cần tiếp xúc trực tiếp và ở khoảng cách xa Hệ thống RFID bao gồm các thành phần chính như thẻ từ (Tag), bộ đọc thẻ từ (Reader) và ăng-ten thường được tích hợp trong Reader Ngoài ra, các bộ phận quan trọng khác như mạch điều khiển, cảm biến và thiết bị truyền thông cũng đóng vai trò thiết yếu trong hoạt động của hệ thống.

Hình 2.8 Cấu trúc thẻ RFID và hệ thống RFID cơ bản

RFID được sử dụng rộng rãi trong nhiều lĩnh vực như quản lý nhân viên, quản lý sinh viên và thanh toán phí Để tìm hiểu thêm, bạn có thể tham khảo các tài liệu hướng dẫn tại mục Tài liệu tham khảo.

Xử lí ảnh

Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh.

Xử lý ảnh bao gồm bốn lĩnh vực chính: nâng cao chất lượng, nhận dạng, nén và truy vấn ảnh Một hệ thống xử lý ảnh thường trải qua các bước cơ bản được minh họa trong Hình 3.6.

Hình 2.9 Các bước cơ bản trong xử lí ảnh

Xử lý ảnh hiện nay được ứng dụng rộng rãi trong nhiều lĩnh vực như y tế, giao thông và an ninh Sinh viên thường nghiên cứu các đề tài liên quan đến xử lý ảnh, đặc biệt là các phương pháp nhận dạng khuôn mặt, biển số xe và vân tay Để tìm hiểu thêm, các bạn có thể tham khảo các tài liệu hướng dẫn tại mục Tài liệu tham khảo.

Vi điều khiển PIC16F887

PIC16F887 là một vi điều khiển phổ biến với đầy đủ chức năng, lý tưởng cho các ứng dụng cơ bản Nó có kiến trúc 8 bit, hỗ trợ 35 lệnh cơ bản, và thực hiện lệnh trong một chu kỳ lệnh, ngoại trừ các lệnh rẽ nhánh Vi điều khiển này được thiết kế với 40 chân, mang lại sự linh hoạt cho các dự án điện tử.

Hình 2.10 Vi điều khiển PIC16F887

Vi điều khiển PIC16F887 đang được sử dụng trong giảng dạy tại Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM Để tìm hiểu thêm về loại vi điều khiển này, bạn có thể truy cập vào mục Tài liệu tham khảo[4].

Chuẩn truyền dữ liệu

Truyền dữ liệu là cách mà các thiết bị giao tiếp, trao đổi thông tin với nhau.

Có hai phương thức truyền dữ liệu là truyền dữ liệu nối tiếp và truyền dữ liệu song song Mặc dù chỉ có hai cách thức này, nhưng có nhiều chuẩn truyền dữ liệu khác nhau Một số chuẩn truyền dữ liệu phổ biến hiện nay bao gồm One-Wire và UART.

2.8.1 Chuẩn giao tiếp One - Wire

One-Wire là một hệ thống bus giao tiếp thiết bị do Dallas thiết kế, cho phép truyền dữ liệu tốc độ thấp, tín hiệu và nguồn nuôi qua cùng một chân tín hiệu Hệ thống này tương tự như I2C nhưng hỗ trợ khoảng cách xa hơn One-Wire thường được sử dụng để kết nối các thiết bị nhỏ giá rẻ như nhiệt kế kỹ thuật số và công cụ đo thời tiết Một mạng lưới các thiết bị One-Wire kết nối với một thiết bị điều khiển chính được gọi là MicroLAN.

Bus có tính năng đặc biệt khi chỉ cần sử dụng hai dây tín hiệu: Data và Gnd Các thiết bị One-Wire tích hợp tụ điện 800pF để lưu trữ điện, cung cấp nguồn cho hoạt động của đường Data.

UART là một giao thức truyền thông nối tiếp không đồng bộ, thường được tích hợp trong các vi điều khiển để truyền dữ liệu giữa máy tính và thiết bị ngoại vi Công nghệ này được sử dụng phổ biến trong máy tính công nghiệp, truyền thông và các thiết bị truyền tin khác.

Mục đích của UART là truyền tín hiệu giữa các thiết bị, chẳng hạn như từ Laptop đến Modem, giữa các vi điều khiển, hoặc từ Laptop tới vi điều khiển Trong phương thức truyền này, có một đường phát dữ liệu và một đường nhận dữ liệu, với tín hiệu xung clock có cùng tần số, thường được gọi là tốc độ truyền dữ liệu (Baud).

TÍNH TOÁN, THIẾT KẾ VÀ THUẬN TOÁN

Giới thiệu

Với việc chọn phương án bãi đỗ hình trụ, cấu trúc hệ thống được chia thành các khối gồm nguồn, xử lý trung tâm, động cơ, công tắc hành trình, RFID, camera và PC, như thể hiện trong Hình 3.1.

Hình 3.1 Sơ đồ khối của hệ thống

- Khối xử lí trung tâm: thu nhận tín hiệu từ các khối khác để tạo ra tín hiệu cho khối động cơ hoạt động (lấy xe, trả xe).

- Khối động cơ: di chuyển khung chứa xe lên xuống, vào ra và xoay.

- Khối công tắc hành trình: trả tín hiệu về để giới hạn hình trình động cơ.

- Khối PC: hiển thị giao diện quản lí, xử lí biển số xe, lưu trữ thông tin khách hàng, giao tiếp tín hiệu với khối xử lí trung tâm.

- Khối RFID: cung cấp và đọc mã thẻ RFID.

- Khối nguồn: cung cấp nguồn điện cho hệ thống.

Hệ thống hoạt động theo 3 trường hợp:

- Hành khách: lái xe vào vị trí In, tắt máy và đến nhân viên nhận thẻ RFID.

Nhân viên cần kiểm tra xem xe đã vào đúng vị trí In hay chưa Nếu xe chưa vào đúng vị trí, hãy yêu cầu khách hàng điều chỉnh lại Sau khi xe đã được đưa vào đúng vị trí, tiến hành quẹt thẻ và giao thẻ cho khách hàng.

Hệ thống tự động hoạt động khi nhận được mã thẻ, quét mã thẻ qua Camera để chụp ảnh và nhận diện biển số xe Sau đó, hệ thống sẽ tìm vị trí đỗ xe gần nhất còn trống và nâng xe đến vị trí đó Tất cả thông tin như biển số, mã thẻ và vị trí được lưu trữ trong cơ sở dữ liệu trên máy chủ Khi quá trình gửi xe hoàn tất, khung nâng sẽ trở về vị trí ban đầu để tiếp tục nhận xe tiếp theo.

- Hành khách: giao thẻ cho nhân viên và chờ xe ra ở vị trí Out.

- Nhân viên: quẹt thẻ để lấy thống tin khách hàng

Hệ thống tự động hoạt động khi nhận được mã thẻ, tiến hành so sánh mã thẻ với dữ liệu trong cơ sở dữ liệu Nếu thông tin trùng khớp, hệ thống sẽ xác định vị trí đỗ xe và di chuyển khung nâng đến đó để chụp ảnh biển số Nếu biển số nhận diện được khớp với cơ sở dữ liệu, xe sẽ được đưa ra vị trí trả khách Ngược lại, nếu không trùng khớp, khung nâng sẽ quay về vị trí ban đầu.

Khách hàng mất thẻ từ không thể thực hiện việc lấy xe qua quá trình quét thẻ Do đó, để lấy được xe, hành khách cần phải chứng minh quyền sở hữu xe thông qua các giấy tờ tùy thân.

Nhân viên kiểm tra giấy tờ và biển số xe của khách hàng để xác nhận sự tồn tại trong cơ sở dữ liệu Nếu xe có trong hệ thống, nhân viên sẽ truy xuất vị trí đỗ xe để thực hiện việc trả xe bằng chế độ điều khiển tay, đồng thời ghi lại thông tin của khách hàng bị mất thẻ Cuối cùng, thông tin về xe đã gửi sẽ được xóa khỏi cơ sở dữ liệu.

Thiết kế các thành phần hệ thống

3.2.1 Khối xử lí trung tâm

Trong đề tài này, khối xử lí trung tâm sử dụng hai vi điều khiển PIC16F887, được đánh số lần lượt là PIC16F887(1) và PIC16F887(2) Vi điều khiển PIC16F887(1) đảm nhận chức năng truyền nhận dữ liệu và xử lí mã thẻ RFID, trong khi PIC16F887(2) không chỉ thực hiện hai chức năng đó mà còn giao tiếp với các khối khác để điều khiển hoạt động của toàn bộ hệ thống.

Việc sử dụng hai vi điều khiển PIC16F887 là cần thiết để có hai cổng UART phục vụ cho việc giao tiếp dữ liệu với máy tính Một cổng được sử dụng để truyền nhận dữ liệu từ đầu đọc thẻ RFID xe gửi, trong khi cổng còn lại đảm nhiệm việc truyền nhận dữ liệu từ đầu đọc thẻ RFID xe ra Điều này là do mỗi vi điều khiển PIC16F887 chỉ hỗ trợ một cổng UART (RC6, RC7).

Nhóm sử dụng vi điều khiển PIC16F887 với module KIT PIC V1 để giao tiếp với các khối khác, nhờ vào các tính năng mở rộng tích hợp như NRF24L01, USB, UART và Key đơn, giúp thuận lợi cho việc thử nghiệm điều khiển thiết bị Đối với vi điều khiển PIC16F887, nhóm chỉ sử dụng hai chức năng và sẽ thiết kế mạch in cho dự án.

Module KIT PIC V1 có hình ảnh và thông số kỹ thuật được trình bày lần lượt ở Hình 3.2 và Bảng 1.

Hình 3.2 Module KIT PIC V1 và PIC16F887

Bảng 1 Thông số kỹ thuật của module KIT PIC V1 Đặc điểm Module KIT PIC V1 Điện áp sử dụng Điện áp hỗ trợ

PIC16F887 có hình ảnh, sơ đồ chân và một số đặc điểm cơ bản của được trình bày lần lượt ở Hình 3.2, 3.3 và Bảng 2.

NRF24L01, USB, UART, Key đơn, LCD

Hình 3.3 Sơ đồ chân PIC16F887

Bảng 2 Tóm tắt đặc điểm cở bản của PIC16F887 Đặc điểm Điện áp hoạt động

Phun dòng và hút dòng tối đa

Bộ nhớ chương trình Flash (14 – bit word)

Bộ nhớ dữ liệu (byte)

Bộ nhớ dữ liệu EEPROM (byte)

Các module capture/compare/PWM

Bộ so sánh tương tự

 Viết chương trình cho PIC16F887

Sử dụng trình biên dịch CCS phiên bản 5.015 để phát triển chương trình điều khiển hệ thống, giao diện được chia thành ba khu vực chính: công cụ, viết chương trình và khu vực thông báo, như minh họa trong Hình 3.4.

- Tạo một chương trình: chọn File 

Source File Sau đó tiến hành viết chương trình.

- Kiểm tra chương trình: chọn Make File Project 

Hình 3.4 Các vùng cơ bản của trình biên dịch CCS

 Nạp chương trình cho PIC16F887:

Sử dụng phần mềm PICKit 2 v2.61 (Hình 3.6) và mạch nạp PICKit 2 SE Programmer/Debugger (Hình 3.5).

- Phần cứng: gắn PIC vào khung chứa của mạch nạp Kết nối cổng USB từ mạch nạp vào máy tính.

Import Hex (tìm đến file Hex cần nạp) 

Để nạp file Hex, bạn có thể chọn tùy chọn "Write" hoặc "Auto Import Hex + Write Device", sau đó tìm đến file Hex cần nạp Phần mềm sẽ thông báo kết quả nạp thành công hoặc không ngay trên giao diện.

Hình 3.5 Mạch nạp PICKit2 PICKit 2 SE Programmer/Debugger

Hình 3.6 Giao diện phần mềm PICKit 2 v2.61

 Thi công mạch in PIC16F887(1)

Mạch in PIC16F887 chỉ thực hiện hai chức năng chính là truyền nhận dữ liệu và xử lý mã thẻ RFID, được thể hiện qua sơ đồ nguyên lý trong Hình 3.7 và 3.8 Nhóm cũng đã bổ sung thêm 5 chân LED để có thể sử dụng cho các ứng dụng mở rộng trong tương lai.

Hình 3.7 Sơ đồ nguyên lí PIC16F887(1)

Trong sơ đồ nguyên lý, nhóm sử dụng xung ngoại từ thạch anh 20M làm nguồn xung cho vi điều khiển Để cải thiện độ ổn định của xung dao động, hai tụ lọc 22pF đã được lắp thêm vào thạch anh, với giá trị tụ phụ thuộc vào thông số của thạch anh (tham khảo datasheet PIC16F887) Điện trở hạn dòng 10k Ohm được kéo lên nguồn do PIC16F887 reset ở mức thấp Khi nhấn nút RST, chân MCLR của vi điều khiển sẽ về mức 0, dẫn đến việc vi điều khiển được reset.

Do hầu hết các LED đều hoạt động ở mức điện áp từ 1.6 

3 V và dòng điện sử dụng từ 10 

20 mA mà mức logic 1 của PIC16F887 là 5 V nên giá trị điện trở được tính toán như sau:

Từ công thức (1) và (2) suy ra giá trị điện trở có thể lựa chọn nằm trong khoảng 100 

340 Ohm nên nhóm chọn điện trở 330 Ohm.

Hình 3.8 Sơ đồ mạch in PIC16F887(1)

Sau quá trình hàn các linh kiện, mạch có kết cấu như Hình 3.9.

Hình 3.9 Mạch PIC16F887(1) sau khi thi công

Đề tài sử dụng mô hình hình trụ yêu cầu ba động cơ thực hiện các nhiệm vụ khác nhau: xoay, di chuyển lên xuống và vào ra khung chứa xe Mỗi động cơ được chọn dựa trên nhiệm vụ cụ thể, trong đó động cơ xoay cần độ chính xác cao, trong khi động cơ di chuyển khung cần tốc độ nhanh nhưng gia tốc không được quá cao Để điều khiển các động cơ, tín hiệu từ khối xử lý trung tâm phải được truyền qua một module mạch cầu H, giúp tiếp nhận tín hiệu và điều khiển nguồn vào cho động cơ.

Chọn động cơ bước JK42HS40 – 1704 Đây là loại động cơ bước lưỡng cực.

Có hình ảnh, sơ đồ nguyên lý và thông số kỹ thuật được trình bày lần lượt ở Hình 3.10 và Bảng 3.

Hình 3.10 Động cơ bước JK42HS40 - 1704 và sơ đồ nguyên lí

Bảng 3 Thông số kỹ thuật của động cơ bước JK42HS40-1704 Đặc điểm Điện áp hoạt động Độ dài bước

 Động cơ di chuyển lên xuống, vào ra

Chọn động cơ DC Giảm Tốc GA37 có hình ảnh, thông số kỹ thuật được trình bày lần lượt ở Hình 3.11, Bảng 4.

Bảng 4 Thông số kỹ thuật của động cơ DC giảm tốc GA37 Đặc điểm Điện áp hoạt động

Tốc độ qua hộp số

Tốc độ không hộp số

Chọn module L298N có hình ảnh và thông số kỹ thuật được trình bày lần lượt ở Hình 3.11 và Bảng 5.

Hình 3.11 Module L298N và động cơ DC giảm tốc GA37

Bảng 5 Thông số kỹ thuật module L298 Đặc điểm Điện áp có thể điều khiển

Dòng cực đại có thể chịu được Điện áp tín hiệu thu vào

Dòng tín hiệu thu vào

 Điều khiển động cơ bước JK42HS40 – 1704

Động cơ bước JK42HS40 - 1704 có độ dài bước 1.8° với 200 bước trên mỗi vòng Động cơ này hỗ trợ nhiều chế độ điều khiển, bao gồm Full Step, Half Step và Micro Step Trong đó, chế độ Full Step có độ chính xác thấp hơn so với Half Step, trong khi Micro Step mang lại độ chính xác cao nhất, tùy thuộc vào cách chia nhỏ bước.

Trong đề tài này nhóm lựa chọn chế độ Half Step để điều khiển (400 bước/vòng) Tiến hành kết nối phần cứng theo Bảng 6.

Bảng 6 Kết nối module L298N, JK42HS40 - 1704, module KIT PIC V1

Module L298N có các chân nguồn 5V, 12V và GND; trong đó, chân 5V cung cấp năng lượng cho module, chân 12V là nguồn cho động cơ, và chân GND kết nối chung cho cả hai nguồn Các trạng thái điều khiển động cơ bước JK42HS40 – 1704 ở chế độ Half Step được thể hiện rõ trong Bảng 7.

Bảng 7 Bảng trạng thái Half Step điều khiển động cơ bước

Các giá trị nhị phân 1000, 1100, 0100, 0110, 0010, 0011, 0001, 1001 tương ứng với giá trị hexa là 0X08, 0X0C, 0X04, 0X06, 0X02, 0X03, 0X01, 0X09 Khi được đưa vào các chân IN (1,2,3,4) của module L298N, các chân OUT (1,2,3,4) sẽ điều khiển động cơ bước xoay thuận 8 bước ở chế độ Half Step, tương đương với 7.2° Chương trình điều khiển được viết bằng ngôn ngữ CCS, và phần giải thích chi tiết có trong mục Phụ lục V.1.

Hình 3.12 Điều khiển động cơ bước

 Điều khiển động cơ DC giảm tốc GA37 Động cơ DC được điều khiển khá đơn giản nếu không quan tâm đến tốc độ.

Do module L298N có 4 chân OUT nên có thể điều khiển 2 động cơ DC nâng hạ và vào ra Tiến hành kết nối phần cứng theo Bảng 8.

Bảng 8 Kết nối module L298N, 2 DC giảm tốc GA37, module KIT PIC V1

Module L298N có ba chân nguồn: 5V, 12V và GND Chân 5V cung cấp nguồn nuôi cho module, trong khi chân 12V dùng để cấp nguồn cho động cơ, với điều kiện không vượt quá giới hạn nguồn điều khiển của module Chân GND được kết nối chung cho cả hai nguồn.

Chúng tôi đã kết nối thêm các công tắc hành trình để giới hạn hành trình của động cơ, đảm bảo điều khiển chính xác vị trí Chương trình điều khiển được viết bằng ngôn ngữ CCS, với phần giải thích chi tiết có trong Phụ lục V.2.

Hình 3.13 Điều khiển động cơ DC giảm tốc

3.2.3 Khối công tắc hành trình Để điều khiển được khối động cơ hoạt động chính xác đến từng vị trí theo yêu cần gắn các công tắc hành trình điều khiển hành trình của động cơ Trong đề tài này sử dụng 3 công tắc hành trình: 2 KW12 – N (Hình 3.14 bên trái) và 1 V – 153 – 1C25 (Hình 3.14 bên phải) Trong đó 2 KW12 – N để điều khiển hành trình động cơ di chuyển khung chứa xe lên xuống và vào ra vị trí đỗ xe, 1 V – 153 – 1C25 để giới hạn hết hành trình lên xuống của khung chứa xe.

Thông số cơ bản của 2 loại công tắc hành trình: 125/250 VAC; 0.6 A,125 VDC; 0.3 A, 250 VDC Cả 2 loại đều có cấu tạo gồm 3 chân: COM, NO (thường hở), NC (thường đóng).

Hình 3.14 Công tắc hành trình

Hầu hết các bãi đỗ xe hiện nay đã chuyển từ việc sử dụng vé viết tay sang thẻ RFID để xác nhận xe của khách hàng Sự thay đổi này mang lại nhiều lợi ích, bao gồm việc nâng cao tính chính xác và giảm thiểu thời gian chờ đợi cho khách hàng.

- Tái sử dụng, không bị ướt

Lưu đồ thuật toán điều khiển

3.3.1 Lưu đồ chương trình chính

Hình 3.24 Lưu đồ chương trình chính

Khi có một khách hàng có nhu cầu sử dụng bãi đỗ, tiến hành xem xét yêu cầu của khách hàng:

 Nếu là gửi xe thì tiến hành chương trình con gửi xe,

 Nếu là trả xe thì thực hiện chương trình con trả xe.

3.3.2 Lưu đồ chương trình con Gửi xe

Hình 3.25 Lưu đồ chương trình con Gửi xe

Xe vào yêu cầu gửi xe, tiến hành kiểm tra xe đã vào đúng vị trí In:

 Nếu không thì yêu cầu khách hàng lái xe vào đúng vị trí In.

 Nếu đúng thì tiến hành quẹt thẻ RFID.

 Nếu không thành công thì tiến hành quẹt lại.

Nếu thành công, camera sẽ chụp và xử lý biển số xe, sau đó xác định vị trí và lưu thông tin vào cơ sở dữ liệu Dữ liệu bao gồm biển số và vị trí sẽ được gửi đến khối xử lý trung tâm Tại đây, dữ liệu sẽ được xử lý và khung chứa xe sẽ được điều khiển để tiến hành gửi xe.

3.3.3 Lưu đồ chương trình con Trả xe

Hình 3.26 Lưu đồ chương trình con Trả xe

Khi khách hàng giao thẻ RFID yêu cầu trả xe, tiến hành quẹt thẻ RFID:

 Nếu quẹt thẻ không thành công thì tiến hành quẹt thẻ lại.

 Nếu quẹt thẻ thành công thì tiến hành so sánh mã thẻ với cơ sở dữ liệu So sánh mã thẻ với mã thẻ trong cơ sở dữ liệu:

 Nếu không khớp thì kết thúc.

Khi khớp được thông tin, hệ thống sẽ gửi vị trí gửi xe và dữ liệu (bao gồm R, vị trí dưới dạng chuỗi, và dấu chấm) đến khối xử lý trung tâm Tại đây, khối xử lý trung tâm sẽ tiếp nhận và xử lý dữ liệu, đồng thời điều khiển khung chứa xe di chuyển đến vị trí gửi xe Camera sẽ chụp và xử lý biển số xe.

So sánh biển số với biển số trong cơ sở dữ liệu:

 Nếu không khớp thì kết thúc.

 Nếu khớp thì điều khiển khung chứa xe tiến hành trả xe sau đó xóa thông tin khách hàng.

3.3.4 Lưu đồ chương trình con Chọn vị trí

Hình 3.27 Lưu đồ chương trình con Chọn vị trí

Tạo một cơ sở dữ liệu A với 18 hàng và 2 cột, trong đó giá trị của các phần tử là 0 Khởi tạo một biến đếm I và một biến Vitri Khi thẻ RFID được quẹt, thực hiện so sánh mã thẻ RFID để xử lý thông tin.

 Nếu có trong cơ sở dữ liệu thì là quá trình trả xe.

 Nếu không có trong cơ sở dữ liệu thì tiến hành so sánh

 Nếu lớn hơn 17 thì tiến hành thông báo “Bãi đỗ đầy”.

 Nếu bé hơn 18 thì so sánh giá trị A[I;1].

So sánh giá trị phần tử A[I;1]:

 Nếu khác 0 thì tăng I lên một và lặp lại quá trình so sánh A[I;1].

Nếu giá trị tại A[I;1] là 0, ta sẽ gán giá trị 1 cho A[I;1], sau đó lưu giá trị A[I;0] vào biến Vitri Tiếp theo, ta sẽ tăng giá trị tại A[I + 1;0] bằng 1, tức là A[I + 1;0] sẽ bằng A[I;0] + 1.

3.3.5 Lưu đồ chương trình con xử lí dữ liệu

Hình 3.28 Lưu đồ chương trình con xử lí dữ liệu

Tạo một mảng Data[10] để nhận các ký tự từ máy tính, sử dụng biến C để gán từng ký tự vào mảng này Biến Vitri và biến ENA được sử dụng để cho phép hệ thống hoạt động Tiến hành so sánh ký tự nhận được với dấu "." để xác định kết quả.

 Nếu sai thì gán ký tự C cho Data[0] Sau đó so sánh Data[0] với “V” hoặc “R”.

 Nếu đúng thì cho K++ và tiếp tục nhận.

 Nếu sai thì cho K vẫn ở giá trị 0 để tìm ký tự “V” và “R”.

 Nếu đúng thì cho ENA = 1 Thực hiện so sánh K.

 Nếu K = 2 thì gán Vitri = Data[1] – 48.

 Nếu K = 3 thì gán Vitri = (Data[1] – 48)*10 + Data[2] – 48 Sau đó so sánh Data[0] với “V”.

 Nếu đúng thì thực hiện gửi xe theo vị trí Sau đó gán ENA = 0 và reset mảng về giá trị khoảng trắng.

 Nếu sai thì thực hiện so sánh Data[0] với “R”.

 Nếu đúng thì thực hiện trả xe theo vị trí Sau đó gán ENA = 0 và reset mảng về giá trị khoảng trắng.

 Nếu sai thì kết thúc.

Sơ đồ mạch nguyên lí

Dựa trên datasheet và thông số kỹ thuật của các thành phần trong sơ đồ khối, sau khi kết nối các thành phần, chúng ta thu được sơ đồ mạch nguyên lý như sau.

THI CÔNG HỆ THỐNG

Thi công phần cứng

Dựa theo lựa chọn thiết kế ban đầu, cấu trúc thiết kế mô hình của nhóm gồm

Mô hình gồm 5 tầng với 10 trục sắt được đỡ bằng ốc, trong đó có 4 tầng giữ xe và mỗi tầng có 5 vị trí, ngoại trừ tầng 1 chỉ có 3 vị trí Mica là vật liệu chính được sử dụng để chế tạo mô hình Bên trong mô hình có 2 thanh trục: thanh vít me giúp di chuyển khung chứa xe lên xuống và thanh trượt cố định khung chứa xe Cấu tạo của khung mô hình được thể hiện trong Hình 4.1.

Hình 4.1 Khung bãi đỗ xe

Khung chứa xe là bộ phận thiết yếu trong thiết kế, đóng vai trò quan trọng trong việc điều khiển xe vào và ra khỏi vị trí đỗ Nó bao gồm hai phần chính: bộ phận trượt ra vào và bộ phận di chuyển lên xuống Đặc biệt, khung chứa xe được trang bị camera để ghi lại hình ảnh biển số xe, như thể hiện trong Hình 4.2.

Hình 4.2 Bộ phận khung chứa xe

4.1.3 Cơ cấu xoay, di chuyển khung chứa xe lên xuống và vào ra

 Cơ cấu xoay khung chứa xe

Do sử dụng động cơ bước JK42HS40 – 1704 nên có thể điều chỉnh xoay đúng từng vị trí như Hình 4.3.

Hình 4.3 Bộ phận xoay sử dụng động cơ bước

 Cơ cấu di chuyển khung chứa xe vào ra

Để đảm bảo an toàn và kiểm soát hành trình của động cơ DC giảm tốc GA37, cần sử dụng công tắc hành trình Cấu trúc của hệ thống này được minh họa trong Hình 4.4.

Hình 4.4 Động cơ DC giảm tốc điều khiển động cơ vào ra

 Cơ cấu di chuyển khung chứa xe lên xuống

Để đảm bảo an toàn và hiệu quả trong việc sử dụng động cơ DC giảm tốc GA37, cần lắp đặt công tắc hành trình nhằm giới hạn hành trình của động cơ Hình ảnh minh họa cho cơ cấu này được thể hiện trong Hình 4.5.

Hình 4.5 Bộ phận xoay lên xuống sử dụng động cơ DC giảm tốc

Mô hình sử dụng ba công tắc hành trình để giới hạn hành trình cho hai động cơ DC giảm tốc GA37, bao gồm công tắc giới hạn hành trình vào ra, công tắc giới hạn hành trình lên xuống và công tắc giới hạn hành trình dưới Công tắc hành trình dưới được kích hoạt bởi khung chứa xe, trong khi các công tắc còn lại được giới hạn bởi bộ phận tác động Các công tắc hành trình được lắp đặt trong hệ thống như được thể hiện trong các Hình 4.6, 4.7 và 4.8.

Hình 4.6 Công tắc hành trình giới hạn hành trình vào ra khung chứa xe

Hình 4.7 Công tắc hành trình giới hạn hành trình lên xuống khung chứa xe

Hình 4.8 Công tắc hành trình kết thúc hành trình lên xuống

Thi công phần mềm

4.2.1 Gửi mã thẻ RFID lên Visual Studio 2015

Sau khi nhận được mã thẻ và truyền dữ liệu lên máy tính, chúng ta sẽ gửi mã thẻ tới giao diện Winform thông qua phần mềm Visual Studio 15, sử dụng ngôn ngữ lập trình C# Để thực hiện điều này, cần kết nối USB UART, mô-đun RC522 và KIT PIC V1 theo hướng dẫn đã được đề cập.

3 Chương trình gửi mã thẻ RFID lên máy tính viết bằng ngôn ngữ CCS và phần giải thích chương trình được trình bày trong mục Phụ lục V.5 Sau khi code CCS với KIT PIC V1 ta tiến hành tạo giao diện Winform (Hình 4.9).

Hình 4.9 Giao diện C# Winform nhận mã thẻ

Sau khi hoàn thiện giao diện, bước tiếp theo là thiết lập kết nối với cổng COM trên Winform để giao tiếp với cổng COM thực Để thực hiện điều này, bạn cần truy cập vào thanh công cụ của Visual Studio và chọn View.

Hình 4.10 SerialPort Winform Visual Studio

Tiếp tục ta tiến hành nhấp chuột phải vào SerialPort vừa tạo ra và chọn sự kiện DataRecieved (Hình 4.11)

Hình 4.11 Sự kiện DataReceived của SerialPort

Chương trình cho sự kiện DataRecieved viết bằng ngôn ngữ C# và phần giải thích chương trình được trình bày trong mục Phụ lục V.6.

Để bắt đầu, hãy tạo một hàm có tên là “KhoiTao()” để tải cổng COM và gọi hàm này trong sự kiện MainForm_Load của Winform Đồng thời, cần khai báo thêm thư viện cho SerialPort, tham khảo trong mục Phụ lục V.7.

Tiếp đến ta tiến hành viết chương trình cho sự kiện btnKetNoi cho nút nhấn Kết nối SerialPort (tham khảo trong mục Phụ lục V.8).

Ta thu được kết quả thực nghiệm như Hình 4.12, 4.13.

Hình 4.12 Lắp phần cứng giao tiếp PC với KIT PIC V1

Hình 4.13 Thử nghiệm nhận dữ liệu từ USB to TTL PL2303HX

4.2.2 Làm việc với Microsoft SQL Sever 2014

Để làm việc với Microsoft SQL Server 2014, trước tiên bạn cần tải về và cài đặt phần mềm Sau khi hoàn tất cài đặt, bạn sẽ khởi động chương trình và thấy giao diện đăng nhập Việc đăng nhập là tùy thuộc vào quá trình cài đặt mà bạn đã thực hiện.

Hình 4.14 Giao diện đăng nhập Microsoft SQL Sever 2014

44 Để tạo một cơ sở dữ liệu ta ấn chuột phải vào Databases 

Tiếp đến ta đặt tên cho cơ sở dữ liệu như Hình 4.15.

Hình 4.15 Database vừa được tạo

Sau đó ta nhấp chuột vào Database vừa tạo chọn Table 

New table Sau đó đặt tên cột và dữ liệu cho các cột của bảng như Hình 4.16.

Hình 4.16 Tạo mới một bảng trong Database

Sau đó ta đóng cửa sổ được mở trong Database, phần mềm sẽ yêu cầu ta đặt tên cho bảng vừa tạo Tiếp đến ta chọn Table 

Edit Top 200 Rows để thêm dữ liệu cho bảng vừa tạo như Hình 4.17.

Hình 4.17 Thêm dữ liệu cho table

Để kết nối Database với Visual Studio 2015, có nhiều phương pháp khác nhau, trong đó "Linq to SQL" là lựa chọn của nhóm Đầu tiên, bạn cần tạo một Class mới bằng cách nhấp chuột phải vào Project.

Class sẽ được giao diện như Hình 4.18.

Hình 4.18 Tạo một Class mới

LINQ to SQL Classes và đặt tên cho Class vừa tạo Nhấp chuột vào Server Explorer 

Add Connection Tiến hành chọn Server, chọn Database cần kết nối và ấn Test Connection để kiểm tra xem kết nối có

Sau khi hoàn thành các bước, hãy nhấn chọn "Ok" để tạo liên kết Tiếp theo, chuyển đến bảng như trong Hình 4.19.

Hình 4.19 Liên kết bảng với Visual Studio 2015

Sau đó tiến hành nhấp chuột kéo bảng vào vùng trắng Như vậy chúng ta có thể làm việc với bảng đó trên Visual Studio 2015.

4.2.3 Xử lí biển số xe với EmguCV

EmguCV là thư viện xử lý hình ảnh và thị giác máy tính dành cho ngôn ngữ C#, cung cấp các control hữu ích giúp người dùng nhanh chóng thực hiện các tác vụ xử lý hình ảnh theo nhu cầu.

Do chương trình xử lý ảnh có độ dài lớn, nội dung chi tiết không thể trình bày trong đồ án Toàn bộ quá trình thực hiện theo hướng dẫn trong tài liệu tham khảo [7] Quý thầy cô và các bạn có thể tham khảo mã nguồn trong các file đính kèm, trong đó có chú thích rõ ràng về nhiệm vụ của từng hàm Quy trình xử lý được thực hiện qua ba bước chính.

- Tìm và cắt biển số.

- Cắt, nhận dạng và sắp xếp ký tự.

Tạo giao diện Winform như hình 4.20 cho chương trình nhận dạng biển số xe, sử dụng hình ảnh có sẵn để lập trình Trong mô hình thực tế, USB Camera sẽ được sử dụng để nhận dạng biển số xe ô tô.

Hình 4.20 Giao diện Winform xử lí biển số xe

Bắt đầu từ ảnh gốc chụp bằng Camera, chúng tôi thực hiện resize về kích thước 800x600 Sau đó, ảnh được chuyển đổi thành ảnh xám Trong quá trình resize, chúng tôi áp dụng phương pháp “Kim tự tháp” để giảm thiểu sai sót và bảo tồn tối đa các chi tiết trong ảnh.

4.21 là ảnh gốc sau khi resize sẽ thu được Hình 4.22.

Hình 4.21 Ảnh gốc chụp từ Camera

Hình 4.22 Ảnh được resize và biến đổi thành ảnh xám

Sử dụng phương pháp biến đổi hình thái học giúp lọc ra các biên của chi tiết ảnh, làm nổi bật vùng có độ tương phản cao nhất, cụ thể là biển số (Hình 4.23) Tiếp theo, tiến hành nhị phân hóa ảnh để xác định các vùng biên (Hình 4.24).

Hình 4.23 Ảnh được lấy biên

Hình 4.24 Ảnh được nhị phân hóa

Sau khi nhị phân hóa ảnh, quá trình lọc được thực hiện để xác định các vùng khả thi có thể là biển số và loại bỏ các vùng nhiễu Phương pháp lọc sử dụng hình chữ nhật kích thước 8x16 cm trượt qua ảnh nhị phân để tìm kiếm các hình có tỷ lệ điểm đen trắng trong giới hạn nhất định, từ đó xác định khả năng là biển số Để xác định giới hạn điểm ảnh phù hợp, cần thử nghiệm nhiều bức ảnh thực tế và so sánh mức độ điểm ảnh Mặc dù việc lọc nhiễu có thể không đạt độ chính xác cao với các bức ảnh có mức độ nhiễu khác nhau, nhưng đây là rủi ro cần chấp nhận Hình ảnh trước và sau khi lọc nhiễu được minh họa ở Hình 4.25 và 4.26.

Hình 4.25 Ảnh chưa tiến hành lọc nhiễu

Hình 4.26 Ảnh đã tiến hành lọc nhiễu

Khi loại bỏ các phần nhiễu không cần thiết, chúng ta tiến hành làm nhòe những vùng thu được, đặc biệt là các vùng màu trắng còn lại Hình 4.27 và 4.28 minh họa sự khác biệt trước và sau khi thực hiện quá trình làm nhòe.

Hình 4.27 Ảnh trước khi làm nhòe

Hình 4.28 Ảnh sau khi làm nhòe

 Tìm và cắt biển số

Từ các vùng nhòe thu được sau bước “Tiền xử lí”, việc nhận dạng được thực hiện dựa trên các đặc điểm như chiều rộng, chiều cao và tương quan giữa các vùng chữ nhật trắng với toàn bộ ảnh gốc Mục tiêu là xác định chính xác vùng chứa biển số để tiến hành cắt biển số Đầu tiên, cần tìm đường biên của các vùng màu trắng, hay còn gọi là tìm Contour, như thể hiện trong Hình 4.29 và 4.30.

Hình 4.29 Ảnh trước khi tìm Contour

Hình 4.30 Ảnh sau khi tìm Contour

KẾT QUẢ

Mô hình bãi đỗ thực tế

Sau khi hoàn tất quá trình thi công và kết nối các khối, mô hình bãi đỗ xe ô tô của nhóm được chia thành hai phần: mô hình và hộp mạch điều khiển, như thể hiện trong Hình 5.1.

Hình 5.1 Mô hình bãi đỗ thực tế

Các vị trí gửi xe được in số và dán lên từng vị trí như Hình 5.2 để tiện theo dõi quá trình làm việc của hệ thống.

Hình 5.2 Vị trí đỗ xe

Mạch điều khiển thực tế

Mạch điều khiển kết nối thành phần các khối thông qua các dây dẫn và được đặt vào một hộp bằng mica như Hình 5.3.

Hình 5.3 Hộp mạch điều khiển

Các thành phần bên trong hộp mạch điều khiển: module RC522, PIC16F887, USB UART, jack nguồn, module L298N được thể hiện thông qua lần lượt các Hình 5.4, 5.5, 5.6, 5.7, 5.8.

Hình 5.4 Các thành phần bên trong hộp mạch điều khiển

Vì 2 module RC522 là module đọc thẻ từ có thể đọc xuyên mica nên lắp đặt bên trong hộp Bên trái là đầu đọc thẻ gửi xe, bên phải là đầu đọc thẻ trả xe.

Hình 5.5 Hai đầu đọc thẻ RFID vào ra

Hình 5.6 Khối xử lí trung tâm PIC16F887

Hình 5.7 USB UART và Jack nguồn

Giao diện phần mềm

Mọi thao tác điều khiển đều có thể tác động vào giao diện Winform được thiết kế như Hình 5.9.

Hình 5.9 Giao diện phần mềm hệ thống

Trên giao diện Winform có 7 vùng:

- Vùng 1,2 : nhận biển số xe gửi, trả, nhận mã thẻ và xuất vị trí.

- Vùng 4: vùng ảnh chụp được.

- Vùng 5: hiển thị cơ sở dữ liệu.

- Vùng 6: xuất biển số khi xe ra để so sánh với biển số trong cơ sở dữ liệu.

- Vùng 7: vùng điều khiển thao tác trả xe bằng tay.

- Vùng 8, 9: kết nối USB UART.

Hoạt động của mô hình

Do hệ thống luôn hoạt động và di chuyển, việc mô tả chi tiết quá trình hoạt động trở nên khó khăn Dưới đây là một số hình ảnh trực quan để minh họa cho quá trình này.

Khi xe vào, nhân viên quẹt thẻ và giao thẻ cho khách hàng Camera sẽ chụp ảnh và gửi về chương trình trên máy tính, nơi phần mềm xử lý biển số xe và xác định vị trí đỗ gần nhất còn trống, đồng thời lưu thông tin khách hàng vào cơ sở dữ liệu.

Hình 5.10 Giao diện phần mềm khi xe vào

Sau khi hoàn tất quá trình xử lý trên máy tính, dữ liệu sẽ được chuyển đến vi điều khiển để điều khiển việc gửi xe đến vị trí yêu cầu, cụ thể là vị trí 1, như thể hiện trong Hình 5.11.

Hình 5.11 Xe đến vị trí 1

Khi khách hàng trả xe và giao thẻ, nhân viên sẽ quẹt thẻ và thu thẻ lại Hệ thống sau đó sẽ truy xuất thông tin đã được lưu trong cơ sở dữ liệu, bao gồm mã thẻ, vị trí và biển số xe.

Hình 5.12 Giao diện phần mềm khi trả xe

Sau khi xử lý trên máy tính, dữ liệu sẽ được gửi đến vi điều khiển để điều chỉnh quá trình trả xe tại vị trí yêu cầu, cụ thể là vị trí 1, như thể hiện trong Hình 5.13.

Hình 5.13 Xe được mang từ vị trí 1 về vị trí OUT

 Quẹt thẻ sai vị trí đầu đọc thẻ

Trong trường hợp này xảy ra hai tình huống.

- Nếu quẹt thẻ chưa sử dụng vào đầu đọc thẻ ra thì hệ thống sẽ thông báo

“Xe không có trong hệ thống”.

- Nếu quẹt thẻ đã sử dụng vào đầu đọc thẻ vào thì hệ thống sẽ thông báo

“Thẻ đã sử dụng” Giao diện các thông báo như Hình 5.14.

Hình 5.14 Thông báo thẻ đã sử dụng

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết luận

Sau một thời gian thực hiện đề tài nhóm đã thực hiện được mô hình bãi đỗ xe ô tô có thể:

- Tự động nhận dạng biển số xe

- Dùng thẻ RFID để thực hiện quá trình gửi, trả xe.

- Tự động đưa xe vào, ra.

- Do là mô hình nên quá trình hoạt động còn rung.

- Xử lí biển số xe đôi khị bị sai, thiếu ký tự.

Hướng phát triển

Để mô hình có thể phát triển trong tương lai nhóm có một số đề xuất sau:

- Thêm chức năng đặt chỗ trước thông qua tin nhắn SMS hoặc ứng dụng Web, app điện thoại.

- Lắp đặt cảm biển để tính toán thời gian đỗ xe.

- Gửi dữ liệu khách hàng lên giao diện Web để tiện theo dõi cũng như cung cấp thông tin cho phía an ninh khi cần thiết.

Ngày đăng: 25/12/2021, 23:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thanh Hải, “Giáo trình Xử lý ảnh”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2014 Sách, tạp chí
Tiêu đề: Giáo trình Xử lý ảnh
[2] Nguyễn Văn Hiệp, “Công nghệ nhận dạng vô tuyến RFID”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2012 Sách, tạp chí
Tiêu đề: Công nghệ nhận dạng vô tuyến RFID
[3] Nguyễn Đình Phú, “Giáo trình thực hành Vi điều khiển PIC”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2016 Sách, tạp chí
Tiêu đề: Giáo trình thực hành Vi điều khiển PIC
[4] Nguyễn Đình Phú, “Giáo trình vi xử lí Vi điều khiển PIC”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2014 Sách, tạp chí
Tiêu đề: Giáo trình vi xử lí Vi điều khiển PIC
[5] Nguyễn Thanh Bình & Đoàn Như Bảo, “Hệ thống bãi giữ xe thông minh ứng dụng công nghệ IoT và RFID”, Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh, 2017 Sách, tạp chí
Tiêu đề: Hệ thống bãi giữ xe thông minh ứng dụngcông nghệ IoT và RFID
[6] Hà Thu, “Khi châu Á đi tiên phong trong thương mại tự do”, VNExpress mục Quốc tế, 9/3/2018 Sách, tạp chí
Tiêu đề: Khi châu Á đi tiên phong trong thương mại tự do
[7] Nguyễn Anh Hoàng, “Series lập trình OpenCV”, Youtube, 2014 Sách, tạp chí
Tiêu đề: Series lập trình OpenCV
[8] HowKteam, “Chương trình giáo dục là miễn phí”, HowKteam.vn Sách, tạp chí
Tiêu đề: Chương trình giáo dục là miễn phí
[9] O7planning, “Các hướng dẫn cơ sở dữ liệu SQL Sever”, O7planning.org Sách, tạp chí
Tiêu đề: Các hướng dẫn cơ sở dữ liệu SQL Sever

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Phương án bãi đỗ dạng xếp hình - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 2.1. Phương án bãi đỗ dạng xếp hình (Trang 21)
Hình 2.2. Phương án bãi đỗ dạng di chuyển quanh tòa nhà - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 2.2. Phương án bãi đỗ dạng di chuyển quanh tòa nhà (Trang 22)
Hình 2.4. Phương án bãi đỗ dạng hình trụ - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 2.4. Phương án bãi đỗ dạng hình trụ (Trang 23)
Hình 2.5. Giao diện cơ bản của trình biên dịch CCS phiên bản 5.015 - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 2.5. Giao diện cơ bản của trình biên dịch CCS phiên bản 5.015 (Trang 25)
Hình 3.1. Sơ đồ khối của hệ thống - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.1. Sơ đồ khối của hệ thống (Trang 30)
Hình 3.2. Module KIT PIC V1 và PIC16F887 - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.2. Module KIT PIC V1 và PIC16F887 (Trang 32)
Hình 3.4. Các vùng cơ bản của trình biên dịch CCS - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.4. Các vùng cơ bản của trình biên dịch CCS (Trang 36)
Hình 3.5. Mạch nạp PICKit2 PICKit 2 SE Programmer/Debugger - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.5. Mạch nạp PICKit2 PICKit 2 SE Programmer/Debugger (Trang 37)
Hình 3.9. Mạch PIC16F887(1) sau khi thi công - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.9. Mạch PIC16F887(1) sau khi thi công (Trang 39)
Hình 3.10. Động cơ bước JK42HS40 - 1704 và sơ đồ nguyên lí - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.10. Động cơ bước JK42HS40 - 1704 và sơ đồ nguyên lí (Trang 40)
Hình 3.13. Điều khiển động cơ DC giảm tốc - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.13. Điều khiển động cơ DC giảm tốc (Trang 44)
Hình 3.16. Lấy mã thẻ RFID với module RC522 - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 3.16. Lấy mã thẻ RFID với module RC522 (Trang 46)
Hình 4.1. Khung bãi đỗ xe - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 4.1. Khung bãi đỗ xe (Trang 57)
Hình 4.5. Bộ phận xoay lên xuống sử dụng động cơ DC giảm tốc - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 4.5. Bộ phận xoay lên xuống sử dụng động cơ DC giảm tốc (Trang 59)
Hình 4.12. Lắp phần cứng giao tiếp PC với KIT PIC V1 - Thiết kế, thi công mô hình bãi đỗ xe ô tô
Hình 4.12. Lắp phần cứng giao tiếp PC với KIT PIC V1 (Trang 62)

TỪ KHÓA LIÊN QUAN

w