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

Dikoy

Зря Вы так, я же не с целью нажиться сделал это предложение. Просто вижу что варианты всё в одном тупиковые, они рано или поздно упрутся в то что нужно будет всё переделывать с ноля. В случае модульной системы шанс упереться в тупик стремится нолю.

Не совсем так. У нас самолёт, надо минимизировать плату. По этому я все возможные функции возлагаю на контроллер, и контроллер выбрал таким, который потянет всё. Программа у меня писана как Queue system, то бишь псевдо-ос. Любой желающий может пристыковать свой исходник к ядру, работающему с железом - там в центре буфер обмена 😉

Упереться в производительность чипа, или количество портов чипа и т.д.

Не упрётся. А если и упрётся - у AVR полная переносимость. За час перенесём хоть на ARM.

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

Громоздко… Есть набор датчиков, минимальный, который нужен самолёту для полёта. Откройте любой учебник по прлётам в облаках и посмотрите, чем пользуются пилоты. Эти приборы нам и нужны. Это высотомер, горизонт и датчик скорости. + устройство навигации, как опция.
Его и рализую. Интерфейс I2C, он позволяет вешать до 127 девайсов на два провода. Хотя, практически любой интерфейс AVR можно сделать сетевым, если надо.
Протокол да, надо обдумать. Но пока до него дело не дошло.

smalltim:

>Кольцо сделать земляное с РАЗРЫВОМ + 4 феррита по краям.

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

Электрический ток, он как вода. По плюсу зетекает, по минусу стекает. Вот разводка на плате должна быть такой, чтобы аналовые части были в самом конце плюсового провода, а их земли проходили либо через земли цифровых частей (и далее к источнику) либо отдельным проводником к источнику, от задачи зависит…
Вообще, обратным токам много чё посвящено. Ещё Маркони парился.
В интеренета материала много, где-то были у меня ссылки… Ща поищу.

>фербиды

Где почитать о них?
http://www.google.ru/search?sourceid=navcl…;q=ferrite+bead

Вот ссылки:
Хорошая статья:
rezonit.ru/pcb/support/articles/cad/03/
Про землю:
www.elart.narod.ru/articles/…/article1.htm
И в целом:
www.elart.narod.ru

maloii
Dikoy:

Последовательно с проводом питания, то есть +. Минус, оно же земля, трогать нельзя. Его надо привести к аккуму отдельным прводом.

Купил дросселя BLM41PG600SN1L. Как я понимаю я должен их подключить как показано на прикрепленном файле. И ещё вопрос, рекомендовали кондеи поставить на 1mF, их с каждого плюса на землю ставить?

smalltim

To Dikoy:

У меня USART целиком свободен, можно использовать для коммуникации с Вашей платой или напрямую с GPS модулем.
Сейчас занимаюсь причесыванием кода, чтобы больше места “про запас” оставалось. Там мнооого можно места под код освободить. Так что, думаю, реализовать связь и кучу всего дополнительного - не проблема.

maloii

To smalltim:
По центру снизу, что за данные показываются?

smalltim

>По центру снизу, что за данные показываются?
вариометр

Dikoy
maloii:

Купил дросселя BLM41PG600SN1L. Как я понимаю я должен их подключить как показано на прикрепленном файле. И ещё вопрос, рекомендовали кондеи поставить на 1mF, их с каждого плюса на землю ставить?

С обоих концов фербида до земли. Вместе с фербидом получится конструкция в форме буквы П - это и есть П-образный фильтр 😉
Кондеи надо ставить обязательно, без них фербид ничто. Номинал - чем больше, тем лучше. Но обязательно керамические или, на крайняк, танталовые. Никаких электролитических!!! Толку от них тут ноль.
1 мкФ маловато, я бы на 10 поставил. Сейчас керамика встречается и на 40 мкФ.

