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

nokpblwkuH
Dikoy:

Ещё всякие буферизации, расширеная система команд, малый вес и унификация.
Сейчас уже трудно купить телефон с UART, а дальше больше. Такие аппараты, как моторолла и нокия вообще непригодны, ибо могут иметь разные протоколы в пределах одной модели. Причём всё, что есть, ещё и работает через зад (фирменный стиль этих производителей).
Самые дружественные и стандартные - эрик и самсунг.

Ну, гсм 07.07 и 07.05 соблюдаются? смс отправить сможем? сможем, значит для нас этого достаточно. 😃 Да и купить телефон с UART не сложно - поверь, рынок б\у телефонов очень и очень широк. 😃

Dikoy:

Например, вот: www.contractelectronica.ru/customers/…/q2501b/
Q2501B - GSM/GPRS/GPS модуль серии WISMO Quik. В нем при размерах 58х32х6 мм и весе 15 грамм объединены функции передачи голоса, SMS, факсов, данных в режиме GPRS. Модуль имеет встроенный 16-ти канальный GPS приемник для определение местоположения, направления и скорости движения объ­екта.
Модуль оборудован двумя раздельными разъемами MMS для GSM- и GPS-антенн.

www.megachip.ru/item.php?item_id=142716
Нафиг-нафиг я лучше подам объявление на каком-нить местном форуме (если лень ходить искать) и за 100/200/300 руб куплю б\у телефон. 😃 Да в принципе в любой мастерской можно найти с разбитым экраном/разломанной клавиатурой,… Конечно, если делать коммерческое устройство, то такой вариант не подходит, а для себя - проще и дешевле врятли получиться 😃

smalltim

Прошивка 225 готова, через пару часиков выложу. 😃

lodeworx
smalltim:

Прошивка 225 готова, через пару часиков выложу. 😃

Молодца! А че там будет работать? SD делал?

smalltim

что такое SD?

Сделал отображение съеденных миллиамперчасов, текущего тока, перетасовал немного строчки на экране, переделал подсчет высоты с барометрического датчика.

lodeworx

Flashka. Я тут схему накидал, для макета МАКЕТНУЮ!!! Там двух-осевой магн. сенсор используется( в левом верхнем углу) AD7705 можно не ставить.(хочу и так, и так попробовать) вместо hct125 уместен любой мультиплексор… Зеленым отмечено железо для 16бит преобразователя. Желтым: датчики для 5в. Как ни крутил 128-ю- целый борт ножек незадействован остается… А 32 идеально влезает!

куда pdf прилепить?? За hct125 не пинать- у меня дядя на hct125- фабрике…(любой MuX)

smalltim

Ааа, не, автопилот пока не готов 😃 И SD я использовать не буду, буду использовать обычный флеш микросхемкой, так по весу и по всему правильнее. Зачем SD?..

smalltim

Прошивка:

Картинка инициализации:

Картинка нормальной работы:

Картинка при потере сигнала:

Обработка датчика тока требует натурной проверки, но по программе всё ок - соединяю вход соответствующего канала АЦП с +5В - получаю 100А ток (плата показывает 99.2), и миллиамерчасы правильно бегут.
Натурная проверка датчика тока - завтра.

smalltim

Пора наброском обрисовать, что надо иметь на второй плате.

  • Контроль горизонта - 3 пары пирометров - 3 канала АЦП и 3 дифференциальных ОУ.
  • Данные с GPS и с датчиков скорости/высоты/температуры/напряжения/тока первой платы - через SPI.
  • Своё питание или брать с первой платы? Предусмотреть питание от USB!
  • Интерфейс с USB - встроен в атмегу
  • Небольшая флешка для логгинга параметров - не SD или CompactFlash, а маленькая микруха.
  • Акселерометры по 3 осям - 3 канала АЦП? Цифровой вход?
  • 3 выхода PPM: крен, тангаж, газ.

Что еще предлагаете:

  • Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?
  • Магнитный компас - точно надо?
