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

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

    Сборка квадрокоптера на раме 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
    Спасибо толково разъяснил

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

    captcha
    RSS