KingKong Tiny6

ラジコンヘリコプターの経験から、LOSで操縦することは、あまり苦労することなくクリアできました。ただFPVはゴーグルで機体から送られてきた映像に基づいて操縦するという点で、ラジコンヘリとは大きく異なります。

この訓練は、Simulatorでも可能ですが、Simulatorとリアルの間がどうしても埋まらないのです。そこで私はWhoopを導入することにしました。都会に住んでるので、5inchを簡単に飛ばすことはできません。ホイルベースが60㎜なのはさすがに小さいのでは?と懸念していました。

whoopも5inchも同じ空気密度の中で飛ぶわけで、小さければ、小さいほど、羽ばたき=ローター回転数を高くしなければなりません。ハチと一緒です。当然、Simulator とは比べ物にならないくらい落ち着きがない飛びをしました。

JBの おつげ

ROSでは、簡単に飛ばすことができましたが、やはりゴーグル経由で得た情報に基づいて操縦するのは非常に苦労しました。私の使っているLiftOffというSimulatorは、5inchの場合、デフォルトのPIDs設定でも挙動が把握しやすく、実機でも本当にこんなかんじなのか??と思っていましたが、実際は、実機のほうが飛ばしやすかったです。このTiny6を飛ばしてみると、いきなりぶつけまくりでした。

飛ばしているところが狭すぎなんですがね。そんな時に、あの人気Youtuber, Joshua Bardwellが、angleモードの印象が変わるPMBというアプローチがあるという紹介をしていました。PMBとはProjectMockingBirdの略で、angleモードを拡張して室内でアグレッシブなマニューバビリテイをBF上で実現しようというプロジェクトで、早速その設定を導入しました。

PMBについて

PMBはfacebookのグループで、 Scott Allyn 氏、 Jesse Perkins 氏を中心に常にその設定を進化させています。専用のWebsiteもありますので、ぜひご覧ください。

Tiny6への応用

Tiny6はその価格の安さが魅力ですが、FCも機能を限定され、OSDも無い、かろうじてBetaflightが走るF3ベースのモノが搭載されているため、BF3.5X以下までの使用が実用的です。私の設定はBF3.3.2で止まってますのでご容赦を。

ハードウェア設定

PMBでは、まず基本的にPropoutという通常のローターとは逆回転の設定を行います。ブラシドモーターは、コミュテーターとブラシに位相をつけて進角が設定されているために、最初からモーターの回転方向が決まっています。逆回転は著しく効率が悪い上にモーターをダメにします。

モーターの回転方向によってケーブルの色やエンドキャップの色が違います。

ブラシレスと違って、適切な回転方向 にするためにモーターそのものを入れ替えてモーターの回転方向をプロップアウトにします。

props out用にモーターを入れ替えた

Betaflight側の設定

ブラシレスモーターのようにBLheli-Suiteを使う必要もなく、ただ、回転方向を逆転指定するだけです。

バッテリーのコネクター

1Sの同じサイズのバッテリーで、コネクターが2種類あって驚きました。

面倒なので、FCに両サイズのコネクターを半田付けして、サイズに合わせてコネクターを選べるようにしました。2Sはできませんし、飛んでるとき未使用のコネクタはぶらぶらですが、トラブルはありません。

コネクター二種類仕様

詳細設定

さて、これからBetaflightの詳細設定に入るのですが、この機体はFCがしょぼいので、すべての機能を盛ることができませんので重要な機能だけ抽出してCLIで直書きしなければいけない部分もまとめました。Tiny6でPMBを試されたい方はお試しください。この設定は最新ではありませんがTiny6の性能上、最新の設定ができないので、あくまでもTiny6アレンジ版です

