Система управлением БПЛА

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
mirexzpalich
Родился
Сообщения: 18
Зарегистрирован: Чт мар 21, 2013 17:26:46

Система управлением БПЛА

Сообщение mirexzpalich »

Здравствуйте, уважаемые чеширские коты.

Это вновь я, уже немного прозревший и очень амбициозный котенок.


ЛИРИКА
Наверное, многие в детстве любили запускать воздушных змеев, запускать бумажные самолетики с крыши школы... Время идет, самолетики уходят в прошлое. Но все же еще где-то внутри греется мысль о полетах.
Осенью прошлого года нам предложили уже подумывать с темами для дипломных проектов. Уже тогда я точно знал что мой проект будет как-то связан с авиацией. И вот, когда в феврале были назначены руководители и начались раздачи тем. Я предложил своему руководителю тему "Систему управления БПЛА". И вот в приказе о дипломных работах красуется моя тема.

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

ПРОЧТИТЕ, ПОЖАЛУЙСТА
Итак что я имею в планах:
Коробочка с входами и выходами, которую помещают в модельку самолета и подключат к ней сервы элеронов, руля высоты и путевого руля, а так же управляющий контакт регулятора хода для безколлекторного двигателя.

Что имею.
GPS-приемник работающий по протоколу SPI.
Датчик давления воздуха, для определения относительной высоты. протокол I2C.
Акселерометр. для определения углов тангажа и крена. протокол I2C.
SD карточка с маршрутом полета и конфигом системы.

Какие у меня вопросы:
1) Какой кристалл сможет все это дело потянуть? Сам склоняюсь к ATmega1284P-AU. Памяти хватить должно, но хватит ли его вычислительной мощи?
Может имеет смысл использовать ARM?
2) GPS и SD работают по SPI. Как их можно сдружить имея 1аппаратный SPI?
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Система управлением БПЛА

Сообщение shads »

mirexzpalich писал(а):И вот в приказе о дипломных работах красуется моя тема.

Сурьезнейшую тему ты выбрал..... друг.....
С интересом буду следить.....

Так на вскидку.... могу и ошибаться.....
Думаю любой AVR потянет, только по памяти надо будет подобрать.
SPI можно и программный для доп каналов.....

А вообще тенденция движется в сторону ARM.....
Так что если совсем уж амбиции переполняют и трудности не страшны.... можно и на нем.....
mirexzpalich
Родился
Сообщения: 18
Зарегистрирован: Чт мар 21, 2013 17:26:46

Re: Система управлением БПЛА

Сообщение mirexzpalich »

shads, на счет программного SPI я тоже думал, но это опять - память не рязиновая :)
Может можно как-нибудь другим способом обойтись? например что если использовать драйвера, например 1533АП14 ? Сначала считываем GPSданные, отключаем драйвер, включаем драйвер для SD карты?

Но тут тоже есть 2 вопроса:
1) 1533АП14 8разрядный, а SPI - 4 провода. Тоесть по 1драйверу на каждого - задействованы только половина контактов. Не красиво( Есть ли 4 разрядные?
2) Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Система управлением БПЛА

Сообщение shads »

mirexzpalich писал(а):например что если использовать драйвера, например 1533АП14 ? Сначала считываем GPSданные, отключаем драйвер, включаем драйвер для SD карты?
Я то особо и не имел дела с SPI, но ща почитал, там оказывается на одного ведущего можно много ведомых подключать.....
http://ru.wikipedia.org/wiki/Serial_Per ... _Interface
http://www.gaw.ru/html.cgi/txt/interface/spi
http://avr.ru/ready/inter/spi/spi

mirexzpalich писал(а):Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
Сам еще не работал с SD, надо будет покапать в этом направлении.....
mirexzpalich
Родился
Сообщения: 18
Зарегистрирован: Чт мар 21, 2013 17:26:46

Re: Система управлением БПЛА

Сообщение mirexzpalich »

