micro / minimOSD для NAZA

alezz

ты сначала попробуй а потом “отличная работа” 😃 Я лично еще толком не тестил, только в руках коптер поносил по квартире и все
Все исходники выложить не могу т.к. у меня от оригинала там уже рожки и ножки остались, многое под себя переделал. Но пару файлов где максимальное количество изменений GPS_DJI.ino и GPS_DJI.h выложу

GPS_DJI.zip

Shuricus

А что еще под себя переделал, такого что остальным не подойдет?

andry=

Сори за нубство, не вдавался в копание исходников, просто заливал hex и шрифты.
Поправьте, где не прав:
Хочу проверить например мод alezz-а со стрелкой по компасу.
Имею уже действующую ОСД, подключение “easy”.

  1. Скачиваю файл MinNazaOsd_r75.zip (еле раскопал, может есть свежее версия?).
  2. Изменяю\заменяю GPS_DJI.ino и GPS_DJI.h.
  3. С помощью ардуиновской IDE напрямую компилирую и заливаю прошивку.

Хочу подключить еще напряжение батареи (только это, без остальной пайки на плату), без датчика напряжения, напрямую к батарее.
4. Нужен делитель с другими резисторами. 4,7к и 100к (примерно в 20 раз понизим напряжение)
5. Прямо в файле FlightBatt.h правлю параметр #define VOLT_DIV_RATIO, подбирая калибровку напряжения.
6. Компилирую\заливаю\проверяю значение напряжения на ОСД. При необходимости повторяю п.5-6.

alezz
Shuricus:

А что еще под себя переделал, такого что остальным не подойдет?

кому то пойдет, кому-то нет. Например: у меня включен радар, но отключена калибровка напряжение батареи (коэф подбирал руками и зашил прямо в исходник), при уровне газа >30% переключаются панели

andry=:
  1. Скачиваю файл MinNazaOsd_r75.zip (еле раскопал, может есть свежее версия?).
  2. Изменяю\заменяю GPS_DJI.ino и GPS_DJI.h.
  3. С помощью ардуиновской IDE напрямую компилирую и заливаю прошивку.
  1. да, r75 самая новая официальная
  2. да, плюс добавляешь строку включения компаса в OSD_Config.h (см. выше)
  3. компилируешь ардуиновской IDE, заливаешь в ОСДшку конфигуратором идущим в комплекте минназаосд
Shuricus
alezz:

при уровне газа >30% переключаются панели

А для чего это?

alezz
Shuricus:

А для чего это?

да баловство по сути. Я описывал такой мод в этой теме раньше, интересно поищи

andry=

Ставлю ардуино 1.0.6.
Загружаю minNAZAOSD.ino из комплекта MinNazaOsd_r75.
Жму проверить\скомпилировать.
Получаю:

