Телеметрия (часть 1)
Гы!
Сегодня летал на автомате 😃
Какой же хороший самолёт кута! В снег сажать одно удовольствие! Взрыв пуха в момент касания и закрученый винтом вихрь сзади, а потом равномерное замедление.
В целом 2 полёта прошли успешно - самолёт держится ровно. Один полёт был нечто - толи автопилот глюканул, толи ветер был на высоте, но самоль так колбасило в воздухе, что я с горем пополам только смог спустить его на ~7 метров и выключить двигатель, после чего он грохнулся в снег. Жив. Только нос немного помят. Бум лечить 😃
Вечером попробую выложить видео.
Осознал, что хочу на борту камеру. Скорее бы изикаб приплыл 😦
На ужатом видео не видно нихрена… 😦
Коллеги! Подскажите как ведут себя цыфровые серво с FMA Direct?
Строю такой самолет.
www.rcgroups.com/forums/showthread.php?t=744088
Не могли бы завсегдатаи ветки высказать своё мнение в этой теме? rcopen.com/forum/f20/topic132415
Всем боброго времени суток,кто мне поможет есть камера DF-335CT а как подключить не знаю провода потерены,на камере голый разъем?
Чтобы отладить управляющие ПД - циклы для крена-тангажа, замоделировал физику самика на компутере, упрощенно, конечно:
- Скорость относительно воздуха - постоянна, т.е. эффективность управляющих плоскостей - постоянна.
- Момент инерции и эффективность управляющих плоскостей самика - некий объединенный коэффициент Х (о нем позже), на который хитро домножается синус угла отклонения сервы для получения угловой скорости:
curspeed=curspeed*(1-inertialfactor)+sin(currentservoposition)*inertialfactor; - Скорость поворота серв - стандартная, 500 градусов/сек
- Максимальные углы отклонения плоскостей - разные варианты, от +/-30 до +/- 60 градусов.
- Дискретность выхода РРМ на сервы загрублена до 6 разрядов (опять же, заведомо ухудшенные условия)
В итоге, варьируя Х (имея Торик и Изик я беру их угловые скорости на бочках и петлях как крайние значения “резвости” самика, и расширяю этот интервал вверх и вниз, до 2 порядков, т.е., грубо говоря, от 0.1 до 0.001, ставя алгоритм в замедомо ухудшенные условия), я подобрал оптимальные коэффициенты ПД контроллера, дающие:
- минимум вылета за целевое значение углов тангажа/крена (до 50% на самых “тормозных” самиках и 0 на самых “шустрых”),
- от 1.5 до 5 секунд на приведение самика из любого положения в горизонталь (зависит от резвости самика. очевидно)
- Иммунитет алгоритма к шуму в определении углов тангажа/крена (с пирометров). Иммунитет означает отсутствие раскачки самика. Ошибка ориентирования, конечно, есть, и она примерно пропорциональна уровню шума. Шум специально никак не фильтруется.
- Адекватный ответ на единичную функцию (отсутствие вылета больше 50%, отсутствие дрожания серв, приемлемое время стабилизации, отсутствие ошибки после стабилизации в новом положениии)
- Адекватный ответ на меандр со случайной величиной “полок”.
- Адекватный ответ на процесс со случайными приращениями (дерганая кривая, медленно ползущая куда придется)
- Иммунитет (в разумной степени) к задержкам в определении ориентации самика, т.е. показания пирометров можно фильтровать почти как угодно.
В общем, правильно настроенный ПД контроллер - жесть.
Что планируется:
- пользовательские настройки коэффициентов ПД - нафик. Для каждого конкретного самика заманчиво подобрать свои коэффициенты ПД, например, можно “шустрые” самики из любого положения выводить в горизонталь за секунду, но при этих настройках “медленные” самики будут очень долго приходить к целевой ориентации. Наоборот, медленные самики можно за 3 секунды привести к нужной ориентации, но шустрые на этих настройках будут переруливаться и появится дрожь в сервах или даже раскачка самика.
Прикольно, что средние настройки в большинстве случаев обеспечивают привод самика средней резвости к нужной ориентации, скажем, по крену, всего двумя взмахами сервы: первый, резкий, закручивает самик, придавая угловую скорость, второй более слабый но продолжительный взмах в противоположную сторону останавливает самик в нужном положении.
Так вот, к пользовательским настройкам ПД контроллера. Отменяется. Слишком легко ввести что-нибудь левое и потерять нафиг самик. - Независимые ПД контроллеры по каналам крена, тангажа, газа.
- Высота контролируется отдельным ПД контроллером, меняющим по ситуации целевое значение тангажа. Т. е. изменение высоты выглядит так: хотим подняться повыше - задаем тангаж +10 скажем градусов (выставляется пользователем) и понеслась. Т.е. в этом случае 2 ПД каскадом.
- Курс контролируется отдельным ПД контроллером, меняющим по ситуации целевое значение крена. Т. е. изменение курса выглядит так: для поворота налево задаем левый крен на 45 градусов (задается пользователем) и понеслась. В этом случае тоже 2 ПД каскадом. Примечательно, что работающий независимо канал тангажа, увидев неизбежный клевок носом самика при повороте, приподнимет РВ, еще сильнее заворачивая самик. И получается красивый такой разворот без потери высоты.
- Набор управляющих плоскостей и миксеры задаются пользователем (элероны+РВ+РН, РВ+РН, элевоны/V-хвост)
Как-то вот так.
Следующим шагом замоделирую полет самика из произвольного положения к базе в условиях случайных тычков и затрещин и отработку каскадов ПД. Как докажет работоспособность - копирую код в атмегу.
Ну прямо уже не терпится собрать и отправить его слетать к эйфелевой… это где-то 5 км по прямой 😒
В общем, правильно настроенный ПД контроллер - жесть.
Ага 😃
А оставил ПД только по крену/тангажу. Газ и направление, как показала практика, проще регулировать тупо дискретно. У меня эффективность руля направления очень низкая, даже несмотря на то, что он напротив винта стоит. Разворот одним рулём направления составляет около 70 метров радиус 😦 Какой тут ПД нафиг…
Кстати, экспериментировал тут. Оказывается, если тупо связать угол без фильтрации (только ФСС, без поправок) с положением серв в соотношении 1/2, то всё работает не хуже ПД 😃 Попробуйте отмоделировать такую ситуацию, с учётом характеристики пирометра, что я присылал. Раскачка есть, но довольно быстро удаляется. ИМХО в копилоте именно так и сделано. Время вычислений по крену/тангажу == 400 мкС при 8 МГц.
Может я забегаю далеко вперед…
- Набор управляющих плоскостей и миксеры задаются пользователем (элероны+РВ+РН, РВ+РН, элевоны/V-хвост)
Как на счет задания крайних точек для серв? И в режиме стабилизации, микс элероны-флапы(тормоза), тоесть поймет ли контролеер такую комбинацию из двух серв сигналов на них?
>Как на счет задания крайних точек для серв?
Задается.
>микс элероны-флапы(тормоза), тоесть поймет ли контролеер такую комбинацию из двух серв сигналов на них
Канал элеронов один, т.е. если есть 2 сервы и режим флаперонов, придется использовать всяческие Y-кабели и микшеры, а канал элеронов пропускать через автопилот. На борту автопилота будет только микшер для V-tail или элевонов настраиваемый с компука.
smalltim, вы б не могли ещё раз выложить картинки схемы и платы автопилота? Старые вложения убились.
У меня тут непонятка с USB, хотелось бы сравнить… Оно же уже работает в железе, как я понимаю (USB часть)?
Да, конечно, в железе работает. Картинки выложить не могу (аттачи так и не вылечены), но схема совпадает с "Figure 21-3. Typical Bus powered application with 5V I/O" из даташита
А питание чипа внешнее 5 вольт?
Меня удивляет отсутствие диода между VBUS и всем остальным. Одновременно подключать плату от внешнего источника и USB не приходилось? Кею это не страшно, например. Т.к. у него диодная развязка источника питания.
Да и отсутствие диодов по дата-линиям смущает. В кее они есть, да и во всех остальных девайсах, что я видел, диоды ставят. Почему их упустили в ДШ я не знаю…
Странно, короче. Кей очень избыточно напичкан защитами, но и неубиваем (проверяли не раз). А по ДШ защиты не нужны вообще. Странное различие между двумя документами одного производителя.
UID как и рекомендуется в ДШ, просто висит в воздухе?
Канал элеронов один, т.е. если есть 2 сервы и режим флаперонов, придется использовать всяческие Y-кабели
Очень-очень жаль 😦 и даже не из за тормозов.
Коллеги! Подскажите как ведут себя цыфровые серво с FMA Direct?
Строю такой самолет.
www.rcgroups.com/forums/showthread.php?t=744088
А где взяли чертёж ?
Можно выложить ?
2smalltim. Всёж, если не сложно, скиньте картинки мне в мейл. Уж больно много различий в апнотах атмела…
Купил GSM модуль, поигрался. Работает отлично, sms шлет на ура, с инетом соединяется и стабильно работает. Вот теперь думою какое ему применение можно применить кроме как в случае файл сейфа слать смс. У кого какие есть идеи?
с инетом соединяется и стабильно работает
а для чего он соединяется с инетом то…
и кде такая штука продаётся 😮
>2smalltim. Всёж, если не сложно, скиньте картинки мне в мейл. Уж больно много различий в апнотах атмела…
Вот схема подключения к USB: smalltim.ru/i/schem_usb.JPG
Никакой самодеятельности, кроме Шоттки на входе - чтоб не питать компуковый питатель USB от автопилотного стабилизатора 😃
Насчет неубиваемости - не знаю. Что-то левое в разъем miniUSB засунуть трудно, а статикой мне убить автопилот пока не удалось, хоть и таскаю плату плату в рюкзаке или в кармане каждый день.
Автопилот потихоньку продвигается, кстати. Сегодня добил диалог установок включения-выключения автопилота и мигающих циферок (alarm) на телеметрической картинке (болванка диалога - вторая картинка smalltim.ru/autopilot/screenshots/), слив всего этого в плату автопилота и обратно на компук, ну и, разумеется, сохранение в набортном флеше. Использования EEPROMa, по-прежнему, успешно избегаю 😉
Заодно обнаружился интересный глюк штатного бутлодера. Если после обновления прошивки пнуть бутлодер, чтоб отресетил Мегу из DFU в обычный режим, Мега грузится в непонятно каком полуобморочном состоянии и стирает флеш, но не целиком, а как-то выборочно. Как это бутлодеру удается, не знаю. Ограничился отключением пинков бутлодера и выводом на экран просьбы отключить-подключить питание или нажать кнопочку ресета автопилота.
Кстати, то, чего так долго добивались коммунисты, грядет: поскольку символьное содержимое картинки для платы телеметрии будет формироваться на плате автопилота, через компук можно будет самостоятельно набросать раскладку циферок, стрелочек и прочих рюшечек на экране телеметрии. Ну и сдвиги для кривых очков можно будет настроить.
Всё как у взрослых людей 😃
А бедная плата телеметрии с прошивкой “под автопилот” станет тупым придатком: только сбор данных с каналов АЦП и собственно отрисовка на экране.