FPV с OSD весом до 25 грам. для мелколётов

SSergo

Доброго всем дня, коллеги! Эх, так хотелось увидеть желанные циферки на экране… не случилось. 😃 Прошил я свою E-OSD прошивкой u-osd_v3_pal.hex и вижу только белые черточки на изображении. Видимо, чё-та сделал не так. 😃 Прошивал я софтом kkMulticopterFlashTool, которым успешно прошиваю регуляторы и FC. Может в этом засада? Там используется avrdude. Всё прошилось на ура, без ошибок. Этот софт меня никогда не подводил, он очень грамотно работает с фьюзами, без надобности их не трогает и не меняет.
Буду очень признателен за советы и помощь.
Если появится желание, можно посмотреть лог программатора:

Flash the firmware file.

C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\kkmulticopterflashtool_0.74\lib\avrdude\windows\avrdude.exe -C C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\kkmulticopterflashtool_0.74\lib\avrdude\windows\avrdude.conf -p m88p -P usb -c usbasp -e -U lfuse:w:0xe2:m -U hfuse:w:0xdd:m

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude.exe: Device signature = 0x1e930f
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "0xe2"
avrdude.exe: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 0xe2:
avrdude.exe: load data lfuse data from input file 0xe2:
avrdude.exe: input file 0xe2 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.03s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of lfuse verified
avrdude.exe: reading input file "0xdd"
avrdude.exe: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.03s

avrdude.exe: 1 bytes of hfuse written
avrdude.exe: verifying hfuse memory against 0xdd:
avrdude.exe: load data hfuse data from input file 0xdd:
avrdude.exe: input file 0xdd contains 1 bytes
avrdude.exe: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.02s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of hfuse verified

avrdude.exe done.  Thank you.

Flashing firmware from file.: C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\u-osd_v3_pal.hex

C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\kkmulticopterflashtool_0.74\lib\avrdude\windows\avrdude.exe -C C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\kkmulticopterflashtool_0.74\lib\avrdude\windows\avrdude.conf -p m88p -P usb -c usbasp -e -U flash:w:C:\Avia\FPV\Коптеры\Firmware\Lazy FlashTool\u-osd_v3_pal.hex:i

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x1e930f
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "C:\Avia\FPV\Eiioa?u\Firmware\Lazy FlashTool\u-osd_v3_pal.hex"
avrdude.exe: writing flash (7720 bytes):

Writing | ################################################## | 100% 2.91s

avrdude.exe: 7720 bytes of flash written
avrdude.exe: verifying flash memory against C:\Avia\FPV\Eiioa?u\Firmware\Lazy FlashTool\u-osd_v3_pal.hex:
avrdude.exe: load data flash data from input file C:\Avia\FPV\Eiioa?u\Firmware\Lazy FlashTool\u-osd_v3_pal.hex:
avrdude.exe: input file C:\Avia\FPV\Eiioa?u\Firmware\Lazy FlashTool\u-osd_v3_pal.hex contains 7720 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 2.20s

avrdude.exe: verifying ...
avrdude.exe: 7720 bytes of flash verified

avrdude.exe done.  Thank you.

Flashing of firmware was successful.
alexmx

Сергей, если не сложно - выложите пожалуйста скриншот экрана и конфигурацию оборудования (камера,GPS).
Я использую для прошивки eXtreme Burner AVR v1.2

И еще, кто прошивался - были у кого-то проблемы с различными конфигурациями? Я практически все тестировал на NTSC камерах, на PAL только HD19.

Den978
alexmx:

И еще, кто прошивался - были у кого-то проблемы с различными конфигурациями?

Прошивался также eXtreme Burner AVR на и PAL и NTSC версию, никаких проблем!
Кстати, Александр, огромное спасибо за Ваш труд! Нашел вначале Ваши посты на rcgroups, там же и скачал прошивки. И не думал, что Вы из наших, т.к. первые прошивки все были под NTSC - понятно где распространенный стандарт…
Еще раз спасибо!

SSergo

