Создание собственной системы стабилизации
Я имею в виду цель в более глобальном плане:
- сделать железо которого нет у других, например с картой памяти, Wifi, bluetooth, 800x600 экраном на борту и пр 😃
- отладить более совершенные алгоритмы под существующее железо (типа того что делает Mahovik)
- просто сделать плату и алгоритм под себя с целью повышения скилла
Если цель просто сделать клона с целью сэкономить, это выглядит странно т.к. как не крутись, у китайцев наверно дешевле выйдет…
Раз уж речь зашла о платах, хочется понять что это дает по сравнению с покупкой готовой, например PX4 (кроме прокачки скилла пайки, конечно 😃 )
например PX4
а почему покупают AIO а на APM2? это хобби и глубинный смысл в этом искать не надо, я что-то делаю - потому что это мне нравится, а форум - трещалка, где можно пообщатся, и где не скажут - да ну его- пошли лучше чернила дёрнем, вон они обредшие смысл жизни - за окном на лавочке, цели выпендрится перед кем-то у меня нет…
чем отличается от px4 больше портов, больше возможных функций и размер человеческий 😃 типа AIO только на STM32F4…
Мне б от них отказаться, и освободить “ноги”…
в арду всё завязано на прерывания готовности, в пирате нет, в вие тоже нет, а вот в последней реинкарнации naze32 уже есть, можно периодически просматривать статус-регистр, что я хотел сделать, но так руки и не дошли - начал ковырятся в мультипилоте…
Вопрос к Александру (rual) как думаете, прерывания от гироскопа и акселя сильно необходимы? Мне б от них отказаться, и освободить “ноги”…
Для гиры желательно оставить, если читать будете быстрей 100 Гц, иначе неизбежны ошибки интегрирования вследтствие пропуска или повтора данных отсчёта, аналогичное правило для акселя, если будете использовать только для коррекции горизонта без интегрирования, то можно обойтись без сигнала готовности.
например с картой памяти, Wifi, bluetooth, 800x600 экраном на борту и пр
карту памяти ещё понимаю, а остальное зачем:)?!
отладить более совершенные алгоритмы под существующее железо (типа того что делает Mahovik)
не в обиду, но существующие железо мне не нравится (ну может кроме ПХ4, хотя к нему тоже есть вопросы). Пытался купить ПХ4 на ГЛБ по приемлемой цене, но продинамили… Посему из готового пользую Ф3Дискавери😁, для разработки самое оно, только и2ц аксель напрягает.
просто сделать плату и алгоритм под себя с целью повышения скилла
плату я бы не делал, но первый пришлось ляпать самому,а вот проги пишу.
а остальное зачем?!
а чё телефон летающий получится - карман освободить 😃
аналогичное правило для акселя, если будете использовать только для коррекции горизонта без интегрирования, то можно обойтись без сигнала готовности.
вот я всё думаю, про мелкоплату, а может это не шум, а ошибки считывания? на выходных попробую вывести прерывание с акселя - посмотрю что выйдет… хотя смотрю у тебя на lsm тоже вектор некисло скачет даже в спокойном состоянии… а может её переделать совсем? а то уже страшная…
можно периодически просматривать статус-регистр, что я хотел сделать
Ты про регистр готовности MPU? Я использовал в пирате, но отказался, т.к. и так понятно когда данные готовы (т.к. мы сами задаем частоту). А такая проверка - 150us коту под хвост 😃
Лично я вижу большой плюс этой темы: Тут реально можно что то спросить и получить ответ не у простых людей, а тех кто пишет и создает коптеры… Ну и что что все делают разные контроллеры, все равно в основном используются типовые решения 😃 Так что тема хорошая и спасибо Сергею, что поддерживает ее на плаву 😃
только и2ц аксель напрягает.
Интересно, а есть ли приличные аналоговые датчики (гиры,аксели,магнитометры) ? Было б красиво - АЦП внутри STMа, и ничего не надо передавать с тормозами… “поэзия”…
Бяда, приличные значит дорогие и для них внутреннего АЦП маловато 😦 vis.asta использует, а для меня, например, это недостижимо дорого…
на выходных попробую вывести прерывание с акселя - посмотрю что выйдет… хотя смотрю у тебя на lsm тоже вектор некисло скачет даже в спокойном состоянии… а может её переделать совсем? а то уже страшная…
Я хороших акселей пока не пользовал, были бы доступны демки МПУ6000 SPI можно было бы попробовать. Еще говорят у МПУ есть режим трансляции компаса из собственной и2ц во внутренние регистры - был бы отличный вариант совсем без и2ц.
Интересно, а есть ли приличные аналоговые датчики (гиры,аксели,магнитометры) ? Было б красиво - АЦП внутри STMа, и ничего не надо передавать с тормозами… “поэзия”…
Программно всё вообще отлично получается - все данные ПДП разложит в ОЗУ с максимально возможной скоростью.
Бяда, приличные значит дорогие и для них внутреннего АЦП маловато vis.asta использует, а для меня, например, это недостижимо дорого…
12 бит АЦП должно хватить,надо спросить у Виктора крайний набор его датчиков, думаю не сильно дороже СПИайного МПУ.
у YS-X4 тоже внешний АЦП и у AutoQuad и Мультипилота есть два ИМУ различных на аналоговых датчиках, на всем известных IDG и ISZ и на дорогиж гирах и у всех внешний АЦП…
Еще говорят у МПУ есть режим трансляции компаса из собственной и2ц во внутренние регистры - был бы отличный вариант совсем без и2ц.
Есть в исходниках multiwii, можно подсмотреть, правда там и сам MPU работает через I2C…
Ковыряюсь в AeroQuad32 никак не могу понять, AeroQuad - ардуино, но 32 не могу разобраться, поддерживаемые платы f1 f4 DiscoveryF4 и FF - та которую Таймкоп в назе32 первой версии превратил, код довольно аккуратный, но блин под что? попробовать в само собранную среду на eclipse запихнуть ?
все данные ПДП разложит в ОЗУ
Кстати… (сейчас подошел к датчикам) стоит ли мне связываться с ПДП ? По моему должно быстрее работать, т.к. отвлекать проц. совсем не придется (но опыта НЕТ и поэтому сомневаюсь… грабли, какие ?).
Т.е. прерывание от гиро " толкает" ПДП ? или SPI ?
Как выстроить алгоритм по Вашему?
Ковыряюсь в AeroQuad32 никак не могу понять, AeroQuad - ардуино
Она кросплатформенная правда это кросплатформенность на дно их тянет
Она кросплатформенная
ага, надо ардуино 1 и выше, maple ide в пролёте, а потом спрашивает - а где ваши STM?, а где бутлоадер в проце? а есть там только на ф103, ну и т.д. буду ковырять дальше…
Либы там маполвские переписанные под F407. Все идет в дистре исходников. Компилер CodeSourcery ARM EABI (2011.09-69) новый криво компилирует, бутлоадер, да смотря чем заливать прошивки собираешься, могу скинуть оригинальный бутлоадер. Да кстати все что не 407 и не ардуино 100% поддержки нет.
надо всё-таки под eclipse (ide с поддержкой мапловских библиотек) перетянуть - будет счастье…
Гробага будет скорей всего, надо эклипс настроить на CodeSourcery компилер
Т.е. прерывание от гиро " толкает" ПДП ? или SPI ? Как выстроить алгоритм по Вашему?
Уменя так: готовность ДУС-вн.прерывание-запуск ПДП-прерывание окнчания ПДП-расчет ДУС
правда это кросплатформенность на дно их тянет
Ну эт смотря как писать, ну и не скрешивать бульдога с носорогом (АВР и АРМ). У меня, допустим, достаточно 2 файла заменить для перехода между СТМами, и 3й файл если менять датчики.
Подскажите, кто знает наверняка, в Atmega128 есть таймер с функцией захвата? Я смотрел в pdf, там есть много функций и есть что-то подобное на захват. Но оно ли это?
и есть что-то подобное на захват
Захват у таймеров 1 и 3 , вход называется “input capture”
Ну эт смотря как писать, ну и не скрешивать бульдога с носорогом
Да как не пиши, а все равно написать код который будет работать и на АВР и на АРМ требует большего времени чем просто на что-то одно да и за универсальность всегда приходится платить или функционалом или производительностью.