FC2ブログ

BETAFPVLIGHT-04.jpg

BETAFPV Lite Brushed Flight Controller Silverware(NotFastEnuf/E011-BWHOOP-H8-Silverwareを適用する際のカスタマイズ箇所をまとめました。

※2018年6月16日時点のソースとなります。


■ 必要なもの

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

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


■ カスタマイズ

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

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

    【config.h】(2018/6/16時点のものとなります)
    □ 機種の選択
    BWHOOPを有効(14行目)にします。
    09: // *************DEFINE FLIGHT CONTROLLER HARDWARE
    10: // *************SELECT ONLY ONE
    11: // *************uncomment BWHOOP define for bwhoop, bwhoop pro, E011C Santa Edition, and Beta FPV Lite Flight Controllers
    12: // *************uncomment E011 define for E011 flight Controller
    13: // *************uncomment H8mini_blue_board for the H8 mini flight controller with blue circuit board
    14: #define BWHOOP
    15: //#define E011
    16: //#define H8mini_blue_board
    17: //#define Alienwhoop_ZERO // requires defining RX_SBUS radio protocol

    □RATEの設定
    24: // *************rate in deg/sec
    25: // *************for acro mode
    26: #define MAX_RATE 860.0
    27: #define MAX_RATEYAW 500.0

    □LEVELモードの最大角度(Angle Limit)の設定
    22: // *************max angle for level mode
    #define LEVEL_MAX_ANGLE 65.0f

    □ EXPOの設定
    acroモードとangle(level)モード、それぞれでEXPO値を設定することができるようになっています。
    プロポ側で設定する場合は0を設定し、無効にします。
    35: // *** **********EXPO from 0.00 to 1.00 , 0 = no exp
    36: // *************positive = less sensitive near center
    37: #define ACRO_EXPO_ROLL 0.80
    38: #define ACRO_EXPO_PITCH 0.80
    39: #define ACRO_EXPO_YAW 0.60
    40:
    41: #define ANGLE_EXPO_ROLL 0.55
    42: #define ANGLE_EXPO_PITCH 0.0
    43: #define ANGLE_EXPO_YAW 0.55

    □ Transmitterの設定
    デフォルトではMultiprotocolモジュールとなっています。使用するプロポに合わせて、変更します。
    59: // *************Transmitter Type Selection
    60: //#define USE_STOCK_TX
    61: //#define USE_DEVO
    62: #define USE_MULTI

    □ ARMスイッチの設定
    78: #define ARMING CHAN_5

    □ AIRモードの設定
    AIRモードのスイッチとスロットルがゼロの時の回転数を設定します。
    デフォルトでスイッチは、ARMスイッチと同じになっています。
    AIRモードを使用しない場合は、コメントアウトします。
    私は、AIRモードは無効にしています。墜落時にプロペラが回り続けるため、家で飛ばすにはちょっと危険です。
    79: #define IDLE_UP CHAN_5
    80: #define IDLE_THR 0.05f

    □ LEVELモード、RACEモード、HORIZONモードスイッチの設定
    81: #define LEVELMODE CHAN_6
    82: #define RACEMODE CHAN_7
    83: #define HORIZON CHAN_8

    ※DEVOとMultiprotocolモジュールでは、CHAN_5~CHAN_10がCH5~CH10に該当します。

    □ スロットルカーブの設定
    デフォルトでは無効となっています。
    182: // *************motor curve to use - select one
    183: // *************the pwm frequency has to be set independently
    184: #define MOTOR_CURVE_NONE
    185: //#define MOTOR_CURVE_6MM_490HZ
    186: //#define MOTOR_CURVE_85MM_8KHZ
    187: //#define MOTOR_CURVE_85MM_32KHZ
    188: //#define BOLDCLASH_716MM_8K
    189: //#define BOLDCLASH_716MM_24K

    【pid.c】(2018/6/16時点のものとなります)
    □ PIDの設定
    65: //************************************PIDS****************************************
    66:
    67:
    68: //Origional 6mm Whoop Tune 615 19600kv - set filtering to WEAK_FILTERING
    69: // ROLL PITCH YAW
    70: //float pidkp[PIDNUMBER] = {19.5e-2 , 19.5e-2 , 7.5e-1 };
    71: //float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 13e-1 };
    72: //float pidkd[PIDNUMBER] = { 6.9e-1 , 6.9e-1 , 5.5e-1 };
    73:
    74: //6mm & 7mm Abduction Pids (Team Alienwhoop)- set filtering to WEAK_FILTERING for 6mm, and STRONG_FILTERING or VERY_STRONG_FILTERING for 7mm
    75: // ROLL PITCH YAW
    76: float pidkp[PIDNUMBER] = {21.5e-2 , 21.5e-2 , 10.5e-1 };
    77: float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
    78: float pidkd[PIDNUMBER] = { 7.4e-1 , 7.4e-1 , 5.5e-1 };
    79:
    80: //6mm AwesomeSauce 20000kv Pids (Team Alienwhoop) - set filtering to WEAK_FILTERING
    81: // ROLL PITCH YAW
    82: //float pidkp[PIDNUMBER] = { 25.5e-2 , 25.5e-2 , 11.5e-1 };
    83: //float pidki[PIDNUMBER] = { 20.5e-1 , 20.5e-1 , 16e-1 };
    84: //float pidkd[PIDNUMBER] = { 11.4e-1 , 11.4e-1 , 4.9e-1 };
    85:
    86: //BOSS 6 & 7 - 615 and 716 motors, hm830 46mm props - set filtering to VERY_STRONG_FILTERING
    87: // ROLL PITCH YAW
    88: //float pidkp[PIDNUMBER] = { 24.5e-2 , 24.5e-2 , 9.5e-1 };
    89: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    90: //float pidkd[PIDNUMBER] = {14.1e-1 , 14.1e-1 , 7e-1 };
    91:
    92: //(EXPERIMENTAL) BOSS 7 with TORQUE_BOOST at 2.0 - set filtering to VERY_STRONG_FILTERING
    93: // ROLL PITCH YAW
    94: //float pidkp[PIDNUMBER] = { 22.7e-2 , 22.7e-2 , 9.5e-1 };
    95: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    96: //float pidkd[PIDNUMBER] = {8.7e-1 , 8.7e-1 , 0e-1 };
    97:
    98: //BOSS 8.0 - 816 motors, kingkong 66mm props - set filtering to WEAK_FILTERING
    99: // ROLL PITCH YAW
    100: //float pidkp[PIDNUMBER] = { 26.7e-2 , 26.7e-2 , 9.5e-1 };
    101: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 8e-1 };
    102: //float pidkd[PIDNUMBER] = {16.2e-1 , 16.2e-1 , 7e-1 };
    103:
    104: //BOSS 8.5 - 820 motors, kingkong 66mm props - set filtering to STRONG_FILTERING
    105: // ROLL PITCH YAW
    106: //float pidkp[PIDNUMBER] = { 29.5e-2 , 29.5e-2 , 11.5e-1 };
    107: //float pidki[PIDNUMBER] = { 12e-1 , 12e-1 , 12.0e-1 };
    108: //float pidkd[PIDNUMBER] = {17.5e-1 , 17.5e-1 , 7e-1 };


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

    ビルド後、エラーが発生していないことを確認します。
    E011_fw2-05.png

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


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

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


■ LINK



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