Smalltim OSD and autopilot (часть 2)
Вообще, хочется узнать, привела установка 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 В.
У меня вопрос к разработчикам по поводу панели управления. Планируется ли введение кэширования гугловских данных для назначения ППМ при полете по точкам? Потому как далеко не всегда в местах полетов есть сотовая связь, а если и есть то не всегда того оператора чью симку используешь. Было бы неплохо один раз скачать карты нужного места и больше к этой теме не возвращаться. Опять же скорость, когда сигнал сотовиков колеблется от его отсутствия до очень хренового.
Планируется ли введение кэширования
Я уже задавал подобные вопросы. Ответ -нет. Лицензирование и всё такое…Можете поискать в этой ветке.
З.Ы. правда лазейка есть, никто не запрещает импортировать координаты из софта который кешировать умеет, но это отдельная песня (например мобильный яндекс, софт оффициальный и кеш у него есть).
Ответ -нет. Лицензирование и всё такое
www.openstreetmap.org/copyright
Вполне легально. Есть официальная тулза для выгрузки куска карты и встраивания куда либо. Я пробовал, все работает.
Сегодня убедился в опасности режима в автономном полете “лететь по прямой”.
На высоте 250 метров и отдалении 4км был включен АВ.
Самолет взял курс на базу с плавным снижением. Самолет летел по ветру на 1-2А.
Скорость 50-55км/ч. Дойдя до 100 метров снижение продолжилось вплоть до 15 метров, а до базы еще больше 1км.
Не стал дальше искушать судьбы и перешел на ручное.
Как я понял, произошло следующее:
Самолет приоритетно удерживал скорость, а так как летел по ветру, обороты сбавлял до 1-2А.
А набрать высоту, сами понимаете, на такой мощности невозможно.
Опасная недоработка алгоритма! Смаллтимовцы, примите меры. Видео будет чуть позже.
Самолет приоритетно удерживал скорость, а так как летел по ветру, обороты сбавлял до 1-2А.
По GPS? Баро разве нет? Если нет - режим удержания скорости ставить нельзя! Это не проблемма АП, а проблема пилота. 😃
По GPS? Баро разве нет? Если нет - режим удержания скорости ставить нельзя! Это не проблемма АП, а проблема пилота.
Баро конечно есть.
Баро конечно есть.
Тогда почему при полете по ветру упали обороты двигателя? Ведь бароскорость от ветра не зависит.
Какой режим контроля скорости стоял и на какую величину?