Giới thiệu dự án

Sự gia tăng nhanh chóng của các phương tiện giao thông cá nhân, đặc biệt là ô tô tại các đô thị lớn như Hà Nội và TP. Hồ Chí Minh, đang tạo áp lực nặng nề lên hạ tầng giao thông tĩnh. Theo thống kê từ Bộ Giao thông Vận tải và Viện Chiến lược & Phát triển GTVT, diện tích đất dành cho giao thông tĩnh tại các đô thị Việt Nam chỉ đạt dưới 1% tổng diện tích đất xây dựng đô thị (so với tiêu chuẩn quốc tế từ 15% đến 20%). Tốc độ tăng trưởng số lượng ô tô bình quân 10 - 15%/năm dẫn đến tình trạng khan hiếm bãi đỗ xe trầm trọng, gây tắc nghẽn giao thông, lấn chiếm vỉa hè và gia tăng tai nạn.

Phương thức đỗ xe truyền thống (mặt bằng ngang) bộc lộ nhiều điểm nghẽn: diện tích trung bình cho mỗi vị trí đỗ (bao gồm cả đường nội bộ và khoảng lùi) lên đến $25\text{ m}^2 / \text{xe}$, thời gian tìm kiếm vị trí đỗ kéo dài, nguy cơ va quẹt cao và khó khăn trong kiểm soát an ninh tự động.

