PWM-SBUS Converterを使用してBETAFPV F4 2S AIO Brushless No Rxをraspberry pi zero wから動作させてみる

はじめに

正月休みを利用して以前に作成した「Raspberry Pi Zero で自律飛行ドローンを作るぞ」の続きをやることにしました。

まず考えたのが、これまでの機体はQAV210フレームを使って200gオーバだったため気軽に飛ばすことができなかったので200g未満のマイクロドローンへの乗り換えすることにしました。

マイクロドローンは何台かもっているBETAFPVの2セル機を流用することにします。 まずやることはフライトコントローラへの入力信号がPWMではなくSBUSなのでraspberry piからのPWM信号をSBUS信号に変換して動作するか確認してみました。

構成

parts name
raspberry pi raspberry pi zero w
フライトコントローラ BETAFPV F4 2S AIO Brushless No Rx
距離センサ VL53L0X
ジャイロ加速度センサ MPU-6050
PWMドライバ PCA9685
PWM SBUS Converter S.BUS Turn PWM+s.bus 16CH Multifunctional Converter SBUS-PPM-PWM

コード

  • GitHub上のコードを使用
  • BETAFPV F4 2S AIO Brushless No Rx用の定義は以下の通り(aux2にarmを指定)
//BETAFPV F4 2S AIO Brushless No Rx
#define BETAFPV_F4_2S_AIO_THROTTLE	0
#define BETAFPV_F4_2S_AIO_ROLL		1
#define BETAFPV_F4_2S_AIO_PITCH		2
#define BETAFPV_F4_2S_AIO_YAW		3
#define BETAFPV_F4_2S_AIO_AUX2		4
#define BETAFPV_F4_2S_AIO_ARM		4	//aux2
#define BETAFPV_F4_2S_AIO_AUX3		5
#define BETAFPV_F4_2S_AIO_AUX4		6
#define BETAFPV_F4_2S_AIO_ARM_OFF	1000
#define BETAFPV_F4_2S_AIO_ARM_ON	1500
#define	BETAFPV_F4_2S_AIO_NEUTRAL			1519
#define	BETAFPV_F4_2S_AIO_NEUTRAL_THROTTLE	950

接続図

  • コード変更を最小にするため既存と同じ構成にPWM-SBUS converterとフライトコントローラを接続

CleanFligthで動作確認

  • armとThottleが想定通りの動作をしていることが波形で確認
  • 距離センサ値と加速度センサ値は無視

現物

おわりに

  • とりあえず確認できたので次は機体を作成してモータを回すところまでかな

Amazon


Banggood

S.BUS PWM + s.bus 16CH多機能コンバータSBUS-PPM-PWM

comments powered by Disqus