Giới thiệu dự án

Sự phát triển mạnh mẽ của ngành công nghiệp ô tô toàn cầu cùng xu hướng điện tử hóa đặt ra yêu cầu cấp thiết về đổi mới phương pháp đào tạo và nghiên cứu kỹ thuật ô tô. Trên các dòng xe đô thị cỡ nhỏ (phân khúc A) phổ biến như KIA Morning (trang bị động cơ xăng Hyundai Epsilon G4HG 1.1L SOHC, phun xăng đa điểm MPFI cùng hộp số tự động 4 cấp A4CF0), hệ thống điều khiển truyền động được tích hợp nguyên khối trong hộp Powertrain Control Module (PCM). Hộp PCM thu thập liên tục hàng chục tín hiệu cảm biến với tần số lấy mẫu cao và điều khiển chính xác góc đánh lửa sớm, thời gian mở kim phun cũng như đóng ngắt các van điện từ (solenoid) chuyển số thông qua mạng truyền thông Controller Area Network (CAN).

+-----------------------------------------------------------------------------+
|                                HỆ THỐNG GIẢ LẬP                              |
|  [Biến trở / DAC] ----> Tín hiệu Analog (TPS, MAP, ECT, IAT, TOTS)          |
|  [MCU Mega 2560]  ----> Xung số Hall (CKP, CMP, ISS, OSS)                   |
|         |                                                      |            |
|         v                                                      v            |
|  +--------------------+                                +-----------------+  |
|  |     HỘP PCM KIA    | === Đánh lửa / Phun xăng ====> | Tải giả & LED   |  |
|  |    MORNING G4HG    | === Điều khiển Solenoid =====> | Chỉ thị trạng   |  |
|  +--------------------+                                | thái chấp hành  |  |
|         | [CAN Bus: 500 kbps - ISO 15765-2 / OBD-II]   +-----------------+  |
|         v                                                                   |
|  [Module MCP2515 + Arduino Nano] === UART 115200 bps ===> [LabVIEW GUI]    |
+-----------------------------------------------------------------------------+

Tuy nhiên, việc nghiên cứu thực nghiệm trực tiếp trên động cơ vật lý tại các phòng thí nghiệm gặp nhiều rào cản lớn:

  • Chi phí đầu tư sa bàn động cơ hoàn chỉnh rất cao (dao động từ 150 đến 250 triệu VNĐ/mô hình).
  • Động cơ thực tế phát sinh khí thải độc hại ($CO, HC, NO_x$), tiếng ồn cơ khí lớn, tiêu hao nhiên liệu và tiềm ẩn nguy cơ mất an toàn cháy nổ.
  • Khó khăn trong việc chủ động kích hoạt các trạng thái biên, lỗi cảm biến hoặc chẩn đoán nâng cao mà không làm hỏng linh kiện phần cứng.

Nhằm giải quyết triệt để bài toán trên, đề tài "Nghiên cứu, chế tạo hệ thống giả lập tín hiệu hoạt động cho động cơ KIA Morning" được triển khai với các mục tiêu cụ thể:

  1. Nghiên cứu sơ đồ mạch điện và giải thuật điều khiển của hộp PCM động cơ Epsilon G4HG kết hợp hộp số tự động A4CF0 (thế hệ 2007–2011).
  2. Thiết kế và chế tạo phần cứng phát tín hiệu giả lập đa kênh: xung số Hall cho cảm biến trục khuỷu (CKP), trục cam (CMP), tốc độ trục sơ cấp/thứ cấp hộp số (ISS/OSS), và điện áp tương tự/điện trở tuyến tính cho TPS, MAP, ECT, IAT, TOTS.
  3. Giải mã luồng dữ liệu truyền thông CAN Bus theo chuẩn ISO 15765-2 / On-Board Diagnostics (OBD-II).
  4. Xây dựng phần mềm giám sát, hiển thị trực quan thông số vận hành thời gian thực trên nền tảng LabVIEW qua giao tiếp nối tiếp Universal Asynchronous Receiver/Transmitter (UART).

