Прошивка minimOSD firmware minimOSD 2.0. Борьба с «EEPROM mapping outdated».

Исходную информацию и первый алгоритм, который позволил запустить minimOSD я скачал, кажется, с hobbyking в разделе Files к товару, в виде PDF-файла с картинками. Автор файла указал только свою почту (P66charly СОБАК tiscali.it).
После некоторой тренировки решил сделать для себя и всех нуждающихся описание процесса настройки minimOSD с прошивкой MinimOSD_20.hex.

Подготовка рабочего места.

  • Подключить minimOSD к FTDI-адаптеру (питание и уровни 5В: TX->RX, RX->TX, GND->GND, +5V->+5V). (rem* При подключении телеметрии почему-то к GND APM нужно подключать контакт BLK от OSD).
  • Подключить монитор (можно без камеры) к выходу видеотракта OSD – необходимо для контроля состояния OSD и для выявления ошибок при записи настроек.
  • Запустить ArduCAM OSD Config и выбрать в нижней части экрана COMn с подключенным через FTDI-USB адаптер minimOSD.

Инициализация.
На данном этапе можно для надежности обновить bootloader средствами Arduino IDE через USBasp адаптер. Рекомендуется для нового устройства или при полном слетании прошивки. Для обновления в IDE выбрать: тип платы - “Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328”; порт – без разницы (с USBasp среда работает напрямую); Программатор – USBasp. После установки указанных настроек – нажать «Записать загрузчик» и дождаться окончания процесса. По результатам прошивки могут в журнале выскочить предупреждения типа «…cannot set sck period…» - это не критично и относится к устаревшей прошивке самого USBasp программатора. Если добавляется сообщение по несовпадению контрольных сумм при прошивке – повторить «Запись загрузчика».

Выполнение и запись настроек в minimOSD.
Собственно процесс записи настроек через ArduCAM осложнен тем, что чтение/запись параметров (памяти пользовательских данных) работает либо на чистом bootloader (без прошивки minimOSD), либо только в первые секунды после Hard Reset платы OSD. Т.е. либо перед каждой записью настроек делать перепрошивку загрузчика, либо – см.ниже.
Если еще чистый Bootloader – сначала имеет смысл сохранить конфигурации OSD, а затем – выполнить Update Firmware с файлом MinimOSD_20.hex через программу ArduCAM.
В случае, когда MinimOSD_20.hex уже записана и работает - алгоритм конфигурирования хоть и прост, но требует ловкости рук:
В ArduCAM есть три вкладки. Необходимо спокойно и вдумчиво выставить все настройки на Config, Panel 1 и Panel 2. Рекомендую пользоваться возможностью сохранения/загрузки экранов OSD. Для того, чтобы записать в OSD конфигурации, необходимо установить мышь над кнопкой “Save Current Tab to OSD”, нажать Hard Reset на плате OSD и в то же мгновение нажать кнопку “Save Current Tab to OSD“. Если Вы успели – будет подтверждающее сообщение, в противном случае – что-то про ошибку общения с Bootloader. Повторять этот цикл можно многократно до получения желаемого результата. Так же можно и считать данные.
Побороть ошибку с «…EEPROM mapping outdated…» может сама программа ArduCAM. У меня при считывании данных “Read From OSD” (через магию Hard Reset, как описано выше) выскочило сообщение в программе про EEPROM. Если ОЧЕНЬ быстро успеть ответить <OK> в этом и следующем окне – программа успеет выполнить исправления памяти. Контроль успешности мероприятия – по монитору на выходе OSD. В идеале он должен загрузиться и написать, что ждет пакетов MAVLink.
Такое шаманство объясняется тем, что средствами Bootloader ArduCAM пользуется и для записи прошивки и для записи конфигурации в память данных. Когда записана прошивка в OSD – для взаимодействия с Bootloader остаются первые секунды старта контроллера.

По железу: микросхема-генератор сильно греется и глючит. Имеет смысл простейший вариант: отпилить кусок алюминиевого радиатора по размеру, посадить на Алсил-5 (теплопроводный клей) или прилепить на пасту Алсил-3, КПВТ-8, а уголки подклеить “Моментом”.

