micro / minimOSD для NAZA

andry=
  1. Мне кажется самая простая последовательность такая

Мне удобнее было просто подкорректировать коэф в исходнике. 😃

alezz
andry=:

Мне удобнее было просто подкорректировать коэф в исходнике. 😃

минус в том что такую корректировку возможно придется произвести несколько раз и в том что при таком методе чужой, готовой прошивкой воспользоваться не получится 😃 Хотя кому что нравится

andry=

корректировку возможно придется произвести несколько раз

Прошивка-замеры-подсчет-прошивка.
С первого раза получилось.

методе чужой, готовой прошивкой

Ваша прошивка и исходники. Спасибо. 😃

Spartak1245
alezz:
  1. scr. switch не нужен. Стик газа ставишь посредине и сравниваешь напряжение на вольтметре и на экране ОСД. Если на ОСД завышено отклоняешь стик вниз, ждешь пока уровняется напряжение и возвращаешь стик в центр. И наоборот.
  2. Мне кажется самая простая последовательность такая - minNAZAOSD.SETUP_AMP_OFFSET.hex ставишь оффсет =0 без измерений. Грузишь minNAZAOSD.SETUP_AMP_PER_VOLT.hex обеспечиваешь приличный (оптимально полетный) ток через датчик (напр через лампочку, привязав коптер к земле и заведя моторы или хотя-бы снять пропы и газануть на полную) калибруешь ток на экране=амперметре. Потом снова грузишь minNAZAOSD.SETUP_AMP_OFFSET.hex и подправляешь ток покоя, с минимальной нагрузкой. Операцию можно повторить несколько раз
  3. Да нужно как минимум включить подвес в ассистанте

А как калибрануть ток с заведенными моторами, если при поднятии газа моторы повышают обороты и значения Тока меняются?

И еще кто нибудь ставил датчик тока вот этот?

Меряю напряжение на I выходе так там ничего нет. Не пойму причем здесь высокий делитель? Он же без него должен сколько нибудь показывать?

alezz
Spartak1245:

А как калибрануть ток с заведенными моторами, если при поднятии газа моторы повышают обороты и значения Тока меняются?

да, мягко говоря не удобно, но возможно. Ставишь стик газа посредине, смотришь на амперметр - допустим 5А на амперметре а на ОСД всего 1А. Отклоняешь стик газа, добиваешься показания 5А на ОСД (игнорируя амперметр), возвращаешь стик в центр. Вуаля и на экране и на амперметре 5А. Возможно придется повторить операцию для большей точности, отклоняя чуть-чуть стик газа от центра

Spartak1245
alezz:

да, мягко говоря не удобно, но возможно. Ставишь стик газа посредине, смотришь на амперметр - допустим 5А на амперметре а на ОСД всего 1А. Отклоняешь стик газа, добиваешься показания 5А на ОСД (игнорируя амперметр), возвращаешь стик в центр. Вуаля и на экране и на амперметре 5А. Возможно придется повторить операцию для большей точности, отклоняя чуть-чуть стик газа от центра

Поставил я 100к/50. И на холостом газу у меня 0.05в на I это нормально? И еще Чет не совсем понял про эту операцию. Если мне нужно будет поднять или опустить значения на ОСд, то газ будет менятся и за ним показания на Тестере тогда как все сделать. И еще я заливаю minNAZAOSD_setup_001_TS и на значении Offset мне лучше 0 выставить или как на холостом 1.2А?
?!

Spartak1245

Короче, как я понял Offset Нужно выставить ток холостого хода 1.2А по Мультиметру, А Amp Per Volt подредактировать под нагрузкой, да? Или нужно offset выставить на 0, а под нагрузкой подредактировать Amp Per Volt?
И еще чем выше максимальный Ампераж при корректировке тем точнее будет показывать или можно скажем 8А выставил и по всему пути вплоть до 30А будет правильно показывать?

Spartak1245

Отслоились пины, отрезал штекер и на провода посадил делители теперь на холостом ходу с делителей 0.00в, а без 0.02в и на осд при калибровки 0 на измненеия не реагирует. Делитель 100/50

alezz
Spartak1245:

нужно offset выставить на 0, а под нагрузкой подредактировать Amp Per Volt?

так точно, для этого датчика тока

Spartak1245:

И еще чем выше максимальный Ампераж при корректировке тем точнее будет показывать или можно скажем 8А выставил и по всему пути вплоть до 30А будет правильно показывать?

для максимальной точности желательно калибровать при полетном токе. Но обычно у нас в наличии амперметры до 10А, а полетный ток 20А, поэтому калибровать приходится током до 10А (например озвученные 8А). В принципе в этом ничего страшного нет, возможна небольшая погрешность измерений при полетном токе. Но если уж в космос наши (ваши) не могут нормально полететь потратив миллиарды рублей, то на погрешность в пол ампера на осд за 1000 руб думаю можно закрыть глаза. на полет это влияет мало

Spartak1245

Не могу понять почему нет сигнала на осд вроде бы позвонил контакт есть. Изменяю значения, а они не изменяются.

Spartak1245

