Mạch điều khiển bay của flycam: IMU, vòng PID, bộ lọc rung, chế độ bay, Betaflight, ArduPilot

Mạch điều khiển bay của flycam: MCU, IMU, cảm biến, vòng điều khiển nhiều tầng, bộ trộn động cơ, PID, bộ lọc rung, các chế độ bay, Betaflight, INAV, ArduPilot, PX4 và khả năng dùng ESP32.

Mạch điều khiển bay (flight controller) là bộ não của flycam. Nó đọc cảm biến để biết flycam đang nghiêng, quay ra sao, đọc lệnh từ tay điều khiển, rồi tính ra mức ga cho từng động cơ, lặp lại hàng nghìn lần mỗi giây. Bài này giới thiệu các thành phần trên mạch điều khiển bay, vòng điều khiển nhiều tầng, vai trò của PID và bộ lọc rung, các chế độ bay, các phần mềm điều khiển bay mã nguồn mở và khả năng dùng ESP32 làm mạch điều khiển bay.

1. Trên mạch điều khiển bay có gì

Mạch điều khiển bay nhìn từ trên với chú thích: mũi tên hướng lắp chỉ về đầu flycam, pad động cơ M1 đến M4, vi điều khiển MCU, cảm biến IMU, lỗ bắt vít 30,5 hoặc 20 mm, cổng UART cho bộ thu, GPS, VTX và nguồn 5 V
Bố trí điển hình của một mạch điều khiển bay (hình tự vẽ).
  • Vi điều khiển (MCU): mạch cho flycam FPV thường dùng STM32F405, F722 hoặc H743, chạy 168–480 MHz.
  • IMU: con quay hồi chuyển 3 trục đo tốc độ quay, gia tốc kế 3 trục đo hướng trọng lực. Con quay là cảm biến quan trọng nhất, nối qua SPI và đọc tới vài nghìn lần mỗi giây.
  • Cảm biến thêm: khí áp kế để giữ độ cao, la bàn để biết hướng, GPS nối qua UART để giữ vị trí và tự quay về.
  • Cổng UART: nối bộ thu (SBUS, CRSF), GPS, bộ phát hình (VTX) để đổi kênh từ xa.
  • Ngõ ra động cơ: 4 pad M1–M4 hoặc một đầu cắm cho ESC 4 trong 1.
  • Thêm: chip OSD in chữ lên hình FPV, bộ nhớ ghi dữ liệu bay (blackbox), mạch hạ áp 5 V và 3,3 V, cổng USB để cấu hình.

Mạch được bắt bằng 4 vít theo khoảng cách chuẩn 30,5 × 30,5 mm, 20 × 20 mm hoặc 25,5 × 25,5 mm, thường qua đệm cao su để giảm rung. Mũi tên trên mạch phải chỉ về đầu flycam; lắp xoay hướng thì phải khai báo lại trong phần mềm.

Sơ đồ khối: IMU qua SPI, khí áp kế và la bàn qua I2C, GPS qua UART, bộ thu qua UART đi vào MCU; cảm biến pin đo điện áp, dòng qua ADC; MCU ra 4 ESC bằng DShot hoặc PWM, ra OSD và VTX, ghi blackbox, giao tiếp USB với máy tính
Sơ đồ khối mạch điều khiển bay (hình tự vẽ).

2. Vòng điều khiển nhiều tầng