Чтобы повесить несколько ведомых на каждого ведомого надо свой сигнал SS. А каскадно GPS думаю наврятли соединить с SD можно.
Кстати все таки по-моему я нашел что искал - SN54ALS244C. В одной микрухе 2драйвера по 4 разряда. Это хорошо.
GPS ведь достаточно при запуске инициализировать, а потом когда надо - опращивать, так что его драйвером отключить - милое дело. А если даже SD надо будет заново инициализировать - не беда, десяток миллисекунд думаю не будет критично)
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Система управлением БПЛА

Сообщение TripleKill »

А GPS ведь тоже высоту выдаёт. Корректировать хотите?
Для углов Вам не акселерометр нужен, а гироскоп. С акселя только в отсутствие разгона/торможения можно угол получить, а так данные не те будут - ускорение же меряем.

P.S. Недавно STM32F3 Discovery взял посмотреть. На ней есть и акселерометр, и гироскоп, и электронный компас. Крутая штука.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Система управлением БПЛА

Сообщение ibiza11 »

mirexzpalich писал(а):SD карточка с маршрутом полета и конфигом системы.
т.е. Вы хотите чтобы он по маршруту полетал?
TripleKill писал(а):Недавно STM32F3 Discovery взял посмотреть.
Я тоже рекомендую не выдумывать, а взять STM32F3Discovery - на борту уже все есть, кроме карточки, только программу написать. Уверен, что AVR не справится с задачей. Обсчет инерциальной системы - непростая задача.
Ставим плюсы: )
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25146
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Система управлением БПЛА

Сообщение КРАМ »

mirexzpalich писал(а):Осенью прошлого года нам предложили уже подумывать с темами для дипломных проектов..............
..........
..........
Акселерометр. для определения углов тангажа и крена...
..........

Для дипломного проекта конечно все равно, но акселерометр не пригоден для определения ориентации ДВИГАЮЩЕГОСЯ С УСКОРЕНИЕМ тела.
Сиречь, любой маневр по определяемым координатам приведет к такой ситуации... :cry:
Аватара пользователя
Волчок
Родился
Сообщения: 6
Зарегистрирован: Вт май 28, 2013 11:14:08

Re: Система управлением БПЛА

Сообщение Волчок »

Осмелюсь немного поправить. Не путевой руль, а руль направления.
TripleKill писал(а): Для углов Вам не акселерометр нужен, а гироскоп. С акселя только в отсутствие разгона/торможения можно угол получить, а так данные не те будут - ускорение же меряем.

Плох тот гироскоп, который не имеет в друзьях акселерометра. Знать угол это конечно хорошо. Но это половина дела. Необходимо знать и угловые ускорения ЛА вокруг его осей. Это напрямую влияет и на отработку рулевых поверхностей при маневре и при парировании воздействий внешних сил.
TripleKill писал(а):P.S. Недавно STM32F3 Discovery взял посмотреть. На ней есть и акселерометр, и гироскоп, и электронный компас.

Компас нужен однозначно, дельный совет.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25146
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Система управлением БПЛА

Сообщение КРАМ »

Волчок писал(а):Плох тот гироскоп, который не имеет в друзьях акселерометра.

А что, данные с гироскопа не дифференцируемы? 8)
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Система управлением БПЛА

Сообщение ibiza11 »

гироскоп показывает угол, а акселерометр - ускорение. это ж вторая производная. (поправьте, если я не прав) есть ли смысл мучать контроллер математикой, когда можно получить данные с акселерометра сразу?
Ставим плюсы: )
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25146
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Система управлением БПЛА

Сообщение КРАМ »

А вторая производная разве не есть дифференциал второго порядка?
Дифференцирование - простейшая математическая операция и "грузить МК" будет точно не она.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Система управлением БПЛА

Сообщение Kavka »