Александр, с удовольствием бы, но не догадался сделать скриншот. Попытаюсь сегодня. Камера - securitycamera2000.com/…/600TVL-SONY-SUPER-HAD-CCD…
GPS - U-blox CN-06 v2 с RCTimer. Куплено всё примерно год-два назад.
E-OSD со “стоковой” прошивкой работал и летал с этой камерой.
На экране много чётких белых горизонтальных полосок. Ощущение такое, что ОСД не может зацепиться за синхроимпульсы камеры и фрагменты символов выводятся в строки произвольно.
В логе программатора увидел, что фьюзы он таки перепрошил. Не понять, он старые перезаписал или новые? Да, GPS я не подключал, даже ещё не подпаялся к 30 ножке. Думал, полюбуюсь пока без координат.
Пользуюсь прогой KKFlashTool потому, что, к сожалению, не силен в других. А с этой вроде подружился. Доселе не подводила. 😃
Спасибо Вам за Вашу работу и отзывчивость! Успехов!

Den978:

Нашел вначале Ваши посты на rcgroups

Аналогично, тоже вначале следил на RCG. 😃

P.S. Ещё хочу дополнить… Прошил и вариант под NTSC. Результат тот же.

alexmx
Den978:

первые прошивки все были под NTSC

Все достаточно банально - у меня были в наличии 2 камеры и обе NTSC 😃
Здорово, что еще кому-то пригодилось.

SSergo:

P.S. Ещё хочу дополнить… Прошил и вариант под NTSC. Результат тот же.

Кстати NTSC отлично работает на PAL, только изображение меньше и сдвинуто в левый угол.
У меня ощущение что Вы могли перепрошиться на внутренний генератор, с частотой гораздо ниже. В коде все, вплоть до тактов настроено на частоту 24МГц, естественно ничего работать не будет. eXtremeBurner в разы проще всего с чем я сталкивался. Вот ссылочка на него и на страничку. Я сейчас не могу посмотреть на фьюзы, гляну вечером, но фьюзы будут для eXtremeBurner’а.

SSergo

Забыл сказать, у меня на плате ОСД стоит Atmega88P. Поставил сейчас eXtreme Burner AVR v1.4. Из доступных чипов там Atmega88. Выбрал её, но при попытке считать Fuse получил сообщение, что неверный чип. У KKFlfashTool’а в списке чипов есть Atmega88P.
Видимо Вы правы и fuse таки перезаписались. Можно ли это как-то поправить?
Программка eXtreme Burner и правда небольшая и приятная.😃

lamakazzz

Смело выбирайте Atmega88 в eXtreme Burner, оно все такое же, прочитается и зашьется без проблем. Просто когда покажет, что неверная сигнутура чипа - жмите продолжить и всё

ЗЫ Кстати в ПАЛ формате всё хорошо работает на двух камерах. В одной камере темный фон более насыщенный чем в другой. Подскажите, какой резистор на плате отвечает за черный фон? хочу сделать фон темнее

SSergo
lamakazzz:

Кстати в ПАЛ формате всё хорошо работает

СПАСИБО! Ух, коллеги, как вы меня раззадорили! 😃 У всех всё работает, а я, такой осторожный, первый раз лопухнулся с этими fuse, будь они неладны! 😁

alexmx
lamakazzz:

В одной камере темный фон более насыщенный чем в другой. Подскажите, какой резистор на плате отвечает за черный фон? хочу сделать фон темнее

Из кода за уровень черного отвечает выход Меги - PB1.
Т.е. на схеме резистор R8 120 Ом. (Поправьте меня если я не прав)
0.3В - уровень черного, 1В - уровень белого

SSergo:

СПАСИБО! Ух, коллеги, как вы меня раззадорили! 😃 У всех всё работает, а я, такой осторожный, первый раз лопухнулся с этими fuse, будь они неладны! 😁

Будьте очень внимательны с фьюзами. Очень легко можно плату сделать не работоспособной. Нужно будет в eXtremeBurner’e вписать нужные правильные hex значения, разные программы по разному трактуют вкл/выкл битов.

SSergo
alexmx:

Будьте очень внимательны с фьюзами.

Спасибо, Александр!
Считал fuse. Значения в скриншотах. Отличаются от дефолтных. Буду ждать от Вас подсказок, чё с ними делать дальше.😃 Заранее благодарен.

alexmx
SSergo:

