Сегодня большая веха на пути моего увлечения мультикоптерами. 2 с лишним года назад я заинтересовался мультикоптерами всерьез и с тех пор с другом проектировали и закупали запчасти, был почти годовой перерыв, затем эксперименты с различными полетными контроллерами и рамами, винтомоторными группами, куча побочных проектов.
Весной я всерьез взялся за STM32, поняв, что с Atmega328 как планировалось изначально каши не сварить.
И вот сегодня я наконец-то собрал полетный контроллер на основе платы на STM32F103VE и отдельной платы сенсоров.
Стоимость электроники примерно $35. На борту 32битный контроллер с поддержкой USB, CAN, SPI, I2C, UART, PWM, причем не по одной штуке.
Софт на основе проекта Naze32 я адаптировал к своей плате. Он поддерживает все виды имеющихся у меня сенсоров:
- Акселерометр ADXL345
- Гироскоп L3G4200D
- Комбинированный акселерометр с гироскопом MPU6050
- Барометр BMP085 и MS6511
- Магнитометр HMC5883L
Светодиоды-индикаторы работоспособны.
Софт полностью поддерживается софтинками MultiWiiConf и MultiWii WinGUI. Телеметрия исправно работает, настройки сохраняются и проект полностью адаптирован к EmBlocks.
Вес двух плат с МК и сенсорами всего 55г.
Такая компоновка позволяет разместить крошечную плату сенсоров отдельно от электроники, вынести ее подальше от магнитных полей, благодаря размеру ее легче поместить точно по центру, проще сделать виброразвязку, т.к. нет кучи проводов, которые передают вибрацию несмотря на все усилия по демпфированию.
А самое главное — у меня наконец-то есть код, который я понимаю, знаю как дорабатывать и есть приличный запас производительности МК и места во флеше.
Начинается самое интересное — доработка полетного контроллера для своих задач.
А какой именно гироскоп решили использовать? Я провозился почти месяц с семейством на базе MPU6050, пока оно задышало.
Использую все понемножку для экспериментов.
А какую именно модель подключаете? Их ведь там довольно много — есть и с барометром/компасом, есть простые.
из тех, что на 6050, имелось в виду
MPU6050 это гороскоп +акселерометр. Неважно с чем он соседствует. У меня он отдельно. Есть платы сенсоров
ITG3200+ADXL345
L3G4200D+ADXL345+BMP085+HMC5883L
MPU6050 отдельно
MS5611 отдельно
Работают в любой комбинации гироскоп+ акселерометр+ барометр+ компас.
В софте автоопределение датчиков.
посоветуй датчик для определения угла наклона к горизонту под эту плату?
нужно для робота — чтобы предотвратить движение в случае опасного крена платформы.
От платформы это не зависит. Бери любой. ADXL345, MPU6050
Код я видел, если речь о Харакири. Проблема была с правильным подключением. В 6050 есть и термометр.
Не Харакири. Baseflight. Но суть та же.
Какие адреса имеют датчики MPU6050, BMP085 и HMC5883L.
Навскидку не помню, но они есть в коде того же MultiWii или BaseFlight например. В чем проблема заглянуть туда?
На какой стадии сейчас контроллер?
Хочу попытаться сделать квадрокоптер, но душа не лежит к ардуинам. Это закрытый проект или можете поделится программой?
Сейчас проект отложен подход multiwii мне не нравится. Сделать на нем то, что мне нужно, не получается. Сейчас я сотрудничаю с RusAeroLab, но этот пр-кт закрытый, даже у меня исходников нет. А проект, описанный в статье могу выложить