Phạm vi và giới hạn: Hệ thống tập trung giả lập trạng thái vận hành của động cơ xăng 4 kỳ, 4 xi-lanh thẳng hàng G4HG 1.1L (công suất cực đại 63 HP tại 5.500 vòng/phút, mô-men xoắn cực đại 97 Nm tại 3.000 vòng/phút) và hộp số A4CF0. Hệ thống không can thiệp sâu vào giải thuật điều khiển mô-men xoắn của hệ thống cân bằng điện tử (ESP) hoặc chống bó cứng phanh (ABS).


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

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

Hiện nay, các phương pháp tiếp cận trong nghiên cứu và đào tạo điện tử ô tô bao gồm:

Tiêu chí Mô hình động cơ thật Máy phát xung thương mại (Autel/Launch) Hệ thống giả lập tích hợp (Đề tài)
Chi phí đầu tư Rất cao (> 150 triệu VNĐ) Trung bình (30 – 60 triệu VNĐ) Thấp (< 10 triệu VNĐ)
Tính an toàn & Môi trường Khí thải, tiếng ồn, nguy cơ bỏng/cháy An toàn điện tử Tuyệt đối an toàn, không phát thải
Khả năng phản hồi khép kín Hoàn chỉnh theo tải cơ học Một chiều (chỉ phát xung, không nhận CAN) Khép kín: Phát tín hiệu $\rightarrow$ Nhận phản hồi PCM $\rightarrow$ Quét OBD-II
Tính linh hoạt giao diện Đồng hồ cơ/Taplo xe Màn hình LCD cố định của máy Giao diện SCADA LabVIEW tùy biến sâu

Yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have: Giả lập đồng bộ cặp xung CKP - CMP kiểu Hall (5V logic); giả lập dải điện áp $0 - 5\text{V}$ cho TPS và MAP; thay đổi điện trở cho cảm biến nhiệt điện trở âm (NTC) gồm ECT, IAT; xuất tín hiệu phun xăng, đánh lửa và đóng mở 6 van solenoid hộp số.
  • Should have: Đọc và giải mã dữ liệu Diagnostic Trouble Codes (DTC) và Parameter IDs (PID) chuẩn từ mạng CAN Bus với tốc độ 500 kbps; truyền dữ liệu lên PC qua chuẩn UART baudrate 115200 bps.
  • Could have: Mô phỏng tính toán động học tốc độ xe dựa trên tỷ số truyền hộp số ($i_1 = 2.846$ đến $i_4 = 0.480$, tỷ số truyền lực cuối $i_{final} = 4.587$) và bán kính bánh xe $R_{dyn}$.
  • Won't have: Giả lập tín hiệu cảm biến kích nổ (Knock sensor) dạng áp điện dải tần số cao ($> 5\text{kHz}$).

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm 4 phân hệ chính:

  1. Khối phát xung số (Digital Pulse Engine): Sử dụng vi điều khiển ATmega2560 (16 MHz) điều khiển các chân ngắt timer để phát đồng bộ xung CKP (60-2 răng hoặc dạng xung 4 răng chuẩn động cơ G4HG) và CMP với độ chính xác chu kỳ microsecond ($\mu\text{s}$).
  2. Khối giả lập tín hiệu tương tự (Analog Generation): Mạng phân áp điện trở than tuyến tính và mạch cầu phân áp điện trở bù nhiệt, cung cấp điện áp $0.5 - 4.5\text{V}$ cho TPS, $1.0 - 4.2\text{V}$ cho MAP, và dải trở kháng $200,\Omega - 10,\text{k}\Omega$ cho các cảm biến nhiệt độ NTC (ECT, IAT, TOTS).
  3. Khối giải mã CAN/OBD-II: Sử dụng Arduino Nano kết hợp vi mạch điều khiển CAN độc lập MCP2515 (thạch anh 8 MHz) và bộ thu phát TJA1050 kết nối trực tiếp vào chân CAN_H và CAN_L của giắc chẩn đoán OBD-II (J1962). Điện trở đầu cuối $120,\Omega$ được tích hợp ở hai đầu bus theo chuẩn ISO 11898.
  4. Giao diện người dùng (HMI/SCADA): Ứng dụng LabVIEW 2020 SP1 giao tiếp qua VISA Configure Serial Port, xử lý chuỗi phân tách ký tự (String Parsing) để hiển thị thông số vòng tua máy (RPM), tốc độ xe (VSS), áp suất khí nạp (MAP), vị trí bướm ga (TPS), nhiệt độ nước làm mát (ECT).
                      +-----------------------------+
                      |   HMI LabVIEW (Máy tính)    |
                      +-----------------------------+
                                     ^
                                     | UART (115200 bps)
                                     v
                      +-----------------------------+
                      | Arduino Nano + MCP2515 CAN  |
                      +-----------------------------+
                                     ^
                                     | CAN_H / CAN_L (500 kbps)
                                     v