P.S. Пока писал это - подтвердил правило: ОТКЛЮЧАЙТЕ ПИТАНИЕ ВСЕХ УЗЛОВ ПРИ ПЕРЕКОММУТАЦИИ ПРОВОДОВ.

Config_OSD_20.zipMinimOSD_20.hex.zip

  • 16915
Comments
omegapraim

Дядь подключи ресет от FTDI к миним осд и все будет тебе счастье, миним скотина такая настраивается и прошивается по 5ти проводам а не по 4м как написано у дидронсов, поэтому надо подключать ресет даже ни настройке))))

Deverex
omegapraim;bt123932

Дядь подключи ресет от FTDI к миним осд и все будет тебе счастье, миним скотина такая настраивается и прошивается по 5ти проводам а не по 4м как написано у дидронсов, поэтому надо подключать ресет даже ни настройке))))

Если не сложно - уточни, что к чему именно. Логику понял, но реализация как-то не очевидна.

omegapraim

В смысле не очевидна на FTDI есть выход под названием RESET, а на миниме есть тоже ресет, соединяете проводочком и все))))) Ресет на миниме называется BLK по моему…

Deverex

Вот сюрприз.
Странным при этом остается то, что для подключения телеметрийного выхода APM землю с APM нужно заводить именно на BLK. Иначе у меня не работает (да и официальная схема именно так рисует).
Сейчас глянул принципиальную на minimOSD - там такой маркировки вообще нет, зато есть DTR.
Еще неопознанная нога GRN.
…ardupilot.com/…/common-minim-osd-on-screen-displa…
…ardupilot.com/…/common-minim-osd-quick-installati…

В общем, если не буду уверен - экспериментировать не буду 😃 Всяко проще ресет нажимать, нежели полностью булоадер переливать (как написано в приложенной pdf-инструкции).

omegapraim

во во GRN))))) бутлодер тут вообще не причем, и не волнуйтесь если ресет не туда не подключите ничего не сгорит…

Deverex

Точно! Про GRN - сходится. Посмотрел на схеме - именно он и есть DTR (кондер, потом подключен к 29 ноге), более того - 29 нога - RESET и на неё заведена кнопка сброса OSD. Проверю - поправлю свою заметку.

omegapraim

Понаобзывают буржуи контакты… Хрен разберешься.

fly55

Контакты назвали - grn - green, blk-black. Суть в том что в нормальном ftdi распаяны пины dtr rx tx cts gnd соответственно cts идет на землю при таком подключении - поэтому gnd и blk на minim osd объединены и сделано это именно для того чтобы не вводить рядового подключальщика в ступор - просто по цветам от зеленого к черному все тыкнул и вперед 😃

Deverex
fly55;bt123955

Контакты назвали - grn - green, blk-black. Суть в том что в нормальном ftdi распаяны пины dtr rx tx cts gnd соответственно cts идет на землю при таком подключении - поэтому gnd и blk на minim osd объединены и сделано это именно для того чтобы не вводить рядового подключальщика в ступор - просто по цветам от зеленого к черному все тыкнул и вперед 😃

😃 мне в голову упорно лезла мысль о том, что эти подписи означают цвета, но я её откидывал как не логичную…

Shuricus
omegapraim;bt123932

Дядь подключи ресет от FTDI к миним осд и все будет тебе счастье, миним скотина такая настраивается и прошивается по 5ти проводам а не по 4м как написано у дидронсов, поэтому надо подключать ресет даже ни настройке))))

Дим, у дидронсов все правильно написано - программирование через 6ти пиновый кабель.
store.3drobotics.com/…/apm-minimosd-rev-1-1
store.3drobotics.com/products/ftdi-cable-3-3v

А по четырем - подключение к АП. У меня ваще по одному подключено. 😉
Ты опять с прошиванием торопишься.

Просто у нас народ либо английский не понимает, либо инструкции не читает, поэтому пишет такие огромные бесполезные статьи.

