Автопилот SmartAP - Smart Autopilot
Последние шесть месяцев мы работали над созданием автопилота для мультикоптера (позже будет адаптировано и под самолет, но пока приоритетом является коптер). Мы назвали ее SmartAP - Smart Autopilot.
Работа началась в октябре 2011 года. Во-первых, была приобретена оценочная плата микроконтроллера, мы выбрали STM32F103 на ARM Cortex M3. Для начала использовались breakout платы датчиков и создавалась предварительная версия программного обеспечения.
Пару месяцев спустя мы были сфокусированы на создании самой платы автопилота. Была разработана печатная плата и заказаны электронные компоненты на несколько комплектов. Последним шагом было размещение компонентов на печатных платах и это было сделано несколько дней назад (к сожалению, один из датчиков пока отсутствует из-за некоторых задержек с доставкой, но мы ожидаем его поступление на следующей неделе).
Вчера было произведено первое включение платы и проверена работа некоторых систем.
Сейчас мы приступаем к работе над первой финальной версией программного обеспечения, чтобы подготовиться к первому полет. Кроме того, мы думаем о реализации некоторых интересных особенностей, которых нет ни в одном автопилоте на сегодняшний день.
Пока трудно говорить о дальнейшем развитии этого проекта (конечно, мы обязательно продолжим работать над ним), но если будет спрос на данный продукт, мы могли бы организовать производство и розничную продажу.
Вот некоторые основные характеристики:
Размер платы 60x40мм (4 слоя), вес 14 грамм
Процессор 72МГц STM32 ARM Cortex M3
6 ШИМ входов, 6 ШИМ выходов
Инерциальная измерительная система (3-х осевой MEMS гироскоп и акселерометр)
3-х осевой магнитометр
Датчик давления для измерения высоты
UART порт для подключения беспроводной телеметрии (например XBee)
MicroSD слот для записи полетных данных на карту
GPS-порт
Порт для подключения сонара
Порт для подключения датчика дифференциального давления
Вот несколько фотографий, вид сверху и снизу соответственно:
Если у вас есть какие-либо вопросы - я буду рад ответить на них.
Кирилл
мы выбрали STM32F103
А еще точнее STM32F103RBT6 - то есть то же, что и у всех похожих: 128 кБ FLASH, 20 кб ОЗУ.
Инерциальная измерительная система (3-х осевой MEMS гироскоп и акселерометр)
Которые пока не не впаяны или не полностью впаяны. Какие MEMS планируются?
MPU6000/6050?
3-х осевой магнитометр
Какой?
Если у вас есть какие-либо вопросы - я буду рад ответить на них.
Основные вопросы по математике, естественнно.
- Открытый ли проект? И если да, в какой степени? А если нет, будет ли предалагаться на продажу?
- Какой алгоритм IMU планируется?
- Планируется ли встроенный OSD? Или хотя-бы внешний?
- Не вижу серьезного питания. Одна LDO-шка на всё?
- Зачем Вам RTC?
А еще точнее STM32F103RBT6 - то есть то же, что и у всех похожих: 128 кБ FLASH, 20 кб ОЗУ.
Да, первоначально отладочная плата была под RB, но на самой плате автопилота используется уже RC, все почти то же самое, но памяти 256kB.
Которые пока не не впаяны или не полностью впаяны. Какие MEMS планируются?
MPU6000/6050?
Да, будет установлен MPU-6050. Именно он пока еще в пути к нам.
Какой?
Магнитометр - HMC5883
Основные вопросы по математике, естественнно.
- Открытый ли проект? И если да, в какой степени? А если нет, будет ли предалагаться на продажу?
- Какой алгоритм IMU планируется?
- Планируется ли встроенный OSD? Или хотя-бы внешний?
- Не вижу серьезного питания. Одна LDO-шка на всё?
- Зачем Вам RTC?
[/QUOTE]
- На данный момент, этот вопрос пока остается открытым. На данный момент хочется подготовить все к полету и провести тесты.
Конечно, если будет спрос и желающие приобрести, то вполне реально будет наладить продажу. - Алгоритм IMU - DMP (Data Motion Processing), MPU-6050 производит вычисления (кватернионов или углов Эйлера) в своем внутреннем процессоре и отдает уже готовые данные наряду с сырыми данными (значения АЦП от гироскопов и акселерометров).
- Пока планируется внешний, но в следующей версии платы скорее всего уже будет интегрирован на основную плату.
- Одна LDO на 400mA, которое из 5 делает 3.3 вольта, это на питание процессора и датчиков (imu, барометр, магнитометр), всего получится не более 150-200mA. Телеметрия, сонар, датчик скорости, gps питаются от 5 вольт без LDO, напрямую либо с BEC либо с USB.
- Пока секрет 😃
Одна LDO на 400mA, которое из 5 делает 3.3 вольта, это на питание процессора и датчиков (imu, барометр, магнитометр)
Хорошо ли это: питать цифру и аналог от одного источника? Не даром на MPU6050 питание разнесено…
Магнитометр - HMC5883
Магнитометр MPU6050 учтет. А как быть с GPS? Оставите вне алгоритма?
Хорошо ли это: питать цифру и аналог от одного источника? Не даром на MPU6050 питание разнесено…
Ну я бы не сказал, что оно там разнесено. Оно одно, просто есть возможность установить другой логический уровень для шины.
Магнитометр MPU6050 учтет. А как быть с GPS? Оставите вне алгоритма?
Пока вопрос с учетом GPS остается нерешенным, но определенно он будет учитываться.
Размер платы 60x40мм (4 слоя), вес 14 грамм
Хорошо ли это: питать цифру и аналог от одного источника?
Не вдаваясь в подробности программные (которые и неизвестны и не испытаны в полете) сразу можно отметить несколько очевидных ошибок проектирования: четырехслойная плата (очевидно, для минимизации размеров, а зачем? Самолет нуждающийся в автопилоте- не бывает меньше 1,5 метров в размахе- из -за чего скупиться на место?) сразу вызывает несколько сомнений…
1 в цене- гораздо дороже обычной двухсторонней
2 в надежности: устройство работающее в условия вибрации, влажности и т.д. экстриме- не должно иметь ( а точнее-должно не иметь) много переходов и недоступных для ремонта (поскольку находятся в теле платы) дорожек
3 сложность монтажа (и- практическая невозможность без повреждения платы) демонтажа элементов (или ремонт изделию-требоваться не будет?)
4 применение линейного стабилизатора- вносит очень большую ненадежность в схему, создает ненужный источник тепла, тем более DC-DC сейчас абсолютно доступны и весьма миниатюрны.
5 разводка “земли” совместно цифры и аналога и общее питание- вообще ни в какие ворота не лезет:раздельная земля- это аксиома, совместная- гарантированная головная боль
6 делать плату ОСД общую с ИМУ- не будет ни ОСД ни ИМУ, поскольку телевидение не терпит ни “грязной” земли ни грязного питания, экран гарантированно будет в неустранимых"мурашках".
Какие чудеса начнутся в ИМУ от соседства с огромными синхроимпульсами ТВ сигнала- можно только гадать.
7 Внешние разъёмы в виде гребенок- гарантированное “втыкание чуть-чуть не туда” (спросите у Смаллтима:сколько палёных покупателями плат ему пришлось заменить “по гарантии”) с выгоранием всего подряд и- в случае коммерческих продаж, валом претензий.
Надо ставить гнезда с ключами, причем, на все цепи- разные, для “защиты от дурака” www.tdmegalit.ru/catalog/…/15912.php
Ну, вот как то примерно так…
ЗЫ:молодость и задор авторов конечно, многое объясняет. Но по граблям то ходить- зачем?
мы работали
Мы - это кто?
sky-drones.com на плате, сайта нет.
Прототип летал? Если нет, то вообще жесть.
В чем изюминка проекта?
Поздравляю! Автопилоты по весне растут как грибы 😃 Сделано красиво.
Железо готово, на очереди софт…
Четырехслойка- очень хорошо, особенно для начинающих. Силовая часть через эту плату не идет.
По линейному стабилизатору blade правильно сказал- он на пределе. Если линейник и ставить, то не в таком корпусе. Вы же не на 24 Мгц работать будете?
А с 4 банками вообще беда будет.
RTC - вероятно, для маркировки записи файлов в логгере, пока gps нет. Но тогда надо ионистор или батарейку…
ЗЫ:Может и мне АПС3.3 выложить? 😃
ЗЫ:Может и мне АПС3.3 выложить?
Ну, если это не набор намерений, как обсуждаемое изделие 😃, то отчего же не выложить? А если с видео полетов- вообще бы был класс 😃
Железо готово, на очереди софт…
Да это пока не железо 😦
Как вот его включат, да как глюки устранят- тогда, может быть…
Но, судя по всему, до реального устройства- ещё долго.
Четырехслойка- очень хорошо, особенно для начинающих.
А чего хорошего- то?
Я всегда макетные версии- вообще на DIP корпусах и как можно просторнее делаю, чтобы в руки можно было взять, осциллографом потыкать, дорожки порезать- перекинуть.
И уж когда схемотехника отлажена- тогда начинаю “зажимать”.
Да и трассировки без ошибок с первого раза-не бывает.
ЗЫ: даю прогноз: первое, что у них отгорит- будет стабилизатор питания: в таком корпусе его реально можно грузить не более, чем 150 мА 😦
А чего хорошего- то?
При правильной разводке (один слой экранирующий, другой земля, в 2-х разводка), 4-х слойка дает занчительную ЭМС устойчивсть, а так-же уменьшаются шумы всяких аналоговых узлов. А разница в цене при таких размера - 1-2 $ - смешно даже для 1-го апреля. 😃
всегда макетные версии- вообще на DIP корпусах и как можно просторнее делаю
Это не макетная плата.
Да и макетировать сегодня ничего не мешает в реальных типоразмерах - более адекватный макет получается.
И уж когда схемотехника отлажена- тогда начинаю “зажимать”.
На сложных (аналоговых/силовых и т.п. ) платах - да. А тут отлаживать практически нечего. Все чипы включаются согласно даташитов. 😃
ЗЫ: даю прогноз: первое, что у них отгорит- будет стабилизатор питания: в таком корпусе его реально можно грузить не более, чем 150 мА
Да, со стабилизатором перебор минимализма. Особенно когда запись на SD начнется. 😃
Да, со стабилизатором перебор минимализма
Исходя из своего обширного опыта проектирования и производства, могу с вероятностью 98% сказать, что проблем там будет в достатке: чудес в электронике- не бывает 😦
Все чипы включаются согласно даташитов.
Вы не поверите, сколько ошибок в даташитах мне за свою жизнь пришлось встречать 😃
А с 4 банками вообще беда будет.
Так входное питание там 5 В - по любому!
И это кстати тонкий момент. Низковольтное (ниже 6-7 В) питание используют почти все приемники РУ и у многих с этим проблеммы, учитыва возможность подключения серв непоследственно к плате. Я не вижу там серьезных танталов. 😦
Из АП такое-же решение использует Фишка - почему и появилось требование к BECу на 5-8 А в последних версиях руководства…
Но учитывая что изначально проект идет без OSD, смысла заводить высоко напряжение (+12 В для камеры) нет, равно как и необходимости в импульсном преобразователе.
А вот 2-3 LDO-шки вместо одной было бы грамотно: Одна на проц, другая - на аналоговые части, 3-я - для внешних датчиков (GPS/внешние баро и т.п.).
Кстати любопытно что разработчики +5 на GPS выводят - значит нестандартный модуль будет…
Не вдаваясь в подробности программные (которые и неизвестны и не испытаны в полете) сразу можно отметить несколько очевидных ошибок проектирования: четырехслойная плата (очевидно, для минимизации размеров, а зачем? Самолет нуждающийся в автопилоте- не бывает меньше 1,5 метров в размахе- из -за чего скупиться на место?) сразу вызывает несколько сомнений…
1 в цене- гораздо дороже обычной двухсторонней
2 в надежности: устройство работающее в условия вибрации, влажности и т.д. экстриме- не должно иметь ( а точнее-должно не иметь) много переходов и недоступных для ремонта (поскольку находятся в теле платы) дорожек
3 сложность монтажа (и- практическая невозможность без повреждения платы) демонтажа элементов (или ремонт изделию-требоваться не будет?)
4 применение линейного стабилизатора- вносит очень большую ненадежность в схему, создает ненужный источник тепла, тем более DC-DC сейчас абсолютно доступны и весьма миниатюрны.
5 разводка “земли” совместно цифры и аналога и общее питание- вообще ни в какие ворота не лезет:раздельная земля- это аксиома, совместная- гарантированная головная боль
6 делать плату ОСД общую с ИМУ- не будет ни ОСД ни ИМУ, поскольку телевидение не терпит ни “грязной” земли ни грязного питания, экран гарантированно будет в неустранимых"мурашках".
Какие чудеса начнутся в ИМУ от соседства с огромными синхроимпульсами ТВ сигнала- можно только гадать.
7 Внешние разъёмы в виде гребенок- гарантированное “втыкание чуть-чуть не туда” (спросите у Смаллтима:сколько палёных покупателями плат ему пришлось заменить “по гарантии”) с выгоранием всего подряд и- в случае коммерческих продаж, валом претензий.
Надо ставить гнезда с ключами, причем, на все цепи- разные, для “защиты от дурака” www.tdmegalit.ru/catalog/…/15912.php
Ну, вот как то примерно так…
ЗЫ:молодость и задор авторов конечно, многое объясняет. Но по граблям то ходить- зачем?
Ну а зачем собственно делать размер больше, когда его можно сделать и поменьше!? Размах может и 1.5 метра, но вот пространства в фюзеляже всегда не хватает.
- По цене четырехслойная отличается от двухслойной не более чем на 30%. В итоге эта разница около 100 рублей на одну плату.
- А внутри нет дорожек как таковых, там полигоны с землей и питанием, дорожки только на внешних слоях.
- Монтаж планируется автоматизированный, проблемы с монтажом при уменьшении размеров - это всегда так, а как иначе…
- Возможно… Но мне показалось, что наоборот.
- Что ж, потестируем - увидем.
- OSD планируется в следующей версии, в данной версии железа работа с видео не предполагается.
- Поскольку пока это в некотором виде тестовый вариант платы, то на этих вещах я не заморачивался. А так согласен, лишняя защита “от дурака” в виде разных типов разъемов не помешает. Хотя, я считаю, человек, который использует такие вещи не должен совершать ошибок типа “воткнул не туда”.
Мы - это кто?
sky-drones.com на плате, сайта нет.
Прототип летал? Если нет, то вообще жесть.
В чем изюминка проекта?
Мы - это я и мой друг.
sky-drones.com - пока зарезервирован только домен, сайт планируется создать в ближайшее время.
В моем первом сообщении же написано, что пока только сделано железо и дописывается софт, идет подготовка к первым полетам.
Например, в инерциальной системе, которая сама производит вычисления. Будет реализовано множество режимов полета - от стабилизации до автоматического полета по точкам. Планируется реализовать возможность навигации без gps, только по инерциальной системе.
Поздравляю! Автопилоты по весне растут как грибы 😃 Сделано красиво.
Железо готово, на очереди софт…
Спасибо, да сейчас мы плотно занимаемся софтом.
Четырехслойка- очень хорошо, особенно для начинающих. Силовая часть через эту плату не идет.
Да, все верно. Силовая часть на плату не заведена.
По линейному стабилизатору blade правильно сказал- он на пределе. Если линейник и ставить, то не в таком корпусе. Вы же не на 24 Мгц работать будете?
А с 4 банками вообще беда будет.
Он удовлетворяет всем необходимы требованиям по мощностям, к тому же от него питаются только те вещи, которые работают на 3.3v, а их не так много и потребление у них небольшое. На питание от 4-х банок я не рассчитывал, питание должно быть от BEC регулятора, который 5v.
RTC - вероятно, для маркировки записи файлов в логгере, пока gps нет. Но тогда надо ионистор или батарейку…
Не угадали 😃
ЗЫ:Может и мне АПС3.3 выложить? 😃
Давайте, интересно посмотреть.
Планируется реализовать возможность навигации без gps, только по инерциальной системе.
На дешевых гироскопах общего назначения? Без термостатирования?
ИМХО, нереально это.
Да это пока не железо 😦
Как вот его включат, да как глюки устранят- тогда, может быть…
Но, судя по всему, до реального устройства- ещё долго.
Сейчас проверяем работу всех систем, которые присутствуют, пока багов не обнаружено.
А чего хорошего- то?
Я всегда макетные версии- вообще на DIP корпусах и как можно просторнее делаю, чтобы в руки можно было взять, осциллографом потыкать, дорожки порезать- перекинуть.
И уж когда схемотехника отлажена- тогда начинаю “зажимать”.
Да и трассировки без ошибок с первого раза-не бывает.
ЗЫ: даю прогноз: первое, что у них отгорит- будет стабилизатор питания: в таком корпусе его реально можно грузить не более, чем 150 мА 😦
Макетная версия-то у нас есть, как же без нее, но не ставить же ее на летающий аппарат.
На дешевых гироскопах общего назначения? Без термостатирования?
ИМХО, нереально это.
На MPU-6050 от Invensense. Вот и самим интересно попробовать.
На MPU-6050 от Invensense
Зачем пробывать. Сделайте мат модель, с учетом порога чувствительности 0.04 град/сек (на диапазоне 1000 градусов).
Добавьте сюда нелинейсть шкалы и температурную зависимость.
И прикиньте какой будет ошибка интегрирования через 10-15 мин? А через час? 😃
PS: Эти MEMSы не для того создавались, чтоб любой радикал мог из них балистическую ракету сделать. 😃
А почему свое местоположение топикстартер шифрует ?
При этом у многих возникают мысли , и явно не положительные отностительно шифрующегося.