Не могу точно откалибровать. Береберда какая-то. Ставлю Offset на 0 а другое под нагрузкой. Потом все проверяю и у меня -14А, как включаю моторы, то они падают до -9А, а когда нагрузку на 8А включаю, то значения меняются на 8А, как и калибровал. Тоже самое, что и в этом посте Только у меня при делителях 100/50 и нагрузкой в 3А напряжение поднимается на сотых Вольт за десятых даже и речи нет. Т.е 0.05 где-то, а под нагрузкой в 9А показывает 0.25в. Может делители не те?

st0002

В том посте человек пишет, что вообще выкинул делители при напряжении в 0.26В. Я к сожалению не успел проверить эту теорию - забыл подключить минус к делителям когда ток калибровал и наверно, что-то спалил. Напряжение отображается без проблем, а вот ток тупо ноль стоит.

В общем оказалось, что я неправильно заливал прошивку в ОСД. Перед тем, как залить я нажимал Read From OSD, а уж затем Update Firmware. Начал реагировать на изменение тока. Я выпаял делители и соединил напрямую. В итоге Офсет я выставляю 0А (ноль ампер), а когда калибрую Amp per Volt, то у меня Curent AMP отображается отрицательным числом. При попытке изменить его на положительное стиком газа - выше 0А (ноль ампер) значение не поднимается. При этом отрицательное значение, при подаче нагрузки, уменьшается.
Куда копать?

Spartak1245

Все настроил. Ничего не убирал. Я просто не правильно калибровал.

st0002

Впаял делители обратно (47к/100к) чувствительность стала меньше, но ничего не изменилось. Current AMP отображается отрицательным значением, но реагирует на изменение тока, при этом Amp per Volt имеет положительное значение. Если Amp per Volt становится отрицательным числом то Current AMP становится на ноль и не реагирует на изменение тока.

Spartak1245:

Все настроил. Ничего не убирал. Я просто не правильно калибровал.

Расскажи, что и как? Какие у тебя делители стоят?

alezz

если на изменение тока реагирует, то значит вход жив, датчик тока жив, осталось настроить 😃

st0002:

Current AMP отображается отрицательным значением

в нашем случае ток может быть отрицательным только из-за неправильного оффсета, если посмотреть на формулу расчета тока, это обычная прямая:
y = k x + b
где у - ток на экране ОСД,
k - коэффициент Amp per Volt,
x - напряжение на входе атмеги, т.е. после делителя если таковой имеется
b - Offset, по сути это смещение точки 0. На большинстве датчиков такого смещения нет (при токе через датчик 0А напряжение на датчике 0В), поэтому оффсет должен быть =0

alezz

только что заглянул в код, формула выше не совсем верная, в minnazaosd она написана так:
y = (x - b) * k
получается что ни оффсет ни Amp_per_Volt не могут быть отрицательными, т.к. минус уже забит в формуле

st0002

Кто может поделитесь, пожалуйста, своими коэфициентами Офсет и АмпПерВольт и при каком токе?

st0002

В общем уперся в следующую проблему при смене прошивок minNAZAOSD.SETUP_AMP_OFFSET.hex на minNAZAOSD.SETUP_AMP_PER_VOLT.hex сбивается значение Оффсет (или амп_пер_вольт при обратной смене). Не знаю что и делать.
Пробовал прошивку setup_001_TS, аппа 9XR, настроил трехпозиционник на пятый канал (ID0=HALF 100%, ID1=Full 0%, ID2=HALF -100%), подключил его к scr_switch, OSD Toggle Channel в режим Mode switch. Экраны не меняются…
Разрядились все акки (в аппе, видео передатчик, шлем) - ушел на зарядку 😃

alezz
st0002:

Не знаю что и делать

не Днепр, а Бермудский треугольник 😃 Я калибровался один раз давным давно, стиком газа, насколько помню ничего не скакало. Если все так загадочно, то предлагаю забить на все эти калибровки, прописать все коэффициенты в скетч, компилировать и заливать уже со своими настройками.
Вот этот блок в osd_config_func.ino закомментарить

    volt_div_ratio = EEPROM.read(volt_div_ratio_ADDR) + (EEPROM.read(volt_div_ratio_ADDR+1) << 8);
    curr_amp_per_volt = EEPROM.read(curr_amp_per_volt_ADDR) + (EEPROM.read(curr_amp_per_volt_ADDR+1) << 8);
    curr_amp_offset = EEPROM.read(curr_amp_offset_ADDR) + (EEPROM.read(curr_amp_offset_ADDR+1) << 8);

в osd_vars.h вместо нулей прописываем свои величины:

static int          volt_div_ratio = 0;             // Volt * 100
static int          curr_amp_per_volt = 0;          // Ampere * 100
static int          curr_amp_offset = 0;            // Ampere * 10000
st0002

Вынос мозга продолжается 😃 Помогите настроить переключение экранов: аппа 9XR, настроил трехпозиционник на пятый канал, вес поставил:
100% FULL ID0
0% FULL ID1
-100%FULL ID2
подключил его к scr_switch, в меню OSD Toggle Channel в режим Mode switch. Экраны не меняются…

Spartak1245
st0002:

Вынос мозга продолжается 😃 Помогите настроить переключение экранов: аппа 9XR, настроил трехпозиционник на пятый канал, вес поставил:
100% FULL ID0
0% FULL ID1
-100%FULL ID2
подключил его к scr_switch, в меню OSD Toggle Channel в режим Mode switch. Экраны не меняются…

поставь на крутилку какую нибудь.