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

HikeR

только аксель поменять, а то он всего +/- 2g maximum measurable acceleration

SergDoc

Ага, только я шяс до пенсии буду драйвер рисовать и Sensorautodetect искать у Таймкопа 😃

igor_v_t
Sir_Alex:

У меня тут идейка возникла…
Основная проблема Ардуин - нехватка мощности CPU для быстрого обсчета положения в пространстве. У многих людей имеются FreeIMU, AllInOne. Так вот, а не сделать ли махонькую платку с STM32 на бору, у которой вход I2C и выход i2C. Эту платку надо будет включить между существующими платами сенсоров и основными мозгами Ардуины (т.е. ничего практически не меняется).
Задача этой платки будет - быстро обсчитать координаты и выдать их в виде углов Эйлера или кватерионов.
Думаю не сложно будет допилить код Ардукоптера, что бы он брал готовые данные от такой платки. Это даст производительность STM32, за смешные деньги и функциональность ардукоптера 😃

Так исходная предпосылка ИМХО не совсем точна. Расчет DCM матрицы занимает 3 мсек. Остальное время тратится на чтение датчиков. Если чисто полетать то производительности хватает. цикл 5 мсек и изредка 6 . Поэтому если датчики не работают на более высоких частотах не имеет смысла возится.

SergDoc

Вот кстати что у меня получилось:

SergDoc

Более менее разобрался с драйвером, решил писать два отдельных, на гиру и аксель, смущает одно обстоятельство, Таймкоп ввёл некие сигнатуры, для проверки что-ли? и автодетект ещё не до конца я понял - с аксеем то разберусь есть можно сказать “пример”, надеюсь с гирой тоже самое, жалко что небудет полной совместимости с Таймкоповскими прошивками - нужно будет править каждую новую, много где дописывать нужно под датчики…

Sir_Alex

О! Добро пожаловать в Naze32Pirates 😃
Собсно я с ардукоптером этим и занимаюсь. После выхода каждой прошивки, допиливаю их код под наши датчики. Хотя там сейчас все стало проще, т.к. драйвера для датчиков как бы отдельно стали, только Класс датчика меняешь в настройках и все 😃

SergDoc
HikeR:

а еще лучше развести аналог CHR-UM6-LT Orientation Sensor, который раздают по 150 баксов

Во придумал, коробочки от HK401, F103 и LSM333(три в одном которые), два интерфейса i2c и USART как раз с двух сторон по 4 провода влезет, главное чтоб в 103 i2c одна мастером вторая слейвом работали, светодиодик на питание, можно ещё 2 для чего-нибудь (это про коробочку) ну и переключатель BOOT 0 так же на коробочку чтоб не открывать при программировании 😃

Sir_Alex
SergDoc:

Во придумал, коробочки от HK401, F103 и LSM333(три в одном которые), два интерфейса i2c и USART как раз с двух сторон по 4 провода влезет, главное чтоб в 103 i2c одна мастером вторая слейвом работали, светодиодик на питание, можно ещё 2 для чего нибудь (это про коробочку) ну и переключатель BOOT 0 так же на коробочку чтоб не открывать при программировании

ИМХО, такой вариант нет смысла делать, будет такой же никому не нужный как и CHR-UM6-LT. Это уже практически полетный контроллер получится а их уже и так тьма.

igor_v_t:

Поэтому если датчики не работают на более высоких частотах не имеет смысла возится

Если это так видимо оно того не стоит. Однако, в Ардукоптере DCM обсчитывается за несколько итераций…

SergDoc
Sir_Alex:

ИМХО, такой вариант нет смысла делать, будет такой же никому не нужный как и CHR-UM6-LT. Это уже практически полетный контроллер получится а их уже и так тьма.

Зато дёшево и сердито, а смысл такой же как между полётным контроллером и IMU STM-ку воткнуть 😃

Sir_Alex
SergDoc:

Зато дёшево и сердито, а смысл такой же как между полётным контроллером и IMU STM-ку воткнуть

Неееет! Смысл моего предложения, задействовать существующие датчики. Ну зачем мне платить за еще одни, если у меня и так валяются AllInOne и FreeIMU?

Ну или как вариант, сделать полетный контроллер без датчиков. Т.е. Naza32 только без датчиков. В данном случае можно было бы адаптировать AfroFlight32 под существующие датчики.

SergDoc

Каждый шаг на пути усложнения в электронике – это новый шанс сделать ее хуже, то есть производить то, что ухудшает конечное качество (С) nadelectronics.ru

igor_v_t
Sir_Alex:

Если это так видимо оно того не стоит. Однако, в Ардукоптере DCM обсчитывается за несколько итераций…

Я летаю на своей программе на базе ArducopterNG и матрица в каждом цикле полностью считается за 3 мсек. А в Арду навешали кучу сервиса и поэтому не успевают. У меня один из 10-30 циклов 6 мсек, остальные пять. Баро читается с частотой 100 Гц

SergDoc
Sir_Alex:

Ну или как вариант, сделать полетный контроллер без датчиков. Т.е. Naza32 только без датчиков. В данном случае можно было бы адаптировать AfroFlight32 под существующие датчики.

Алексей, ведь у вас есть платка, зачем ещё то одна?

А вот как Таймкоп добавлял новый аксель code.google.com/p/afrodevices/source/detail?r=157

HikeR
Sir_Alex:

Ну или как вариант, сделать полетный контроллер без датчиков.

и получится Openpilot.

Sir_Alex
HikeR:

и получится Openpilot

ЭЭЭммм… разве там нет сенсоров?

HikeR

похоронненый Openpilot - минимум две платы: плата датчиков со своим процом и основная плата (к последней подключались GPS и прочие вещи).
текущий Coptercontrol - одна плата
будущий Revolution - опять одна плата, но с космическим F4 на борту.

SergDoc

Да в исходниках, в бета версии, лежит его схема, я ещё думал что за хрень, без датчиков, только куча разъёмов…

Какие-то изменения по OpenPilot происходят, последний раз обновлял исхдники (всё надеюсь что i2c поправили) - изменения были …

Забавная вещь, на одном контроллере у меня на данный момент работают гиры и аксель, а на втором маг и баро 😃 надо второй перед первым повесить 😃

SergDoc
Sir_Alex:

Хы хы, пока я тут идеи кидал, Китайцы ужо сделали:

Дык это оно и есть Naze 32 без датчиков, пиратить будут 😃

причём написаны датчики которые использует Таймкоп, интересно если я щас драйвер выложу они микруху допишут в поддерживаемые?