Инерциальный датчик с USB–интерфейсом

Часть моего будущего проекта квадрокоптера — инерциальный датчик с 9 степенями свободы. Над данными с сенсоров будут делаться всякие жуткие вычисления, и отлаживать их удобнее на компьютере. Поэтому я сделал небольшую тестовую штуку, которая будет собирать данные с MEMS-сенсоров и посылать их в компьютер по USB.

Используем плату STM32F3Discovery — на ней есть всё что нужно, и нам остаётся лишь написать код. Это довольно ленивый подход, но зачем делать свою плату, если уже есть готовая? К тому же она дешёвая, и точно ещё пригодится в других проектах. Короче, не знаю чего я тут перед вами оправдываюсь, в бой!

Управление положением квадрокоптера

С точки зрения кинематики квадрокоптер представляет из себя 4 пропеллера, расположенных по углам квадрата, тяга которых направлена вниз. Самое главное: в отличие от вертолётов и самолётов он статически неустойчив в воздухе, и не может просто висеть без управления им — сразу же где-нибудь возникает перекос и коптер падает.

Теоретическая механика говорит нам, что положение твёрдого тела в пространстве задаётся шестью координатами (степенями свободы) — 3 поступательных и 3 вращательных. В авиации под координатами вращения понимаются углы Эйлера, и они обозначаются как крен (roll, поворот вокруг оси X), тангаж (pitch, поворот вокруг Y) и рысканье (yaw, поворот вокруг Z).

Коптер может управлять своим вращением только с помощью тяги винтов. Поэтому в первую очередь нужно рассмотреть управление тягой.

Заказ деталей для квадрокоптера на Hobbyking.com

Не секрет, что радиомодельные запчасти в магазинах Москвы стоят очень дорого, покупать их можно только если нельзя ждать. Причин тому много — товар не массовый, продавцов нужно обучать — а то и нанимать самих моделистов. Короче, путь остаётся один, покупать запчасти в китайских интернет-магазинах — тем более что они давно видят большое количество покупателей из России и других стран, и ориентируют свои сайты именно на иностранных покупателей. Пару лет назад сайт hobbyking.com даже начал переводить интерфейс на русский.

Выбор деталей квадрокоптера

Как я уже писал, довольно много деталей я заказал ещё два года назад, и они у меня остались — моторы, контроллеры, пропеллеры. Теперь же мы захотели сделать всё на новом уровне, используя покупную раму — она более прочная и красивая чем самодельная, тем более стоит всего 300 рублей. Заодно закажем пару дополнительных штук: понадобится новый аккумулятор, провода в силиконовой изоляции и новый пульт радиоуправления.

Начинаем проект квадрокоптера

Два года назад наша команда (я и escaton) начала постройку квадрокоптера. Были закуплены моторы, драйверы моторов, пульт и аккумулятор; на раму, собранную из двух деревянных реек, были установлены моторы и их контроллеры. Тогда всё ограничилось несколькими экспериментами, в ходе которых мы поняли что у нас нет ни особых знаний, ни времени. Единственное, чего мы добились тогда — один эксперимент на поле, в котором коптер провисел в воздухе примерно 5 секунд. Те опыты не были нигде описаны, но от них осталось практически всё «железо».

С тех пор прошло около двух лет, мы стали прошареннее в программировании STM32, использовании датчиков и математике, чем раньше. К тому же, к нашим услугам — новые модели MEMS-датчиков от ST, которые обладают бОльшей компактностью и лучшими параметрами, чем ADXL335, который мы использовали тогда. Ну и в конце концов, они цифровые — а значит, менее подвержены шумам. Используем совмещённый акселерометр/магнитометр LSM303D и гироскоп L3GD20.