« 2017年12月 | トップページ | 2018年5月 »

2018年1月

HFR-155(Piko BLX, RacerStar MS25A?)にbetaflight 3.2.3を適用

HobbyNet HFR-155 Ver.2.0のFC/Furious F3 Piko BLXのfirmwareを3.1.7から3.2.3に更新しようとしたのですが、BetaFlightのPIKOBLXのリストには、3.1.7までしか表示されません。そこで、検索をしたところ、下記記事を見つけました。
https://www.reddit.com/r/Multicopter/comments/6tp3ml/piko_blx_betaflight_targets/
これによると、FF_PIKOBLXで問題ないと書いてあるので、更新をしてみました。以下にその手順を紹介します。PCはWindows 10です。

■ DFUモードに切替
FCのファームウェアを書き込むためには、以下の2つの方法(Zadig、ImpulseRC_Driver_Fixer)のどちらかでPiko BLXとPCの接続をCOMからDFUモード(Device Firmware Update)に切り替える必要があります。(事前に、USBドライバがインストールされ、PCがCOM PortでFCを認識していることが必要です。詳細は、Betaflight Configuratorの起動画面に書いてあります。)(DFUモードにするには、基板のBootランドを短絡する方法もあるらしいのですが、HFR-155ではESCの配線が邪魔して短絡できません。)

◆ Zadig(公式) : http://zadig.akeo.ie/
※ 私の環境では下記手順でDFUモードにならないことがあるので、間違っているかも知れません。

1) PCのUSBにPiko BLXを接続。
2) [Google Chrome]-[アプリ]-[Betaflight]-"STM32 Virtual COM Port|STMicroelectoronics Virtual COM Port"のCOM番号を選択し[Connect]。
※ COM番号はデバイスマネージャーのポート(COMとLPT)で確認できます。
3) CLIのタブから"DFU"(3.2.x以降の場合は"BL")と入力し[Enter]。これでBetaflight Configuratorの右上の表示がDFUモードに切り替わらなければ、以下4)~11)を行う。
4) zadig-2.3.exeをダブルクリック。
5) ユーザーアカウント制御で[はい]をクリック。
※ "Zadig update policy"が出たら好みで[Yes|No]。デフォルトの[No]で良いと思う。
6) [Options]-[List All Devices]をチェック。
Zadig_0 Zadig_1
7) リストから[STM32 Virtual COM Port|STM32 BOOTLOADER]を選択。【注意!】
Zadig_3
8) [WinUSB (v6.1.7600.16385)]を選択。
9) [Install Driver|Replace Driver]をクリック。
Zadig_4
10) "The driver was installed succesfully."と表示されたら[Close]。
11) Google ChromeとBetaflightを立ち上げ直す。
12) 以上でDFUモードになるはずですが...

【注意!】Zadig実行前に、Windowsの復元ポイントを作っておいた方が良いと思います。
(私は、Zadigの試行錯誤中に間違ってPCのカードリーダーのドライバを書き換えてしまったらしく、PCがメモリカードを認識しなくなりました。そこで、カードリーダーのドライバをPCメーカサイトからダウンロードしインストールしようとしたら、ドライバが古く(Windows 7用)、インストーラーが起動しません。そこで、Zadig実行前の復元ポイントで復活させました。)

※ Windowsの復元ポイントの作成
[スタート]-[Windows システムツール]-[コントロールパネル]-[システムとセキュリティ]-[システム]-[システムの保護]-[システムの保護]-[作成]-名前を入力-[作成]-[閉じる]

※ Windowsの復元ポイントの復元
[スタート]-[Windows システムツール]-[コントロールパネル]-[システムとセキュリティ]-[システム]-[システムの保護]-[システムの保護]-[システムの復元]-[次へ]-[別の復元ポイントを選択する]-[次へ]-復元ポイントを選択-[影響を受けるプログラムの検出]-[次へ]-[閉じる]。影響を受けるプログラムは再インストールが必要。

◆ ImpulseRC_Driver_Fixer(非公式) : https://impulserc.com/pages/downloads/
Zadigよりこちらの方が簡単です。
1~3) 前記と同じです。3)でDFUモードにならなければ、以下を行います。
4) PCのUSBにPiko BLXを接続。
5) ImpulseRC_Driver_Fixer.exeを実行する。そして、DFUモードの設定が終わるのを待つ。
6) [Google Chrome]-[アプリ]-[Betaflight]。
7) 以上でDFUモードになります。