С этим ОСД проблем вообще нет. Все всегда прекрасно работает. Главное не покупать с РЦтаймера.

Shuricus

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

fly55;bt123955

Контакты назвали для стандартного пендоса-дибила - grn - green, blk-black. Суть в том что в нормальном ftdi распаяны пины dtr rx tx cts gnd соответственно cts идет на землю при таком подключении - поэтому gnd и blk на minim osd объединены и сделано это именно для того чтобы не вводить рядового подключальщика в ступор - просто по цветам от зеленого к черному все тыкнул и вперед 😃

Alex-13

Надо просто с самоого начала на все случаи жизни иметь правильную платку FTDI

Deverex
Shuricus;bt123982

Дим, у дидронсов все правильно написано - программирование через 6ти пиновый кабель.
store.3drobotics.com/…/apm-minimosd-rev-1-1
store.3drobotics.com/products/ftdi-cable-3-3v

А по четырем - подключение к АП. У меня ваще по одному подключено. 😉
Ты опять с прошиванием торопишься.

Просто у нас народ либо английский не понимает, либо инструкции не читает, поэтому пишет такие огромные бесполезные статьи.

С этим ОСД проблем вообще нет. Все всегда прекрасно работает. Главное не покупать с РЦтаймера.

Во-первых, покупал свой экземпляр на али и после включения он показал надпись “EEPROM mapping outdated”. Это стало причиной для перепрошивки. Я не страдаю прошивкой ради прошивки.
Во-вторых, с английским у меня вполне нормально и инструкции эти видел. Ввиду того, что FTDI-адаптер у меня есть - не видел смысла покупать у дронов отдельный кабель для прошивки одной только OSD. Здесь минус мне только в том, что не догадался свой FTDI подключить по описанной там распиновке. Просто забыл про те мануалы.
В-третьих, у меня не статья, а запись в дневнике, которую я просто перенес из своих личных заметок и немного поправил. Я тут не лайки собираю. Единственная внятная инструкция, которую удалось найти при увиденной мной ошибке - приложил к своей “статье” - там еще круче (постоянно прошивать bootloader) и да, она - на английском, а я написал на русском (может кому кроме меня пригодится). Своей писаниной я в заблуждение никого не ввожу. У кого проблем с OSD нет, те такую инфу и не ищут.

Насчет проблем - может у кого-то и нет их, но у меня были. Были и у тех людей, что у дронов покупали (только там дороже, а рекламация - очень длительный процесс). Это я, кстати, на импортных форумах вычитал.

В общем, спасибо за конструктивную критику.

Deverex
Alex 13;bt124003

Надо просто с самоого начала на все случаи жизни иметь правильную платку FTDI

У меня такая
orig
easyelectronics.ru/universalnaya-plata-ft2232.html
Поддержал отечественного производителя. Тут два независимых порта и полный функционал со всеми сигналами.
Позанимаюсь этим хобби еще пару лет - обрасту приблудами на все случаи жизни, а пока использую что есть.

Shuricus

Я текст писал Диме в основном. А в заблуждение вы вводите, ибо вместо всего вашего текста нужно написать - подключите зеленый провод. И никакой ловкости рук. Но собственно это ваше дело. Тут вы правы.

Deverex
Shuricus;bt124024

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

Проверю все и перепишу правильно, с картинками. Сам пострадал фигней, другие не будут.
Кстати, исходный мануал пришпилен на хобикинге в файлах к ОСД.

omegapraim

Блин вот поражаюсь как легко изза одного провода перевести тему в формат срача)))) У меня кстати тоже не такой FTDI)))) Deverex В общем моей целью было просто помочь тебе собственно далее все комментарии тут излишни, просто как проверишь перепиши все правильно и все лишнее включая наше словоблудие подчисти. Сам пару недель назад искал инфу и ее реально нет, я даже фьюзы на одной 328 меге запорол посмотрев совет одного иностранца… В общем удачи.

Aleksandr_L

