Создание собственной системы стабилизации
Достаточно задействовать два канала i2c, и вывести UART для программирования. Возможно SWD для отладки. Короче, практически голый проц + кварц.
В принципе я и сам могу нарисовать в EAGLE, у тебя есть либа под STM32F103C8T6 ?
SPI на всякий случай вывести стоит IMU разные бывают, и к арду лучше по SPI подключится
Платку собрал, залил в неё прошивку от naze 32 просто для проверки работоспособности и вот не знаю радоватся или огорчатся, что-то определилось как гироскоп 😵 следовательно нужно будет прибить гиру или же прямо его, драйвер, и переписать, а вот аксель у LSM330 уж очень больно похож на MMA8452 и этот самый MMA8452 у Таймкопа в прошивке есть 😃
а не сделать ли махонькую платку с STM32 на бору
попробуйте, может получится быстрее, чем STM разродится своим INEMO-M1
а еще лучше развести аналог CHR-UM6-LT Orientation Sensor, который раздают по 150 баксов
прошивка и исходники открыты, есть программа для калибровки компаса, выдает углы или кватернион до 300 раз в секунду.
а еще лучше развести аналог CHR-UM6-LT Orientation Sensor, который раздают по 150 баксов
Я тут на картинках дырочки сосчитал - плата двухслойная и размеры 2.54 - 2.5 СМ можно и на кухне изготовить 😃
только аксель поменять, а то он всего +/- 2g maximum measurable acceleration
Ага, только я шяс до пенсии буду драйвер рисовать и Sensorautodetect искать у Таймкопа 😃
У меня тут идейка возникла…
Основная проблема Ардуин - нехватка мощности CPU для быстрого обсчета положения в пространстве. У многих людей имеются FreeIMU, AllInOne. Так вот, а не сделать ли махонькую платку с STM32 на бору, у которой вход I2C и выход i2C. Эту платку надо будет включить между существующими платами сенсоров и основными мозгами Ардуины (т.е. ничего практически не меняется).
Задача этой платки будет - быстро обсчитать координаты и выдать их в виде углов Эйлера или кватерионов.
Думаю не сложно будет допилить код Ардукоптера, что бы он брал готовые данные от такой платки. Это даст производительность STM32, за смешные деньги и функциональность ардукоптера 😃
Так исходная предпосылка ИМХО не совсем точна. Расчет DCM матрицы занимает 3 мсек. Остальное время тратится на чтение датчиков. Если чисто полетать то производительности хватает. цикл 5 мсек и изредка 6 . Поэтому если датчики не работают на более высоких частотах не имеет смысла возится.
Более менее разобрался с драйвером, решил писать два отдельных, на гиру и аксель, смущает одно обстоятельство, Таймкоп ввёл некие сигнатуры, для проверки что-ли? и автодетект ещё не до конца я понял - с аксеем то разберусь есть можно сказать “пример”, надеюсь с гирой тоже самое, жалко что небудет полной совместимости с Таймкоповскими прошивками - нужно будет править каждую новую, много где дописывать нужно под датчики…
О! Добро пожаловать в Naze32Pirates 😃
Собсно я с ардукоптером этим и занимаюсь. После выхода каждой прошивки, допиливаю их код под наши датчики. Хотя там сейчас все стало проще, т.к. драйвера для датчиков как бы отдельно стали, только Класс датчика меняешь в настройках и все 😃
а еще лучше развести аналог CHR-UM6-LT Orientation Sensor, который раздают по 150 баксов
Во придумал, коробочки от HK401, F103 и LSM333(три в одном которые), два интерфейса i2c и USART как раз с двух сторон по 4 провода влезет, главное чтоб в 103 i2c одна мастером вторая слейвом работали, светодиодик на питание, можно ещё 2 для чего-нибудь (это про коробочку) ну и переключатель BOOT 0 так же на коробочку чтоб не открывать при программировании 😃
Во придумал, коробочки от HK401, F103 и LSM333(три в одном которые), два интерфейса i2c и USART как раз с двух сторон по 4 провода влезет, главное чтоб в 103 i2c одна мастером вторая слейвом работали, светодиодик на питание, можно ещё 2 для чего нибудь (это про коробочку) ну и переключатель BOOT 0 так же на коробочку чтоб не открывать при программировании
ИМХО, такой вариант нет смысла делать, будет такой же никому не нужный как и CHR-UM6-LT. Это уже практически полетный контроллер получится а их уже и так тьма.
Поэтому если датчики не работают на более высоких частотах не имеет смысла возится
Если это так видимо оно того не стоит. Однако, в Ардукоптере DCM обсчитывается за несколько итераций…
ИМХО, такой вариант нет смысла делать, будет такой же никому не нужный как и CHR-UM6-LT. Это уже практически полетный контроллер получится а их уже и так тьма.
Зато дёшево и сердито, а смысл такой же как между полётным контроллером и IMU STM-ку воткнуть 😃
Зато дёшево и сердито, а смысл такой же как между полётным контроллером и IMU STM-ку воткнуть
Неееет! Смысл моего предложения, задействовать существующие датчики. Ну зачем мне платить за еще одни, если у меня и так валяются AllInOne и FreeIMU?
Ну или как вариант, сделать полетный контроллер без датчиков. Т.е. Naza32 только без датчиков. В данном случае можно было бы адаптировать AfroFlight32 под существующие датчики.
Каждый шаг на пути усложнения в электронике – это новый шанс сделать ее хуже, то есть производить то, что ухудшает конечное качество (С) nadelectronics.ru
Если это так видимо оно того не стоит. Однако, в Ардукоптере DCM обсчитывается за несколько итераций…
Я летаю на своей программе на базе ArducopterNG и матрица в каждом цикле полностью считается за 3 мсек. А в Арду навешали кучу сервиса и поэтому не успевают. У меня один из 10-30 циклов 6 мсек, остальные пять. Баро читается с частотой 100 Гц
удалил за ненадобностью
Ну или как вариант, сделать полетный контроллер без датчиков. Т.е. Naza32 только без датчиков. В данном случае можно было бы адаптировать AfroFlight32 под существующие датчики.
Алексей, ведь у вас есть платка, зачем ещё то одна?
А вот как Таймкоп добавлял новый аксель code.google.com/p/afrodevices/source/detail?r=157