■ ファームウェアのダウンロードと書込み : By Betaflight Configurator
DFUモードでBetaflight Configuratorが起動できたら、以下の手順でファームウェアを書き換えます。
1) Betaflight Configuratorの[Firmware Flasher]のタブを開く。
2) 左上にあるボードで[FF_PIKOBLX]を選択。
3) その下のファームウエアを選ぶ所で最新版[今回は、3.2.3 - FF_PIKOBLX - 11-12-2017 19:26 (stable)]を選択。
4) [No reboot sequence]のスイッチを入れて黄色い状態にする。
5) 右下にある[Load Firmware [Online]]のボタンを押しファームをダウンロード。
6) しばらくすると[Flash Firmware]のボタンが押せるようになります。そのボタンを押すと書き込みが開始され一番画面下のプログレスバーが動き出します。
7) 書き込みが終わると右上の表示がDFUからCOMに変わるので、[Connect]を押して繋がれば更新完了です。

※ 参考:別のファームウェア書き込み方法:STM32 Flash loader demonstrator
上記方法でファームウェアの書き込みができない場合は、次の記事が参考になるかも知れません。https://drone4.blog.fc2.com/blog-entry-181.html

■ Betaflightの設定 : By Betaflight Configurator
◆ Setup
1) PCとPiko BLXを接続、[Google Chrome]-[アプリ]-[Betaflight]-COM番号を選択-[Connect]。
Bf323_00
2) 機体を水平にして[Calibrate Accelerometer]。
Horizon_cal Bf323_10

◆ Ports
1) UART2のTelemetry OutputをFrSkyからDisabledに変更、Configuration/MSPをOFF(左灰)からON(右黄)に変更。
2) UART3のSerial RxをOFF(左灰)からON(右黄)に変更。
3) [Save and Reboot]-[Connect]。
【注意】USB VCPは、デフォルト(Configuration/MSP=ON)から変更しないこと。

以下、初期値からの変更箇所を行頭*で示します。送信機にFutaba T10J、受信機にSF800 SB 8CH 2.4G Receiverを使用した場合の設定です。最初は必要最小限の変更にした方が良いと思います。

◆ Configuration
1) Mixer
- Quad X
- Motor direction is reversed : off
2) ESC/Motor Features
* ESC/Potor protocol : BURUSHED -> MULTISHOT(後でDSHOT300にします。)
* Motor PWM speed Separated from PID speed : on -> off
- MOTOR_STOP : off
- Disarm motors regardless of throttle value (When arming via AUX channel) : on
- Minimum Throttle (Lowest ESC value when armed) : 1049
- Maximum Throttle (Highest ESC value when armed) : 2000
- Minimum Command (ESC value when disarmed) : 1000
3) Bord and Sensor Alignment
- Roll Degrees : 0
- Pirch Degrees : 0
- Yaw Degrees : 0
- GYRO Alignment : Default
- ACCEL Alignment : Default
- MAG Alignment : Default
4) System configuration
- Enable gyro 32kHz sampling mode : off
- Gyro update frequency : 8kHz
* PID loop frequency : 2kHz -> 4kHz
- Accelerometer : on
- Barometer (if supported) : off
- Magnetometer (if supported) : off
5) Accelerometer Trim
- Accelerometer Roll Trim : 0
- Accelerometer Pttch Trim : 0
6) Personalization
- Craft name : ""
7) Camera
- FPV Camera Angle [degrees] : 0
8) Receiver
- Receiver Mode : Serial-based receive (SPECSAT, SBUS, SUMD)
- Serial Receiver Provider : SBUS
9) RSSI (Signal Strength)
- RSSI ADC Analog RSSI input : off
10) Other Features
All off
* TELEMETRY : on -> off
11) 3D ESC/Motor Features
- 3D : off
- GPS : off
12) Beeper Configuration
All on
13) [Save & Reboot]-[Connect]

Betaflight 4.0.0
* AIRMODE:off
DSHOTビーコン設定
* RX_LOST:on
* RX_SET:on

