Специальные цены   новые товары
+ Ответить в теме
Показано с 1 по 30 из 30

Автопилот для RC модели на AT91SAM7

Тема раздела Бортовая электроника в категории Cамолёты - Общий; Всем привет. Я несколько лет занимался в рамках хобби изобретением "велосипеда", решил поделиться, может кому-то будет интересно. Вот так выглядит ...

  1. #1

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16

    Автопилот для RC модели на AT91SAM7

    Всем привет. Я несколько лет занимался в рамках хобби изобретением "велосипеда", решил поделиться,
    может кому-то будет интересно. Вот так выглядит сама несущая плата с датчиками и контроллером:
    Нажмите на изображение для увеличения
Название: IMG_20170723_150923zoom.jpg
Просмотров: 125
Размер:	104.3 Кб
ID:	1391983
    Автопилот сделан на базе отладочной платы. Схема состоит из схемы отладочной платы и периферии:
    Нажмите на изображение для увеличения
Название: Schematic_SAM7.jpg
Просмотров: 94
Размер:	62.0 Кб
ID:	1391980Нажмите на изображение для увеличения
Название: Schematic_periph.jpg
Просмотров: 82
Размер:	65.4 Кб
ID:	1391981
    Проект с исходниками софта для контроллера находиться тут. Одна из моделей для испытаний представлена
    на рисунке ниже.
    Нажмите на изображение для увеличения
Название: IMG_20170817_131533sm.jpg
Просмотров: 87
Размер:	104.8 Кб
ID:	1391982
    Это Wing Dragon Sportster, размах 1.18М, взлетный вес по паспорту 650г, реально измеренный 750г,
    с автопилом 840г. (явный конечно перегруз) Более подробно с проектом можно ознакомиться в моем блоге.
    В статье выдвинута концепция построения автопилота для радиоуправляемого беспилотного самолета на базе
    дешевого контроллера и современных инерциальных датчиков положения. Концепция проверена на модели
    виртуальной с использованием симулятора X-Plane 6 и на реальной модели с толкающим винтом и
    электрическим мотором. Предложен вариант алгоритма полета по маршруту с использованием GPS. Проведены
    испытания, построены графики и обсуждены полученные полетные данные. Приведена программа расчета
    центровки самолета с использованием программируемого калькулятора под Android и приведен пример ее
    использования. Доступны все исходники от моделирования до проекта печатной платы.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: IMG_20170723_150923sm.jpg‎