+-------------------+ +-----------------------------+ +---------------------+
| Khối Giả Lập      | | Hộp Điều Khiển Động Cơ      | | Khối Chấp Hành      |
| ATmega2560        | | PCM KIA Morning             | | Tải Giả & Chỉ Thị   |
| - CKP/CMP (Hall)  |===> [Chân Tín Hiệu Đầu Vào]  | | - 4 Kim Phun        |
| - TPS/MAP (0-5V)  | | - Xử lý thuật toán phun/đánh|===> - 2 Bô-bin Đôi    |
| - ECT/IAT (NTC)   | | - Điều khiển 6 Solenoid AT  | | - 6 Solenoid A4CF0  |
+-------------------+ +-----------------------------+ +---------------------+

Phương pháp nghiên cứu và quản lý dự án

Dự án áp dụng mô hình phát triển Agile đan xen quy trình kiểm thử chữ V (V-Model):

  • Giai đoạn 1 (Tuần 1–3): Thu thập tài liệu kỹ thuật sửa chữa (Service Manual) KIA Morning 2008, phân tích sơ đồ chân PCM 121 chân (Kefico/Bosch M7.9.8), đo đạc dạng sóng thực tế trên xe mẫu bằng máy hiện sóng oscilloscope Rigol DS1054Z.
  • Giai đoạn 2 (Tuần 4–7): Thiết kế mạch in (PCB) trên Altium Designer; lập trình giải thuật tạo xung vi điều khiển; thi công khung vỏ kim loại tĩnh điện và lắp ráp nguồn công nghiệp $12\text{V}-10\text{A}$.
  • Giai đoạn 3 (Tuần 8–10): Lập trình giải mã giao thức CAN Bus ISO 15765-2 / Service 01 PID; thiết kế giao diện LabVIEW kết nối VISA; kiểm thử khép kín tín hiệu.
  • Giai đoạn 4 (Tuần 11–12): Hiệu chỉnh tham số, đánh giá độ ổn định tải và nghiệm thu đề tài.

Implementation và kết quả

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

Thuật toán phát xung CKP/CMP trên ATmega2560

Tín hiệu CKP và CMP trên động cơ G4HG sử dụng cảm biến Hall xuất xung vuông mức logic $0 - 5\text{V}$. Tần số xung CKP tỉ lệ thuận với tốc độ động cơ theo công thức:

$$f_{CKP} = \frac{N \times n}{60} \quad (\text{Hz})$$

Trong đó: $N$ là số răng xung trên một vòng quay trục khuỷu ($N = 60-2$ hoặc $N = 4$ tùy biên dạng đĩa xung của dòng Epsilon), $n$ là tốc độ động cơ (RPM).

Đoạn mã C++ dưới đây trích xuất từ vi điều khiển Arduino Mega2560 để đồng bộ xung CKP và CMP:

#include <Arduino.h>

const uint8_t PIN_CKP = 9;
const uint8_t PIN_CMP = 10;
volatile uint16_t engine_rpm = 800; // Tốc độ cầm chừng mặc định
volatile uint32_t half_period_us = 0;

void calculate_timing(uint16_t rpm) {
    if (rpm < 500) rpm = 500;
    if (rpm > 6500) rpm = 6500;
    // Chu kỳ cho mỗi răng xung (đĩa 60-2 răng, 1 răng = 6 độ góc quay trục khuỷu)
    half_period_us = (60000000UL / (rpm * 60)) / 2;
}