mirexzpalich писал(а):2) Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
Обычно так и делают при одном SPI и отсутствии ограничений по времени (если успевает обмениваться). Думаю, что начальную большую инициализацию делать будет не надо, но это надо уточнить.
А на счёт SN54ALS244C - это же, вроде, военная серия (54) :) Да и как вы её прикрутите на два устройства? Надо же отключать 3 сигнала в одну сторону и 1 в другую. Уж лучше взять 74125 (или 74126). Ну, в смысле, 74HC125 или другую подходящую серию (LV, LVC, VHC ...).
Выходы меги вполне потянут несколько штук и без буфера. Вот только или мегу притормозить и запитать от 3.3в или согласовывать уровни сигналов для периферии придётся. К 128й меге можно внешнее ОЗУ прицепить (только в каком корпусе должна быть мега, чтобы можно подключить, не помню). Однако математики будет столько, что мега вряд ли будет успевать должным образом что-то делать.
Ну, или, взять ARM - и питание 3.3в и ОЗУ по-боле и по-шустрее будет. К стати, есть с аппаратной поддержкой операций с плавающей точкой.

Ого сколько написали пока я неторопливо сочинял :))
К стати, на упомянутой STM32F3Discovery стоит МК с ядром Cortex-M3+FPU+DSP - эта плата будет всяко лучше, чем мега128.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
Волчок
Родился
Сообщения: 6
Зарегистрирован: Вт май 28, 2013 11:14:08

Re: Система управлением БПЛА

Сообщение Волчок »

Мой мозг затачивали больше под проектирование конструкции ЛА и вполне возможно, что какой-нибудь СУЛАшник или АСУшник меня раздерет своими острыми когтями :)) Ибо на курсе СУЛА кот находился в полудреме :)
Так как применяется не классический гироскоп (как мы его видим во снах, с вращающимся диском и прочими вкусностями), дающий представление об углах, а ДУС, дающий информацию об угловых скоростях, требующих интегрирования, то накопление ошибки вычисления углов по ДУСу неизбежно я так понимаю. Необходима коррекция показаний. Помнится что для коррекции показаний вводится нечто, что дополнительно даст данные об угловой ориентации ЛА. Как вариант это акселерометр. Но в них, помимо проекций ускорения свободного падения на оси, присутствуют и ускорения, возникающие при движении ЛА. Самым соком молоком при этом есть выделение составляющей ускорения свободного падения. Из всего, что я запомнил об этом, так это шевеление шерсти на хвосте от методов, которые это позволяют :))
mirexzpalich
Родился
Сообщения: 18
Зарегистрирован: Чт мар 21, 2013 17:26:46

Re: Система управлением БПЛА

Сообщение mirexzpalich »

Ух как много ответов и рекомендаций) Это очень хорошо.

На счет гироскопа и акселерометра. Множество подобных самопальных систем летают и без этих датчиков, один лишь gps на борту)
На сколько мне известно акселерометом можно вычислить тангаж и крен. А большего по сути и не надо. Не будет этот БПЛА крутить мертвые петли) Или в движении акселерометр не позволит вычислить тангаж и крен?
Компас штука тоже очень интересная и полезная, но думаю мне она тоже не к чему.

На счет готового продукта такого как STM32F3Discovery. У меня ж схемотехнический программный диплом. т.е. мне надо самому разработать схему устройства и еще его запрограммировать. А взять готовое и писать под него - полдела)

На счет вычислительной мощи. Есть такой опенсурс проект, называется ardunoPilot, так на нем трудится простая atmega328. Но есть решения с кристаллами и покруче)

Об ARM и сам часто подумывал. Подозреваю, что он не сильно отличается от AVR (в плане программирования под него), но сроки поджимают. Отступать некуда.

На счет драйвера. Kavka, спасибо вам за верную оплеуху. А то б я так и засунул по 4 конакта на ножки. Я ж забыл, что драйвер может передавать данные только в 1 сторону. А что если ss, mosi и sck передавать через драйвер, а miso у gps и sd объеденить. Работать же вроде как должно, ведь в 1 момент времени такт и ss переается только 1 устройству. На крайний случай, перед объединением ножек, на каждую поставить диод, чтоб сигнал одного устройства не мешал другому. Заодно диод выступит и в роли стабилитрона, для стабилизации уровней напряжения?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25146
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Система управлением БПЛА