Sơ đồ vòng điều khiển: tay điều khiển gửi góc mong muốn vào vòng góc P, ra tốc độ góc mong muốn cho vòng tốc độ góc PID, qua bộ trộn ra 4 mức ga tới ESC động cơ và khung flycam; IMU và bộ lọc đo tốc độ góc phản hồi về vòng tốc độ góc, góc ước tính phản hồi về vòng góc
Vòng trong điều khiển tốc độ góc, vòng ngoài điều khiển góc (hình tự vẽ).
  1. Vòng góc (chỉ ở chế độ tự cân bằng): so góc mong muốn với góc ước tính từ IMU, tính ra tốc độ quay cần có. Ví dụ đang nghiêng 10°, muốn về 0° thì cần quay ngược lại với tốc độ tỉ lệ với sai lệch.
  2. Vòng tốc độ góc: so tốc độ quay mong muốn với số đo con quay trên từng trục roll, pitch, yaw, dùng PID tính ra mức sửa cho từng trục. Vòng này chạy nhanh nhất, ở Betaflight thường 2–8 kHz.
  3. Bộ trộn: đổi mức ga và ba mức sửa thành mức ga riêng cho từng động cơ theo vị trí và chiều quay của động cơ.

Với quy ước của loạt bài này (động cơ 1 sau phải quay thuận chiều kim đồng hồ, 2 trước phải ngược chiều, 3 sau trái ngược chiều, 4 trước trái thuận chiều; roll dương là nghiêng phải, pitch dương là ngóc đầu lên, yaw dương là xoay đầu sang phải), bộ trộn của khung X như sau:

Động cơVị tríCông thức
1sau phảiga − roll − pitch − yaw
2trước phảiga − roll + pitch + yaw
3sau tráiga + roll − pitch + yaw
4trước tráiga + roll + pitch − yaw

Kiểm tra lại bằng bài cấu tạo flycam: muốn nghiêng phải thì hai động cơ bên trái (3, 4) tăng; muốn xoay đầu sang phải thì cặp quay ngược chiều kim đồng hồ (2, 3) tăng. Mỗi phần mềm có quy ước dấu riêng, nhưng nguyên tắc giống nhau.

3. PID: chỉnh để flycam bám lệnh

Đồ thị tốc độ quay theo thời gian khi lệnh nhảy lên 200 độ mỗi giây: bộ hệ số Kp thấp lên chậm mất khoảng 300 ms; bộ vừa lên nhanh vọt lố ít rồi ổn định; Kp quá cao vọt tới gần 300 độ mỗi giây và dao động nhiều lần
Ba bộ hệ số PID trên cùng một trục quay; mô phỏng đơn giản (hình tự vẽ).
  • P sửa theo sai lệch hiện tại: P nhỏ thì flycam ì, P lớn quá thì dao động nhanh, nghe rít.
  • I cộng dồn sai lệch theo thời gian, sửa các lệch kéo dài như trọng tâm lệch, gió đều. I quá lớn làm flycam lắc chậm.
  • D phản ứng theo tốc độ thay đổi, hãm lại để giảm vọt lố. D khuếch đại nhiễu rung nên phải đi cùng bộ lọc tốt.

Thông số mặc định của các phần mềm hiện nay bay được với đa số flycam cỡ phổ biến. Việc tinh chỉnh thường dựa trên dữ liệu blackbox ghi trong lúc bay, chỉnh từng nấc nhỏ. Nguyên lý PID giống với bài giữ tốc độ động cơ DC bằng PID trên ESP32.

4. Rung và bộ lọc tín hiệu con quay

Đồ thị tín hiệu con quay mô phỏng: chuyển động thật hình sin chậm, tín hiệu chưa lọc có rung nhiễu dày; lọc thông thấp 100 Hz còn gợn nhỏ và bám sát; lọc 15 Hz rất sạch nhưng trễ so với chuyển động thật
Lọc mạnh hơn thì bớt nhiễu nhưng tín hiệu trễ hơn; mô phỏng (hình tự vẽ).

Động cơ và cánh quạt quay hàng trăm vòng mỗi giây, tạo rung ở tần số cao. Con quay đo cả rung này, nếu đưa thẳng vào PID thì động cơ bị điều khiển theo nhiễu, nóng lên và flycam rung. Mạch điều khiển bay dùng bộ lọc thông thấp và bộ lọc chặn dải (notch). Betaflight còn có bộ lọc theo tốc độ động cơ: ESC dùng DShot hai chiều gửi tốc độ quay về, bộ lọc đặt đúng tần số rung của từng động cơ. Cái giá của lọc là độ trễ: lọc càng mạnh, flycam phản ứng càng chậm. Vì vậy giảm rung từ gốc (cánh không cong, động cơ không cong trục, mạch đặt trên đệm mềm) luôn tốt hơn lọc mạnh.

