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

Bravo13

Имеется micro minimosd. После покупки залил minoposd. Всё в порядке. Что-то произошло и теперь ничего её не берёт. прога от minioposd говорит что не может связаться с бутлоадером, Arduino IDE тоже говорит что не могу прошить. Есть подозрение что запоролся бут. Какой туда нужно заливать? Я так понимаю залить по rs232 не получится, нужно по SPI. Есть у кого опыт? Нужно ли выпаивать мегу для этой процедуры? Сама OSD работает, данные получает от LibrePilot. Нужно подправить содержимое экрана.

Dim0

Коллеги,
прошу помощи - совета с прошивкой micro minim OSD
пытаюсь прошить по инструкции от Юлиана, для этого вместе с microOSD заказал с ali переходник CP2101(как было рекомендовано), но как оказалось я не учел что они бывают 5 и 6 контактные ( у 5-ти контактного отсутствует DTR pin!
неделю назад приобрел на переходник USB -> COM CP2101 6 pin и уже как неделю не могу прошить OSD
схема подключения:

перепробовал все варианты описанные на разных сайтах

  • менял драйверы CP2101(версия 5.4.24.0 - 6.7.0)
  • менял скорости COM порта от 9600 до 115600
  • менял подключение Tx->Rx Rx->Tx
  • пробовал ставить FTDI дрова (хотя чип не CP2102 не FTDI) как рекомендовано
    При подключении к компу загорается синий led и горит ярко, зеленый led моргает 8 раз ярко с интервалом примерно в секунду, а потом начинает часто и неярко постоянно моргать.
    При попытке что либо прошить или очистит памать, всегда идет ошибка:
    avrdude: stk500_getsync(): not in sync: resp=0x00
    при запуске скетча ярко моргает 1 раз зеленый led и после таймаута тоже моргает 1 раз и потом вышеприведенная ошибка.
    как везде написано это ошибка синхронизации
    но я, как мне кажется, перепробовал все возможное, просто не знаю что еще может быть, последнее подозрение на сам micro minimOSD

Может подскажет кто нибудь как можно проверить minimOSD?

или есть у кого-нибудь другие мысли рекомендации?

Спасибо, что дочитали (

pavel74
Dim0:

При попытке что либо прошить или очистит памать, всегда идет ошибка: avrdude: stk500_getsync(): not in sync: resp=0x00

такая же проблема. осд работает но войти и изменить ничего не могу. пробовал CP2102 и FTDI и ардуино нано . прога www.mwosd.com пробовал почти все.

Dim0
flygreen:

Прошиваете через какую прогу?

Здравствуйте,
Проливают конечно через arduino (
Пробовал от версии 1.0 до 1.6.6 (1.0, 1.01…1.05, 1.06, 1.6.6)
Пофиг, везде один и тот же результат, поэтому и стал думать может проблема в самом minimOSD
Сейчас заказал по ссылке Юлиана переходник (как в примечаниях к видио) но что то грызут меня сомнения… что дело было не в бабине…
Да и ждать с Али ещё наверное месяц…

Хочется как то убедится что OSDшка не битая

Rover

Прям вот сейчас вытащил из стола новую micro OSD в упаковке, прицепил к первому попавшемуся адаптеру FTDI и прошил в нее скетч стирания EEPROM.
А то напугали даже 😃

Сложно сказать, что вы делаете не так. Там если провода подключить правильно, всё должно работать.

Давайте по порядку:

  1. Какую плату выбираете для программирования в Arduino? Должна быть Arduino Pro or Pro Mini (5V, 16 MHz) with Atmega328 или Arduino Nano
  2. Драйвер адаптера порта встал правильно? Запустите любую программу терминала последовательного порта (например Termite) при подключенном адаптере но без ОСД. Соедините у адаптера выводы Rx и Tx. Кидайте терминалом в любой текст и он по кольцу должен возвращаться обратно в терминал как входящий.
  3. Питание на ОСД приходит нормальное? Вы ее случайно не от 3.3 запитали?

Больше мне просто в голову не приходит, что может быть не так. Версия Arduino IDE вообще не имеет значения в данном случае.

Bravo13:

Есть подозрение что запоролся бут. Какой туда нужно заливать? Я так понимаю залить по rs232 не получится, нужно по SPI. Есть у кого опыт? Нужно ли выпаивать мегу для этой процедуры?

Заливать надо стандартный бутлоадер для Atmega328 из пакета Arduino IDE. Только по SPI. Выпаивать как правило не надо. В Arduino IDE есть стандартная опция “записать бутлоадер”. Можно использовать программатор USBasp. Можно сделать простейший программатор из пяти резисторов на порт LPT, погуглите программатор SPI Atmega для LPT. Я раза три перешивал бутлоадеры, только уже не помню каким программатором ипрограммой, но не суть важно, это несложно и работает. Правда не представляю, как вы к этому микробу будете SPI припаивать.

X3_Shim

Скорее всего сигнал ресета не правильный с адаптера приходит. Пробуйте жать кнопку коннекта или прошивки и сразу подавать питание на OSD. Можно попробовать чуть раньше питание подавать, чуть позже.

Rover

А как у обычного адаптера CP1202 может быть “неправильный” сигнал DTR? Он уж либо есть, либо нет. Ну разве что попробуйте у своего адаптера вывод CTS посадить на оставшийся вывод GND видеоплаты. Хотя FTDI работает и с висящим в воздухе CTS.

X3_Shim
Rover:

А как у обычного адаптера CP1202 может быть “неправильный” сигнал DTR? Он уж либо есть, либо нет. Ну разве что попробуйте у своего адаптера вывод CTS посадить на оставшийся вывод GND видеоплаты. Хотя FTDI работает и с висящим в воздухе CTS.

У моего обычного CP2102 dtr не позволяет прошить ни ардуину ни MinimOSD, все через ресет. Доработка известна kerrywong.com/…/modify-an-off-the-shelf-cp2102-mod…
Но мне лень 😃

Rover
X3_Shim:

Доработка известна

По вашей ссылке на гребенку выведен сигнал RST, его отцепляют и перекидывают на гребенку сигнал DTR. А у Дмитрия на фото уже написано DTR. Я конечно допускаю, что китайцы могут написать DTR, а развести на RST, но это совсем уж за гранью добра и зла 😃

X3_Shim
Rover:

А у Дмитрия на фото уже написано DTR.

Аааа. Вот этого не отследил по фотке. Сорри.

Dim0
Rover:

Давайте по порядку:

  1. Плата выбрано правильно
  2. Драйвера перепробовал все какие только смог найти и естественно те которые рекомендовали вот check tx->rx
  3. Питание нормальное, проверил тестером - 5.09v

стереть EEPROM во время инициализации (когда моргает зеленым led’ом 8 раз) не удается (

доработать CP2102 наверняка не смогу ( там все такая мелкота…
выходит что нужен “правильный” адаптер USB to COM?

X3_Shim
Dim0:

оработать CP2102 наверняка не смогу ( там все такая мелкота…
выходит что нужен “правильный” адаптер USB to COM?

Он может у вас и правильный.
Как проверить это без доработки я уже написал (вовремя подавать питание на osd)

Dim0
X3_Shim:

Как проверить это без доработки

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

Я знаете что вспомнил, что абсолютно такая же ситуация была когда я пытался прошить OSD через 5-ти пиновый CP2102, у которого не выведен вообще пин с DTR
Значит можно сделать вывод (предположение), что дело таки в DTR сигнале
Или я не прав?

X3_Shim
Dim0:

но к сожалению никак не получается вовремя подать питалово (

А как пробуете ? Прям подсоединяете +5 при нажатии кнопки на компе ? Попробуйте на секунду раньше/позже, 2 секунды. Оно по началу не с первого раза получается.

Dim0
Rover:

попробуйте у своего адаптера вывод CTS посадить на оставшийся вывод GND видеоплаты

Валерий, вы имелии ввиду вывод CTS повесить на GND OSD’шки?
Если да, то я пробовал ( результата 0

X3_Shim:

А как пробуете ? Прям подсоединяете +5 при нажатии кнопки на компе ?

ну да, примерно так и пробую (
нажимаю на скэтч - загрузить и втыкаю в порт CP2102

X3_Shim
Dim0:

загрузить и втыкаю в епорт CP2102

В смысле в USB порт ? Не, она должна быть включена всегда, именно на саму OSD надо подавать +5 вовремя (на большой версии MinimOSD для этого просто кнопка ресет есть)

Dim0
X3_Shim:

OSD надо подавать +5 вовремя

к сожалению кнопки нет, пробовал подавать 5 вольт подсоединением к пину на OSD’ешке - не получается

Коллеги,
подскажите, есть еще в загашнике Arduino Compatible Nano V3 (брал на банггуде для прошивки ESC banggood.com/ATmega328P-Arduino-Compatible-Nano-V3…), но не понадобилась
можно ли с ее помощью попробовать прошить OSD?
правда с дровами под 8.1 какие-то проблемы, USB порт на ней не подцепляется… надо разбираться и найти правильные дрова.

Rover
X3_Shim:

именно на саму OSD надо подавать +5 вовремя (на большой версии MinimOSD для этого просто кнопка ресет есть)

Разве не проще будет в момент записи прошивки на долю секунды вручную тыкать вход платы DTR на землю? Это ведь и есть аппаратный сброс, вход DTR через конденсатор подключен к выводу reset микроконтроллера. Разрядный импульс тока через этот конденсатор сбрасывает контроллер.

А вообще настоятельно всем рекомендую один раз и навсегда купить нормальный адаптер FTDI и забыть про пляски с бубном навсегда. Цена вопроса 136 рублей. Чип не паленый, драйвер винды не сбрасывает. Питание внешней схемы и логические уровни можно переключать перемычкой между 3,3 и 5 вольт.

pavel74
Rover:

Цена вопроса 136 рублей. Чип не паленый

а как определить оригинал или нет. у меня 3 шт из разных мест. (все как на ссылке) при установке дров с оф. сайта кирпичаться(восстановить обратно не очень сложно). начал изучать как отличить поддельный чип-пишут разное-основное отличие по глубине лазерной гравировки.

Dim0:

Arduino Compatible Nano V3

пробовал шить и с ардуиной нано-такая же ошибка. на ардуине есть кнопка /ресет/ пробовал и её в разных комбинациях жать. -ошибка лезет.

X3_Shim

Dtr на землю проще. Но у меня лично был девайс, который так не сбрасывался, а требовал сначала dtr на +5, а потом уже для ресета на землю (и это бала рекомендация производителя). Именно такой миним я сам шил через подачу питания недавно, по этому так и написал.

Rover
X3_Shim:

Dtr на землю проще. Но у меня лично был девайс, который так не сбрасывался, а требовал сначала dtr на +5

Ну так все правильно, конденсатор в цепи DTR-Reset сперва надо зарядить, чтобы потом на землю разрядить.

В качестве рабочей версии могу предположить, что микро осд плата очень маленькая, подтягивающий резистор на плюс по выводу DTR (в зависимости от варианта платы) может и не стоять. Поэтому если совпадет, что на плате усб адаптера подтяжки в плюс тоже не оказалось, а выход адаптера с открытым коллектором, то конечно DTR не сработает.

Может попробовать подтягивать у микро осд DTR на плюс через резистор 1-2kOm?

Dim0

ÌКоллеги,

спасибо за различные советы, но мне таки удалось прошить свою OSD’шку
После примерно полутора-часов различных экскрементов с DTR получилось прошить!

Вот инструкция как делал, может кому нибудь пригодится:

  • подключаем OSD к CP2102 с подключенным DTR
  • запускаем загрузку скетча MW_OSD
  • должен моргнуть один раз зеленый led OSD
  • выдергиваем DTR pin и опять должен моргнуть один раз зеленый led OSD
  • прошивка завершается без ошибок

Далее запустил MW_OSD_GUI и настроил параметры отображения.
Да, при работе в MW_OSD_GUI DTR коннектор отключен иначе не работает!

Спасибо.

pavel74

а у меня чёт не выходит. при попытке заливки скетча висит на *загружаем*-бесконечно . при начале загрузки на DTR уровни меняються (померял тестером и диод на осд промаргивает). сначало 1 потом коротко 0-1 и встаёт о и идёт *загружаем* и долго стоит. пробовал вручную DTR подавал+ и с разными вариантами - . (чуть в начале *загружаем* и пробовал через1-2сек) сама осд работает (хотел немного изменить ) есть другая микро осд с ней всё прошиваеться.

Dim0
pavel74:

сама осд работает (хотел немного изменить)

а может попробовать сначала обнулить EEPROM? а потом опять прошить?
у меня не получалось второй раз прошить OSD, если она уже была прошита, только когда обнулял EEPROM, тогда перешивалась.