# Betaflight / SPRACINGF3 (SRF3) 3.3.2 May  4 2018 / 10:02:58 (64a292f37) MSP API: 1.38
name -
resource BEEPER 1 C15
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource MOTOR 4 A12
resource MOTOR 5 B08
resource MOTOR 6 B09
resource MOTOR 7 A02
resource MOTOR 8 A03
resource SERVO 1 NONE
resource SERVO 2 NONE
resource SERVO 3 NONE
resource SERVO 4 NONE
resource SERVO 5 NONE
resource SERVO 6 NONE
resource SERVO 7 NONE
resource SERVO 8 NONE
resource PPM 1 A00
resource PWM 1 A00
resource PWM 2 A01
resource PWM 3 B11
resource PWM 4 B10
resource PWM 5 B04
resource PWM 6 B05
resource PWM 7 B00
resource PWM 8 B01
resource SONAR_TRIGGER 1 B00
resource SONAR_ECHO 1 B01
resource LED_STRIP 1 A08
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 NONE
resource SERIAL_TX 5 NONE
resource SERIAL_TX 6 NONE
resource SERIAL_TX 7 NONE
resource SERIAL_TX 8 NONE
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_TX 11 B05
resource SERIAL_TX 12 B01
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 NONE
resource SERIAL_RX 5 NONE
resource SERIAL_RX 6 NONE
resource SERIAL_RX 7 NONE
resource SERIAL_RX 8 NONE
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SERIAL_RX 11 B04
resource SERIAL_RX 12 B00
resource I2C_SCL 1 B06
resource I2C_SCL 2 NONE
resource I2C_SDA 1 B07
resource I2C_SDA 2 NONE
resource LED 1 B03
resource LED 2 NONE
resource LED 3 NONE
resource RX_BIND 1 NONE
resource RX_BIND_PLUG 1 NONE
resource SPI_SCK 1 NONE
resource SPI_SCK 2 B13
resource SPI_SCK 3 NONE
resource SPI_MISO 1 NONE
resource SPI_MISO 2 B14
resource SPI_MISO 3 NONE
resource SPI_MOSI 1 NONE
resource SPI_MOSI 2 B15
resource SPI_MOSI 3 NONE
resource ESCSERIAL 1 A00
resource CAMERA_CONTROL 1 NONE
resource ADC_BATT 1 A04
resource ADC_RSSI 1 B02
resource ADC_CURR 1 A05
resource ADC_EXT 1 NONE
resource BARO_CS 1 NONE
resource COMPASS_CS 1 NONE
resource PINIO 1 NONE
resource PINIO 2 NONE
resource PINIO 3 NONE
resource PINIO 4 NONE
mixer QUADX

mmix reset

servo 0 1000 2000 1500 100 -1
servo 1 1000 2000 1500 100 -1
servo 2 1000 2000 1500 100 -1
servo 3 1000 2000 1500 100 -1
servo 4 1000 2000 1500 100 -1
servo 5 1000 2000 1500 100 -1
servo 6 1000 2000 1500 100 -1
servo 7 1000 2000 1500 100 -1
smix reset


feature -RX_PPM
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -RANGEFINDER
feature -TELEMETRY
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -OSD
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -RX_SPI
feature -SOFTSPI
feature -ESC_SENSOR
feature -ANTI_GRAVITY
feature -DYNAMIC_FILTER
feature RX_SERIAL
feature AIRMODE
feature ANTI_GRAVITY
feature DYNAMIC_FILTER
beeper -GYRO_CALIBRATED
beeper -RX_LOST
beeper -RX_LOST_LANDING
beeper -DISARMING
beeper -ARMING
beeper -ARMING_GPS_FIX
beeper -BAT_CRIT_LOW
beeper -BAT_LOW
beeper -GPS_STATUS
beeper -RX_SET
beeper -ACC_CALIBRATION
beeper -ACC_CALIBRATION_FAIL
beeper -READY_BEEP
beeper MULTI_BEEPS
beeper -DISARM_REPEAT
beeper -ARMED
beeper -SYSTEM_INIT
beeper -ON_USB
beeper -BLACKBOX_ERASE
beeper -CRASH FLIP
beeper CAM_CONNECTION_OPEN
beeper CAM_CONNECTION_CLOSED
map AETR1234
serial 0 1 115200 57600 0 115200
serial 1 64 115200 57600 0 115200
serial 2 0 115200 57600 0 115200

