Smalltim OSD and autopilot (часть 2)

SkyWorker

Пробовал. Но с высоты разгоняется до 100км/ч и более. -15 градусов много.
Получается режим “лететь по прямой” ущербный и даже опасный. Вот и прошу его подправить.

smalltim
SkyWorker:

Пробовал. Но с высоты разгоняется до 100км/ч и более. -15 градусов много.

Понял. Если разрешить в КП ставить не до -15, а до -5 градусов, то поможет как промежуточный вариант?
А, может быть, даже 0, пусть снижается до целевой в горизонтальном планировании, если кому-то надо?

Alan77
smalltim:

По поводу неработы АП с поменянной Мегой - прямо теряюсь:( Убедитесь, что на портах не висят невидимые микросопли, на всех ногах земли проца есть земля, на всех ногах питания есть питание, а контакты разъема USB на плате звонятся до самых ног процессора.

Мигает? Если это диод, показывающий питание, то он должен гореть непрерывно!

Осциллографа нет. Все контакты звонятся, все нормально. Однажды, восстанавливая личный АП, было достаточно поменять проц и все заработало.
Про диод, может не совсем верно сказал. он горит непрерывно, но раз в 2 сек, происходит двойная вспышка.

Рискнул и вставил в неработающий АП неработающую ТМ. На ТМ диод горит тускло, в то время как на РАБОЧЕМ АП этот же диод горит ярко.

Оно заработало!😃
Подключил телеметрию в автопилот. воткнул в комп вместе с включенным акком. Комп подал звуковой сигнал что чтото увидел. Далее его прочитал FLIP. Ну а потом через КП залил прошивку.
В остатке: рабочая схема АП+ТМ (С затемненным экраном). АП без ТМ не работает. 😦

serj
baychi:

Появилась еще одна версия причин слета прошивок - двойное питание. Так как питание АП и ТМ независимо, возможен момент, когда на АП еще (или уже) нет напряжения а на ТМ - есть. И на ножках АП, соединенных с ТМ оно тоже может появиться. А это прямое нарушение Absolute Maximmum Ratings, где прямо сказано, что напряжение на всех ножках, кроме RESET и VBUS свыше +0.5 от Vcc недопустимо!
Что скажут более опытные коллеги? Может это быть причиной слета прошивок или настроек?
.

Александр, установите BOD на 4.5 вольта и посмотрите фронт падения и нарастания питания. Он должен быть менее 1мс. (если это не так его желательно уменьшить) после этого можно копать дальше.
Паразитное питание через порты- весьма возможно, но все равно это выльется в длительность падения напряжения.
Вообще, хочется узнать, привела установка BOD на 4.5 вольта к изменению поведения или нет.

baychi
serj:

Вообще, хочется узнать, привела установка BOD на 4.5 вольта к изменению поведения или нет.

Не успел выяснить. Убил мегу именно в этом эксперименте. 😃 Затем еще одну. Как восстановлю, обязательно проверю…

baychi

Случилось маленькое чудо, и вторую убитую мегу удалось оживить с помощью внешнего тактового генератора и SPI программатора.
После оживления эксперименты были продолжены. Но, к сожалению, новый кристалл оказался нечувствителен к слету, убранные доработки и сотни попыток ни разу не сбили программу.

serj:

установите BOD на 4.5 вольта и посмотрите фронт падения и нарастания питания. Он должен быть менее 1мс.

При текущей настройке 2.6 В, отрубание проца происходит через 4-5 мс, после провала вторичного питания (вложение MOSI_off_4). При 4.3 В за 1.5-1.7 мс (вложение SCK_OFF_43_2).

smalltim:

Нет, не верю. На пинах Меги стоят внутри диоды к VCC и к земле, давящие вход, если он выше VCC (+падение на диоде) и ниже 0. А в момент после выключения питания там нет таких токов, что могут что-то выжечь.

Тогда глянь третью картинку. Я подобное наблюдал неоднократно: ответ ТМ более чем на вотльт превышает допустимый уровень.

Syberian:

ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В. Программными средствами это сделать невозможно, только программатором.

Да, Олег, к сожалению, Вы абсолютно правы. Порог питания можно изменить только внешним программтором, из самой программы можно только его прочитать.

PS: Так как на новом кристалле вызвать слет пршивки не удалось, остается 2 предположения (и я их уже не смогу проверить):

  1. Прошивка слетает, при низком напряжении 2.5-3.5 В, когда проц еще работает, но уже не адекватен. Борьба с этим - подключение внешнего программатора (что не так просто) и установка фьюзов BODLEVEL в 4.3 В.
  2. Превышение напряжения на линиях SPI от ТМ, когда питание АП уже провалено ниже порога BOD, что является следствием 2-х БП. Бороться с этим проще всего аппаратно: установив перемычку+5В к ТМ на АП, и отпаяв входной диод на плате ТМ.
    Как вараинт - предложить разработчику установить токоограничивающе резисторы (200-500 Ом) в линиях SPI.

ubd
  1. Прошивка слетает, при низком напряжении 2.5-3.5 В, когда проц еще работает, но уже не адекватен. Борьба с этим - подключение внешнего программатора (что не так просто) и установка фьюзов BODLEVEL в 4.3 В.

Давайте займёмся подключением внешнего программатора, да установим BODLIVEL.

baychi
ubd:

Давайте займёмся подключением внешнего программатора

Это не очень сложно.

  1. Брете любой SPI программатор для меги. Я использова USBasp программатор с сайта smalltim.
  2. Делаете переходник на 6-ть пинов: выводы SCK, MISO и MOSI есть на разъеме ТМ. +5В и GND есть на внешних выходах АП (напрмер GPS). И только сигнал Reset придеться подпаять - удобнее всего к кнопке RST.
  3. Берете программу, напрмер KHAZAMA и меняеете BODы.
Вахтанг

на разъеме ТМ присутствуют все выше перечисленные сигналы и напряжения. Ничего, никуда подпаивать не надо. Единственное надо будет перемкнуть диод VD2, т.к. он включен в обратной полярности (для программатора). Распиновка разъема видно в посте #6413, на предыдущей странице. Диод VD2 впаян в место R21. Т.е. на 4-й ноге +5В, но от ТМ в сторону АП. По этому диод надо перемкнуть. Это было сделано специально, чтоб ТМ не получал питание от АП. Хотя в некоторых АП может и R21 присутствовать, или отсутствовать, но посадочное место будет на плате. Смотря какая партия выпуска.

smalltim

Вахтанг, не путай людей 😃
Ресет, идущий на разъеме телеметрии - это ресет именно телеметрии. АП ресетит телеметрию тогда, когда ему нужно, например, прошить ее или слить логи из флеша.
Ресет самого АП берется с кнопки ресет, иначе, к сожалению, никак.

baychi
smalltim:

Вахтанг, не путай людей Ресет, идущий на разъеме телеметрии - это ресет именно телеметрии.

Вот-вот. Это сакральное знание, стоило мне одной меги, недели жизни и пары седых волос. 😃

SkyWorker
smalltim:

Понял. Если разрешить в КП ставить не до -15, а до -5 градусов, то поможет как промежуточный вариант?
А, может быть, даже 0, пусть снижается до целевой в горизонтальном планировании, если кому-то надо?

То, что в режиме “сразу занимать целевую высоту” допустимый угол по тангажу надо сделать доступным до 0 - это совершенно точно.
Но все же, по поводу режима “лететь по прямой”: Режим очень хорош тем, что отлетая на большие расстояния от базы, при автовозврате, ты будешь уверен, что самолет будет идти на высоте, сопоставимой с высотой, с которой ты летел. А это значит, что видео картинка будет хорошей, связь устойчивой и на пути обратно самолет не столкнется с высоким наземным препятствием.
Но вот если АВ включится на низкой высоте и большом отдалении- то опасность столкновения очень большая.
Все таки хотелось бы, что бы в этом режиме самолет в первую очередь выходил на базовую высоту, если в момент включения АВ она была ниже.
Ну или иметь такую опцию, которую при желании можно включить или выключить.
Например, опция в автономном режиме: ВСЕГДА ЗАНИМАТЬ ЦЕЛЕВУЮ ВЫСОТУ, ЕСЛИ ВЫСОТА ПРИ ВКЛЮЧЕНИИ АВ НИЖЕ ЦЕЛЕВОЙ.

Eugen_G

Страшный пушной зверь не спит:(. Сначала все выглядело как простой слет прошивки. Подключил комп, нажал кнопочки - КП отказывается шить АП. На АП горит один желтый диод, комп видит устройство АТ90USB128, КП пишет ошибка соединения, драйвер DFU не установлен, плата не подключена или неисправна. На экране - ожидание данных от ап. Нажимание кнопок не помогает, поставил флип и старую кп - тоже без толку. На другом компе пробовал- не помогает. Проц вроде живой - комп ведь видит его. Нужно искать внешний программатор?

baychi
Eugen_G:

Проц вроде живой - комп ведь видит его. Нужно искать внешний программатор?

Да. Похоже слетел загрузчик. Только внешний программатор поможет. Или замена Меги.
Если восстановите эту, попробуйте запитать обе платы от стабилизатора АП, как я описывал выше.

Eugen_G
baychi:

вторую убитую мегу удалось оживить с помощью внешнего тактового генератора и SPI программатора

Генератор тоже нужен? На какую частоту?

baychi
Eugen_G:

Генератор тоже нужен?

Вам пока не нужен. У меня слетели фьюзы и просто кварц уже не работал. А у Вас, коль как DFU устройство видно, значит кварц в порядке.
После подключения программатора, первым делом проверьте фьюзы, возможно загрузчик жив, просто ему заблокирован доступ.
Если придется перешивать загрузчик, он есть здесь: www.atmel.com/dyn/…/128X-usb-boot-1-0-1.zip

Eugen_G
baychi:

первым делом проверьте фьюзы

Как они должны быть установлены?

baychi
Eugen_G:

Как они должны быть установлены?

Я ставил дефолтные из даташита www.atmel.com/Images/doc7593.pdf (страница 359 и ниже). Только BODLEVEL в итоге поменял на 4.3 В.

Ясон

У меня вопрос к разработчикам по поводу панели управления. Планируется ли введение кэширования гугловских данных для назначения ППМ при полете по точкам? Потому как далеко не всегда в местах полетов есть сотовая связь, а если и есть то не всегда того оператора чью симку используешь. Было бы неплохо один раз скачать карты нужного места и больше к этой теме не возвращаться. Опять же скорость, когда сигнал сотовиков колеблется от его отсутствия до очень хренового.

leliksan
Ясон:

Планируется ли введение кэширования

Я уже задавал подобные вопросы. Ответ -нет. Лицензирование и всё такое…Можете поискать в этой ветке.
З.Ы. правда лазейка есть, никто не запрещает импортировать координаты из софта который кешировать умеет, но это отдельная песня (например мобильный яндекс, софт оффициальный и кеш у него есть).