OSD на ATmega1281
Облетал сегодня наконец EagleWing с новой OSD … Ну вообщем теперь есть куча гиг видео для анализа проблем…
Супруга сразу соображала,- “ой… это похоже ты им рулишь”…😃
О, поздравляю! Ждемс отчета и новых прошивок. Похвалился про 80 баксов а тут все 100 и вообщем весь в закупках, дел не впроворот, полечу не скоро:P
Слегка поправил прошивку. Немного попаял- изменил всего лишь номиналы аудио-микшера. И залил плату несколькими слоями цапонлаком, типа законченное изделие… И началось… Стали рушиться данные в ОЗУ. То в видео буфере какие-то черточки лезут, то сбиваются калибровочные константы и начинает показывать левые данные с датчиков или перестает понимать PPM (самое страшное…), то портится стек и проц вылетает на перезагрузку… Иногда десятки минут все нормально, иногда и секунду не проработает… Никакой зависимости от чего и при каких обстоятельствах это происходит, не получилось определиться. Смыл цапонлак, и вроде бы (тьфу 3 раза) жизнь наладилась… Вспоминается, что где-то читал, что надо с осторожностью пользоваться цапонлаком для защиты платы. Вот и думаю, решил проблему и можно в полет, или еще где-то (в коде, железе?) живет хитрый жучек?..
Слегка поправил прошивку. Вот и думаю, решил проблему и можно в полет, или еще где-то (в коде, железе?) живет хитрый жучек?..
А ознакомиться с новой прошивкой как? Да и взглянуть на видеоматериал а то а то воюю с поставщиком ( вообще отпад детский сад что ли) а то прислали мне зарядник, отослал обратно а денюшки тю тю ужо около 100$ посмотрим как поведет себя, кинет не кинет. Вообще эта OSD выливается в копеечку но уже обратного хода нет, будем стараться.
Вспоминается, что где-то читал, что надо с осторожностью пользоваться цапонлаком
мож какя гадость, не сохнет и утечка от этого.
И залил плату несколькими слоями цапонлаком, типа законченное изделие…
Цапонлак зло.
Я пользую пластик: www.pribor.ru/p_mat/12.html#420 Создаёт надёжное покрытие, которое при желании можно вскрыть. Заливал им даже GPS антенны и всё работало.
Можно также пользовать уретан: www.pribor.ru/p_mat/12.html#421 Всё то же самое, только для ремонта плату уже не вскроешь - крепкий как эпоксидка.
Расходуются экономно. Мне баллона хватает на 10 комплектов автопилота. Для немногочисленных поделок пойдёт.
Это из того что можно купить в магазине хоть сейчас.
Можно также поискать советские лаки типа УР, когда-то купил 2-х литровую банку за бутыль 0,7 😃 Но это места надо знать… Зато на серии выйдет дешевле.
А цапонлак, он достаточно гигроскопичен. Как и канифоль кстати. Плюс сейчас в эти баночки что только не льют… Хлорное железо и то купить стало проблемой (нормальное).
Новости из лаборатории…
- Изменение RTH. В старой прошивке самолет возвращался строго на точку старта. Задавалось мин. расстояние до базы. Если меньше, не менялся целевой курс. Практически это выглядело- пролет над головой, затем, “одумавшись”, разворот и опять пролет над головой. Эффектно выглядит, но, по сути, бестолково… Сделал так- точкой возврата считается место, где самолет оказался первый раз после старта отлетев на X (40м) от точки старта. АП в режиме RTH ведет его не на эту точку, а на касательную к окружности вокруг этой точки с радиусом R (25м). Т.о. самолет должен встать на круг ожидания перед пилотом с направления, определенным вектором старта.
- В прошлом сезоне демонстрирую друзьям работу RTH, всегда получал вопрос- “А когда батарейки кончатся- он сам сядит?”. Приходилось признаваться- увы… Он будет до последнего пытаться удержать целевую высоту и, конечно, в итоге свалится… С решенным первым пунктом было сделано, что при срабатывании отсечки самолет продолжает кружить переходя в режим планирования, те совершая некоторое подобие круговой глиссады со сбросом высоты. Уменьшив высоту до X(8м), убирается целевой крен и тангаж в ноль (фаза выдерживания), ну и должен получиться относительно безопасный плюх… Для проверки этого режима, сделал его принудительное включение с громким названием- “Landing”.
- Ну уж коль появился “Landing”, грех было не добавить “Takeoff”… Тут уж все просто - газ на полную, целевой крен в ноль, тангаж ограничить. Выход автоматом в RTH по достижении некоторого удаления или целевой высоты.
Вести с полей.
20.05.11 проверил эту байду в поле… Масса положительный эмоций, несмотря на то, что все работало далеко не идеально… Самое неприятное- все-таки остался какой-то косяк в железе, после приземления (вероятно от толчка) иногда проц сходил с ума. Глюки с перезагрузкой и порчей ОЗУ, о которых уже писал, одно время стали регулярны (на цапонлак зря грешил) и надеялся что решил их, пропаяв все ответственные ножки проца (земли, питания, генератор). Многочасовые испытания и вибростенд в виде стукающей отвертки прошел успешно. Но увы… Где-то, скорее всего коварная микротрещина или микросопля остались… Прямо хоть новую плату делай…
Но зато как шикарно работает стабилизация!.. Убрал пока совсем D-ветвь с ПИДов крена и тангажа, уменьшил длину фильтра усреднения сенсоров пироголовы и самолет полетел как по рельсам… Есть небольшое перерегулирование, но совершенно не напрягает. Для кружения RTH выбрал слишком маленький радиус и вменяемого кружения не получилось, некоторое подобие… Но всяко лучше бестолквого болтания над головой. Уверовав в свой RTH, отложил пульт, и стал плясать под задорную музыку из авто со своими домочадцами, слегка ошарашив их - “Папа, а как же самолет???”. -"Да пусть сам немного полетает… ". Конечно это выглядело более эффектно, чем мои крики с перекошенным от напряжения лицом и вцепившись в стики пульта- “Смотрите! Я им не управляю! Он сам летит!”. Хотя… трезвый танцующий папа… уже это могло вызвать шок… 😃
C takeoff проблем никаких, взлетает, переключатся в RTH, бумерангом возвращается…
А вот с “landing” получилось забавная история. Пару раз удачно сел, хоть и набрав приличную скорость на глиссаде, пролетал на выдерживании метров 100. Если курс на выдерживании совсем не устраивал, врубал RTH, который почти с земли легко и непринужденно его опять поднимал на круг. А один раз включил этот режим, и увидив что самолет перешел к выдерживанию, бросил пульт и заранее побежал за самолетом… Пробежав метров 100, понял что самолет пролетел плоскую часть поляны и оказался над склоном холма продолжает планировать… Бежать назад- но с базы уже его не видно за перегибом холма… Бегу вниз… А он все летит и летит… Метров 500 уже от базы, даже мне еле видно… И вот долетел до самого низа и вот-вот сядит… Но вдруг вижу что у него резко меняется курс, через секунду слышу взревевший мотор (звук и вправду медленнее света). И самолет лихо развернувшись уверенно набирая высоту прет в мою сторону… Лихорадочно пытаюсь понять кто из нас- самолет или я, сошел с ума… вспомнился Франкенштейн… Но ничего не поделаешь, побежал назад, к базе… (видео- бегущий человек на 2:12 ) Конечно самолет обогнал и уже кружил над базой, когда я там оказался. Пытаюсь включить режим стабилизации… неслушает… ручной… все равно летает… Догадываюсь глянуть на экран ноута и все понимаю… Самолет, опустившись за гребнем холма, потерял сигнал с пульта и включил RTH по этому единственному условию… (На экране RTH при этом мигает) На а для отключения этого режима необходимо с пульта обязательно включить принудительно RTH…
За последние пролеты на видео заранее прошу прощения, больше так не буду… Уж очень хотелось эффектные кадры с земли получить. Ну и к традиционно низкому качеству моего видео уже все привыкли, похоже еще и уровень видеосигнала накрутил завышенный…
Круто! Так я понимаю глюка в софте нет? Как насчет свежайшей прошивки? А то мой бой за FMA вступает в завершающую фазу на следующей неделе, 120$ как с куста. Чтоб не пропало даром.😁
Считается что программ без ошибок не бывает, поэтому ничего гарантировать не могу… Кроме как поделиться глюками последней прошивки на момент, когда они будут Вами востребованы… 😃 Да и по любому у Вас будет один из самых стабильных АП (судя по темам форума) - copilot…
Глюк, который с разной периодичностью вылезает, не похож однозначно ни на хардовый ни на софтовый… Ну не получается специально создать условия, что бы его воспроизвести… Сегодня долго и методично стучал самолетом об пол… Работает все, зараза… А в пятницу четко через несколько сек после двух посадок (~ из десяти) начинал глючить…
Правда нашел только что, если коснуться рукой корпуса кварца (пока не заземлен) и любой шины с меандром- однозначно все виснет… Может тут собака порылась…
ЗЫ Выйду на недельку из инет-пространства, не теряйте… 😃
… Может тут собака порылась…
Собака она того, она может;)
ЗЫ Выйду на недельку из инет-пространства, не теряйте… 😃
Посмотрим, с платкой заминка, но на 0.5 мм и не утюгом, увидим как она себя будет вести.
Глюки с перезагрузкой и порчей ОЗУ, о которых уже писал, одно время стали регулярны (на цапонлак зря грешил)
Попробуйте перепаять кварц и его конденсаторы. SMD детали, по науке, перед пайкой надо прогревать, плавно, потому при пайке редко, но бывает - лопаются. Глюк исключительно тяжело диагностируется, потому проще просто перепаять. Кварцы тоже, бывают, стрясаются.
Но обычно подобное бывает от влаги. Я осенью такое проходил. Причём тот АП на момент возникновения глюка летал уже почти 3 года. Просто вот так погода совпала… Вылечилось промывкой в керосине и заливкой пластиком.
Конденсаторы в первую очередь поменял… После заземления корпуса кварца, вроде бы все стало нормально… (даже боюсь этим делиться, который раз думаю- ну кажется победил!..)
Крайние полетушки оказались зеркальными к предыдущим… До последнего пытался понять (с обновленной прошивкой), что пытается делать RTH, жестко пару раз приложил самолет к GND… Чуть вообще не улетел в неведомые дали… Только сегодня нашел принципиальную ошибку, оказывается от перемены мест уменьшаемого и вычитаемого- разность меняется… 😃 Но остается главный вопрос - как организовать устойчивый полет по кругу вокруг заданной точки с заданным радиусом (малым) по GPS данным с учетом, что эти данные по положению запаздывают… и не всегда с определенной постоянной времени…
До последнего пытался понять (с обновленной прошивкой), что пытается делать RTH, жестко пару раз приложил самолет к GND… Чуть вообще не улетел в неведомые дали…
Бог в помощь. Платки скоро соберу, заинтересован в свежайшей прошивке.😒
Но остается главный вопрос - как организовать устойчивый полет по кругу вокруг заданной точки с заданным радиусом (малым) по GPS данным с учетом, что эти данные по положению запаздывают… и не всегда с определенной постоянной времени…
Боюсь что ответ на сей вопрос - использовать иные датчики …
Отсматривая покадрово видео, показалось, что проблема не столько в точности определения положения по GPS и даже не в задержке этих данных (она более-менее постоянная), а в плохой отработке самолетом постоянной и быстрой смены курса… Он с большой задержкой начинает гнаться за его измением, входит в перерегулирование, и опять по кругу… Для не быстрой смены курса при подлете издалека по RTH или быстрой но нечастой смены в режиме стабилизации курса, все вполне прилично… А когда по кругу пытается лететь, ПИДу курс->крен приходится несладко от неоднозначной задержки реакции крен->курс и жутких нелинейностях. Да еще и мой самолет далеко не прост в управлении, вручную с ним еле справляюсь. Ну подумаю еще…
а не пробовали свой пилот к симулятору подключать ( типа X-Plane )? Может там прощще коэффициенты подобрать?
как организовать устойчивый полет по кругу вокруг заданной точки с заданным радиусом (малым) по GPS данным с учетом, что эти данные по положению запаздывают… и не всегда с определенной постоянной времени…
Время маркируется в строчках NMEA. Причём именно тем моментом, когда данные были получены.
Можно для начала прошить в ЖПС профиль “самолёт”, если он поддерживает смену профиля. Отработка высот и курсов станет намного лучше. А далее -прогноз. По нескольким последним точкам ЖПС. Такая имитация калмана. Но из-за ветра, если его не учитывать, всё равно будут овалы.
а не пробовали свой пилот к симулятору подключать ( типа X-Plane )?
Да, было бы здорово. Но не уверен (не разбирался), что в симуляторах есть возможность получать обратную связь о положении модели (координаты), крен, тангаж итп. Пока использую свой примитивный “симулятор” (там используется непосредственно Си-шный код прошивки, визуализация в окошке OSD, реализуется зависимость с задержкой и огрублением элероны->крен, крен-курс итп…), больше для того, что бы в принципе проверять работоспособность алгоритма/кода. Ошибку в cообщении #370, допустил именно от того, что пренебрег тщательной проверкой на этом “симуляторе”. Реальных коэффициентов там не найдешь, но забавно наблюдать общие тенденции зависимости поведения “модели” от тех или иных параметров.
Можно для начала прошить в ЖПС профиль “самолёт”, если он поддерживает смену профиля.
Не видел для MC1513 такой возможности.
А далее -прогноз. По нескольким последним точкам ЖПС. Такая имитация калмана.
Д-ветвь регулятора курс->крен по сути и есть прогноз. Мне виделся в подсознании некоторый алгоритм, в основе удержание постоянного крена. Сразу получаем достаточно плавные круги. Но как это грамотно связать с целевым радиусом поворота, а тем более с сохранением центра- пока не придумал…
Еще такая мысль не дает покоя… Можно записать все параметры полета в лог, даже в ручном упралении. Потом на ПК натравить на этот лог некую программу, которая сможет построить переходные характеристики заданных параметров, выполнит идентификацию объектов управления и пр. умные вещи, выдаст в итоге рекомендуемые коэффициенты с заданным запасом устойчивости. Благо вычислительные ресурсы и время на выработку решения будут неограниченны… Спецы по ТАУ, отзовитесь! Может есть подобный софт для формальных решений подобных задач?
ЗЫ Сегодня приехал на поле, пока разворачивал наземку, настраивал самолет, началась гроза и проливной дождь… Зато все привез домой целым и невредимым… 😃
To msv
Тут наверное св.диод наоборот? Или я чего непонял.😵
Да, конечно… очепятка…
Да, конечно… очепятка…
Я бы вам рекомендовал такой преобразователь уровня: www.analog.com/static/…/ADG3304.pdf Двусторонний, быстрый, надёжный.
Можно записать все параметры полета в лог, даже в ручном упралении. Потом на ПК натравить на этот лог некую программу, которая сможет построить переходные характеристики заданных параметров, выполнит идентификацию объектов управления и пр. умные вещи, выдаст в итоге рекомендуемые коэффициенты с заданным запасом устойчивости.
Не так всё просто…
Мы составляем 3D модель планера (рисовать месяц), потом продуваем его в солиде (двухядерный пенёк пыхтит почти трое суток) и получаем передаточные характеристики ТОЛЬКО планера. Ещё нужна ПХ для сервы, электроники и тд. И вот когда всё это есть, тогда в маткаде можно довольно легко посчитать коэффициенты.
Это старая методика, описана ещё в книгах Боднера.
Для себя сделал вывод,ч то проще в поле провести день и подобрать эти коэфициенты 😉
Сразу скажу, что я полный ноль этой области… Более того, о существовании ТАУ узнал в этом проекте… 😃 И все же…
Не так всё просто…
Это если идти путем прямого мат. моделирования объекта. У меня же более реальная идея- синтез формальной модели объекта с пассивной идентификацией. Хотя бы (для начала 😃) модели первого порядка с транспортной задержкой. Под объектом можно представить сразу весь контур регулирования - например черный ящик, на который подается PWM для элеронных серв, а на выходе получается некоторый крен. Поэтому в этом объекте сразу будут учтены и ПХ сервы и аэродинамика самолета итп… Понятно, что модель эта жутко нелинейная, но для начала можно получить усредненные параметры на основании относительно длительного наблюдения (скажем перелопатив лог 30-мин. полета) . Ну а стоит войти во вкус, глядишь и до адаптивного фильтра можно дорасти, отдельно идентифицировав например модель элероны-крен для разного тангажа и др. параметров полета… ( ну это так, помечтать…)
Для себя сделал вывод,ч то проще в поле провести день и подобрать эти коэфициенты
Хотелось бы хоть знать, хоть от каких порядков отталкиваться. Например прошлый самолет оценил Зиглером/Никольсом, и потом только маленько поправил коэффициенты, увеличив запас устойчивости. А вот текущий самолетина, категорически не переносит диф-составляющую для крена, сразу появляется недопустимое перерегулирование/раскачка… Объяснить это пока не могу.
ЗЫ интересно, как сделаны регуляторы в продаваемых народных системах стабилизации, где все настраивается одной крутилкой…
У меня же более реальная идея
Ваша идея выполнима только в идеально равномерной среде, увы. Я пробовал писать эти параметры - получается. Но мы не учитываем влияние ветра и т.п. То же скольжение влияет на динамику, а пирометры скольжение не покажут никак. Ибо крен, это ещё не скольжение.
Объяснить это пока не могу.
Инертная масса. Помню, весы мы делали, автомобильные. И были у нас гири на тонну, которые мы тельфером на весы клали. Дык они потом ещё минут 10 качались, хотя весы на тензодатчике и упругих элементов не имеют.