Сообщение КРАМ »

mirexzpalich писал(а):На сколько мне известно акселерометом можно вычислить тангаж и крен. А большего по сути и не надо. Не будет этот БПЛА крутить мертвые петли) Или в движении акселерометр не позволит вычислить тангаж и крен?

Вам известно неправильно.
Акселерометр позволяет вычислять ориентацию только в состоянии покоя или равномерного и прямолинейного движения по всем координатам (декартовым).
Но тогда зачем он вообще нужен?
mirexzpalich
Родился
Сообщения: 18
Зарегистрирован: Чт мар 21, 2013 17:26:46

Re: Система управлением БПЛА

Сообщение mirexzpalich »

TripleKill, да GPS тоже может выдавать данные о высоте. Но только при наличии подключения к более 4 спутникам. Плюс погрешность 6мм + 1-2мм на 1км удаления. Спутники то далеко летают) Поэтому и датчик давления, он может выдать реультат с погрешностью +-8-10м. При высоте полета в 150-200м это некритично.

SD для полета по маршруту, а так же для логирования.

КРАМ спасибо, за объяснение. Буду копать в направлении IMU.
Аватара пользователя
Волчок
Родился
Сообщения: 6
Зарегистрирован: Вт май 28, 2013 11:14:08

Re: Система управлением БПЛА

Сообщение Волчок »

mirexzpalich писал(а):Или в движении акселерометр не позволит вычислить тангаж и крен?

Сложно представить что покажет акселерометр при полете со скольжением или выполнении виража с постоянными скоростью и углом крена и без оных, и опять таки с тем же скольжением
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Система управлением БПЛА

Сообщение clawham »

вмешаюсь и я :)

у меня ежит дома платка с армом на борту 3-мя мемс гироскопами, триосевой аксель, триосевой магнитомер(компас) барометр и прочая мелочь типа подвеса камеры и т.д.

к ней есть плагин - ugc и полет по заданной траектории - гуглите Copilot - опенсурс на всякие бпла которые УЖЕ СЕЙЧАС собираются из 4-х моторов(квадрокоптер) и катают на себе видеокамеры снимая за деньги всякую красоту


из опыта своего скажу что фильтр калмана *6 это неподьёмно для арма 32 мегагерцного....уже нужны 66 мгц и выше...

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

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

а ещё 4 ПИДа нужно настроить чтоб не раскачивало перерегулированием или недорегулированием системы рулями и прочими...при том что при возрастании скорости коэффициенты надо менять ибо +-10 градусов элеронов на минимальной скорости и на максимальной это или ели заметный крен или три раза вокруг оси за пол секунды :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Система управлением БПЛА

Сообщение Kavka »

mirexzpalich писал(а):На счет драйвера. Kavka, спасибо вам за верную оплеуху.
Всегда пожалуйста. А если ещё и полза получилась... :) :) :)
mirexzpalich писал(а):А что если ss, mosi и sck передавать через драйвер, а miso у gps и sd объеденить. Работать же вроде как должно, ведь в 1 момент времени такт и ss переается только 1 устройству.
Да можно и без буфера вообще.
mirexzpalich писал(а):На крайний случай, перед объединением ножек, на каждую поставить диод, чтоб сигнал одного устройства не мешал другому. Заодно диод выступит и в роли стабилитрона, для стабилизации уровней напряжения?
И диод ненужен. Обычно, устройства с интерфейсом SPI при неактивном SS переводят MISO в высокоомное состояние.
В общем, надо только согласование уровня "побороть".

А кому мало и 32х и 66ти МГц, то можно и вот такое посмотреть. :)
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Ответить

Вернуться в «Периферия»