Телеметрия (часть 1)
Прошивка 225 готова, через пару часиков выложу. 😃
Прошивка 225 готова, через пару часиков выложу. 😃
Молодца! А че там будет работать? SD делал?
что такое SD?
Сделал отображение съеденных миллиамперчасов, текущего тока, перетасовал немного строчки на экране, переделал подсчет высоты с барометрического датчика.
Flashka. Я тут схему накидал, для макета МАКЕТНУЮ!!! Там двух-осевой магн. сенсор используется( в левом верхнем углу) AD7705 можно не ставить.(хочу и так, и так попробовать) вместо hct125 уместен любой мультиплексор… Зеленым отмечено железо для 16бит преобразователя. Желтым: датчики для 5в. Как ни крутил 128-ю- целый борт ножек незадействован остается… А 32 идеально влезает!
куда pdf прилепить?? За hct125 не пинать- у меня дядя на hct125- фабрике…(любой MuX)
Ааа, не, автопилот пока не готов 😃 И SD я использовать не буду, буду использовать обычный флеш микросхемкой, так по весу и по всему правильнее. Зачем SD?..
Прошивка:
Картинка инициализации:
Картинка нормальной работы:
Картинка при потере сигнала:
Обработка датчика тока требует натурной проверки, но по программе всё ок - соединяю вход соответствующего канала АЦП с +5В - получаю 100А ток (плата показывает 99.2), и миллиамерчасы правильно бегут.
Натурная проверка датчика тока - завтра.
Пора наброском обрисовать, что надо иметь на второй плате.
- Контроль горизонта - 3 пары пирометров - 3 канала АЦП и 3 дифференциальных ОУ.
- Данные с GPS и с датчиков скорости/высоты/температуры/напряжения/тока первой платы - через SPI.
- Своё питание или брать с первой платы? Предусмотреть питание от USB!
- Интерфейс с USB - встроен в атмегу
- Небольшая флешка для логгинга параметров - не SD или CompactFlash, а маленькая микруха.
- Акселерометры по 3 осям - 3 канала АЦП? Цифровой вход?
- 3 выхода PPM: крен, тангаж, газ.
Что еще предлагаете:
- Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?
- Магнитный компас - точно надо?
Про акселерометры - погорячился. Надо гироскопы. А у гироскопов цена такая, что убиццо. Нафик.
а может все жи напаять акксель, хоть будет в логах видно что крыло сложилось от перегрузки? 😃)
Пора наброском обрисовать, что надо иметь на второй плате.
- Контроль горизонта - 3 пары пирометров - 3 канала АЦП и 3 дифференциальных ОУ.
- Данные с GPS и с датчиков скорости/высоты/температуры/напряжения/тока первой платы - через SPI.
- Своё питание или брать с первой платы? Предусмотреть питание от USB!
- Интерфейс с USB - встроен в атмегу
- Небольшая флешка для логгинга параметров - не SD или CompactFlash, а маленькая микруха.
- Акселерометры по 3 осям - 3 канала АЦП? Цифровой вход?
- 3 выхода PPM: крен, тангаж, газ.
Что еще предлагаете:
- Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?
- Магнитный компас - точно надо?
Зачем 3 пары пирометров?.. Пирометрам АЦП не нужен!!!
Флешку таки проще мини-SD. Могу поделиться файловой системой 😉 Отъест 10 кБ флеша и примерно треть ОЗУ от м1287, но две трети ОЗУ и 118 кБ флеша останутся 😃 Просто это удобней. У меня сейчас самого стоит микросхемка-флешка. Так в случае чего слить с неё данные - целый ритуал… Особенно после аварии, когда половину деталей срезало. Но я не настаиваю.
Аксели нафиг не нужны. Как и гироскопы.
Выходов PPM лучше сделать 6, тем более что м1287 это легко позволяет.
Пора наброском обрисовать, что надо иметь на второй плате.
- Контроль высоты на посадке, на небольших высотах - ультразвуковой датчик - АЦП? Цифровой вход?
если интегрировать УЗ радар в проэкт, то нужно 2 свободных, внешних прерывания
и 1 ножка настроенная на выход
если радар делать как отдельный узел - то тогда нужен сериал, или чтото в этом духе
(я за первый вариант, процессорами обрастать чета не охота)
Вчера испытал сонар EZ0. Работет неплохо.
В комнате им трудно что-либо поймать, переотражений много… Но изменение расстояния до потолка фиксил очень хорошо.
Сейчас спаял кабЕль, подключу вечером к кею и попробую поиграться на улице 😃
>Зачем 3 пары пирометров?..
3 оси: X, Y, Z
>Пирометрам АЦП не нужен!!!
Серьезно? А что нужно? Прямо к сервам подключать?
>Выходов PPM лучше сделать 6
Перечислите, пожалуйста, что на самике будет управляться 6ю каналами.
про каналы - я как понимаю машинок на элероны может быть и несколько. Правда поймет ли это чудо автопелот -))
на счет 6ти машинок не знаю, но минимум 2 на элероны надо, и что бы правильно обрабатывались сигналы включения флапов или тормозов. Тоесть надо еще и два входа на элероны предусмотреть.
Ок, разумно.
Итого:
1 канал на РВ
1 канал на газ
2 канала на элероны (по сути один канал, но еще +1 с инверсией)
1 канал на тормоза/флапероны
- 3 выхода PPM: крен, тангаж, газ.
Понимаю, что это уход от “массовости”, но предлагаю не заморачиваться с приемом и трансляцией отдельных канальных сервоимпульсов (потому как, не забывайте, что на три выхода нужны еще и три входа), а сразу ориентироваться на процессорные приемники, у которых это все есть от рождения.
На данный момент я сделал прошивочку для мультиплексовских синтезированных приемников, которые на полном автомате раз в секунду (можно чаще, но мне пока не нужно) по последовательному порту выдают мне сейчас следующий набор параметров:
- уровень принимаемого сигнала;
- напряжение питания (приемника);
- номер рабочего радиоканала;
- счетчики ошибок (помех, провалов уровня сигнала*, падений напряжения);
- количество активных сервоканалов;
- значения всех канальных импульсов;
- флаги текущего состояния приемника;
- флаги формата сигнала.
Очевидным следующим шагом является ввод нужных значений для всех сервоканалов (в цифре !) по тому же последовательному порту - и вот уже готовый автопилот. И каналов там - не три, а двенадцать 😃 (из любого приемника).
А дальше - возможности ограничиваются только фантазией:
- переключение на резервный частотный канал при возникновении помех (на одном приемнике);
- одновременная работа на двух и более каналах (с соответствующим количеством приемников, конечно);
- “привязка” к своему передатчику (от помех не спасет, но чужого слушаться не будет),
и так далее…
Весь интерфейс к приемнику - одна нога (с землей - две 😉).
Если не увеличивать количество каналов, то никаких физических переделок приемника не требуется, - только апдейт софта.
PS: (*) - пока не работает из-за бага в фирменной прошивке.
Рискую выглядеть дураком, но не понимаю, зачем на три выхода нужны еще и три входа?
У автопилота в моем варианте не предполагается иметь на входе PPM с приемника вообще. Только “работает / не работает”. То есть, потеряли сигнал или выключили передатчик - включился автопилот. Включили передатчик - автопилот отрубился.
Ну, электрически, конечно, нужны входы - надо или пропускать PPM с приемника на сервы без изменения, или выдавать свой PPM. Коммутация - дискретной логикой типа 2И. Но логически автопилоту знать, что там на входах, без надобности. Ошибаюсь?
Рискую выглядеть дураком, но не понимаю, зачем на три выхода нужны еще и три входа?
У автопилота в моем варианте не предполагается иметь на входе PPM с приемника вообще. Только “работает / не работает”. То есть, потеряли сигнал или выключили передатчик - включился автопилот. Включили передатчик - автопилот отрубился.
Ну, электрически, конечно, нужны входы - надо или пропускать PPM с приемника на сервы без изменения, или выдавать свой PPM. Коммутация - дискретной логикой типа 2И. Но логически автопилоту знать, что там на входах, без надобности. Ошибаюсь?
В данном случае я имел в виду именно “электрически”. И “2И” тут не прокатит, - нужны честные мультиплексоры, бо простой приемник не различает состояния “хороший сигнал”/“плохой сигнал”/“вообще нет сигнала - сплошные помехи”, а следовательно мусор на канальных выходах будет пролетать, мешая автопилоту автопилотировать.
С другой стороны, для собственно процесса автопилотирования знать состояние входов действительно не нужно, но управлять-то этим самым автопилотом как-то хочется ? И еще было бы неплохо определить момент, когда нужно начать автопилотирование, а это - не только провал уровня сигнала, а еще и помехи. Значит, как минимум один вход нужно честно обрабатывать…
А мне, например, нравится видеть на экране телеметрии значение канала газа, - значит еще один канал ? А еще мне хочется получить произвольное количество “rc-switches” без дополнительного железа. А еще - полный логгинг всех действий (поглядел и сразу понятно - ветром приложило, или сам зарулился).
А еще будут вечные проблемы при смене передатчиков, при настройках микшеров или расходов, - каждый раз придется тонко перенастраивать автопилот…
Короче, я свою конструкцию никому не навязываю 😃, но лично мне она нравится именно тем, что все - в одном флаконе, не плодится лишних сущностей, и всего интерфейса - один стандартный шнурок. Отключил его - и летаешь на обычном самолете, подключил - получил “всю полноту власти”. И никаких лишних ресурсов на формирование кучи выходов. И нет путанки из кучи проводов от приемника и к сервам, ловящих и генерирующих наводки…
В вашем случаи придется всем купить по мультплексовскому приемнику отчехлив по 2 а то ибольше сотни вечно зеленых. А еще стоит задуматься что есть люди которые летают на 2.4 Ггц. Так что массовости ваш вариант никак не получит.
По поводу настройки автопилота, тут придется пойти на хитрость с обучением. Вначале настраиваете самик, затем выходы автопилота подключаются как входы (возможно банально перемычками) и он включаеся в режим обучения колибровки. что бы запомнить расходы, средние точки и направления по каналам. Вот и весь процесс тонкой настройки 😉
>Зачем 3 пары пирометров?..
>3 оси: X, Y, Z
А подумать?
>Серьезно? А что нужно? Прямо к сервам подключать?
Можно попробовать и прямо к сервам. Что ещё остаётся делать?
>Перечислите, пожалуйста, что на самике будет управляться 6ю каналами.
Уже перечислили. В добавок у людей может быть выпуск шасси, парашюта и прочая хрень. Что так противит использовать два хардверных таймера?