Đề tài "Nghiên cứu thiết kế bãi đỗ xe tự động sử dụng PLC S7 – 1200" được thực hiện nhằm giải quyết trực tiếp bài toán trên thông qua các mục tiêu cụ thể:

  1. Tính toán động học, động lực học và thiết kế mô hình cơ khí bãi đỗ xe dạng xoay vòng đứng (Vertical Carousel Parking System) sức chứa 8 xe bằng phần mềm SolidWorks 2016.
  2. Thiết kế hệ thống điều khiển trung tâm sử dụng bộ điều khiển logic lập trình được (PLC) Siemens Simatic S7-1200 (CPU 1214C DC/DC/DC).
  3. Xây dựng giải thuật tối ưu hóa chiều quay động cơ theo đường đi ngắn nhất (Shortest-Path Bidirectional Search) giúp giảm thiểu thời gian xuất/nhập xe.
  4. Tích hợp công nghệ nhận dạng tần số vô tuyến (RFID) giao tiếp vi điều khiển Arduino Uno R3 với phần mềm máy tính (C# Windows Forms) và cơ sở dữ liệu Microsoft SQL Server để quản lý phương tiện.
  5. Chế tạo, lắp ráp tủ điều khiển công nghiệp, hoàn thiện mô hình thực nghiệm và kiểm thử hoạt động ổn định.

Giải pháp lựa chọn cơ cấu xoay vòng đứng với hệ truyền động xích đôi mang lại tính khả thi cao nhờ chiếm dụng mặt bằng nhỏ (chỉ tương đương diện tích 2 ô tô tiêu chuẩn nhưng chứa được 8 xe), kết cấu cơ khí đối xứng giúp cân bằng tĩnh và dễ dàng module hóa để nâng cao số lượng tầng chứa.

Phạm vi nghiên cứu tập trung vào mô hình bãi đỗ xe xoay vòng đứng 8 pallet, điều khiển động cơ điện một chiều 24V DC tích hợp hộp giảm tốc, hệ thống cảm biến quang định vị pallet tại vị trí mặt đất (Home position) và quản lý xuất/nhập thẻ từ tự động.


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

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

Các mô hình bãi đỗ xe tự động phổ biến hiện nay bao gồm: bãi đỗ xe dạng xếp hình (Puzzle Parking), bãi đỗ xe dạng tháp đứng (Tower Parking) và bãi đỗ xe xoay vòng đứng (Vertical Carousel).

Tiêu chí Bãi đỗ truyền thống Bãi đỗ xếp hình (Puzzle) Bãi đỗ xoay vòng đứng (Carousel)
Diện tích chiếm dụng Rất lớn ($\approx 25\text{ m}^2/\text{xe}$) Trung bình ($\approx 8 - 12\text{ m}^2/\text{xe}$) Tối ưu nhất ($\approx 4 - 6\text{ m}^2/\text{xe}$)
Độ phức tạp cơ khí Không có Trung bình (cơ cấu nâng/trượt) Tinh gọn (truyền động xích liên tục)
Thời gian lấy xe TB $3 - 5\text{ phút}$ (lái xe tự tìm) $60 - 120\text{ giây}$ $30 - 60\text{ giây}$ (quay 2 chiều)
Chi phí đầu tư/Vị trí Thấp nhất Trung bình Tối ưu trong diện tích hẹp
Khả năng tự động hóa Thấp (quản lý vé thủ công) Trung bình Cao (tích hợp PLC + SCADA/RFID)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have (Bắt buộc): Quay 2 chiều tự động (CW/CCW); Tự dừng chính xác tại vị trí gốc qua cảm biến quang; Khóa liên động (Interlocking) chống kích hoạt đồng thời 2 chiều quay; Nút dừng khẩn cấp (Emergency Stop); Đồng bộ dữ liệu thẻ RFID với SQL Server.
  • Should have (Nên có): Giao diện HMI/WinCC trực quan hóa trạng thái từng pallet; Chế độ điều khiển bằng tay (Manual) phục vụ bảo trì hoặc xử lý mất thẻ.
  • Could have (Có thể mở rộng): Nhận diện biển số xe tự động qua camera ANPR.
  • Won't have (Chưa thực hiện): Tích hợp thanh toán trực tuyến qua cổng ngân hàng.

Thiết kế hệ thống

Kiến trúc hệ thống được chia làm 3 tầng chức năng:

  1. Tầng giám sát & Quản lý (Management Layer): Máy tính trạm chạy ứng dụng C# WinForms, cơ sở dữ liệu Microsoft SQL Server 2019, đầu đọc RFID RC522 kết nối qua Arduino Uno R3 (UART Serial).
  2. Tầng điều khiển trung tâm (Control Layer): Siemens S7-1200 CPU 1214C kết nối máy tính qua chuẩn Profinet (Ethernet TCP/IP), xử lý tín hiệu logic từ cảm biến và điều khiển relay trung gian.
  3. Tầng chấp hành & Cảm biến (Field Layer): Cảm biến quang điện (Photoelectric Sensor NPN), Động cơ DC 24V có hộp giảm tốc, Rơle trung gian 14 chân Omron 24VDC, Cụm 8 Pallet liên kết xích truyền động.
+-------------------------------------------------------------+
|              TẦNG QUẢN LÝ & GIÁM SÁT                        |
|  [C# WinForms Application] <---> [Microsoft SQL Server]     |
|              ^                                              |
|              | Serial UART (USB)                            |
|        [Arduino Uno R3 + Module RFID RC522]                 |
+--------------|----------------------------------------------+
               | Profinet / Ethernet (TCP/IP)
+--------------v----------------------------------------------+
|              TẦNG ĐIỀU KHIỂN TRUNG TÂM                      |
|         [Siemens PLC S7-1200 CPU 1214C]                     |
|           - Module nguồn Siemens PS 1207                    |
|           - TIA Portal V15 Logic Program                    |
+--------------|----------------------------------------------+
               | DI/DO 24VDC
+--------------v----------------------------------------------+
|              TẦNG CƠ CẤU CHẤP HÀNH & CẢM BIẾN               |
|  - Cảm biến quang định vị (Pallet Indexing Sensor)          |
|  - Rơle trung gian 14 chân (Forward / Reverse Interlock)    |
|  - Động cơ DC 24V Giảm tốc -> Bánh răng & Xích đôi -> 8 Pallet |
+-------------------------------------------------------------+

Technology Stack chính:

  • Phần mềm lập trình PLC: Siemens TIA Portal V15 (Totally Integrated Automation).
  • Phần mềm quản lý: Microsoft Visual Studio (C# .NET Framework 4.7.2).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2019.
  • Phần mềm thiết kế cơ khí 3D: SolidWorks 2016 SP4.
  • Vi điều khiển đọc thẻ: Arduino IDE 1.8.19 (C/C++ Wiring).

Lược đồ cơ sở dữ liệu (Database Schema):

  • Bảng tbl_PalletStatus: PalletID (INT, PK), IsOccupied (BIT), CurrentPosition (INT), CardUID (NVARCHAR(50)), LastUpdated (DATETIME).
  • Bảng tbl_Transactions: TransID (INT, IDENTITY, PK), CardUID (NVARCHAR(50)), PalletID (INT), TimeIn (DATETIME), TimeOut (DATETIME), Status (NVARCHAR(20)).

Methodology

Đề tài áp dụng mô hình phát triển chữ V (V-Model Mechatronics), kết hợp song song giữa tính toán cơ khí, lập trình điều khiển và phát triển phần mềm giao diện.

Lộ trình thực hiện trong 8 tuần:

  • Tuần 1 - 2: Khảo sát yêu cầu, tính toán động lực học, thiết kế mô hình 3D trên SolidWorks.
  • Tuần 3 - 4: Gia công khung nhôm định hình, lắp ráp hệ thống bánh răng, xích và 8 pallet.
  • Tuần 5: Đấu nối tủ điện (PLC, Rơle, Nguồn tổ ong 24V, Cảm biến), lập trình PLC trên TIA Portal.
  • Tuần 6: Phát triển ứng dụng C# WinForms, giao thức đọc thẻ RFID và cấu hình SQL Server.
  • Tuần 7: Tích hợp toàn hệ thống, hiệu chỉnh cảm biến, thử nghiệm các kịch bản chịu tải.
  • Tuần 8: Tối ưu hóa thuật toán quay ngắn nhất, hoàn thiện tài liệu kỹ thuật.

Implementation và kết quả

Development process

1. Tính toán cơ học và động học hệ thống

  • Khối lượng khung và cơ cấu: $M = 10\text{ kg}$.
  • Khối lượng mỗi pallet mang tải: $m_p = 0.5\text{ kg}$.
  • Chiều dài chuỗi xích: $L = 1.444\text{ m}$. Bán kính vòng chia bánh xích: $R = 0.075\text{ m}$.
  • Thời gian di chuyển tối đa nửa vòng xích ($S = 0.722\text{ m}$): $T = 3.75\text{ s}$.
  • Chu trình chuyển động hình thang gồm 3 pha: Tăng tốc ($t_1 = 1.25\text{ s}$), Vận tốc ổn định ($t_2 = 1.25\text{ s}$ với $v_{\text{max}} = 0.29\text{ m/s}$), Giảm tốc ($t_3 = 1.25\text{ s}$).
  • Gia tốc tính toán: $$a = \frac{v_{\text{max}}}{t_1} = \frac{0.29}{1.25} = 0.232\text{ m/s}^2$$
  • Trường hợp tải mất cân bằng lớn nhất (4 pallet có tải nằm cùng một phía): $$m_{\text{lech}} = 4 \times 0.5\text{ kg} = 2.0\text{ kg}$$
  • Mô-men xoắn tĩnh lớn nhất tác dụng lên trục: $$T_{\text{load}} = m_{\text{lech}} \cdot g \cdot R = 2.0 \times 9.81 \times 0.075 = 1.4715\text{ N}\cdot\text{m}$$

2. Giải thuật tối ưu hóa vị trí pallet (Shortest-Path Rotation)

Khi có yêu cầu đưa Pallet $X$ về vị trí gốc (Home Position - vị trí số 1), hệ thống xác định khoảng cách quay thuận ($\Delta \text{CW}$) và quay nghịch ($\Delta \text{CCW}$) theo công thức vòng tròn modulo 8:

$$\Delta \text{CW} = (X - \text{CurrentPos} + 8) \pmod 8$$ $$\Delta \text{CCW} = (\text{CurrentPos} - X + 8) \pmod 8$$

  • Nếu $\Delta \text{CW} \le \Delta \text{CCW}$: PLC kích hoạt quay thuận với số bước di chuyển bằng $\Delta \text{CW}$.
  • Nếu $\Delta \text{CW} > \Delta \text{CCW}$: PLC kích hoạt quay nghịch với số bước di chuyển bằng $\Delta \text{CCW}$.

Đoạn mã điều khiển logic được lập trình bằng ngôn ngữ Structured Control Language (SCL) trên TIA Portal V15:

// SCL Algorithm: Optimal Rotary Direction & Step Calculation
REGION Shortest_Path_Calculation
    #Delta_CW := (#Target_Pallet - #Current_Pallet + 8) MOD 8;
    #Delta_CCW := (#Current_Pallet - #Target_Pallet + 8) MOD 8;
    
    IF (#Delta_CW = 0) THEN
        #Motor_CW := FALSE;
        #Motor_CCW := FALSE;
        #Steps_Remaining := 0;
        #System_Ready := TRUE;
    ELSIF (#Delta_CW <= #Delta_CCW) THEN
        #Target_Direction := 1; // Quay Thuan (CW)
        #Steps_Remaining := #Delta_CW;
        #Motor_CW := TRUE;
        #Motor_CCW := FALSE;
    ELSE
        #Target_Direction := 2; // Quay Nghich (CCW)
        #Steps_Remaining := #Delta_CCW;
        #Motor_CW := FALSE;
        #Motor_CCW := TRUE;
    END_IF;
END_REGION

Đoạn mã C# xử lý dữ liệu quẹt thẻ RFID và cập nhật cơ sở dữ liệu:

private void ProcessCardData(string cardUID)
{
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        conn.Open();
        // Kiểm tra xem thẻ đang gửi hay lấy xe
        string checkQuery = "SELECT PalletID FROM tbl_PalletStatus WHERE CardUID = @CardUID";
        SqlCommand cmd = new SqlCommand(checkQuery, conn);
        cmd.Parameters.AddWithValue("@CardUID", cardUID);
        object result = cmd.ExecuteScalar();

        if (result != null) // Xe đang trong bãi -> Kịch bản Lấy xe
        {
            int targetPallet = Convert.ToInt32(result);
            SendPlcCommand(targetPallet, CommandType.RetrieveCar);
            UpdateDatabaseCheckOut(cardUID, targetPallet, conn);
        }
        else // Thẻ mới -> Kịch bản Gửi xe (Tìm pallet trống gần nhất)
        {
            int emptyPallet = FindNearestEmptyPallet(conn);
            if (emptyPallet != -1)
            {
                SendPlcCommand(emptyPallet, CommandType.StoreCar);
                UpdateDatabaseCheckIn(cardUID, emptyPallet, conn);
            }
        }
    }
}

Testing và validation

Hệ thống được tiến hành kiểm thử qua 120 chu trình xuất/nhập xe liên tục với các kịch bản: tải phân bố đều, tải lệch 1 bên (4 xe) và thao tác ngắt nguồn đột ngột để kiểm tra tính an toàn.

Tham số kiểm nghiệm Giá trị thiết kế Giá trị đo kiểm thực tế Đánh giá sai số
Thời gian quay 1 bước ($45^\circ$) $0.937\text{ s}$ $0.98\text{ s}$ $+4.5%$ (Do trễ đóng rơle)
Thời gian xuất xe xa nhất (4 bước) $3.75\text{ s}$ $3.95\text{ s}$ $+5.3%$
Độ chính xác dừng tại vị trí gốc $\pm 1.0\text{ mm}$ $\pm 1.5\text{ mm}$ Đạt yêu cầu cơ khí
Tỷ lệ nhận diện thẻ RFID RC522 $100%$ $99.17%$ ($119/120\text{ lần}$) $1\text{ lần}$ do khoảng cách quẹt $>3\text{ cm}$
Thời gian phản hồi lệnh PLC - PC $< 50\text{ ms}$ $22 - 35\text{ ms}$ Hoàn toàn đáp ứng thời gian thực

Kết quả đạt được

Hệ thống hoàn thành 100% các tính năng đề ra:

  • Cơ cấu cơ khí chuyển động êm ái, khung nhôm định hình và hệ thống xích đôi truyền tải đồng đều, không bị kẹt khi chịu tải lệch lớn nhất.
  • Tủ điều khiển công nghiệp tích hợp PLC S7-1200, rơle, aptomat và nguồn 24V hoạt động cách ly an toàn, có khóa liên động phần cứng chống chập nguồn động cơ.
  • Phần mềm quản lý C# kết nối đồng bộ cơ sở dữ liệu SQL Server, hỗ trợ xử lý sự cố mất thẻ bằng phương thức thủ công đối soát biển số xe.

Đổi mới và đóng góp

  • Thuật toán quay vòng hai chiều tối ưu (Bi-directional Optimization): Thay vì chỉ quay 1 chiều liên tục như các hệ thống băng tải truyền thống, giải thuật tìm đường ngắn nhất giúp giảm trung bình $42.8%$ quãng đường di chuyển và điện năng tiêu thụ của động cơ.
  • Mô hình điều khiển phân tầng linh hoạt: Tách biệt rõ ràng giữa tầng xử lý logic thời gian thực cấp cao (PLC S7-1200) đảm bảo độ tin cậy tuyệt đối, và tầng quản lý dữ liệu người dùng (C#/SQL Server) giúp giao diện thân thiện, dễ mở rộng tính năng.
  • Cơ chế an toàn 3 lớp (Triple Safety Interlocking): Khóa liên động phần mềm trong TIA Portal $\rightarrow$ Khóa chéo tiếp điểm phần cứng trên rơle trung gian $\rightarrow$ Tự động ngắt khẩn cấp khi phát hiện lỗi cảm biến.

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

Tình huống ứng dụng thực tế

  1. Trụ sở cơ quan và tòa nhà văn phòng trung tâm: Tận dụng các khoảng đất hẹp hoặc góc chết công trình để lắp dựng tháp xoay vòng đứng 8 - 16 xe.
  2. Khu dân cư cao tầng và bệnh viện: Giải quyết nhu cầu đỗ xe ngắn hạn cho khách vãng lai với tốc độ lấy xe dưới 60 giây.
  3. Showroom trưng bày ô tô thông minh: Vừa làm bãi đỗ vừa làm tháp kính trưng bày xoay tự động.

Phân tích hiệu quả kinh tế & ROI (Ước tính quy mô thương mại)

  • Chi phí đầu tư bãi ngang 8 xe: Diện tích đất cần $200\text{ m}^2$. Tại khu vực nội thành ($50\text{ triệu VNĐ}/\text{m}^2$), chi phí mặt bằng tương đương 10 tỷ VNĐ.
  • Chi phí lắp đặt hệ thống xoay vòng đứng 8 xe: Chiếm diện tích đất $35\text{ m}^2$ (mặt bằng 1.75 tỷ VNĐ) + Chi phí gia công cơ khí, PLC, động cơ khoảng 850 triệu VNĐ $\rightarrow$ Tổng chi phí: 2.6 tỷ VNĐ.
  • Tiết kiệm: Giảm tới $74%$ vốn đầu tư ban đầu cho quỹ đất, thời gian hoàn vốn (Payback Period) ước tính từ 2.5 đến 3 năm qua nguồn thu phí gửi xe.

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

Hạn chế kỹ thuật

  • Mô hình sử dụng động cơ điện một chiều 24V đóng ngắt qua rơle, chưa tích hợp biến tần (Inverter) để điều khiển trơn tru biên dạng tăng giảm tốc S-curve.
  • Chưa tích hợp camera nhận diện biển số (ANPR) trực tiếp tại cổng vào để tự động hóa hoàn toàn mà không cần quẹt thẻ.
  • Hệ thống xích trên mô hình sau thời gian dài vận hành thử nghiệm có hiện tượng dão nhẹ, cần cơ cấu căng xích chủ động.

Hướng phát triển tiếp theo

  • Nâng cấp biến tần Siemens SINAMICS V20 kết nối qua mạng RS485/Modbus RTU với PLC S7-1200 để điều khiển vị trí chính xác bằng thuật toán điều khiển vị trí vòng kín (Closed-Loop Position Control).
  • Tích hợp xử lý ảnh AI bằng Python/OpenCV để nhận dạng biển số xe và khuôn mặt tài xế.
  • Xây dựng ứng dụng di động (Mobile App) cho phép người dùng đặt chỗ đỗ xe trước qua Internet và thanh toán qua QR Code.

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

  • Sinh viên chuyên ngành Cơ điện tử / Tự động hóa: Tài liệu tham khảo toàn diện về việc tích hợp cơ khí chính xác, lập trình PLC Siemens S7-1200, truyền thông công nghiệp và ứng dụng C# .NET.
  • Kỹ sư và nhà phát triển hệ thống: Kiến trúc mẫu về giải thuật tìm đường ngắn nhất, thiết kế sơ đồ nguyên lý điện chống ngắn mạch và quản lý dữ liệu công nghiệp.
  • Chủ đầu tư và doanh nghiệp quản lý bãi đỗ xe: Cung cấp báo cáo tính khả thi kinh tế, phương án tiết kiệm quỹ đất đô thị và mô hình quản lý thu phí minh bạch, chính xác $100%$.
  • Các nhà nghiên cứu đô thị thông minh: Cung cấp số liệu thực nghiệm về thời gian phục vụ, độ ổn định động học của cơ cấu xoay vòng đứng trong hệ sinh thái Smart City.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu nguồn cấp công nghiệp 3 pha 380V (đối với hệ thực tế tải trọng lớn) hoặc 1 pha 220V qua bộ nguồn 24VDC (với mô hình), nền móng bê tông chịu tải trọng nén $\ge 250\text{ kg/cm}^2$, môi trường lắp đặt có mái che hoặc hệ thống khung vỏ thép bảo vệ chống nước chuẩn IP54 cho thiết bị điện.

2. Giới hạn mở rộng số lượng xe của hệ thống xoay vòng đứng là bao nhiêu?

Hệ thống xoay vòng đứng hoạt động hiệu quả nhất ở quy mô từ 8 đến 16 xe. Nếu vượt quá 16 xe, chiều cao tháp sẽ vượt quá 18m, làm tăng quán tính chuyển động, đòi hỏi công suất động cơ rất lớn và thời gian chờ lấy xe sẽ kéo dài hơn 2.5 phút. Khi đó, giải pháp tháp nâng tự động (Tower Parking) sẽ tối ưu hơn.

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

Hoàn toàn có thể. PLC S7-1200 hỗ trợ các giao thức truyền thông công nghiệp tiêu chuẩn như OPC UA, Modbus TCP/IP và Profinet, cho phép kết nối trực tiếp với hệ thống BMS/SCADA của tòa nhà để giám sát trạng thái bãi đỗ xe tập trung.

4. Quy trình xử lý khi xảy ra sự cố mất điện đột ngột?

Hệ thống cơ khí sử dụng hộp giảm tốc trục vít - bánh vít có tính chất tự hãm (Self-locking), đảm bảo các pallet không bị trượt rơi tự do khi mất điện. Về điện, hệ thống có thể kết nối với máy phát điện dự phòng hoặc sử dụng cơ cấu quay tay phụ trợ (Manual Crank) để đưa xe ở tầng thấp ra ngoài an toàn.

5. Chi phí bảo trì định kỳ của hệ thống bao gồm những gì?

Chi phí bảo trì tương đối thấp so với các bãi đỗ dạng robot phức tạp. Hoạt động định kỳ (3 - 6 tháng/lần) chủ yếu gồm: tra dầu bôi trơn hệ thống xích và ổ bi, kiểm tra độ căng của xích tải, vệ sinh thấu kính cảm biến quang và kiểm tra lực siết các bulông liên kết khung.


Kết luận

Đề tài "Nghiên cứu thiết kế bãi đỗ xe tự động sử dụng PLC S7 – 1200" đã giải quyết thành công bài toán tự động hóa không gian đỗ xe đô thị thông qua việc kết hợp đồng bộ giữa cơ khí chính xác, điều khiển tự động và công nghệ thông tin. Mô hình bãi đỗ xe xoay vòng đứng 8 vị trí hoạt động chính xác, ổn định với thời gian đáp ứng trung bình dưới 4 giây/bước chuyển, thuật toán quay hai chiều tối ưu giúp tiết kiệm năng lượng và giảm hao mòn cơ khí. Kết quả nghiên cứu không chỉ khẳng định tính đúng đắn về mặt lý thuyết động lực học mà còn mở ra tiềm năng ứng dụng thực tiễn cao, đóng góp giải pháp thiết thực cho công tác quy hoạch giao thông tĩnh và xây dựng đô thị thông minh tại Việt Nam.