Activity

Графическое отображение данных с сом-порта.

Привет! Я не дописал прием данных через TCP IP, просто тут очень трудно стандартизовать поток, в отличие от определенности ком-порта. А вот тут выложил еще zip файл программы. Наверное поэтому не хочет сохранять.

Графическое отображение данных с сом-порта.

Однажды захотелось посмотреть сигналы с датчиков через ком порт как на осциллографе с прокруткой. Удачного быстрого решения найти не удалось. (Либо не работает, либо все слишком сложно, свои скрипты и пр. ) В помощь себе написал программку. Прошу не слишком злиться за недоступность авто-прокрутки без регистрации. Платить не обязательно, кому нужно key вышлю на почту. Может кому-то поможет в работе. Программу назвал ComView.

Данные подавать просто до 16 значений через запятую, можно целые или с десятичной точкой. Настраивается только коэффициент усиления и смещение относительно 0. Это могут быть любые данные, а блок IMU - для проверки датчиков, тут и правда нужно почитать описание. Каналы можно включать и выключать с помощью первого checkbox, и автоподбор усиления и смещения второй checkbox. Настройки сохраняются по умолчанию в файлике comview.ini, для сохранения нужно нажать сохранить. Настройки считываются при запуске автоматически из последнего сохраненного файла. Ставил главную задачу, чтобы обязательно поначалу данные были бы видны в окошке графика в режима автомасштабирования. Настройки цветов графиков не сохраняются в ini-файле. Данные нужно подавать в строковом виде, ну т.е. обычный printf(“%d, %f,%3.2f”, A,B,C); Выглядеть должно так же как в окошке memo на рисунке, там у меня 11 параметров. Испытуемый minIMU-9 + AT91SAM7. Всегда пишется log файл вида cviewXXX.log. Доступны порты COM1-COM10. Если они уже заняты, посмотрите в help как решить проблему. (Предполагается использование UASRT-USB конвертеров Prolific, FTDI и другие.)

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

Ура! магнетометр HMC5883 побежден!

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

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

Поздравляю! Мне тоже следовало заменить датчик HMC6352 на HMC5883. Хотел заказать HMC6352, но предлагают покупать за 4000 р за штуку. Вобщем, мне дешевле переразвести и перезаказать плату, чем покупать за такие деньги. 😦

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

Разбираюсь с 3х осевым магнетометром

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

kasmirov:

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

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

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

великолепно справляется MPU6050

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

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

В чужих примерах видел что для получения обратной связи по тангажу и крену… …применяется функция arcsin - также не могу понять для чего…

Привет! У квадриков думаю все не так, как в самолетах, не знаю даже сможет ли мой автопилот при изменении софта обслужить квадрокоптер. Как мне представляется, данные от гироскопов нужно интегрировать для получения угла разворота, а arcsin используется для вычисления угла крена и тангажа по данным акселерометра. Правда при развороте с креном скорее всего так же как в самолетах определить крен только с помощью акселерометра нельзя. Я вычисляю крен по данным датчика угловой скорости и линейной скорости, получаемой от GPS или датчика воздушной скорости.

mit65536:

Я использую самодельный ПИД для стабилизации в контурах тангажа и крена…

  • Я делаю примерно так же) Ну т.е. делаю ОС простыми средствами. С датчиками я не помогу, поскольку не работал с Ардуино. Однако софт у меня в блоге выложен, если датчики похожие и Ардуино не на Linux, то может чем-то и поможет. У меня сложности были в основном с I2C - заработало не сразу. А вот опробовать minIMU-9 уже удалось подключить на раз, поскольку I2C был уже настроен.
SergDoc:

…не стоит? я всегда был за, но время и китайцы диктуют свои правила…

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

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

Вот такая платка автопилота получилась, 90х60:

Но не уверен, что стоит ее изготавливать, поскольку уж больно дорогие и редкие датчики я применил. Кажется, надо перейти на L3GD20 и LSM303DLM. Они в 5 раз хуже по характеристикам, но зато в 10 раз дешевле и доступны даже в чип-дипе.

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

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

Например, я никогда не назову конденсатор “кондюком”, резистор “резюком”. Ну операционный усилитель называть “операционник” нормально. Диси-дисишка - может тоже ничего. Мне кажется, что тот, кто называет акселерометр “акселем”, а гироскопы “гиры”, вряд ли работал с ними всерьез… Как-то кажется, нужно уважать такие продукты. ИМХО

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

Ну, на этом этапе я- был примерно 10 лет назад

У нас с Вами разные этапы. На моем вы точно не были, поскольку осведомленность о фильтрах Калмана не является достаточным условием для реализации такого проекта.

blade:

При наклоне от горизонта- там такая искажуха прет…

Об этом у меня написано в блоге, возможно, Вам известно о возможности компенсации крена при расчете курса. Есть графики, демонстрирующие компенсацию и для 2D компаса.

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

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

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

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

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

Спасибо за комментарий, а то я уже подумал, что тема совсем никого не интересует. (: GPS есть, это можно видеть на фото самолета, на схеме от него только асинхронный последовательный интерфейс (UART). Кроме того, есть магнитный компас от Honeywell.

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

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

Автопилот сделан на базе отладочной платы. Схема состоит из схемы отладочной платы и периферии:

Проект с исходниками софта для контроллера находиться тут. Одна из моделей для испытаний представлена
на рисунке ниже.

Это Wing Dragon Sportster, размах 1.18М, взлетный вес по паспорту 650г, реально измеренный 750г,
с автопилом 840г. (явный конечно перегруз) Более подробно с проектом можно ознакомиться в моем блоге.
В статье выдвинута концепция построения автопилота для радиоуправляемого беспилотного самолета на базе
дешевого контроллера и современных инерциальных датчиков положения. Концепция проверена на модели
виртуальной с использованием симулятора X-Plane 6 и на реальной модели с толкающим винтом и
электрическим мотором. Предложен вариант алгоритма полета по маршруту с использованием GPS. Проведены
испытания, построены графики и обсуждены полученные полетные данные. Приведена программа расчета
центровки самолета с использованием программируемого калькулятора под Android и приведен пример ее
использования. Доступны все исходники от моделирования до проекта печатной платы.