◆ Power & Battery
1) Battery
- Voltage meter source : Oboard ADC
* Current Meter Source : Virtual -> None
- Minimum Cell Voltage : 3.3
- Maximum Cell Voltage : 4.3
* Warning Cell Voltage : 3.5 -> 3.2
* Capacity (mAh) : 0 -> 850
2) Voltage meter
- Scale : 110
- Divider Value : 10
- Multiplier Value : 1

◆ PID Tuning / PID Settings
PIDの値はバージョンで異なるので、まず初期値で試します。
1) PID Settings Ver.3.2.3
              P    I    D   RC  Super  Max  Expo
- ROLL   80  37  35  1.00  0.80  1000  0.15
- Pitch  100  37  35         0.80  1000
- YAW   180  45       1.00  0.80  1000  0.15
1) PID Settings Ver.3.3.1
               P    I    D   RC  Super  Max  Expo
- ROLL   40  40  30  1.00   0.70    667  0.00
- Pitch    58  50  35          0.70    667
- YAW    70  45       1.00    0.70    667  0.00
2) Angle/Hrizon
          Strength  Transition
- Angle    50
- Horizon  50        75
- Angle Limit Seneitibity
     55           55
3) PID Controller Settings
- D Setpoint Weight : 0
- D Setpoint Trabsition : 0
4) Anti Gravity Gain : 1
5) Anti Gravity Threshold : 350
6) Throttle MID : 0.5
7) Throttle EXPO : 0
8) TPA : 0.1
9) TPA Breakpoint : 1650

◆ PID Tuning / Filter Settings
1) D-Term Lowpass Filter : BIQUAD
2) Profile independent Filter Settongs
- Gyro soft Lowpass Frequency [Hz] : 90
- Enable Gyro Notch Filter 1 : on
- Gyro Notch Filter 1 Frequency [Hz] : 400
- Gyro Notch Filter Cutoff 1 Frequency [Hz] : 300
- Enable Gyro Notch Filter 2 : on
- Gyro Notch Filter 2 Frequency [Hz] : 200
- Gyro Notch Filter Cutoff 2 Frequency [Hz] : 100
3) Filter Settings
- D Term Lowpass Frequency [Hz] : 100
- Enable D Term Notch Filter [Hz] : on
- D Term Notch Filter Frequency [Hz] : 260
- D Term Notch Filter Cutoff [Hz] : 160
- Yaw Lowpass Frequency [Hz] : 0

◆ Receiver
*1) Channel Map : AETR1234 (T10J Mode1の場合)
2) RSSI Channel : Disabled
3) 'Stick Low' Threshold : 1050
4) Stick Center : 1500
5) 'Stick High' Threshold : 1900
6) RC Deadband : 0
7) Yaw Deadband : 0
8) 3D Trottle Deadband : 50
9) RC Interpolation : Auto

※ ここでReceiver(SBUS)が反応しない問題が発生しました。Ver.3.1.7に戻すと反応します。そこで、3.1.7と3.2.3のCLIのDumpの差を調べたところ、次の値が異なっていることが原因と判明しました。
3.1.7 : set sbus_inversion = ON
3.2.3 : set sbus_inversion = OFF

3.3.1では以下のようになっていましたが、認識しました。
set serialrx_provider = SBUS
set serialrx_inverted = OFF

▲ 対策 for 3.2.3
1) CLIタブを開きます。
2) set sbus_inversion = ON [Enter]
3) save [Enter]

以上でReceiverが動くようになりました。

参考:https://github.com/betaflight/betaflight/wiki/Board---FF_PIKOBLX

◆ 送信機の設定
1) トリムを全てセンターにし、デュアルレートSWをハイにします。
2) サブトリムを調整して、スティックセンターが1500を示すようにします。
3) エンドポイントを調整して、下限値と上限値が1000/2000を示すようにします。

◆ Modes
1) 送信機のスイッチを以下のように割り当てました。
* Angle/Horizon/Acro用:3ポジションSW(T10JのSW-E):AUX1(T10JのAUX5)。Eは奥が900ms側=Angle。Acroの時に同時にAirも設定する。
* Beeper用:2ポジションSW(T10JのSW-G):AUX2(T10JのAUX6):Gは手前が2100ms側=Beep On。
* Arm用:2ポジションSW(T10JのSW-B):AUX3(T10JのAUX7):Bは上が900ms=Arm。
* Flip after crash mode(旧名Turtle Mode)用:2ポジションSW(T10JのSW-D):AUX4(T10JのAUX8):Dは上が900ms=Flip On。
*(Dual Rate : T10のSW-A : 上がハイレート。)

