MinimOSD. Прошивка, настройка, подключение

Всем привет! Сегодня мы поговорим про подключение, прошивку и настройку MinimOSD. А так же ответим на вопрос, что делать — если что-то пошло не так, и что делать — чтобы не кончилось всё печально.

MinimOSD. Дешевая и очень полезная платка. Позволяет видеть что происходит сейчас с коптером — текущий вольтаж, сколько истрачено ампер, сколько захвачено спутников глобального позиционирования, а так же не даст «заблудиться» в небе. Заблудиться в небе невозможно, скажете? А вот и очень даже возможно. Начиная от элементарного «взлетел, ой а сверху всё по-другому… ой, а где я сам нахожусь?», заканчивая сложными полетными условиями, например полеты в темноте или в осадки или случайно в облако залетел, как на видео ниже:

На четвертой минуте только спасительная стрелка «домой» указывала, куда лететь.

Ладно-ладно, хватит лирики, даешь практику!

ПОДГОТОВКА.

Итак, вы заказали себе MinimOSD. На бангуде или на Хоббикинге  — да неважно где, и получили что-то вроде этого:

вот примерно так они и приходят

Руки так и чешутся подключить её к АРМ, и посмотреть — чего она показывает. Но этого как раз делать сразу и не надо! Чревато заказом новой ОСД — а это потерянное время (что главное) и конечно потерянные деньги.

На платке есть два больших чипа: ATMEGA328P и MAX7456. Первая микросхема (микроконтроллер, если точнее) — отвечает за коммуникацию с полетным контроллером («цифровая часть» платы). А вторая — одноканальный монохромный OSD (OnScreenDisplay — меню на экране) фирмы Maxim, назовем её «аналоговая часть» платы. Так вот, эта MAX7456 — достаточно капризная микросхема. Она не любит перегрева, не любит резких скачков между «цифровой» землей и «аналоговой» — короче горит легко. А как назло, ленивые китайцы НИКОГДА не пропаивают штатный теплоотвод микросхемы (на «пузике»). Если использовать платку в том виде, как она пришла — МАХ сгорит — гарантия 80%. Чтобы этого не случилось пропаиваем три дырки, отмеченные на фото ниже.

паять тут

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

вот так пропаиваем

И вот результат (пайка не очень, но как умею — у вас получится лучше!)

некрасивая пайка, но она нужна

Теперь об особенностях подключения. Внимательные обратили внимание, что я пропаял перемычку сверху. Есть несколько способов подключения MinimOSD, и много копий сломано, который лучше или правильнее или дает меньше помех. Я использую способ подключения с объединением цифровой и аналоговой земель и запиткой от 5 вольт со стороны «цифровой» части. Так как minimOSD потребляет достаточно много, то лучше запитать плату от отдельного источника питания. Это выглядит почти вот так:

External-supply-for-minimOSD

То есть вверху я запаял перемычку, объединив тем самым земли. И ещё нужно одну перемычку капнуть, на «лицевой» стороне платы.

MinimOSD_05_e

ПОДКЛЮЧЕНИЕ И НАСТРОЙКА

Ну вот, все распаяли, теперь наша платка готова к подключению к компу. Для этого нам потребуется FTDI адаптер.

FTDI

Подключаем с помощью 5 проводков, схема подключения следующая: 1. GRN,  2. Tx,  3. Rx,  4. +5V,  5. GND (со стороны ОСД) — соединяем их с FTDI адаптером 1. DTR,  2. Rxi,  3. Txo,  4. VCC,  5. GND.  Вот фотка, как это соединено у меня:

Коннект? Есть коннект!

Если непонятно, смотрим вот это видео, особенно внимательно на 1:03

Теперь, что качать и чем настраивать. Для начала скажу, что для коптеров и для самолетов прошивки отличаются. Так же есть прошивка для Мультивии (kvTeam), и так же есть отдельные моды — от самостоятельной работы (без полетного контроллера), до подключения даже к Назе.

Но здесь мы рассматриваем «классический» случай — коптер на контроллере АРМ. Вот официальная страничка проекта.Вот страничка загрузки (для коптера под АРМ надо грузить ExtraCopter). Но это старые версии, люди с тех пор достаточно много модифицировали. Современные прошивки лежат вот в этой ветке на форуме ДийДронесов. На момент написания статьи, это прошивка R800, лежит тут (пользователь MinimOSD_Extra, пароль Top_Secret).

