micro / minimOSD для NAZA

brusse
Alexan:

Изучая этот датчик тока и напряжения обнаружил на картинках разных продавцов отличия в элементной базе.
Здесь посредине платы отсутствует коричневый, прямоугольный элемент…

Здесь этот элемент присутствует.

Кто нибудь знает, что это за деталь и на что она влияет? Стоит датчик покупать с ней или без этой деталь?

Не обращайте внимания, на показания это никак не повлияет, берите любой.

Alexan:

Подскажите, как этот датчик подключать к MinNazaOSD? Там, на обратной стороне платы датчика есть 4 контактные площадки. V, I, Gnd понятно. А нужно ли подавать на датчик +5В

I - выход напряжения датчика тока
U - выход напряжения
Gnd - земля
+5В - выход 5В (это опция некоторых датчиков, имеющих стабилизатор напряжения)

Alexan:

Выглядит классно! Фёдор, а вы бы не могли поделиться своими доработанными шрифтами?

Вечером выложу

brusse

Вот такой шрифт у меня сейчас

www.youtube.com/watch?v=-GG794_E8_Y&feature=youtu.…

  • переделал компас,
  • убрал лишние названия показаний (мне и так понятно, что это за показания),
  • убрал радар.
    В архиве все файлы и еще файл размещения показаний на экране, т.к. я еще не переделал (точнее не я, а мой товарищ) саму программу OSD_config под мои изменения и приходиться “ловить” положения на экране.

Naza.rar

drozd79

Ребят, давно тут не был. Подскажите, как мне заставить платку работать в NTSC режиме? То есть, сейчас видеовыход беру с ГоПро 3 BE, в камере ставлю 1080кадров и режим PAL, получается на выходе запись 50 кадров, OSD показывает информацию четко. Но как только я в GoPro выставляю NTSC, чтобы на записи получить фаил 1080 х 60 кадров/сек, то надписи в ОСД дергаются и становятся как бы через строчку. На плате OSD перемычку перемычку PAL не замыкал. ЧТо не так делаю? Спасибо!

ehs

NTSC/PAL меняется в программе osd_config.exe

12 days later
Echelon

Немного офф может быть. Есть желание купить готовую и правильную платку minnazaozd. В Москве и в ближайшее время.
Подскажите пжл продавца, если такой имеется.

ctakah

Есть у меня -дам взаймы:) Написал в личку.

Наверно лучше спросить,скачал все что можно,а нужно то простой файл для начала прошивки,нигде не могу найти вот этот : minNAZAOSD_upload_MCM.hex 2.

Kipo

А если пропадала телеметрия совсем, а картинка оставалась, вылечилось перезагрузкой платы - это непропай где-то или перегрев? Платки в термоусадке.

saigo

MAX7456 греется будь здоров, у меня уже сгорел (перепаивал новый), сейчас на всякий случай после заключения платы в термусадку сделал вырез над MAXом + заказал Heatsink Cooling мелкий.

8 days later
огреатырь

Подскажите пжлст, все спаяно верно. Прошивается без проблем. Везде PAL стоит.
Но не пропускает видеосигнал, при подключении через осд - no signal.
Mobius, nazav1

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

Vlad-1357

Коллеги, а как сделать, чтобы осд отображала два напряжения как у Фёдора (brusse)?

ehs

На любой из семи (кажется их семь) аналоговых пинов можно повесить проводок по которому подавать некую информацию от масштабированую в напряжение 0 - 1,1В. Хоть семь делителей от семи батарей. Код конечно надо править в зависимости на какой пин певешен делитель.

Vlad-1357

Уже повесил, а вот с кодом как разобраться - не знаю.

ehs

На какой пин? (На какую ногу процессора?) Могу вечером написать что в коде вставить.

ehs

Добавляем индикацию второй батареи на ножке 23, пин A0. Новую панель в OSDconfig я незнаю как делать, поэтому в этом варианте я заменяю панельку “Throttle”, по аналогии можно заменить другую неиспользуемую панель.

Жирный текст - вставить, зачеркнутый - удалить.
В файле OSD_Vars.h ->
static uint8_t battv = 0; // Battery warning voltage - units Volt *10
static float osd_vbat_A = 0; // Battery A voltage in milivolt
static float osd_vbat_B = 0; // Battery B voltage
static int16_t osd_curr_A = 0; // Battery A current

FlightBatt.h ->
#define CURRENT_VOLTAGE(x) ((x)*REF_VOLTAGE/1024.0)*(volt_div_ratio/100.0)
#define CURRENT_VOLTAGE_B(x) ((x)*REF_VOLTAGE/1024.0)*(1523.5/100.0) //число “1523.5” подобрать под свой делитель
#define CURRENT_AMPS(x) (((x)*REF_VOLTAGE/1024.0)-(curr_amp_offset/10000.0))*(curr_amp_per_volt/100.0)

FlightBatt.ino ->

static float voltage = LOW_VOLTAGE * 1.05; // battery voltage, initialized above the low voltage threshold to pre-load the filter and prevent low voltage events at startup
static float voltage_B = LOW_VOLTAGE * 1.05; // battery voltage_B, initialized above the low voltage threshold
static float current_amps = 0; // battery instantaneous currrent draw [A]

voltage = CURRENT_VOLTAGE(analogRead(VOLTAGE_PIN)) * .2 + voltage * .8; // reads battery voltage pin
osd_vbat_A = voltage;
voltage_B = CURRENT_VOLTAGE_B(analogRead(0)) * .2 + voltage_B * .8; // reads battery_B voltage pin A0 (23)
osd_vbat_B = voltage_B;

if (curr_amp_per_volt > 0) { // Consider Amp sensor disbled when Amp per Volt ratio is zero
current_amps = CURRENT_AMPS(analogRead(CURRENT_PIN)) * .2 + current_amps * .8; // reads battery sensor current pin

OSD_Panels.ino ->
/******************************************************************/
// Panel : panThr
// Needs : X, Y locations
// Output : Throttle
/******************************************************************/
void panThr(int first_col, int first_line) {
osd.setPanel(first_col, first_line);
osd.openPanel();
osd.printf(“%c%3.0i%c”, 0x87, osd_throttle, 0x25); //эту строку стереть и заменить следующей
osd.printf(“%c%5.2f%c”, 0xE2, (double)osd_vbat_B, 0x8E);
osd.closePanel();
}

В osdconfig.exe включить панель Throttle, разместить где нравится, и записать конфигурацию. Включить и откалибровать показания - число “1523.5” подобрать под свой делитель, там зависимость прямая, во сколько раз отличаются значения, во столько и изменить это число.

Одно “но” - предупреждение о просадке батареи (“BATT LOW” на весь экран) включается по первой батарее.
И последнее, у меня нет второй батареии, поэтому все вышенаписаное должно работать, но не я проверял))