Телеметрия (часть 1)
всётаки это акселерометр. Текст с сайта apple
www.apple.com/pr/library/2007/01/09iphone.html
iPhone’s Advanced Sensors
iPhone employs advanced built-in sensors—an accelerometer, a proximity sensor and an ambient light sensor—that automatically enhance the user experience and extend battery life. iPhone’s built-in accelerometer detects when the user has rotated the device from portrait to landscape, then automatically changes the contents of the display accordingly, with users immediately seeing the entire width of a web page, or a photo in its proper landscape aspect ratio.
Нашел, вот этот акселерометр используется в iphone
www.st.com/stonline/products/…/lis302dl.pdf
уфф… вроде дописал всю математику и логику обработки PPM, компилятор не ругается. Сейчас сгружу всё в атмегу и поделюсь результатами 😃
Всё вышло в точности так, как задумано 😃
Выкладываю видео:
Обновление прошивки и ASM кода, подробности по коду и подключению к приемнику - завтра в блоге.
Рад Вашему успеху! Скажите, можно ли травить печатку из блога, не планируются ли в связи с изменениями в прошивке изменения и в разводке?
И еще про акселерометры, может тут народ в курсе или пошлет куда надо . Я видел в продаже к E-Loggery плату двухосевых акселерометров на
на чипах от фрискейла ( устаревших но не суть наверное).
Интересно ли в телеметрии видеть их значения, есть в этом какой то смысл?
Можно ли приделать к ним программный интегратор для получения скорости?
Извините что отклоняюсь от темы но вроде тут народ и про это спрашивает…
И еще про акселерометры, может тут народ в курсе или пошлет куда надо .
Интересно ли в телеметрии видеть их значения, есть в этом какой то смысл?
Насчет акселерометров- смысл этой платы: тайна великая есть! 😃
По своей сути акселерометр- это “шарик, лежащий на пьезоэлементе”.
Ничего, кроме наклона поверхности, на которой он “лежит” он не покажет (причем, только в состоянии покоя или равномерного прямолинейного движ.)
А две или три оси- дают более полную информацию.
Поэтому на самолете, при малейшем ускорении в любую сторону ( а самолет, стоящий в воздухе- довольно редкое явление 😃), будет показываться суммарный вектор ускорения G и других составляющих.
И никакими программными ухищрениями- этого не обойти.
Если Вы хотите сделать нормальную гировертикаль- есть два пути: пиростабилизатор горизонта (тут про него много писалось) или- прибавить к 3х осевому акслрмтр. три гироскопа, GPS и фильтр Калмана- и будет счастье!
Если Вы хотите сделать нормальную гировертикаль- есть два пути: пиростабилизатор горизонта (тут про него много писалось) или- прибавить к 3х осевому акслрмтр. три гироскопа, GPS и фильтр Калмана- и будет счастье!
Или купить IMU за несколько сот $.
Или купить IMU за несколько сот $.
Немного почитал про IMU. вот такой подайдёт? http://www.sgbotic.com/index.php?target=pr…p;product_id=30
Гировертикаль и прочие указатели горизонта мне ( пока наверное) не интересны. Хочу чисто датчик ускорения/скоростей… Стоит попробовать делать или это все бред?
>Скажите, можно ли травить печатку из блога, не планируются ли в связи с изменениями в прошивке изменения и в разводке?
Нет, изменений в разводке нет.
А можете объяснить проблему акселерометров, почему с помощью них нельзя сделать авиа горизонт? Мы же знаем исходную точку горизонта, при ускорении получаем некую цифру и всё время расчитываем наклон на основании данных ускорения. тоесть ускорились в одну сторону, показали наклоненную линию и запомнили данные потом в другую, вычетам данные из запомненных, получаем новую линию горизонта.
Так секунд за 10 мы накопим столько ошибок, что ППЦ.
Тут уже написали, дополню.
Можно взять два акселя, направить оси друг против друга и вычитать показания. Теоретически, постоянная составляющая g в этом случае выделится.
Такая система используется в стабилизации морского оборудования, НО. Аксели должны быть очень хорошие.
Доступные нам ADXL и прочие мураты, ST, фрискейлы имеют неслабый собственный шум. Одно время я пытался проапгрейдить компьютерную мышку, схема которой была опубликована в Радио, она была на акселе и реагировала на наклон. Два акселерометра ADXL202 довольно неплохо выделяли g, но аже будучи в покое, за счёт незавных шумов, стрелка мышки ползала по эрану… Математика улучшила ситуацию, но не вылечила полностью… 😦
Плохо думали. Пара вертикальных пирометров добавляется не для различения верха с низом, а для калибровки коэффициента передачи горизонтальных. И, соотв., усиления во всей петле обратной связи.
Ок, подумаем хорошо.
-
Представим, что автопилот у нас не ламповый, а таки на МК. Почему нельзя направить крылья вверх/вниз, замерить температуры и посчитать температуру уровня горизонта? Для особо тонких извращенцев - направив датчики по очереди в одну точку почучить различие в показаниях.
И то, это нужно только чтобы задать угол крена. -
Автопилот таки ламповый. На кой лях его калибровать, если он работает на равность засветок датчиков? Если не ставить задачу совершать крены, калибровка не нужна.
Передаточная функция цепи управления - два кубика и сумматор, а закон управления - простейший T=tk+b; Начальных условий не имеет!
Всё это симулируется в матлабе за час, с учётом примерной прикидки моментов инерции модели. И будет работать. Хоть и хуже, чем с прекалибровкой в случае МК. -
Ваша модель держится в воздухе сутками? Моя - массимум 30 минут. За это время температуры земли и, страшно сказать, космоса, сильно не уплывут. Не вижу необходимости в постоянной калибровке.
-
Поставиь можно много чего. И 20 датчиков по кругу. Но это пЫонЭрство… 😉
Гировертикаль и прочие указатели горизонта мне ( пока наверное) не интересны. Хочу чисто датчик ускорения/скоростей… Стоит попробовать делать или это все бред?
Чисто конкретно (в натуре): для датчика скорости (на самолете) вовсе даже нужен не акселерометр, а дифф. датчик давления с пвд. А если хочется еще и вариометр-то абсолютный датчик давления…
Все это есть у Smalltima в его системе телеметрии, выложено бесплатно, то есть даддом!
А ускорение, как известно: прирост скорости за единицу времени.
Вот это уже можно посчитать “программно”.😃
А если Вам таким способом хочется “сделать” дпла, то это-вряд ли 😦
Всё это симулируется в матлабе за час,…
Теперь отложите в сторону матлаб и возьмите в читальном зале учебник по ТАР и ТАУ. Пересказывать его я не буду.
Всё вышло в точности так, как задумано 😃 Выкладываю видео:
А я, честно говоря, не очень понял, что происходит 😃
а) индикатор уровня уходит в ноль, когда выключается передатчик (отличный практический результат !). Ну да, здесь вся диаграмма превращается в шум.
б) индикатор уровня реагирует на быстрые движения ручки элеронов (если это mode 2). Ну тоже понятно, тут гуляет вся диаграмма взад-вперед, может быть паразитная реакция, зависящая от алгоритма измерения длительности.
в) передатчик уходит под стол и там с ним что-то делают - уровень меняется от нуля до максимума. Эээ… а что делают ? 😃
А нельзя ли на таком же видео плавно покачать передатчик вокруг осей, чтобы менялась взаимная ориентация антенн вплоть до перпендикулярной ? Там будет плавно меняться уровень принимаемого сигнала (правда, неочевидным образом. За счет отражений от стен интерференционная картинка в комнате будет меняться, как аллаху угодно, но как-то будет), как будет себя вести индикатор ?
Просто сейчас видно только, что надежно отслеживается полное пропадание сигнала, а при этом на приемнике без failsafe меры принимать уже поздно.
в) передатчик уходит под стол и там с ним что-то делают - уровень меняется от нуля до максимума. Эээ… а что делают ? 😃
Ничего не делают вообще 😃
Антенна передатчика сложена, антенна приемника в клубке (с момента покупки не разматывалась 😃 ) поэтому 2-3 метра уже хватает для снижения качества сигнала, особенно если рядом долбит 700-милливаттный 2.4 ГГц передатчик видеосигнала.
Выложил всё с разъяснениями, кодом, картинками и более понятным видеороликом в блоге: rcopen.com/blogs/15368/4451
smalltim попробовал вашу новую прошивку. Работает всё, но есть замечания.
- Тяжело понять уровень сигнала, он просто прыгает при дребезги машинок.
- На крайнее отклонение Вы настроили функционал размера шрифтов и отключение показа данных телеметрии. Когда начинается дребезг на машинках эти функции срабатывают, получается что помимо прыганья уровня сигнала ещё и прыгает телеметрия, то крупно то мелко то вообще нету.
Кстати прикладываю фотки чего я напоял на ваших платках 😉
Плата с DIP корпусом по сити готова кроме барометрических датчиков. А на платку с маленькой мегой не могу найти LM1881M. Всё перерыл везде под заказ. Барометрических датчики нашел, скоро получу 😃.
Есть ещё вопрос про температурный датчик, что то он у меня кажет больше, термометра дома нету но на глаз врёт, говорит что дома 30 градусов 😃 .
>1. Тяжело понять уровень сигнала, он просто прыгает при дребезги машинок.
А дребезг сильный? Самолет при этом будет нормально управляться? По мне, само прыгание уровня сигнала должно говорить о том, что качество приема плохое.
В общем, напрашивается сглаживание количества “палочек” по времени и настройка величин требуемой точности ширины PPM для разного количества “палочек”.
>2. На крайнее отклонение Вы настроили функционал размера шрифтов и отключение показа данных телеметрии. Когда начинается дребезг на машинках эти функции срабатывают, получается что помимо прыганья уровня сигнала ещё и прыгает телеметрия, то крупно то мелко то вообще нету.
Ну это вообще ни в какие ворота. Что ж там у Вас за приемник? 😃
Я как ни старался, не смог добиться того, чтоб у меня PPM вштырило настолько, что аж режим вывода на экран стал меняться.
Не вопрос, могу увеличить требуемое время задержки в крайних положениях для переключения вывода.
>Кстати прикладываю фотки чего я напоял на ваших платках 😉
Вполне себе ничего, только видеосигнал надо будет в экранированном кабеле пускать 😃
>Есть ещё вопрос про температурный датчик, что то он у меня кажет больше, термометра дома нету но на глаз врёт, говорит что дома 30 градусов 😃 .
Вообще говоря, у меня тоже показывает на 7-10 градусов выше комнатной температуры, но у меня датчик стоит прямо на плате и “подогревается” стабилизатором.
С другой стороны, другой из участников форума, сделавший телеметрию по моей схеме и прошивке, отписал что термодатчик работает идеально.
В общем, я внимательно пересмотрю код и доки по датчику, вдруг чего-то переврал с коэффициентами, пока возился со всем остальным.
>В общем, напрашивается сглаживание количества “палочек” по времени и настройка величин требуемой точности ширины PPM для разного количества “палочек”.
Сам себе отвечу 😃
На самом деле, сглаживать количество “палочек” по времени я б не хотел, лучше пусть мельтешат при помехах, нежели приходят и уходят плавно. А вот сделать, чтоб для отъема каждой палочки суммарная ошибка в ширине PPM увеличивалась не в 2, а, скажем, в 4, 8, 10, 100 раз - пожалуйста.
Надо только вот обдумать это неспешно. Например, ширина PPM импульсов может скакать сильно, и телеметрия покажет хреновый уровень приема, а сервы - штука инерционная, и дрожать и дергаться может совсем не очень страшно. Не вводить же симуляцию инерционности серв…
>А на платку с маленькой мегой не могу найти LM1881M. Всё перерыл везде под заказ.
есть в Митраконе: www.mitracon.ru/info/search.php?allsearch=lm1881
Аппаратура futaba12 FG, а приёмник multiplex rx-7-synth. Дёрганья умеренные были, по сути мало заметные. Возможн это из за того что в настройке канала его ширина была увеличена до 150%. Кстати тут тоже можна поиграться, дело в том что я сперва воткнул в канал элеронов, а у меня там 75% от ширины канала настроено, переключение функций телеметрии не срабутало, переткнул в канал поворота камеры, там как уже говорил 150%, сработало но и дергаться сильнее стало. Тоесть хочу сказать можно функцию калибровки ширины канала сделать и помнить её 😃.
Пока писал понял в чём проблема 😛. В отношении ширины канала, Вы её похоже забили жестко в программе.