Система управлением БПЛА
-
mirexzpalich
- Родился
- Сообщения: 18
- Зарегистрирован: Чт мар 21, 2013 17:26:46
Система управлением БПЛА
Здравствуйте, уважаемые чеширские коты.
Это вновь я, уже немного прозревший и очень амбициозный котенок.
ЛИРИКА
Наверное, многие в детстве любили запускать воздушных змеев, запускать бумажные самолетики с крыши школы... Время идет, самолетики уходят в прошлое. Но все же еще где-то внутри греется мысль о полетах.
Осенью прошлого года нам предложили уже подумывать с темами для дипломных проектов. Уже тогда я точно знал что мой проект будет как-то связан с авиацией. И вот, когда в феврале были назначены руководители и начались раздачи тем. Я предложил своему руководителю тему "Систему управления БПЛА". И вот в приказе о дипломных работах красуется моя тема.
И чем дальше я начинал развивать эту тему, тем больше меня охватывал страх, что я не справлюсь. Но глаза боятся, а руки делают...
ПРОЧТИТЕ, ПОЖАЛУЙСТА
Итак что я имею в планах:
Коробочка с входами и выходами, которую помещают в модельку самолета и подключат к ней сервы элеронов, руля высоты и путевого руля, а так же управляющий контакт регулятора хода для безколлекторного двигателя.
Что имею.
GPS-приемник работающий по протоколу SPI.
Датчик давления воздуха, для определения относительной высоты. протокол I2C.
Акселерометр. для определения углов тангажа и крена. протокол I2C.
SD карточка с маршрутом полета и конфигом системы.
Какие у меня вопросы:
1) Какой кристалл сможет все это дело потянуть? Сам склоняюсь к ATmega1284P-AU. Памяти хватить должно, но хватит ли его вычислительной мощи?
Может имеет смысл использовать ARM?
2) GPS и SD работают по SPI. Как их можно сдружить имея 1аппаратный SPI?
Это вновь я, уже немного прозревший и очень амбициозный котенок.
ЛИРИКА
Наверное, многие в детстве любили запускать воздушных змеев, запускать бумажные самолетики с крыши школы... Время идет, самолетики уходят в прошлое. Но все же еще где-то внутри греется мысль о полетах.
Осенью прошлого года нам предложили уже подумывать с темами для дипломных проектов. Уже тогда я точно знал что мой проект будет как-то связан с авиацией. И вот, когда в феврале были назначены руководители и начались раздачи тем. Я предложил своему руководителю тему "Систему управления БПЛА". И вот в приказе о дипломных работах красуется моя тема.
И чем дальше я начинал развивать эту тему, тем больше меня охватывал страх, что я не справлюсь. Но глаза боятся, а руки делают...
ПРОЧТИТЕ, ПОЖАЛУЙСТА
Итак что я имею в планах:
Коробочка с входами и выходами, которую помещают в модельку самолета и подключат к ней сервы элеронов, руля высоты и путевого руля, а так же управляющий контакт регулятора хода для безколлекторного двигателя.
Что имею.
GPS-приемник работающий по протоколу SPI.
Датчик давления воздуха, для определения относительной высоты. протокол I2C.
Акселерометр. для определения углов тангажа и крена. протокол I2C.
SD карточка с маршрутом полета и конфигом системы.
Какие у меня вопросы:
1) Какой кристалл сможет все это дело потянуть? Сам склоняюсь к ATmega1284P-AU. Памяти хватить должно, но хватит ли его вычислительной мощи?
Может имеет смысл использовать ARM?
2) GPS и SD работают по SPI. Как их можно сдружить имея 1аппаратный SPI?
Re: Система управлением БПЛА
mirexzpalich писал(а):И вот в приказе о дипломных работах красуется моя тема.
Сурьезнейшую тему ты выбрал..... друг.....
С интересом буду следить.....
Так на вскидку.... могу и ошибаться.....
Думаю любой AVR потянет, только по памяти надо будет подобрать.
SPI можно и программный для доп каналов.....
А вообще тенденция движется в сторону ARM.....
Так что если совсем уж амбиции переполняют и трудности не страшны.... можно и на нем.....
-
mirexzpalich
- Родился
- Сообщения: 18
- Зарегистрирован: Чт мар 21, 2013 17:26:46
Re: Система управлением БПЛА
shads, на счет программного SPI я тоже думал, но это опять - память не рязиновая
Может можно как-нибудь другим способом обойтись? например что если использовать драйвера, например 1533АП14 ? Сначала считываем GPSданные, отключаем драйвер, включаем драйвер для SD карты?
Но тут тоже есть 2 вопроса:
1) 1533АП14 8разрядный, а SPI - 4 провода. Тоесть по 1драйверу на каждого - задействованы только половина контактов. Не красиво( Есть ли 4 разрядные?
2) Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
Может можно как-нибудь другим способом обойтись? например что если использовать драйвера, например 1533АП14 ? Сначала считываем GPSданные, отключаем драйвер, включаем драйвер для SD карты?
Но тут тоже есть 2 вопроса:
1) 1533АП14 8разрядный, а SPI - 4 провода. Тоесть по 1драйверу на каждого - задействованы только половина контактов. Не красиво( Есть ли 4 разрядные?
2) Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
Re: Система управлением БПЛА
Я то особо и не имел дела с SPI, но ща почитал, там оказывается на одного ведущего можно много ведомых подключать.....mirexzpalich писал(а):например что если использовать драйвера, например 1533АП14 ? Сначала считываем GPSданные, отключаем драйвер, включаем драйвер для SD карты?
http://ru.wikipedia.org/wiki/Serial_Per ... _Interface
http://www.gaw.ru/html.cgi/txt/interface/spi
http://avr.ru/ready/inter/spi/spi
Сам еще не работал с SD, надо будет покапать в этом направлении.....mirexzpalich писал(а):Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
-
mirexzpalich
- Родился
- Сообщения: 18
- Зарегистрирован: Чт мар 21, 2013 17:26:46
Re: Система управлением БПЛА
Чтобы повесить несколько ведомых на каждого ведомого надо свой сигнал SS. А каскадно GPS думаю наврятли соединить с SD можно.
Кстати все таки по-моему я нашел что искал - SN54ALS244C. В одной микрухе 2драйвера по 4 разряда. Это хорошо.
GPS ведь достаточно при запуске инициализировать, а потом когда надо - опращивать, так что его драйвером отключить - милое дело. А если даже SD надо будет заново инициализировать - не беда, десяток миллисекунд думаю не будет критично)
Кстати все таки по-моему я нашел что искал - SN54ALS244C. В одной микрухе 2драйвера по 4 разряда. Это хорошо.
GPS ведь достаточно при запуске инициализировать, а потом когда надо - опращивать, так что его драйвером отключить - милое дело. А если даже SD надо будет заново инициализировать - не беда, десяток миллисекунд думаю не будет критично)
-
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: Система управлением БПЛА
А GPS ведь тоже высоту выдаёт. Корректировать хотите?
Для углов Вам не акселерометр нужен, а гироскоп. С акселя только в отсутствие разгона/торможения можно угол получить, а так данные не те будут - ускорение же меряем.
P.S. Недавно STM32F3 Discovery взял посмотреть. На ней есть и акселерометр, и гироскоп, и электронный компас. Крутая штука.
Для углов Вам не акселерометр нужен, а гироскоп. С акселя только в отсутствие разгона/торможения можно угол получить, а так данные не те будут - ускорение же меряем.
P.S. Недавно STM32F3 Discovery взял посмотреть. На ней есть и акселерометр, и гироскоп, и электронный компас. Крутая штука.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Система управлением БПЛА
т.е. Вы хотите чтобы он по маршруту полетал?mirexzpalich писал(а):SD карточка с маршрутом полета и конфигом системы.
Я тоже рекомендую не выдумывать, а взять STM32F3Discovery - на борту уже все есть, кроме карточки, только программу написать. Уверен, что AVR не справится с задачей. Обсчет инерциальной системы - непростая задача.TripleKill писал(а):Недавно STM32F3 Discovery взял посмотреть.
Ставим плюсы: )
- КРАМ
- Друг Кота
- Сообщения: 25146
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Система управлением БПЛА
mirexzpalich писал(а):Осенью прошлого года нам предложили уже подумывать с темами для дипломных проектов..............
..........
..........
Акселерометр. для определения углов тангажа и крена...
..........
Для дипломного проекта конечно все равно, но акселерометр не пригоден для определения ориентации ДВИГАЮЩЕГОСЯ С УСКОРЕНИЕМ тела.
Сиречь, любой маневр по определяемым координатам приведет к такой ситуации...
Re: Система управлением БПЛА
Осмелюсь немного поправить. Не путевой руль, а руль направления.
Плох тот гироскоп, который не имеет в друзьях акселерометра. Знать угол это конечно хорошо. Но это половина дела. Необходимо знать и угловые ускорения ЛА вокруг его осей. Это напрямую влияет и на отработку рулевых поверхностей при маневре и при парировании воздействий внешних сил.
Компас нужен однозначно, дельный совет.
TripleKill писал(а): Для углов Вам не акселерометр нужен, а гироскоп. С акселя только в отсутствие разгона/торможения можно угол получить, а так данные не те будут - ускорение же меряем.
Плох тот гироскоп, который не имеет в друзьях акселерометра. Знать угол это конечно хорошо. Но это половина дела. Необходимо знать и угловые ускорения ЛА вокруг его осей. Это напрямую влияет и на отработку рулевых поверхностей при маневре и при парировании воздействий внешних сил.
TripleKill писал(а):P.S. Недавно STM32F3 Discovery взял посмотреть. На ней есть и акселерометр, и гироскоп, и электронный компас.
Компас нужен однозначно, дельный совет.
- КРАМ
- Друг Кота
- Сообщения: 25146
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Система управлением БПЛА
Волчок писал(а):Плох тот гироскоп, который не имеет в друзьях акселерометра.
А что, данные с гироскопа не дифференцируемы?
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Система управлением БПЛА
гироскоп показывает угол, а акселерометр - ускорение. это ж вторая производная. (поправьте, если я не прав) есть ли смысл мучать контроллер математикой, когда можно получить данные с акселерометра сразу?
Ставим плюсы: )
- КРАМ
- Друг Кота
- Сообщения: 25146
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Система управлением БПЛА
А вторая производная разве не есть дифференциал второго порядка?
Дифференцирование - простейшая математическая операция и "грузить МК" будет точно не она.
Дифференцирование - простейшая математическая операция и "грузить МК" будет точно не она.
Re: Система управлением БПЛА
Обычно так и делают при одном SPI и отсутствии ограничений по времени (если успевает обмениваться). Думаю, что начальную большую инициализацию делать будет не надо, но это надо уточнить.mirexzpalich писал(а):2) Я еще не работал с SD + ATMEGA. Допустим я инициализировал карточку, считал\записал данные. Переключился на GPS, узнал от него все что мне нужно. Опять переключаюсь на SD. то инициализация карты будет необходима снова?
А на счёт SN54ALS244C - это же, вроде, военная серия (54)
Выходы меги вполне потянут несколько штук и без буфера. Вот только или мегу притормозить и запитать от 3.3в или согласовывать уровни сигналов для периферии придётся. К 128й меге можно внешнее ОЗУ прицепить (только в каком корпусе должна быть мега, чтобы можно подключить, не помню). Однако математики будет столько, что мега вряд ли будет успевать должным образом что-то делать.
Ну, или, взять ARM - и питание 3.3в и ОЗУ по-боле и по-шустрее будет. К стати, есть с аппаратной поддержкой операций с плавающей точкой.
Ого сколько написали пока я неторопливо сочинял
К стати, на упомянутой STM32F3Discovery стоит МК с ядром Cortex-M3+FPU+DSP - эта плата будет всяко лучше, чем мега128.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Система управлением БПЛА
Мой мозг затачивали больше под проектирование конструкции ЛА и вполне возможно, что какой-нибудь СУЛАшник или АСУшник меня раздерет своими острыми когтями
Ибо на курсе СУЛА кот находился в полудреме
Так как применяется не классический гироскоп (как мы его видим во снах, с вращающимся диском и прочими вкусностями), дающий представление об углах, а ДУС, дающий информацию об угловых скоростях, требующих интегрирования, то накопление ошибки вычисления углов по ДУСу неизбежно я так понимаю. Необходима коррекция показаний. Помнится что для коррекции показаний вводится нечто, что дополнительно даст данные об угловой ориентации ЛА. Как вариант это акселерометр. Но в них, помимо проекций ускорения свободного падения на оси, присутствуют и ускорения, возникающие при движении ЛА. Самым соком молоком при этом есть выделение составляющей ускорения свободного падения. Из всего, что я запомнил об этом, так это шевеление шерсти на хвосте от методов, которые это позволяют
Так как применяется не классический гироскоп (как мы его видим во снах, с вращающимся диском и прочими вкусностями), дающий представление об углах, а ДУС, дающий информацию об угловых скоростях, требующих интегрирования, то накопление ошибки вычисления углов по ДУСу неизбежно я так понимаю. Необходима коррекция показаний. Помнится что для коррекции показаний вводится нечто, что дополнительно даст данные об угловой ориентации ЛА. Как вариант это акселерометр. Но в них, помимо проекций ускорения свободного падения на оси, присутствуют и ускорения, возникающие при движении ЛА. Самым соком молоком при этом есть выделение составляющей ускорения свободного падения. Из всего, что я запомнил об этом, так это шевеление шерсти на хвосте от методов, которые это позволяют
-
mirexzpalich
- Родился
- Сообщения: 18
- Зарегистрирован: Чт мар 21, 2013 17:26:46
Re: Система управлением БПЛА
Ух как много ответов и рекомендаций) Это очень хорошо.
На счет гироскопа и акселерометра. Множество подобных самопальных систем летают и без этих датчиков, один лишь gps на борту)
На сколько мне известно акселерометом можно вычислить тангаж и крен. А большего по сути и не надо. Не будет этот БПЛА крутить мертвые петли) Или в движении акселерометр не позволит вычислить тангаж и крен?
Компас штука тоже очень интересная и полезная, но думаю мне она тоже не к чему.
На счет готового продукта такого как STM32F3Discovery. У меня ж схемотехнический программный диплом. т.е. мне надо самому разработать схему устройства и еще его запрограммировать. А взять готовое и писать под него - полдела)
На счет вычислительной мощи. Есть такой опенсурс проект, называется ardunoPilot, так на нем трудится простая atmega328. Но есть решения с кристаллами и покруче)
Об ARM и сам часто подумывал. Подозреваю, что он не сильно отличается от AVR (в плане программирования под него), но сроки поджимают. Отступать некуда.
На счет драйвера. Kavka, спасибо вам за верную оплеуху. А то б я так и засунул по 4 конакта на ножки. Я ж забыл, что драйвер может передавать данные только в 1 сторону. А что если ss, mosi и sck передавать через драйвер, а miso у gps и sd объеденить. Работать же вроде как должно, ведь в 1 момент времени такт и ss переается только 1 устройству. На крайний случай, перед объединением ножек, на каждую поставить диод, чтоб сигнал одного устройства не мешал другому. Заодно диод выступит и в роли стабилитрона, для стабилизации уровней напряжения?
На счет гироскопа и акселерометра. Множество подобных самопальных систем летают и без этих датчиков, один лишь 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: Система управлением БПЛА
TripleKill, да GPS тоже может выдавать данные о высоте. Но только при наличии подключения к более 4 спутникам. Плюс погрешность 6мм + 1-2мм на 1км удаления. Спутники то далеко летают) Поэтому и датчик давления, он может выдать реультат с погрешностью +-8-10м. При высоте полета в 150-200м это некритично.
SD для полета по маршруту, а так же для логирования.
КРАМ спасибо, за объяснение. Буду копать в направлении IMU.
SD для полета по маршруту, а так же для логирования.
КРАМ спасибо, за объяснение. Буду копать в направлении IMU.
Re: Система управлением БПЛА
mirexzpalich писал(а):Или в движении акселерометр не позволит вычислить тангаж и крен?
Сложно представить что покажет акселерометр при полете со скольжением или выполнении виража с постоянными скоростью и углом крена и без оных, и опять таки с тем же скольжением
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Система управлением БПЛА
вмешаюсь и я 
у меня ежит дома платка с армом на борту 3-мя мемс гироскопами, триосевой аксель, триосевой магнитомер(компас) барометр и прочая мелочь типа подвеса камеры и т.д.
к ней есть плагин - ugc и полет по заданной траектории - гуглите Copilot - опенсурс на всякие бпла которые УЖЕ СЕЙЧАС собираются из 4-х моторов(квадрокоптер) и катают на себе видеокамеры снимая за деньги всякую красоту
из опыта своего скажу что фильтр калмана *6 это неподьёмно для арма 32 мегагерцного....уже нужны 66 мгц и выше...
можно и упрощенную его модель но там прблема с вибрациями рамы ветром и дрейфом всех датчиков( ни у одного из них нет нуля и у каждого постоянно плывут коэффициенты) каждый датчик друг друга подстраховывает-калибрует на ходу....
я пока не могу осилить даже 3 гирика чтоб нормально стабилизировало коптер и выводило его из внешних возмущений....за высоту беру ультразвуковой сонар 3 метра над полом ...сонар на подвесе и всегда показывает перпендикуляр....это всё настолько сложно....настолько эмпирично....
а ещё 4 ПИДа нужно настроить чтоб не раскачивало перерегулированием или недорегулированием системы рулями и прочими...при том что при возрастании скорости коэффициенты надо менять ибо +-10 градусов элеронов на минимальной скорости и на максимальной это или ели заметный крен или три раза вокруг оси за пол секунды
у меня ежит дома платка с армом на борту 3-мя мемс гироскопами, триосевой аксель, триосевой магнитомер(компас) барометр и прочая мелочь типа подвеса камеры и т.д.
к ней есть плагин - ugc и полет по заданной траектории - гуглите Copilot - опенсурс на всякие бпла которые УЖЕ СЕЙЧАС собираются из 4-х моторов(квадрокоптер) и катают на себе видеокамеры снимая за деньги всякую красоту
из опыта своего скажу что фильтр калмана *6 это неподьёмно для арма 32 мегагерцного....уже нужны 66 мгц и выше...
можно и упрощенную его модель но там прблема с вибрациями рамы ветром и дрейфом всех датчиков( ни у одного из них нет нуля и у каждого постоянно плывут коэффициенты) каждый датчик друг друга подстраховывает-калибрует на ходу....
я пока не могу осилить даже 3 гирика чтоб нормально стабилизировало коптер и выводило его из внешних возмущений....за высоту беру ультразвуковой сонар 3 метра над полом ...сонар на подвесе и всегда показывает перпендикуляр....это всё настолько сложно....настолько эмпирично....
а ещё 4 ПИДа нужно настроить чтоб не раскачивало перерегулированием или недорегулированием системы рулями и прочими...при том что при возрастании скорости коэффициенты надо менять ибо +-10 градусов элеронов на минимальной скорости и на максимальной это или ели заметный крен или три раза вокруг оси за пол секунды
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Система управлением БПЛА
Всегда пожалуйста. А если ещё и полза получилась...mirexzpalich писал(а):На счет драйвера. Kavka, спасибо вам за верную оплеуху.
Да можно и без буфера вообще.mirexzpalich писал(а):А что если ss, mosi и sck передавать через драйвер, а miso у gps и sd объеденить. Работать же вроде как должно, ведь в 1 момент времени такт и ss переается только 1 устройству.
И диод ненужен. Обычно, устройства с интерфейсом SPI при неактивном SS переводят MISO в высокоомное состояние.mirexzpalich писал(а):На крайний случай, перед объединением ножек, на каждую поставить диод, чтоб сигнал одного устройства не мешал другому. Заодно диод выступит и в роли стабилитрона, для стабилизации уровней напряжения?
В общем, надо только согласование уровня "побороть".
А кому мало и 32х и 66ти МГц, то можно и вот такое посмотреть.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)