5. Các chế độ bay

Bảng các chế độ bay: Acro đặt tốc độ quay dùng con quay cho FPV; Angle đặt góc nghiêng tự cân bằng cho người mới; Horizon; giữ độ cao thêm khí áp kế; giữ vị trí thêm GPS và la bàn; quay về điểm cất cánh khi mất sóng
Các chế độ bay thường gặp (hình tự vẽ).

Người mới nên tập ở chế độ Angle: buông cần là flycam tự về thăng bằng. Chế độ Acro cho phép nhào lộn nhưng người lái phải tự giữ góc. Chế độ giữ vị trí và tự quay về cần GPS, la bàn hoạt động đúng; nên bật tính năng quay về khi mất sóng (failsafe) cho flycam có GPS.

6. Phần mềm điều khiển bay

Bảng phần mềm điều khiển bay: Betaflight cho FPV dùng Betaflight Configurator; INAV dẫn đường GPS dùng INAV Configurator; ArduPilot đủ chế độ tự động dùng Mission Planner hoặc QGroundControl; PX4 dùng trong nghiên cứu, công nghiệp, cấu hình bằng QGroundControl
Bốn phần mềm điều khiển bay mã nguồn mở phổ biến (hình tự vẽ).

Các bước cấu hình cơ bản giống nhau ở mọi phần mềm, và luôn làm khi đã tháo cánh:

  1. Nạp firmware đúng loại mạch, chọn kiểu khung (Quad X).
  2. Kiểm tra hướng cảm biến: nghiêng flycam trên tay, hình 3D trên màn hình phải nghiêng cùng chiều.
  3. Khai báo cổng UART và giao thức của bộ thu; kiểm tra các kênh chạy đúng khi gạt cần.
  4. Thử từng động cơ: đúng thứ tự, đúng chiều quay; chọn giao thức ESC.
  5. Đặt công tắc mở khóa động cơ (arm), chế độ bay, cảnh báo pin và hành vi khi mất sóng.

7. ESP32 có làm mạch điều khiển bay được không

Được, ở mức học tập và flycam mini. ESP32 có hai lõi 240 MHz, đủ đọc cảm biến MPU-6050 và chạy vòng điều khiển vài trăm lần mỗi giây; Wi-Fi và ESP-NOW thay được bộ thu. Espressif có dự án mã nguồn mở ESP-Drone (dựa trên phần mềm Crazyflie) chạy trên ESP32-S2 và ESP32-S3. Tuy vậy, so với mạch chuyên dụng chạy Betaflight hay ArduPilot, một mạch tự làm thiếu bộ lọc tinh, thiếu cơ chế an toàn đã được kiểm chứng, nên chỉ nên thử với drone nhỏ, nhẹ, trên giá thử hoặc trong lưới. Loạt bài này có bài ESP32 đọc MPU-6050 tính góc nghiêng và bài ESP32 làm mạch điều khiển bay cho drone mini.

8. Lưu ý

  • Tháo cánh mỗi khi cắm USB cấu hình: một số phần mềm cho phép quay động cơ từ máy tính.
  • Kiểm tra hướng lắp mạch và hướng cảm biến trước lần bay đầu; sai hướng, flycam sẽ lật ngay khi cất cánh.
  • Hiệu chuẩn gia tốc kế khi flycam đặt nằm ngang để chế độ Angle giữ thăng bằng đúng.
  • Luôn cài và thử hành vi khi mất sóng: tắt động cơ (flycam mini, trong nhà) hoặc tự hạ cánh, tự quay về (flycam ngoài trời có GPS).

9. Xem thêm


Tin tức liên quan