(T10Jの3ポジションSW-Cを上Air mode、中Arm、下Disarmに割り当てる方法もあるようです。)

2) BetaflightのModesタブで以下のように設定します。
* ANGLE : AUX1 : 900-1300 (SW E 奥)
* HOROZON : AUX1 : 1300-1700 (SW E 中)
* BEEPER : AUX2 : 1700-2100 (SW G 手前)
* AIR MODE : AUX1 : 1700-2100 (SW E 手前)
* Flip after crash mode : AUX4 : 900-1300 (SW D 上)
* ARM : AUX3 : 900-1300 (SW B 上)

(BetaflightのAUX1は、T10Jでは4を足した数字のAUX5になります。)

◆ Motors
MULTISHOT等のアナログプロトコルの場合、以下の手順でキャリブレーションをします。DSHOT等のデジタルプロトコルではキャリブレーションは不要です。
1) モータが回転しても安全なようにする。(プロペラを外す。)
2) "I understand the risk."をONにする。
3) Masterレバーを一番上にする。
4) 機体にバッテリを接続する。
5) キャリブレーション音が止まったらMasterレバーを一番下に下げる。
6) キャリブレーション音が止まったらバッテリを外す。

以上で初期設定は終了です。後は飛行させての調整になります。

■ Arm(プロペラ回転)の方法(ModesでArmにスイッチを割り当てない場合)
- Arming : スロットル最小で、ラダーを右
- Disarming : スロットル最小で、ラダーを左
- 5秒以上スロットル最小でDisarming

■ ESC BeeperとFlip after crash mode(旧名Turtle Mode)が動作しない問題
以上の作業ではこれらの新機能が動作しませんでした。
結果から言うと、HFR-155 Ver.2.0でこの新機能を使うためには、半田付作業を含む追加作業が必要であることが分かりました。以下に使えるまでの試行錯誤の経緯を紹介します。

■ BeeperとTurtle Modeの設定方法を検索
Beeperが動作しないので、検索したら以下の情報を発見しました。何を言っているのか分かりませんが、DSHOTコマンド、BLHeli_S Version 16.67と言う単語が聞こえます。ESCのファームウェアを書き換えろと言っています。(これを見るまで、私はオープンソースのESCのファームウェアがあり、書換ができることを知りませんでした。)
https://youtu.be/3LL2caB3r88

よって原因は、"ESC/Motor protocol"がDSHOTではなくMULTISHOTであることと思われます。しかし、HFR-155 Ver.2.0のESCがDSHOT対応なのかどうかが不明です。
そこで、試しにDSHOT150を選んでみましたが、Armingができなくなるので、DSHOT非対応のようです。

参考:YouTubeは字幕表示ができます。また音声をGoogleドキュメントに取り込んで日本語に翻訳することができます。音声取込が1分程度で止まってしまうので、範囲を絞った方が良いです。翻訳された日本語は理解困難ですので、そこから意味を推定する必要があります。
https://yutorinote.com/google-documents-voice-recognition/

■ 写真によるESCの型式調査
DSHOTコマンド対応のファームウェアに書き換えられるかどうかを調べるために、まずESCのメーカーと型式を調べることにしました。
HobbyNetのHPでは、HFR-155 Ver.2.0に搭載されているESCはLP-ESC 30A BLHeli or MAVERICK24Aと書いてありますが、ネットで検索した写真と一致しないので、この情報は当てになりません。販売時期により違うESCを使用しているのかも知れません。HobbyNetにメールで問い合わせようかとも思ったのですが、もう少し調べてみました。

■ とりあえずBLHeliSuiteを使ってみた
ESCのファームウェアがBLHeli_SかどうかをBLHeliSuiteで調べました。

1) 下記サイトからBLHeliSuite16714900.zipをダウンロードし、展開します。
https://blhelisuite.wordpress.com/

