micro / minimOSD для NAZA

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. Экраны не меняются…

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

st0002

Все, получилось! 😵
Значит, так.

  1. Чтобы не сбивались записанные ранее Оффсет и Амп_пер_вольт я не закрывал программу ArduCAM OSD Config. Ранее делал так: закрыл программу-отсоединил FTDI-отсоеденил minnazaOSD. При повторной прошивке эти два параметра менялись случайным образом.
  2. При первой прошивке Оффсет и Амп_пер_вольт имели значения около 23000 каждый. Я снижал их постепенно сначала до 10000, потом до 5000 Амп_пер_вольт и 30 Оффсет. В конце концов установил Оффсет=0 и Амп_пер_вольт = 32400(!). При этом отображаемый ток под нагрузкой 5А не соответствовал действительному 5,9А. В состоянии покоя потребляемый ток 0А.
  3. Корректирую Оффсет и устанавливаю -14 т.е. отрицательное(!) значение. Ток в состоянии покоя 0,4А ток под нагрузкой 6А. Заработала!😃
alezz

ну поздравляю 😃 Конечно, желательно сверится по измерениям еще и в третей точке, например 9-10А, чтобы не оказалось что при потреблении 20А у тебя будет погрешность 3-4А. Хотя… По большому счету это ни на что не влияет

Spartak1245
st0002:

Все, получилось! 😵
Значит, так.

  1. Чтобы не сбивались записанные ранее Оффсет и Амп_пер_вольт я не закрывал программу ArduCAM OSD Config. Ранее делал так: закрыл программу-отсоединил FTDI-отсоеденил minnazaOSD. При повторной прошивке эти два параметра менялись случайным образом.
  2. При первой прошивке Оффсет и Амп_пер_вольт имели значения около 23000 каждый. Я снижал их постепенно сначала до 10000, потом до 5000 Амп_пер_вольт и 30 Оффсет. В конце концов установил Оффсет=0 и Амп_пер_вольт = 32400(!). При этом отображаемый ток под нагрузкой 5А не соответствовал действительному 5,9А. В состоянии покоя потребляемый ток 0А.
  3. Корректирую Оффсет и устанавливаю -14 т.е. отрицательное(!) значение. Ток в состоянии покоя 0,4А ток под нагрузкой 6А. Заработала!😃

Я калибровал вот этим minNAZAOSD_setup_001_TS

st0002

У меня так и не заработал screen_switch ни на трехпозиционнике, ни на крутилке. Может ArduCAM OSD Config не тот режим выбирал. Поэтому эта прошивка minNAZAOSD_setup_001_TS мне не подошла.

Kipo

Случайно подал на вход (RX) minimOSD 5v. Все работало, только перестала поступать информация с назы и перестала прошиваться. Перепаял mega328, т.к. был уверен что она погорела - но плата всеравно не отвечает. Выходит max 7456 погорала? Больше там нечему по идее гореть…

alezz

нет, max только за вывод на экран отвечает и все. Ты бутлоадер в atmega328 не забыл прошить? 😃

Kipo
alezz:

нет, max только за вывод на экран отвечает и все. Ты бутлоадер в atmega328 не забыл прошить? 😃

Блин, об этом я не подумал. Думал она пустая и не надо ничего. Спасибо!

st0002

Alezz извините за наглость, можно попросить вас переделать вашу последнюю прошивку, без пролётных режимов (no led) - поставить горизонт вместо радара? А то последняя с горизонтом имеет очень простую статистику.
Заранее благодарен!

alezz
st0002:

можно попросить

Днепру за вчерашний футбол благодарочка, лови три варианта прошивки с горизонтом (светодиодом/радаром). Естественно ничего не проверялось, но должно работать, что вкл что выкл видно по названию файла:

minNAZAOSD_variants.rar