Делаю OSD, автопилот и инерциалку...

morion15

Зачем вы используете такую точность 10^-4, мало того что там только шумы, вы тратите время процессора на фильтрацию. Округлите до 10^-3, и шумы уйдут, покрайней мере если исходить из картинки выше.
Имхо у вас избыточная точность.

Diman_Y
Musgravehill:

Потом еще раз поболтай плату, положи на стол в границы контура. Насколько показания изменились???

Ладно.
Что-то мне лениво стало доказывать.
У меня получается 0.2 градуса. Закончим спор.

morion15:

Зачем вы используете такую точность 10^-4, мало того что там только шумы, вы тратите время процессора на фильтрацию. Округлите до 10^-3, и шумы уйдут, покрайней мере если исходить из картинки выше. Имхо у вас избыточная точность.

Это не градусы. Это значение магнитного поля измеренного в “попугаях”. (В попугаях это значит в неизвестных величинах измерения. Но в связи с тем что единицы измерения меня в этом случае не волнуют, то меня это внолне устраивает.
И еще. Если шумы есть, то они никуда не уходят. И их отсечением я от них не избавлюсь.

morion15

Не избавитесь, но реально в расчетах от них пользы не будет, поетому лучше округлить до значущих разрядов.

Diman_Y
morion15:

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

Во первых, округление в фиксированной точке, всегда добавляет дополнительную ошибку, и лучше стараться использовать максимально возможный диапазон значений.
А во вторых, у меня floating point DSP, поэтому мне вообще все равно сколько там разрядов. У меня все автоматом округляется. 😃

Musgravehill
morion15:

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

На практике получил звиздюлей от Главного метролога) высчитывал по формулам до 6 знаков после запятой, а он “Какие запятые, у тебя первичный преобразователь врет на +_ 10 попугаев!”

Петруччо

Дмитрий, вобщем ход мыслей правильный. А каким методом фильтрации пользуетесь если не секрет? Видел на сайте TI хар-ки этого DSP. Монстр:)

alexeykozin
Diman_Y:

Сейчас меня очень занимает вопрос: а зачем народ городит разного рода RLS системы, когда можно использовать xBee? Либо я что-то упускаю, либо одно из двух.

упускаете,
цена вопроса
комплект xbееpro вроде под 200 баксов стоит?

Diman_Y
Петруччо:

А каким методом фильтрации пользуетесь если не секрет?

Разными. 😃
Конкретно на этой картинке - FIR. Вообще, если время задержики некритично и нужна децимация, то используется fir фильтр. А вообще у меня поменять один фильтр на другой или добавить еще фильтр это просто драг и дроп операция. Как схему из готовых блоков рисовать. Типа симулинка.
Или Вы спрашиваете про метод генерирования коэффициентов?

alexeykozin:

омплект xbееpro вроде под 200 баксов стоит?

Ну в общем да. Но это ведь кит. Один модуль отдельно 50 баксов стоит. В общем не так уж и дорого.

Петруччо

Не-не, коэф-ты рассчитываются по формулам в Матлабе или Маткаде. Интересовал именно метод фильтрации. Я просто не очень сведущ в DSP, сейчас активно изучаю эту тему, т.к. тоже надо будет обрабатывать аксель+гирю+компас+еще много чего, и шумов там много:) Я тоже интуитивно думал в сторону КИХ-фильтрации.
Кстати, кому если интересно, очень хорошая доходчивая (по-своему) книжеца Э. Айфичер Б. Джервис “Цифровая обработка сигналов. Практический подход” (Digital signal processing. Practical approach).

Diman_Y
Петруччо:

Я тоже интуитивно думал в сторону КИХ-фильтрации. Кстати, кому если интересно, очень хорошая доходчивая (по-своему) книжеца

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

А вообще, если говорить о книгах, то цифровую обработку надо начинать с книги Трахтман А.М. “Введение в обобщённую спектральную теорию сигналов”. Не имея представления о сигналах, в ДСП нет смысла соваться.

Diman_Y

Всем привет!

Вчера доделал управление через xBee. Сейчас это выглядет так: пульт->xBee … xBee->Сервы. Управление пока только в одну сторону, к модели.
Вчера же и испытал на дальность.
Результаты получились очень противоречивыми.
Видеопередатчик (1.2 ГГц 1 ватт) без прямой видимости смог послать сигнал на 200 метров, и при этом xBee вполне нормально функционировал на мощности 1 мВт. Т.е. сервы крутились, камера крутилась и т.д. Для меня это было достаточно удивительно, так как от 1 мВт я много не ожидал.

Сейчас мне представляется что затык будет именно в канале видео а не в канале управления. Судя по тому что писали в отчетах о измерении дальности работы xBee Pro, все выглядет очень правдоподобно (60 кМ без дополнительных антенн).

