SPRacing F3 Delux搭載のブラシモーター・マイクロドローンを作ったので、その設定方法をご紹介します。
マイクロドローンをいくつか作って飛ばしてみたのですが、スティック操作だけでは、なかなかホバリングの安定性が出せませんでした。
そこで、バロメーターを搭載して、高度制御を自動でさることに!
マイクロドローン用のバロメーター(高度センサー)付きFCを探してみたのですが見つからず…、フルサイズのバロメーター付きFCにブラシモータードライバーを組み合わせマイクロドローンを作ることにしました。
使用した部品は
- SPRacing F3 Delux (10DOF with Compass and Barometer)
- Motor Driver for Brushed Motor
- 8mm Brushed Motors
- Voltage Step up/down regulator
- Receiver
- Transmitter
- Lipo Battery and Charger
- Battery cable etc…
- CNC Machined Carbon Frame
最初はBetaflightを使って設定していたのですが、Betaflightで書き込んだFirmwareでは、送信機のスイッチ操作でBaroModeに切り替えができなかったので、今回はCleanflightを使って設定をしていきます。
あと、BuzzerもBetaflightのFirmwareでは動作しませんでした…。
1.最新のファームウェアを書き込む
①FCの種類を選ぶ
②①で選んだFCの最新ファームウェアを選ぶ
③”Full Chip Erase”をONに
④”Manual Baud Rate”をONに
⑤”Load Firmware Online”をクリックし、ファームをダウンロードする
⑥”Flash Firmware”をクリックし、ファームウェアを書き込む
今回使用したFCでは、SPRacing F3 を選びました。使用するFCに適したファームウェアを選ばないと、FCが動作しませんのでご注意を!
”Programming Successful”と表示されれば成功です。
④”Manual Boud Rate”を選択し忘れていると、”No response from bootloader”と表示されます。
”Communication with bootloader failed”と表示される場合は、FCが認識されていません。USBケーブルを差し直してもう一度試してみてください。
2.FCに接続
右上の”Connect”ボタンを押してFCに接続してください。
接続がうまくいくと中央にドローンの3D映像が表示され、実際の機体を動かすと連動してドローンの3D表示も動きます。
3.加速度センサーのキャリブレーション
ドローンを平らで水平な場所に置き、”Calibrate Accelerometer”をクリックして加速度センサーをキャリブレーションします。
これをしておかないと後で送信機からのスイッチ操作で”Arm”できない現象の原因にもなるので、必ずキャリブレーションしてください。
(ファームウェアにもよりますが、送信機でArmスイッチをONしたときに、30度以上ずれがあるとArmできないことがあります。)
4.Configurationの設定
”Configuration”タブに移動し一般的な設定を変更します。
①”ESC/Motor Protocol”から”Brushed”を選択
②”Motor_Stop”を有効化
③”Gyro Update Frequency”を変更、今回は4kHzに
④”Accelerometer”や”Barometer”などの使用するセンサー類が選択されていることを確認
⑤サーボモーターを使う場合は”Servo Tilt”を選択
⑥”Save and Reboot”ボタンを押して変更を反映
⑦CPU稼働率が50%以下であることを確認(30%以下推奨)
今回はサーボモーターも動かすので”Servo Tilt”もONにしました。
サーボモーターを使用しない場合は”Servo Tilt”はOFFにしておきましょう。
通信はPPMを使っているので、初期設定のPPMのまま。
SBUS、iBusを使う場合は、”Ports”タブからポート設定を変更して、ここで通信プロトコルを選択する必要があります。
最後に”Save and Reboot”ボタンを押して変更を反映した後は、CPUの稼働率を確認して50%以下になっていればOKです。
50%を超えている場合、ファームウェアによっては”Arm”できない場合があるので、センサーの”Update Frequency”を下げたり、使っていないフィーチャーをOFFにして、CPUの使用率を下げましょう。
5.PIDを設定する
”PID”タブに移動し、PID設定を変更していきます。
今回は”RC Rate”のロールとピッチが0.10、ヨウが0.20に、
”Angle”モードの”Strength”を75に設定しました。
”Strength”の値を大きくすると、”Angle Mode”で飛ばしているときにスティック操作で機体を傾けた後の戻りが速くなります。
機体が小刻みに揺れたりする場合は、”Strength”を上げすぎなので値を下げましょう。
6.モードを設定
”Modes”タブへ移動し、Mode設定を変更します。
送信機の3ポジスイッチをAUX1にして、”Arm”、”Angle”、”Baro”の3つのモードへ割り振りました。
Arm: Min1300、Max2100
Angle: Min1300、Max2100
Baro: Min1700、Max2100
3ポジスイッチが一番上の位置の時に、Armがオフなのでスロットルを上げてもペラは回りません。
スイッチを真ん中にすると、ArmしてAngleモードで姿勢制御しつつ飛ばせます。
スイッチを下にすると、Armしたまま、Angleモードの姿勢制御とBaroモードの高度制御が同時に 有効になります。
7.センサーの値を確認
センサー類がちゃんと動いているか確認しましょう。
機体を手で持ち上げぐるぐる動かしてみて、波形に変化があれば数値の読み込みができています。
8.その他の設定をCLIから変更
CLIタブへ進み、上記ステップのようにGUIから設定できなかったところを設定します。
set motor_pwm_rate = 1000
と入力し、”Enter”を押しモーター出力のPWM周期を変更します。
ブラシモータードライバーの説明に通り、1000で設定しました。
サーボを使用する場合は、
resource motor 8 none resource servo 1 a03 servo 0 1000 2000 1500 100 5
と、3つのコマンドを順番に入力します。
”resource motor 8 none”でモーター8(A03ピン)をフリーにし、
”resource servo 1 a03”で先ほどフリーにしたA03を、サーボ出力ピン(Servo 1)に設定します。
”servo 0 1000 2000 1500 100 5”でServo1にAux2を割り振ります。
“resource”コマンドの時はサーボ番号1からスタートですが、”servo”コマンドの時はサーボ番号は0からスタートですので注意!
save
すべてのコマンドの入力が終わったら、”save”と入力して変更を反映しましょう。FCが設定を反映し再起動します。
これで設定は終わりです。
9.送信機の信号チェック
”Receiver”タブに移動し、それぞれの値が送信機の入力と連動しているか確認しましょう。
ドローンにバッテリーをつないで、送信機の電源を入れます。
うまく通信できていれば数値が送信機のスティック操作に応じて変わります。
10.サーボの設定反映チェック
ステップ8でサーボのAUX2へ割り振りしていれば、AUX2にチェックがついているはずです。
<!>Cleanflightのバグだと思うのですが、この”Servo”タブでサーボの設定を変更しても、設定は反映されません!CLIコマンドを使ってサーボの設定を変更しましょう。
11.接続解除
最後に”Disconnect”ボタンを押して、FCとの通信を切ってからUSBを抜いてください。
以上、SPRacing F3 Delux搭載のブラシモーター・マイクロドローンの設定方法のご紹介でした!