Считал fuse. Значения в скриншотах. Отличаются от дефолтных. Буду ждать от Вас подсказок, чё с ними делать дальше. Заранее благодарен.

Поиском по соседнему форуму нашел такое письмо от CL-OSD разработчика

Here are my fuses:
low:0xF7
high: 0xDC
ext: 0xFF
Hope it works!

Вечером посмотрю у себя.

SSergo
alexmx:

Вечером посмотрю у себя.

Как до вечера дотерпеть!? 😒
А можно еще вопросик? Как надо было изначально поступить?

  1. Open flash (загрузить в eXtreme Burner - AVR рабочий hex-файл)
  2. Chip erase ( fuse не трутся?)
  3. Write flash
  4. Write EEPROM
    Fuse не читать и не писать. Правильно?
alexmx
SSergo:

А можно еще вопросик? Как надо было изначально поступить? 1. Open flash (загрузить в eXtreme Burner - AVR рабочий hex-файл) 2. Chip erase ( fuse не трутся?) 3. Write flash 4. Write EEPROM Fuse не читать и не писать. Правильно?

Для записи прошивки:

  1. Chip выбрать Atmega88
  2. File->Open Flash
  3. Write->Flash

Для записи Fuse

  1. открыть закладку Fuse Bits
  2. Read All - на закладке под битами (только для того чтобы убедиться что все читается)
  3. Прописать 3 значения в Low / High / Ext
  4. Поставить галочки Write в Low / High / Ext
  5. Нажать там же кнопку Write

P.S. значения фьюзов которые я выше постом выкладывал - очень похожи на правду.

SSergo

Александр, ещё раз спасибо! Я имел ввиду фьюзы не трогать, когда просто шьется новая прошивка. В моем случае их как раз менять придется.
Фсё, кончаю оффтопить.😃

alexmx:

P.S. значения фьюзов которые я выше постом выкладывал - очень похожи на правду.

Если не возражаете, я дождусь ещё и Ваших. 😃

alexmx
SSergo:

Если не возражаете, я дождусь ещё и Ваших.

low:0xF7
high: 0xDC
ext: 0xFF

SSergo

Саша, всё заработало! Я таки увидел желанную картинку, красота! 😃 Сегодня прикручу GPS. Вот ещё б погоду на летний лад какими-нить фьюзами наладить…😁
Хотел нажать кнопочку Donate… не нашел. Примите тогда ОГРОМНУЮ Благодарность за великолепную работу!
Ну и ещё вопросик… В вашем софте есть калибровка вольтметра, как в стоковой прошивке?

alexmx
SSergo:

Ну и ещё вопросик… В вашем софте есть калибровка вольтметра, как в стоковой прошивке?

На G-OSD/Mini OSD это не требовалось, так как были подстроечные резисторы…
Готов добавить в прошивку - скажите как это должно выглядеть/работать.

SSergo:

Саша, всё заработало! Я таки увидел желанную картинку, красота!

Отлично! 😃

SSergo

Ну, ёлы-палы, я ж просто спросил…😊
Раз так, если у Вас будет время, желание и свободная память программ, посмотрите как это описано в штатном мануале на E-OSD на второй странице.

E-OSDUserManual_ENGv1_02.rar

alexmx

С вот этим

SSergo:

свободная память программ

могут быть вопросы. Подумаю как лучше сделать 😃

alldn

в порядке бреда:
мне кажется, что можно было бы немного упростить картинку, убрать галочку, вращающуюся вокруг “дома” и поставить просто черточку, указывающую направление на дом. Меньше затеняет экран и сразу понятно куда лететь домой.
Галочка конечно хорошо, но мне кажется она не сильно информативна и может даже запутать пилота.
после этого можно убрать галочку направления по краям указателя расстояния до дома, теперь она не нужна.
Может это позволило бы высвободить немного памяти…

alexmx
alldn:

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

Сейчас по галочке можно определить нос самолета (соответственно с какой стороны находится база) и условное расстояние самолета к базе.
По сути - это карта на которой находится наш самолет.
А стрелочки слева/справа указывают куда на пульте повернуть самолет чтобы получить курс на дом.
То что Вы предлагаете - это другой стиль отображения информации. Во многих ОСД есть и такой и такой.