2smalltim
“Заботливые” AVR-овцы так распихали входы INT по лапам, что закрыли мне аппаратные UART и I2C 😦 Остался один SPI. Хотя, это мне кажется даже лучше - разъём программирования всё равно ставить, так почему бы не использовать его для связи? 😉

maloii

Позно вы с кондеями, я уже впоял последовательно и облетал 😃. Припоял последовательно как нарисовал в схеме, плюс сделал экран, обмотал всю плату фольгой от шоколадки и прижал конец к земле. Помехи пропали, улетал фиг знает куда, 300 метров над землёй и далеко. Хотя одна помешка проскочила, но я очень далеко от себя улетел. Поставлю ещё кондеи и чую вообще заживу 😁

smalltim

2 maloii:

поздравляю с решением проблем 😃

2 Dikoy:

SPI разъем у меня на плате с рождения впаян, так что договоримся 😉

smalltim

По-прежнему есть некоторое количество готовых печатных плат для телеметрии в варианте под SMD и PDIP чипы.
Отдаю бесплатно, то есть даром. Обращайтесь в личку.

smalltim

Ого… я что-то не так понимаю, или это GPS модули с частотой обновления 10Гц?

www.elway.ru/goods.php?id=227

www.elway.ru/goods.php?id=225

В мануалы еще не лез, поэтому задаю глупый вопрос: для связи с USART Атмеги нужно TTL или RS232 выбирать?

Vad64
smalltim:

Ого… я что-то не так понимаю, или это GPS модули с частотой обновления 10Гц?
для связи с USART Атмеги нужно TTL или RS232 выбирать?

Я использую модуль ЕМ-406. Его можно соединять с UART напрямую, если питание АТМеги 3В. При большем питании имеет смысл поставить резистивный делитель с выхода UART на вход ЕМ-406, чтобы уменьшить уровень сигнала до 2.5-3В.
Что касается частоты обновления, то, может, она внутри и 10Гц, но период выдачи данных нельзя задать меньше секунды, по крайней мере в режиме NMEA. С бинарным протоколом я особо не разбирался, но навскидку такой возможности также не вижу.

Кузнецов

Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.

hel_080414.zip

dmk

Привет всем,
Я в прошлом использовал датчики давления от Fujikura, а сейчас решил попробовать их в телеметрии. При включенном передатчика (Airwave 2.4GHz, 500mw) показания датчика значительно меняются в зависимости от расположения антенны (в радиусе 20-30см от датчика). А как себя ведут мотороловские? Никто на обращал внимания, чувствительны они к ВЧ?

smalltim
Vad64:

Я использую модуль ЕМ-406. Его можно соединять с UART напрямую, если питание АТМеги 3В. При большем питании имеет смысл поставить резистивный делитель с выхода UART на вход ЕМ-406, чтобы уменьшить уровень сигнала до 2.5-3В.
Что касается частоты обновления, то, может, она внутри и 10Гц, но период выдачи данных нельзя задать меньше секунды, по крайней мере в режиме NMEA. С бинарным протоколом я особо не разбирался, но навскидку такой возможности также не вижу.

Понял. Атмега у меня от 5В питается.
Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители? Было бы удобно питать модуль от линейного стабилизатора на плате телеметрии, но подозреваю, что модуль потребляет очень неровно, напряжение питание всей аналоговой части платы телеметрии поплывет. Так что придется питать его отдельно.

Сейчас почитал доки по протоколу NMEA, что-то подозрительно легко всё вырисовывается.