Друзья, добрый день.
Прошу прощения за тупой вопрос.
Не имею FTDI адаптера, но имею Arduino Nano.
Можно ли использовать Arduino Nano в качестве FTDI адаптера для прошивки и настройки MinimOSD?

Deverex
Aleksandr L.;bt124030

Друзья, добрый день.
Прошу прощения за тупой вопрос.
Не имею FTDI адаптера, но имею Arduino Nano.
Можно ли использовать Arduino Nano в качестве FTDI адаптера для прошивки и настройки MinimOSD?

В сети есть много публикаций на эту тему. Люди делают, но по-моему Nano не достаточно. Лично я на первых этапах этого хобби заказал себе приличный FTDI-адаптер (с переключателем уровней 3,3/5В). Чуть позже USBasp.
ИМХО это критичный инструментарий для такого увлечения.

froller

Поделюсь опытом, может кому пригодится.
Столкнулся тут с проблемой: MavlinkOSD (клон MinimOSD от RC-Timer) отказывался прошиваться через FTDI, хотя прекрасно конфигурился через него при помощи софтины от ArduCAM.
Решилось все сбросом чипа и прошивкой в него загрузчика от Arduino. Прошивал через ISP разъем (6-контактный не распаян с завода) при помощи STK-500. Arduino IDE оказалась совершенно беспомощной, пришлось брать хардкорный CodeVision AVR.

Venerdi20

Всем привет! Господа знатоки, подскажите новичку, в чем проблема может быть! Подключил и настроил все по данной: apmcopter.ru/…/minimosd-nastrojjka-i-podklyuchenie… инструкции, на изображение инфа накладывается, но не обновляется, все по нулям горит, только время работает.

olden

Пытаюсь настроить на 250 квадре связку naze32(flip32 со свежей прошивкой) + minimosd (2.2)+ GPS.
gps,Arm и Режимы OSD показывает корректно, но есть несколько пока не разрешенных проблем:

  1. В момент запуска моторов osd c 30% может отрубится. лечится ресетом на плате OSD, после которого телеметрия появляется.
  2. После запуска моторов сбивается работа компаса (на 100-180 гардусов), после останова возвращается к нормальным значениям. (калибровка сделана).
  3. Сверху кадра, где отображается цифровой компас есть часть надписи DISARM, которая ездит вместе с цифрами компаса сверху.

кто сталкивался ?

froller

1 - просадка питания. Причем вырубается аналоговая часть OSD. ATmega по brown-out перезагрузится сама, а MAX надо ресетить. Либо ставить диод Шотки и конденсатор, чтоб переживать кратковременные просадки, либо переделывать схему питания, чтобы просадок не было вообще.

Deverex
olden;bt132830

Пытаюсь настроить на 250 квадре связку naze32(flip32 со свежей прошивкой) + minimosd (2.2)+ GPS.
gps,Arm и Режимы OSD показывает корректно, но есть несколько пока не разрешенных проблем:

  1. В момент запуска моторов osd c 30% может отрубится. лечится ресетом на плате OSD, после которого телеметрия появляется.
  2. После запуска моторов сбивается работа компаса (на 100-180 гардусов), после останова возвращается к нормальным значениям. (калибровка сделана).
  3. Сверху кадра, где отображается цифровой компас есть часть надписи DISARM, которая ездит вместе с цифрами компаса сверху.

кто сталкивался ?

Скорее всего по всем пунктам - проблемы питания.
В моей схеме - два раздельных контура питания: моторы отдельно, контроллер+камеры+осд+передатчик - отдельный маленький акк с BEC на 5В.
minimOSD весьма помехочувствительная. Мой экземпляр вырубался даже от ярких вспышек света и перепада температуры. Пришлось клеить радиатор на MAX, довешивать фильтр на питание и прикрывать коробочкой (думаю, что лучше металлизированной).

MadJohn

Подскажите новичку, для прошивки обязательно нужна FTDI? Или можно обойтись USBasp? Заказал себе комплект APM 2.8 c телеметрией и минимосд. Заодно сразу заказал USBasp. Прочитав статью не знаю теперь нужно дополнительно заказывать FTDI или USBasp его заменяет?

