Вопросы по iNav

umen

Константин а INAV то какой вариант? тот что был у меня явно не как у Cleanflight, ибо коптер просел. подкрутил параметр nav_mc_hover_thr ближе к газу висения в режиме стабилизации , стало лучше в разы. и Второй непонятный вопрос, почему он именно не висит? ни в АльтХолде ни в НавХолде, по высоте именно. его постоянно надо подруливать по высоте. Это именно пидами надо выводить? какими именно?

jShadow
umen:

тот что был у меня явно не как у Cleanflight

По умолчанию запоминается текщуая позиция стика газа. Если nav_mc_hover_thr далеко от реального газа висения при активации режима будет либо прыжок, либо просадка.

umen:

почему он именно не висит?

Логи? Вариантов много - от глючного барометра до ПИДов или просто ошибки пилотирования.

dvd-media
jShadow:

По умолчанию запоминается текщуая позиция стика газа.

т.е. у нас “а-ля” клинфлайт… Это хорошо. Бум дальше мучить 😃
А еще, всё забываю спросить… В крайней версии прошивки (ранее не обращал внимания), есть в конфигураторе пункт типа автотюна (или автоконфиг)… А что за зверь? Крайне интересно… 😃

nixel:

либо телеметрийный модуль, я использую HC-12 (SI4463)

Роман (или может кто ставил модуль 433мГц), а как лучше на коптере закрепить модуль? не будет мешать приёмнику или жпэсу? Антенку куда направлять лучше?

greytm

Уважаемые jShadow и другие, кто разбирается, подскажите, как параметры во вкладке Current sensor Scale the output voltage to milliamps и Offset in milivots steps влияют на подсчет тока?

  • Scale the output voltage to milliamps - я так понимаю это 1mV/A в соотношении 1/10
  • А вот как параметр Offset in milivots steps влияет на подсчет я не совсем понял

Нашел код github.com/iNavFlight/inav/blob/…/battery.c

#define ADCVREF 3300   // in mV
int32_t currentSensorToCentiamps(uint16_t src)
{
    int32_t millivolts;

    millivolts = ((uint32_t)src * ADCVREF) / 4096;
    millivolts -= batteryConfig->currentMeterOffset;

    return (millivolts * 1000) / (int32_t)batteryConfig->currentMeterScale; // current in 0.01A steps
}

void updateCurrentMeter(int32_t lastUpdateAt, rxConfig_t *rxConfig, uint16_t deadband3d_throttle)
{
    static int32_t amperageRaw = 0;
    static int64_t mAhdrawnRaw = 0;
    int32_t throttleFactor = 0;
    int32_t throttleOffset = (int32_t)rcCommand[THROTTLE] - 1000;

    switch(batteryConfig->currentMeterType) {
        case CURRENT_SENSOR_ADC:
            amperageRaw -= amperageRaw / 8;
            amperageRaw += (amperageLatestADC = adcGetChannel(ADC_CURRENT));
            amperage = currentSensorToCentiamps(amperageRaw / 8);
            break;
        case CURRENT_SENSOR_VIRTUAL:
            amperage = (int32_t)batteryConfig->currentMeterOffset;
            if (ARMING_FLAG(ARMED)) {
                throttleStatus_e throttleStatus = calculateThrottleStatus(rxConfig, deadband3d_throttle);
                if (throttleStatus == THROTTLE_LOW && feature(FEATURE_MOTOR_STOP))
                    throttleOffset = 0;
                throttleFactor = throttleOffset + (throttleOffset * throttleOffset / 50);
                amperage += throttleFactor * (int32_t)batteryConfig->currentMeterScale  / 1000;
            }
            break;
        case CURRENT_SENSOR_NONE:
            amperage = 0;
            break;
    }

    mAhdrawnRaw += (amperage * lastUpdateAt) / 1000;
    mAhDrawn = mAhdrawnRaw / (3600 * 100);
}

Переменная currentMeterScale - это и есть Scale the output voltage to milliamps ?
Переменная amperageRaw - это и есть параметр Offset in milivots steps? Но что мне подсказывает, что это расход mAh

P.S. можно как-то код вставлять с подсветкой синтаксиса ?

nixel
dvd-media:

Роман (или может кто ставил модуль 433мГц), а как лучше на коптере закрепить модуль? не будет мешать приёмнику или жпэсу? Антенку куда направлять лучше?

Модуль нужно устанавливать так, чтобы антенна была в вертикальном положении (это если не планируется ставить рекорды на полеты в высоту строго над собой). И я придерживаюсь правила размещать антенны приемников-передатчиков как можно дальше друг от друга. Чем ближе частота двух устройств, тем дальше они должны быть разведены. Например, если приемник на 2.4GHz, передатчик на 5.8GHz и приемо-передатчик на 433MHz нужно расположить на прямой линии, то 433 я бы поставил между 2.4 и 5.8.

jShadow
umen:

drive.google.com/open?id=0Bw...UdFWDZNQnVpcms
не полностью скопировалась