В архиве лежит сама прошивка (HEX — файл), файл с шрифтами (mcm — файл), и сама программа (OSD_Config.exe).

Для начала зайдем в диспетчер устройств и проверим скорость порта FTDI (поставим 115200):

скорость порта

Запускаем программу OSD_Config.exe, выбираем порт, нажимаем кнопочку «Read From OSD», дожно быть сообщение о успешном чтении. Так как с завода залита неизвестно какая прошивка, чтобы не иметь проблем в будущем, зальем свеженькую. Для этого нажимаем меню Optios>Update Firmware

загрузим прошивку

выберем файл и загрузим её.

загрузка

Получим сообщение об успешной прошивке

прошили успешно

Потом контроллер проинициализируется и загрузит настройки в программу, о чем сообщит

MinimOSD_set05

Пришла пора загрузить файл с шрифтами, который соответствует прошивке (если этого не сделать, внешний вид ОСД может оказаться очень смешным или вообще нечитаемым). Нажимаем меню Option>Update Charset,

..и шрифты

 

выбираем MCM файл и заливаем его

загружаем

 

Дожидаемся готовности

доне

После заливки контроллер опять инициализируется.

MinimOSD_set10

Ну вот собственно и всё. Далее — настройка ОСД. Приведу два скрина с моими настройками:

ГУИ

ОСД

Немного поясню:

RSSI channel — перевод RSSI в проценты. Где 5 вольт — это 255 (максимум в восьмиричной системе). А у приемника FRsky максимум сигнала — 3.3 вольта. Если поставить галочку RSSI enable RAW — то на экране FPV мы увидим «сырые» данные. Именно их мы можем и вбить в настройки. А можете просто вбить мои значения.

Еще одна тонкость — переключение экранов OSD. Как вы заметили, есть две панели для данных. Мы можем переключаться в три варианта отображения — экран1 (Panel1), экран2 (Panel2), чистый экран без данных (Disabled). Для этого нужно сначала определиться, как именно мы будем переключаться между экранами.  Например, если мы будем переключаться между экранами с помощью крутилки или трёхпозиционного тумблера — тогда у нас будут три диапазона значений по каналам (Panel1: 0-1233,  Panel2: 1233-1467, Disabled: 1467-1701). В этом случае крыжик Rotation Switching нужно выключать. А если мы будем переключаться простым двухпозиционным тумблером, тогда имеет смысл Rotation Switching включить. При этом, когда включен тумблер, у нас будут по очереди переключаться экраны  (Panel1 -> Panel2 -> Disabled -> Panel1 ……), стоит тумблер выключить — переключение между экранами остановится. Какой именно канал будет переключать экраны — определяется в раскрывающемся списке, озаглавленном OSD Toggle Channel. Я повесил на канал номер 6. И есть ещё одна засада, которая некоторых (включая меня) поначалу сбивает с толку — Warning Auto Panel Switch. В этом списке определяется, на какой из экранов переключаться в случае возникновения какого-нибудь из определенных ранее предупреждений. Казалось бы, всё ясно. Летишь себе, что-нибудь в полете случилось, ОСД переключилось на тот экран, который задал. Но вот вопрос — мы задали переключение между экранами, как правило это настраивается дома, коптер не летает, хотим проверить — экраны не переключаются! А потому, что дома как правило нет GPS Fix’а — короче сработало предупреждение! Вот и «не работает» переключение между экранами…

Не знаю, нуждаются ли в пояснениях остальные параметры, возможно потом дополню статью.

Скажу только, что при настройке основного скрина не стоит пихать туда сразу всё. Лучше сначала всё выключить (в столбике слева), а уж потом включать только то что надо и сразу размещать в нужную часть экрана. Рекомендую оставить пустое место по краям экрана, может обрезаться монитором или DVR писалкой или очками.