Lập trình không cần máy tính: 8 trò chơi rèn tư duy cho trẻ 4–8 tuổi
Lập trình không cần máy tính: 8 trò chơi rèn tư duy cho trẻ 4–8 tuổi

8 trò chơi lập trình không cần máy tính cho trẻ 4–8 tuổi: người máy, thẻ mũi tên, dãy hạt, điệu nhảy, nếu thì, tô tranh theo mã, tìm lỗi; cách chơi và khái niệm trẻ học được.

Cảm biến tiệm cận cảm ứng từ: cấu tạo, nguyên lý dòng xoáy, cách chế tạo và nối với ESP32
Cảm biến tiệm cận cảm ứng từ: cấu tạo, nguyên lý dòng xoáy, cách chế tạo và nối với ESP32

Cảm biến tiệm cận cảm ứng từ hoạt động thế nào: cuộn dây lõi ferit, dao động tắt dần do dòng xoáy, khoảng tác động theo vật liệu, NPN, PNP, cách chế tạo và đếm vòng quay bằng ESP32.

Vali Nhựa Chuyên Dụng – Gia Công Mút Theo Biên Dạng Thiết Bị
Vali Nhựa Chuyên Dụng – Gia Công Mút Theo Biên Dạng Thiết Bị

Dịch vụ chọn vali và gia công mút theo biên dạng thiết bị; vật liệu, kích thước và mức bảo vệ được xác nhận theo từng mẫu cụ thể.

Gia công xốp chống sốc cho thiết bị đo lường: mẫu thực tế và cách đặt
Gia công xốp chống sốc cho thiết bị đo lường: mẫu thực tế và cách đặt

PYWORLD gia công xốp chống sốc theo biên dạng thiết bị đo lường: máy đo cầm tay, bơm hiệu chuẩn áp suất, đầu nối. Xem hai mẫu thực tế, cách bố trí khoang và thông tin cần gửi khi đặt.

Liên kết chuẩn đo lường (traceability): chuỗi hiệu chuẩn từ đơn vị SI tới thiết bị hiện trường
Liên kết chuẩn đo lường (traceability): chuỗi hiệu chuẩn từ đơn vị SI tới thiết bị hiện trường

Liên kết chuẩn đo lường là gì: chuỗi hiệu chuẩn không đứt đoạn từ đơn vị SI, chuẩn quốc gia tới thiết bị hiện trường, CIPM MRA, ILAC MRA, VILAS, các trường hợp chuỗi bị đứt và cách kiểm tra.

1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32
1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32

Giải thích giao tiếp 1-Wire: một dây dữ liệu, điện trở kéo lên, bốn kiểu khe thời gian, mã ROM 64 bit và CRC. Kèm hai chương trình ESP32 tự viết giao thức để đọc mã ROM và nhiệt độ DS18B20.

Encoder tuyệt đối: cấu tạo, mã Gray, đơn vòng, đa vòng, cách chế tạo và đọc AS5600 bằng ESP32
Encoder tuyệt đối: cấu tạo, mã Gray, đơn vòng, đa vòng, cách chế tạo và đọc AS5600 bằng ESP32

Encoder tuyệt đối hoạt động thế nào: đĩa mã nhị phân và mã Gray, đơn vòng, đa vòng, giao tiếp SSI, encoder từ tính, cách chế tạo và đọc cảm biến góc AS5600 bằng ESP32.

Tay điều khiển flycam và FPV: các kênh, tín hiệu PPM, SBUS, CRSF/ELRS, failsafe và băng tần
Tay điều khiển flycam và FPV: các kênh, tín hiệu PPM, SBUS, CRSF/ELRS, failsafe và băng tần

Tay điều khiển flycam và FPV: cần Mode 2, thứ tự kênh AETR, tín hiệu PWM, PPM, khung SBUS 25 byte, IBUS, CRSF/ELRS, failsafe khi mất sóng, kính FPV 5,8 GHz và dùng ESP32 làm bộ phát.


Bình luận
Đã thêm vào giỏ hàng