RSS лента

alexeykozin

MinimOsd на Atmega 644

Рейтинг: 5.00. Голосов: 6.
15.03.2017 в 14:29 (1462 Показов)


Как известно, наш соотвечественник и коллега, известный под ником Night Ghost переработав программный код из стандартной миним осд весьма симпатичную и функциональную версию, однако развитие прошивки ОСД в очередной раз уперлось в ограничение железа - в 30 оставшихся байтах флеша не разгуляешься. А при этом новая улучшенная версия знакогенератора - AB7456 от MyAirbot - имеет возможность переключения на второй набор символов! Что открывает совершенно новые возможности по отрисовке псевдографики.

Поэтому давно висела в воздухе идея заменить АТмегу328 на что-нибудь побольше, дабы было где разгуляться. С тем чтобы дать проекту начало я нарисовал тестовый прототип новой платы. При разработке руководствовался идеями Night Ghost`а

в частности заведено аппаратное прерывание для отрисовки экрана за пределами кадрового импульса
выведен второй usart на внешний разъем
сделаны делители для подключения мониторов двух батарей (силовой и видео)
выведены пины для подключения RSSI и датчика тока
на плате использованы Jst sh 1.0 на 4 и 6 пинов для подключения Serial и два 5-pin для подключения видеопередатчика.
Разъемы видео передатчика спланированы таким образом чтобы видео передатчик ts5828 можно было бы не меняя разъема и не делая специального переходника удобно подключать как через осд так и напрямую
габариты платы осд сделаны близкими к размерам этого передатчика.
В осд использована улучшенная микросхема осд, которая в отличие от своего прототипа MAX7456 работает уже от 3,3 вольт, потребляет на порядок меньше энергии и практически не греется




При разработке этой платы ставилась цель сделать образец удобный для разработки и отладки,
Если все задуманное удастся - сделаем более компактную версию для миниатюрных леталок.
в настоящее время габариты 18Х29мм

схемка


Что собственно требуется.
1. высказать идеи по совершенствованию осд автору программного кода
2. высказать замечания и пожелания по аппаратной части мне. либо в Комменты этого блога либо по ссылке выше.
3. Привлечь внимание всех заинтересованных (прошу сообщить вашим друзьям и знакомым)

Пополняемый по ходу обсуждения список идей, пожеланий
по софту

-прикрутить контроллер ксиоми
-возможность кодировать в КСИ данные для треккера
-побаночное измерение вольтажа батареи
-https://github.com/ShikOfTheRa/scara...ree/VTX/MW_OSD. возможность управлять передатчиком
-возможность подключение второго канала телеметрии для целеуказания на преследуемый объект при коллективных полетах

по харду
-замечена ошибка vsync , исправлена
-замерять потребление и сравнить с миним осд классическим
-возможно понадобится добавить резисторы 22 оm по всем сигналам от процессора к Ab7456 для минимизации шумов CPU
-возможно понадобится добавить еще один стабилизатор для отдельного питания Ab7456
-добавить цепь из диода и резистора на видеовыход для кодирования в кси данных для треккера
( как это было сделано у smalltim,(вывод PD7)
https://cloud.mail.ru/public/5Z7X/ZW4z9xVn2)
-побаночное измерение батареи в полноразмерной версии
-микро версия платы с процессором в корпусе qfn- нет управляемого диода, помигать нечем
- не подписаны контакты ISP хотя на второй стороне есть место

заметки для пайки сборки прошивки
бут https://github.com/MCUdude/MightyCor...ash/atmega644p

low_fuses=0xFF
high_fuses=0xDE
extended_fuses=0xFD

поддержка 644 атмеги в ардуино
https://github.com/MCUdude/MightyCore#how-to-install

Обновлено 22.04.2017 в 20:03 [ARG:5 UNDEFINED]

Категории
Без категории

Комментарии

  1. Аватар для Hyperion
    с моей колокольни было бы интересно интегрировать с этим проектом
    http://forum.rcdesign.ru/blogs/7830/blog20971.html
    чтобы использовать осд сразу для отображения данных с модуля управления камерой xiaomi.
  2. Аватар для AlexeyStn
    Присоединяюсь к пожеланию по поводу Xiaomi
  3. Аватар для arb
    А атмега тоже будет с пониженным потреблением? А то вроде по разводке запитано на 3.5В.
  4. Аватар для arb
    Кстати, а какое планируется потребление?
  5. Аватар для SergDoc
    Правый нижний угол верхней картинки - чего-то не хватает... резюк или кондёр в воздухе висит...
  6. Аватар для alexeykozin
    спасибо, серг, вот что значит глаз алмаз,
    усмотрел потерянный Vsync
    благодаря тебе сэкономил 20 баксов и месяц времени)
    платки перезаказал, картинки в шапке темы заменил
    Обновлено 15.03.2017 в 18:39 [ARG:5 UNDEFINED]
  7. Аватар для alexeykozin
    Цитата Сообщение от arb
    А атмега тоже будет с пониженным потреблением? А то вроде по разводке запитано на 3.5В.
    да, при 16 мгц должна стабильно работать от 3,5
    но на всякий случай если что не так есть место под перемычку вместо стабилизатора
  8. Аватар для alexeykozin
    Цитата Сообщение от Hyperion
    с моей колокольни было бы интересно интегрировать с этим проектом
    http://forum.rcdesign.ru/blogs/7830/blog20971.html
    чтобы использовать осд сразу для отображения данных с модуля управления камерой xiaomi.
    Цитата Сообщение от AlexeyStn
    Присоединяюсь к пожеланию по поводу Xiaomi
    хорошо, я включу в список предложений по прошивке
  9. Аватар для alexeykozin
    Цитата Сообщение от arb
    Кстати, а какое планируется потребление?
    сейчас не скажу точно, когда сравинивали MAX и AB заметили разнице и в потребелении и тепловыделении, но не законспектировали сколько конкретно, но нагрева совсем нет
  10. Аватар для arb
    Цитата Сообщение от alexeykozin
    да, при 16 мгц должна стабильно работать от 3,5
    но на всякий случай если что не так есть место под перемычку вместо стабилизатора
    по даташит вроде написано, что при 3.5В до 10МГц. А для 16Мгц с 4.5В.
    Я не думаю, что здесь нужна высокая частота, но вроде для низких частот фильтр больше в размерах.
    Кстати, если будет перемычка, то видео чип чем будет питаться. Я думал стаб для него в первую очередь.
  11. Аватар для arb
    Цитата Сообщение от alexeykozin
    сейчас не скажу точно, когда сравинивали MAX и AB заметили разнице и в потребелении и тепловыделении, но не законспектировали сколько конкретно, но нагрева совсем нет
    малый нагрев радует. Сразу обратил внимание.
    Про потребление спросил, чтобы запроектировать себе питание с расчетом на это ОСД.
    Если сейчас нет данных, подожду. Просто неплохо озвучить по возможности.
  12. Аватар для alexeykozin
    Цитата Сообщение от arb
    по даташит вроде написано, что при 3.5В до 10МГц. А для 16Мгц с 4.5В.
    эксперименты с atmega328p показали что стабильно работает от 3,3 на 16 мгц, но тут 644 всякое может быть, накрайняк поставим другой стаб в этом же корпусе
  13. Аватар для emax
    надо один выход avr соединить с выходным видеосигналом через диод и резистор, как здесь http://forum.rcdesign.ru/f8/thread48...ml#post6780344
    тогда можно будет в будущем передавать телеметрию на землю во время КГИ. Да тогда еще и hsync надо завести на какое-нибудь прерывание, что бы начало строки отслеживать.
    Обновлено 16.03.2017 в 09:01 [ARG:5 UNDEFINED]
  14. Аватар для alexeykozin
    Цитата Сообщение от emax
    надо один выход avr соединить с выходным видеосигналом через диод и резистор, как здесь http://forum.rcdesign.ru/f8/thread48...ml#post6780344
    тогда можно будет в будущем передавать телеметрию на землю во время КГИ. Да тогда еще и hsync надо завести на какое-нибудь прерывание, что бы начало строки отслеживать.
    идея интересная, но тут еще нужно смотреть есть ли у нас ресурсы процессора во время КГИ во время VSYNC проц скидывает в видеочип обновление экрана, в принципе отправка по spi реализована аппаратно и может быть что получится.

    схема в весьма смазанном качестве, переменный резистор и диод d12 в базу транзистора? можете нарисовать как бы это могло быть для минимосд?
  15. Аватар для emax
    вот как это было сделано у smalltim,(вывод PD7)
    https://cloud.mail.ru/public/5Z7X/ZW4z9xVn2
    ради телеметрии, можно и отключать "безпомеховое" обновление экрана, кстати не со всеми камерами оно работает.
    Мы летаем на прошивке от Кирилла http://forum.rcdesign.ru/blogs/55789/blog20531.html , так с одной из камер max7456 не генерил vsync , хотя все остальное работало нормально и картинка была отличной. Уговорили автора сделать "безпомеховый" вывод отключаемым.
  16. Аватар для alexeykozin
    Цитата Сообщение от emax
    Мы летаем на прошивке от Кирилла
    я думаю надо обязательно поставить эксперимент с прошивкой night ghost и проблемной камерой. хотя принцип и схожий, но реализации разные, возможно проблемы в прошивке night ghost вообще нет..
  17. Аватар для alexeykozin
    предложение по диоду, резистору, поддержке данных для треккера внес в чеклист.
  18. Аватар для Pacific
    <мечтательно>побаночный бы контроль... с выводом самой просевшей банки.
  19. Аватар для alexeykozin
    побаночный контроль требует отдельного контроллера который мог бы общаться с осд
    дело в том что 1. нужна тщательная калибровка каждого канала. нужна гальваническая развязка т.к. привязка по земле должна быть четко в разъем балансира. если тупо вывести все банки на осд
    - попрут помехи на видео
    - неподготовленный пользователь потенциально все сожжет.

    посему предложение- рассмотреть побаночный контроль как отдельное подключаемое по сериалу гальванически независимое устройство
  20. Аватар для Pacific
    тщательная калибровка для каждой банки не сложнее, чем для vbatt и vbatt2. У Ghost-a неплохо реализовано в конфигураторе ввод своих коэффициентов.
    Не понял про гальваническую развязку. Если мы меряем vbatt и vbatt2, то земли от батарей уже есть. И опять же, если мы не боимся помех от vbatt и vbatt2, то почему мы боимся помех от отдельных банок этих батарей?

    Фактически, нужно добавить дополнительные аналоговые входы с делителями (2 входа для 3s или 3 входа для 4s). Достаточно оформить эти входы в виде пятачков на плате для адвансед юзеров.
    А в софте сделать обработчик вывода наименьшей банки.
    Ну, это мечталка на будущее.
    Обновлено 16.03.2017 в 13:38 [ARG:5 UNDEFINED]
  21. Аватар для alexeykozin
    >Не понял про гальваническую развязку. Если мы меряем vbatt и vbatt2, то земли от батарей уже есть
    земля на банке и земля на силовом проводе батареи - разная. большие токи снимаемые с батареи через силовой провод, даже при относительно небольшом сопротивлении жилы создают напряжение , в результате измерение непосредственно с банки будет сильно отличаться при точном побаночном контроле
  22. Аватар для Pacific
    Понял, о чем речь )
    Правда, даже не прикидывал, сколько в реале это падение составляет.
    Лично я меряю батарею на силовом разъеме аккумулятора, поэтому в реале «точного контроля» не происходит. Боюсь, у подавляющего большинства летчиков аналогично. Так что на опасения типа неточного контроля я бы забил. Если акки рассчитаны на большИе токи, то и провода на них соответствующие.
    ИМХО, лучше иметь ошибку в милливольты, чем прозевать умирающую банку.
  23. Аватар для arb
    Я думаю лучше отдельно сделать такое устройство. Во-первых, не всем надо, а во-вторых, проще скомпановать.
    И как бы силовую правильнее заводить в полетник. Это для видео можно посматривать, а силовую чуть прозевал и пока. А полетник на автомате отследит.
  24. Аватар для Arkady68
    Цитата Сообщение от alexeykozin
    >Не понял про гальваническую развязку. Если мы меряем vbatt и vbatt2, то земли от батарей уже есть
    земля на банке и земля на силовом проводе батареи - разная. большие токи снимаемые с батареи через силовой провод, даже при относительно небольшом сопротивлении жилы создают напряжение , в результате измерение непосредственно с банки будет сильно отличаться при точном побаночном контроле
    Алексей, с балансировочного разъема мы получаем напряжение всех банок включая ноль первой банки. Ноль первой банки можно с тем же успехом измерять как и полюса всех остальных банок и вносить коррекцию падения напряжения на силовом земляном проводе.
    По поводу разводки платы, вы знакомы с микроОСД? Она раза в два меньше вашего варианта, очень хотелось бы сохранить достигнутые размеры, тем более с учетом пониженого энергопотребления....
  25. Аватар для arb
    На вид 644 больше 328. Так что вряд-ли получится сделать такие же размеры и разъем занимает много места. Штырьки выглядят меньше, если сразу только использовать провода. А так скорее удастся сократить 2 мм.
  26. Аватар для Arkady68
    Разъемы это еще одна проблема. У меня есть негативный опыт использования таких разъемов с ОСД. Маленькие разъемы при нежестком креплении платы или вибрациях могут терять контакты так как не очень плотно сидят на месте. Если уж так необходим разъем то лучше два маленьких объединить в один большой на 8 пинов. Но я сторонник жесткого впаивания, наелся уже пропаданий ОСД при интенсивном маневрировании. Я предлагаю пэды под тонких силиконовых проводов, тем более если решим добавить входы для побаночного измерения батареи- размеры дополнительного разъема еще сильнее увеличат размер ОСДшки. А размеры это наше всё!
  27. Аватар для Pacific
    Идею с версией платы с пэдами вместо разъемов поддерживаю тремя руками.
  28. Аватар для kostya-tin
    немного не в тему, но где эту AB7456 можно купить?
  29. Аватар для alexeykozin
    Цитата Сообщение от Arkady68
    Ноль первой банки можно с тем же успехом измерять как и полюса всех остальных банок и вносить коррекцию падения напряжения на силовом земляном проводе.
    да, так можно.
  30. Аватар для alexeykozin
    Цитата Сообщение от Arkady68
    По поводу разводки платы, вы знакомы с микроОСД? Она раза в два меньше вашего варианта, очень хотелось бы сохранить достигнутые размеры, тем более с учетом пониженого энергопотребления....
    я видал эту плату, у нее проц в 4 раза мельче того что стоит на текущей версии, но эта плата в первую очередь для разработки. На будущее надо будет сделать и миним версию.

    но тут уж вибирайте что важнее побаночные измерения или микроразмер банально 4-6 банок это уже пятаки для пайки некуда будет ставить на микроверсию. а если их нечаянно замкнуть изза мелкоты ...

    побаночный измеритель и микро версию добавляю в чеклист
  31. Аватар для alexeykozin
    Цитата Сообщение от kostya-tin
    немного не в тему, но где эту AB7456 можно купить?
    напишите производителю mail@myairbot.com
    но изза одной штуки будет дорого по доставке.
    я брал для тестов, вроде пара штук еще осталась
    думаю надо будет купить у него партию для распространения
  32. Аватар для Arkady68
    1.Мой друг лишился дорогой 6S батарейки только из за того, что забыл отключить побаночный измеритель напряжения фирмы FRSKY. (за неделю батарея села и ушла в КЗ)
    2.Замечание Алексея по поводу мелкости ОСД и проведения туда кучи проводов от аккумулятора еще один довод в опасности такого типа замера.
    Видимо надо разработать дополнительный блок, связаный с ОСД по четырем проводам: два питания, стороб и сигнальный. Если простых процессоров без ATD конверторов уже не выпускают или на этом экономить бессмысленно, можно измерять напряжение в в самом блочке, тогда связь будет всего по 3 проводам. Таким блочком будет невозможно разрядить батарею, он будет безопасен в плане отсутствия силовых проводов от аккума по всему коптеру. 100килоомный делитель не посадит батарею никогда....
    Сделать это можно будет в будущем, ну а пока что зарезервировать в программе несколько байт для приема информации по простейшему протоколу
  33. Аватар для arb
    1.Мой друг лишился дорогой 6S батарейки только из за того, что забыл отключить побаночный измеритель напряжения фирмы FRSKY. (за неделю батарея села и ушла в КЗ)
    Интересно и что там за принцип измерения, если
    100килоомный делитель не посадит батарею никогда....
    Видимо надо разработать дополнительный блок, связаный с ОСД по четырем проводам: два питания, стороб и сигнальный.
    Неплохая идея. Можно на атмеге. Питание взять со 2 банки.
    Только, я считаю, что заводить надо на полетник. ОСД с него инфу все равно получит.
    Осталось только выбрать принцип передачи. Или мин напряжение с ЦАП, или по I2C (SPI).
  34. Аватар для Arkady68
    Цитата Сообщение от arb
    Интересно и что там за принцип измерения, если ///
    Питание взять со 2 банки.
    Только, я считаю, что заводить надо на полетник. ОСД с него инфу все равно получит.
    Осталось только выбрать принцип передачи. Или мин напряжение с ЦАП, или по I2C (SPI).
    Вот такая же идея- питание взять со второй банки. Эти две банки и умрут если забыть балансный проводок отлючить. Конечно же можно сделать сверхэкономичную схемку, которая и за месяц среднего размера батарею не посадит, но я думаю если все равно тащить жгут, не все ли равно там 2 или 3 провода? Тем более, если измерять на месте, надо делать хороший стабилизатор напряжения, а он уже по определению экономичным быть не может, а если и может то будет совсем не дешёвый. А имея питание с ОСД можно одним стабилитроном обойтись.
    Завести на полетник конечно можно, только кто будет для этого полетника программу писать? Ну и протокол там уже не простой потребуется для проформы, а это уже проект...
  35. Аватар для arb
    Насчет питания от дальнего стаба можно согласиться.
    Хотя ответ про принцип измерения все же не прозвучал.
    Завести на полетник конечно можно, только кто будет для этого полетника программу писать?
    Вот здесь не совсем понял. АПМ мерит, пишет в лог и выводит на ОСД.
    По мне запись в логе и вывод на ОСД важнее просто вывода на ОСД.
  36. Аватар для Arkady68
    Цитата Сообщение от arb
    Насчет питания от дальнего стаба можно согласиться.
    Хотя ответ про принцип измерения все же не прозвучал.
    А я не понял что это вопрос.
    Принцип измерения строится на делении входного напряжения до уровня меньшего чем логический уровень измерительной микросхемы. Так как входные цепи современных ATD имеют высокий имеданс, то и делитель может быть очень высокоомным. Как то так.
    Цитата Сообщение от arb
    Вот здесь не совсем понял. АПМ мерит, пишет в лог и выводит на ОСД.
    По мне запись в логе и вывод на ОСД важнее просто вывода на ОСД.
    АПМ мерит только один вход, и на индикацию выводит только одно напряжение, и в логи пишет напряжение с одного канала. ПИКС с двух. Вот и все.
    По моему мнению измерение напряжение побаночно наиболее критично во время полета, если аккум сдыхает не по правилам и при общем нормальном напряжении одна банка начинает падать.... Я думаю что на самом деле надо выводить напряжение не всех банок, а самой просаженной, так и дисплей не перегрузится цифрами и пропустить такое безобразие будет сложнее.
  37. Аватар для arb
    А я не понял что это вопрос.
    Принцип измерения строится на делении входного напряжения до уровня меньшего чем логический уровень измерительной микросхемы. Так как входные цепи современных ATD имеют высокий имеданс, то и делитель может быть очень высокоомным. Как то так.
    Да меня интересовало почему разрядился. Типа может использовался не высокоомный делитель, а что-то другое. Ну будем считать от питания микры.
    АПМ мерит только один вход, и на индикацию выводит только одно напряжение, и в логи пишет напряжение с одного канала. ПИКС с двух. Вот и все.
    По моему мнению измерение напряжение побаночно наиболее критично во время полета, если аккум сдыхает не по правилам и при общем нормальном напряжении одна банка начинает падать.... Я думаю что на самом деле надо выводить напряжение не всех банок, а самой просаженной, так и дисплей не перегрузится цифрами и пропустить такое безобразие будет сложнее.
    Это точно. Смотреть и оценивать все 3-8 банок на экране сложно и бессмысленно. Нужна только просаженная. И в логах писать только ее.
    В пиксах 2 это одно, а 2 в ОСД это другое. В результате на экран придется выводить 2 с пикса и 2 своих. Итого 4 напряжения. Зачем столько? На ОСД думаю и 1 достаточно (на всякий случай), чтоб ресурсы не тратить.
  38. Аватар для alexeykozin
    касательно измерения в контрольной точке нуля балансной вилки- ничего не получится без привязки gnd к небольшому отрицательному опорному напряжению это связано с тем что паразитное напряжение возникающее на минусовом проводе силового разъема имеет положительное значение относительно gnd на вилке балансира.

    если мы питаем гальванически связанную с автопилотом микросхему минусом от ноля балансира - то получаем очень неприятную земляную петлю. минус балансира становится силовым проводом и на нем станут возникать токи.
    резюме - побаночный контроль надо делать отдельным девайсом.
    существует масса вариантов схем контроллеров батарей где реализовано отключение банок от измерителя в случае отключения питания, обычно ставят аналоговый ключ на полевых транзисторах.
  39. Аватар для Arkady68
    На сколько я знаю отрицательное напряжение тоже можно мерить (в определенных пределах разумеется путем предварительного смещения в плюс). Но это не важно, мы с Рамазаном двумя постами выше решили уже что побаночный измеритель будет отдельным блоком. Рамазан только хочет это еще и в логи записывать, но я думаю это невозможно....
  40. Аватар для alexeykozin
    на свою отдельную флешку очень даже можно. но для этого понадобится чип часов, батарейка и подключение к жпс данным для автоматической установки времени