Просмотров: 91
Размер:	66.8 Кб
ID:	1391979  
    Последний раз редактировалось Maksimuzz; 27.01.2018 в 13:55. Причина: Слишком сильно сжаты картинки схем.

  2.  
  3. #2
    ADF
    ADF вне форума

    Регистрация
    03.01.2004
    Адрес
    Томск
    Возраст
    36
    Сообщений
    14,011
    Записей в дневнике
    19
    За работу руками и головой - всегда плюс!

    Велосипед не велосипед, это суть хобби: делать что-то руками, а не тупо запускать готовое.

  4. #3

    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    48
    Сообщений
    8,593
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Доступны все исходники от моделирования
    Несколько вопросов (я тоже АП занимался, только за дешевизной не гнались- на нормальных процессорах делали)
    Так вот: Вы в курсе, что "0" гироплатформы- довольно резво уходит при эволюциях ЛА, от температуры и просто так, из-за действия силы Кориолиса? Причем последнее-еще и от курса аппарата зависит.
    Какие то меры по коррекции всего этого- приняты? А то модуля GРS на фото- как то не видно? Может,сослепу не заметил А без него "0" править- нереально.
    Вопрос 2- на какое максимальное время летал данный аппарат (справка- современные БПЛА летают до 2,5 часов, что делает очень критичными вопросы термо/вибро и другой нестабильности АП)? В Питере есть очень серьезные ребята, занимающиеся этими вопросами: Проект "Атлас".
    Третье: Вы в курсе, что есть такой АрдуПилот, который в готовом виде- стОит около 50$, рамеры имеет (насколько можно судить по фото)- раза в 3 меньше, а есть и наборы для самосборки...Автопилот ArduPilot с открытым программным обеспечением
    И этот АП- летает давно и успешно, листинг- открыт, делай что хочешь
    Последний раз редактировалось blade; 10.02.2018 в 08:17.

  5. #4

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Спасибо за комментарий, а то я уже подумал, что тема совсем никого не интересует. (: GPS есть, это можно видеть на фото самолета, на схеме от него только асинхронный последовательный интерфейс (UART). Кроме того, есть магнитный компас от Honeywell.
    Нажмите на изображение для увеличения
Название: IMG_20170817_131545sm.jpg
Просмотров: 47
Размер:	57.9 Кб
ID:	1395719
    1) Жаль, что Вы не посмотрели блог. Я уже получал сообщения о проблемах с гиро, в т.ч. о фильтрах Кальмана, и что без них – не полетит. Однако мне дрейф гиро не грозит, поскольку гироскоп (MEV-50A) я использую нетрадиционно и по этому поводу я не получал никаких опровержений или замечаний.
    2) Время полета в одном из испытаний максимально было около 2 минут (см. черный ящик) из-за слабости аккумулятора и перегрузки самолета. Однако, на большой самолет (wingspan 2.08M, ДВС) я пока автопилот ставить не готов, поскольку не хочется снова его разбить, как это было во втором испытании. Но будьте справедливы: серьезные ребята занимаются этим в рабочее время и за серьезные деньги. Я же cделал все один и в рамках хобби.
    3) Да, я знаю про АрдуПилот. Размер сейчас не так важен, поскольку это прототип. Можно конечно развивать то, что кто-то однажды предложил, не предлагая ничего нового и своего. Но ведь можно тогда вообще ничего не изобретать, а купить просто готовый китайский автопилот. Именно так судя по форумам все и делают. Это дело вкуса и возможностей. Я предложил один из вариантов.

  6.  
  7. #5

    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    48
    Сообщений
    8,593
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    а купить просто готовый китайский автопило
    Ну, так делают далеко не все: в ветке "Полеты по камере, телеметрия" есть два вполне серьезных парня, которые с "0" разработали и довели до уровня промышленного образца свои автопилоты, рядом с которыми Арду- и не лежал. Smalltim и Aviaks.
    То, что предлагаете Вы- весьма сырое изделие: Вы даже не в курсе, что фильтр Калмана- не способ коррекции гироскопов, а способ усреднения данных. Кстати, в Арду- используется не он, а ПИД регуляторы.
    И уход "0" от силы Кориолиса нельзя побороть никаким "оригинальным включением гироскопов"- это чисто физический процесс, связанный с вращением Земли. И корректируется он при помощи GPS и 3D магнитного компаса.
    Удачи Вам!

  8. #6

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Спасибо Я почитал про фильтры Калмана, да это несомненно отличная вещь для всего чего угодно, где нужно качественно делать усреднение. Скорее всего я возможно при наличии времени подумаю о применении этого в своем ПО. Нашел еще и магистерскую работу, ознакомился с терминологией. В своем проекте я и использую ПИД регуляторы, и конечно с обработкой измерений, но своими методами, скорее классическими. А вот что касается силы Кориолиса, то она для меня не имеет особого значения. Более того, готов с Вами поспорить, что очень точный гироскоп делать бессмысленно все равно из-за серьезного вмешательства в полет самолета внешних воздействий. Кстати, это хорошо видно в фильме, демонстрирующем выход самолета из штопора, и по поведению авиагоризонта, работающего по принципу расчета крена по угловой скорости. Поэтому конечно я использую и магнитный компас(2D), и GPS. Лежит в запасе minimu9, с 3D компасом, акселерометром и гироскопом. Но если Вы когда-нибудь что-то делали с контроллерами, Вы понимаете, что только на словах все подключается легко. А реально получается не быстро и не сразу. И да, это такой просто трюк - все сделано неправильно, но самолет реально летает, и пролетает в 3 м от заданной в полетном задании точки, и выполняет посадку в нормальном самолетном режиме, а не на парашюте, как у некоторых серьезных парней.

  9. #7

    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    48
    Сообщений
    8,593
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Я почитал про фильтры Калмана
    Ну, на этом этапе я- был примерно 10 лет назад
    Так что Вас- впереди масса нового и интересного!
    Дерзайте!
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    я использую и магнитный компас(2D)
    Ну, в таком режиме- он ничего не даст, от слова вообще. При наклоне от горизонта- там такая искажуха прет...
    Нужен 3Д
    Да и уже есть комплексные микросхемы, в которых 3 гиры, 3 акселя, Калман- оператор и даже- два типа выходных протоколов.
    Есть ли там компас- не уверен, надо у ребят спросить.

  10.  
  11. #8
    ADF
    ADF вне форума

    Регистрация
    03.01.2004
    Адрес
    Томск
    Возраст
    36
    Сообщений
    14,011
    Записей в дневнике
    19
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    не хочется снова его разбить, как это было во втором испытании.
    Всего два раза реально летал?! Так разработка не ведётся. Можно сказать, что (несмотря на все усилия) ваш автопилот еще не испытан толком.

    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Но будьте справедливы: серьезные ребята занимаются этим в рабочее время и за серьезные деньги.
    - Множество проектов как раз любителями и в рамках хобби сделаны!

  12. #9

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Привет, как Вы так сходу делаете выводы типа я не смотрел, но мне не нравится... не, ну не два конечно испытания. Посмотрите все-таки сам блог, там много испытаний, они разные, и на мой взгляд интересные. А долго делал, да, к сожалению такова жизнь, не было возможности по разным причинам, но решил таки довести до чего то законченного. Это второе испытание было неудачное из-за плохого гироскопа, и это подтверждено графиками полетных данных и видео. Более того, сравнил по характеристикам гироскопы. И я как раз из того множества, которое делает в рамках хобби, и еще и делится кодами, которые можно реально использовать. Например, Вы в курсе как устроена FAT32? Или, может лучше вовсе не делать, или делать, но не делиться? А хотите, посмотрите pdf. Там все сразу, и в одном месте, и все ссылки рабочие.

  13. #10

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от blade Посмотреть сообщение
    Ну, на этом этапе я- был примерно 10 лет назад
    У нас с Вами разные этапы. На моем вы точно не были, поскольку осведомленность о фильтрах Калмана не является достаточным условием для реализации такого проекта.
    Цитата Сообщение от blade Посмотреть сообщение
    При наклоне от горизонта- там такая искажуха прет...
    Об этом у меня написано в блоге, возможно, Вам известно о возможности компенсации крена при расчете курса. Есть графики, демонстрирующие компенсацию и для 2D компаса.

  14. #11

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Вообще, как электронщика с детства, меня немного коробит когда используется жаргон при обозначении компонентов. В детстве читая книжку по электронике до поступления в техникум я даже неправильно называл эмиттер транзистора - с ударением на "е", поскольку подсказать было некому.
    Нажмите на изображение для увеличения
