Создание собственной системы стабилизации

SergDoc
Dimm168pin:

а как так получилось что гира на i2c а аксель по spi ? может все на spi кинуть?

если про верхнее сообщение то гиры у меня вообще аналоговые (в мультивий подключаются давольно легко analogread)

Dimm168pin:

по моему STM32F103C8T6@ST

CBT6 -памяти в два раза больше остальное тоже.

Sir_Alex

IMHO, на данный момент, идеальный вариант MPU6050 + HMC5883 + MS5611 + ARM. (В теории можно запустить 6-axis sensor fusion, а компас отдельно обсчитывать, но для этого надо компасс подключить напрямую к процу, а не к MPU)
Так же стоит поставить побольше проц, что бы без проблем было до 8 выходов на моторы, 8 входов RC, ну и выходы на разные LED драйверы, GPS, Telemetry, OSD…
Ну и непомешает SD слот, тем паче под новый проект… без логов никуда.
Короче, хотелось бы портировать пирата, и сразу ущербным его делать не хочеццо.

Хотя я попробую стартануть портирование ARM32 + AllInOne или FreeIMU. Тем самым можно заюзать платы с сенсорами, которые уже есть у людей.

SergDoc

платка собранная неплохо работает как CC, так что если что и без баро и компаса сгодится, буду их рисовать…

Sir_Alex:

Так же стоит поставить побольше проц, что бы без проблем было до 8 выходов на моторы, 8 входов RC, ну и выходы на разные LED драйверы, GPS, Telemetry, OSD…

STM32F103VET6@ST - сто лап и памяти ещё больше, два uart, два spi, две i2C ну и т.д. AP2 получается…

Sir_Alex:

ARM32 + AllInOne или FreeIMU.

code.google.com/p/multipilot32/

Надо наверно тему переименовать в “Мои нелетающие проекты” 😃

SergDoc

Вот интересно впишусь я в 36Х36, пока выкинул USB, автороутер бедняга уже два часа мне проц жарит (я ему цену переходного отверстия по максимуму завалил, дабы не клевал где непопадя) но если чесно для себя смысла невижу такую маленькую платку строгать, 50Х50 и с расстоянием между отверстиями 45 - вот это по мне (на аппарат мой, становится), во блин сейчас только заметил, я ж теперь КУК на него непоставлю - я же прямо на переднее отверстие уровень приклеил:(, ну и ладно…

ЗЫ несправился курилка, если кому надо, разведу руками (во ещё б на пальцах сказал), себе буду делать большую…

SergDoc

Развёл платку мультивия 36Х36, отличия от NAZE-32 - нет USB зато выведен UART , программатор можно и к нему присабачить, либо ардуиновский (входы проца талерантны к 5V) либо можно сделать на CP2102-GMR@SILABS, так же выведена шина i2c, нет выхода на пищалку, ну и неопробованная ещё LSM330DL@ST в качестве гиры и акселя, пока сие творение выкладывать небуду, желающих попробовать моё извращение прошу в личку(вышлю на почтовик, схему и разводку в EAGLE), сам ешё месяца два несмогу к сожалению её испробовать…

omegapraim
SergDoc:

Развёл платку мультивия 36Х36, отличия от NAZE-32 - нет USB зато выведен UART , программатор можно и к нему присабачить, либо ардуиновский (входы проца талерантны к 5V) либо можно сделать на CP2102-GMR@SILABS, так же выведена шина i2c, нет выхода на пищалку, ну и неопробованная ещё LSM330DL@ST в качестве гиры и акселя, пока сие творение выкладывать небуду, желающих попробовать моё извращение прошу в личку(вышлю на почтовик, схему и разводку в EAGLE), сам ешё месяца два несмогу к сожалению её испробовать…

Насчет датчика LSM330DL@ST ставьте смело, уже пару месяцев юзаю один из первой партии работает отлично в отличии от ITG3205 + LIS3DH (хотя и эта связка неплохо себя показала).

leprud
Sir_Alex:

какой подарок нам готовит ST

Фактически - тот же mpu9150
Ибо никаких подробностей ни там, ни тут не известны

Sir_Alex
leprud:

Фактически - тот же mpu9150 Ибо никаких подробностей ни там, ни тут не известны

Зато тут обычный ARM32, можно залить уже отлаженные алгоритмы DCM, MARG, что там еще есть… Могу предположить, что тут вообще не будет готового sensor fusion алгоритма (ну или зальют какой нибудь общеизвестный), заливай что хочешь.

А в MPU все шито-крыто, максимум удалось спереть 6axis DMP и то никто не знает как оно работает на самом деле.

leprud
Sir_Alex:

А в MPU все шито-крыто, максимум удалось спереть 6axis DMP и то никто не знает как оно работает на самом деле.

16 апреля обещали все открыть…
Внутри там явно какой-то арм, вопрос стоит только в доступности документации от производителя

igor_v_t
Sir_Alex:

Зато тут обычный ARM32, можно залить уже отлаженные алгоритмы DCM, MARG, что там еще есть… Могу предположить, что тут вообще не будет готового sensor fusion алгоритма (ну или зальют какой нибудь общеизвестный), заливай что хочешь.

А в MPU все шито-крыто, максимум удалось спереть 6axis DMP и то никто не знает как оно работает на самом деле.

И далее ИМХО переход на 32 разрядные процессоры имеет смысл только для сервиса, или задач обработки изображений.

leprud:

16 апреля обещали все открыть…
Внутри там явно какой-то арм, вопрос стоит только в доступности документации от производителя

Так что ждем 16 апреля

omegapraim:

Насчет датчика LSM330DL@ST ставьте смело, уже пару месяцев юзаю один из первой партии работает отлично в отличии от ITG3205 + LIS3DH (хотя и эта связка неплохо себя показала).

Может Вы сравнивали с MPU 6000 или хотя бы какие то цифры по дрейфу .

Sir_Alex

Еще раз почитал форум Invensense, короче судя по всему, с MPU6050 полная ж. 9DOF DMP на нем не получится сделать. На замену ему идет MPU9150 и вроде он пин-совместим с 6050, но от этого не легче…
Так что, по моему решение от ST, получше, там обычный проц, обычные программы, обычные интерфейсы (ну по размерам чуть больше, но не критично я думаю).

igor_v_t:

И далее ИМХО переход на 32 разрядные процессоры имеет смысл только для сервиса, или задач обработки изображений.

Да я вообще думаю, что можно было сделать плату с сенсорами и на них ARM32 для нормального обсчета с выдачей углов Эйлера, кватерионов или что там еще может понадобится. На максимальной скорости с нормальным Kalman фильтром.
А все остальное, Навигация, GPS, Телеметрия - потянет и обычная AVR. 😃
Так что, как вариант, можно сделать шилдик под Ардуину с ARM32 на борту и местом под плату с датчиками (AllInOne/FreeIMU). Под это дело можно адаптировать тот же пират.

HikeR
leprud:

Внутри там явно какой-то арм, вопрос стоит только в доступности документации от производителя

дык инфа чуть ли не с начала года имеется:

  • Two power supply options: internal regulator (3.6 V to 6 V), external regulated voltage (2.4 V to 3.6 V)
  • Compact design: 13 x 13 x 2 mm
  • L3G4200D: 3-axis digital gyroscope (roll, pitch, yaw), 16-bit data output, ±250°/s, ±500°/s, ±2000°/s selectable full scale
  • LSM303DLHC: 6-axis geomagnetic module, ±2 g, ±4 g, ±8 g, ±16 g linear acceleration programmable full scale, from ±1.3 Gauss to ±8.1 Gauss, I2C digital output
  • STM32F103REY: WLCSP package, high density performance line ARM®-based 32-bit MCU
  • LDS3985M33R: ultra low drop-low noise BiCMOS 300 mA voltage regulator.
  • Flexible interfaces: CAN, USART, SPI and I2C serial interfaces; full-speed USB 2.0
  • Free ADC channels for external inputs
  • In-system ceramic resonator
  • Application programming interfaces for firmware upgrading

(мелкий pdf по этому поводу)

если цену сделают как обещали (30-40 баксов), это очень и очень заманчивый модуль.

Sir_Alex:

можно было сделать плату с сенсорами и на них ARM32 для нормального обсчета с выдачей углов Эйлера, кватерионов или что там еще может понадобится. На максимальной скорости с нормальным Kalman фильтром.

опенсорсный и опенхардварный (с натяжкой) CHR-UM6-LT Orientation Sensor давно ждет своих владельцев 😉

igor_v_t

Я тут собрался потихоньку мигрировать на STM32 с целью иметь минимум 12 выходов на моторы и 2-3 на подвес и навигационную информацию обрабатывать с частотой 500-1000 Гц. Дальнейшая идея обработка изображения для обхода препятствий и т.д. Попутно сейчас начали возится с Глонасом, поскольку на GL8088 обещают точность 2 метра. Короче собрались приступить к рисованию платы под Глонас и заодно прилепить туда же MPU6000 и MS5611, но как то MPU6000 сложно добываются. Есть в США но отправляют в США, Канаду и Мексику. MPU9150 пока не видно. LSM330DL@ST можно купить на Терраэлектронике, что для нас немного дальше чем в США😒 но терпимо. А с учетом последней информации по LSM333 нахожусь в раздумьях куда двигаться.
MPU6000 я помучил на столе и получил по гироскопам при интегрировании уход <1 град в минуту, шумы акселерометра сравнительно большие (1g=4096 шум ±20 ), но быстродействие радует.
Первые подлеты с MPU6000 тоже понравились. и в сравнении с датчиками предыдущего поколения по моему впечатлению это лучше.
Сравнивалась ArduIMU V3 и APM2 с Crius MultiWii .
Поэтому очень интересует информация по датчикам STM/

Sir_Alex
HikeR:

опенсорсный и опенхардварный (с натяжкой) CHR-UM6-LT Orientation Sensor давно ждет своих владельцев

За 150$ - позолоченный наверное…

igor_v_t
HikeR:

опенсорсный и опенхардварный (с натяжкой) CHR-UM6-LT Orientation Sensor давно ждет своих владельцев

Да вопрос даже не в цене, а в том что датчики получше появились, а у меня такое впечатление, что с хорошими датчиками можно меньше с механикой возится. Вибрации меньше влияют.

Sir_Alex

Тот же MultiPilot32 переходит сейчас на STM32F4, там и частота побольше и FPU имеется. Так что в новых разработках лучше сразу его использовать.

HikeR
Sir_Alex:

За 150$ - позолоченный наверное…

дык конкурентов-то нет, вот и творят чего хочут. ST когда еще выкатит свой вариант, да когда еще он до прилавков доберется…

igor_v_t:

с хорошими датчиками можно меньше с механикой возится. Вибрации меньше влияют.

с хорошими датчиками вибрации можно измерить и учесть их, а без этого влиять они все равно будут.
с другой стороны, древний Flymentor 3D на аналоговых гирах держит вертолет лучше, чем навороченные арду-мега-траляля-пилоты с самыми последними датчиками 😉

Sir_Alex:

MultiPilot32 переходит сейчас на STM32F4, там и частота побольше и FPU имеется.

кстати, бесплатные компиляторы уже умеют задействовать FPU?

Sir_Alex
HikeR:

кстати, бесплатные компиляторы уже умеют задействовать FPU?

Ну вроде CodeSourcery ARM toolchain поддерживает FPU, тока я не в курсе, поддерживает ли F4

3.4.1. Enabling Hardware Floating Point
GCC provides three basic options for compiling floating-point code:
• Software floating point emulation, which is the default. In this case, the compiler implements
floating-point arithmetic by means of library calls.
• VFP hardware floating-point support using the soft-float ABI. This is selected by the
-mfloat-abi=softfp option. When you select this variant, the compiler generates VFP
floating-point instructions, but the resulting code uses the same call and return conventions as
code compiled with software floating point.
• VFP hardware floating-point support using the VFP ABI, which is the VFP variant of the Procedure
Call Standard for the ARM®Architecture (AAPCS). This ABI uses VFP registers to pass function
arguments and return values, resulting in faster floating-point code. To use this variant, compile
with -mfloat-abi=hard.

HikeR:

дык конкурентов-то нет, вот и творят чего хочут. ST когда еще выкатит свой вариант, да когда еще он до прилавков доберется…

Ну если там готовый софт, то да, может оно и стоит 150$ (хотя навряд ли).

Dimm168pin
igor_v_t:

LSM330DL@ST можно купить на Терраэлектронике, что для нас немного дальше чем в США😒 но терпимо.

да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня

igor_v_t
Dimm168pin:

да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня

Спасибо, это действительно лучше.