This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
Arduino: 1.0.6 (Windows XP), Board: “Arduino Nano w/ ATmega328”
In file included from ArduCam_Max7456.cpp:4:
ArduCam_Max7456.h:78: error: expected class-name before ‘{’ token
ArduCam_Max7456.h:84: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:84: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:87: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:90: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:90: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:97: error: ‘size_t’ does not name a type
ArduCam_Max7456.h:98: error: ‘uint8_t’ has not been declared
ArduCam_Max7456.h:99: error: ‘BetterStream’ has not been declared
ArduCam_Max7456.h:101: error: ‘uint8_t’ does not name a type
ArduCam_Max7456.cpp: In member function ‘void OSD::init()’:
ArduCam_Max7456.cpp:38: error: ‘video_mode’ was not declared in this scope
ArduCam_Max7456.cpp: In member function ‘void OSD::setMode(int)’:
ArduCam_Max7456.cpp:96: error: ‘video_mode’ was not declared in this scope
ArduCam_Max7456.cpp:97: error: ‘video_center’ was not declared in this scope
ArduCam_Max7456.cpp: In member function ‘int OSD::getMode()’:
ArduCam_Max7456.cpp:110: error: ‘video_mode’ was not declared in this scope
ArduCam_Max7456.cpp: In member function ‘int OSD::getCenter()’:
ArduCam_Max7456.cpp:125: error: ‘video_center’ was not declared in this scope
ArduCam_Max7456.cpp: At global scope:
ArduCam_Max7456.cpp:149: error: prototype for ‘void OSD::setPanel(uint8_t, uint8_t)’ does not match any in class ‘OSD’
ArduCam_Max7456.h:84: error: candidate is: void OSD::setPanel(int, int)
ArduCam_Max7456.cpp: In member function ‘void OSD::openPanel()’:
ArduCam_Max7456.cpp:164: error: ‘row’ was not declared in this scope
ArduCam_Max7456.cpp:164: error: ‘col’ was not declared in this scope
ArduCam_Max7456.cpp: In member function ‘void OSD::closePanel()’:
ArduCam_Max7456.cpp:193: error: ‘row’ was not declared in this scope
ArduCam_Max7456.cpp: At global scope:
ArduCam_Max7456.cpp:199: error: prototype for ‘void OSD::openSingle(uint8_t, uint8_t)’ does not match any in class ‘OSD’
ArduCam_Max7456.h:90: error: candidate is: void OSD::openSingle(int, int)
ArduCam_Max7456.cpp:223: error: no ‘size_t OSD::write(uint8_t)’ member function declared in class ‘OSD’
ArduCam_Max7456.cpp:238: error: prototype for ‘void OSD::control(uint8_t)’ does not match any in class ‘OSD’
ArduCam_Max7456.h:87: error: candidate is: void OSD::control(int)
ArduCam_Max7456.cpp:255: error: prototype for ‘void OSD::write_NVM(int, uint8_t*)’ does not match any in class ‘OSD’
ArduCam_Max7456.h:98: error: candidate is: void OSD::write_NVM(int, int*)

:(

Alexan
alezz:

проверил компас в поле - все работает идеально

Опубликуйте код на рсгрупп, пусть тестируют. Напишите автору, спросите почему он этого не сделал, может есть какие то тонкости, не учтенные вами.

andry=:

Загружаю minNAZAOSD.ino из комплекта MinNazaOsd_r75. Жму проверить\скомпилировать.

В этой теме, поищите, есть ссылка на видео как использовать проект в Ардуино. Сделаете как там показано, начнет компилировать.

alezz
Alexan:

Опубликуйте … Напишите … спросите

звучит как приказ 😃 На самом деле на рцгрупс давным давно опубликовал, а на вопрос “почему” могу ответить и сам. На тот момент когда автор активно занимался минназаОСД протокол компаса еще не был взломан, а когда взломали - он уже на ОСДшку забил, последняя правка кода была в ноябре 2013г.

Alexan
alezz:

звучит как приказ

Ни в коей мере. Это было пожелание 😃

alezz:

На самом деле на рцгрупс давным давно опубликовал

Что значит давно? Вы же только сегодня написали “как-то даже обидно мне стало после предыдущего поста, поэтому собрался и сделал магнитный компас”.

alezz:

он уже на ОСДшку забил

Может у человека времени не хватает… А вы его простимулируете своим кодом.

alezz

“давно” значит несколько часов назад 😃 На самом деле будет JR63 продолжать проект minnazaosd дальше или нет, есть у него время или нет, не особо и важно. На теперешнем этапе это уже вполне добротный и полноценный продукт. А уж с магнитным компасом и подавно 😃 Хотя если JR63 вставит мой код в основной проект, безусловно за

kluchik

Всем привет !!! Копался в зап. частях и попалось ОСД от Кролика 2.
Само сабой появился вопрос . На базе его реально сварганить весь этот
модуль и подключить к Назе лайт.

alezz

для самых ленивых, кто хочет посмотреть стрелку домой на основе компаса, но не хочет компилить исходники выкладываю свою готовую прошивку:

minNAZAOSD.cpp.zip

SerjikLSV
alezz:

для самых ленивых, кто хочет посмотреть стрелку домой на основе компаса, но не хочет компилить исходники выкладываю свою готовую прошивку:

Спасибо! только там я не понял как менять diff volt чтобы правильный вольтаж показывало, у меня 7.4 вольта кажет при 3S, и еще как сделать чтобы при старте таймер обнулялся?
или ткните носом где взять исходники, попробую скомпилировать, хотя я не селен в этом

alezz
SerjikLSV:

Спасибо! только там я не понял как менять diff volt чтобы правильный вольтаж показывало

а ни как, это то о чем говорил выше - прошивку делал для себя 😦 Таймер у меня обнуляется при взлете автоматически (газ > 50% и есть фиксация дома). Ссылка на вики с официальными исходниками в первом посте этой темы, моды исходников разбросаны либо здесь либо на рцгрупс (ссылка во втором посте этой темы)
P. S. Во вложение моя прошивка, но с возможностью стандартной калибровки стиком газа с помощью отладочной прошивки minNAZAOSD_setup_002_VOLT_DIFF_RATIO.hex, не проверено но должно сработать

minNAZAOSD.volt_calibr.zip

SerjikLSV
alezz:

P. S. Во вложение моя прошивка, но с возможностью стандартной калибровки стиком газа с помощью отладочной прошивки

Спасибо!
а обнуления таймера в ней есть? а то попробовать смогу только ближе к выходным

alezz
SerjikLSV:

а обнуления таймера в ней есть?

внимательно читал?

… Таймер у меня обнуляется при взлете автоматически (газ > 50% и есть фиксация дома) … Во вложение моя прошивка …

SerjikLSV

подскажите как правильно настраивать показания тока на OSD? никак не победить
датчик такой dx.com/…/new-apm-osd-90a-voltage-current-sensor-co…
До 90А, Без нагрузки на выходе 0, при нагрузке 1А - 0,042В. Подключал для пробу 2 лампы 12В 55Вт сумарным током 8,5А, датчик кажет правильно. максимальное напряжение на выходе около 4В это при нагрузке 90А но у меня такой нету нагрузки чтобы проверить. Подключен к OSD через делитель 10к-4,7к
Пытаюсь настроить в OSD через прошивку minNAZAOSD_setup_001_TS.hex
Напряжение настроил без проблем.
По току включаю нагрузку 1А, выставляю AMP offset - 1000, кручу AMP per volt около 1000-1050, показывает 1А.
Выключаю нагрузку - ток на экране падает несильно, включаю нагрузку 8А - кажет около 1,5-2, подстраиваю под нее - без нагрузки показывает тоже какой-то бред.
Короче замучился уже.
Эксперементальным путем выяснил что AMP offset - это множитель. 1000=1, 2000=2 (ток в 2 раза больше) а не смещение как я думал изначально.
У кого какие значения стоят AMP offset и AMP per volt? и как их правильно настроить

alezz

у меня нет датчика тока, соответственно его калибровку не проводил, поэтому могу сильно ошибаться. Но по логике должно быть так: AMP offset задается ноль, т.е. не подавая ни какой нагрузки добиваешься чтобы на экране ОСД у тебя был тоже ноль, по идее в твоем случае AMP offset должен быть равен нулю т.к.

До 90А, Без нагрузки на выходе 0

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

brusse
SerjikLSV:

подскажите как правильно настраивать показания тока на OSD? никак не победить
датчик такой dx.com/…/new-apm-osd-90a-voltage-current-sensor-co…
До 90А, Без нагрузки на выходе 0, при нагрузке 1А - 0,042В. Подключал для пробу 2 лампы 12В 55Вт сумарным током 8,5А, датчик кажет правильно. максимальное напряжение на выходе около 4В это при нагрузке 90А но у меня такой нету нагрузки чтобы проверить. Подключен к OSD через делитель 10к-4,7к
Пытаюсь настроить в OSD через прошивку minNAZAOSD_setup_001_TS.hex
Напряжение настроил без проблем.
По току включаю нагрузку 1А, выставляю AMP offset - 1000, кручу AMP per volt около 1000-1050, показывает 1А.
Выключаю нагрузку - ток на экране падает несильно, включаю нагрузку 8А - кажет около 1,5-2, подстраиваю под нее - без нагрузки показывает тоже какой-то бред.
Короче замучился уже.
Эксперементальным путем выяснил что AMP offset - это множитель. 1000=1, 2000=2 (ток в 2 раза больше) а не смещение как я думал изначально.
У кого какие значения стоят AMP offset и AMP per volt? и как их правильно настроить

Данный датчик тока очень сильно проседает от делителя напряжения 10кОм и 4,7кОм, выход только один, вам надо ставить повторитель на оу от выхода датчика.