Giới thiệu dự án

Sự bùng nổ đô thị hóa và tốc độ gia tăng phương tiện giao thông cá nhân tại các đô thị lớn như TP. Hồ Chí Minh và Hà Nội đang tạo áp lực gay gắt lên hạ tầng giao thông tĩnh. Theo thống kê từ Sở Giao thông Vận tải, quỹ đất dành cho giao thông tĩnh tại các đô thị trung tâm chỉ đạt dưới 1% (trong khi quy chuẩn yêu cầu 3% – 5%), dẫn đến tình trạng quá tải nghiêm trọng tại các bãi đỗ xe công cộng, gây ùn tắc cục bộ và gia tăng nguy cơ mất an ninh trật tự.

Các bãi giữ xe truyền thống sử dụng vé giấy hoặc thẻ từ thủ công bộc lộ nhiều điểm nghẽn: thời gian gửi/lấy xe kéo dài (trung bình 3 – 5 phút/xe), chiếm dụng diện tích mặt bằng lớn, chi phí nhân sự vận hành cao và rủi ro thất thoát phương tiện do gian lận vé. Đề tài "Nhà Giữ Xe Tự Động" được nghiên cứu và phát triển nhằm giải quyết triệt để bài toán tối ưu hóa không gian lưu trữ phương tiện và tự động hóa toàn diện quy trình kiểm soát xe vào/ra thông qua sự kết hợp giữa điều khiển tự động hóa công nghiệp và phần mềm giám sát thông minh.

                  KIẾN TRÚC TỔNG THỂ HỆ THỐNG GIỮ XE TỰ ĐỘNG
