2017年1月17日 星期二

迷你四軸 SP racing F3 EVO Brushed + Cleanflight 試用

紀錄一下小改 Cleanflight 配上 SP racing F3 EVO Brushed 組合的效果
當作測試平台用
當然是越穩越無腦愈好XD


F3 EVO Brushed這塊飛控蠻便宜的, 6顆馬達的版本 NTD$~400左右
MCU是STM32F303CCT6  ARM M4 + FPU @ 72MHz
感應器只有MPU6500, 3軸加速度+3軸陀螺儀
有拉出3組UART, I2C應該可以跟UART2互換(要重編軔體)
接收機可以直接接DSM的小衛星
沒有SD卡插槽, 也沒有flash chip, 所以黑盒子不能用

出場搭配Cleanflight 1.13.0
個人重刷自己小改+編譯的1.14.2
(畢竟有的設定不適合迷你4軸)
code: https://github.com/cs8425/cleanflight/tree/MySPEV
主要修改:
1. 移掉個人用不到的功能(或裝上去一定飛不起來的XD)
    - 修改/target/SPRACINGF3EVO/target.h, 註解掉以下
        - SONAR
        - USE_MPU9250_MAG
        - USE_MAG_AK8963
        - USE_SDCARD
        - LED_STRIP
        - TRANSPONDER
        - BLACKBOX
        - TELEMETRY_IBUS
        - DISPLAY
        - USE_SERIAL_4WAY_BLHELI_INTERFACE
2. 提高姿態演算的計算頻率
    - 修改/fc/fc_tasks.c
    - TASK_ATTITUDE的部份
    - 100Hz >> 250Hz
3. 小修改PID計算的部份, 提高計算速度
4. 加入只靠加速度的定高(改動有點大, 請自行看code, 已提交PR)

至於設定可以猜考這篇:
https://community.micro-motor-warehouse.com/t/banggood-eachine-sp-racing-f3-evo-based-brushed-fc-set-up-guide-for-spektrum-sat-receivers/2574
基本上大同小異, 不一樣的地方:
8) Go to the "CLI" Tab
- Motor Jitter/Start up spinning -> Type: "set motor_pwm_rate=32000" enter.
我是用18000而非32000
PID部份是預設值, 完全沒動~~
(好啦, 我承認我只想靠拉sample rate搞定一切....)


CLI輸出:
# tasks
Task list max/us avg/us rate/hz maxload avgload total/ms
0 - SYSTEM 4 0 9 0.5% 0.5% 12
1 - GYRO 53 3 5000 27.0% 2.0% 81669
2 - PID 79 38 1984 16.1% 8.0% 98973
3 - ACCEL 30 0 994 3.4% 0.5% 17856
4 - ATTITUDE 63 31 241 2.0% 1.2% 11011
5 - RX 76 45 49 0.8% 0.7% 2769
6 - SERIAL 2765 2 98 27.5% 0.5% 2891
7 - BATTERY 9 0 49 0.5% 0.5% 118
8 - HW_WATCHDOG 2 0 0 0.5% 0.5% 0
9 - BEEPER 6 0 98 0.5% 0.5% 154
14 - ALTITUDE_ACC 12 0 49 0.5% 0.5% 263
15 - TELEMETRY 11 0 246 0.7% 0.5% 1180

飛行影片等有人要幫忙拍的時候再補吧~~




沒有留言:

張貼留言