aux 0 0 0 1850 2100 0
aux 1 1 1 1300 1700 0
aux 2 2 1 900 1300 0
aux 3 13 2 1800 2100 0
aux 4 0 0 900 900 0
aux 5 0 0 900 900 0
aux 6 0 0 900 900 0
aux 7 0 0 900 900 0
aux 8 0 0 900 900 0
aux 9 0 0 900 900 0
aux 10 0 0 900 900 0
aux 11 0 0 900 900 0
aux 12 0 0 900 900 0
aux 13 0 0 900 900 0
aux 14 0 0 900 900 0
aux 15 0 0 900 900 0
aux 16 0 0 900 900 0
aux 17 0 0 900 900 0
aux 18 0 0 900 900 0
aux 19 0 0 900 900 0
adjrange 0 1 1 1400 1600 12 1
adjrange 1 0 0 900 900 0 0
adjrange 2 0 0 900 900 0 0
adjrange 3 0 0 900 900 0 0
adjrange 4 0 0 900 900 0 0
adjrange 5 0 0 900 900 0 0
adjrange 6 0 0 900 900 0 0
adjrange 7 0 0 900 900 0 0
adjrange 8 0 0 900 900 0 0
adjrange 9 0 0 900 900 0 0
adjrange 10 0 0 900 900 0 0
adjrange 11 0 0 900 900 0 0
adjrange 12 0 0 900 900 0 0
adjrange 13 0 0 900 900 0 0
adjrange 14 0 0 900 900 0 0
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000
vtx 0 0 0 0 900 900
vtx 1 0 0 0 900 900
vtx 2 0 0 0 900 900
vtx 3 0 0 0 900 900
vtx 4 0 0 0 900 900
vtx 5 0 0 0 900 900
vtx 6 0 0 0 900 900
vtx 7 0 0 0 900 900
vtx 8 0 0 0 900 900
vtx 9 0 0 0 900 900
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 a
rxfail 4 h
rxfail 5 h
rxfail 6 h
rxfail 7 h
rxfail 8 h
rxfail 9 h
rxfail 10 h
rxfail 11 h
rxfail 12 h
rxfail 13 h
rxfail 14 h
rxfail 15 h
rxfail 16 h
rxfail 17 h
set align_gyro = DEFAULT
set gyro_lpf = OFF
set gyro_sync_denom = 2
set gyro_lowpass_type = PT1
set gyro_lowpass_hz = 100
set gyro_notch1_hz = 0
set gyro_notch1_cutoff = 0
set gyro_notch2_hz = 0
set gyro_notch2_cutoff = 0
set gyro_stage2_lowpass_hz = 0
set moron_threshold = 48
set gyro_offset_yaw = 0
set gyro_overflow_detect = ALL
set align_acc = DEFAULT
set acc_hardware = AUTO
set acc_lpf_hz = 10
set acc_trim_pitch = 0
set acc_trim_roll = 0