froller
MadJohn;bt134031

Подскажите новичку, для прошивки обязательно нужна FTDI? Или можно обойтись USBasp? Заказал себе комплект APM 2.8 c телеметрией и минимосд. Заодно сразу заказал USBasp. Прочитав статью не знаю теперь нужно дополнительно заказывать FTDI или USBasp его заменяет?

Утилита конфигурации OSD работает через UART (FTDI).
Теоретически можно обычным программатором прошить EEPROM, но тогда HEX-дамп EEPROM-а придется править руками или писать свой конфигуратор.

Newbie74

Впервые столкнулся с minimOSD, может кто подскажет решение проблемы. OSD работает, всё показывает, но символьная информация чуть заметно мерцает. Подумал по питанию проблема, посадил OSD на отдельный BEC, который гарантированно хорошее питание выдает. Не помогло. Ну ладно думаю, и так сойдет. Не очень то и сильно мерцает. Сегодня отлетал, причем вся наземка писалась на рекордер. Рекордер пишет 15 кадров в секунду. Так вот самое интересное: на записи наземки данных телеметрии нет. ВООБЩЕ нет, даже намека на нее нет. Хотя на мониторе она была. Вывод очевидный: OSD выдает текст не каждый кадр, а через кадр. Соответственно как раз этот кадр пропускает рекордер, так как у него частота в два раза меньше. Отсюда же и легкое мерцание, так как данные телеметрии идут с частотой 15 кадров в секунду, а не 30, как хотелось бы. У кого-нибудь было такое? Как это побороть? Мне данные телеметрии нужны на записи обязательно - там координаты выводятся на случай краша не дай бог. Само собой в настройке OSD стоит система NTSC для 30 кадров в секунду.

Deverex
Newbie74;bt138625

но символьная информация чуть заметно мерцает.

Не могу подсказать. Сам использую PAL ввиду чуть большего числа строк. Изображение не идеальное, но описанных пропусков нет. Питание было разным: от сетевого адаптера, от отдельного аккумулятора и от общей сети коптера.

max809
Newbie74;bt138625

Впервые столкнулся с minimOSD, может кто подскажет решение проблемы. OSD работает, всё показывает, но символьная информация чуть заметно мерцает. Подумал по питанию проблема, посадил OSD на отдельный BEC, который гарантированно хорошее питание выдает. Не помогло. Ну ладно думаю, и так сойдет. Не очень то и сильно мерцает. Сегодня отлетал, причем вся наземка писалась на рекордер. Рекордер пишет 15 кадров в секунду. Так вот самое интересное: на записи наземки данных телеметрии нет. ВООБЩЕ нет, даже намека на нее нет. Хотя на мониторе она была. Вывод очевидный: OSD выдает текст не каждый кадр, а через кадр. Соответственно как раз этот кадр пропускает рекордер, так как у него частота в два раза меньше. Отсюда же и легкое мерцание, так как данные телеметрии идут с частотой 15 кадров в секунду, а не 30, как хотелось бы. У кого-нибудь было такое? Как это побороть? Мне данные телеметрии нужны на записи обязательно - там координаты выводятся на случай краша не дай бог. Само собой в настройке OSD стоит система NTSC для 30 кадров в секунду.

У меня при подключении камеры Sony CCD 650TVL такая же проблема, а при подключении к mobius - OSD четкое. Использую PAL, хотя на счет соньки уже сомневаюсь (может мне NTSC версию прислали). Может кто подскажет, как проверить в какой системе видеосигнал выходит с Sony?

Zloy=

Добрый день!
подскажите есть автопилот FY-DOS с возможностью подключения OSD
у FY-DOS скорость подключения 19200 - и он с MinimOSD никак не соединяется в виду разности настроек скорости портов
На зарубежных форумах крайне мало информации о этой проблеме (она возникает у единиц)
Подскажите как изменить скорость порта MinimOSD?