Телеметрия (часть 1)

foxfly
Dikoy:

Круто. Зависимость напряжения от угла крена имеется?

Не было цели снимать эту зависимость: “диссер” я написал 20 лет назад 😁
А вот нужда иметь возможность настраивать систему , не прыгая по крышам- была.
Что я т сделал 😒

Dikoy

Интересно, как Вы собирались комплексировать показания магнитометра и пирометра, не имея статической характеристики?

smalltim

Вчера погулял с пиродатчиками на природе. Снег, солнышко, ясный день. Чудесно всё работает. И почему-то не сильно шарахается от приближения-удаления человека, то есть, меня, на метр-два. Видимо, разница в приходящем от земли и неба ИК была настолько велика, что я уже не являлся серьезной помехой.

Dikoy, Вы можете посмотреть или по опыту сказать, какая грубо приблизительно температура ясного неба зимой в -10, по показаниям Ваших пирометров?
Это я к чему: не пришлось бы, блин, чувствительность принудительно снижать. А то у меня в вышенаписанных условиях размах на выходе с пироголов уже сейчас, зимой, в -10 градусов, 50% от всего диапазона 0…5В, а что будет летом?..

Панкратов_Сергей

Если интересно - то вот этот www.hobbycity.com/hobbycity/…/uh_viewItem.asp?idPr… при -8 и ясной погоде температуру неба показывает Lo
( т.е температура ниже -33 град.)
Причем это показание возникает при положении градусов пять выше горизонтального. При горизонтальном -28 град.

PigTail

У меня Офновский сейчас на ясном небе кажет порядка -38 С, максимум -40.6 С, если чуть дымка сразу уползает до -28 С где то.

Dikoy
smalltim:

А то у меня в вышенаписанных условиях размах на выходе с пироголов уже сейчас, зимой, в -10 градусов, 50% от всего диапазона 0…5В, а что будет летом?..

Думаю, всё ОК будет. У меня есть несколько замеров в разные времена года, дельта в ясный день около 35 градусов в любое время года. И осенью, в +5, и зимой в -10. Видимо, зимой воздух суше, за счёт этого небосвод холоднее (вчера он аж -46 показал, что пока рекорд). Это компенсирует холодную землю.

Dikoy

Гы!
Сегодня летал на автомате 😃
Какой же хороший самолёт кута! В снег сажать одно удовольствие! Взрыв пуха в момент касания и закрученый винтом вихрь сзади, а потом равномерное замедление.
В целом 2 полёта прошли успешно - самолёт держится ровно. Один полёт был нечто - толи автопилот глюканул, толи ветер был на высоте, но самоль так колбасило в воздухе, что я с горем пополам только смог спустить его на ~7 метров и выключить двигатель, после чего он грохнулся в снег. Жив. Только нос немного помят. Бум лечить 😃
Вечером попробую выложить видео.
Осознал, что хочу на борту камеру. Скорее бы изикаб приплыл 😦

Dikoy

На ужатом видео не видно нихрена… 😦

belkinnn

Всем боброго времени суток,кто мне поможет есть камера DF-335CT а как подключить не знаю провода потерены,на камере голый разъем?

smalltim

Чтобы отладить управляющие ПД - циклы для крена-тангажа, замоделировал физику самика на компутере, упрощенно, конечно:

  1. Скорость относительно воздуха - постоянна, т.е. эффективность управляющих плоскостей - постоянна.
  2. Момент инерции и эффективность управляющих плоскостей самика - некий объединенный коэффициент Х (о нем позже), на который хитро домножается синус угла отклонения сервы для получения угловой скорости:
    curspeed=curspeed*(1-inertialfactor)+sin(currentservoposition)*inertialfactor;
  3. Скорость поворота серв - стандартная, 500 градусов/сек
  4. Максимальные углы отклонения плоскостей - разные варианты, от +/-30 до +/- 60 градусов.
  5. Дискретность выхода РРМ на сервы загрублена до 6 разрядов (опять же, заведомо ухудшенные условия)

В итоге, варьируя Х (имея Торик и Изик я беру их угловые скорости на бочках и петлях как крайние значения “резвости” самика, и расширяю этот интервал вверх и вниз, до 2 порядков, т.е., грубо говоря, от 0.1 до 0.001, ставя алгоритм в замедомо ухудшенные условия), я подобрал оптимальные коэффициенты ПД контроллера, дающие:

  1. минимум вылета за целевое значение углов тангажа/крена (до 50% на самых “тормозных” самиках и 0 на самых “шустрых”),
  2. от 1.5 до 5 секунд на приведение самика из любого положения в горизонталь (зависит от резвости самика. очевидно)
  3. Иммунитет алгоритма к шуму в определении углов тангажа/крена (с пирометров). Иммунитет означает отсутствие раскачки самика. Ошибка ориентирования, конечно, есть, и она примерно пропорциональна уровню шума. Шум специально никак не фильтруется.
  4. Адекватный ответ на единичную функцию (отсутствие вылета больше 50%, отсутствие дрожания серв, приемлемое время стабилизации, отсутствие ошибки после стабилизации в новом положениии)
  5. Адекватный ответ на меандр со случайной величиной “полок”.
  6. Адекватный ответ на процесс со случайными приращениями (дерганая кривая, медленно ползущая куда придется)
  7. Иммунитет (в разумной степени) к задержкам в определении ориентации самика, т.е. показания пирометров можно фильтровать почти как угодно.