Что надо cделать:

  1. Общение с GPS-модулем по USART.
  2. Парсинг NMEA строк, перевод широты и долготы в 32-битные целые.
  3. Запоминание начальной позициии самика.
  4. Опрос GPS приемника, получение текущих координат и величины+направления вектора скорости относительно земли.
  5. Вычисление разности между начальными и текущими координатами, перевод градусов и секунд в метры. Думаю, прокатит прямой перевод разницы в градусах широты и долготы относительно начальной позиции в смещение по Х и Y с помощью тупого умножения на коэффициент. На тех дальностях, что летают наши самики, землю можно считать не сферой, а плоской.
  6. Перевод Х и Y смещения в значения величины и направления вектора “на точку старта”.
  7. Отображение трех чисел (удаление от точки старта по земле, текущая скорость относительно земли, высота по GPS)
  8. Отображение двух векторов (вектор на точку старта и вектов курса) в [псевдо]графике на поле 64х64 пиксела внизу по центру экрана, в виде чего-то похожего на стрелки часов. Чтоб не заморачиваться с тригонометрией, отображение можно сделать в “виде сверху” с фиксированной привязанной к Земле системой координат - север всегда сверху.

Очень надеюсь, что удастся всё это утоптать вместе с текущим кодом в Атмегу8. Текущий код далек от идеала в плане объема, так что есть вероятность, что получится.

Кузнецов:

Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.

Основательный подход 😃

А Pulse - это вход PPM?

Зачем на серворазъем подается VCC через резистор 4.7 Ом? Так Вы хотите питать приемник?
Почему именно импульсный питатель? Какая предполагается нагрузка?

Dikoy
Кузнецов:

Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.

А зачем такой громоздкий ИП?.. На такие токи полно ощутимо более интегрированых моделей. Например, TPS61130. За одно и 3 вольта для GPSки сгенерите 😉

smalltim:

Понял. Атмега у меня от 5В питается.
Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители? Было бы удобно питать модуль от линейного стабилизатора на плате телеметрии, но подозреваю, что модуль потребляет очень неровно, напряжение питание всей аналоговой части платы телеметрии поплывет. Так что придется питать его отдельно.

Сейчас почитал доки по протоколу NMEA, что-то подозрительно легко всё вырисовывается.

Что надо cделать:

  1. Общение с GPS-модулем по USART.
  2. Парсинг NMEA строк, перевод широты и долготы в 32-битные целые.
  3. Запоминание начальной позициии самика.
  4. Опрос GPS приемника, получение текущих координат и величины+направления вектора скорости относительно земли.
  5. Вычисление разности между начальными и текущими координатами, перевод градусов и секунд в метры. Думаю, прокатит прямой перевод разницы в градусах широты и долготы относительно начальной позиции в смещение по Х и Y с помощью тупого умножения на коэффициент. На тех дальностях, что летают наши самики, землю можно считать не сферой, а плоской.
  6. Перевод Х и Y смещения в значения величины и направления вектора “на точку старта”.
  7. Отображение трех чисел (удаление от точки старта по земле, текущая скорость относительно земли, высота по GPS)
  8. Отображение двух векторов (вектор на точку старта и вектов курса) в [псевдо]графике на поле 64х64 пиксела внизу по центру экрана, в виде чего-то похожего на стрелки часов. Чтоб не заморачиваться с тригонометрией, отображение можно сделать в “виде сверху” с фиксированной привязанной к Земле системой координат - север всегда сверху.

Очень надеюсь, что удастся всё это утоптать вместе с текущим кодом в Атмегу8. Текущий код далек от идеала в плане объема, так что есть вероятность, что получится.

Основательный подход 😃

А Pulse - это вход PPM?

Зачем на серворазъем подается VCC через резистор 4.7 Ом? Так Вы хотите питать приемник?
Почему именно импульсный питатель? Какая предполагается нагрузка?

