FC2ブログ

FC_BETAFPV-13.png


ファームウェア(BETAFPV/LiteSilverwareのカスタマイズ手順とソースの修正箇所をまとめました。


■ 必要なもの

  1. BETAFPV/LiteSilverware
    GitHubからソースをダウンロードします。

  2. Keil uVision5
    ソースを修正し、ファームウェアをビルドするためのソフトウェアです。
    リンク先の「MDK-ARM」を入手し、インストールします。


■ ファームウェアのカスタマイズ

  1. Keil uVision5の起動
    ダウンロードしたLiteSilverware-master.zipを解凍してできたSilverwareフォルダ配下の
    silverware.uvprojxをダブルクリックし、Keil uVision5を起動します。

  2. ソース修正
    Keil uVision5で、対象ファイル(左画面)をダブルクリックし、右画面に表示されたソースを編集します。

    ※以下は2020/1/25時点のソースとなります。

    【config.h】

    □ 機種の選択
    f042_1s_blを無効にし、f042_2s_blを有効にする必要があります。
    //#define BWHOOP
    //#define E011
    //#define H8mini_blue_board
    //#define Silverlite_Brushless
    //#define Alienwhoop_ZERO
    //#define Lite_Brushless
    #define Lite_BrushlessRX

    //#define f042_1s_bl
    #define f042_2s_bl

    //#define f042_1s_b

    □ RATE設定の選択
    デフォルトは、SILVERWARE_RATESとなっています。
    #define SILVERWARE_RATES
    //#define BETAFLIGHT_RATES

    □ RATEの設定(SILVERWARE_RATESが有効の場合)
    #define MAX_RATE 860.0
    #define MAX_RATEYAW 500.0

    □ RATEの設定(BETAFLIGHT_RATESが有効の場合)
    #define BF_RC_RATE_ROLL 1.00
    #define BF_RC_RATE_PITCH 1.00
    #define BF_RC_RATE_YAW 1.00
    #define BF_SUPER_RATE_ROLL 0.70
    #define BF_SUPER_RATE_PITCH 0.70
    #define BF_SUPER_RATE_YAW 0.70

    □ EXPOの設定(SILVERWARE_RATESが有効の場合)
    #define ACRO_EXPO_ROLL 0.80
    #define ACRO_EXPO_PITCH 0.80
    #define ACRO_EXPO_YAW 0.60
    #define ANGLE_EXPO_ROLL 0.55
    #define ANGLE_EXPO_PITCH 0.0
    #define ANGLE_EXPO_YAW 0.55

    □ EXPOの設定(BETAFLIGHT_RATESが有効の場合)
    #define BF_EXPO_ROLL 0.00
    #define BF_EXPO_PITCH 0.00
    #define BF_EXPO_YAW 0.00

    □ LEVELモードの最大角度(Angle Limit)の設定
    #define LEVEL_MAX_ANGLE 65.0f

    □ レシーバープロトコルの設定
    frskyバージョンはデフォルト値(RX_SBUS_DSMX_BAYANG_SWITCH)で問題ありませんでした。
    //#define RX_SBUS
    //#define RX_CRSF
    //#define RX_DSMX_2048
    //#define RX_DSM2_1024
    #define RX_SBUS_DSMX_BAYANG_SWITCH
    //#define RX_NRF24_BAYANG_TELEMETRY
    //#define RX_BAYANG_PROTOCOL_BLE_BEACON
    //#define RX_BAYANG_PROTOCOL_TELEMETRY_AUTOBIND

    □ Transmitterの設定
    デフォルトではMultiprotocolモジュールとなっています。
    //#define USE_STOCK_TX
    //#define USE_DEVO
    #define USE_MULTI

    □ 各スイッチの設定
    ARMスイッチ
    ARMスイッチはCH5となっています。
    #define ARMING CHAN_5

    AIRモード
    デフォルトではARMスイッチと同じCH5が指定されているので、ARMした際にONとなります。
    AIRモードを使用しない場合は、IDLE_UP に「CHAN_OFF」を設定します。
    #define IDLE_UP CHAN_5

    LEVELモード、RACEモード、HORIZONモード
    #define LEVELMODE CHAN_6
    #define RACEMODE CHAN_7
    #define HORIZON CHAN_8

    PIDプロファイル変更
    PIDプロファイルを変更するチャネルを指定します。
    #define PIDPROFILE CHAN_9

    □ Lipoバッテリーのセル数設定
    デフォルトではコメントアウトされ、自動検出となっています。
    私は、2Sバッテリーしか使わないため、有効化し、2にしました。
    #define LIPO_CELL_COUNT 2

    □ PID自動調整機能のON/OFF
    バッテリー低下時にPIDを自動的に上げる機能の有効/無効を設定します。
    デフォルトでは有効となっていますが、使うモーターによっては、無効にする必要があります。
    Happymodel SE0803 16000KVでは無効にしました。有効だとスロットルを少しあげただけで上昇し続けてしまいます。
    //#define PID_VOLTAGE_COMPENSATION

    □ フィルター設定
    デフォルトではBETA_FILTERINGが有効となっています。
    Happymodel SE0803 16000KVではWEAK_FILTERINGが一番、挙動が安定しました。
    #define WEAK_FILTERING
    //#define STRONG_FILTERING
    //#define VERY_STRONG_FILTERING
    //#define ALIENWHOOP_ZERO_FILTERING
    //#define BETA_FILTERING

    BETA_FILTERING設定
    //Select Gyro Filter Type *** Select Only One type
    #define KALMAN_GYRO
    //#define PT1_GYRO

    //Select Gyro Filter Cut Frequency
    #define GYRO_FILTER_PASS1 HZ_90
    #define GYRO_FILTER_PASS2 HZ_90

    //Select D Term Filter Cut Frequency *** Select Only one
    #define DTERM_LPF_2ND_HZ 100
    //#define DTERM_LPF_1ST_HZ 70

    //Select Motor Filter Type (I am no longer using this)
    //#define MOTOR_FILTER2_ALPHA MFILT1_HZ_90


    【pid.c】

    □ PIDの設定
    f042_2s_blの部分を修正します。
    #ifdef f042_2s_bl

    float pidkp[PIDNUMBER] = {11.2e-2 , 12.6e-2 , 1.8e-1 };
    float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
    float pidkd[PIDNUMBER] = { 5.6e-1 , 6.7e-1 , 0.5e-1 };

    #endif


  3. ファームウェアのビルド
    メニューにあるBuildアイコンをクリックし、ビルドします。
    FC_BETAFPV-14.png

    ビルド後、エラーが発生していないことを確認します。
    ワーニングが1つ出ましたが、影響はなさそうなので無視しました。
    FC_BETAFPV-15.png

    正常に完了すると、Objectsフォルダ配下にlite_silverware.hexが作成されます。
    FC_BETAFPV-16.png



■ RELATED



■ LINK


関連記事
スポンサーサイト