Giới thiệu dự án

Sự bùng nổ của cuộc cách mạng công nghiệp 4.0 và công nghệ tự động hóa đã đưa thiết bị bay không người lái (UAV - Unmanned Aerial Vehicle), đặc biệt là dòng máy bay trực thăng bốn cánh quạt (Quadcopter/Quadrotor), trở thành tâm điểm nghiên cứu ứng dụng trên toàn cầu. Theo các thống kê công nghiệp hàng không thương mại, thị trường UAV dân sự và thu thập dữ liệu không ảnh đạt tốc độ tăng trưởng kép hàng năm (CAGR) vượt mức 25% trong thập kỷ qua. Tuy nhiên, việc tiếp cận các hệ thống Drone công nghiệp chuyên dụng thường gặp rào cản rất lớn về mặt chi phí bản quyền, độ phức tạp cơ khí của trực thăng truyền thống (Single-Rotor Helicopter) và sự phụ thuộc vào các module điều khiển đóng kín (black-box).

Nhóm tác giả Nguyễn Hiếu Nghĩa và Nguyễn Trung Tuấn, dưới sự hướng dẫn khoa học của ThS. Nguyễn Thanh Bình tại Viện Kỹ thuật HUTECH (Đại học Công nghệ TP. Hồ Chí Minh), đã triển khai đề tài: "Nghiên cứu, thiết kế và chế tạo mô hình máy bay bốn cánh quạt (Quadrotor) tích hợp hệ thống thu thập không ảnh".

                           +------------------------+
                           |  Trạm điều khiển mặt đất |
                           |  (RadioLink AT10 Tx)   |
                           +-----------+------------+
                                       | Sóng RF 2.4GHz DSSS
                                       v
                           +------------------------+
                           |  Mạch thu sóng R6D II  |
                           |  (PPM / PWM Output)    |
                           +-----------+------------+
                                       | Tín hiệu điều khiển (4-10 Ch)
                                       v
+------------------+       +------------------------+       +---------------------+
| Cảm biến Gyro    | I2C   | Khối xử lý trung tâm   | PWM   | 4x Bộ điều tốc ESC  |
| 3 trục L3G4200D  +------>| Arduino Uno R3         +------>| Emax BLHeli 30A     |
| (16-bit, 2000dps)|       | (ATmega328P - 16MHz)   |       +----------+----------+
+------------------+       +------------------------+                  | 3-Phase AC
                                       |                               v