Судя по логу высоту он держит более-менее адекватно. ПИДы удержания высоты по умолчанию очень “мягкие”, поэтому коптер может довольно сильно гулять. Постараюсь в ближайшее время доделать свой коптер и выложить более агрессивные ПИДы удержания высоты.

Еще вижу плохо настроенные ПИДы полета. Это какого размера коптер?

umen

s500 рама с 980 санискаями с 1047 пропами
ну в итоге я поставил пиды по умолчанию , но еще не пробовал летать.
а эти которые в этом логе это взятые из wiki для 450ого размера.

rank

Всем привет!
Заказал новое летаюшее крыло Skyshadow S800 820mm, хочу попробовать iNav, для осушествления миссий.

Лежат не используемые naze rev5 и afromini.
Планирую использовать одновременно osd, gps и bluetooth телеметрию.
Есть ли такая возможность с naze или стоит все таки взять F3 Evo?
Будут ли полетные характеристики отличаться на F3 и Naze?
Кроме меньшего количества вейпоинтс, что будет еще урезано с naze?

jShadow
rank:

Планирую использовать одновременно osd, gps и bluetooth телеметрию.
Есть ли такая возможность с naze или стоит все таки взять F3 Evo?

На NAZE это реально, но с использованием SoftSerial, чего я категорически не рекомендую. Либо с использованием OSD по LTM.

rank:

Будут ли полетные характеристики отличаться на F3 и Naze?

Полетные характеристики заметно не отличаются, особенно для самолета.

rank:

Кроме меньшего количества вейпоинтс, что будет еще урезано с naze?

Поддержка различных протоколов телеметрии, приемники только S.Bus, Spektrum, IBUS и PPM, нет LEDSTRIP и подобные мелочи.

rank

Спасибо за ответ.
Склоняюсь все таки заказать F3 Evo , на вырост. А назки пусть лежат прозапас.

jShadow
rank:

Склоняюсь все таки заказать F3 Evo , на вырост. А назки пусть лежат прозапас.

Это правильное решение 😃

dvd-media

Скажите, мелкое подёргивание во время висения (пробовал сейчас в комнате) это с пидами “не то” что-то?
Установил с вики, что по ссылке чуть ранее проскакивало, из раздела по 450-ым коптерам. У меня и размер и вес подходит. Вроде ранее, на 1.3. у меня пиды были пониже реально, и не замечал такой мелкой дрожи. Правда я сейчас не полностью как там сделал, а всё же чуть занизил (не 90 34 54 поставили, а 75 30 45) До этого было 55 П остальное не помню…

Газ висения не менял, пропеллеры поставил временно восьмые (надо поднимать до 1700), однако высоту вроде держит. Наверное контроллер приходит в себя + регуляторы все одинаковые наконец-то 😒

greytm
dvd-media:

Скажите, мелкое подёргивание во время висения (пробовал сейчас в комнате)

На малых высотах турбулентность, может и от них подергивания.

dvd-media:

Газ висения не менял, пропеллеры поставил временно восьмые (надо поднимать до 1700)

В wiki для рама 450 рекомендуют пропы 1045

dvd-media
greytm:

На малых высотах турбулентность, может и от них подергивания.

Такого небыло. На 1,5-2 м высоты его как мандраж пробирает. Рукой придержал и даже чувствуется. Газу даю - вроде пропадает. По идее завышенное “Р” при резком старте такую дрожь должно давать, а в висении что?

greytm:

рекомендуют пропы 1045

Ну пока так…
Снизил пиды. Пока разницы не заметил, завтра на улице буду пробовать. По взрослому ))

greytm
greytm:

github.com/iNavFlight/inav/b...ocs/Battery.md
For example, assuming:

A INAV reported current draw of 1260 mAh
Charging data to restore full charge of 1158 mAh
A existing current_meter_scale value of 400 (the default)
Then the updated current_meter_scale is:

current_meter_scale = (charging_data_mAh / reported_draw_mAh) * old_current_meter_scale
= (1158 / 1260) * 400
= 368

Откалибровал более менее. Вероятно ошибка в формуле нужно
(reported_draw_mAh / charging_data_mAh) * old_current_meter_scale, а не
(charging_data_mAh / reported_draw_mAh) * old_current_meter_scale

На такой модуль www.aliexpress.com/item/…/1807862501.html коэффициент получился 753, при разряде акума на 1/5 емкости, если погода даст, то разряжу акум по больше, там и цифра должна быть по точнее.
Теперь нужно подбирать диод Шоттки, и использовать бек для питания.
Насколько точно нужно иметь 5 В для питания spracing f3, ± 0.1 В допустимы ?

dvd-media
greytm:

Насколько точно нужно иметь 5 В для питания spracing f3, ± 0.1 В допустимы ?

У меня примерно 4,9 не больше.

greytm
dvd-media:

У меня примерно 4,9 не больше.

Какой бек используете?

dvd-media

Какой-то сторублёвый… Мелкий в термоусадке, написано 5В 3А. Просто я диод поставил на вход, он просаживает чуть.
Хотел нормальный бек поставить, но не умещается между пластинами рамы, а сверху не хочется вешать.