+-----------------------------------------------------------------------------------+
|                              LỚP GIÁM SÁT & QUẢN LÝ                               |
|   +------------------------------------+   +----------------------------------+   |
|   | Windows Forms HMI App (C# .NET)    |   | ASP.NET Web Portal (Management)  |   |
|   | - Nhận dạng biển số (EmguCV/OCR)   |   | - Tra cứu vị trí trống/Lịch sử   |   |
|   | - Điều khiển luồng xe Vào/Ra       |   | - Báo cáo tài chính & Cảnh báo   |   |
|   +-----------------+------------------+   +----------------+-----------------+   |
+---------------------|---------------------------------------|---------------------+
                      | OPC DA Protocol                       | Entity Framework
                      v                                       v
+------------------------------------+       +--------------------------------------+
| OPC Server (KEPServerEX v5.21)     |       | Microsoft SQL Server 2014 Database   |
| Chuyển đổi giao thức truyền thông  |       | Tables: RFID, Slot, History, Alert   |
+-----------------+------------------+       +--------------------------------------+
                  | USB-to-RS422 (9600 bps)
                  v
+-----------------------------------------------------------------------------------+
|                         LỚP ĐIỀU KHIỂN CÔNG NGHIỆP (PLC)                          |
| PLC Mitsubishi FX1N-60MT (36 Digital In / 24 Digital Out Transistor)              |
| - Giải thuật nội suy tọa độ, phát xung tốc độ cao Y0/Y1 (PLSY/PLSR)               |
| - Giám sát an toàn 15 công tắc hành trình (Hardware Interlocking)                |
+--------+--------------------------+------------------------------+----------------+
         | Xung/Chiều (Step/Dir)    | Xung/Chiều (Step/Dir)        | Kích Relay 24V
         v                          v                              v
+------------------+       +------------------+           +------------------+
| Driver TB6560 #1 |       | Driver TB6560 #2 |           | Relay Đảo Chiều  |
+--------+---------+       +--------+---------+           +--------+---------+
         |                          |                              |
         v                          v                              v
+------------------+       +------------------+           +------------------+
| Động Cơ Bước X   |       | Động Cơ Bước Y   |           | Động Cơ DC 24V Z |
| (Trục Ngang Belt)|       | (Trục Dọc Vít Me)|           | (Cơ cấu Đẩy/Kéo) |
+------------------+       +------------------+           +------------------+

Mục tiêu kỹ thuật của đề tài

  1. Thiết kế và chế tạo mô hình cơ khí nhà xe cao tầng: Quy mô 9 vị trí đỗ (3 tầng x 3 cột), sử dụng cơ cấu truyền động vít me và đai răng nhằm tối ưu diện tích xây dựng.
  2. Xây dựng hệ thống điều khiển trung tâm bằng PLC: Ứng dụng PLC Mitsubishi FX1N-60MT để điều khiển chính xác vị trí cơ cấu nâng hạ và di chuyển ngang thông qua phát xung tốc độ cao.
  3. Phát triển thuật toán nhận dạng biển số xe tự động (ALPR): Tích hợp xử lý ảnh thời gian thực bằng thư viện EmguCV và nhận dạng ký tự quang học Tesseract OCR.
  4. Thiết lập giao tiếp SCADA công nghiệp: Đồng bộ hóa dữ liệu phần cứng và phần mềm máy tính thông qua chuẩn OPC DA (KEPServerEX) và thư viện OPCAutomation.dll.
  5. Xây dựng hệ thống quản lý cơ sở dữ liệu và Web Portal: Quản lý tập trung trạng thái vị trí đỗ, dữ liệu thẻ RFID 125kHz, lịch sử giao dịch và thống kê doanh thu qua C# .NET và Microsoft SQL Server.

Phạm vi và giới hạn nghiên cứu

  • Mô hình thực nghiệm: Kích thước 1000 x 500 x 300 mm, gồm 9 vị trí đỗ xe, 15 công tắc hành trình định vị, 2 động cơ bước 2 pha và 1 động cơ giảm tốc DC 24V.
  • Phần mềm: Ứng dụng điều khiển HMI WinForms chạy trên nền .NET Framework; Web Portal quản trị nội bộ chạy trên nền tảng ASP.NET.
  • Nhận dạng: Xử lý biển số xe tiêu chuẩn Việt Nam trong điều kiện ánh sáng kiểm soát tại cổng vào.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí đánh giá Bãi giữ xe truyền thống (Vé giấy) Bãi giữ xe bán tự động (Thẻ từ + Barrier) Hệ thống giữ xe tự động PLC-SCADA (Đề tài)
Mật độ lưu trữ xe/m² Thấp (1 xe / 20 – 25 m²) Trung bình (1 xe / 18 – 20 m²) Rất cao (1 xe / 6 – 8 m², mô hình cao tầng)
Thời gian gửi/lấy xe 2 – 4 phút/lượt (tự tìm chỗ) 1.5 – 3 phút/lượt (tự tìm chỗ) 35 – 45 giây/lượt (tự động 100%)
Mức độ can thiệp con người 100% (bảo vệ ghi vé, thu tiền) 50% (quẹt thẻ, nhân viên trực bốt) < 10% (giám sát hệ thống từ xa)
Độ chính xác xác thực Thấp (dễ làm giả, mất vé) Khá (thẻ RFID) Tuyệt đối (xác thực chéo RFID + Biển số ALPR)
Rủi ro va quẹt trong bãi Cao (người lái tự đỗ) Cao (người lái tự đỗ) 0% (robot vận chuyển cơ cấu tự động)

Phân tích yêu cầu chức năng theo mô hình MoSCoW

  • Must-have (Bắt buộc): Điều khiển phát xung tọa độ X-Y chính xác qua PLC; Đọc UID thẻ RFID 125kHz; Nhận diện biển số và trích xuất chuỗi ký tự; Khóa liên động an toàn (interlocking) bằng công tắc hành trình; Lưu trữ log gửi/lấy xe vào SQL Server.
  • Should-have (Nên có): Giao diện HMI giám sát trạng thái thời gian thực của 9 vị trí đỗ; Tự động tính toán chi phí gửi xe theo block giờ; Website nội bộ theo dõi tình trạng bãi đỗ xe từ xa.
  • Could-have (Có thể có): Chức năng chỉnh sửa biển số thủ công khi nhận diện OCR có độ tin cậy thấp; Biểu đồ thống kê lượng xe vào/ra theo ngày.
  • Won't-have (Chưa triển khai): Ứng dụng di động trên nền tảng Cloud; Hệ thống thanh toán trực tuyến qua cổng QR Code (để ngỏ cho giai đoạn nâng cấp).

Thiết kế hệ thống

graph TD
    subgraph Hardware_Layer [Lớp Thiết Bị Ngoại Vi & Cơ Cấu Chấp Hành]
        RFID[Đầu đọc RFID 125kHz USB]
        CAM[Webcam HD 720p Cổng Vào]
        LS[15x Công Tắc Hành Trình Omron]
        DRV1[Driver Step TB6560 X-Axis]
        DRV2[Driver Step TB6560 Y-Axis]
        RL[Relay Module 24V DC Motor]
    end

    subgraph Control_Layer [Lớp Điều Khiển Thời Gian Thực]
        PLC[PLC Mitsubishi FX1N-60MT]
        PLC -->|Pulse/Dir Y0, Y5| DRV1
        PLC -->|Pulse/Dir Y1, Y7| DRV2
        PLC -->|Digital Out Y11, Y13| RL
        LS -->|Digital In X0-X23 Sourcing| PLC
    end

    subgraph Communication_Layer [Lớp Truyền Thông Công Nghiệp]
        OPC[KEPServerEX v5.21 OPC Server]
        PLC <-->|RS422 to USB 9600-8-N-1| OPC
    end

    subgraph Software_Layer [Lớp Xử Lý & Giám Sát Trung Tâm]
        HMI[WinForms Central Application C#]
        RFID -->|HID Virtual COM| HMI
        CAM -->|Image Stream| HMI
        HMI <-->|OPCAutomation.dll COM Wrapper| OPC
        DB[(Microsoft SQL Server 2014)]
        HMI <-->|Entity Framework 6.0| DB
        WEB[ASP.NET Web Management Portal] <-->|Entity Framework 6.0| DB
    end

Technology Stack và phiên bản cụ thể

  • Bộ điều khiển khả trình (PLC): Mitsubishi FX1N-60MT/ES-A (36 Input 24VDC Sourcing/Sinking, 24 Output Transistor, 8000 Steps RAM).
  • Driver điều khiển động cơ bước: TB6560 Single-Axis Driver (Điện áp 10 – 35VDC, dòng cực đại 3.0A, IC cách ly quang 6N137, cài đặt vi bước 1/1, 1/2, 1/8, 1/16).
  • Môi trường lập trình PLC: MELSOFT GX Works2 v1.560W (Ngôn ngữ Ladder Logic).
  • Giao thức SCADA/OPC: Kepware KEPServerEX v5.21 hỗ trợ Mitsubishi FX Driver qua chuẩn OPC DA 2.05a / 3.0.
  • Thư viện xử lý ảnh: EmguCV v3.1.0 (Wrapper OpenCV cho .NET Framework).
  • Optical Character Recognition Engine: Tesseract-OCR v3.02 tích hợp file data ngôn ngữ tiếng Anh/Việt.
  • Phần mềm máy tính & Web: Microsoft Visual Studio Professional 2015, .NET Framework 4.5.2, C# 6.0, Entity Framework 6.1.3, ASP.NET WebForms.
  • Cơ sở dữ liệu: Microsoft SQL Server 2014 R2 Express Edition.

Thiết kế cấu trúc cơ sở dữ liệu quan hệ (Database Schema)

-- Thiết kế lược đồ dữ liệu hệ thống giữ xe tự động
CREATE TABLE RFID (
    CardUID VARCHAR(20) PRIMARY KEY,
    Status BIT NOT NULL DEFAULT 0, -- 0: Thẻ đang rỗi, 1: Thẻ đang sử dụng
    CustomerType NVARCHAR(50) DEFAULT 'Guest'
);

CREATE TABLE Slot (
    SlotID INT PRIMARY KEY,
    FloorNumber INT NOT NULL,
    ColumnNumber INT NOT NULL,
    IsOccupied BIT NOT NULL DEFAULT 0, -- 0: Trống, 1: Có xe
    CurrentCardUID VARCHAR(20) NULL FOREIGN KEY REFERENCES RFID(CardUID)
);

CREATE TABLE History (
    HistoryID BIGINT IDENTITY(1,1) PRIMARY KEY,
    CardUID VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES RFID(CardUID),
    LicensePlate VARCHAR(15) NOT NULL,
    ImagePath NVARCHAR(255) NOT NULL,
    TimeIn DATETIME NOT NULL,
    TimeOut DATETIME NULL,
    ParkingFee DECIMAL(18,2) DEFAULT 0,
    AssignedSlotID INT NOT NULL FOREIGN KEY REFERENCES Slot(SlotID)
);

CREATE TABLE Alert (
    AlertID BIGINT IDENTITY(1,1) PRIMARY KEY,
    AlertTimestamp DATETIME NOT NULL,
    AlertCode VARCHAR(20) NOT NULL,
    Description NVARCHAR(255) NOT NULL,
    IsResolved BIT DEFAULT 0
);

Phương pháp nghiên cứu và triển khai (Methodology)

Dự án áp dụng mô hình phát triển chữ V (V-Model), kết hợp kỹ thuật kiểm thử bán phần cứng thực (Hardware-In-The-Loop Simulation). Quá trình chế tạo cơ khí và lập trình logic PLC được thực hiện song song với việc xây dựng module xử lý ảnh và cơ sở dữ liệu máy tính.

Giai đoạn (Tuần) Hạng mục công việc (Milestone) Đầu ra kỹ thuật (Deliverables)
Tuần 1 – 3 Khảo sát, tính toán cơ khí, lập sơ đồ nguyên lý điện Bản vẽ CAD mô hình, sơ đồ mạch nguyên lý (Schematic)
Tuần 4 – 6 Lắp ráp phần cứng tủ điện, cân chỉnh cơ cấu vít me Tủ điện điều khiển hoàn thiện với nguồn tổ ong 24V, driver TB6560
Tuần 7 – 9 Lập trình Ladder Logic PLC, kiểm thử xung động cơ Code Ladder trên GX Works2 điều khiển chính xác tọa độ X-Y-Z
Tuần 10 – 12 Xây dựng App WinForms, tích hợp EmguCV & Tesseract Ứng dụng ALPR hoàn chỉnh, đồng bộ OPC KEPServerEX
Tuần 13 – 14 Thiết kế Web Portal, kiểm thử tải và bàn giao toàn hệ thống Báo cáo kỹ thuật, Website quản trị Localhost, nghiệm thu toàn diện

Triển khai thực nghiệm và Kết quả

Quy trình phát triển và thuật toán cốt lõi

Thuật toán điều khiển chuyển động đa trục trên PLC Mitsubishi FX1N

PLC FX1N-60MT sử dụng các lệnh phát xung chuyên dụng để điều khiển vị trí của cơ cấu nâng hạ (Trục Y) và cơ cấu đẩy ngang (Trục X). Lệnh PLSY (Pulse Y) và PLSR (Pulse with Acceleration/Deceleration Ramp) được lập trình để tạo xung với tần số điều chỉnh được nhằm tránh hiện tượng trượt bước (miss-step) của động cơ bước.

// Đoạn logic Ladder điều khiển phát xung cho trục X di chuyển đến Cột 2
// M10: Cờ kích hoạt chu trình đưa xe vào cột 2
// D100: Tần số phát xung (2000 Hz)
// D102: Tổng số xung cần phát (4000 xung tương ứng quãng đường 200mm)
// Y0: Ngõ ra phát xung điều khiển chân CLK của Driver TB6560 #1
// Y5: Ngõ ra điều khiển chiều quay CW/CCW

LD M10
AND NOT X2          // Tiếp điểm thường đóng của công tắc hành trình cột 2
OUT Y5              // Thiết lập chiều quay thuận (CW = High)
PLSY D100 D102 Y0   // Phát xung ra ngõ Y0 với tần số 2kHz, số xung 4000
LD X2               // Khi chạm công tắc hành trình cột 2
RST M10             // Reset cờ lệnh, ngắt phát xung ngay lập tức
SET M20             // Kích hoạt bước tiếp theo: Nâng hạ trục Y

Xử lý ảnh và Nhận dạng biển số xe bằng EmguCV và Tesseract

Module ALPR nhận luồng video trực tiếp từ webcam độ phân giải 720p, chuyển đổi khung hình sang ảnh xám (Grayscale), áp dụng bộ lọc làm mịn Gaussian Blur để khử nhiễu hạt, sau đó thực hiện phép biến đổi hình thái học Sobel để làm nổi bật các cạnh đứng của vùng biển số.

// Đoạn code trích xuất vùng biển số và nhận dạng ký tự quang học (OCR)
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Tesseract;

public string RecognizeLicensePlate(Bitmap inputBitmap)
{
    // Bước 1: Tiền xử lý ảnh xám và cân bằng độ tương phản
    Image<Bgr, byte> srcImage = new Image<Bgr, byte>(inputBitmap);
    Image<Gray, byte> grayImage = srcImage.Convert<Gray, byte>();
    CvInvoke.Normalize(grayImage, grayImage, 0, 255, NormType.MinMax);
    
    // Bước 2: Nhị phân hóa thích nghi (Adaptive Thresholding)
    Image<Gray, byte> binImage = new Image<Gray, byte>(grayImage.Size);
    CvInvoke.AdaptiveThreshold(grayImage, binImage, 255, 
        AdaptiveThresholdType.GaussianC, ThresholdType.BinaryInv, 19, 9);

    // Bước 3: Tìm kiếm các đường bao liên thông (Contours) hình chữ nhật
    VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
    Mat hierarchy = new Mat();
    CvInvoke.FindContours(binImage, contours, hierarchy, RetrType.List, ChainApproxMethod.ChainApproxSimple);

    Rectangle plateRegion = Rectangle.Empty;
    for (int i = 0; i < contours.Size; i++)
    {
        Rectangle rect = CvInvoke.BoundingRectangle(contours[i]);
        double aspectRatio = (double)rect.Width / rect.Height;
        // Biển số xe tiêu chuẩn có tỉ lệ khung hình xấp xỉ 1.2 - 1.6 hoặc 3.0 - 4.5
        if (aspectRatio > 1.2 && aspectRatio < 4.5 && rect.Width > 80 && rect.Height > 25)
        {
            plateRegion = rect;
            break;
        }
    }

    if (plateRegion.IsEmpty) return "UNKNOWN";

    // Bước 4: Cắt vùng ROI và thực thi Tesseract OCR
    Bitmap plateBitmap = inputBitmap.Clone(plateRegion, inputBitmap.PixelFormat);
    using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
    {
        engine.SetVariable("tessedit_char_whitelist", "0123456789ABCDEFGHKLMNPSTUVXYZ-.");
        using (var page = engine.Process(plateBitmap, PageSegMode.SingleLine))
        {
            return page.GetText().Trim().Replace(" ", "").Replace("\n", "");
        }
    }
}

Giao tiếp truyền thông WinForms với PLC qua OPC KEPServerEX

// Quản trị kết nối OPC DA sử dụng thư viện OPCAutomation.dll
using OPCAutomation;

public class OPCManager
{
    private OPCServer kepServer;
    private OPCGroup opcGroup;
    private OPCItem[] opcItems = new OPCItem[10];

    public void ConnectToPLC()
    {
        kepServer = new OPCServer();
        kepServer.Connect("Kepware.KEPServerEX.V5", "");

        opcGroup = kepServer.OPCGroups.Add("ParkingControllerGroup");
        opcGroup.IsSubscribed = true;
        opcGroup.UpdateRate = 100; // Chu kỳ polling 100ms
        opcGroup.DataChange += OpcGroup_DataChange;

        // Đăng ký các Tag địa chỉ bộ nhớ từ PLC FX1N
        opcItems[0] = opcGroup.OPCItems.AddItem("Channel1.Device1.M0_Start", 1);
        opcItems[1] = opcGroup.OPCItems.AddItem("Channel1.Device1.M1_Stop", 2);
        opcItems[2] = opcGroup.OPCItems.AddItem("Channel1.Device1.D200_TargetSlot", 3);
        opcItems[3] = opcGroup.OPCItems.AddItem("Channel1.Device1.M50_CycleComplete", 4);
    }

    public void DispatchVehicleToSlot(int slotIndex)
    {
        // Ghi giá trị ô đỗ mục tiêu vào ô nhớ D200 của PLC
        opcItems[2].Write(slotIndex);
        // Kích hoạt tín hiệu M0 để PLC bắt đầu thực thi chu trình cơ khí
        opcItems[0].Write(true);
    }

    private void OpcGroup_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, 
                                     ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)
    {
        for (int i = 1; i <= NumItems; i++)
        {
            int handle = (int)ClientHandles.GetValue(i);
            if (handle == 4 && (bool)ItemValues.GetValue(i) == true)
            {
                // PLC phản hồi hoàn tất chu trình gửi/lấy xe
                NotifyCycleCompletion();
            }
        }
    }
}

Kiểm thử và Đánh giá hiệu năng thực nghiệm

Kết quả kiểm thử nhận dạng biển số xe (ALPR Benchmarks)

Hệ thống đã trải qua 200 lượt kiểm thử thực tế tại nhiều điều kiện ánh sáng và góc chụp khác nhau:

Điều kiện môi trường Số mẫu thử (Mẫu) Nhận diện đúng 100% Lỗi 1 ký tự (Phụ) Lỗi định vị vùng biển Tỉ lệ chính xác (%)
Độ sáng chuẩn (Phòng Lab) 100 95 4 1 95.0%
Thiếu sáng (< 50 Lux) 50 41 6 3 82.0%
Góc nghiêng 15° – 30° 50 43 5 2 86.0%
Tổng thể đánh giá 200 179 15 6 89.5%

Thời gian thực thi chu trình cơ điện (Motion Timing Benchmarks)

  • Thời gian xử lý phần mềm trung bình: Đọc RFID (0.05s) + ALPR xử lý ảnh (0.42s) + Truy vấn SQL (0.08s) + Lệnh ghi OPC (0.05s) = 0.60 giây.
  • Chu trình gửi xe vào ô đỗ xa nhất (Tầng 3, Cột 3):
    • Xe vào bàn nâng, quét thẻ: 2.0s
    • Cơ cấu Z kéo pallet vào khay chuyển: 6.5s
    • Cơ cấu X-Y tịnh tiến đồng thời đến vị trí (3,3): 22.0s
    • Cơ cấu Z đẩy pallet vào ô đỗ: 6.5s
    • Cơ cấu nâng hạ lùi về vị trí Home (0,0): 10.5s
    • Tổng thời gian chu trình gửi: 47.5 giây (Chu trình ô gần nhất: 24.0 giây).

Đổi mới và Đóng góp kỹ thuật

+-----------------------------------------------------------------------------------+
|                        SO SÁNH CÁC CHỈ SỐ KỸ THUẬT VÀ HIỆU QUẢ                    |
|                                                                                   |
|  Diện tích sử dụng/xe (m2)                                                        |
|  Bãi đỗ truyền thống    [========================================] 25 m2         |
|  Nhà xe tự động PLC     [===========] 7.2 m2 (-71.2% footprint)                   |
|                                                                                   |
|  Thời gian gửi/lấy xe trung bình (giây)                                           |
|  Bãi đỗ truyền thống    [========================================] 180 s          |
|  Nhà xe tự động PLC     [=======] 35.8 s (-80.1% transaction time)                |
|                                                                                   |
|  Rủi ro mất cắp & quẹt xe (%)                                                     |
|  Bãi đỗ truyền thống    [==================] 4.5%                                 |
|  Nhà xe tự động PLC     [0%] (Xác thực chéo 2 lớp RFID + ALPR)                   |
+-----------------------------------------------------------------------------------+

Các đóng góp kỹ thuật nổi bật

  1. Kiến trúc điều khiển phân tầng linh hoạt (Decoupled Industrial SCADA): Tách bạch hoàn toàn giữa tầng điều khiển chuyển động cứng thời gian thực (Hard Real-Time PLC Logic) và tầng tính toán thị giác máy tính nặng (Soft Real-Time Vision & HMI). Mô hình đảm bảo cơ cấu chuyển động không bao giờ bị treo hay giật lắc kể cả khi hệ thống xử lý ảnh gặp lỗi bộ nhớ.
  2. Cơ chế xác thực an ninh kép (Dual-Layer Security Validation): Triệt tiêu hoàn toàn rủi ro tráo biển số hoặc trộm thẻ bằng cách kiểm tra ràng buộc logic quan hệ 1-1 giữa CardUIDLicensePlate từ cơ sở dữ liệu History trước khi cho phép PLC mở chu trình nhả xe.
  3. Thuật toán tối ưu hóa vị trí đỗ (Nearest Available Slot Optimization): Tự động tính toán đường đi ngắn nhất dựa trên ma trận khoảng cách Euclide từ vị trí Home $(0,0)$ tới các ô chứa còn trống:

$$\text{Slot}{\text{opt}} = \arg\min{i \in \text{Slots}_{\text{free}}} \left( \alpha \cdot X_i^2 + \beta \cdot Y_i^2 \right)$$

Trong đó $\alpha, \beta$ là hệ số trọng số thời gian phát xung theo phương ngang và phương đứng.


Ứng dụng thực tế và Triển khai

Kịch bản triển khai thực tế (Real-world Deployment)

Hệ thống được thiết kế theo cấu trúc module hóa (Modular Architecture), cho phép nhân rộng quy mô từ mô hình 9 vị trí đỗ lên các hệ thống tháp đỗ xe tự động dạng thang nâng hình tháp (Tower Parking) hoặc dạng xếp hình (Puzzle Parking) 50 – 500 vị trí đỗ cho:

  • Trung tâm thương mại và tòa nhà văn phòng hạng A tại các quận trung tâm.
  • Bệnh viện tuyến đầu và cơ quan hành chính có mật độ giao dịch cao nhưng quỹ đất mở rộng hạn chế.
  • Khu chung cư cao tầng hiện đại theo tiêu chuẩn Smart Building.

Đánh giá hiệu quả kinh tế & Điểm hoàn vốn (Cost-Benefit & ROI)

Giả định triển khai thực tế một hệ thống nhà đỗ xe tự động 5 tầng quy mô 100 xe ô tô tại Quận 1, TP. Hồ Chí Minh:

  • Tiết kiệm quỹ đất: Giảm diện tích xây dựng từ 2,500 m² (bãi đỗ phẳng truyền thống) xuống còn 450 m² (nhà đỗ xe tự động cao tầng), tiết kiệm xấp xỉ 2,050 m² đất thương phẩm.
  • Tiết kiệm chi phí vận hành (OPEX): Giảm biên chế từ 8 nhân viên bảo vệ/điều phối xuống 2 kỹ thuật viên giám sát, tiết kiệm ước tính 600,000,000 VNĐ/năm chi phí tiền lương.
  • Thời gian hoàn vốn dự tính (Payback Period): Với doanh thu trung bình 25,000 VNĐ/giờ/xe và tỷ lệ lấp đầy đạt 70%, điểm hoàn vốn ước tính đạt sau 3.5 – 4.2 năm vận hành.

Hạn chế và Hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Mô hình thực nghiệm sử dụng chuẩn thẻ RFID 125kHz thụ động (Passive) yêu cầu khoảng cách quẹt thẻ gần (< 10 cm), chưa hỗ trợ thẻ UHF tầm xa để xe không cần dừng hẳn.
  • Động cơ bước sử dụng mạch vòng hở (Open-loop control) điều khiển qua driver TB6560, tiềm ẩn nguy cơ sai lệch tọa độ tích lũy nếu có va chạm cơ học bất thường trong thời gian dài mà không có bộ mã hóa vòng quay (Encoder) phản hồi vị trí.
  • Thuật toán Tesseract OCR truyền thống dễ bị suy giảm độ chính xác khi biển số bị bám bùn đất hoặc ánh sáng mặt trời chiếu trực tiếp gây lóa quang học.

Định hướng nâng cấp tiếp theo

  1. Nâng cấp AI Vision: Thay thế Tesseract OCR bằng mô hình mạng nơ-ron tích chập sâu (Deep Learning) chuyên dụng như YOLOv8 + LPRNet nhằm đạt độ chính xác > 99% ngay cả trong điều kiện thời tiết phức tạp hoặc ban đêm.
  2. Nâng cấp điều khiển vòng kín: Tích hợp động cơ Hybrid Servo (Closed-loop Stepper) hoặc AC Servo Mitsubishi MR-J4 với xung phản hồi Encoder tuyệt đối (Absolute Encoder), giúp loại bỏ hoàn toàn các chu trình Homing cơ học.
  3. Mở rộng giao thức IoT Công nghiệp: Chuyển đổi từ OPC DA sang OPC UA (Unified Architecture) và tích hợp giao thức truyền thông nhẹ MQTT để đẩy dữ liệu bãi đỗ xe trực tiếp lên nền tảng đám mây (AWS/Azure IoT Hub), hỗ trợ ứng dụng Mobile App đặt chỗ trước (Pre-booking) và thanh toán tự động qua Apple Pay / VietQR.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------------+
|                        LỢI ÍCH ĐỊNH LƯỢNG CHO CÁC NHÓM ĐỐI TƯỢNG                  |
|                                                                                   |
|  [Sinh viên & Nghiên cứu sinh]                                                    |
|  - Mã nguồn mẫu tích hợp SCADA, C# WinForms, OPC, và PLC Mitsubishi.             |
|  - Nền tảng thực hành tích hợp hệ thống Cơ điện tử hoàn chỉnh (Mechatronics).      |
|                                                                                   |
|  [Kỹ sư Tự động hóa & Lập trình viên]                                            |
|  - Mẫu kiến trúc kết nối OPCAutomation liên tầng giữa PLC và C# .NET.             |
|  - Phương pháp xử lý lỗi truyền thông công nghiệp và khóa liên động an toàn.      |
|                                                                                   |
|  [Chủ đầu tư & Đơn vị Quản lý Bãi xe]                                             |
|  - Tối ưu 70% diện tích sàn, giảm 75% chi phí nhân sự vận hành.                   |
|  - Kiểm soát tài chính minh bạch 100%, triệt tiêu thất thoát doanh thu.           |
+-----------------------------------------------------------------------------------+

Câu hỏi thường gặp

1. Yêu cầu cấu hình máy tính máy chủ và phần cứng để triển khai hệ thống là gì?

Máy chủ điều khiển trung tâm (HMI/SCADA Server) cần cấu hình tối thiểu: CPU Intel Core i3 thế hệ 4 trở lên, RAM 4GB, cổng USB 2.0/3.0 để kết nối Camera và đầu đọc RFID, 01 cổng giao tiếp nối tiếp RS232/RS422 (hoặc cáp chuyển đổi USB-to-RS422 chipset FTDI chuẩn công nghiệp) để liên kết với PLC FX1N. Hệ điều hành tương thích từ Windows 7 SP1 đến Windows 10/11 Professional (hỗ trợ .NET Framework 4.5.2 và Microsoft SQL Server 2014 trở lên).

2. Giới hạn quy mô mở rộng số lượng tầng và ô đỗ của PLC FX1N-60MT?

PLC Mitsubishi FX1N-60MT hỗ trợ tối đa 60 I/O tích hợp sẵn và có thể mở rộng lên tối đa 128 I/O thông qua các module mở rộng FX2N (ví dụ: FX2N-16EX, FX2N-16EYT). Tuy nhiên, dòng FX1N chỉ tích hợp 2 ngõ ra phát xung tốc độ cao phần cứng (Y0, Y1). Để mở rộng hệ thống lên quy mô hàng trăm ô đỗ với nhiều thang nâng độc lập, giải pháp tối ưu là nâng cấp lên dòng PLC Mitsubishi FX3U/FX5U hoặc dòng PLC Q-Series hỗ trợ Module điều khiển chuyển động chuyên dụng (Motion Positioning Modules như QD75D/QD75P qua mạng SSCNET III).

3. Hệ thống có thể tích hợp với các hệ thống ERP hoặc phần mềm quản lý tòa nhà (BMS) có sẵn không?

Hoàn toàn khả thi. Do hệ thống sử dụng cơ sở dữ liệu quan hệ chuẩn Microsoft SQL Server và tầng giao tiếp OPC KEPServerEX, bất kỳ hệ thống quản lý tòa nhà (BMS) nào hỗ trợ chuẩn giao thức BACnet, Modbus TCP hoặc OPC UA đều có thể trích xuất trực tiếp trạng thái các ô đỗ và thông số kỹ thuật thời gian thực từ bãi đỗ xe mà không cần can thiệp vào mã nguồn gốc của PLC.

4. Chi phí bảo dưỡng và chế độ vận hành dự phòng khi mất điện lưới như thế nào?

Hệ thống cơ cấu cơ khí vít me và ray trượt công nghiệp cần được tra mỡ bôi trơn định kỳ 3 – 6 tháng/lần. Về mặt điện năng, hệ thống cần được trang bị bộ lưu điện Online UPS công suất từ 3 – 5 kVA dành riêng cho tủ PLC, máy chủ và cơ cấu cảm biến, kết hợp với máy phát điện dự phòng tự động chuyển nguồn (ATS) để đảm bảo hoàn thành chu trình di chuyển xe dở dang ngay khi xảy ra sự cố gián đoạn nguồn điện lưới.

5. Tại sao không sử dụng vi điều khiển như Arduino/STM32 mà lại sử dụng PLC công nghiệp?

Trong môi trường bãi đỗ xe thương mại, hệ thống cơ cấu chấp hành công suất lớn sinh ra lượng nhiễu điện từ (EMI) rất mạnh từ cuộn hút relay, biến tần và động cơ bước. Vi điều khiển dân dụng (như ATmega328P hay STM32F103) rất dễ bị treo vi xử lý do xung điện áp đột biến hoặc sụt áp nguồn. PLC công nghiệp Mitsubishi FX1N được thiết kế đạt tiêu chuẩn chống nhiễu nghiêm ngặt (IEC 61131-2), tích hợp mạch bảo vệ quá áp/quá dòng và cách ly quang (Optocoupler) cho toàn bộ I/O, đảm bảo hệ thống vận hành liên tục 24/7/365 với độ tin cậy phần cứng tuyệt đối.


Kết luận

Đồ án tốt nghiệp "Nhà Giữ Xe Tự Động" đã giải quyết trọn vẹn và chuyên sâu bài toán tự động hóa hạ tầng giao thông tĩnh đô thị thông qua việc kết hợp liên ngành giữa Cơ khí chính xác, Điện tử tự động hóa công nghiệp và Công nghệ phần mềm. Hệ thống đã hiện thực hóa thành công một mô hình hoàn chỉnh từ phần cứng cơ điện, mạch lực, tủ điều khiển PLC Mitsubishi FX1N cho đến ứng dụng máy tính giám sát HMI, xử lý ảnh ALPR và Web Portal quản trị dữ liệu.

Kết quả thực nghiệm đã khẳng định tính khả thi, độ ổn định và tiềm năng thương mại hóa mạnh mẽ của giải pháp: rút ngắn thời gian gửi/lấy xe xuống dưới 45 giây, tiết kiệm hơn 70% diện tích mặt bằng so với bãi đỗ truyền thống, đồng thời đảm bảo an toàn tuyệt đối với cơ chế xác thực chéo RFID và biển số xe. Đây là nền tảng kỹ thuật vững chắc sẵn sàng cho các bước chuyển giao công nghệ, mở rộng quy mô công nghiệp phục vụ mục tiêu xây dựng các đô thị thông minh (Smart Cities) hiện đại và bền vững.