Название: 25121.jpg
Просмотров: 7
Размер:	90.8 Кб
ID:	1405971Нажмите на изображение для увеличения
Название: IMG_20180322_112955.jpg
Просмотров: 9
Размер:	13.4 Кб
ID:	1405977
    Например, я никогда не назову конденсатор "кондюком", резистор "резюком". Ну операционный усилитель называть "операционник" нормально. Диси-дисишка - может тоже ничего. Мне кажется, что тот, кто называет акселерометр "акселем", а гироскопы "гиры", вряд ли работал с ними всерьез... Как-то кажется, нужно уважать такие продукты. ИМХО

  15. #12
    ADF
    ADF вне форума

    Регистрация
    03.01.2004
    Адрес
    Томск
    Возраст
    36
    Сообщений
    14,011
    Записей в дневнике
    19
    Вы не правы. Как раз жаргон рождается в среде людей, которые в этом по уши и самые настоящие профессионалы. И кондёр конденсатор порой обзывают сразу по типу - электролит, тантал.
    Все жаргонные слова - короче официальных названий и служат для ускорения общения; они служат для ёмкой передачи смысла, а не энциклопедических-академических знаний.

  16. #13

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Ну , кондёр, наверное да, и электролит, сам так говорю, но как можно про уже такие сложные приборы то так говорить) Ну Аксель... - ну неважно же звучит)

  17. #14

    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    48
    Сообщений
    8,593
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Ну Аксель... - ну
    Ясен пень! Неэстетишно!
    А уж как плохо звучит "гиро"
    Тем более когда знаешь, что применяемые в автопилотах "гироскопы"- таковыми ни разу не являются, а вовсе они- датчики угловых скоростей, то есть ДУС

  18. #15

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Пожалуй, согласен!

  19. #16

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Вот такая платка автопилота получилась, 90х60:
    Нажмите на изображение для увеличения
Название: GPL12M15_V1_0.jpg
Просмотров: 40
Размер:	61.9 Кб
ID:	1409787
    Но не уверен, что стоит ее изготавливать, поскольку уж больно дорогие и редкие датчики я применил. Кажется, надо перейти на L3GD20 и LSM303DLM. Они в 5 раз хуже по характеристикам, но зато в 10 раз дешевле и доступны даже в чип-дипе.

  20. #17

    Регистрация
    21.01.2016
    Адрес
    Санкт петербург
    Возраст
    40
    Сообщений
    136
    Автору темы спасибо, интересная тема. Я также занимаюсь с самодельными "полетниками" на базе Arduino DUE, но для квадриков.
    Я пошел по жесткому и самостоятельному пути "изобретения велосипеда", не обращая внимания на готовые примеры и варианты, только свои идеи и задумки.
    Естественно в результате недостаточного опыта в разработке полетной автоматики имеется большое количество вопросов.


    В чужих примерах видел что для получения обратной связи по тангажу и крену с гироскопа используется функция включающая коэффициент полученный в результате расчета векторной суммы трех величин ускорений (тангаж+рыск+крен) для чего это нужно понять не могу. А также для расчета ОС по крену и тангажу от сигналов гироскопа применяется функция arcsin - также не могу понять для чего (явно для линеаризации, но только как это положительно влияет?).


    Я использую самодельный ПИД для стабилизации в контурах тангажа и крена где в ОС фильтрованные простым рекуррентным фильтром сигналы гироскопа, в качестве аргумента для диф. составляющей я не стал высчитывать производные от гироскопа, просто взял сигналы от акселерометра (ускорение это и есть производная от сигнала гироскопа ). Интегральная часть классическая, но с примочкой: гашу интегратор в ноль при малых углах рассогласования (менее 0.5 град. ошибки) и при больших углах рассогласования более 20град. отработка гашений инерциальных движений только по производным - хрен его знает на сколько это правильно, сделал так на всякий случай.


    горизонт держит на удивление великолепно и не трясется.


    Есть еще проблема с некоторыми датчиками: не могу прочитать их на DUE, по этой причине не могу пробовать свои идеи дальше

  21. #18

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    38
    Сообщений
    4,547
    Записей в дневнике
    9
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Но не уверен, что стоит ее изготавливать, поскольку уж больно дорогие и редкие датчики я применил. Кажется, надо перейти на L3GD20 и LSM303DLM. Они в 5 раз хуже по характеристикам, но зато в 10 раз дешевле и доступны даже в чип-дипе.
    не стоит? я всегда был за, но время и китайцы диктуют свои правила, одно скажу - никаких ЛСМ - намучаетесь с акселем, возьмите MPU9250 (3 в 1), далее вам решать и барометр возьмите ms5611 - пригодится...
    а по сути, если вы делаете чисто для себя и датчики у вас куплены - не меняйте...

  22. #19

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от mit65536 Посмотреть сообщение
    В чужих примерах видел что для получения обратной связи по тангажу и крену... ...применяется функция arcsin - также не могу понять для чего...
    Привет! У квадриков думаю все не так, как в самолетах, не знаю даже сможет ли мой автопилот при изменении софта обслужить квадрокоптер. Как мне представляется, данные от гироскопов нужно интегрировать для получения угла разворота, а arcsin используется для вычисления угла крена и тангажа по данным акселерометра. Правда при развороте с креном скорее всего так же как в самолетах определить крен только с помощью акселерометра нельзя. Я вычисляю крен по данным датчика угловой скорости и линейной скорости, получаемой от GPS или датчика воздушной скорости.

    Цитата Сообщение от mit65536 Посмотреть сообщение
    Я использую самодельный ПИД для стабилизации в контурах тангажа и крена..
    - Я делаю примерно так же) Ну т.е. делаю ОС простыми средствами. С датчиками я не помогу, поскольку не работал с Ардуино. Однако софт у меня в блоге выложен, если датчики похожие и Ардуино не на Linux, то может чем-то и поможет. У меня сложности были в основном с I2C - заработало не сразу. А вот опробовать minIMU-9 уже удалось подключить на раз, поскольку I2C был уже настроен.

    Цитата Сообщение от SergDoc Посмотреть сообщение
    ...не стоит? я всегда был за, но время и китайцы диктуют свои правила...
    Привет! Да, вот уже закажу завтра, действительно лучше сделать на имеющихся датчиках, а потом если захочется сравнить - тогда и для других сделать. Вот на рисунке поведение minIMU9 при помещении его в морозилку.
    Параметры и правда в 5 раз хуже чем у дорогих датчиков, кроме компаса - у меня пока 2- осевой. Из графиков видно, что компас вообще мороз почти не чувствует.
    Нажмите на изображение для увеличения
Название: Minimu9.jpg
Просмотров: 7
Размер:	101.5 Кб
ID:	1413768
    Последний раз редактировалось Maksimuzz; 23.04.2018 в 00:01.

  23. #20

    Регистрация
    21.01.2016
    Адрес
    Санкт петербург
    Возраст
    40
    Сообщений
    136
    Для определения статических углов крена и тангажа великолепно справляется MPU6050, оно выдает 3 сигнала угловых ускорений и 3 сигнала (2 настоящих! по Х и Y) статические углы наклона! никакие интеграторы там уже не нужны, уже все готово,нормируем и пользуемся! только по оси Z - вертикальная ось оно выдает сигнал "статической гравитации" его я использовал только для компенсации вертикальных ускорений (при резком провале высоты автоматически подгазовывает и при подпрыгивании сбрасывает газ). Идеи с интегратором угловых ускорений , особенно для получения некоторой стабилизации по рыску полностью провалились, - работает очень плохо, низкая точность и зашумленность сигналов акселерометра, работает очень грубо и я от этого отказался.

    Разбираюсь с 3х осевым магнетометром, задача оказалась не из легких: 3 сигнала магнетометра Y,X,Z оказались эфимерными величинами, никак не связанными с физикой зх мерного пространства
    все жестко завязано на физику магнитного потока проходящего через магнетометр в различных направлениях. Эти сигналы - 3 синусойды зависимости от поворота корпуса относительно направления
    магнитного потока, в сыром виде их можно использовать при гарантии отсутствия даже микроскопических кренов корпуса магнетометра относительно горизонта. Для квадрокоптера это невозможно
    и по этой причине определение курса-направления рыска использование магнетометра возможно ТОЛЬКО СОВМЕСТНО!! с гироскопом:
    Сигналы магнетометра Y, X, Z + используя статические углы от гироскопа по тангажу и крену перевожу в горизонтальную плоскость (Xh, Yh),
    где
    Xh = X*cos(тангаж) + Y*sin(крен)*sin(тангаж) - Z*cos(крен)*sin(тангаж)
    Yh = Y*cos(крен) + Z*sin(крен)
    Далее пределяю грубый курс, разбив круг курса на 6 секторов
    Направление для (Xh <0) = 180 - arcTan(Yh/Xh)
    Направление для (Xh >0, Yh <0) = - arcTan(Yh/Xh)
    Направление для (Xh >0, Yh >0) = 360 - arcTan(Yh/Xh)
    Направление для (Xh =0, Yh <0) = 90
    Направление для (Xh =0, Yh >0) = 270
    далее используя синусойды с сигналов X и Y математикой подгоняю более менее грубо угол рыска внутри секторов курса-направления.
    На практике пока работает хреново, кое как вписывается в сектор ошибок в 45 градусов окружности (почти как у Pixhawk px4, может даже лучше чем у пикса ).
    стараюсь улучшить работу, надеюсь на победу.
    У кого есть какие идеи или замечания по этой теме напишите пожалуйста, у меня очень слабая теоретическая подготовка, нужны советы.
    Последний раз редактировалось mit65536; 26.04.2018 в 12:50.

  24. #21

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от mit65536 Посмотреть сообщение
    великолепно справляется MPU6050
    Добрый день!
    Нет ли у Вас случайно измеренных данных по нему, меня больше всего интересует шумовая дорожка (для minIMU -9 в моем графике размах порядка 1 град/сек,) и температурный дрейф. Дело в том что даташите на него написано +-20 град/сек во всем диапазоне. При моем способе стабилизации крена 1 град/сек при скорости 36 км/ч приводит к ошибке удержания крена в 1 градус. 20 град. в секунду в таком случае не подходит совсем. Скорость моего ЛА порядка до 100 км/ч, поэтому приемлемый дрейф ну не во всем диапазоне, ну хотя бы реалистичном +- 10 градусов не должен превышать несколько единиц град/с...

  25. #22

    Регистрация
    21.01.2016
    Адрес
    Санкт петербург
    Возраст
    40
    Сообщений
    136
    Конкретно измерениями уровня шумов и получением графиков, я не занимался. У меня все достаточно кустарно.
    Для фильтрации сигналов угловых ускорений от акселерометра и статических углов крена и тангажа от гироскопа я применяю примитивный рекуррентный фильтр:
    сигнал_тмп: = (вход - выход)*коэфициент фильтрации;
    выход:= выход + сигнал_тмп;
    коэфициент фильтрации подбираю экспериментально практическим путем - чтобы быстродействие фильтра было удовлетворительным,
    было на порядок меньше времени инерциальной реакции квадрокоптера на крены,
    и качество отфильтрованного сигнала тоже было удовлетворительным, чтобы сигнал не прыгал и не дергался от помех и шумов
    качество фильтрации и быстродействие фильтра это вещи взаимо противоположные.
    Тут сильно помогает малое время цикла ПЛК, когда контроллер шустрый и много мегагерц - это хорошо!


    Такого фильтра для черепашьего квадрика более чем достаточно, для самолета.... я не знаю

    Дреифа у MPU6050 я сильно не заметил. Несколько месяцев назад подогнал и отнормировал сигналы под горизонт на экспериментальной платке
    На прошлой неделе достал, сдул пыль, включил, все работает как часы, ничего никуда не ушло, горизонт "держит" ка прибитый

    Дрейф и ошибки показаний от вибраций, я у себя не заметил, видимо другие условия, более легкие, меньше влияний

    20 градусов в секунду, это ужасно... тут где то происходит накопление..... Что то неправильно видимо в коде программы или еще где.. или адские вибрации

    В своей практике от применения интеграторов в математике стабилизации горизонта я отказался, все стараюсь снизить порядок функций применяя больше обратных связей
    Последний раз редактировалось mit65536; 26.04.2018 в 13:22.

  26. #23

    Регистрация
    21.01.2016
    Адрес
    Санкт петербург
    Возраст
    40
    Сообщений
    136
    Вот еще, если кому будет интересно, упрощенный вид фильтра кальмана:


    // перменные для кальмана
    float varSignal = 0.25; // среднее отклонение (ищем в excel) определяем из ряда разных выборок сигнала датчика
    float varProcess = 0.025; // скорость реакции на изменение (подбирается вручную)
    float Pc = 0.0;
    float G = 0.0;
    float P = 1.0;
    float Xp = 0.0;
    float Zp = 0.0;
    float Input; //переменна вход фильтра кальмана
    float Output = 0.0; //переменная выход фильтра кальмана


    void setup() {
    // open a serial connection to display values
    Serial.begin(9600);
    }
    void loop() {

    // фильтр кальмана
    Pc = P + varProcess;
    G = Pc/(Pc + varSignal); // коэфициент усиления кальмана
    P = (1-G)*Pc;
    Xp = Output;
    Zp = Xp;
    Output = G*(Input-Zp)+Xp; // выход фильтра кальмана

    Serial.print(Input,5);
    Serial.print(",");
    Serial.print(Output,5);
    Serial.println();
    }

  27. #24

    Регистрация
    28.02.2010
    Адрес
    Питер
    Возраст
    38
    Сообщений
    1,037
    Записей в дневнике
    14
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    Добрый день!
    Нет ли у Вас случайно измеренных данных по нему, меня больше всего интересует шумовая дорожка (для minIMU -9 в моем графике размах порядка 1 град/сек,) и температурный дрейф. Дело в том что даташите на него написано +-20 град/сек во всем диапазоне. При моем способе стабилизации крена 1 град/сек при скорости 36 км/ч приводит к ошибке удержания крена в 1 градус. 20 град. в секунду в таком случае не подходит совсем. Скорость моего ЛА порядка до 100 км/ч, поэтому приемлемый дрейф ну не во всем диапазоне, ну хотя бы реалистичном +- 10 градусов не должен превышать несколько единиц град/с...
    Если гира откалибрована, то дрейф довольно низкий. Не скажу точно, но минут порядка 10 удерживает направление с отклонением несколько градусов. При условии отсутствия вибрации. При вибрации несколько хуже, но все равно неплохо. Но дрейф гироскопа имеет свойство меняться по знаку или величине от легких встрясок или еще не пойми от чего.
    Напишите конкретные параметры, могу измерить через пару недель, когда вернусь к работе с MPU6050. Могу также вычислить разные статистические характеристики.

  28. #25

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от mit65536 Посмотреть сообщение
    Разбираюсь с 3х осевым магнетометром
    Все верно, я тоже осознал почти сразу, что наклон меняет показания компаса с точностью до наоборот... Без компенсации со знанием текущего положения платформы- невозможно им пользоваться. Однако я по неопытности сначала купил компас 2 -осевой, и ось Z при расчете компенсации пришлось принять константой, хотя это и не правильно, но как то так немного лучше. Крен у меня вычисляется по Z оси гироскопа и скорости полета, тангаж измеряется акселерометром. Но у меня самолет. Программное обеспечение и полученные результаты можно посмотреть в блоге. Но в полете курс отслеживается по GPS, хотя компас пока скорость 0 показывает курс честно. Еще не забывайте о калибровке компаса. Ее периодически надо делать, иначе намагничиваются различные компоненты и это дает погрешности в измерения. Но когда я смотрю на характеристики компаса и там пишут что точность( в 2-осевом!!!) 0.1 градуса - ну это мне становится смешно. Компас у меня HMC6352.

    Цитата Сообщение от kasmirov Посмотреть сообщение
    Напишите конкретные параметры, могу измерить через пару недель, когда вернусь к работе с MPU6050.
    Привет!
    Меня прежде всего интересует температурный дрейф ( морозилка тест) и шумовая дорожка. Я выше тут привел графики поведения модуля minIMU9. Там шумовая дорожка гироскопа без сглаживания как есть получилась 1 градус в секунду. Многовато для моего способа стабилизации самолета по крену, но терпимо. Но MEV-50A в моей первой версии давал 0.2 градуса в секунду.

  29. #26
    ADF
    ADF вне форума

    Регистрация
    03.01.2004
    Адрес
    Томск
    Возраст
    36
    Сообщений
    14,011
    Записей в дневнике
    19
    К слову. Отличный онлайн-калькулятор фильтров: https://www-users.cs.york.ac.uk/~fis...lter/trad.html
    Вдумчиво задав параметры, можно полчить оптимальную фильтрацию под задачу.
    В конце выгоняет код на си, легко адаптируемый под любой ЯП.

  30. #27

    Регистрация
    21.01.2016
    Адрес
    Санкт петербург
    Возраст
    40
    Сообщений
    136
    Ура! магнетометр HMC5883 побежден! удалось из него и +гироскоп MPU6050 сделать полноценный компас с компенсацией тангажей и кренов. Также удалось (много времени тому) успешно читать дату с ГПС приемника NEO8M. Приступаю к придумыванию программки для удержания позиции и возврата в точку взлета

  31. #28

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Поздравляю! Мне тоже следовало заменить датчик HMC6352 на HMC5883. Хотел заказать HMC6352, но предлагают покупать за 4000 р за штуку. Вобщем, мне дешевле переразвести и перезаказать плату, чем покупать за такие деньги.

  32. #29

    Регистрация
    17.01.2018
    Адрес
    Санкт-петербург
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от mit65536 Посмотреть сообщение
    Ура! магнетометр HMC5883 побежден!
    Скажите, а какой модуль у Вас с HMC5883? У Вас настоящий HMC5883 или аналог DA5883? И как странно, они бы(Honeywell) для этого 3x3 мм чипа побольше питаний сделали, а то только 2.5 и 1.8 В... Это же не Zinq Ultrascale.. Даешь на каждую ножку по уникальному питанию! Вот думаю заказать и прилепить вместо HMC6352.

  33. #30

    Регистрация
    09.01.2007
    Адрес
    Александров
    Возраст
    57
    Сообщений
    2,217
    Цитата Сообщение от Maksimuzz Посмотреть сообщение
    HMC6352, но предлагают покупать за 4000 р
    Посмотрите тут

+ Ответить в теме

Похожие темы

  1. Строительство RC модели БМС.
    от lz130 в разделе Копии
    Ответов: 35
    Последнее сообщение: 02.07.2018, 11:07
  2. Продам Запчасти для RC моделей
    от Синяя Ворона в разделе Барахолка. Автомодели - комплектующие
    Ответов: 17
    Последнее сообщение: 03.01.2018, 23:51
  3. Ответов: 38
    Последнее сообщение: 30.06.2017, 13:47
  4. Ответов: 4
    Последнее сообщение: 28.05.2017, 00:52
  5. Продам Много кузовов для самых различных RC моделей
    от morgan.UC в разделе Барахолка. Автомодели - комплектующие
    Ответов: 6
    Последнее сообщение: 14.05.2017, 00:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения