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

Brandvik

Ничего, я подожду новую схему. А кондеры я куплю в магазине. Я заказал только основные элементы которые в магазине стоят в 3 раза дороже, в основном датчики давления. Я так понимаю новая схема будет отличаться от старой более помехо защищенной разводкой и разьемом подключения GPS модуля. Кстати, модули с частотой обновления 5гц будут совместимы?

smalltim

>Я так понимаю новая схема будет отличаться от старой более помехо защищенной разводкой и разьемом подключения GPS модуля.
Ну в целом да. Еще точка для подключения PPM сигнала с приемника.

>Кстати, модули с частотой обновления 5гц будут совместимы?
Не проверялось за неимением таких модулей, но если этот 5 Гц модуль поставить на 4800 8/N/1, то должен работать. В коде нет никаких отсылок к частоте прихода строк с GPS приемника. Ну а вычислительных ресурсов на 5 Гц гарантированно хватит.

ReGet

Ждал сегодня весь вечер пока ветер стихнет, дабы протестить новую версию телеметрии с GPS… ветер стал только сильнее, но в 22:00 я собрался и поехал летать.
Ветер на берегу залива неприятно бил в лицо, но на удивление сам полет прошел на отлично. На высоте >200 метров никаких порывов ветра не было, планировал отлично, налетал в итоге 25 минут.
Телеметрия - супер, благодаря ей знаю, что улетал на расстояние 700 метров от себя и высота при этом была 650 метров над землей.

Несколько мыслей по теме:

  • не очень удобен указатель базы. Хочется, чтоб стрелка самолета стояла всегда прямо по курсу, а база ездила вокруг. При этом где юг, а где север знать в общем-то и не обязательно
  • знать скорость относительно земли (по GPS) и относительно воздуха одновременно оказалось достаточно полезно при полете в сильный ветер. Летел навстречу ветру и знал - относительно воздуха скорость 40 кмч, а относительно земли всего 10. Тут же прикинул скорость ветра и свои дальнейшие перспективы 😃
  • в тоже время высота барометрическая и по GPS практически одинакова, смысла смотреть на обе нет. На 50 метрах показания идентичны, на 600 метрах барометрический показывает на 30 меньше, чем GPS
  • планер во время полета удалялся от меня на расстояние около километра. Видео-линк на таком расстоянии начинает изредка выдавать помехи, что не очень приятно и заставляло сразу же возвращаться в сторону базы. Видел запись с передатчика rangevideo, улетавшего на 15 км без помех, задумался по поводу его покупки
  • управление Hitec 35 Мгц на этом удалении высоко в небе чувствовало себя очень уверенно. Но при посадке пришлось далеко лететь в 10 метрах от земли, и на удалении всего около 400 метров управление начало ловить помехи, которые в итоге и “посадили” планер 😁 Вывод - не летайте низко и далеко 😃

Вроде все мысли что были по теме изложил

smalltim

>- не очень удобен указатель базы. Хочется, чтоб стрелка самолета стояла всегда прямо по курсу, а база ездила вокруг. При этом где юг, а где север знать в общем-то и не обязательно

Категорически не согласен.

  1. Варианты с восемью положениями стрелочки размером в одно знакоместо, как у буржуев, я могу реализовать как дополнительную феньку на экране, но не хочу. Убого.
  2. Представьте такую ситуацию. Самик швыряет ветром или просто начинается сильный боковой или встречный ветер. Текущий вектор скорости становится нифига не таким, куда смотрит камера и куда, судя по субъективным ощущениям, по идее, должен лететь самолет. При этом позиция базы проворачивается в сторону и показанное “довернуть 30 градусов влево, чтоб лететь на базу” уже нифига не соответствует действительности. Так куда лететь-то?
    В то же время вектор на базу, высчитанный из действительного местоположения самика и базы, не меняется в зависимости от ветра и прочих неожиданностей.
    Всего-то надо - сесть на стульчик носом к северу и пару раз полетать-привыкнуть. Привязаться к местности: вышка - на юге, лесок - на западе, и т.д.
    Тада всегда будет ясно, где самик в действительности находится.

>- знать скорость относительно земли (по GPS) и относительно воздуха одновременно оказалось достаточно полезно при полете в сильный ветер. Летел навстречу ветру и знал - относительно воздуха скорость 40 кмч, а относительно земли всего 10. Тут же прикинул скорость ветра и свои дальнейшие перспективы 😃

А то! 😃

>- в тоже время высота барометрическая и по GPS практически одинакова, смысла смотреть на обе нет. На 50 метрах показания идентичны, на 600 метрах барометрический показывает на 30 меньше, чем GPS

Я посмотрю, какая погрешность высоты по моей формуле (это прямая реализация барометрической формулы), 30 метров на 600 метрах, или 5% ошибки - многовато.

Смысл смотреть на обе высоты всё-таки есть. Если GPS приемник сваливается в 2D режим (помехи какие-нибудь, полет над гладью воды - Dikoy говорит, могут быть глюки, перевернутый полет, бочка там, мало ли что…), то высоту всегда можно увидеть по показаниям барометрического датчика.

>- планер во время полета удалялся от меня на расстояние около километра. Видео-линк на таком расстоянии начинает изредка выдавать помехи, что не очень приятно и заставляло сразу же возвращаться в сторону базы. Видел запись с передатчика rangevideo, улетавшего на 15 км без помех, задумался по поводу его покупки

Километр - это очень круто для меня 😃 Я пока дальше чем метров 500 по горизонтали и 600 в высоту не улетал 😃

>Вроде все мысли что были по теме изложил

Спасибо! Хороший отзыв - лучшая мотивация к продолжению работы 😃
Блин, смелый Вы человек! 22:00, над заливом, в ветер 30 км/ч… Но это, конечно, планер, а не мой тихоходный Изик 😃

smalltim

Нарисовалась схема:

В блог выложил архив с картинкой и файлом схемы в Eagle 5.0, а то форум может до 800х600 утоптать и ничего не булет видно 😦
https://rcopen.com/…;showentry=4983

Никаких там откровений нет, но если есть время, поругайте/похвалите, пожалуйста.

Dikoy

Насчёт капациторов на 0,1 мкФ. Совсем не обязательно привязываться к этому номиналу. Такая традиция пошла со стародавних времён, когда это был максимальный номинал для керамического конденсатора. Сейчас можно свободно купить конденсаторы и на 22 мкФ в этом типоразмере (только напряжение будет 6,3В, но нам это пофиг - www.smd.ru/katalog/ip7/index.khtml ). А конденсатор фильтра, он чем больше, тем лучше 😉 Главное, чтобы он был керамическим. Все другие типы практически не работают на ВЧ. Диэлектрик можно выбирать любой, X5R-X7R и даже Y5V. Для ответственных кондёров (которые у кварца и т.п.) лучше брать NPO диэлектрик.
Единственное, если конденсатор не тупо подключён к земле-питанию, а к чему-то (например, ко входу AREF МК) и его заряд идёт через некие цепи, надо подумать, а не убьётся ли эта цепь, когда кондёр всосёт в себя заряд в момент включения 😉 Броски тока в эти моменты могут достигать ампер, но на единицы мкС.

Первое, что увидел в схеме.

  1. Почему вход AREF без кондёра? Он там должен быть в любому случае, по дш рекомендуют 0,1. Ставить его нужно обязательно при любом источнике опоры.
  2. Резисторы делителя АЦП слишком малы, говорили уже об этом.
  3. Группы кондёров на 0,1 можно заменить на один, но бОльшего номинала.
  4. 7805 лучше заменить на LDO стабилизатор. Попробую подобрать аналог вечером (сейчас некогда). Просто 7805 очень много энергии тратит впустую, да и падение на ней 3 вольта минимум… Впрочем, эти потери всё равно несравнимы с током потребления серв и мотора.
    Кстати, очень рекомендую пользоваться L7805 от ST. Их исполнение наиболее качественное, что видно по схеме в ДШ и характеристикам.
  5. Конденсаторы фильтра по входам АЦП надо ставить именно по входам 😉 То есть от средней точки делителя на резисторах к земле. Или параллельно “нижнему” резистору, другими словами. Ставить их параллельно батерее безсмысленно. Только устраивать “мостики” для ВЧ помех между батареями 😉

В общем, всё…

ReGet
smalltim:

Представьте такую ситуацию. Самик швыряет ветром или просто начинается сильный боковой или встречный ветер. Текущий вектор скорости становится нифига не таким, куда смотрит камера и куда, судя по субъективным ощущениям, по идее, должен лететь самолет. При этом позиция базы проворачивается в сторону и показанное “довернуть 30 градусов влево, чтоб лететь на базу” уже нифига не соответствует действительности.

Почему же, учитывая, что самолет летит боком из-за ветра, как раз на столько и нужно будет довернуть.

smalltim:

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

Не очень понял почему не меняется, в случае с ветром выходит все тоже самое. Стрелка будет показывать, что самолет летит не туда, куда на самом деле и база будет точно также не 30 градусов левее, чем нужно.

smalltim:

Смысл смотреть на обе высоты всё-таки есть. Если GPS приемник сваливается в 2D режим (помехи какие-нибудь, полет над гладью воды - Dikoy говорит, могут быть глюки, перевернутый полет, бочка там, мало ли что…), то высоту всегда можно увидеть по показаниям барометрического датчика.

А в каких случаях высоту нельзя увидеть по барометрическому датчику?

smalltim:

Километр - это очень круто для меня 😃 Я пока дальше чем метров 500 по горизонтали и 600 в высоту не улетал 😃

Значит самолет при этом удалялся от передатчика примерно на 800 метров, не далеко от километра 😃
Ваш видео-линк при этом выдавал помехи, хотя бы иногда?

smalltim

>Не очень понял почему не меняется, в случае с ветром выходит все тоже самое. Стрелка будет показывать, что самолет летит не туда, куда на самом деле и база будет точно также не 30 градусов левее, чем нужно.

Сейчас у Вас позиция базы на миникарте зависит только от расположения самика. Будет зависеть и от расположения и от курса. Это надо?

>А в каких случаях высоту нельзя увидеть по барометрическому датчику?

Ну не знаю, гроза там, резкая смена погоды, ядерная война 😃

>Значит самолет при этом удалялся от передатчика примерно на 800 метров, не далеко от километра 😃
Ваш видео-линк при этом выдавал помехи, хотя бы иногда?

Выдавал, когда летел высоко прямо над базой - штырек-то на самолете вертикально стоит, а у этого штырька по оси минимум излучения. На удалении особо не помню помех, разве что когда самик разворачивался и база опять в оси онтенны оказывалась.

>Насчёт капациторов на 0,1 мкФ. Совсем не обязательно привязываться к этому номиналу. Такая традиция пошла со стародавних времён, когда это был максимальный номинал для керамического конденсатора.

В современных доках тоже пишут про 0.1, но при этом в центре “звезды” питания надо ставить танталовые с большей емкостью.

>1. Почему вход AREF без кондёра? Он там должен быть в любому случае, по дш рекомендуют 0,1. Ставить его нужно обязательно при любом источнике опоры.

А что-то я не увидел в доках, куда и какой кондер вешать на Aref, когда используется внутренний референс вольтаж 5В AVCC. Не подскажете?

>2. Резисторы делителя АЦП слишком малы, говорили уже об этом.

Можно поправить. Но, вообще, токи получаются около 1мА, 2 мА и 3мА по трем входам, соответственно. Это много?
И еще,
The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or
less. If such a source is used, the sampling time will be negligible. If a source with higher impedance
is used, the sampling time will depend on how long time the source needs to charge the
S/H capacitor, with can vary widely. The user is recommended to only use low impedant sources
with slowly varying signals, since this minimizes the required charge transfer to the S/H
capacitor.

>3. Группы кондёров на 0,1 можно заменить на один, но бОльшего номинала.

В Инфинеоновской доке, которой я руководствуюсь (AP24026, EMC Design Guidelines for Microcontroller Board Layout) эффективность подавления ВЧ помех при 3х или 4х по 0.1 мкФ сильно выше (на ~20dBuV), чем у одного на 1, 10 или 22мкФ.

>4. 7805 лучше заменить на LDO стабилизатор. Попробую подобрать аналог вечером (сейчас некогда). Просто 7805 очень много энергии тратит впустую, да и падение на ней 3 вольта минимум… Впрочем, эти потери всё равно несравнимы с током потребления серв и мотора.
Кстати, очень рекомендую пользоваться L7805 от ST. Их исполнение наиболее качественное, что видно по схеме в ДШ и характеристикам.

А вот это, чесслово, пофигу. Ну какие там токи? 100мА вместе с тем. что жрет GPS модуль? Какие там потери? Ну, упадет на 7805 от 4 до 7.6 вольт в зависимость от заряда батареи, хоть он LDO, хоть он обычный рабоче-крестьянский. Будет на нем в виде тепла 0.4…0.8 ватт выделяться. Да и хрен с ним. Или нет?
Ставить импульсник? И опять по новой бороться с помехами?

>5. Конденсаторы фильтра по входам АЦП надо ставить именно по входам То есть от средней точки делителя на резисторах к земле. Или параллельно “нижнему” резистору, другими словами. Ставить их параллельно батерее безсмысленно. Только устраивать “мостики” для ВЧ помех между батареями

Ок, сейчас поправлю.

Brandvik

Помоему, куда бы не был направлен нос самолета, да хоть задом лети, если смотреть на стрелку которая вращается или кружок которые передвигается, то всеравно направление будет показываться правильно, если самолет движется к базе. так что смотреть надо на стрелку или кружочек и совмещать его с направлением на базу. Я вроде разобрался в принципе вывода. Но все же, если бы стрелка стояла на месте а кружок база двигался вокруг нее было бы нагляднее. А компас как таковой в принципе и не нужен. Кому надо знать в какую часть света он лети? Просто лишний наворот. Так что рамку можно оставить а буквы S,N убрать. Ну а если уж хочется лишний наворот в виде компаса то сделать его сверху в иде полосы как на осд от ранж видео rangevideo.com/docs/OSD.pdf где шаг в цифровом виде будет 1градус.
Ну, это мои такие мысли. Посмотрим что скажут другие.

smalltim

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

Первое, что приходит в голову - датчик тока на ходовую батарею. Его надо делать, естественно, не на плате телеметрии, а выносным.
Что еще?

ReGet
smalltim:

Сейчас у Вас позиция базы на миникарте зависит только от расположения самика. Будет зависеть и от расположения и от курса. Это надо?

Конечно, мне интересно знать где база относительно вида из самолета, а относительно севера/юга не интересно, т.к. по этой информации я сходу ничего определить не могу. Думаю, что я не один такой и, если это не затруднительно, нужно сделать вариант с указателем на базу/двигающейся вокруг самолета базой.

Кстати, свободно еще два канала АЦП. Пока не утрясли схему и я не начал разводить плату, можно набрать пожеланий на эти два канала.

Датчик тока ходовой батареии с подсчетом израсходованых мА - было бы очень хорошо.

Кстати, раз переделываете плату, почему заодно не хотите перейти на новый МК, атмега168, например? Раз делается новая плата по уму и на долго, то почему бы не иметь в запасе в 2 раза больше памяти и заодно 20 МГц, кто знает какие идеи родятся через неделю/месяц. Как мне извесно, чипы полностью совместимы 😃

Brandvik

Ага, с новым процем можно будет замахнуться на великого нашего Вильема Автопилота по принципу подруливания как у того же ОСД от ранжа 😉

ReGet

Вот пара скринов со вчерашнего видео

Солнце почти село

Посадка при боковом ветре, реальное направление полета - вдоль линии берега и даже правее (см. курс по GPS)

Ну и заодно конкурс - угадай место 😁

Artie
smalltim:

>Не очень понял почему не меняется, в случае с ветром выходит все тоже самое. Стрелка будет показывать, что самолет летит не туда, куда на самом деле и база будет точно также не 30 градусов левее, чем нужно.

Сейчас у Вас позиция базы на миникарте зависит только от расположения самика. Будет зависеть и от расположения и от курса. Это надо?

Надо, надо.
Без этого приходится изображать из себя не только пилота, но и штурмана, а это - лишний напряг.
… Я ведь сразу советовал так сделать, но благородный дон отказался. 😉

Могу поделиться готовым кодом (asm) отрисовки 36 (sic !) пеленгов на “картушке” 3х3. Требует 13 символов знакогенератора на каждый значок (у меня их два - “база” и “север”. В случае совпадения, первый, как более значимый, перекрывает второй; - может и не так красиво, зато более функционально).

А вот это, чесслово, пофигу. Ну какие там токи? 100мА вместе с тем. что жрет GPS модуль? Какие там потери? Ну, упадет на 7805 от 4 до 7.6 вольт в зависимость от заряда батареи, хоть он LDO, хоть он обычный рабоче-крестьянский. Будет на нем в виде тепла 0.4…0.8 ватт выделяться. Да и хрен с ним. Или нет?

“Или нет”. 😎
Здесь дело не столько в потерях, идущих в тепло (бо они будут одинаковыми), сколько в минимальном напряжении на входе, при котором стабилизатор еще будет чего-то стабилизировать.
У меня, например, аппарат летает от двухбаночной полимерки, так что под конец полета напряжение на ней падает существенно ниже 7В. Соответственно, “обычный” 7805 при этом просаживал и выходное напряжение, а LDO (Low DropOut) регулятор кормит “мозги” до отсечки двигателя…

Brandvik

А почему база сзади? вы ее перелетели на посадке? Я так понимаю при направлении на базу кружок должен быть перед стрелкой?

ReGet
Brandvik:

А почему база сзади? вы ее перелетели на посадке? Я так понимаю при направлении на базу кружок должен быть перед стрелкой?

Перелетел, причем почти на пол километра, а аккумулятора на второй заход уже не было

smalltim

Reget, а что с показаниями скорости по барометрическому датчику, почеу нули?
И где расстояние до базы? Оно должно выводиться справа от миникарты.
Широта и долгота не выводятся - Вы тестовую прошивку взяли?

Про атмега 168 - сейчас вот изучаю. Отличий на самом деле много, названия регистров, разводка как минимум. Не хочется в отлаженный код заново лезть.
Потом, руления сервами в этом чипе абсолютно точно не будет, просто попытка уложить в один кристалл все эти увязанные на время процессы - PPM, вывод на экран, GPS, опрос АЦП - уже потребовало поизвращаться, а если еще и сервами рулить в каком-то фоновом относительно вывода на экран режиме - это будет мегаизвращение.
Будет отдельная плата со своим кодом, своими датчиками горизонта, рулением сервами, и т.д. Связанная с первой платой и с GPS. Ну, если у меня еще терпения хватит этим заниматься.

Про карту - ну, если все подряд хотят направление на базу стрелкой относительно текущего курса, тогда ок, убедили. Лично для себя я оставлю текущий вариант 😃
Всего-то надо взять DX, DY по земле, высчитать, что больше, высчитать, в каком октанте находимся, и прогнать через таблицу арктангенсов.
Получить азимут на базу. Вычесть из направления текущего курса.
Скорее всего, даже меньше кода, чем сейчас получится.
24 положений стрелки, как сейчас, хватит?
Блин, а если у вас вертолет? Или самик во встречном ветре завис над землей и скорость относительно земли нулевая, а значит, с GPS вместо направления курса приходит хаотический песец? Как будете определять, куда лететь и где ваще самик относительно базы? Да, согласен, сейчас не очень привычно, но информативнее и надежнее!