Надо смотреть в доке, релевантен ли вход к повышеному напряжению. Иногда везёт.
Можно применить преобразователи уровня а-ля MAX3002 - очень удобные в обращении штуки.
Для связи по USART нужны TTL уровни. RS232 - это ± 12 вольт 😉
С приёмником не надо общаться. Если вы работаете по NMEA, достаточно в прерывании перехватывать строки и выгребать от туда данные. Этот код у меня уже написан, всё нет времени испытать чтобы потом выложить 😦
В мегу8 всё не влезет гарантиовано. Я беру 64-ку, чтобы закатать во флеш таблицу брадиса. Подсчёт тригонометрии тогда сводится к линейной аппроксимации и выполняется довольно шустро. Если всё считать так, у АВРки текут мозги 😃
Насчёт GPS широты/долготы. Тупо вереводим всё в минуты, причём убираем запятую нахь и работаем с целыми 32 битными числами минут. Опять же, получается быстре и проще. Геометрия 9 класса.

Вообще, я не в восторге от этого приёмника… Не думаю, что он лучше u-blox пятой серии, а по размеру и весу жирнее раз в 8. Вы в курсе сколько весит его керамическая антена? 😃 А что ей надо полигон земляной 75*75 мм под брюхом? 😃
Кстати, у блохи входы релевантны к 5 вольтам. Его можно непосредственно подцеплять.

Vad64
smalltim:

Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители?

Питание модуля ЕМ-406 4.5-6.5 Вольт, но уровни сигналов на разъеме 0-3В (выход по даташиту 0-2.85). Полагаю, там внутри есть стабилизатор на 3В. Делитель нужен только на 5В сигнал от Атмеги к модулю, если он (сигнал) будет использоваться. В принципе, он не обязателен - модуль сам выдает сообщения NMEA с заданным периодом.

smalltim

Гуру, пожалуйста, посоветуйте, какой GPS модуль стоит взять для телеметрии?
Критично чипсет, габариты, вес, отсутствие внешних антенн, подключение к USART Атмеги, возможность беспроблемно купить в Москве, цена желательно до 1500.

Заранее спасибо!

Dikoy
smalltim:

Гуру, пожалуйста, посоветуйте, какой GPS модуль стоит взять для телеметрии?
Критично чипсет, габариты, вес, отсутствие внешних антенн, подключение к USART Атмеги, возможность беспроблемно купить в Москве, цена желательно до 1500.

www.efo.ru/cgi-bin/go?2749

На крайняк, LEA-4H. Впрочем, я уже давал ссылки раньше.

deNick
Dikoy:

www.efo.ru/cgi-bin/go?2749

На крайняк, LEA-4H. Впрочем, я уже давал ссылки раньше.

Блин, супер. 1,5 на 1,5 см размер и цена в 45 баксов. Просто мечта.

Вариант, - исключить датчики давления нафик. Скорость и высоту можно прекрасно рассчитать и по GPS координатам. с зАвидной точностью. Сопсна, так буржуи и делают (ренджвидео-вский GPS OSD модуль, к примеру).

Итоговая цена будет меньше в 2 раза.

asen_ej
deNick:

Вариант, - исключить датчики давления нафик. Скорость и высоту можно прекрасно рассчитать и по GPS координатам. с зАвидной точностью.

Боюсь не прокатит. Сливал треки с SirfstarIII при перемещении по шоссе, когда он волок за собой 8-10 спутников, то есть в практически идеальных условиях. высота чаще всего отсчитывается точно НО иногда вдруг по каким-то причинам прыгает на несколько секунд, иногда сползает относительно грубо говоря карты нехило - метров на 150 вверх к примеру… может повлечь фатальную ошибку, барометрический высотомер все же стабильнее.

по координатам таких ошибок просто нет, ни разу не наблюдал, треки пишу и просматриваю постоянно уже больше года…

РД00
deNick:

Вариант, - исключить датчики давления нафик. Скорость и высоту можно прекрасно рассчитать и по GPS координатам.

Не думаю. Когда летаю на самолете 1:1, вешаю на иллюминатор Garmin ForeTrex. Очень прилично влияет запаздывание - Ту-154 отрывается от полосы (270 км/ч), когда на приборе 100…120 км/ч. Однажды отказался мерять высоту (видимо, поймал 3 спутника) и до 3000…4000 м считал, что мы катаемся по земле.