micro minimosd - не могу перешить. OSD рабочее

Rover

OSD выдает хоть какую-то картинку на видеомонитор? Система должна выдавать начальное изображение (хотя бы беспорядочный набор символов) в автономном режиме, без видеокамеры.
Если картинка на монитор не идет, значит OSD нормально не работает и обращаться к конфигуратору рано. Ощутимо сильный нагрев это норма.

hike

Скрин с подключенным осд ( вернее с попыткой подключения) Все время написано " ожидание осд". И ни картинок - ничего вообще…
Думал что нажал че не так при прошивке и начал с начала. При удалении еепром выдало ошибку.
Ща вот хотел ее скрин сделать - а еепром взял и норм очистился. Пошел дальше и на прошивке вот че выдало…
З.Ы. Подскажите плз. в ардуино какой программатор правильно выбрать? а то уже от без исходности другие начал пробывать. А который по дефолту стоял я забыл 😦

Rover

Да при чем тут скрин? Вы картинку с камеры в GUI что ли смотреть хотите? Я говорю про подключение видеовыхода OSD к дисплею (видеомонитору). Про компьютер и GUI мы сейчас вообще речь не ведем, забудьте пока про компьютер. Вы ведь на чем-то картинку с FPV смотреть собираетесь - на мониторе или на видеоочках? У них есть видеовход. Вот и подайте видео сигнал с видеовыхода OSD на вход своего устройства отображения видео. Камеру пока подключать не надо. Нормально работающая и прошитая плата OSD должна давать хоть какую-то картинку на видеовыходе. Пусть там будут даже беспорядочные буквы из-за того, что шрифты не подходят, это не важно. Вот когда убедитесь, что MAX работает, можно будет и к GUI переходить. А у вас, судя по фото, к видеовыходу еще даже провода не припаяны))

hike

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

Rover

Ну зашибись)))) у вас OSD прошита прошивкой ArduCAM, которая работает с протоколом MAVLink, а пытаетесь подключиться через GUI для мультивиевского протокола MSP.
Конечно это работать не будет. Это два несовместимых протокола. И вообще я не понял, вы ведь по руководству Юлиана должны были залить прошивку MW_OSD. А почему тогда на экране монитора мы видим прошивку под мавлинк/ардупилот??? У вас в первый раз прошивка-то вообще залилась? Обычно ардукам идет с фабрики залитый. Давайте-ка зачищайте EEPROM и заливайте правильную прошивку, MW_OSD и всё будет работать.

В ардуине выбирайте Arduino Pro или Pro Mini atmega328 5V 16MHz. Сейчас у вас неправильный контроллер выбран.

И добрый совет вам: ничего никогда не тыкайте наобум “от безысходности”, будет только хуже. Иногда намного хуже, вплоть до дыма из платы.

P.S. Когда зальете-таки нужную прошивку, не забудьте сразу обновить шрифты через GUI, иначе на экране будет мусор вместо текста.

hike
Rover:

В ардуине выбирайте Arduino Pro или Pro Mini atmega328 5V 16MHz. Сейчас у вас неправильный контроллер выбран.

Это я тоже тыкал варианты 😃. В первый раз прошивал все четко по мануалу Юлиана. И вроде в первый раз у меня выдавало сообщение “Скетч использует 25 890 байт (84%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 1 899 байт (92%) динамической памяти, оставляя 149 байт для локальных переменных. Максимум: 2 048 байт.
Недостаточно памяти, программа может работать нестабильно.”
Ща вот чистил еепром и прошил заново.
После очистки ЕЕпром было вот что…(см. скрин)
А после прошивки опять то же сообщение, описаное выше.
З.Ы. РХ ТХ менял местами - ноль реакции…

Rover

фигня у вас творится какая-то непонятная…
то, что пишет типа “programmer is not responding” это вы могли неправильный COM порт в настройках ардуино указать.
Даже если просто провод воткнуть в другое гнездо USB компа, номер COM порта может измениться и его надо будет указать заново.
С компиляцией прошивки полная чушь. Как это “скетч использует 906 байт”? что-то вы с исходниками прошивки накрутили.
Давайте-ка, удалите нафиг все исходные файлы прошивки, скачайте заново с сайта MW OSD и начинайте сначала.
Перед этим убедитесь, что стерли EEPROM правильно. В скетче для стирания не забываете прописать объем памяти 1024?
Вообще на данном этапе всё, о чем мы сейчас говорим, это чистое ардуино, безотносительно к OSD.

hike

Про вписывание обьема в мануале Юлиана ни слово (если я не оглох). Если можно/не сложно укажите, пожалуйста в какую строку и что вписать? В программировании я не то-что новичек, а ноль.
Насчет компорта - у меня всегда тока 1 и 4. Комп показывает, что устройство на 4м компорте ( не зависимо к какой юсб разьем воткнуто)

Rover

У разных микроконтроллеров разный объем памяти EEPROM. Надо взять за правило перед заливкой новых версий прошивки стирать EEPROM полностью, независимо от того, сколько использует прошивка. Чтобы избежать непонятных эффектов. Когда открываете стандартный скетч для стирания EEPROM, в нем по умолчанию прописано 256 байт. Для атмеги 328 это число надо исправить на 1024. Соответственно для меги 2560 на плате AIOP это число будет 4096. Рекомендую сохранить исправленный скетч, чтобы каждый раз не редактировать. После загрузи скетч срабатывает не мгновенно! Для полного стирания памяти на плате OSD требуется около 2 секунд. После окончания стирания должен загореться второй светодиод. Так должен выглядеть полный код скетча стирания EEPROM для OSD:

/*
 * EEPROM Clear
 *
 * Sets all of the bytes of the EEPROM to 0.
 * This example code is in the public domain.

 */

#include <EEPROM.h>

void setup()
{
  // write a 0 to all 1024 bytes of the EEPROM
  for (int i = 0; i < 1024; i++)
    EEPROM.write(i, 0);

  // turn the LED on when we're done
  digitalWrite(13, HIGH); // здесь зажигается светодиод после завершения
}

void loop()
{
}
hike

Вообщем , господа, дела такие. Оставлю тут - пусть висит и мож еще кому поможет. С купленной на бангуде фигней и осд мучался неделю и выносил мозг ув. Rover. Прошить не получалось ниикак.
Опытными путями было выяснено:
1)При прошивке использывать прогу Ардуино 1.0.5
2) У этого переходника бангудовского перепутано rx и tx. Тоесть при подключении подключать наоборот.
И вот с этим рецептом все работает.
Сыыль на переходник с бангуда banggood.com/CJMCU-CP2102-USB-To-TTLSerial-Module-…
ниже его фото…

