Вопросы по iNav

Alex_Ivanov
umen:

уменьшил на 10 P пидов по ролу и питчу, все равно дергает лучами . и все равно горизонт не удерживает 😦

В общем сбросил на умолчания попробуем от них лучше настраивать.

Мне кажется, что вам надо увеличивать roll d и pitch d, что то сильно он маловат. У меня на Дискавери d 200-230 если перевести в 1.2 прошивку, то~100, при P 8-9, т.е. 6-7, а у вас P больше, а D в два раза меньше, квадрик не успевает останавливаться.

sa64
dvd-media:

Вообще, когда он держал позицию (пока стик не трогал), то вполне себе так висел

Когда в ветер трогаете стик то освобождаете от удержания точки…но сдвиг стика(в вашем случае)явно мал против ветра, вот он и летит куда дует 😃
Кроме того ограничение углов и скорости могут ограничить ваши возможности борьбы с ветром.
Часто в режиме удержания позиции ручки надо давать до упора для видимого результата.

dvd-media
sa64:

Часто в режиме удержания позиции ручки надо давать до упора для видимого результата.

Когда его уводило (при, как вы говорите, отпускании с точки), то стик я отклонял на максимум практически. У меня нет еще контроля рефлексов. ну типа плавненько там подруливать… я, в случае непоняток, чаще всего кручу “рычаги” на всю сразу.
А углы отклонения у меня по умолчанию, что в версии 1.3 были, что в версии 1.4. В 1.3. ему это не мешало в ветер управляться.
Но пока мало опытов и они получаются кратковременные и “незаконченные”. Сейчас пересоберу его и, пока погода наладилась, опробую снова. Снял пока все фпв/осд и провода лишние.

greytm

Погода не позволяет летать, световой день короткий. Прикрутил на коленке oled дисплей i2c и power module apm. Дисплей показывает напряжение, mah расходованные, высоту относительную по барометру, кол-во спутников и наличие 2D/3D fix и т.д.
Датчик тока нужно калибровать, а в наличии только амперметр до 10A (жду ваттметр ), еще он работает как бек, но напряжение, как и писали ранее 5.3 В думаю диоды поставить, если подберу нужные.

Фотографировать oled дисплей мой телефон норм не смог, так что сор, текст на дисплее читается очень хорошо.

ssilk
greytm:

Дисплей показывает напряжение, mah расходованные, высоту относительную по барометру, кол-во спутников и наличие 2D/3D fix и т.д.

Остается лететь рядом с коптером и читать…)

GreenLord
greytm:

… Прикрутил на коленке oled дисплей i2c и power module apm…

А схемку можно?

umen
GreenLord:

А схемку можно?

просто подключаешь по i2c и все. и в конфигураторе включаешь.
про пауэр модуль я бы сам посмотрел 😃 у меня от АПМ валяется

Alex_Ivanov
ssilk:

Остается лететь рядом с коптером и читать…)

На втором коптере. А если серьезно, тоже не понял смысл.

greytm

I2C подключаются паралельно тоесть, SDA->SDA SCL->SCL питание можно от порта I2C.

Датчик тока от модуля питания подключается к ADC_1 / CURRENT METER это пин 7 IO2 для контроллера spracing F3. Бек использовать нельзя т.к. питание там 5.3 В. Еще нужно удостовериться, что напряжение от датчика тока (шунта) не превышает 3.3 В.
На данные момент думаю ка его откалибровать.

greytm

Нашел способ калибровки без использования амперметра/токовых клещей (китайский тестер позволяет мерить до 10А), вечером попробую и отпишусь. В наличии есть оригинал imaxb6 mini, я склонен верить, что он более менее норм должен показывать mAh.
github.com/iNavFlight/inav/blob/…/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

P.S. потребление не зармленного spracing F3 + 4 esc китайские на atmege с прошивкой simonk + приемник FliSky i10b + GPS M8N + регулятор напряжения регулируемый на микросхеме lm2596 ~ 0.3 A при 3S батареи. Я думал будет раза в 2 меньше.
Это похоже на правду?

jShadow

Поскольку многие не вполне понимают “магию” работы АльтХолда и его параметры пробую объяснить.

Первое что нужно понять, что стик газа на аппаратуре уже не управляет газом, он управляет скоростью подъема или спуска. Есть два варианта настройки - а-ля DJI, когда середина стика = висение; и а-ля Cleanflight, когда положение стика в момент включения режима = висение.

Газом теперь управляет полетный контроллер и считает реальный газ висения исходя из датчиков и “подсказки” в виде параметра nav_mc_hover_thr (газ висения). С любым значением параметра-подсказки режим будет работать, но от правильности подсказки зависит насколько “ровным” будет переход в режим удержания высоты.

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ого размера.