Коничива, уважаемый!

За время вашего отсутствия мы тут вон чего понаписали:

Сборка квадрокоптера на раме RoboCat (часть 4) - установка и настройка iNAV

10 Января

Последний этап сборки - установка и настройка прошивки на полётный контроллер. Для начала о самой прошивке. Cleanflight - очень популярная прошивка, но все навигационные функции находятся там в зачаточном состоянии. Поэтому я буду использовать прошивку  iNAV. Это ответвление от Cleanflight`а, созданное Константином Шарлаимовым (он же DigitalEntity, он же jShadow) со товарищи и "заточенное" именно под работу с GPS и навигацией. Так как экспериментирую я с данным квадрокоптером уже давно, то и за iNAV слежу уже достаточно долго (с апреля 2016). Надо отдать должное авторам, объём работы проделан огромный. Это хорошо видно по теме обсуждения прошивки на форуме rcdesign.ru, где сам Константин активно общается.

ДИСКЛЕЙМЕР
Во многих аспектах, данная статья выражает субъективное мнение автора. Спорить с ним бесполезно, он упёртый.

Настраивать ранние версии было достаточно сложно, так как использовался Cleanflight Configurator, в то время как по коду iNAV уже очень сильно отличался от прародителя и бОльшую часть команд надо было вводить через CLI. Позднее (примерно, в августе 2016) iNAV обзавёлся собственным конфигуратором  iNAV Configurator, что заметно упростило первичную настройку. Также iNAV обладает подробной документацией, часть которой переведена на русский:

Последняя версия прошивки на сегодняшний день - 1.5 и именно её я рассматриваю в данной статье. Далее мои варианты настроек с пояснениями.

Вкладка Setup

Здесь производится калибровка датчиков и именно с неё и надо начинать. Начиная с версии 1.5, в прошивку добавлена неотключаемая "защита от дурака", не позволяющая запустить двигатели, если не откалиброваны компас и акселерометр. Процесс очень доступно описан на этой странице. Компас лучше калибровать на улице, где меньше помех. Делается это, как и в Cleanflight, переводом левого стика передатчика в верхний правый угол, а правого - вниз. Квадрокоптер при этом должен быть не заармлен.

Вкладка Ports

Минимум изменений: включил MSP для порта UART3 и GPS для UART2. Скорость для GPS выбрал 57600 (или 19200 при использовании softserial, но такое подключение не рекомендуется).

iNAV Configurator, вкладка Ports

iNAV Configurator - Ports

Вкладка Configuration

Здесь настроек много, чтобы было проще, разделю их по блокам.

ESC/Motor Features

  • Включил опцию "Enable motor and servo output". Это своего рода защитный механизм, вообще отключающий моторы, чтобы поберечь сервы на самолётных моделях.
  • Выбрал протокол регуляторов ONESHOT125 и частоту обновления 1кГц.
  • Отключил MOTOR_STOP, чтобы моторы всегда вращались в заармленном состоянии.
  • Включил опцию "Disarm motors regardless of throttle value", так как буду делать арминг моторов на отдельном канале. Она позволяет дизармить моторы независимо от уровня газа.
  • Уменьшил значение "Minimum Throttle" до 1050. Это обороты холостого хода, подбирал субъективно.

Sensors

Здесь ничего не менял, прошивка сама распознала мои датчики.

Board and Sensor Alignment

Указал, что мой ПК повёрнут на 90 градусов по оси yaw. Корректность этого параметра потом можно проверить во вкладке Setup. Компас у той модели U-blox NEO-M8N, что использую я, бывает повёрнут на 270 или 180 градусов. Кроме того, он расположен на нижней части платы, что тоже надо учитывать. Так что для компаса надо выбирать CW270 FLIP или CW180 FLIP.

Battery Voltage

Включил опцию "Battery voltage monitor" для активации индикатора заряда батареи. Остальные параметры я не менял, так как показания заряда соответствуют действительности. Если же в них есть погрешность, её можно убрать настройкой "Voltage Scale".

Reciever Mode

Выбрал протокол радиоприёмника RX_PPM.

GPS

  • Активировал GPS, включив опцию "GPS for navigation and telemetry".
  • Установил UBLOX в качестве протокола.
  • Задал угол магнитного отклонения. Узнать его для своего местоположения можно здесь.

Other Features

Активировал только одну опцию - "Multi-color RGB LED strip support".

iNAV Configurator, вкладка Configuration

iNAV Configurator - Configuration

Вкладка Failsafe

О нюансах и настройке этого режима на приёмнике и ПК, я подробно писал тут. В данном случае кое-что изменилось. Во-первых, iNAV предлагает ещё один сценарий поведения - RTH (он же "Return To Home"). Во-вторых, мой новый приёмник Turnigy TGY-iA6C не такой "умный" и не передаёт на ПК сигнал о потере связи. Единственное, что он умеет - эмулировать предустановленные положения стиков/тумблеров. Поэтому единственный вариант настройки в моём случае - назначить Failsafe, как полётный режим, и активировать его на приёмнике при потере сигнала. У себя я это сделал на канале AUX4, к которому не привязан ни один тумблер. Подробности уже писал.

В итоге из настроек я только активизировал "Failsafe Stage 2" и выбрал сценарий RTH в "Failsafe Procedure". Важно, чтобы в разделе "Channel Fallback Settings" для Throttle было установлено значение Hold, иначе ПК будет вырубать моторы.

iNAV Configurator, вкладка Failsafe

iNAV Configurator - Failsafe

Вкладка Modes

К этому моменту все датчики квадрокоптера должны быть включены и опознаны ПК, о чём информирует верхняя плашка с иконками.

Если какой-то из сенсоров не обнаруживается, из списка полётных режимов исчезнут те, которые этот сенсор используют. Например, без барометра не будет режима ALTHOLD, а без GPS - режима POSHOLD. Для начала кратко о некоторых из режимов.

  • ANGLE - режим со стабилизацией, для которого можно задать максимальный допустимый угод наклона ЛА.
  • HORIZON - тоже стабилизация, но предполагающая более агрессивное управление.
  • AIRMODE - вспомогательный режим, пришедший из Betaflight.
  • POSHOLD - удержание позиции по GPS.
  • ALTHOLD - удержание высоты по барометру. Важный нюанс: "целевая" высота (которую квадрокоптер будет пытаться удерживать) запоминается при активации режима, а не при арминге. Кроме того, стик газа в этом режиме контролирует не газ, а вертикальную скорость с висением на 50% газа. Учитывая всё это, не стоит взлетать в этом режиме.
  • MAG - удержание курса по компасу.
  • HEAD LOCK - более жесткое удержание курса без использования компаса (актуально только для трикоптеров и, возможно, самолетов классической схемы).

В ранних версиях iNAV режимы удержания высоты и позиции не были самостоятельными и их надо было добавлять к ANGLE или HORIZON. Сейчас они самодостаточны, но, тем не менее, я всё же включу ANGLE и AIRMODE. Дело в том, что при первом полёте у меня не включился POSHOLD (как предположил Константин, была ошибка компаса) и я получил режим ACRO.

Переключателя режимов у меня два трёхпозиционных, но управляющих одним каналом (AUX1). Это даёт мне возможность настроить до пяти режимов или их комбинаций, чем я и воспользовался:

  • ANGLE - для взлётов и посадок
  • ANGLE + AIRMODE
  • POSHOLD + ANGLE + AIRMODE
  • POSHOLD + ALTHOLD + ANGLE + AIRMODE
  • ALTHOLD + ANGLE + AIRMODE - основной полётный режим

Также я повесил на тумблеры арминг (AUX2) и пищалку (AUX3), а Failsafe на "безтумблерный" AUX4.

Пара слов о приоритетах режимов. Наивысший, разумеется, у Failsafe, далее идёт RTH, третим - WP, и затем уже режимы вроде POSHOLD и ALTHOLD. AIRMODE в отличии от Betaflight, здесь не имеет приоритета над MOTOR_STOP. То есть, если MOTOR_STOP включен, моторы в любом случае будут останавливаться при нулевом газе.

iNAV Configurator, вкладка Modes

iNAV Configurator - Modes

Вкладка LED Strip

Тут всё очень субъективно. Для своего квадрика я настроил подсветку синего цвета с эффектом Larson Scanner.

Подсветка с эффектом Larson Scanner

Подсветка с эффектом Larson Scanner

Вкладка Sensors

Настраивать тут ничего не надо, но вот проверить работу датчиков можно. В первую очередь, барометра. Единственное, что надо знать - барометр начинает отображать данные только после арминга, а до этого высота принудительно подтягивается к нулю. Сделано для того, чтобы высота "дома" всегда нулевой.

Вкладка CLI

Несмотря на удобный конфигуратор, здесь тоже предстоит кое-что сделать. Для начала надо откалибровать каналы. Я уже писал как сделать это на передатчике, но, как оказалось, лучше делать это в прошивке ПК. Итак, сперва надо во вкладке Reciever посмотреть и запомнить крайние показатели всех четырёх каналов управления. Например, они такие:

roll 1050 - 1950
pitch 990 - 1992
yaw 990 - 2015
throttle 1070 - 1980

Затем нужно сообщить эти диапазоны прошивке. Делается это следующими командами:

rxrange 0 1050 1950
rxrange 1 990 1992
rxrange 2 990 2015
rxrange 3 1070 1980

Крайние точки теперь настроены, а вот центральные всё равно придётся настраивать на передатчике. Далее я ввёл некоторые настройки, адаптированные для маленьких рам. Их список находится здесь.

set p_pitch = 55
set i_pitch = 40
set d_pitch = 15
set p_roll = 55
set i_roll = 40
set d_roll = 15
set p_yaw = 90
set i_yaw = 45
set d_yaw = 20
set p_level = 20
set i_level = 15
set d_level = 75
set gyro_lpf = 256hz
set tpa_rate = 10
set tpa_breakpoint = 1650
set looptime = 1000
set gyro_sync = on
set gyro_sync_denom = 8

Опытным путём (то есть, в поле) надо определить газ висения и задать как значение переменной nav_mc_hover_thr. Оно будет использовано в режиме ALTHOLD. Если фактический газ висения будет отличается от заданного, то при активации режима удержания высоты, квадрокоптер будет сильно просаживатся или подпрыгивать.

Чтобы квадрокоптер армился в любом положении (даже вверх ногами), надо прописать:

set small_angle = 180

В iNAV много внимания уделено всевозможной защите. Выше уже упоминалась блокировка запуска моторов при неоткалиброванных датчиках. Кроме этого, есть переменные inav_gps_min_sats и nav_extra_arming_safety. Первая отвечает за минимальное количество спутников GPS, которые надо "поймать" для арминга, вторая разрешает/запрещает арминг при полном отсутствии сингала GPS. В процессе настройки, зачастую полезно отключить nav_extra_arming_safety, но потом надо не забыть включить обратно.

Ещё одна интересная переменная - nav_user_control_mode. Она отвечает за то, как будут интерпретироваться pitch/roll в режиме POSHOLD. Её значение по умолчанию ATTI - правый стик контролирует угол наклона коптера как в режиме ANGLE. Также возможен вариант CRUISE - правый стик контролирует скорость и направление полета. Я предпочитаю ATTI.

Собственно, всё, можно сохранять. Вот полный дамп моих настроек:

Dump всех настроек iNAV
# version
# INAV/SPRACINGF3 1.5.0 Dec 31 2016 / 02:15:51 (37afad6)
# pflags
# Persistent config flags: 0x00000000
# dump master

# mixer
mixer QUADX
mmix reset
smix reset


# feature
feature -RX_PPM
feature -VBAT
feature -UNUSED_1
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -FAILSAFE
feature -SONAR
feature -TELEMETRY
feature -CURRENT_METER
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DASHBOARD
feature -UNUSED_2
feature -BLACKBOX
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -SUPEREXPO
feature -VTX
feature -RX_SPI
feature -SOFTSPI
feature -PWM_SERVO_DRIVER
feature -PWM_OUTPUT_ENABLE
feature -OSD
feature RX_PPM
feature VBAT
feature GPS
feature FAILSAFE
feature LED_STRIP
feature PWM_OUTPUT_ENABLE


# beeper
beeper GYRO_CALIBRATED
beeper HW_FAILURE
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 LAUNCH_MODE


# map
map AETR1234


# serial
serial 0 1 115200 38400 0 115200
serial 1 2 115200 57600 0 115200
serial 2 1 115200 38400 0 115200


# led
led 0 0,15::G:10
led 1 1,15::CO:10
led 2 2,15::CO:10
led 3 3,15::CO:10
led 4 4,15::CO:10
led 5 5,15::CO:10
led 6 6,15::CO:10
led 7 7,15::CO:10
led 8 8,15::CO:10
led 9 9,15::CO:10
led 10 10,15::CO:10
led 11 11,15::CO:10
led 12 12,15::CO:10
led 13 13,15::CO:10
led 14 14,15::CO:10
led 15 15,15::G:10
led 16 0,0::C:0
led 17 0,0::C:0
led 18 0,0::C:0
led 19 0,0::C:0
led 20 0,0::C:0
led 21 0,0::C:0
led 22 0,0::C:0
led 23 0,0::C:0
led 24 0,0::C:0
led 25 0,0::C:0
led 26 0,0::C:0
led 27 0,0::C:0
led 28 0,0::C:0
led 29 0,0::C:0
led 30 0,0::C:0
led 31 0,0::C:0


# color
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0


# mode_color
mode_color 0 0 1
mode_color 0 1 11
mode_color 0 2 2
mode_color 0 3 13
mode_color 0 4 10
mode_color 0 5 3
mode_color 1 0 5
mode_color 1 1 11
mode_color 1 2 3
mode_color 1 3 13
mode_color 1 4 10
mode_color 1 5 3
mode_color 2 0 10
mode_color 2 1 11
mode_color 2 2 4
mode_color 2 3 13
mode_color 2 4 10
mode_color 2 5 3
mode_color 3 0 8
mode_color 3 1 11
mode_color 3 2 4
mode_color 3 3 13
mode_color 3 4 10
mode_color 3 5 3
mode_color 4 0 7
mode_color 4 1 11
mode_color 4 2 3
mode_color 4 3 13
mode_color 4 4 10
mode_color 4 5 3
mode_color 5 0 9
mode_color 5 1 11
mode_color 5 2 2
mode_color 5 3 13
mode_color 5 4 10
mode_color 5 5 3
mode_color 6 0 6
mode_color 6 1 10
mode_color 6 2 1
mode_color 6 3 0
mode_color 6 4 0
mode_color 6 5 2
mode_color 6 6 3
mode_color 6 7 6
mode_color 6 8 0
mode_color 6 9 0
mode_color 6 10 0

set looptime = 1000
set i2c_overclock = OFF
set gyro_sync = ON
set gyro_sync_denom = 8
set acc_task_frequency = 500
set attitude_task_frequency = 250
set async_mode = NONE
set mid_rc = 1500
set min_check = 1100
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 30
set rssi_ppm_invert = OFF
set rc_smoothing = ON
set input_filtering_mode = OFF
set min_throttle = 1050
set max_throttle = 1850
set min_command = 1000
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 1000
set motor_pwm_rate = 1000
set motor_pwm_protocol = ONESHOT125
set fixed_wing_auto_arm = OFF
set disarm_kill_switch = ON
set auto_disarm_delay = 5
set small_angle = 180
set reboot_character = 82
set gps_provider = UBLOX
set gps_sbas_mode = NONE
set gps_dyn_model = AIR_1G
set gps_auto_config = ON
set gps_auto_baud = ON
set inav_auto_mag_decl = ON
set inav_accz_unarmedcal = ON
set inav_use_gps_velned = ON
set inav_gps_delay = 200
set inav_gps_min_sats = 6
set inav_w_z_baro_p =  0.350
set inav_w_z_gps_p =  0.200
set inav_w_z_gps_v =  0.500
set inav_w_xy_gps_p =  1.000
set inav_w_xy_gps_v =  2.000
set inav_w_z_res_v =  0.500
set inav_w_xy_res_v =  0.500
set inav_w_acc_bias =  0.010
set inav_max_eph_epv =  1000.000
set inav_baro_epv =  100.000
set nav_disarm_on_landing = OFF
set nav_use_midthr_for_althold = OFF
set nav_extra_arming_safety = ON
set nav_user_control_mode = ATTI
set nav_position_timeout = 5
set nav_wp_radius = 100
set nav_max_speed = 300
set nav_max_climb_rate = 500
set nav_manual_speed = 500
set nav_manual_climb_rate = 200
set nav_landing_speed = 200
set nav_land_slowdown_minalt = 500
set nav_land_slowdown_maxalt = 2000
set nav_emerg_landing_speed = 500
set nav_min_rth_distance = 500
set nav_rth_climb_first = ON
set nav_rth_tail_first = OFF
set nav_rth_alt_mode = AT_LEAST
set nav_rth_altitude = 1000
set nav_mc_bank_angle = 30
set nav_mc_hover_thr = 1350
set nav_mc_auto_disarm_delay = 2000
set nav_fw_cruise_thr = 1400
set nav_fw_min_thr = 1200
set nav_fw_max_thr = 1700
set nav_fw_bank_angle = 20
set nav_fw_climb_angle = 20
set nav_fw_dive_angle = 15
set nav_fw_pitch2thr = 10
set nav_fw_roll2pitch = 75
set nav_fw_loiter_radius = 5000
set nav_fw_launch_velocity = 300
set nav_fw_launch_accel = 1863
set nav_fw_launch_detect_time = 40
set nav_fw_launch_thr = 1700
set nav_fw_launch_motor_delay = 500
set nav_fw_launch_timeout = 5000
set nav_fw_launch_climb_angle = 10
set serialrx_provider = SPEK1024
set spektrum_sat_bind = 0
set telemetry_switch = OFF
set telemetry_inversion = ON
set frsky_default_lattitude =  0.000
set frsky_default_longitude =  0.000
set frsky_coordinates_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set frsky_vfas_cell_voltage = OFF
set hott_alarm_sound_interval = 5
set smartport_uart_unidir = OFF
set battery_capacity = 0
set vbat_scale = 110
set vbat_max_cell_voltage = 43
set vbat_min_cell_voltage = 33
set vbat_warning_cell_voltage = 35
set current_meter_scale = 400
set current_meter_offset = 0
set multiwii_current_meter_output = OFF
set current_meter_type = ADC
set align_gyro = DEFAULT
set align_acc = DEFAULT
set align_mag = DEFAULT
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = 900
set gyro_lpf = 256HZ
set moron_threshold = 32
set imu_dcm_kp = 2500
set imu_dcm_ki = 50
set imu_dcm_kp_mag = 10000
set imu_dcm_ki_mag = 0
set pos_hold_deadband = 20
set alt_hold_deadband = 50
set yaw_motor_direction = 1
set yaw_jump_prevention_limit = 200
set tri_unarmed_servo = ON
set servo_lowpass_freq = 400
set servo_lowpass_enable = OFF
set servo_center_pulse = 1500
set servo_pwm_rate = 50
set failsafe_delay = 10
set failsafe_recovery_delay = 117
set failsafe_off_delay = 200
set failsafe_throttle = 1000
set failsafe_kill_switch = OFF
set failsafe_throttle_low_delay = 10
set failsafe_procedure = RTH
set rx_min_usec = 885
set rx_max_usec = 2115
set acc_hardware = MPU6050
set baro_use_median_filter = ON
set baro_hardware = MS5611
set mag_hardware = HMC5883
set blackbox_rate_num = 1
set blackbox_rate_denom = 4
set blackbox_device = SPIFLASH
set magzero_x = 65
set magzero_y = 38
set magzero_z = -81
set acczero_x = 124
set acczero_y = 6
set acczero_z = -170
set ledstrip_visual_beeper = OFF
set accgain_x = 4055
set accgain_y = 4059
set accgain_z = 4007

# rxfail
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 h
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

# dump profile

# profile
profile 0

# aux
aux 0 0 1 1550 2100
aux 1 1 0 900 2100
aux 2 20 0 1100 2100
aux 3 3 0 1900 2100
aux 4 9 0 1300 2100
aux 5 11 2 900 1150
aux 6 18 3 900 1150
aux 7 0 0 900 900
aux 8 0 0 900 900
aux 9 0 0 900 900
aux 10 0 0 900 900
aux 11 0 0 900 900
aux 12 0 0 900 900
aux 13 0 0 900 900
aux 14 0 0 900 900
aux 15 0 0 900 900
aux 16 0 0 900 900
aux 17 0 0 900 900
aux 18 0 0 900 900
aux 19 0 0 900 900

# adjrange
adjrange 0 0 0 900 900 0 0
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

# rxrange
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1023 2000

# servo
servo 0 1000 2000 1500 90 90 100 -1
servo 1 1000 2000 1500 90 90 100 -1
servo 2 1000 2000 1500 90 90 100 -1
servo 3 1000 2000 1500 90 90 100 -1
servo 4 1000 2000 1500 90 90 100 -1
servo 5 1000 2000 1500 90 90 100 -1
servo 6 1000 2000 1500 90 90 100 -1
servo 7 1000 2000 1500 90 90 100 -1

set nav_alt_p = 50
set nav_alt_i = 0
set nav_alt_d = 0
set nav_vel_p = 100
set nav_vel_i = 50
set nav_vel_d = 10
set nav_pos_p = 65
set nav_pos_i = 120
set nav_pos_d = 10
set nav_posr_p = 180
set nav_posr_i = 15
set nav_posr_d = 100
set nav_navr_p = 10
set nav_navr_i = 5
set nav_navr_d = 8
set deadband = 5
set yaw_deadband = 5
set throttle_tilt_comp_str = 0
set flaperon_throw_offset = 250
set flaperon_throw_inverted = OFF
set gimbal_mode = NORMAL
set fw_iterm_throw_limit = 165
set mode_range_logic_operator = OR
set default_rate_profile = 0
set mag_declination = 830
set mag_hold_rate_limit = 90
set p_pitch = 55
set i_pitch = 40
set d_pitch = 15
set p_roll = 55
set i_roll = 40
set d_roll = 15
set p_yaw = 90
set i_yaw = 45
set d_yaw = 20
set p_level = 20
set i_level = 15
set d_level = 75
set max_angle_inclination_rll = 300
set max_angle_inclination_pit = 300
set gyro_soft_lpf_hz = 60
set acc_soft_lpf_hz = 15
set dterm_lpf_hz = 40
set yaw_lpf_hz = 30
set yaw_p_limit = 300
set iterm_ignore_threshold = 200
set yaw_iterm_ignore_threshold = 50
set rate_accel_limit_roll_pitch = 0
set rate_accel_limit_yaw = 10000

# dump rates

# rateprofile
rateprofile 0

set rc_expo = 70
set rc_yaw_expo = 20
set thr_mid = 50
set thr_expo = 0
set roll_rate = 20
set pitch_rate = 20
set yaw_rate = 20
set tpa_rate = 10
set tpa_breakpoint = 1650
Автор: Lentyay

Знатно накомментили:

Сергей
2018-02-24 14:08:05
set nav_use_midthr_for_althold = OFF так вот в Cli ввёл -результатов нет.
Сергей
2018-02-24 13:56:14
Спасибо за ответ.С бипером сейчас разбираюсь.может пайка или ещё что.А вот -барометр сверху лежит паралон может какой то особый нужен.
Сергей
2018-02-24 10:35:26
Здравствуйте.Сегодня решил попробовать с настроенным Inav на коптере подлетнуть.Первое с чем столкнулся бипер почему то не пищит при определении спутников,второе при калибровке компаса с передатчика (левый стик вверх вправо,правый стик вниз)тоже никаких звуков.Что не так может быть,что забыл включить?Второе решил подлетнуть -опять же без звуков спутники определились,арм. включился.Взлетел в режиме Angle - всё нормально.Больше метра поднялся.Включаю Althold - коптер с высоты двух метров - вниз полетел к земле и немного подпрыгивать стал.Режим выключил.Как это исправить?Дальше проверки прекратил.
Lentyay
2018-02-24 13:32:02
Работает ли бипер вообще? Его поведение тоже настраивается, возможно пищание при этих событиях у вас отключено. Насчёт поведения в Angle смотрите логи. Предположу, что в барометр задувает сильно.
Сергей
2018-02-18 22:18:38
Здравствуйте.Подскажите Что значит?
,,На практике, если выставить set nav_use_midthr_for_althold = OFF, то использование текущего газа, как газа висения работает отлично.,,
Что работает отлично?

Lentyay
2018-02-19 09:46:31
В последних на момент написания версиях прошивки я уже не выставлял газ висения вручную, как раньше. Я обычно зависал и переключался в AltHold. ПК брал текущий газ, как газ висения. На практике это отлично работало, прыжков или проседаний не было вообще.
Сергей
2018-01-29 00:15:57
Приветствую!Подскажите как Опытным путём (то есть, в поле) надо определить газ висения и задать как значение переменной, nav_mc_hover_thr. Где смотреть газ висения?Какие цифры у вас были и как вводили?(nav_mc_hover_thr 1750 ?) так?

Lentyay
2018-01-29 08:47:18
Я газ висения по логам смотрел. В начале полёта завис секунд на 10 и потом по логам посмотрел значение газа.
На практике, если выставить set nav_use_midthr_for_althold = OFF, то использование текущего газа, как газа висения работает отлично.
Серёжа
2017-09-18 19:48:09
Мы не поняли друг друга, меня интересует слово- "безтумблерный"
Lentyay
2017-09-18 20:06:47
Возможно. А возможно вы не очень правильно понимаете суть каналов. У вас есть 9 каналов на передатчике и приёмнике. 4 из них зарезервировано под управление (если речь о квадрокоптере), дальше - на ваше усмотрение. Контроллеру всё равно, как вы распорядитесь этими каналами, но видит он их все. Вы через пульт назначяете канал для failsafe и в прошивке ПК "слушаете" его.
Серёжа
2017-09-18 19:38:37
Я не чего по этому не нашёл, а приёмник R9DS
спасибо и за это
Lentyay
2017-09-18 19:43:55
Серёжа
2017-09-18 19:21:00
AT9
Lentyay
2017-09-18 19:28:46
Это передатчик, а не приёмник. В любом случае, это гуглится на раз.
Серёжа
2017-09-18 19:02:46
Здравствуйте.
Скажите пожалуйста, как сделать Failsafe на "безтумблерный" AUX
Спасибо.
Lentyay
2017-09-18 19:16:11
Также, как и на любой другой канал. Не знаю, о каком приёмнике вы говорите, но если он, как и мой TGY-iA6C, выдаёт сигнал failsafe на определённый канал, то точно также, как и описано в статье. Привязан AUX к какому-то тумблеру или нет, роли не играет.
Игорь
2017-03-25 06:28:45
Здравствуйте! Как у вас обстоят дела с удержанием позиции по GPS? У меня SP Racing F3 прошивка 1.5. При •POSHOLD + ALTHOLD + ANGLE + AIRMODE коптер некоторое время удерживае позицию(секунд 30-ть), а затем начинает улетать куда ему больше нравиться :-). Может у Вас есть некоторые рекомендации в какую сторону смотреть? На форуме у разработчика читал, особо ответа не нашел, как лог расшифровать так же нет информации. Заранее спасибо за любой ответ, совет.
Lentyay
2017-03-27 10:57:50
Приветствую. На самом деле, я на этом квадрике с января не летал. Насчёт рекомендаций всегда лучше на форум. Тут один я с маленьким опытом и субъективным мнением, а там - коллективный разум и автор прошивки.
Скргей
2017-03-17 10:46:02
Здравствуйте. Можно повесить Failsafe на канал газа ? Зачем вешать на отдельный канал?
Lentyay
2017-03-17 10:55:10
Не пробовал, но вряд ли. Управляющие каналы обычно зарезервированы. Да и зачем?
Ctakah
2017-03-15 22:54:24
СУпер статья! Спасибо !
Bob
2017-03-05 21:12:42
...я ещё только изучаю прогу ,для квадрика 250 с GPS и возникли вопросы по настройке режимов Modes и Failsave. У меня Futaba T10 ,как в ней взаимодействует Failsave c INAV ? нету вкладки "Channel Fallback Settings"не поставить HOLD. И как то мне не понятно стоят переключатели режимов , здесь вообще в голове туман. У вас получается , что Angle и Airmode на AUX1 работают всё время совместно.
Lentyay
2017-03-05 22:14:23
С Failsafe ситуация такая, что это в прямом смысле "танго втроём", где участвуют передатчик, приёмник и ПК. Изначально взаимодействуют первые двое "танцоров". Больше всего зависит от приёмника. Есть более продвинутые модели, которые оповещают ПК о потере сигнала, есть попроще, которые не умеют этого делать и эмулируют какие-то положения стиков и переключателей (как в моём случае). Самое главное, от чего надо отталкиваться: failsafe должен обрабатывать ПК, а приёмник лишь сообщить ему о потере сигнала. Дальше изучайте мануалы конкретно своих комплектующих.
Могу ошибаться, но Failsafe Stage 1 убрали в последней версии (1.6). Лучше спросите на форуме.
С полётными режимами всё проще. Многие можно комбинировать и я писал об этом. Airmode вообще вспомогательный режим. Другое дело, что при неспешных полётах он. возможно, и не нужен вовсе.
Bob
2017-03-03 20:06:03
...а вы на вопросы отвечаете ?
Lentyay
2017-03-03 20:08:55
А вы с какой целью интересуетесь (шутка)? Если знаю чем помочь - помогу, но разумнее спросить в специальной теме на форуме, там сам автор прошивки может ответить.
Bob
2017-02-28 22:39:10
Спасибо толково разъяснил

Оставить комментарий

Цитировать
в комментарии