Телеметрия (часть 1)
Зря Вы так, я же не с целью нажиться сделал это предложение.
К сожалению я не разделяю Вашего оптимизма. Конечно, Вашу тягу к знаниям- можно только приветствовать! Но, занимаясь разработкой и производством электроники более 30 лет (и именно с целью “наживы”- то есть живу за счет этого) могу сказать: ни одно устройство (достаточно сложное, конечно: новогодние гирлянды в расчет- не берем 😃) ни разу еще к окончанию разработки- внедрения- не имело того вида, который планировался изначально! Хотя с головой и с руками у меня- все в порядке.
Просто электроника- довольно неформальная наука с множеством интуитивных моментов, особенно это касается разработки.
А тут главное- опыт, опыт и опыт…И с этим то у молодых- главная проблема.
А спросить- не у кого 😦
Что можно сказать??
Это означает только, что отсутствовало ТЗ и ПОНИМАНИЕ, или как вариант, никакой Вы , к сожалению, не профессионал.
Всегда, если есть ТЗ - даже макетные образцы сдаются заказчику.
Тоже вариант … нет заказчика… нет ТЗ, есть мысля… вперед… впереддд… какое-нибудь НИИ академическое, например, когда бабки государственные, и когда ВООБЩЕ ничего и никогда не работает…только ДЫШИТ.
По существу есть что ??
Зря Вы так, я же не с целью нажиться сделал это предложение. Просто вижу что варианты всё в одном тупиковые, они рано или поздно упрутся в то что нужно будет всё переделывать с ноля. В случае модульной системы шанс упереться в тупик стремится нолю.
Не совсем так. У нас самолёт, надо минимизировать плату. По этому я все возможные функции возлагаю на контроллер, и контроллер выбрал таким, который потянет всё. Программа у меня писана как Queue system, то бишь псевдо-ос. Любой желающий может пристыковать свой исходник к ядру, работающему с железом - там в центре буфер обмена 😉
Упереться в производительность чипа, или количество портов чипа и т.д.
Не упрётся. А если и упрётся - у AVR полная переносимость. За час перенесём хоть на ARM.
А если исходить от некого ядра к которому можно подсоединять различные датчики которые будут с этим ядром общаться по некому протоколу то получиться действительно масштабируемый девайс. И править функционал ядра и датчиков можно будет независимо и не задумываясь что версии прошивок разные, потому как протокол общения останется прежним.
Громоздко… Есть набор датчиков, минимальный, который нужен самолёту для полёта. Откройте любой учебник по прлётам в облаках и посмотрите, чем пользуются пилоты. Эти приборы нам и нужны. Это высотомер, горизонт и датчик скорости. + устройство навигации, как опция.
Его и рализую. Интерфейс I2C, он позволяет вешать до 127 девайсов на два провода. Хотя, практически любой интерфейс AVR можно сделать сетевым, если надо.
Протокол да, надо обдумать. Но пока до него дело не дошло.
>Кольцо сделать земляное с РАЗРЫВОМ + 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
Последовательно с проводом питания, то есть +. Минус, оно же земля, трогать нельзя. Его надо привести к аккуму отдельным прводом.
Купил дросселя BLM41PG600SN1L. Как я понимаю я должен их подключить как показано на прикрепленном файле. И ещё вопрос, рекомендовали кондеи поставить на 1mF, их с каждого плюса на землю ставить?
To Dikoy:
У меня USART целиком свободен, можно использовать для коммуникации с Вашей платой или напрямую с GPS модулем.
Сейчас занимаюсь причесыванием кода, чтобы больше места “про запас” оставалось. Там мнооого можно места под код освободить. Так что, думаю, реализовать связь и кучу всего дополнительного - не проблема.
To smalltim:
По центру снизу, что за данные показываются?
>По центру снизу, что за данные показываются?
вариометр
Купил дросселя BLM41PG600SN1L. Как я понимаю я должен их подключить как показано на прикрепленном файле. И ещё вопрос, рекомендовали кондеи поставить на 1mF, их с каждого плюса на землю ставить?
С обоих концов фербида до земли. Вместе с фербидом получится конструкция в форме буквы П - это и есть П-образный фильтр 😉
Кондеи надо ставить обязательно, без них фербид ничто. Номинал - чем больше, тем лучше. Но обязательно керамические или, на крайняк, танталовые. Никаких электролитических!!! Толку от них тут ноль.
1 мкФ маловато, я бы на 10 поставил. Сейчас керамика встречается и на 40 мкФ.
2smalltim
“Заботливые” AVR-овцы так распихали входы INT по лапам, что закрыли мне аппаратные UART и I2C 😦 Остался один SPI. Хотя, это мне кажется даже лучше - разъём программирования всё равно ставить, так почему бы не использовать его для связи? 😉
Позно вы с кондеями, я уже впоял последовательно и облетал 😃. Припоял последовательно как нарисовал в схеме, плюс сделал экран, обмотал всю плату фольгой от шоколадки и прижал конец к земле. Помехи пропали, улетал фиг знает куда, 300 метров над землёй и далеко. Хотя одна помешка проскочила, но я очень далеко от себя улетел. Поставлю ещё кондеи и чую вообще заживу 😁
2 maloii:
поздравляю с решением проблем 😃
2 Dikoy:
SPI разъем у меня на плате с рождения впаян, так что договоримся 😉
По-прежнему есть некоторое количество готовых печатных плат для телеметрии в варианте под SMD и PDIP чипы.
Отдаю бесплатно, то есть даром. Обращайтесь в личку.
Ого… я что-то не так понимаю, или это GPS модули с частотой обновления 10Гц?
В мануалы еще не лез, поэтому задаю глупый вопрос: для связи с USART Атмеги нужно TTL или RS232 выбирать?
Ого… я что-то не так понимаю, или это GPS модули с частотой обновления 10Гц?
для связи с USART Атмеги нужно TTL или RS232 выбирать?
Я использую модуль ЕМ-406. Его можно соединять с UART напрямую, если питание АТМеги 3В. При большем питании имеет смысл поставить резистивный делитель с выхода UART на вход ЕМ-406, чтобы уменьшить уровень сигнала до 2.5-3В.
Что касается частоты обновления, то, может, она внутри и 10Гц, но период выдачи данных нельзя задать меньше секунды, по крайней мере в режиме NMEA. С бинарным протоколом я особо не разбирался, но навскидку такой возможности также не вижу.
Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.
Привет всем,
Я в прошлом использовал датчики давления от Fujikura, а сейчас решил попробовать их в телеметрии. При включенном передатчика (Airwave 2.4GHz, 500mw) показания датчика значительно меняются в зависимости от расположения антенны (в радиусе 20-30см от датчика). А как себя ведут мотороловские? Никто на обращал внимания, чувствительны они к ВЧ?
Я использую модуль ЕМ-406. Его можно соединять с UART напрямую, если питание АТМеги 3В. При большем питании имеет смысл поставить резистивный делитель с выхода UART на вход ЕМ-406, чтобы уменьшить уровень сигнала до 2.5-3В.
Что касается частоты обновления, то, может, она внутри и 10Гц, но период выдачи данных нельзя задать меньше секунды, по крайней мере в режиме NMEA. С бинарным протоколом я особо не разбирался, но навскидку такой возможности также не вижу.
Понял. Атмега у меня от 5В питается.
Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители? Было бы удобно питать модуль от линейного стабилизатора на плате телеметрии, но подозреваю, что модуль потребляет очень неровно, напряжение питание всей аналоговой части платы телеметрии поплывет. Так что придется питать его отдельно.
Сейчас почитал доки по протоколу NMEA, что-то подозрительно легко всё вырисовывается.
Что надо cделать:
- Общение с GPS-модулем по USART.
- Парсинг NMEA строк, перевод широты и долготы в 32-битные целые.
- Запоминание начальной позициии самика.
- Опрос GPS приемника, получение текущих координат и величины+направления вектора скорости относительно земли.
- Вычисление разности между начальными и текущими координатами, перевод градусов и секунд в метры. Думаю, прокатит прямой перевод разницы в градусах широты и долготы относительно начальной позиции в смещение по Х и Y с помощью тупого умножения на коэффициент. На тех дальностях, что летают наши самики, землю можно считать не сферой, а плоской.
- Перевод Х и Y смещения в значения величины и направления вектора “на точку старта”.
- Отображение трех чисел (удаление от точки старта по земле, текущая скорость относительно земли, высота по GPS)
- Отображение двух векторов (вектор на точку старта и вектов курса) в [псевдо]графике на поле 64х64 пиксела внизу по центру экрана, в виде чего-то похожего на стрелки часов. Чтоб не заморачиваться с тригонометрией, отображение можно сделать в “виде сверху” с фиксированной привязанной к Земле системой координат - север всегда сверху.
Очень надеюсь, что удастся всё это утоптать вместе с текущим кодом в Атмегу8. Текущий код далек от идеала в плане объема, так что есть вероятность, что получится.
Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.
Основательный подход 😃
А Pulse - это вход PPM?
Зачем на серворазъем подается VCC через резистор 4.7 Ом? Так Вы хотите питать приемник?
Почему именно импульсный питатель? Какая предполагается нагрузка?
Нарисовался начальный вариант дополнительной платки.
Основная разбивается на две.
А зачем такой громоздкий ИП?.. На такие токи полно ощутимо более интегрированых моделей. Например, TPS61130. За одно и 3 вольта для GPSки сгенерите 😉
Понял. Атмега у меня от 5В питается.
Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители? Было бы удобно питать модуль от линейного стабилизатора на плате телеметрии, но подозреваю, что модуль потребляет очень неровно, напряжение питание всей аналоговой части платы телеметрии поплывет. Так что придется питать его отдельно.Сейчас почитал доки по протоколу NMEA, что-то подозрительно легко всё вырисовывается.
Что надо cделать:
- Общение с GPS-модулем по USART.
- Парсинг NMEA строк, перевод широты и долготы в 32-битные целые.
- Запоминание начальной позициии самика.
- Опрос GPS приемника, получение текущих координат и величины+направления вектора скорости относительно земли.
- Вычисление разности между начальными и текущими координатами, перевод градусов и секунд в метры. Думаю, прокатит прямой перевод разницы в градусах широты и долготы относительно начальной позиции в смещение по Х и Y с помощью тупого умножения на коэффициент. На тех дальностях, что летают наши самики, землю можно считать не сферой, а плоской.
- Перевод Х и Y смещения в значения величины и направления вектора “на точку старта”.
- Отображение трех чисел (удаление от точки старта по земле, текущая скорость относительно земли, высота по GPS)
- Отображение двух векторов (вектор на точку старта и вектов курса) в [псевдо]графике на поле 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 вольтам. Его можно непосредственно подцеплять.
Кстати, питание некоторых GPS-модулей - 5В, с такими не нужны делители?
Питание модуля ЕМ-406 4.5-6.5 Вольт, но уровни сигналов на разъеме 0-3В (выход по даташиту 0-2.85). Полагаю, там внутри есть стабилизатор на 3В. Делитель нужен только на 5В сигнал от Атмеги к модулю, если он (сигнал) будет использоваться. В принципе, он не обязателен - модуль сам выдает сообщения NMEA с заданным периодом.
Гуру, пожалуйста, посоветуйте, какой GPS модуль стоит взять для телеметрии?
Критично чипсет, габариты, вес, отсутствие внешних антенн, подключение к USART Атмеги, возможность беспроблемно купить в Москве, цена желательно до 1500.
Заранее спасибо!
Гуру, пожалуйста, посоветуйте, какой GPS модуль стоит взять для телеметрии?
Критично чипсет, габариты, вес, отсутствие внешних антенн, подключение к USART Атмеги, возможность беспроблемно купить в Москве, цена желательно до 1500.
На крайняк, LEA-4H. Впрочем, я уже давал ссылки раньше.
На крайняк, LEA-4H. Впрочем, я уже давал ссылки раньше.
Блин, супер. 1,5 на 1,5 см размер и цена в 45 баксов. Просто мечта.
Вариант, - исключить датчики давления нафик. Скорость и высоту можно прекрасно рассчитать и по GPS координатам. с зАвидной точностью. Сопсна, так буржуи и делают (ренджвидео-вский GPS OSD модуль, к примеру).
Итоговая цена будет меньше в 2 раза.