2) バッテリを外した状態でPiko BLXとPCをUSB接続。
3) BLHeliSuite.exeを実行。
4) [Select ATMEL / SILABS Interface]-[SILABS BLHeli Bootloader (Cleanflight)|ATMEL BLHeli/SK Bootloader (Cleanflight)]
ここではESCで使用しているチップと接続方法を指定するのですが、不明なので適当にSILABS BLHeli Bootloader (Cleanflight)を選びます。ESCとPCの接続はFC経由なのでFCのファームウェアがBetaflightであっても(Cleanflight)を選びます。
5) バッテリをPiko BLXに接続する。
6) Piko BLXを接続しているCOM番号を選択。[Connect]で、下に接続されているESC数の空白の四角が表示される。
Bl_00 Bl_02
7) [Read Setup]を押すとInformationが表示されるので[OK]。この後、もう一度Informationが表示されたら、3)で選択したチップが間違っており、後のInformationが正しいようです。
8) "Warning ESC#1: Sorry, BLHeli SiLabs firmware revision 16.3 needed to be removed due to issues and is no longer supported! Do You want to flash the ESC with a fixed BLHeli firmware revision (highly recommended)?"が表示されたので、[Yes]を選択。
9) Flash toでCurrentと同じ名前(BLHeli_S A-H-20)を選びたいのだが、何故か同じ名前が表示されない。A-L-20なら表示されるのですが。
Bl_06
10) 同じ名前が無いので一旦[Cancel]-[OK]し、メイン画面のメニューの[Options]-[Expert Mode]にチェックを入れる。
11) [Flash BLHeli]-[Ignore inappropriate MCU]にチェックを入れる。
12) Flash toにCurrentと同じ名前(A-H-20, MULTI)を選択、Firmware Rev.で最新版を選択。[OK]でエラー表示となる。
Bl_07_ok

一方11)で[Ignore inappropriate MCU]にチェックを入れない時に表示される、A-L-20(クロックが異なる)を選択すると、[OK]で警告が出る。

ESCのファームウェアがBLHeli_Sであることが分かったのは幸運でしたが、エラーや警告表示が出ました。さあ困りました。

■ ESCの型式調査
以上の情報からA-H-20であることが分かったので、A-H-20で検索したところ下記を発見しました。この中(RacerStar MS15A, RacerStar MS25A, RacerStar MS35A, ZTW Flash 30A)の型式を画像検索した結果、使われているESCは"RacerStar MS25A"である可能性が出てきました。
https://github.com/blheli-configurator/blheli-configurator/wiki/BLHeli_S-Firmware-Knowledge-Base

■ ESC RacerStar MS25Aのファーム書き換え情報の調査
"RacerStar MS25A firmware update"で検索すると下記を発見。ESCのCPU IDが間違っているようです。
https://us.banggood.com/jp/Esc-blheli_s-opto-2-4s-suporta-oneshot125-oneshot42-multishot-Racerstar-MS-Series-25A-4X-reviews-p1089007.html?page=9

expert modeにして、A-H-20の16.6にできたと書いてあります。
http://intofpv.com/t-cant-find-flash-file-for-a-blhelli-s-esc

Racestar MS seriesのESCをA-H-20の更新版にする手順の動画です。
https://youtu.be/nFftITPKr3E

要はRacerStar MS25AのCPU IDが間違っていることが原因なので、前記12)の手順で、強制的にIgnoreで書き込んでしまえば良いということらしい。

ついでに、非公式ですがDSHOT600が動くらしい情報を発見。
https://www.rcgroups.com/forums/showthread.php?2735898-Dshot-600-Capable-Racerstar-MS-Series-MS25A-MS35A-BLHeli_S-8-9-25-35A-ESCs