set mid_rc = 1500
set min_check = 1050
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 41
set rssi_invert = OFF
set rc_interp = OFF
set rc_interp_ch = RP
set rc_interp_int = 19
set fpv_mix_degrees = 0
set max_aux_channels = 14
set serialrx_provider = SBUS
set serialrx_inverted = OFF
set spektrum_sat_bind = 0
set spektrum_sat_bind_autoreset = ON
set airmode_start_throttle_percent = 32
set rx_min_usec = 885
set rx_max_usec = 2115
set serialrx_halfduplex = OFF
set input_filtering_mode = OFF
set min_throttle = 1000
set max_throttle = 2000
set min_command = 1000
set dshot_idle_value = 450
set dshot_burst = OFF
set use_unsynced_pwm = ON
set motor_pwm_protocol = BRUSHED
set motor_pwm_rate = 16000
set motor_pwm_inversion = OFF
set thr_corr_value = 0
set thr_corr_angle = 800
set failsafe_delay = 4
set failsafe_off_delay = 10
set failsafe_throttle = 1000
set failsafe_kill_switch = ON
set failsafe_throttle_low_delay = 100
set failsafe_procedure = DROP
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = 0
set gimbal_mode = NORMAL
set bat_capacity = 0
set vbat_max_cell_voltage = 43
set vbat_full_cell_voltage = 41
set vbat_min_cell_voltage = 33
set vbat_warning_cell_voltage = 35
set vbat_hysteresis = 1
set current_meter = ADC
set battery_meter = ADC
set vbat_detect_cell_voltage = 30
set use_vbat_alerts = ON
set use_cbat_alerts = OFF
set cbat_alert_percent = 10
set vbat_cutoff_percent = 100
set vbat_scale = 110
set vbat_divider = 10
set vbat_multiplier = 1
set ibata_scale = 400
set ibata_offset = 0
set ibatv_scale = 0
set ibatv_offset = 0
set beeper_inversion = ON
set beeper_od = OFF
set beeper_frequency = 0
set beeper_dshot_beacon_tone = 0
set yaw_motors_reversed = ON
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 50
set 3d_switched_mode = OFF
set servo_center_pulse = 1500
set servo_pwm_rate = 50
set servo_lowpass_hz = 0
set tri_unarmed_servo = ON
set channel_forwarding_start = 4
set reboot_character = 82
set serial_update_rate_hz = 100
set accxy_deadband = 40
set accz_deadband = 40
set acc_unarmedcal = ON
set imu_dcm_kp = 2500
set imu_dcm_ki = 0
set small_angle = 180
set auto_disarm_delay = 5
set gyro_cal_on_first_arm = OFF
set deadband = 0
set yaw_deadband = 0
set yaw_control_reversed = OFF
set pid_process_denom = 1
set runaway_takeoff_prevention = ON
set runaway_takeoff_deactivate_delay = 500
set runaway_takeoff_deactivate_throttle_percent = 25
set tlm_switch = OFF
set tlm_inverted = OFF
set tlm_halfduplex = ON
set frsky_vfas_precision = 0
set hott_alarm_int = 5
set pid_in_tlm = OFF
set report_cell_voltage = OFF
set ledstrip_visual_beeper = OFF
set task_statistics = ON
set debug_mode = NONE
set rate_6pos_switch = OFF
set pwr_on_arm_grace = 5
set displayport_msp_col_adjust = 0
set displayport_msp_row_adjust = 0
set esc_sensor_halfduplex = OFF
set led_inversion = 0
set camera_control_mode = HARDWARE_PWM
set camera_control_ref_voltage = 330
set camera_control_key_delay = 180
set camera_control_internal_resistance = 470
set rangefinder_hardware = NONE
set pinio_config = 1,1,1,1
set pinio_box = 255,255,255,255
profile 0

set dterm_lowpass_type = PT1
set dterm_lowpass = 100
set dterm_notch_hz = 0
set dterm_notch_cutoff = 0
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_threshold = 350
set anti_gravity_gain = 1000
set setpoint_relax_ratio = 100
set dterm_setpoint_weight = 254
set acc_limit_yaw = 100
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_windup = 50
set iterm_limit = 150
set pidsum_limit = 500
set pidsum_limit_yaw = 400
set yaw_lowpass = 0
set p_pitch = 100
set i_pitch = 130
set d_pitch = 60
set p_roll = 90
set i_roll = 110
set d_roll = 60
set p_yaw = 180
set i_yaw = 120
set d_yaw = 20
set p_level = 120
set i_level = 80
set d_level = 0
set level_limit = 55
set horizon_tilt_effect = 75
set horizon_tilt_expert_mode = OFF
profile 1

set dterm_lowpass_type = BIQUAD
set dterm_lowpass = 100
set dterm_notch_hz = 260
set dterm_notch_cutoff = 160
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_threshold = 350
set anti_gravity_gain = 1000
set setpoint_relax_ratio = 100
set dterm_setpoint_weight = 0
set acc_limit_yaw = 100
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_windup = 50
set iterm_limit = 150
set pidsum_limit = 500
set pidsum_limit_yaw = 400
set yaw_lowpass = 0
set p_pitch = 58
set i_pitch = 50
set d_pitch = 35
set p_roll = 40
set i_roll = 40
set d_roll = 30
set p_yaw = 70
set i_yaw = 45
set d_yaw = 20
set p_level = 50
set i_level = 50
set d_level = 75
set level_limit = 55
set horizon_tilt_effect = 75
set horizon_tilt_expert_mode = OFF
profile 2