Но есть и проблемы (а куда без них то?) и их две. 😃

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

Вторая проблема выливается из первой. Пришлось сделать управление мощностью. Т.е. тумблерами на пульте можно теперь управлять мощностью передатчика и переключать ее : 1, 25, 100, 200 и 300 мВт.

Но в общем я доволен. Теперь осталось приделать шасси и испытать на выходных. 😃

Diman_Y

Всем привет и с Праздником!

Вчера испытал xBee управление! Испытания прошли крайне успешно.
Так как испытания проводились без автопилота и без RTH, то ограничения полета были 2.5 км. В пределах 2.5-3 км модель без проблем управлялась на 25 мВт мощностию(т.е. запас еще в 10 раз имеется). По моим ощущения можно было еще на пару километров улететь на 25 милливатах, но пока не стал этого делать. Может в следующее выходные запущу.

В связи с тем, что вблизи приемник хВее переполняется и через пару секунд возникает фейлсейв (так запрограммированно), то запуск проводился так: сначала выставлялся газ, потом искалось положение антены при котором приемник принимал этот газ, мотор начинал крутиться и модель отпускалась. А через 5-10 метров, управление было уже в норме. Через 50 метров уже переключался на 25 мВт и все. Посадка была без проблем. С шасси проблем то-же не будет. 😃

Короче, если хочется с руки, то запускать надо с возвышенности отрегулированную модель. 😃

Петруччо

а xBee с такой дальнобойностью у вас там не запеленгуют? В принципе за ж**пу взять могут? я так понимаю что модуль был доработан?😃

Diman_Y
Петруччо:

а xBee с такой дальнобойностью у вас там не запеленгуют? В принципе за ж**пу взять могут? я так понимаю что модуль был доработан?

хВее стандартный я ничего не дорабатывал. Мощность то-же разрешенная (до 500 мВт). Следовательно, до моей Ж им не добраться. 😃

Я что там в хВее можно дорабатывать?

Петруччо
Diman_Y:

что там в хВее можно дорабатывать?

мощность выходного каскада! шутка:) просто не сталкивался пока с такими зерями

Lazy

Вопрос из зала: а как вы подключали XBee? Как рашели проблему 10% duty cycle?

Diman_Y
Lazy:

Вопрос из зала: а как вы подключали XBee? Как рашели проблему 10% duty cycle?

На передающей стороне пик24Ф подключен к ППМ с одной стороны и к хВее с другой. Т.е. пик контролирует хВее. Этот-же пик декодирует ППМ, преобразует его в пакеты и передает в хВее, и еще управляет мощностью хВее. Он же и считает дюти цикл, и в случае чего - просто ресетит xBee. 😃

Lazy

В случае чего - мне понравилось. 😃
А сколбко РЕАЛЬНО данных идёт в канале?

Diman_Y
Lazy:

А сколбко РЕАЛЬНО данных идёт в канале?

Я сейчас передаю 8 каналов с пульта (можно и больше), но перед передачей они пакуются. В итоге средняя скорость передачи ~ 2000 бит/c. Если сделаю вместо 16 бит на канал - 8, то будет в 2 раза меньше.

Короче, передается вот как:

  1. Каждый канал, как только его значение меняется, передается 5 раз. В итоге получаем что 50 (это 50 раз в секунду проверяем канал) *8 (это 8 каналов) * 16 (это 16 бит) - это сейчас предельная максимальная скорость передачи при условии что все каналы меняются каждые 20 мС.
  2. Независимо не от чего, все 8 каналов передаются каждую секунду по 5 раз подряд. Это сделано чтобы можно было детектировать фейлсейв.

Я проверял среднюю скорость передачи. В нормальном полете она у меня была 2000 бит в секунду. 😃

Lazy

Уж очень избыточно в протоколе у вас.
Может стоит глянуть хотя бы реализацию PCM?

Diman_Y
Lazy:

Уж очень избыточно в протоколе у вас.

Кроме передачи 16 бит вместо 10, другой избыточности там нету. Точнее она есть, но она необходимо.

А вообще, для моксимальной дальности, надо использовать все 24 кбит, но со специальным кодированием. 😃

AndyBig

3D-модель платы 😁
Два USB, два ВЧ-разъема, куча других коннекторов… А вот что это большое квадратное - так и не понял 😃

Diman_Y
AndyBig:

А вот что это большое квадратное - так и не понял

GSM модуль. А рядом с ним - GPS. А с другой стороны пик и 14 выходов на сервы. 😃
Плату вот сегодня в производство отправил. 😃

PS. Во премя разработки этой платы открыл для себя еще один косяк “как у всех”. 😃

Короче, выбирал я GPS модуль и обнаружил следующее: зачем народ делает внешние выносные GPS модули вместе с антеной, если можно выносить отдельно только антену? 😃