■ ESC RacerStar MS25Aのファームウェアを16.3から16.7に更新する手順
まず、「■ とりあえずBLHeliSuiteを使ってみた」の手順1)~12)を行い、エラー表示画面を出します。(【警告】以下の作業はESCを壊す可能性があるので自己責任でお願いします。)
13) "Error Found different MCU classes! ..."の画面で[Ignore]。
Bl_error
14) "Just one last questin WARNING Found differnt MCU Classes! ..."の画面で[Yes]。
Bl_warning_ah20
15) 進捗を示すInformation画面が表示され、少しInformation画面が(無反応)になった後、Informationに"ESC#1: Flashed File A_H_20 successfully..."と表示されるので、[OK]。
16) "Confirm Do You want to write current setting to ESC#1 ?"の画面で[Yes]
17) "Information ESC#1 setup read successfully"の画面で[OK]。
18) [ESC overview]タブで書換後のESCと書換前のESCのパラメータが略同じになっていることを確認し、[SiLabs ESC Setup]タブに戻る。
19) 画面下の"Multiple ESC / Master#1"の下の"1"を押して".."に切替える。
20) ESC#2の情報が表示されるので、[Flash BLHeli]。
21) この先は11)~17)の手順を繰り返して、ESC#4まで更新する。
22) ESC#4まで更新が終わると、ESC#1~#4までの情報がInformation画面に表示されるので[OK]で完了。

※ BLHeliSuiteの情報(Calibration)
BLHeliSuiteでの設定が不明です。とりあえず初期値で動くので、へたにいじらない方が良いと思います。パラメータの意味は、BLHeliSuite16714900.zipの中のマニュアルに書いてありますが、Calibrationが不明なので、検索してみました。でも、英語が分からないので何を言っているのか聞き取れませんでした。でもDSHOTならキャリブレーションは不要なようです。
https://youtu.be/GsnD7ZTtxZk

※ 下記サイトには、DSHOTはmin_throttleやmax_throttleを無視するので、ESCのキャリブレーションは不要と書いてあるようです。要はデジタル通信だから誤差は出ないのでキャリブレーションも不要ということでしょう。でも、意味がない気はしますが、アナログプロトコルでキャリブレーションすることを推奨するとも書かれているので、MULTISHOTでキャリブレーションしても良いでしょう。
https://github.com/betaflight/betaflight/wiki/DSHOT-ESC-Protocol

※ PWM, ONESHOT, MULTISHOT, DSHOTの違い
何を言っているのか分かりませんが、絵は分かるかも? 読み取った情報をメモしておきます。Part Twoでは、DSHOTとFCの対応についても解説されてます。BLHeli_SはDSHOTが動くが、BLHeliはNGと言っています。
https://youtu.be/X-1YMl6aO1g
https://youtu.be/EQJgh-o-uHo
Analog Protocol
- PWM : 1000-2000us, 15-25ms(40-67Hz) 2ms 500Hz max update rate
- ONESHOT125 : 125-250us, 4kHz max update rate
- ONESHOT42 : 41.7-83.3us, 12kHz max update rate
- MULTISHOT : 12.5-25us, 40kHz max update rate
Digital Protocol
- DSHOT150 : 150kbps, 8kHz max update rate for 24MHz MCU BB1(BusyBee1) L
- DSHOT300 : 300kbps, 16kHz max update rate for 48MHz MCU BB2(BusyBee2) H
- DSHOT600 : 600kbps, 32kHz max update rate
ということなので、応答スピード重視の人はMUTISHOTかDSHOT600ですね。(一応HFR-155のESC(BB2)でもDSHOT600は動きました。)

■ DSHOTでESC#1 Masterが回転しない
Betaflightの設定をDSHOT600にしてMotorsキャリブレーションの手順を実行したところ(MULTISHOTの時のようなビープ音がしないので実際はキャリブレーションしていないようです)、Armingはできるようになりましたが、ESC#1 Masterのモータが回転しません。
ファームウェアの再書き込みやバージョンダウンをしてもNGです。
そこで、ハードウェア故障の切り分けをするため、ESC#1とESC#3の制御線をつなぎ変えてみました。その結果、FC側のチャンネルに依存することが分かりました。即ちESCは正常です。
そこで、Betaflightの設定をMULTISHOTに変えたところ、全てのモータが回転することが分かりました。
即ち、DSHOT600にしたことが原因であることが判明しました。そこでDSHOT150も試したのですがNGです。

■ 有効な情報
下記にDSHOTに対応させるための詳しい情報がありました。ここの情報はとても役立ちました。
https://github.com/betaflight/betaflight/wiki/DSHOT-ESC-Protocol

◆ ESCのファームウェアの情報
BLHeliは非公式にはv6.43から、公式にはv16.5からDSHOTに対応していると書かれています。ESCのファームウェアは6.7にしたのでOKです。