Далее, ещё один важный момент — настройка OSD в Mission Planner. Предположим, вы подключили всё как надо, но вместо веселых циферок и авиагоризонта — видим скучную надпись «No Mavlink Data». Это означает, что ОСД работает, она рада бы что-то вам показать, но не получает данных. То есть на пин Rx никаких данных от АРМ не приходит. Первая возможная причина — перепутаны провода при подключении. Проверьте чтобы Rx от ОСД был соединен с Tx порта на АРМ. Вторая возможная причина — сам контроллер не настроен, чтобы слать данные в СОМ-порт. Для этого в простом случае на вкладке INITIAL SETUP > Optional Hardware > OSD — надо тыкнуть кнопку Enable Telemetry. При этом МП автоматически настраивает ряд параметров, которые позволяют посылать данные на ОСД. Если эта волшебная кнопочка не помогла, тогда придется настраивать всё рученьками. Для этого идем в вкладку CONFIG/TUNING > Full Parameter List, листаем до буквы S, и проверяем (или исправляем) значения параметров:

  • SR0_EXT_STAT = 2
  • SR0_EXTRA1 = 5
  • SR0_EXTRA2 = 2
  • SR0_EXTRA3 = 3
  • SR0_POSITION = 2
  • SR0_RAW_SENS = 2
  • SR0_RC_CHAN = 5

Значения этих параметров можно почитать например тут. Последний параметр — не номер канала как кажется, а частота обновления параметра по RC управлению в СОМ порте.

Если же данные всё ещё не идут, и мы по-прежнему наблюдаем унылую надпись «No Mavlink Data», тогда надо проверять в тот ли порт подключена ОСД (в статье говорится про UART0), возможно вам пригодятся параметры SR1 (те же, как описаны выше, только для порта UART1). Возможно так же, что у вас не работает ОСД вместе с модемом телеметрии — в этом случае возможно придется подключить или наоборот отключить провод Tx на ОСД.  Есть ещё глюк, что ОСД не работает, когда подключен USB провод к компьютеру. А возможно у вас просто перепутаны провода…

Ещё поделюсь одной фоткой. На моем контроллере из-за краша перестал работать основной порт под телеметрию, я просто подпаялся на UART0. А потом мне понравилось такое подключение.

MinimOSD_sample_e

Здесь я запитал напрямую от контроллера. Но надо ОБЯЗАТЕЛЬНО проверить, что осталось от 5 вольт самому контроллеру. В моем случае запитка самого контроллера идет от приемника, и там настроено чуть выше 5 вольт, чтобы с учетом приемника и minimOSD, для самого APM было строго 5 вольт.

 

Нужно коснуться ещё одного момента. Если неправильно прошить OSD, может возникнуть ошибка «failed to talk to bootloader». Эта ошибка дословно переводится как «ошибка разговора с загрузчиком». Она может возникнуть либо в случае перепутанных проводов, либо при слёте загрузчика. Если в случае с проводами всё понятно (смотрим выше, как подключать правильно), то в случае с загрузчиком — нужна процедура восстановления микроконтроллера.

Восстанавливаем Bootloader.

Для этого нам понадобится как минимум программатор. Удобнее пользоваться USBasp.

USBasp

возможно вам понравится вот этот переходничок (ISP10<>ISP6)

ISP10<>ISP6или вот этот кабель (есть на Хоббикинге)

cable ATMega

В общем, так или иначе, подключаемся к ATMega328P с помощью программатора. Далее, например с помощью ArduinoIDE восстанавливаем загрузчик.

Для этого сначала выбираем тип программатора

выбираем программатор

Потом выбираем тип платы

тип платы

И тип микроконтроллера

MinimOSD_Arduino03

Далее нажимаем «записать загрузчик»

MinimOSD_Arduino04

и ждем порядка минуты, пока зальется загрузчик (смотрим на зеленую строку состояния в нижней части)

MinimOSD_Arduino05Пока не появится сообщение об успешной прошивке загрузчика

MinimOSD_Arduino06

(на ошибки внизу не обращаем внимания, надо обновить прошивку программатора)

Далее — идем в OSD_Config.exe, заливаем прошивку и шрифты, как было уже описано. Возможно, прошивку придется заливать дважды (один лишний раз нужен для правильной инициализации контроллера после заливки бутлоадера).

Ну вот вроде и всё. Вдруг кто не знает, есть ещё видеоинструкция от Юлиана. Если что не понятно тут, можно «вживую» посмотреть там.

Успехов вам в деле установки ОСД на ваш коптер!

Источник: apmcopter.ru

Добавить комментарий

Войти с помощью: