Заметка юзера virt2real

Гироскопы, акселерометры и прочие датчики в составе IMU

железки видео

Давным-давно была прикуплена платка RU-IMU-9+1 v1.0 (совместима с платой FFIMU v1.22L) для установки на квадрик под управлением ArduPilot Mega.

Несколько раз даже подлетнул, но потом квадрик потерпел крушение, после чего я к нему не притрагивался.

А датчики-то лежат без дела, непорядок. Сегодня вот сдул пыль с платки, подключил к Виртурилке. Подключение до безобразия простое - GND на землю, +5V на питание, два контакта I2C - по прямому назначению (SDA в SDA, SCL в SCL).

Распайка платки RU-IMU вот такая:

На борту мой вариант (топовый на тот момент) содержит:
Гироскоп 3х осевой ITG-3200
Акселерометр 3х осевой BMA-180
Компас 3х осевой HMC-5883
Барометр BMP-085 (с градусником)

Продолжение...


Дальше встал вопрос с драйверами. В новом ядре (3.9.0) драйвера для подобных штук доступны через механизм IIO. Но ядро 3.9.0 у нас ещё в процессе вылизывания, все ездящие фиговины пока делаю на ядре 2.6.32, а там IIO нет и в помине. Зато дрова самостоятельные нашлись, вот здесь. Почти то же самое что у моей платки на борту, только чип компаса немного другой. Собрал всё, загрузил на Виртурилку, проверил - пашет. Компас тоже пашет, чипы обратно совместимы.

Так что получился практически полный комплект для того чтоб сделать квадрокоптер на базе Виртурилки (GPS есть отдельный, по UART без проблем подключается). Точнее, весь комплект сенсоров есть, есть и четыре аппаратных высокоточных PWM (и PPM) для управления четырьмя бесколлекторниками. Но нет главного - софта который будет обрабатывать собссно все сигналы с датчиков, считать PIDы и рулить квадриком. Это ещё предстоит... Даже не разрабатывать, а искать заинтересованых спецов которые в этой теме шарят. Сам я такое не осилю :-)

В общем, добавил отображение инфы с датчиков в админку, заснял демонстрашку и на этом пока успокоился. Для компаса я наземное применение найду :-)



На всяк случай полезные команды для задействования девайсов:

Посмотреть список устройств на шине I2C
i2cdetect -y 1

Загрузить модули девайсов
insmod bma180.ko
insmod bmp085.ko
insmod hmc5843.ko
insmod itg3200.ko

Задействовать все девайсы на плате IMU:
echo bma180 0x40 > /sys/class/i2c-adapter/i2c-1/new_device
echo bmp085 0x77 > /sys/class/i2c-adapter/i2c-1/new_device
echo hmc5843 0x1e > /sys/class/i2c-adapter/i2c-1/new_device
echo itg3200 0x68 > /sys/class/i2c-adapter/i2c-1/new_device

Далее переходим в каталог девайсов
cd /sys/bus/i2c/devices

И видим их (и не только их)
1-001e 1-0021 1-0040 1-0068 1-0077 i2c-1

virt2real      Пятница, 17 Мая, 2013 04:14       0


Добавить комментарий

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 0
и 3 гостей






Страница сгенерирована за 0.0046839714050293 мкс

cached