smalltim

Про акселерометры - погорячился. Надо гироскопы. А у гироскопов цена такая, что убиццо. Нафик.

SGordon

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

Dikoy
smalltim:

Пора наброском обрисовать, что надо иметь на второй плате.

  • Контроль горизонта - 3 пары пирометров - 3 канала АЦП и 3 дифференциальных ОУ.
  • Данные с GPS и с датчиков скорости/высоты/температуры/напряжения/тока первой платы - через SPI.
  • Своё питание или брать с первой платы? Предусмотреть питание от USB!
  • Интерфейс с USB - встроен в атмегу
  • Небольшая флешка для логгинга параметров - не SD или CompactFlash, а маленькая микруха.
  • Акселерометры по 3 осям - 3 канала АЦП? Цифровой вход?
  • 3 выхода PPM: крен, тангаж, газ.

Что еще предлагаете:

  • Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?
  • Магнитный компас - точно надо?

Зачем 3 пары пирометров?.. Пирометрам АЦП не нужен!!!
Флешку таки проще мини-SD. Могу поделиться файловой системой 😉 Отъест 10 кБ флеша и примерно треть ОЗУ от м1287, но две трети ОЗУ и 118 кБ флеша останутся 😃 Просто это удобней. У меня сейчас самого стоит микросхемка-флешка. Так в случае чего слить с неё данные - целый ритуал… Особенно после аварии, когда половину деталей срезало. Но я не настаиваю.
Аксели нафиг не нужны. Как и гироскопы.
Выходов PPM лучше сделать 6, тем более что м1287 это легко позволяет.

Satelite
smalltim:

Пора наброском обрисовать, что надо иметь на второй плате.

  • Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?

если интегрировать УЗ радар в проэкт, то нужно 2 свободных, внешних прерывания
и 1 ножка настроенная на выход

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

Dikoy

Вчера испытал сонар EZ0. Работет неплохо.
В комнате им трудно что-либо поймать, переотражений много… Но изменение расстояния до потолка фиксил очень хорошо.
Сейчас спаял кабЕль, подключу вечером к кею и попробую поиграться на улице 😃

smalltim

>Зачем 3 пары пирометров?..

3 оси: X, Y, Z

>Пирометрам АЦП не нужен!!!

Серьезно? А что нужно? Прямо к сервам подключать?

>Выходов PPM лучше сделать 6

Перечислите, пожалуйста, что на самике будет управляться 6ю каналами.

SGordon

про каналы - я как понимаю машинок на элероны может быть и несколько. Правда поймет ли это чудо автопелот -))

Brandvik

на счет 6ти машинок не знаю, но минимум 2 на элероны надо, и что бы правильно обрабатывались сигналы включения флапов или тормозов. Тоесть надо еще и два входа на элероны предусмотреть.

smalltim

Ок, разумно.
Итого:

1 канал на РВ
1 канал на газ
2 канала на элероны (по сути один канал, но еще +1 с инверсией)
1 канал на тормоза/флапероны

Artie
smalltim:
  • 3 выхода PPM: крен, тангаж, газ.

Понимаю, что это уход от “массовости”, но предлагаю не заморачиваться с приемом и трансляцией отдельных канальных сервоимпульсов (потому как, не забывайте, что на три выхода нужны еще и три входа), а сразу ориентироваться на процессорные приемники, у которых это все есть от рождения.

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

  • уровень принимаемого сигнала;
  • напряжение питания (приемника);
  • номер рабочего радиоканала;
  • счетчики ошибок (помех, провалов уровня сигнала*, падений напряжения);
  • количество активных сервоканалов;
  • значения всех канальных импульсов;
  • флаги текущего состояния приемника;
  • флаги формата сигнала.

Очевидным следующим шагом является ввод нужных значений для всех сервоканалов (в цифре !) по тому же последовательному порту - и вот уже готовый автопилот. И каналов там - не три, а двенадцать 😃 (из любого приемника).