В общем, правильно настроенный ПД контроллер - жесть.

Что планируется:

  1. пользовательские настройки коэффициентов ПД - нафик. Для каждого конкретного самика заманчиво подобрать свои коэффициенты ПД, например, можно “шустрые” самики из любого положения выводить в горизонталь за секунду, но при этих настройках “медленные” самики будут очень долго приходить к целевой ориентации. Наоборот, медленные самики можно за 3 секунды привести к нужной ориентации, но шустрые на этих настройках будут переруливаться и появится дрожь в сервах или даже раскачка самика.
    Прикольно, что средние настройки в большинстве случаев обеспечивают привод самика средней резвости к нужной ориентации, скажем, по крену, всего двумя взмахами сервы: первый, резкий, закручивает самик, придавая угловую скорость, второй более слабый но продолжительный взмах в противоположную сторону останавливает самик в нужном положении.
    Так вот, к пользовательским настройкам ПД контроллера. Отменяется. Слишком легко ввести что-нибудь левое и потерять нафиг самик.
  2. Независимые ПД контроллеры по каналам крена, тангажа, газа.
  3. Высота контролируется отдельным ПД контроллером, меняющим по ситуации целевое значение тангажа. Т. е. изменение высоты выглядит так: хотим подняться повыше - задаем тангаж +10 скажем градусов (выставляется пользователем) и понеслась. Т.е. в этом случае 2 ПД каскадом.
  4. Курс контролируется отдельным ПД контроллером, меняющим по ситуации целевое значение крена. Т. е. изменение курса выглядит так: для поворота налево задаем левый крен на 45 градусов (задается пользователем) и понеслась. В этом случае тоже 2 ПД каскадом. Примечательно, что работающий независимо канал тангажа, увидев неизбежный клевок носом самика при повороте, приподнимет РВ, еще сильнее заворачивая самик. И получается красивый такой разворот без потери высоты.
  5. Набор управляющих плоскостей и миксеры задаются пользователем (элероны+РВ+РН, РВ+РН, элевоны/V-хвост)

Как-то вот так.

Следующим шагом замоделирую полет самика из произвольного положения к базе в условиях случайных тычков и затрещин и отработку каскадов ПД. Как докажет работоспособность - копирую код в атмегу.

Brandvik

Ну прямо уже не терпится собрать и отправить его слетать к эйфелевой… это где-то 5 км по прямой 😒

Dikoy
smalltim:

В общем, правильно настроенный ПД контроллер - жесть.

Ага 😃
А оставил ПД только по крену/тангажу. Газ и направление, как показала практика, проще регулировать тупо дискретно. У меня эффективность руля направления очень низкая, даже несмотря на то, что он напротив винта стоит. Разворот одним рулём направления составляет около 70 метров радиус 😦 Какой тут ПД нафиг…
Кстати, экспериментировал тут. Оказывается, если тупо связать угол без фильтрации (только ФСС, без поправок) с положением серв в соотношении 1/2, то всё работает не хуже ПД 😃 Попробуйте отмоделировать такую ситуацию, с учётом характеристики пирометра, что я присылал. Раскачка есть, но довольно быстро удаляется. ИМХО в копилоте именно так и сделано. Время вычислений по крену/тангажу == 400 мкС при 8 МГц.

Brandvik

Может я забегаю далеко вперед…

  1. Набор управляющих плоскостей и миксеры задаются пользователем (элероны+РВ+РН, РВ+РН, элевоны/V-хвост)

Как на счет задания крайних точек для серв? И в режиме стабилизации, микс элероны-флапы(тормоза), тоесть поймет ли контролеер такую комбинацию из двух серв сигналов на них?

smalltim

>Как на счет задания крайних точек для серв?
Задается.

smalltim

>микс элероны-флапы(тормоза), тоесть поймет ли контролеер такую комбинацию из двух серв сигналов на них

Канал элеронов один, т.е. если есть 2 сервы и режим флаперонов, придется использовать всяческие Y-кабели и микшеры, а канал элеронов пропускать через автопилот. На борту автопилота будет только микшер для V-tail или элевонов настраиваемый с компука.

Dikoy

smalltim, вы б не могли ещё раз выложить картинки схемы и платы автопилота? Старые вложения убились.
У меня тут непонятка с USB, хотелось бы сравнить… Оно же уже работает в железе, как я понимаю (USB часть)?

smalltim

Да, конечно, в железе работает. Картинки выложить не могу (аттачи так и не вылечены), но схема совпадает с "Figure 21-3. Typical Bus powered application with 5V I/O" из даташита

Dikoy

А питание чипа внешнее 5 вольт?
Меня удивляет отсутствие диода между VBUS и всем остальным. Одновременно подключать плату от внешнего источника и USB не приходилось? Кею это не страшно, например. Т.к. у него диодная развязка источника питания.
Да и отсутствие диодов по дата-линиям смущает. В кее они есть, да и во всех остальных девайсах, что я видел, диоды ставят. Почему их упустили в ДШ я не знаю…
Странно, короче. Кей очень избыточно напичкан защитами, но и неубиваем (проверяли не раз). А по ДШ защиты не нужны вообще. Странное различие между двумя документами одного производителя.

UID как и рекомендуется в ДШ, просто висит в воздухе?

Brandvik

Канал элеронов один, т.е. если есть 2 сервы и режим флаперонов, придется использовать всяческие Y-кабели

Очень-очень жаль 😦 и даже не из за тормозов.