Про LDO - убедили. Про две банки в батарее я как-то даже и не подумал, сам летаю на 3 банках всегда. Если есть LDO с цоколевкой как у 7805, я и менять собственно ничего не буду. Хотите - ставьте LDO 😃

Про датчики тока и миллиампер-часы - вывел входы ADC6 и ADC7 наружу, там посмотрим, что можно будет к ним прилепить. Ну и заодно подправил схему в соответствии с комментами:

Brandvik

Я вот не пойму в чем спор о картах и базах? Я предлагаю зафиксировать стрелку и перемещать базу(кружочек) вокруг нее. Нагладно видно с какой стороны база и куда поворачивать. Вы ведь в кабине, вам негогда отвлекаться, глянул быстро, ага база справа от курса, поворот вправо, пока курс не укажет на базу. Неужели так не проще? + сэкономите пару строк кода избавившись от лишних манипуляций по вращению стрелки. В случае ветра доворачиваете на базу по курсору и все. Зачем вращать стрелку компаса и плюс вокруг нее базу? Что бы вы не вращали получите приведение к ветру если предположить что вы не видите земли (тоесть нет ориентиров ктоме как ОСД) траектория полета будет следующей извиняйте за халтуру 😃
О пока писал уже ответ дали.

Блин, а если у вас вертолет? Или самик во встречном ветре завис над землей и скорость относительно земли нулевая, а значит, с GPS вместо направления курса приходит хаотический песец? Как будете определять, куда лететь и где ваще самик относительно базы? Да, согласен, сейчас не очень привычно, но информативнее и надежнее!

Ага, я кажется вник в сокральную мысль. Но это скорее всего для вертолетов больше подойдет, а зависнуть против ветра, так в такой ветер лучше вообще далеко и незнакомых местах не летать.

Artie

Кстати, Тимофею на заметку:

Это - один из вариантов платы нашего “основоположника” - товарища Шеререра.
Предлагаю взять на вооружение его вариант размещения разъемов: Г-образных, в два ряда, а если места нехватает - то и в две стороны… Ну и вся прочая компоновка у него тоже ничего.

… А вот дублирование групп контактов для программирования я рекомендую не повторять (если Вы таки послушаетесь стариков 😒 и заложите место под второй кристалл). Лучше вывести общую шину SPI с “разорванным” SCK: через один разъем можно будет шить оба кристалла (программатором имени Саши Редчука - прямо сразу, а всеми прочими - через хвостик-переходничок с одним переключателем). - Так и место экономится, и отладка ускоряется.

smalltim

Честное слово, мне пофигу, что изображать. Хотите относительно текущего курса - пожалуйста. Сделаем, куда деваться.

>Без этого приходится изображать из себя не только пилота, но и штурмана, а это - лишний напряг.
>… Я ведь сразу советовал так сделать, но благородный дон отказался.

Я изначально делал телеметрию для себя, не для продажи или зарабатывания денег, и позволяю себе делать так, как в первую очередь мне удобно. Но это не значит, что я не слушаю того, что мне говорят.
Но некоторые этого не понимают. Солнцеликий гуру фоксфлай, например, вообще считает выше своего достоинства со мной, сопливым, разговаривать, зато с удовольствием считает количество граблей, на которые я наступаю. Ну, тоже позиция, ничем не хуже моей. Кстати, пользуясь случаем, хочу передать привет.

>Неужели так не проще? + сэкономите пару строк кода избавившись от лишних манипуляций по вращению стрелки.

Вы будете смеяться, но нет, так не проще 😃

>Кстати, Тимофею на заметку

Конечно, я это изучил и облизнулся.
Пока к разводке не приступил, но в целом всё будет близко к тому, что делает Шеререр. Только кристалл будет на плате таки один. Второй кристалл - на второй плате.

Artie
smalltim:

Ну и заодно подправил схему в соответствии с комментами:

Тогда уж дорисуйте сразу делители на оставшиеся входы АЦП (строго такие же, как от батареи).
Номиналы резисторов сейчас неважны (множно написать “0” и “DNP”), но какие-то ставить все равно придется, - так пусть для них будет место на плате…