Сегодня большая веха на пути моего увлечения мультикоптерами. 2 с лишним года назад я заинтересовался мультикоптерами всерьез и с тех пор с другом проектировали и закупали запчасти, был почти годовой перерыв, затем эксперименты с различными полетными контроллерами и рамами, винтомоторными группами, куча побочных проектов.
Весной я всерьез взялся за STM32, поняв, что с Atmega328 как планировалось изначально каши не сварить.
И вот сегодня я наконец-то собрал полетный контроллер на основе платы на STM32F103VE и отдельной платы сенсоров.
Стоимость электроники примерно $35. На борту 32битный контроллер с поддержкой USB, CAN, SPI, I2C, UART, PWM, причем не по одной штуке.
Софт на основе проекта Naze32 я адаптировал к своей плате. Он поддерживает все виды имеющихся у меня сенсоров:
- Акселерометр ADXL345
- Гироскоп L3G4200D
- Комбинированный акселерометр с гироскопом MPU6050
- Барометр BMP085 и MS6511
- Магнитометр HMC5883L

STM32 Flight Controller
Светодиоды-индикаторы работоспособны.
Софт полностью поддерживается софтинками MultiWiiConf и MultiWii WinGUI. Телеметрия исправно работает, настройки сохраняются и проект полностью адаптирован к EmBlocks.
Вес двух плат с МК и сенсорами всего 55г.

Телеметрия с работающей платы. Все сенсоры работают
Такая компоновка позволяет разместить крошечную плату сенсоров отдельно от электроники, вынести ее подальше от магнитных полей, благодаря размеру ее легче поместить точно по центру, проще сделать виброразвязку, т.к. нет кучи проводов, которые передают вибрацию несмотря на все усилия по демпфированию.
А самое главное — у меня наконец-то есть код, который я понимаю, знаю как дорабатывать и есть приличный запас производительности МК и места во флеше.
Начинается самое интересное — доработка полетного контроллера для своих задач.