FC2ブログ

カスタマイズ可能なファームウェアとして、
「silver13/BoldClash-BWHOOP-B-03」からforkされた「NotFastEnuf/E011-BWHOOP-H8-Silverware」があります。
BWHOOP B03、E011、H8mini(ブルーボード)に対応しており、
オリジナルにはないRaceモードといった機能が追加されています。


■ 必要なもの

  1. NotFastEnuf/E011-BWHOOP-H8-Silverware(E011-BWHOOP-H8-Silverware-master.zip)
    GitHubからダウンロードします。

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


■ カスタマイズ

  1. Keil uVision5の起動
    E011-BWHOOP-H8-Silverware-master.zipを解凍してできたSilverwareフォルダ配下の
    silverware.uvprojxをダブルクリックすると、Keil uVision5が起動します。
    ※Keil uVision5が既にインストールされている前提です。

    BWB03_fw-11.png

  2. ソース修正
    Keil uVision5を使用して、修正します。

    BWB03_fw-13.png

    【config.h】(2018/3/11時点のものとなります)
    □ 機種の選択
    BWHOOPがデフォルトで有効となっているため、修正は必要ありません。
    E011、H8miniに適用する場合は、修正が必要です。
    14: #define BWHOOP
    15: //#define E011
    16: //#define H8mini_blue_board
     
    □ RATEの設定
    室内でフリップをする場合は、高めの値に変更します。
    22: // *************rate in deg/sec
    23: // *************for acro mode
    24: #define MAX_RATE 860.0
    25: #define MAX_RATEYAW 500.0

    □ EXPOの設定
    EXPO値を設定します。
    デフォルトでEXPO値が有効となっています。
    プロポでEXPO設定する場合、EXPO_XY、EXPO_YAWの値に0を設定することで無効となります。
    (「#define DISABLE_EXPO」のコメントアウトを外すことでも無効にできます。)
    33: // *************EXPO from 0.00 to 1.00 , 0 = no exp
    34: // *************positive = less sensitive near center
    35: #define EXPO_XY 0.8
    36: #define EXPO_YAW 0.6

    249: // disable inbuilt expo functions
    250: //#define DISABLE_EXPO

    □ Transmitterの設定
    デフォルトではDEVOとなっているため、使用するプロポに合わせて、コメントアウトを外します。
    53: // *************Transmitter Type Selection
    54: //#define USE_STOCK_TX
    55: #define USE_DEVO
    56: //#define USE_MULTI

    □ スイッチの設定
    ARMスイッチ(airモード)
    67: #define IDLE_UP CHAN_5
    ※airモードを使用しない場合は、コメントアウトします。

    LEVELモード(acro)、RACEモード、HORIZONモード
    74: #define LEVELMODE CHAN_6
    75: #define RACEMODE CHAN_7
    76: #define HORIZON CHAN_8

    ※DEVOとMultiprotocolモジュールでは、CHAN_5~CHAN_10がCH5~CH10に該当します。
    ※付属プロポでは、以下となります。
     CHAN_5:RATEボタン(スピードボタン)
     CHAN_6:スティックジェスチャー(右右下、左左下)
     CHAN_7:ヘッドフリーボタン
     CHAN_8:ロールトリムボタン
     CHAN_9:ピッチトリムボタン

    □ スロットルカーブの設定
    デフォルトでは無効となっています。
    149: // *************motor curve to use - select one
    150: // *************the pwm frequency has to be set independently
    151: #define MOTOR_CURVE_NONE
    152: //#define MOTOR_CURVE_6MM_490HZ
    153: //#define MOTOR_CURVE_85MM_8KHZ
    154: //#define MOTOR_CURVE_85MM_32KHZ
    155: //#define BOLDCLASH_716MM_8K
    156: //#define BOLDCLASH_716MM_24K


    【pid.c】(2018/3/11時点のものとなります)
    □ PIDの設定
    615/716/816/820モーター用のサンプルが用意されています。
    34: //************************************PIDS****************************************
    35:
    36: //7mm Whoop NotFastEnuf "High and Tight Pids" -kalman gyro at 90hz, D 2nd at 100hz, motor filter at 90hz
    37: // ROLL PITCH YAW
    38: //float pidkp[PIDNUMBER] = { 27.0e-2 , 27.0e-2 , 11.5e-1 };
    39: //float pidki[PIDNUMBER] = { 20.5e-1 , 20.5e-1 , 16e-1 };
    40: //float pidkd[PIDNUMBER] = { 11.4e-1 , 11.4e-1 , 4.9e-1 };
    41:
    42: //7mm Whoop NotFastEnuf "Default Pids" -kalman gyro at 90hz, D 2nd at 100hz, motor filter at 90hz
    43: // ROLL PITCH YAW
    44: float pidkp[PIDNUMBER] = { 26.5e-2 , 26.5e-2 , 8.5e-1 };
    45: float pidki[PIDNUMBER] = { 16e-1 , 16e-1 , 13e-1 };
    46: float pidkd[PIDNUMBER] = {11.1e-1 , 11.1e-1 , 4.9e-1 };
    47:
    48: //6mm Whoop -kalman gyro at 90hz, D 2nd at 100hz, motor filter at 90hz
    49: // ROLL PITCH YAW
    50: //float pidkp[PIDNUMBER] = {19.5e-2 , 19.5e-2 , 7.5e-1 };
    51: //float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 13e-1 };
    52: //float pidkd[PIDNUMBER] = { 6.9e-1 , 6.9e-1 , 5.5e-1 };
    53:
    54: //BOSS 6 & 7 - 615 and 716 motors, hm830 46mm props -1st gyro at 70hz, D 2nd at 80hz, motor filter at 70hz
    55: // ROLL PITCH YAW
    56: //float pidkp[PIDNUMBER] = { 24.5e-2 , 24.5e-2 , 9.5e-1 };
    57: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    58: //float pidkd[PIDNUMBER] = {14.1e-1 , 14.1e-1 , 7e-1 };
    59:
    60: //(EXPERIMENTAL) BOSS 7 with TORQUE_BOOST at 2.0 - same gyro & d filters as regular boss 7 tune
    61: // ROLL PITCH YAW
    62: //float pidkp[PIDNUMBER] = { 22.7e-2 , 22.7e-2 , 9.5e-1 };
    63: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    64: //float pidkd[PIDNUMBER] = {8.7e-1 , 8.7e-1 , 0e-1 };
    65:
    66: //BOSS 8.0 - 816 motors, kingkong 66mm props -kalman gyro at 90hz, D 2nd at 100hz, motor filter at 90hz
    67: // ROLL PITCH YAW
    68: //float pidkp[PIDNUMBER] = { 26.7e-2 , 26.7e-2 , 9.5e-1 };
    69: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    70: //float pidkd[PIDNUMBER] = {16.2e-1 , 16.2e-1 , 7e-1 };
    71:
    72: //BOSS 8.5 - 820 motors, kingkong 66mm props -kalman at 80hz, D 2nd at 90hz, motor filter at 90hz
    73: // ROLL PITCH YAW
    74: //float pidkp[PIDNUMBER] = { 29.5e-2 , 29.5e-2 , 11.5e-1 };
    75: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 12.0e-1 };
    76: //float pidkd[PIDNUMBER] = {17.5e-1 , 17.5e-1 , 7e-1 };


  3. ファームウェアのビルド
    メニューにあるBuildアイコンをクリックし、ビルドします。
    ビルド後、エラーが発生していないことを確認します。
    BWB03_fw-14.png

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



■ ファームウェアの書き込み

STM32 ST-Link Utilityを使用して、FCにObjectsフォルダ配下のbwhoop.hexを書き込みます。


■ LINK

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