◆ FCの情報
PIKOBLXは、Motor 1をPPMピンに半田付けし、リソースマップを書き換えろと書かれています。ESC#1だけ回転しなかった理由はこれです。ESC#1のPinへのDMAがCPUの制限で上手く割り当てられないので、Pinを変える必要があると言うことです。
https://www.rcgroups.com/forums/showpost.php?p=36608148&postcount=43149

rcgroups.comの写真ではPPMとFC上のESC1の半田付ランドを線で接続する指示になっています。FCのESC#1のポートが無効(ハイインピーダンス)になっていれば、この方法で問題ないと思いますが、少々心配なので、ESC1の線をPiko BLXのESC1ランドから外し、PPMのランドに接続しました。半田付けが下手なのでAWG28ではなくAWG30のラッピングワイヤーを使用しました。
Pikoblx_dshot

次に以下のコマンドをCLIのタブで実行して、配線変更をソフトに認識させます。
resource ppm 1 none
resource motor 1 A07
save

この結果、DSHOT600でも、ESC#1が回転するようになりました。
しかし、まだBeeperは機能しません。(Betaflight 4.0.0は、以上でBeeperも動作します。)
なお、BLHeliSuiteに付属のマニュアル"BLHeli_S manual SiLabs Rev16.x.pdf"によるとDSHOT300を推奨しているし、ESCのコンデンサを外していないので、今はDSHOT300にしています。

◆ ESCのハードウェアの情報
RacerStar MS25Aは、コンデンサを外す必要があると書かれています。
https://www.rcgroups.com/forums/showpost.php?p=36588994&postcount=2834

これはESCのシュリンクチューブを破いてチップコンデンサを外すのが面倒なため試していません。また、Piko BLXは制御線のGNDが接続されていないので、コンデンサを外すとノイズの影響が心配です。rcgroups.comに掲載されているDSHOT600の波形を見ると、コンデンサが付いていてもクリップはしている波形なので、このまま様子を見ることにしました。

■ ESC Beeperの有効化
"betaflight esc beeper setting 3.2"で検索したら以下の情報が見つかりました。
https://www.youtube.com/watch?v=7aDrvWAJxu8

CLIタブから以下のコマンドを実行します。これで、ESC#2からBeep音がするようになりました。(ESCのコンデンサは外していません。)なお、音を出す時はモータが停止している必要があるので、Disarmしておく必要があります。
set beeper_dshot_beacon_tone = 1
save

Betaflight Configurator 10.2.0ではDSHOT Beacon Configurationという項目ができたのですが、何故か反映されないので、上記コマンドで設定します。Betaflight 3.3.1では4個のモータから音が出るようになったので、3.2.3より発見しやすくなったと思います。[2018.05.01]

■ Flip after crash mode(旧名Turtle Mode)の使い方
1) Disarming
2) Flip after crash modeにする。
3) Arming
4) スロットルは最小のままにして、ロール方向にスティックを動かして機体を反転させる。
5) Disarming
6) Flip after crash modeを切る。

※ 5)6)は逆の順番でもOKのようです。
※ この機能を使うときは、プロペラの傷付きを避けるため、接地している方のプロペラが回転しない方向にスティックを操作します。

■ 結論
以上で、Betaflight 3.1.7から3.2.3への更新と、BLHeli 6.3から6.7への更新が終わり、ESC Beeper、Flip after crash mode(旧名Anti Turtle Mode)が使えるようになりました。

BLHeliやDSHOTを知ってから約2日しか経っていない素人の記事ですので、間違いがあればご容赦ください。間違いがあれば、コメントで正解を教えていただけると嬉しいです。

■ 飛行感想
まだマルチコプターの飛行経験が3.1.7で始めて7フライトしか無く、3.2.3で2フライトしただけの初心者なので、差は分かりません。問題はないです。徐々にFPVにも慣れてきて、AcroモードでRollやFlipもしたのですが、墜落もなく新機能のお世話にはなりませんでした。ESC Beeperは音が小さいので、風のある日に茂みに落ちると聞こえないかも知れません。[2018/01/20]

■ 関連記事
- 初マルチコプター HOBBYNET HFR-155:https://bigarrow.tea-nifty.com/blog/2017/08/hobbynet-hfr-15.html