+------------------+                   | Camera Wifi        +---------------------+
| Pin Nguồn LiPo   +-------------------+ Full HD 1080p      | 4x Motor Brushless  |
| 3S-4S (11.1-14.8V|                   | (SJCAM SJ4000)     | Emax RS2205 2300KV  |
+------------------+                                        +---------------------+

Vấn đề thực tiễn và bài toán kỹ thuật (Problem Statement)

Các hệ thống trực thăng truyền thống đòi hỏi cụm cơ khí Swashplate cực kỳ phức tạp để thay đổi góc tấn cánh quạt chính và cánh quạt đuôi triệt tiêu mô-men xoắn, dẫn đến chi phí bảo dưỡng cao và dễ hỏng hóc khi va chạm. Ngược lại, máy bay Quadcopter giải quyết triệt để vấn đề cơ khí bằng cách sử dụng 4 rotor cố định góc nghiêng (Fixed-pitch), điều khiển hướng bay thông qua thay đổi vận tốc tương đối giữa các động cơ. Bài toán kỹ thuật cốt lõi đặt ra bao gồm:

  • Thiết kế khung cơ khí đảm bảo tối ưu hóa trọng lượng cất cánh ($m \le 1600,\text{g}$) nhưng vẫn duy trì độ bền uốn, giảm rung chấn động học bậc cao từ động cơ.
  • Xây dựng giải thuật điều khiển tự cân bằng thời gian thực phản hồi nhanh trên vi điều khiển 8-bit tài nguyên giới hạn.
  • Phối ghép hệ thống truyền động điện (Motor Brushless, ESC, Pin LiPo) đạt tỷ lệ lực đẩy trên khối lượng (Thrust-to-Weight Ratio) tối thiểu $2.5:1$.
  • Tích hợp cụm camera hành trình truyền dữ liệu không dây phục vụ trinh sát và thu thập không ảnh mặt đất.

Mục tiêu của dự án

  1. Thiết kế và tối ưu hóa khung cơ khí Quadcopter: Đánh giá 3 biến thể kết cấu (Nhôm/PCB, Ống Carbon 3K $\Phi16,\text{mm}$, Khung gia cường F450 PA66) nhằm tìm ra điểm cân bằng tối ưu giữa độ cứng vững và khối lượng.
  2. Xây dựng hệ thống điều khiển nhúng cân bằng bay: Lập trình thuật toán PID (Proportional - Integral - Derivative) trên vi điều khiển ATmega328P (Arduino Uno R3) xử lý tín hiệu góc quay từ cảm biến Gyroscope 3 trục kỹ thuật số L3G4200D qua bus I2C.
  3. Tính toán phối ghép hệ thống động lực: Lựa chọn cấu hình động cơ không chổi than Emax RS2205 $2300,\text{KV}$, ESC Emax BLHeli 30A và nguồn năng lượng Pin LiPo 3S/4S cung cấp dòng xả cao.
  4. Triển khai hệ thống truyền dẫn RF và Payload không ảnh: Tích hợp tay điều khiển RadioLink AT10 tần số $2.4,\text{GHz}$ công nghệ DSSS (Direct-Sequence Spread Spectrum) tầm xa $\ge 800,\text{m}$ và Camera hành trình SJCAM SJ4000 Wi-Fi Full HD 1080p.

Phạm vi và giới hạn đề tài

  • Phạm vi: Nghiên cứu khí động học cơ bản của Quadrotor cấu hình chữ X, thiết kế phần cứng mạch nhúng, lập trình vòng lặp điều khiển kín (Closed-loop PID Control) và thử nghiệm bay thực tế thu thập hình ảnh.
  • Giới hạn: Hệ thống tập trung ổn định góc nghiêng (Attitude Stabilization via Angular Rate) dựa trên Gyroscope, chưa tích hợp kết hợp bù trôi góc dài hạn từ Accelerometer (IMU 6-DOF Fusion) hay định vị vệ tinh tự율 GPS Waypoint Navigation trong giai đoạn 1.

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

Phân tích hiện trạng và giải pháp cạnh tranh

Tiêu chí so sánh Trực thăng truyền thống (Single Rotor) Máy bay cánh bằng (Fixed-Wing UAV) Đề tài Quadcopter HUTECH (Multi-Rotor)
Khả năng cất/hạ cánh Cất hạ cánh thẳng đứng (VTOL) Cần đường băng hoặc bệ phóng VTOL linh hoạt trong không gian hẹp ($< 2,\text{m}^2$)
Độ phức tạp cơ khí Rất cao (Hệ thống đĩa nghiêng Swashplate, trục đuôi) Thấp (Bản lề cánh lái Aileron/Elevator/Rudder) Tối giản (4 trục gắn trực tiếp cánh quạt cố định)
Khả năng treo đứng (Hover) Rất tốt, nhưng khó điều khiển tay Không có khả năng đứng yên một chỗ Rất tốt, tự động hóa cân bằng bằng vi điều khiển
Chi phí chế tạo & bảo trì Đắt đỏ ($> 15.000.000,\text{VNĐ}$) Trung bình ($5.000.000 - 8.000.000,\text{VNĐ}$) Tối ưu sinh viên ($< 3.500.000,\text{VNĐ}$)
Độ an toàn khí động Quán tính cánh quạt lớn, nguy cơ cao Quán tính trung bình Động năng mỗi rotor nhỏ, khung bảo vệ an toàn

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

  • Must Have (Bắt buộc phải có): Khung chịu lực đa hướng; 4 động cơ không chổi than BLDC đồng pha; Mạch Arduino Uno R3 nhận tín hiệu PPM/PWM từ bộ thu RadioLink R6D II; Thuật toán PID chống lật; Cảm biến con quay hồi chuyển Gyroscope 3 trục L3G4200D; Cụm ngắt nguồn an toàn ESC.
  • Should Have (Nên có): Khung carbon siêu nhẹ; Khả năng truyền hình ảnh không dây thời gian thực qua sóng Wi-Fi 2.4GHz về ứng dụng di động; Đèn LED báo trạng thái chế độ bay.
  • Could Have (Có thể mở rộng): Tích hợp module định vị GPS NEO-6M tự quay về điểm xuất phát (RTH); Hệ thống kính FPV 5.8GHz không độ trễ.
  • Won't Have (Chưa thực hiện): Khả năng mang tải trọng công nghiệp nặng ($> 2,\text{kg}$); Tính năng bay tự động tránh vật cản đa hướng bằng LiDAR.

Thiết kế hệ thống và ngăn xếp công nghệ (Technology Stack)

Hệ thống được thiết kế theo kiến trúc module hóa phân tầng:

+-----------------------------------------------------------------------+
|                           SYSTEM ARCHITECTURE                         |
+-----------------------------------------------------------------------+
|  [TẦNG ĐIỀU KHIỂN & TRUYỀN DẪN]                                       |
|  - Tx: RadioLink AT10 10-Channel 2.4GHz DSSS (Độ trễ 3ms)             |
|  - Rx: RadioLink R6D II (Hỗ trợ 6-CH PWM & 10-CH PPM, 3.7g)           |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  [TẦNG XỬ LÝ TRUNG TÂM & ĐO LƯỜNG QUÁN TÍNH]                          |
|  - MCU: Arduino Uno R3 (ATmega328P @ 16MHz, 32KB Flash, 2KB SRAM)     |
|  - IMU Sensor: L3G4200D 3-Axis Gyroscope (16-bit ADC, SPI/I2C, 32-FIFO)|
|  - Thuật toán: Closed-loop Rate PID Controller @ 250Hz Loop           |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  [TẦNG ĐỘNG LỰC & CHẤP HÀNH]                                          |
|  - ESC: 4x Emax BLHeli 30A OPTO (Tần số phản hồi cao, firmware BLHeli)|
|  - Motor: 4x Emax RS2205 - 2300KV (12N14P, Lực đẩy 1024g/motor)       |
|  - Propeller: HQ 5045 Bullnose (2x CW, 2x CCW)                        |
|  - Power: Pin LiPo 3S/4S (Dòng xả tức thời 35C - 70C)                 |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  [TẦNG THU THẬP DỮ LIỆU KHÔNG ẢNH (PAYLOAD)]                          |
|  - Camera: SJCAM SJ4000 Wi-Fi 1080p Full HD Lens 170° Wide Angle     |
|  - Client App: SJCAM Zone (iOS/Android Streaming @ 30fps)             |
+-----------------------------------------------------------------------+

Thông số kỹ thuật chi tiết của các linh kiện chính:

  1. Vi điều khiển ATmega328P (Arduino Uno R3):
    • Tần số thạch anh: $16,\text{MHz}$
    • Bộ nhớ: $32,\text{KB}$ Flash, $2,\text{KB}$ SRAM, $1,\text{KB}$ EEPROM
    • Giao tiếp ngoại vi: 14 chân Digital I/O (6 kênh PWM), 6 chân Analog Input (10-bit ADC), 1 cổng phần cứng I2C (SDA A4, SCL A5) và SPI.
  2. Cảm biến con quay hồi chuyển 3 trục L3G4200D:
    • Dải đo lựa chọn: $\pm 250,\text{dps}$, $\pm 500,\text{dps}$, $\pm 2000,\text{dps}$
    • Độ phân giải: $16\text{-bit}$ ngõ ra dữ liệu, độ nhạy $8.75,\text{mdps/LSB}$ ở thang đo $250,\text{dps}$.
    • Tích hợp bộ đệm phần cứng 32 khung dữ liệu FIFO giảm tải ngắt vi điều khiển.
  3. Động cơ không chổi than Emax RS2205 2300KV:
    • Cấu trúc cực từ: 12N14P, nam châm Neodymium cao cấp N52.
    • Trọng lượng: $30,\text{g}$, điện áp hoạt động: 3S - 4S LiPo ($11.1,\text{V} - 14.8,\text{V}$).
    • Lực nâng tối đa (Max Thrust): $1024,\text{g}/\text{động cơ}$ (Tổng lực nâng danh định cho 4 động cơ: $4096,\text{g}$).
  4. Bộ điều tốc ESC Emax BLHeli 30A OPTO:
    • Dòng tải liên tục: $30,\text{A}$, dòng tức thời đỉnh: $40,\text{A}$ ($10,\text{s}$).
    • Tương thích tín hiệu đầu vào xung PWM $50,\text{Hz} - 490,\text{Hz}$ OneShot125.

Implementation và kết quả

Quy trình phát triển và thuật toán điều khiển

Hệ thống điều khiển bay hoạt động dựa trên nguyên lý cân bằng mô-men động lực học. Quadcopter bố trí theo dạng chữ X với 2 động cơ quay cùng chiều kim đồng hồ (CW: Motor 2, Motor 4) và 2 động cơ quay ngược chiều kim đồng hồ (CCW: Motor 1, Motor 3).

          [M1 (CCW)] (Front-Left)     [M2 (CW)] (Front-Right)
                  \                 /
                   \   + Roll (X)  /
                    \      ^      /
                     \     |     /
                      \    |    /
                       \   |   /
   + Pitch (Y) <-----------O-----------> - Pitch (Y)
                       /   |   \
                      /    |    \
                     /     |     \
                    /      v      \
                   /   - Roll (X)  \
                  /                 \
          [M4 (CW)] (Rear-Left)       [M3 (CCW)] (Rear-Right)
  1. Chuyển động Lên/Xuống (Throttle/Altitude): Tăng hoặc giảm tốc độ đồng thời của cả 4 động cơ ($M_1, M_2, M_3, M_4$).
  2. Chuyển động Lăn (Roll - Quay quanh trục X): Thay đổi vi sai giữa cặp động cơ bên trái ($M_1, M_4$) và cặp bên phải ($M_2, M_3$).
  3. Chuyển động Chúi/Ngửa (Pitch - Quay quanh trục Y): Thay đổi vi sai giữa cặp động cơ phía trước ($M_1, M_2$) và cặp phía sau ($M_3, M_4$).
  4. Chuyển động Xoay hướng (Yaw - Quay quanh trục Z): Thay đổi vi sai tổng tốc độ giữa cặp động cơ quay thuận (CW) và cặp quay nghịch (CCW) nhằm tạo ra mô-men xoắn dư thừa làm quay thân máy bay.

Thuật toán điều khiển PID (Rate PID Controller)

Phương trình toán học của bộ điều khiển PID liên tục: $$u(t) = K_p \cdot e(t) + K_i \int_{0}^{t} e(\tau) d\tau + K_d \cdot \frac{de(t)}{dt}$$

Trong đó sai số $e(t) = \omega_{\text{setpoint}} - \omega_{\text{gyro}}$ là độ lệch giữa vận tốc góc mong muốn từ tay điều khiển RadioLink và vận tốc góc đo thực tế từ cảm biến L3G4200D.

/**
 * Trích đoạn mã nguồn thực thi thuật toán PID và Motor Mixing 
 * Lập trình trên nền tảng Arduino IDE (C/C++) cho ATmega328P
 */

#include <Wire.h>

#define L3G4200D_ADDR 0x69

// Các biến lưu trữ giá trị đọc cảm biến
float gyro_x, gyro_y, gyro_z;
float gyro_x_cal = 0, gyro_y_cal = 0, gyro_z_cal = 0;

// Hệ số PID hiệu chuẩn cho trục Roll và Pitch
float Kp_roll = 1.30, Ki_roll = 0.04, Kd_roll = 18.0;
float Kp_pitch = 1.30, Ki_pitch = 0.04, Kd_pitch = 18.0;
float Kp_yaw = 4.00, Ki_yaw = 0.02, Kd_yaw = 0.0;

float error_roll, error_pitch, error_yaw;
float pid_i_roll = 0, pid_i_pitch = 0, pid_i_yaw = 0;
float pid_output_roll, pid_output_pitch, pid_output_yaw;
float prev_error_roll = 0, prev_error_pitch = 0, prev_error_yaw = 0;

int receiver_throttle = 1000; // Tín hiệu ga nhận từ Rx (1000 - 2000 us)
int receiver_roll = 1500;     // Tín hiệu cân bằng trục Roll
int receiver_pitch = 1500;    // Tín hiệu cân bằng trục Pitch
int receiver_yaw = 1500;      // Tín hiệu trục Yaw

// Giá trị xung PWM gửi tới 4 ESC (đơn vị: microseconds)
int esc_1, esc_2, esc_3, esc_4;

void setup() {
  Wire.begin();
  Wire.setClock(400000); // Kích hoạt I2C Fast Mode 400kHz
  
  // Khởi tạo thanh ghi L3G4200D: 2000 dps, ODR 800Hz
  Wire.beginTransmission(L3G4200D_ADDR);
  Wire.write(0x20); // CTRL_REG1
  Wire.write(0b11001111); // Bật tất cả 3 trục, ngắt bình thường
  Wire.endTransmission();
  
  // Hiệu chuẩn bù trôi điểm không (Zero-rate Bias Calibration)
  for (int i = 0; i < 2000; i++) {
    readGyroData();
    gyro_x_cal += gyro_x;
    gyro_y_cal += gyro_y;
    gyro_z_cal += gyro_z;
    delayMicroseconds(1000);
  }
  gyro_x_cal /= 2000.0;
  gyro_y_cal /= 2000.0;
  gyro_z_cal /= 2000.0;
}

void loop() {
  readGyroData();
  
  // Trừ trôi số điểm zero
  gyro_x -= gyro_x_cal;
  gyro_y -= gyro_y_cal;
  gyro_z -= gyro_z_cal;

  // Tính toán sai số trục Roll
  float setpoint_roll = (receiver_roll - 1500) / 3.0; // Tỉ lệ đổi sang dps
  error_roll = setpoint_roll - gyro_x;
  pid_i_roll += Ki_roll * error_roll;
  pid_i_roll = constrain(pid_i_roll, -400.0, 400.0); // Chống bão hòa tích phân (Anti-windup)
  float pid_d_roll = (error_roll - prev_error_roll);
  pid_output_roll = (Kp_roll * error_roll) + pid_i_roll + (Kd_roll * pid_d_roll);
  prev_error_roll = error_roll;

  // Tính toán sai số trục Pitch
  float setpoint_pitch = (receiver_pitch - 1500) / 3.0;
  error_pitch = setpoint_pitch - gyro_y;
  pid_i_pitch += Ki_pitch * error_pitch;
  pid_i_pitch = constrain(pid_i_pitch, -400.0, 400.0);
  float pid_d_pitch = (error_pitch - prev_error_pitch);
  pid_output_pitch = (Kp_pitch * error_pitch) + pid_i_pitch + (Kd_pitch * pid_d_pitch);
  prev_error_pitch = error_pitch;

  // Thuật toán ma trận phối trộn động cơ (Motor Mixing Algorithm)
  if (receiver_throttle > 1050) {
    esc_1 = receiver_throttle + pid_output_pitch + pid_output_roll - pid_output_yaw; // Front-Left (CCW)
    esc_2 = receiver_throttle + pid_output_pitch - pid_output_roll + pid_output_yaw; // Front-Right (CW)
    esc_3 = receiver_throttle - pid_output_pitch - pid_output_roll - pid_output_yaw; // Rear-Right (CCW)
    esc_4 = receiver_throttle - pid_output_pitch + pid_output_roll + pid_output_yaw; // Rear-Left (CW)

    // Giới hạn giá trị xuất PWM an toàn cho ESC
    esc_1 = constrain(esc_1, 1100, 2000);
    esc_2 = constrain(esc_2, 1100, 2000);
    esc_3 = constrain(esc_3, 1100, 2000);
    esc_4 = constrain(esc_4, 1100, 2000);
  } else {
    // Ngắt xung động cơ khi bướm ga hạ sát đáy
    esc_1 = 1000; esc_2 = 1000; esc_3 = 1000; esc_4 = 1000;
    pid_i_roll = 0; pid_i_pitch = 0; pid_i_yaw = 0;
  }

  writeEscPWM(esc_1, esc_2, esc_3, esc_4);
}

void readGyroData() {
  Wire.beginTransmission(L3G4200D_ADDR);
  Wire.write(0x28 | 0x80); // Đọc tự động tăng địa chỉ bắt đầu từ OUT_X_L
  Wire.endTransmission();
  Wire.requestFrom(L3G4200D_ADDR, 6);
  
  while (Wire.available() < 6);
  int16_t x_raw = Wire.read() | (Wire.read() << 8);
  int16_t y_raw = Wire.read() | (Wire.read() << 8);
  int16_t z_raw = Wire.read() | (Wire.read() << 8);
  
  gyro_x = x_raw * 0.07; // Chuyển đổi sang deg/s cho thang đo 2000 dps
  gyro_y = y_raw * 0.07;
  gyro_z = z_raw * 0.07;
}

void writeEscPWM(int m1, int m2, int m3, int m4) {
  // Gửi trực tiếp xung thời gian thực tới thanh ghi Timer điều khiển ESC
  // Tránh độ trễ thư viện tiêu chuẩn Arduino
}

Thử nghiệm và đánh giá kết quả kỹ thuật

Nhóm nghiên cứu đã chế tạo và thực nghiệm qua 3 thế hệ khung cơ khí:

  1. Thiết kế 1 (Nhôm thanh + Mạch in kết nối): Tổng trọng lượng $320,\text{g}$, xảy ra hiện tượng cộng hưởng dao động tần số cao, gãy vỡ mối ghép nhôm khi hạ cánh cứng.
  2. Thiết kế 2 (Ống Carbon 3K 16mm + Kẹp nhôm Spyer 260 + Tấm Mica): Chiều dài cơ sở $600,\text{mm}$, trọng lượng chỉ $152,\text{g}$, khả năng hấp thụ chấn động cơ học xuất sắc.
  3. Thiết kế 3 (Khung thương mại F450 - PA66 Fiberglass): Chiều dài cơ sở chéo $450,\text{mm}$, trọng lượng $282,\text{g}$, tích hợp bản phân phối nguồn (PDB) trực tiếp trên thân mạch.
So sánh trọng lượng khung (Frame Weight):
Thiết kế 1 (Nhôm + PCB):     [================================] 320g
Thiết kế 2 (Carbon 3K 16mm): [===============] 152g (Giảm 52.5% so với TK1)
Thiết kế 3 (F450 PA66):      [============================] 282g

Tỷ lệ Lực nâng / Trọng lượng (Thrust-to-Weight Ratio) với Tải trọng 1200g:
Chuẩn tối thiểu an toàn:     [==============] 2.0 : 1
Đề tài HUTECH đạt được:      [=======================] 3.41 : 1 (Cực kỳ linh hoạt)

Bảng kết quả thực nghiệm hệ thống động lực và thông số bay:

Thông số đo đạc thực nghiệm Giá trị thiết kế dự kiến Giá trị thực tế đạt được Đánh giá sai số & Hiệu năng
Tổng khối lượng cất cánh (AUW) $1200,\text{g} \pm 100,\text{g}$ $1180,\text{g}$ (gồm cả SJCAM SJ4000) Đạt chuẩn thiết kế ($\le 1600,\text{g}$)
Lực nâng cực đại (Max Total Thrust) $4000,\text{g}$ ($1000,\text{g} \times 4$) $4096,\text{g}$ ($1024,\text{g} \times 4$) Vượt $2.4%$ công suất thiết kế
Tỷ lệ Thrust-to-Weight $\ge 2.5:1$ $3.47:1$ Khả năng kháng gió và phản xạ gia tốc cao
Độ trễ tín hiệu điều khiển $< 10,\text{ms}$ $3.0,\text{ms}$ (RadioLink AT10 DSSS) Phản ứng gần như tức thì với lệnh stick
Tần số vòng lặp PID $200,\text{Hz}$ $250,\text{Hz}$ (4ms / loop) Đảm bảo triệt tiêu dao động góc kịp thời
Thời gian bay duy trì (Hover Time) $8 - 10,\text{phút}$ (Pin 3S 2200mAh) $9.5,\text{phút}$ Đạt yêu cầu nghiệm thu nhiệm vụ
Độ phân giải truyền hình ảnh 1080p @ 30fps 1920x1080px H.264 qua SJCAM App Hình ảnh sắc nét, góc siêu rộng $170^\circ$

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

  1. Tối ưu hóa khí động học và cơ cấu vật liệu nhẹ: Thiết kế 2 sử dụng vật liệu sợi Carbon 3K dạng ống $\Phi16,\text{mm}$ kết hợp kẹp định vị nhôm CNC Spyer 260 đã giúp giảm $52.5%$ khối lượng khung cơ khí so với kết cấu hợp kim nhôm truyền thống, đồng thời tăng mô-đun đàn hồi chịu xoắn lên hơn $140%$.
  2. Kỹ thuật điều khiển nhúng trên phần cứng giá rẻ: Thay vì sử dụng các bo mạch thương mại đắt tiền (như DJI Naza, Pixhawk), đề tài chứng minh khả năng tối ưu hóa vi điều khiển 8-bit ATmega328P để thực thi bộ điều khiển Rate PID thời gian thực ở chu kỳ quét $4,\text{ms}$, triệt tiêu hoàn toàn hiện tượng dao động góc (wobble) khi hạ độ cao nhanh.
  3. Phối ghép hệ thống truyền dẫn DSSS băng rộng: Việc lựa chọn module thu phát RadioLink AT10/R6D II cung cấp khả năng nhảy tần DSSS chống nhiễu vượt trội trong môi trường đô thị nhiều sóng Wi-Fi, đạt tầm kiểm soát mặt đất ổn định $800,\text{m}$ và cự ly không gian mở lên đến $2,\text{km}$.
  4. Giải pháp không ảnh chi phí thấp ứng dụng thực tế: Đề tài mở ra khả năng ứng dụng thực tiễn cho công tác đo đạc trắc địa quy mô nhỏ, khảo sát công trình dân dụng và hỗ trợ cứu nạn với mức kinh phí đầu tư linh kiện chỉ bằng $1/5$ so với các giải pháp Flycam thương mại nhập khẩu.

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

                              KHẢ NĂNG ỨNG DỤNG THỰC TẾ
[Trinh sát cứu nạn]  [Khảo sát công trình]         [Nông nghiệp chính xác]  [Nghiên cứu & Đào tạo]
- Tiếp cận vùng lũ   - Kiểm tra vết nứt cầu đường  - Chụp ảnh phổ cây trồng  - Nền tảng thực hành
- Thả phao định vị   - Đo đạc mái nhà cao tầng     - Đánh giá diện tích lúa   Robotics & Điều khiển

Kịch bản triển khai ứng dụng thực tế

  • Trinh sát tìm kiếm cứu nạn: Thiết bị có thể bay vào các vùng sạt lở, ngập lụt nguy hiểm mà con người không thể tiếp cận, truyền hình ảnh trực tiếp 1080p để xác định vị trí nạn nhân.
  • Giám sát hạ tầng kỹ thuật: Khảo sát tình trạng bề mặt các công trình cao tầng, đường dây điện cao thế, thân cầu vượt giúp giảm thiểu rủi ro tai nạn lao động cho kỹ sư bảo trì.
  • Nông nghiệp thông minh: Thu thập ảnh chụp quang học độ cao thấp để theo dõi độ xanh tốt của cây trồng và phát hiện sâu bệnh trên cánh đồng mẫu lớn.

Hướng dẫn lắp đặt và vận hành hệ thống (Step-by-Step Deployment)

  1. Kiểm tra cơ khí & Đấu nối nguồn:
    • Cố định chặt 4 cánh quạt HQ 5045 theo đúng quy tắc chiều quay (M1/M3 gắn cánh CCW, M2/M4 gắn cánh CW).
    • Kiểm tra điện áp Pin LiPo qua đồng hồ đo Cell: Điện áp mỗi cell phải đạt $4.20,\text{V}$ (Tổng điện áp khối 3S là $12.6,\text{V}$).
  2. Quy trình khởi động trạm điều khiển & Quadcopter:
    • Bước 1: Luôn bật tay phát sóng Tx RadioLink AT10 trước, gạt cần Throttle về vị trí thấp nhất ($0%$).
    • Bước 2: Cấp nguồn pin LiPo cho Quadcopter, đặt máy bay trên mặt phẳng tĩnh trong $5,\text{giây}$ để cảm biến L3G4200D thực hiện xong routine cân bằng điểm zero (Bias Calibration).
    • Bước 3: Đèn LED trên mạch thu R6D II chuyển sang xanh lục cố định (báo hiệu bắt sóng PPM an toàn).
  3. Kích hoạt ghi hình và cất cánh:
    • Bật nguồn Camera SJCAM SJ4000, bật chế độ Wi-Fi và kết nối điện thoại thông minh vào SSID của camera qua ứng dụng SJCAM Zone.
    • Gạt cần điều khiển Arming để mở khóa động cơ, tăng ga từ từ đến $50%$ để máy bay nhấc bổng khỏi hiệu ứng mặt đất (Ground Effect) và đạt độ cao ổn định.

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

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

  • Cảm biến đơn lẻ: Hệ thống hiện chỉ sử dụng Gyroscope L3G4200D để ổn định tốc độ góc (Angular Rate), chưa tích hợp thuật toán lọc bù (Complementary Filter) hoặc lọc Kalman kết hợp với Gia tốc kế (Accelerometer) để khóa góc tuyệt đối (Self-leveling / Angle Mode).
  • Thiếu module định vị toàn cầu: Máy bay chưa có GPS và La bàn số (Magnetometer) nên người điều khiển phải liên tục giữ vị trí bằng tay khi có gió tạt ngang (Drift effect).
  • Thời lượng bay: Dung lượng pin $2200,\text{mAh}$ chỉ duy trì được tối đa dưới $10,\text{phút}$ khi mang tải trọng camera.

Hướng nâng cấp đề xuất

  1. Tích hợp hệ thống dẫn đường GPS & Barometer: Bổ sung cảm biến áp suất khí quyển BMP280 để giữ độ cao tự động (Altitude Hold) và module GPS Ublox NEO-M8N để thực hiện tính năng tự động quay về khi mất sóng (Fail-safe Return to Home).
  2. Nâng cấp hệ thống truyền hình FPV 5.8GHz Analog: Trang bị bộ phát sóng VTX $5.8,\text{GHz}$ công suất $600,\text{mW}$ kết hợp kính đeo FPV Goggles giúp triệt tiêu hoàn toàn độ trễ $150,\text{ms}$ của sóng Wi-Fi, mở rộng tầm quan sát không ảnh lên trên $1.5,\text{km}$.
  3. Chuyển đổi vi điều khiển sang 32-bit ARM Cortex-M4: Sử dụng vi điều khiển STM32F405/F411 chạy firmware mã nguồn mở Betaflight/iNav cho phép nâng tần số vòng lặp điều khiển lên $8,\text{kHz}$, hỗ trợ giao thức DShot điều khiển motor dạng số không cần hiệu chuẩn hành trình ESC.

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

  • Sinh viên khối ngành Kỹ thuật (Cơ điện tử, Tự động hóa, Điện tử viễn thông): Cung cấp tài liệu tham khảo hoàn chỉnh từ thiết kế cơ khí CAD/SolidWorks, giải thuật PID thực chiến đến kiến thức phân tích hệ thống động lực và pin LiPo.
  • Kỹ sư và Lập trình viên hệ thống nhúng: Nắm bắt được phương pháp can thiệp trực tiếp vào thanh ghi I2C/SPI của cảm biến quán tính IMU, tối ưu hóa ngắt phần cứng và giải bài toán Motor Mixing cho phương tiện bay VTOL.
  • Doanh nghiệp & Startup Nông - Lâm nghiệp: Tiếp cận mô hình chế tạo thiết bị giám sát không ảnh với chi phí đầu tư thấp, dễ dàng nội địa hóa linh kiện và làm chủ công nghệ bảo trì sửa chữa.
  • Nhà nghiên cứu lý thuyết điều khiển: Sở hữu một nền tảng phần cứng thực nghiệm mở (Open-architecture Hardware Testbed) để thử nghiệm các thuật toán điều khiển phi tuyến hiện đại như Sliding Mode Control (SMC), Backstepping hay LQR.

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

1. Yêu cầu kỹ thuật tối thiểu để tự chế tạo và vận hành mẫu Quadcopter này là gì?

Người thực hiện cần có kiến thức cơ bản về lập trình C/C++ trên nền tảng Arduino, kỹ năng đọc bản vẽ cơ khí, khả năng hàn mạch điện tử công suất DC và hiểu biết về an toàn điện áp cao của pin LiPo. Các trang thiết bị cần có gồm: Máy hàn thiếc, đồng hồ vạn năng VOM, máy tính cài đặt Arduino IDE và bộ sạc cân bằng chuyên dụng cho pin LiPo (như Imax B6).

2. Tại sao Quadcopter lại sử dụng 2 cánh quạt quay thuận (CW) và 2 cánh quạt quay nghịch (CCW)?

Khi một động cơ quay cánh quạt, theo định luật 3 Newton, cánh quạt sẽ tác dụng một phản lực mô-men xoắn (Reaction Torque) ngược chiều làm xoay thân máy bay. Bằng cách sử dụng 2 động cơ quay theo chiều kim đồng hồ (CW) và 2 động cơ quay ngược chiều kim đồng hồ (CCW), các mô-men xoắn tự triệt tiêu lẫn nhau, giúp Quadcopter giữ thăng bằng hướng mũi (Heading/Yaw) mà không cần cánh quạt đuôi như trực thăng truyền thống.

3. Động cơ Emax RS2205 $2300,\text{KV}$ có ý nghĩa kỹ thuật gì và tại sao lại chọn chỉ số này?

Chỉ số $2300,\text{KV}$ (RPM/Volt) biểu thị số vòng quay không tải của động cơ trên mỗi Volt điện áp cấp vào. Với pin LiPo 3S ($11.1,\text{V}$ danh định), động cơ có tốc độ quay lý thuyết lên đến $2300 \times 11.1 \approx 25.530,\text{vòng/phút}$. Chỉ số KV cao kết hợp với cánh quạt đường kính nhỏ $5,\text{inch}$ (HQ 5045) đem lại khả năng đáp ứng gia tốc cực nhanh, rất phù hợp cho các dòng Quadcopter cần phản xạ cân bằng động học tức thời.

4. Sự khác biệt cốt lõi giữa Pin LiPo và Pin Li-ion trong ứng dụng máy bay không người lái?

Pin Li-ion sử dụng chất điện phân lỏng đặt trong vỏ kim loại hình trụ (như cell 18650), có mật độ năng lượng cao nhưng dòng xả liên tục thường thấp ($< 10 - 15,\text{A}$). Ngược lại, Pin LiPo sử dụng chất điện phân dạng polymer khô/gel mỏng, có thể tạo hình linh hoạt và cung cấp dòng xả cực lớn (từ $35\text{C}$ đến $70\text{C}$, tương đương dòng tức thời $> 70,\text{A}$), đáp ứng hoàn hảo cho nhu cầu tăng tốc đột ngột của 4 động cơ Brushless.

5. Làm thế nào để khắc phục hiện tượng nhiễu sóng khi gắn Camera Wi-Fi cùng tần số với tay điều khiển $2.4,\text{GHz}$?

Tay điều khiển RadioLink AT10 sử dụng công nghệ trải phổ trực tiếp DSSS trên dải tần $2400,\text{MHz} - 2485,\text{MHz}$ kết hợp thuật toán nhảy tần liên tục (Frequency Hopping), trong khi sóng Wi-Fi của camera SJCAM SJ4000 hoạt động trên kênh cố định. Để giảm thiểu can nhiễu tương hỗ (Interference), cần bố trí anten thu R6D II cách xa cụm camera và mạch phát Wi-Fi tối thiểu $10,\text{cm}$, đồng thời hướng anten thu vuông góc $90^\circ$ so với thân máy bay.


Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Hiếu Nghĩa và Nguyễn Trung Tuấn tại Viện Kỹ thuật HUTECH đã nghiên cứu và chế tạo thành công mô hình máy bay bốn cánh quạt Quadcopter hoàn chỉnh từ lý thuyết đến thực nghiệm bay. Bằng việc kết hợp hài hòa giữa cơ cấu khung nhẹ (Ống Carbon 3K), động lực học mạnh mẽ (Emax RS2205, ESC 30A), hệ thống thu phát RF chuẩn xác (RadioLink AT10 DSSS) và thuật toán điều khiển Rate PID tối ưu trên vi điều khiển ATmega328P, đề tài đã chứng minh tính khả thi vượt trội của một hệ thống UAV tự chế chi phí thấp.

Sản phẩm không chỉ đáp ứng tốt yêu cầu bay cân bằng ổn định với tỷ lệ lực nâng trên tải trọng đạt $3.47:1$ mà còn hoàn thành xuất sắc nhiệm vụ thu thập không ảnh chất lượng cao 1080p. Đây là nền tảng kỹ thuật vững chắc mở đường cho các hướng nghiên cứu nâng cao tiếp theo như tích hợp hệ thống định vị GPS tự hành, công nghệ FPV đường dài và ứng dụng trí tuệ nhân tạo nhận diện hình ảnh từ trên không phục vụ đời sống kinh tế - xã hội.