micro / minimOSD для NAZA
Сори за нубство, не вдавался в копание исходников, просто заливал hex и шрифты.
Поправьте, где не прав:
Хочу проверить например мод alezz-а со стрелкой по компасу.
Имею уже действующую ОСД, подключение “easy”.
- Скачиваю файл MinNazaOsd_r75.zip (еле раскопал, может есть свежее версия?).
- Изменяю\заменяю GPS_DJI.ino и GPS_DJI.h.
- С помощью ардуиновской IDE напрямую компилирую и заливаю прошивку.
Хочу подключить еще напряжение батареи (только это, без остальной пайки на плату), без датчика напряжения, напрямую к батарее.
4. Нужен делитель с другими резисторами. 4,7к и 100к (примерно в 20 раз понизим напряжение)
5. Прямо в файле FlightBatt.h правлю параметр #define VOLT_DIV_RATIO, подбирая калибровку напряжения.
6. Компилирую\заливаю\проверяю значение напряжения на ОСД. При необходимости повторяю п.5-6.
А что еще под себя переделал, такого что остальным не подойдет?
кому то пойдет, кому-то нет. Например: у меня включен радар, но отключена калибровка напряжение батареи (коэф подбирал руками и зашил прямо в исходник), при уровне газа >30% переключаются панели
- Скачиваю файл MinNazaOsd_r75.zip (еле раскопал, может есть свежее версия?).
- Изменяю\заменяю GPS_DJI.ino и GPS_DJI.h.
- С помощью ардуиновской IDE напрямую компилирую и заливаю прошивку.
- да, r75 самая новая официальная
- да, плюс добавляешь строку включения компаса в OSD_Config.h (см. выше)
- компилируешь ардуиновской IDE, заливаешь в ОСДшку конфигуратором идущим в комплекте минназаосд
при уровне газа >30% переключаются панели
А для чего это?
А для чего это?
да баловство по сути. Я описывал такой мод в этой теме раньше, интересно поищи
Ставлю ардуино 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*)
:(
проверил компас в поле - все работает идеально, по крайней мере при нормальных углах наклона рамы:
проверил компас в поле - все работает идеально
Опубликуйте код на рсгрупп, пусть тестируют. Напишите автору, спросите почему он этого не сделал, может есть какие то тонкости, не учтенные вами.
Загружаю minNAZAOSD.ino из комплекта MinNazaOsd_r75. Жму проверить\скомпилировать.
В этой теме, поищите, есть ссылка на видео как использовать проект в Ардуино. Сделаете как там показано, начнет компилировать.
Опубликуйте … Напишите … спросите
звучит как приказ 😃 На самом деле на рцгрупс давным давно опубликовал, а на вопрос “почему” могу ответить и сам. На тот момент когда автор активно занимался минназаОСД протокол компаса еще не был взломан, а когда взломали - он уже на ОСДшку забил, последняя правка кода была в ноябре 2013г.
звучит как приказ
Ни в коей мере. Это было пожелание 😃
На самом деле на рцгрупс давным давно опубликовал
Что значит давно? Вы же только сегодня написали “как-то даже обидно мне стало после предыдущего поста, поэтому собрался и сделал магнитный компас”.
он уже на ОСДшку забил
Может у человека времени не хватает… А вы его простимулируете своим кодом.
“давно” значит несколько часов назад 😃 На самом деле будет JR63 продолжать проект minnazaosd дальше или нет, есть у него время или нет, не особо и важно. На теперешнем этапе это уже вполне добротный и полноценный продукт. А уж с магнитным компасом и подавно 😃 Хотя если JR63 вставит мой код в основной проект, безусловно за
Всем привет !!! Копался в зап. частях и попалось ОСД от Кролика 2.
Само сабой появился вопрос . На базе его реально сварганить весь этот
модуль и подключить к Назе лайт.
для самых ленивых, кто хочет посмотреть стрелку домой на основе компаса, но не хочет компилить исходники выкладываю свою готовую прошивку:
для самых ленивых, кто хочет посмотреть стрелку домой на основе компаса, но не хочет компилить исходники выкладываю свою готовую прошивку:
Спасибо! только там я не понял как менять diff volt чтобы правильный вольтаж показывало, у меня 7.4 вольта кажет при 3S, и еще как сделать чтобы при старте таймер обнулялся?
или ткните носом где взять исходники, попробую скомпилировать, хотя я не селен в этом
Спасибо! только там я не понял как менять diff volt чтобы правильный вольтаж показывало
а ни как, это то о чем говорил выше - прошивку делал для себя 😦 Таймер у меня обнуляется при взлете автоматически (газ > 50% и есть фиксация дома). Ссылка на вики с официальными исходниками в первом посте этой темы, моды исходников разбросаны либо здесь либо на рцгрупс (ссылка во втором посте этой темы)
P. S. Во вложение моя прошивка, но с возможностью стандартной калибровки стиком газа с помощью отладочной прошивки minNAZAOSD_setup_002_VOLT_DIFF_RATIO.hex, не проверено но должно сработать
P. S. Во вложение моя прошивка, но с возможностью стандартной калибровки стиком газа с помощью отладочной прошивки
Спасибо!
а обнуления таймера в ней есть? а то попробовать смогу только ближе к выходным
а обнуления таймера в ней есть?
внимательно читал?
… Таймер у меня обнуляется при взлете автоматически (газ > 50% и есть фиксация дома) … Во вложение моя прошивка …
подскажите как правильно настраивать показания тока на 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? и как их правильно настроить
у меня нет датчика тока, соответственно его калибровку не проводил, поэтому могу сильно ошибаться. Но по логике должно быть так: AMP offset задается ноль, т.е. не подавая ни какой нагрузки добиваешься чтобы на экране ОСД у тебя был тоже ноль, по идее в твоем случае AMP offset должен быть равен нулю т.к.
До 90А, Без нагрузки на выходе 0
потом даешь нагрузку (лучше как можно ближе к рабочему току коптера, но 8А тоже сойдет) и выставляешь то что у тебя на амперметре на экран ОСД.
попробуй так, если ввел в заблуждение - сорри
подскажите как правильно настраивать показания тока на 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кОм, выход только один, вам надо ставить повторитель на оу от выхода датчика.
А резисторы перепаять?
Я пробовал, и вроде все заработало, но видел он только до 19А, дальше напряжение переваливало за 1,1В и АЦП процессора переставало воспринимать это напряжение, поэтому спаял повторитель на lm358 и все заработало как надо.