void generate_sync_pulses() {
    static uint8_t tooth_counter = 0;
    for (tooth_counter = 0; tooth_counter < 60; tooth_counter++) {
        if (tooth_counter < 58) { // 58 răng tích cực
            digitalWrite(PIN_CKP, HIGH);
            delayMicroseconds(half_period_us);
            digitalWrite(PIN_CKP, LOW);
            delayMicroseconds(half_period_us);
        } else { // 2 răng khuyết (Missing Teeth Gap) để định vị điểm chết trên (TDC)
            digitalWrite(PIN_CKP, LOW);
            delayMicroseconds(half_period_us * 2);
        }
        
        // Đồng bộ trục cam (CMP) quay với tốc độ bằng 1/2 trục khuỷu
        if (tooth_counter == 0) {
            digitalWrite(PIN_CMP, HIGH);
        } else if (tooth_counter == 30) {
            digitalWrite(PIN_CMP, LOW);
        }
    }
}

void setup() {
    pinMode(PIN_CKP, OUTPUT);
    pinMode(PIN_CMP, OUTPUT);
    calculate_timing(engine_rpm);
}

void loop() {
    // Đọc giá trị biến trở bàn đạp ga để thay đổi RPM tương ứng
    uint16_t sensor_val = analogRead(A0);
    engine_rpm = map(sensor_val, 0, 1023, 750, 5500);
    calculate_timing(engine_rpm);
    generate_sync_pulses();
}

Thuật toán truy vấn và giải mã OBD-II CAN Bus

Vi điều khiển phụ trách CAN gửi yêu cầu Diagnostic Request ID 0x7DF (Broadcast Functional Request) với Service 01 (Current Powertrain Diagnostic Data) và nhận phản hồi từ PCM tại ID 0x7E8.

#include <SPI.h>
#include <mcp_can.h>

const int SPI_CS_PIN = 10;
MCP_CAN CAN(SPI_CS_PIN);

void send_pid_request(uint8_t pid) {
    // Cấu trúc khung truyền 8-byte OBD-II theo ISO 15765-2
    // Byte 0: Số byte dữ liệu bổ sung (0x02)
    // Byte 1: Service Mode (0x01)
    // Byte 2: Parameter ID (PID)
    unsigned char request_frame[8] = {0x02, 0x01, pid, 0x55, 0x55, 0x55, 0x55, 0x55};
    CAN.sendMsgBuf(0x7DF, 0, 8, request_frame);
}

void process_can_response() {
    long unsigned int rx_id;
    unsigned char len = 0;
    unsigned char rx_buf[8];

    if (CAN_MSGAVAIL == CAN.checkReceive()) {
        CAN.readMsgBuf(&rx_id, &len, rx_buf);
        if (rx_id == 0x7E8 && rx_buf[1] == 0x41) { // 0x41: Phản hồi hợp lệ của Service 01
            uint8_t pid = rx_buf[2];
            switch (pid) {
                case 0x0C: { // Engine RPM: Formula = ((A*256) + B) / 4
                    float rpm = ((rx_buf[3] * 256.0) + rx_buf[4]) / 4.0;
                    Serial.print("RPM:"); Serial.println(rpm);
                    break;
                }
                case 0x0D: { // Vehicle Speed: Formula = A (km/h)
                    uint8_t speed = rx_buf[3];
                    Serial.print("VSS:"); Serial.println(speed);
                    break;
                }
                case 0x05: { // Engine Coolant Temp: Formula = A - 40 (°C)
                    int temp = rx_buf[3] - 40;
                    Serial.print("ECT:"); Serial.println(temp);
                    break;
                }
                case 0x11: { // Throttle Position: Formula = (A * 100) / 255 (%)
                    float tps = (rx_buf[3] * 100.0) / 255.0;
                    Serial.print("TPS:"); Serial.println(tps);
                    break;
                }
            }
        }
    }
}

Kiểm nghiệm và đo lường

Quá trình đo kiểm thực nghiệm hệ thống tại xưởng Cơ điện tử Ô tô mang lại các kết quả định lượng:

  1. Kiểm tra tín hiệu đầu ra của PCM:
    • Thời gian phun xăng (Injection Duration): Tại tốc độ cầm chừng giả lập $800,\text{RPM}$, điện áp TPS $0.6,\text{V}$, thời gian mở kim phun đo được là $2.84,\text{ms}$. Khi tăng tải (giả lập MAP lên $3.8,\text{V}$, TPS lên $3.5,\text{V}$), thời gian phun mở rộng tuyến tính lên $11.62,\text{ms}$.
    • Góc đánh lửa sớm: PCM kích hoạt bô-bin đôi đánh lửa với góc sớm biến thiên từ $6^\circ,\text{BTDC}$ (cầm chừng) lên đến $32^\circ,\text{BTDC}$ ở dải tốc độ $3.200,\text{RPM}$.
    • Hộp số tự động A4CF0: Khi thay đổi tín hiệu VSS và TPS, hộp PCM lần lượt đóng/ngắt các cặp van điện từ (Solenoid A, B, C, D) đúng theo bảng trạng thái chuyển số $1 \rightarrow 2 \rightarrow 3 \rightarrow 4$.
[Dạng sóng Oscilloscope kiểm tra đồng bộ xung CKP và CMP tại 1200 RPM]
CKP (Ch1 - 5V/Div):  |_||_||_||_||_||_||_||_|____|_||_||_||_||_||_||_||_|____ (60-2 răng)
CMP (Ch2 - 5V/Div):  |____________________|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|_________ (Đồng bộ kỳ nén Xy lanh 1)
INJ1 (Ch3 - 12V/Div): ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|_|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ (Thời gian mở 3.12 ms)
IGN1 (Ch4 - 5V/Div):  __________________|^|_______________________________ (Góc đánh lửa 8° BTDC)
  1. Độ ổn định bus CAN và truyền thông LabVIEW:
    • Tốc độ truyền CAN Bus: Đạt chuẩn $500,\text{kbps}$, tỷ lệ lỗi khung truyền (Bus Error Rate) đạt $0.00%$, không xuất hiện khung lỗi Error Frame trong 4 giờ chạy liên tục.
    • Thời gian đáp ứng vòng quét PID: Đạt dưới $12,\text{ms}$ cho mỗi chu kỳ truy vấn thông số, đảm bảo hiển thị mượt mà trên giao diện LabVIEW HMI với tần số làm tươi $30,\text{Hz}$.

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

  1. Kiến trúc phần cứng phân tán kết hợp (Distributed Modular Architecture): Tách biệt khối tạo xung thời gian thực (ATmega2560) và khối giải mã truyền thông mạng CAN (Arduino Nano + MCP2515), ngăn chặn triệt để hiện tượng trễ chu kỳ xung (jitter) khi vi điều khiển phải xử lý đồng thời các ngắt truyền thông nặng.
  2. Thuật toán tính toán tốc độ xe động học (Dynamic Speed Synthesis): Tích hợp công thức liên kết tỷ số truyền cơ khí của hộp số A4CF0 với bán kính lăn động lực học của lốp xe $165/65\text{R}14$:

$$v = \frac{2\pi \times R_{dyn} \times n_{engine} \times 60}{1000 \times i_k \times i_{final}} \quad (\text{km/h})$$

Điều này cho phép tín hiệu xung tốc độ xe VSS giả lập biến thiên mượt mà theo đúng cấp số thực tế mà PCM đang điều khiển. 3. Hiệu quả kinh tế và tính mở: Giảm $93%$ chi phí so với việc nhập khẩu các bộ kit chẩn đoán chuyên dụng từ nước ngoài (như Lucas-Nülle hay De Lorenzo), đồng thời cho phép người dùng can thiệp trực tiếp vào mã nguồn C++ và sơ đồ chân để tùy biến cho các dòng xe khác sử dụng chuẩn CAN tương đương.


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

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

  • Đào tạo kỹ thuật viên chẩn đoán: Giảng dạy nguyên lý hoạt động của hệ thống phun xăng điện tử MPFI, hệ thống đánh lửa trực tiếp DLI, hộp số tự động điều khiển điện tử và mạng truyền thông CAN trên ô tô.
  • Nghiên cứu phát triển thiết bị phụ trợ (Aftermarket ECU/Telematics): Thử nghiệm các thiết bị định vị GPS/hộp đen Fleet Management lấy dữ liệu qua cổng OBD-II mà không cần đấu nối trên xe thật.
  • Hiệu chuẩn và sửa chữa hộp PCM: Hỗ trợ các xưởng sửa chữa ECU kiểm tra nhanh tình trạng sống/chết của các tầng công suất (MOSFET đánh lửa, IC điều khiển kim phun, mạch giải mã tín hiệu Hall) trước khi lắp lên xe của khách hàng.

Hướng dẫn đấu nối và quy trình vận hành

  1. Cấp nguồn điện áp $12\text{V} - 10\text{A}$ từ nguồn tổ ong vào hệ thống domino phân phối nguồn (cực dương qua cầu chì $10\text{A}$, cực âm chung Mass sườn).
  2. Kết nối giắc 121 chân vào hộp PCM KIA Morning.
  3. Cắm cáp USB nối cổng COM của module Nano vào máy tính, khởi động phần mềm LabVIEW và chọn đúng cổng COM với Baudrate 115200.
  4. Bật công tắc nguồn tổng, xoay biến trở điều chỉnh dải tốc độ động cơ và quan sát đèn LED chỉ thị kim phun, bô-bin đánh lửa cùng các đồng hồ trên giao diện LabVIEW.
+-------------------------------------------------------------------------+
|                  BẢNG PHÂN TÍCH HIỆU QUẢ KINH TẾ (ROI)                  |
+------------------------------------+------------------+-----------------+
| Hạng mục chi phí                   | Mua mô hình hãng | Tự chế tạo      |
+------------------------------------+------------------+-----------------+
| Phần cứng (Hộp PCM, Cảm biến, Khung)| 180.000.000 VNĐ  | 5.800.000 VNĐ   |
| Module VĐK, CAN, Mạch công suất    | Đã tích hợp      | 1.450.000 VNĐ   |
| Bản quyền phần mềm HMI             | 25.000.000 VNĐ   | 0 VNĐ (LabVIEW) |
| Chi phí nhiên liệu vận hành/năm    | 12.000.000 VNĐ   | 0 VNĐ           |
+------------------------------------+------------------+-----------------+
| TỔNG CHI PHÍ                       | 217.000.000 VNĐ  | 7.250.000 VNĐ   |
| TIẾT KIỆM & THỜI GIAN HOÀN VỐN     | ROI > 18 tháng   | Điểm hòa vốn: 0 |
+------------------------------------+------------------+-----------------+

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

Hạn chế kỹ thuật

  • Chưa tích hợp cảm biến oxy (Oxygen Sensor) dạng nung nóng có phản hồi tín hiệu hẹp ($0.1 - 0.9,\text{V}$) để hộp PCM kích hoạt thuật toán hiệu chỉnh nhiên liệu vòng kín (Closed-loop Fuel Trim - Short/Long Term Fuel Trim).
  • Công tắc chọn vị trí số (Inhibitor Switch) vẫn phải gạt thủ công bằng công tắc cơ học, chưa được tự động hóa qua phần mềm.

Hướng nghiên cứu mở rộng

  • Nâng cấp vi điều khiển lên dòng vi xử lý 32-bit hiệu năng cao (như STM32F407 hoặc ESP32) chạy hệ điều hành thời gian thực (FreeRTOS) để tích hợp giao thức CAN-FD và chẩn đoán nâng cao UDS (Unified Diagnostic Services - ISO 14229).
  • Tích hợp thêm module tạo lỗi chủ động (Fault Injection Module) để ngắt mạch hoặc chập mass từng cảm biến thông qua rơ-le bán dẫn, phục vụ công tác thi sát hạch tay nghề chẩn đoán lỗi trên ô tô.

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

  • Sinh viên ngành Kỹ thuật Ô tô & Cơ điện tử: Tiếp cận trực quan hệ thống tín hiệu xung, sơ đồ chân ECU, hiểu sâu cơ chế mạng giao tiếp CAN Bus và phương pháp xử lý dữ liệu chuẩn đoán OBD-II.
  • Giảng viên và Cơ sở đào tạo nghề: Sở hữu thiết bị thực hành trực quan, an toàn tuyệt đối trong phòng lab máy lạnh, giảm $95%$ chi phí vận hành và bảo dưỡng so với mô hình động cơ đốt trong.
  • Kỹ sư phát triển phần mềm nhúng ô tô (Automotive Embedded Engineers): Nắm bắt mô hình kiểm thử Hardware-in-the-Loop (HIL) cơ bản, rèn luyện kỹ năng kết hợp giữa lập trình vi điều khiển C/C++ và công cụ đo lường công nghiệp LabVIEW.

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

1. Yêu cầu phần cứng tối thiểu để triển khai và chạy hệ thống là gì?

Hệ thống yêu cầu nguồn cấp một chiều $12\text{V} - 10\text{A}$ ổn định, hộp PCM KIA Morning (mã Kefico/Bosch tương thích động cơ G4HG), 01 board Arduino Mega2560, 01 board Arduino Nano, 01 module MCP2515 CAN Bus, và máy tính cá nhân chạy Windows 10/11 có cài đặt NI LabVIEW Runtime Engine cùng NI-VISA Driver.

2. Độ trễ và giới hạn mở rộng của hệ thống khi mô phỏng tốc độ cao?

Hệ thống tạo xung bằng ngắt phần cứng Timer trên vi điều khiển 16 MHz, đảm bảo tính ổn định của chu kỳ xung vuông lên tới $6.500,\text{RPM}$ với sai số chu kỳ thời gian dưới $1.5%$. Bus CAN vận hành ở tốc độ $500,\text{kbps}$ với chu kỳ làm mới dữ liệu $< 15,\text{ms}$, hoàn toàn đáp ứng các tiêu chuẩn hiển thị thời gian thực.

3. Hệ thống có thể tích hợp với các dòng ECU của các hãng xe khác không?

Có. Nhờ thiết kế phần cứng theo dạng khối mô-đun hóa, người dùng chỉ cần cập nhật lại sơ đồ cấu hình chân xuất xung (Pinout Mapping) và nạp lại thuật toán phân bố răng xung CKP/CMP (ví dụ: $60-2$ răng của Bosch, $36-1$ răng của Ford, hoặc $36-2-2-2$ răng của Toyota) trên mã nguồn Arduino Mega2560.

4. Chi phí bảo dưỡng và độ bền phần cứng của mô hình ra sao?

Do sử dụng hoàn toàn các linh kiện bán dẫn tĩnh và tải giả điện trở/LED thay thế cho kim phun và bô-bin cơ học, hệ thống không bị hao mòn cơ khí, không sinh nhiệt độ cao, có tuổi thọ vận hành trên 5 năm mà không yêu cầu bảo dưỡng định kỳ ngoài việc vệ sinh bụi bẩn bề mặt.

5. Tại sao không sử dụng trực tiếp máy tính để phát xung mà phải qua vi điều khiển?

Hệ điều hành máy tính (Windows/Linux) là hệ điều hành đa nhiệm không thời gian thực (Non-Realtime OS), độ trễ ngắt phân phối luồng (Thread Scheduling Jitter) dao động từ $1 - 10,\text{ms}$, không thể đảm bảo độ chính xác mức microsecond ($\mu\text{s}$) cần thiết cho việc tạo xung vị trí trục khuỷu tốc độ cao. Do đó, vi điều khiển chuyên dụng là bắt buộc.


Kết luận

Đề tài "Nghiên cứu, chế tạo hệ thống giả lập tín hiệu hoạt động cho động cơ KIA Morning" đã giải quyết toàn diện bài toán mô phỏng tín hiệu điều khiển động cơ và hộp số tự động trên nền tảng phần cứng nhỏ gọn, chi phí tối ưu. Việc kết hợp thành công giữa vi điều khiển ATmega, chuẩn truyền thông công nghiệp CAN Bus ISO 15765-2 và giao diện SCADA LabVIEW đã khẳng định tính ứng dụng cao của mô hình trong công tác đào tạo và nghiên cứu kỹ thuật ô tô hiện đại. Đây là bước đệm vững chắc cho các nghiên cứu chuyên sâu tiếp theo về kiểm thử phần mềm điều khiển ô tô (HIL Testing) và phát triển các hệ thống chẩn đoán thông minh trong tương lai.