Низкий поклон и величайшая благодарность и +100500 в карму Rover за уделенное время и терпение!!!

З.Ы. в скетче использовался код для очистки eeprom

/*
* EEPROM Clear
*
* Sets all of the bytes of the EEPROM to 0.
* This example code is in the public domain.

*/

#include <EEPROM.h>

void setup()
{
// write a 0 to all 1024 bytes of the EEPROM
for (int i = 0; i < 1024; i++)
EEPROM.write(i, 0);

// turn the LED on when we’re done
digitalWrite(13, HIGH); // здесь зажигается светодиод после завершения
}

void loop()
{
}

Rover
hike:
  1. У этого переходника бангудовского перепутано rx и tx. Тоесть при подключении подключать наоборот.

А вы точно уверены, что перепутано? Их ведь и надо подключать перекрёстно: Rx-Tx, Tx-Rx. Выход одной платы ко входу другой и наоборот. Это справедливо именно для последовательного порта (UART). Для интерфейса SPI при программировании например через USBAsp, подключаться надо с совпадением имен линий.

hike

Ну значит подключать перекрестно. “перепутано” для меня относительно мануала Юлиана.

28 days later
Max_Pro_Traveler

Народ! Есть вопрос по micro minimosd, посоветуйте какую на него прошивку ставить что бы нормально работала с CC3D+OpenPilot?
а то поствел через mini_OPSD прошивки от сюда - librepilot.atlassian.net/wiki/…/MinOPOSD+setup#Min…
пробовал обе и квтим и вторую
и вот такая фигня на мониторе -
и что бы я не менял в настройках только эти параметры видно…
или что ли мозг попробовать LibrePilotom прошить?

1 month later
LSD

Приветствую. Столкнулся с такой проблемой. Не сохраняются шрифты. Напряжение измерял - 5.17v, чип emax вроде должен работать. Все настройки сохраняются, пишется и читается стабильно. Нажимаю select/default_bold и upload. GUI показывает в форме просмотра окна измененный шрифт и штатно заливает шрифт. 256/write/100%. Вроде все нормально. Но стоит выйти из GUI, отключить USB и повторно подключиться, как снова мелкий шрифт. Из сетапа: Arduino 1.0.6, EEPROM 1024, прошивка MWOSD R1.6 cleanflight, прошиваю CP2102, соединение OSD и СP2102 лоб в лоб кроме +5v и GRD. Если менять местами RX и TX то OSD не видно. Подводя итог: все работает штатно, но не сохраняются шрифты. Другие версии GUI ставил - не помогло. Есть идеи?

Илья_Реджепов

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

Мне попадался еще и вариант отдельной проошивки для заливки шрифтов, не с рабочей прямо.

LSD
Илья_Реджепов:

При прошивке шрифтов видеочасть должна быть запитана.

Это единственный вариант, который я не делал, но мысли такие были. А можете чуть подробнее описать выше сказанное, чтоб не спалить ничего. Подключить Video in и Video out, которые питает 12V c PDB? Почему уточняю - еще ничего не собирал. Рамка еще в пути. Ничего не резал и не паял, так как не знаю точную компановку и длины проводов.

Илья_Реджепов

Раз ничего не резали и не паяли, значит видеочасть питается со стороны видеоразьема. По умолчанию, от 5 вольт запитана полностью только микроОСД.

И от USB может не хватить мощности, кстати, видеопроцессор жрет много.

LSD

Так, а вариант какой? Временно собрать всю схему с OSD?

Илья_Реджепов

Батарейку со стороны видео подцепите при прошивке шрифтов, этого достаточно.

А как же вы проверяете работу ОСД на мониторе? Надо хоть времянки какие-то иметь.

Sagaan

Добрый вечер!

В моей micro monimosd вообще что-то непонятное творится. Плата прошивается (ардуино отчитывается об успешной прошивке), но в MW_OSD_GUI данные с нее не читаются. Когда нажимаю на название порта, прога пришет “Read 12%” и на этих 12% зависает.

При подключении к монитору ничего не выдает, черный экран.

Что в этой ситуации можно сделать?

LSD

Илья Реджепов спасибо за совет. Сегодня добрался до Racer 250 и решил сначала на нем освоить работу OSD. Взлетело все с первого раза. Она кстати прекрасно работает в паралели с родной OSD Eachine. Как мы и предпологали, шрифт отобразился только в очках. В GUI каждый раз “типа” дефолтный, но при заливки, в очках отображается тот, который аплоудил. И все таки странная эта платка OSD или проблемы с програматорами. Моя из пакета ожила и прошилась только когда я указал плату arduino mini w/atmega328, а вот потом она отказывалась так работать и начала штатно прошиваться на arduino pro or pro mini 5v 16mhz w/atmega328.