Smalltim OSD and autopilot (часть 2)
набрать минимально безопасную высоту (заданную в КП) в режиме максимальной скороподъемности
во, во, я тоже присоединяюсь! очень полезное дополнение к логике пилотирования.
Как бы понять где эта цепочка? Это рядом с тем резистором что за яркость букв отвечает?
Александр, есть еще маленький трехногий полевой транзистор, открывающийся при рисовании теней. Если его пробило, то будет вечная тень - похоже на то, что Вы наблюдаете.
По поводу неработы АП с поменянной Мегой - прямо теряюсь:( Убедитесь, что на портах не висят невидимые микросопли, на всех ногах земли проца есть земля, на всех ногах питания есть питание, а контакты разъема USB на плате звонятся до самых ног процессора.
Александр, если есть осциллограф, то, пожалуйста, посмотрите, есть ли еще генерация синусоиды на кварце.
Если всё питание на месте и нет соплей и т.д, и кварц живой (а чего ему гореть-то?) то новый проц с завода должен сразу включаться и работать в режиме обновления прошивки - с завода у него нет прошивки, есть только штатный DFU бутлоадер.
Тимофей, вот еще один человек нуждается в том режиме набора высоты,о котором мы с тобой говорили.
Евгений, да, принято.
Было бы здорово, если бы в режиме “двигатся по прямой” при условии, что высота ниже базовой, происходил набор высоты. А при спуске пусть все работает, как и сейчас.
Режим “Сразу занимать целевую высоту” тут, даже без предложения Евгения, надежнее. Не пробовали?
Да, мигает. В 6443 посту написал об этом. Мигает только пятый диод.
Мигает? Если это диод, показывающий питание, то он должен гореть непрерывно!
Появилась еще одна версия причин слета прошивок - двойное питание. Так как питание АП и ТМ независимо, возможен момент, когда на АП еще (или уже) нет напряжения а на ТМ - есть. И на ножках АП, соединенных с ТМ оно тоже может появиться. А это прямое нарушение Absolute Maximmum Ratings, где прямо сказано, что напряжение на всех ножках, кроме RESET и VBUS свыше +0.5 от Vcc недопустимо! Что скажут более опытные коллеги? Может это быть причиной слета прошивок или настроек?
Нет, не верю. На пинах Меги стоят внутри диоды к VCC и к земле, давящие вход, если он выше VCC (+падение на диоде) и ниже 0. А в момент после выключения питания там нет таких токов, что могут что-то выжечь.
Пробовал. Но с высоты разгоняется до 100км/ч и более. -15 градусов много.
Получается режим “лететь по прямой” ущербный и даже опасный. Вот и прошу его подправить.
Пробовал. Но с высоты разгоняется до 100км/ч и более. -15 градусов много.
Понял. Если разрешить в КП ставить не до -15, а до -5 градусов, то поможет как промежуточный вариант?
А, может быть, даже 0, пусть снижается до целевой в горизонтальном планировании, если кому-то надо?
…ну или так.
По поводу неработы АП с поменянной Мегой - прямо теряюсь:( Убедитесь, что на портах не висят невидимые микросопли, на всех ногах земли проца есть земля, на всех ногах питания есть питание, а контакты разъема USB на плате звонятся до самых ног процессора.
Мигает? Если это диод, показывающий питание, то он должен гореть непрерывно!
Осциллографа нет. Все контакты звонятся, все нормально. Однажды, восстанавливая личный АП, было достаточно поменять проц и все заработало.
Про диод, может не совсем верно сказал. он горит непрерывно, но раз в 2 сек, происходит двойная вспышка.
Рискнул и вставил в неработающий АП неработающую ТМ. На ТМ диод горит тускло, в то время как на РАБОЧЕМ АП этот же диод горит ярко.
Оно заработало!😃
Подключил телеметрию в автопилот. воткнул в комп вместе с включенным акком. Комп подал звуковой сигнал что чтото увидел. Далее его прочитал FLIP. Ну а потом через КП залил прошивку.
В остатке: рабочая схема АП+ТМ (С затемненным экраном). АП без ТМ не работает. 😦
Появилась еще одна версия причин слета прошивок - двойное питание. Так как питание АП и ТМ независимо, возможен момент, когда на АП еще (или уже) нет напряжения а на ТМ - есть. И на ножках АП, соединенных с ТМ оно тоже может появиться. А это прямое нарушение Absolute Maximmum Ratings, где прямо сказано, что напряжение на всех ножках, кроме RESET и VBUS свыше +0.5 от Vcc недопустимо!
Что скажут более опытные коллеги? Может это быть причиной слета прошивок или настроек?
.
Александр, установите BOD на 4.5 вольта и посмотрите фронт падения и нарастания питания. Он должен быть менее 1мс. (если это не так его желательно уменьшить) после этого можно копать дальше.
Паразитное питание через порты- весьма возможно, но все равно это выльется в длительность падения напряжения.
Вообще, хочется узнать, привела установка BOD на 4.5 вольта к изменению поведения или нет.
Вообще, хочется узнать, привела установка BOD на 4.5 вольта к изменению поведения или нет.
Не успел выяснить. Убил мегу именно в этом эксперименте. 😃 Затем еще одну. Как восстановлю, обязательно проверю…
Случилось маленькое чудо, и вторую убитую мегу удалось оживить с помощью внешнего тактового генератора и SPI программатора.
После оживления эксперименты были продолжены. Но, к сожалению, новый кристалл оказался нечувствителен к слету, убранные доработки и сотни попыток ни разу не сбили программу.
установите BOD на 4.5 вольта и посмотрите фронт падения и нарастания питания. Он должен быть менее 1мс.
При текущей настройке 2.6 В, отрубание проца происходит через 4-5 мс, после провала вторичного питания (вложение MOSI_off_4). При 4.3 В за 1.5-1.7 мс (вложение SCK_OFF_43_2).
Нет, не верю. На пинах Меги стоят внутри диоды к VCC и к земле, давящие вход, если он выше VCC (+падение на диоде) и ниже 0. А в момент после выключения питания там нет таких токов, что могут что-то выжечь.
Тогда глянь третью картинку. Я подобное наблюдал неоднократно: ответ ТМ более чем на вотльт превышает допустимый уровень.
ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В. Программными средствами это сделать невозможно, только программатором.
Да, Олег, к сожалению, Вы абсолютно правы. Порог питания можно изменить только внешним программтором, из самой программы можно только его прочитать.
PS: Так как на новом кристалле вызвать слет пршивки не удалось, остается 2 предположения (и я их уже не смогу проверить):
- Прошивка слетает, при низком напряжении 2.5-3.5 В, когда проц еще работает, но уже не адекватен. Борьба с этим - подключение внешнего программатора (что не так просто) и установка фьюзов BODLEVEL в 4.3 В.
- Превышение напряжения на линиях SPI от ТМ, когда питание АП уже провалено ниже порога BOD, что является следствием 2-х БП. Бороться с этим проще всего аппаратно: установив перемычку+5В к ТМ на АП, и отпаяв входной диод на плате ТМ.
Как вараинт - предложить разработчику установить токоограничивающе резисторы (200-500 Ом) в линиях SPI.
- Прошивка слетает, при низком напряжении 2.5-3.5 В, когда проц еще работает, но уже не адекватен. Борьба с этим - подключение внешнего программатора (что не так просто) и установка фьюзов BODLEVEL в 4.3 В.
Давайте займёмся подключением внешнего программатора, да установим BODLIVEL.
Давайте займёмся подключением внешнего программатора
Это не очень сложно.
- Брете любой SPI программатор для меги. Я использова USBasp программатор с сайта smalltim.
- Делаете переходник на 6-ть пинов: выводы SCK, MISO и MOSI есть на разъеме ТМ. +5В и GND есть на внешних выходах АП (напрмер GPS). И только сигнал Reset придеться подпаять - удобнее всего к кнопке RST.
- Берете программу, напрмер KHAZAMA и меняеете BODы.
на разъеме ТМ присутствуют все выше перечисленные сигналы и напряжения. Ничего, никуда подпаивать не надо. Единственное надо будет перемкнуть диод VD2, т.к. он включен в обратной полярности (для программатора). Распиновка разъема видно в посте #6413, на предыдущей странице. Диод VD2 впаян в место R21. Т.е. на 4-й ноге +5В, но от ТМ в сторону АП. По этому диод надо перемкнуть. Это было сделано специально, чтоб ТМ не получал питание от АП. Хотя в некоторых АП может и R21 присутствовать, или отсутствовать, но посадочное место будет на плате. Смотря какая партия выпуска.
Вахтанг, не путай людей 😃
Ресет, идущий на разъеме телеметрии - это ресет именно телеметрии. АП ресетит телеметрию тогда, когда ему нужно, например, прошить ее или слить логи из флеша.
Ресет самого АП берется с кнопки ресет, иначе, к сожалению, никак.
Вахтанг, не путай людей Ресет, идущий на разъеме телеметрии - это ресет именно телеметрии.
Вот-вот. Это сакральное знание, стоило мне одной меги, недели жизни и пары седых волос. 😃
Понял. Если разрешить в КП ставить не до -15, а до -5 градусов, то поможет как промежуточный вариант?
А, может быть, даже 0, пусть снижается до целевой в горизонтальном планировании, если кому-то надо?
То, что в режиме “сразу занимать целевую высоту” допустимый угол по тангажу надо сделать доступным до 0 - это совершенно точно.
Но все же, по поводу режима “лететь по прямой”: Режим очень хорош тем, что отлетая на большие расстояния от базы, при автовозврате, ты будешь уверен, что самолет будет идти на высоте, сопоставимой с высотой, с которой ты летел. А это значит, что видео картинка будет хорошей, связь устойчивой и на пути обратно самолет не столкнется с высоким наземным препятствием.
Но вот если АВ включится на низкой высоте и большом отдалении- то опасность столкновения очень большая.
Все таки хотелось бы, что бы в этом режиме самолет в первую очередь выходил на базовую высоту, если в момент включения АВ она была ниже.
Ну или иметь такую опцию, которую при желании можно включить или выключить.
Например, опция в автономном режиме: ВСЕГДА ЗАНИМАТЬ ЦЕЛЕВУЮ ВЫСОТУ, ЕСЛИ ВЫСОТА ПРИ ВКЛЮЧЕНИИ АВ НИЖЕ ЦЕЛЕВОЙ.
Страшный пушной зверь не спит:(. Сначала все выглядело как простой слет прошивки. Подключил комп, нажал кнопочки - КП отказывается шить АП. На АП горит один желтый диод, комп видит устройство АТ90USB128, КП пишет ошибка соединения, драйвер DFU не установлен, плата не подключена или неисправна. На экране - ожидание данных от ап. Нажимание кнопок не помогает, поставил флип и старую кп - тоже без толку. На другом компе пробовал- не помогает. Проц вроде живой - комп ведь видит его. Нужно искать внешний программатор?
Проц вроде живой - комп ведь видит его. Нужно искать внешний программатор?
Да. Похоже слетел загрузчик. Только внешний программатор поможет. Или замена Меги.
Если восстановите эту, попробуйте запитать обе платы от стабилизатора АП, как я описывал выше.
вторую убитую мегу удалось оживить с помощью внешнего тактового генератора и SPI программатора
Генератор тоже нужен? На какую частоту?
Генератор тоже нужен?
Вам пока не нужен. У меня слетели фьюзы и просто кварц уже не работал. А у Вас, коль как DFU устройство видно, значит кварц в порядке.
После подключения программатора, первым делом проверьте фьюзы, возможно загрузчик жив, просто ему заблокирован доступ.
Если придется перешивать загрузчик, он есть здесь: www.atmel.com/dyn/…/128X-usb-boot-1-0-1.zip
первым делом проверьте фьюзы
Как они должны быть установлены?
Как они должны быть установлены?
Я ставил дефолтные из даташита www.atmel.com/Images/doc7593.pdf (страница 359 и ниже). Только BODLEVEL в итоге поменял на 4.3 В.