А дальше - возможности ограничиваются только фантазией:

  • переключение на резервный частотный канал при возникновении помех (на одном приемнике);
  • одновременная работа на двух и более каналах (с соответствующим количеством приемников, конечно);
  • “привязка” к своему передатчику (от помех не спасет, но чужого слушаться не будет),
    и так далее…

Весь интерфейс к приемнику - одна нога (с землей - две 😉).
Если не увеличивать количество каналов, то никаких физических переделок приемника не требуется, - только апдейт софта.

PS: (*) - пока не работает из-за бага в фирменной прошивке.

smalltim

Рискую выглядеть дураком, но не понимаю, зачем на три выхода нужны еще и три входа?

У автопилота в моем варианте не предполагается иметь на входе PPM с приемника вообще. Только “работает / не работает”. То есть, потеряли сигнал или выключили передатчик - включился автопилот. Включили передатчик - автопилот отрубился.
Ну, электрически, конечно, нужны входы - надо или пропускать PPM с приемника на сервы без изменения, или выдавать свой PPM. Коммутация - дискретной логикой типа 2И. Но логически автопилоту знать, что там на входах, без надобности. Ошибаюсь?

Artie
smalltim:

Рискую выглядеть дураком, но не понимаю, зачем на три выхода нужны еще и три входа?

У автопилота в моем варианте не предполагается иметь на входе PPM с приемника вообще. Только “работает / не работает”. То есть, потеряли сигнал или выключили передатчик - включился автопилот. Включили передатчик - автопилот отрубился.
Ну, электрически, конечно, нужны входы - надо или пропускать PPM с приемника на сервы без изменения, или выдавать свой PPM. Коммутация - дискретной логикой типа 2И. Но логически автопилоту знать, что там на входах, без надобности. Ошибаюсь?

В данном случае я имел в виду именно “электрически”. И “2И” тут не прокатит, - нужны честные мультиплексоры, бо простой приемник не различает состояния “хороший сигнал”/“плохой сигнал”/“вообще нет сигнала - сплошные помехи”, а следовательно мусор на канальных выходах будет пролетать, мешая автопилоту автопилотировать.

С другой стороны, для собственно процесса автопилотирования знать состояние входов действительно не нужно, но управлять-то этим самым автопилотом как-то хочется ? И еще было бы неплохо определить момент, когда нужно начать автопилотирование, а это - не только провал уровня сигнала, а еще и помехи. Значит, как минимум один вход нужно честно обрабатывать…
А мне, например, нравится видеть на экране телеметрии значение канала газа, - значит еще один канал ? А еще мне хочется получить произвольное количество “rc-switches” без дополнительного железа. А еще - полный логгинг всех действий (поглядел и сразу понятно - ветром приложило, или сам зарулился).
А еще будут вечные проблемы при смене передатчиков, при настройках микшеров или расходов, - каждый раз придется тонко перенастраивать автопилот…

Короче, я свою конструкцию никому не навязываю 😃, но лично мне она нравится именно тем, что все - в одном флаконе, не плодится лишних сущностей, и всего интерфейса - один стандартный шнурок. Отключил его - и летаешь на обычном самолете, подключил - получил “всю полноту власти”. И никаких лишних ресурсов на формирование кучи выходов. И нет путанки из кучи проводов от приемника и к сервам, ловящих и генерирующих наводки…

Brandvik

В вашем случаи придется всем купить по мультплексовскому приемнику отчехлив по 2 а то ибольше сотни вечно зеленых. А еще стоит задуматься что есть люди которые летают на 2.4 Ггц. Так что массовости ваш вариант никак не получит.

По поводу настройки автопилота, тут придется пойти на хитрость с обучением. Вначале настраиваете самик, затем выходы автопилота подключаются как входы (возможно банально перемычками) и он включаеся в режим обучения колибровки. что бы запомнить расходы, средние точки и направления по каналам. Вот и весь процесс тонкой настройки 😉