set dterm_lowpass_type = BIQUAD
set dterm_lowpass = 100
set dterm_notch_hz = 260
set dterm_notch_cutoff = 160
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_threshold = 350
set anti_gravity_gain = 1000
set setpoint_relax_ratio = 100
set dterm_setpoint_weight = 0
set acc_limit_yaw = 100
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_windup = 50
set iterm_limit = 150
set pidsum_limit = 500
set pidsum_limit_yaw = 400
set yaw_lowpass = 0
set p_pitch = 58
set i_pitch = 50
set d_pitch = 35
set p_roll = 40
set i_roll = 40
set d_roll = 30
set p_yaw = 70
set i_yaw = 45
set d_yaw = 20
set p_level = 50
set i_level = 50
set d_level = 75
set level_limit = 55
set horizon_tilt_effect = 75
set horizon_tilt_expert_mode = OFF
profile 0
rateprofile 0

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 0
set pitch_rc_rate = 0
set yaw_rc_rate = 200
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 0
set pitch_srate = 0
set yaw_srate = 0
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 1

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 0
set pitch_rc_rate = 0
set yaw_rc_rate = 200
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 0
set pitch_srate = 0
set yaw_srate = 0
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 2

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 102
set roll_expo = 15
set pitch_expo = 15
set yaw_expo = 15
set roll_srate = 80
set pitch_srate = 84
set yaw_srate = 87
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 3

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 4

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 5

set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set tpa_rate = 10
set tpa_breakpoint = 1650
rateprofile 0
save
# 

プロポの設定

ArmSwitchはSF モード切替はSEスイッチで、一番奥がhorizonモード真ん中がPMB仕様のカスタムangleモード、そして手前がAcroモードになります。それぞれのポジションでレートプロファイルが切り替わるように設定されるはずです。

そして、拡張Angleモード時、ピッチ操作やロール操作をすると推力が落ちるのでスロットルに対して、プロポ側でミキシングを行います。

OpenTXプロポの設定を説明します

5ページ目のMixer設定でスロットルの下にミキシングの定義を入力します。

Ch3=スロットルに対してエルロン操作された時のミキシングを定義します。
Weight=30
Trim=checked
Curve=Cstm CV1   カスタムカーブはのちにセットします

同じページのさらに下に行くとSwitchという項目があります。ここでENTキーを押してモード切替のSE-スイッチをAngle拡張モードの位置に設定します。

これで拡張angleモード時だけ、エルロン操作時に減った推力をカバーすべく、スロットルにブーストがかかるようになります

どのような割合でブーストをかけるのかを定義するために、カスタムカーブを作ります。

7ページ目のカーブ設定画面で、CV1を選択します

ポイント(PT)の値をx、Yともに上記のように設定します。Smoothをcheckedにすると滑らかなカーブになりますこれで、先ほど設定したカスタムカーブで指定したCV1が作成できましたのでこの割合でスロットルにエルロン入力があった場合、スロットル値がミックスされるようになります

同様に、スロットルに対してピッチ操作された際のミキシングを行います。

Sourceがエレベーター(ピッチ)になっています。いままでと同じ設定をエレベーターに対して設定します。ただしカスタムカーブは同じCV1を使うので新しいカスタムカーブを作る必要はありません。

すべて終了するとこのようになります。

他の機体では

例えばBeta65などの、F4フルスペックFCを使っている場合はBetaflight4.X版の設定をPMBのサイトから入手できます。そして、それらのバージョンでは、カメラアングル設定にによって自動的にヨー/ピッチ/ロールが調整されるようになるため、プロポ側の設定は一切不要です。カメラアングルを直接設定するのではなくカメラアングルから適切な角度設定をし、

モード設定で”FPV angle Mix”を デプロイするとスロットルが自動調整されます。

まとめ

今回はちょっと頭の悪いF3チップの Tiny6の為、かなり面倒な設定になってます。
しかし、非常に狭い場所でも快適にFPV飛行ができます。angleモードのアクセルとブレーキに両足を乗せたような、感覚がなくなり野外でのAcroモードの様な、スムーズな飛行ができます。

ただ、やはりブラシモーターは消耗品で、使うたびに性能が劣化するので、安いとはいえ、何回も交換するのであれば、ブラシレスモーターの機体だよな~と思います。

コメントを残す