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

SergDoc
rual:

а остальное зачем?!

а чё телефон летающий получится - карман освободить 😃

rual:

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

вот я всё думаю, про мелкоплату, а может это не шум, а ошибки считывания? на выходных попробую вывести прерывание с акселя - посмотрю что выйдет… хотя смотрю у тебя на lsm тоже вектор некисло скачет даже в спокойном состоянии… а может её переделать совсем? а то уже страшная…

Sir_Alex
SergDoc:

можно периодически просматривать статус-регистр, что я хотел сделать

Ты про регистр готовности MPU? Я использовал в пирате, но отказался, т.к. и так понятно когда данные готовы (т.к. мы сами задаем частоту). А такая проверка - 150us коту под хвост 😃

Лично я вижу большой плюс этой темы: Тут реально можно что то спросить и получить ответ не у простых людей, а тех кто пишет и создает коптеры… Ну и что что все делают разные контроллеры, все равно в основном используются типовые решения 😃 Так что тема хорошая и спасибо Сергею, что поддерживает ее на плаву 😃

oleg70
rual:

только и2ц аксель напрягает.

Интересно, а есть ли приличные аналоговые датчики (гиры,аксели,магнитометры) ? Было б красиво - АЦП внутри STMа, и ничего не надо передавать с тормозами… “поэзия”…

SergDoc

Бяда, приличные значит дорогие и для них внутреннего АЦП маловато 😦 vis.asta использует, а для меня, например, это недостижимо дорого…

rual
SergDoc:

на выходных попробую вывести прерывание с акселя - посмотрю что выйдет… хотя смотрю у тебя на lsm тоже вектор некисло скачет даже в спокойном состоянии… а может её переделать совсем? а то уже страшная…

Я хороших акселей пока не пользовал, были бы доступны демки МПУ6000 SPI можно было бы попробовать. Еще говорят у МПУ есть режим трансляции компаса из собственной и2ц во внутренние регистры - был бы отличный вариант совсем без и2ц.

oleg70:

Интересно, а есть ли приличные аналоговые датчики (гиры,аксели,магнитометры) ? Было б красиво - АЦП внутри STMа, и ничего не надо передавать с тормозами… “поэзия”…

Программно всё вообще отлично получается - все данные ПДП разложит в ОЗУ с максимально возможной скоростью.

SergDoc:

Бяда, приличные значит дорогие и для них внутреннего АЦП маловато vis.asta использует, а для меня, например, это недостижимо дорого…

12 бит АЦП должно хватить,надо спросить у Виктора крайний набор его датчиков, думаю не сильно дороже СПИайного МПУ.

SergDoc

у YS-X4 тоже внешний АЦП и у AutoQuad и Мультипилота есть два ИМУ различных на аналоговых датчиках, на всем известных IDG и ISZ и на дорогиж гирах и у всех внешний АЦП…

Sir_Alex
rual:

Еще говорят у МПУ есть режим трансляции компаса из собственной и2ц во внутренние регистры - был бы отличный вариант совсем без и2ц.

Есть в исходниках multiwii, можно подсмотреть, правда там и сам MPU работает через I2C…

SergDoc

Ковыряюсь в AeroQuad32 никак не могу понять, AeroQuad - ардуино, но 32 не могу разобраться, поддерживаемые платы f1 f4 DiscoveryF4 и FF - та которую Таймкоп в назе32 первой версии превратил, код довольно аккуратный, но блин под что? попробовать в само собранную среду на eclipse запихнуть ?

oleg70
rual:

все данные ПДП разложит в ОЗУ

Кстати… (сейчас подошел к датчикам) стоит ли мне связываться с ПДП ? По моему должно быстрее работать, т.к. отвлекать проц. совсем не придется (но опыта НЕТ и поэтому сомневаюсь… грабли, какие ?).
Т.е. прерывание от гиро " толкает" ПДП ? или SPI ?
Как выстроить алгоритм по Вашему?

Razek
SergDoc:

Ковыряюсь в AeroQuad32 никак не могу понять, AeroQuad - ардуино

Она кросплатформенная правда это кросплатформенность на дно их тянет

SergDoc
Razek:

Она кросплатформенная

ага, надо ардуино 1 и выше, maple ide в пролёте, а потом спрашивает - а где ваши STM?, а где бутлоадер в проце? а есть там только на ф103, ну и т.д. буду ковырять дальше…

Razek

Либы там маполвские переписанные под F407. Все идет в дистре исходников. Компилер CodeSourcery ARM EABI (2011.09-69) новый криво компилирует, бутлоадер, да смотря чем заливать прошивки собираешься, могу скинуть оригинальный бутлоадер. Да кстати все что не 407 и не ардуино 100% поддержки нет.

SergDoc

надо всё-таки под eclipse (ide с поддержкой мапловских библиотек) перетянуть - будет счастье…

Razek

Гробага будет скорей всего, надо эклипс настроить на CodeSourcery компилер

rual
oleg70:

Т.е. прерывание от гиро " толкает" ПДП ? или SPI ? Как выстроить алгоритм по Вашему?

Уменя так: готовность ДУС-вн.прерывание-запуск ПДП-прерывание окнчания ПДП-расчет ДУС

Razek:

правда это кросплатформенность на дно их тянет

Ну эт смотря как писать, ну и не скрешивать бульдога с носорогом (АВР и АРМ). У меня, допустим, достаточно 2 файла заменить для перехода между СТМами, и 3й файл если менять датчики.

Alexsis1109

Подскажите, кто знает наверняка, в Atmega128 есть таймер с функцией захвата? Я смотрел в pdf, там есть много функций и есть что-то подобное на захват. Но оно ли это?

oleg70
Alexsis1109:

и есть что-то подобное на захват

Захват у таймеров 1 и 3 , вход называется “input capture”

Razek
rual:

Ну эт смотря как писать, ну и не скрешивать бульдога с носорогом

Да как не пиши, а все равно написать код который будет работать и на АВР и на АРМ требует большего времени чем просто на что-то одно да и за универсальность всегда приходится платить или функционалом или производительностью.

SergDoc

короче да не получилось, ну что ж буду сам собирать проект… когдато ж надо начинать учится 😃

RaJa
SergDoc:

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

У меня тоже единомышленники сливались как только дело доходило до серьезного проектирования 😃 В итоге ушло времени в разы больше чем планировал и приходится разбираться в том, во что лезть совершенно не предполагал

Alexsis1109
oleg70:

Захват у таймеров 1 и 3 , вход называется “input capture”

спасибо. т.е. их два. а для считываня шимов с каналов достаточно только одного таймера? его просто по событиям переключать, сначало из 0 в 1 , потом из 1 в 0?