■ Betaflight 3.3 RC
Kalman filterが特徴だったようです。ノイズのある信号からより精度の高い値を取得するフィルター処理のようです。Blu-rayなどではViterbi復号が使われてますが、相当な処理が必要です。カルマンフィルタも要求スペックが高いようで、サンプリング周波数32kHzやDSHOT1200でないと意味が無いようです。F4でOverclockも設定できるようですが、F3 Piko BLXは無理ですね。
https://youtu.be/NEBwg8FisSc

3.3が正式リリースされました。3.3.1を入れましたが問題なしです。[2018/05/01]
https://youtu.be/8vJCrHj9s6s
https://youtu.be/4v9aZeIDkvI

◆ ButterFilght 3.4 [2018/03/10]
Biko BLXはF3なので関係ないですが、BetaFlightのKalman filter開発が停止になった?ことやSmart Audioが削除された?ため、Butter Flight 3.4という派生Firmwareができたようです。日本語情報が殆ど無いので、詳細不明です。[2018/03/10]
http://butterflight.co/
http://www.multirotorguide.com/news/butterflight-a-better-flight-controller-firmware/
https://youtu.be/jsD28X9vuMM
https://youtu.be/xFJVkXkxIFQ

■ Betaflight 3.4 RC [2018/12/07]
デフォルトの設定値が改善されたようです。ButterFlightの影響でしょうか? でも良いことですね。また、若干ですが、GPSの機能が追加されたようです。まだ、私は試していません。
https://youtu.be/TBWVh16pZzA

◆ GPSの解説 [2018/12/07]
コンパスを使わず、GPSの動きでホームに戻る向きに制御するようです。コンパスが無いPIKOBLXでも動作するのでしょうか? でもPIKO BLXは気圧計が付いていない...
Betaflight GPS Rescue Mode | COMPLETE HOW TO : https://youtu.be/B_Yl0wqRf68

もう少し調べてみました。本家の情報です。コンパスは不要、気圧計は必須ではないが推奨、となっています。GPSは Ublox m8n とその互換機となっているので、DALRCのGPSではだめかもしれません。
https://github.com/betaflight/betaflight/wiki/GPS-rescue-mode
日本語訳を掲載してくれている人がいました。
https://yuckey-lab.hatenablog.com/entry/2018/08/15/GPS%E3%83%AC%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

◆ Acro Trainer Mode
HorizonとAcroの中間でしょうか? 水平にはならないけど、傾き制限があるモードのようです。これは良いかも? でも受信機が8chなので、channel数が足りません。Armをスティックにしてchannelを空けるか3モードSWにするかですね。
https://youtu.be/vH3eH7yI2SY

■ Betaflight 3.5.4 [2019/01/04]
Betaflight Configurator 10.4.0を使用して、HFR-155 V2 Piko BLXに入れてみました。コマンドラインでの設定は、DSHOT改造に対応するためのポートの割り当て変更のみです。その他は、デフォルトかGUIでの設定で問題ありません。DALRC QOSD-GPSは相変わらず認識しませんでした。
https://github.com/betaflight/betaflight-configurator/releases
https://github.com/betaflight/betaflight/releases

■ Betaflight 4.0 [2019/2/17]
HFR-155はHobbyNetの取説の通りGyro update frequency=8kHzに設定されているので関係ありませんが、Betaflight 4.0では32kHzを廃止するとの動画が上がっていました。英語なので何を言っているのか分かりませんが、そもそも32kHzもいらない、最大でも2kHzまで考慮すればよい、32kHzでは遅延は少なくなるもののノイズ影響が大きい、8kHzに設定を下げた方が良いと言っているのかな?
https://youtu.be/80hVYsgMnEE

2019/4/11に4.0.0がリリースされました。PIKO BLX用もあります。HFR-155V2に問題なく適用できました。[2019/4/30]
https://yuckey-lab.hatenablog.com/entry/2019/04/13/%E3%80%90Betaflight_4.0%E3%80%91%E6%A6%82%E8%A6%81%E7%B7%A8

■ Neuroflight [2019/03/03]
AIだそうです。当然CPUパワーは食いそうなのでF3のBiko BLXはサポート無しでしょうね。
https://youtu.be/GoWlsjWvOBg

| | コメント (0) | トラックバック (0)

« 2017年12月 | トップページ | 2018年5月 »