roboforum.ru

Технический форум по робототехнике.

dccharacter - Излить посильно

Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: dccharacter - Излить посильно

Dmitry__ » 03 фев 2013, 21:22

dccharacter писал(а):ФИЛЬТРЫ! Кажись, работает.

Последнее видео работы есть?

Re: dccharacter - Излить посильно

avr123.nm.ru » 04 фев 2013, 10:18

dccharacter писал(а): есть регистр Bandwidth - 2 бита. Этими битами настривается Cut-off.
Что это за катофф, к какому фильтру она, как он включается, как выключается - ни-че-го не написано.


наверняка частота среза фильтра нч для всех осей датчика. сделай скрин доки вокруг этого текста. разберемся.

Re: dccharacter - Излить посильно

dccharacter » 04 фев 2013, 12:49

Dmitry__ писал(а):
dccharacter писал(а):ФИЛЬТРЫ! Кажись, работает.

Последнее видео работы есть?

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

Добавлено спустя 3 минуты 37 секунд:
avr123.nm.ru писал(а):
dccharacter писал(а): есть регистр Bandwidth - 2 бита. Этими битами настривается Cut-off.
Что это за катофф, к какому фильтру она, как он включается, как выключается - ни-че-го не написано.


наверняка частота среза фильтра нч для всех осей датчика. сделай скрин доки вокруг этого текста. разберемся.


Вот доки на гиро (там очень мало, скрин смысла делать нет), смотреть описание регистров
http://www.st.com/internet/analog/product/252443.jsp

Вот аксель+компас
http://www.st.com/internet/analog/product/251940.jsp

Там в схемах нарисованы и LPF и подключаемые HPF, а примеры пестрят странным:
/* Fill the accelerometer LPF structure */
LSM303DLHCFilter_InitStructure.HighPassFilter_Mode_Selection = LSM303DLHC_HPM_REF_SIGNAL;
LSM303DLHCFilter_InitStructure.HighPassFilter_CutOff_Frequency = LSM303DLHC_HPFCF_16;
LSM303DLHCFilter_InitStructure.HighPassFilter_AOI1 = LSM303DLHC_HPF_AOI1_DISABLE;
LSM303DLHCFilter_InitStructure.HighPassFilter_AOI2 = LSM303DLHC_HPF_AOI2_DISABLE;

Re: dccharacter - Излить посильно

avr123.nm.ru » 04 фев 2013, 14:52

dccharacter писал(а):Вот доки на гиро (там очень мало, скрин смысла делать нет), смотреть описание регистров
http://www.st.com/internet/analog/product/252443.jsp


вроде ясно по табл 20 - комбинация бит задает ODR - частота обновления данных - и соотв. возможная частота среза ФНЧ.

Re: dccharacter - Излить посильно

dccharacter » 04 фев 2013, 15:05

avr123.nm.ru писал(а):и соотв. возможная частота среза ФНЧ.

Или ФВЧ?

Re: dccharacter - Излить посильно

avr123.nm.ru » 04 фев 2013, 16:03

фнч - пропускает частоты ниже частоты среза.

фвч там тоже настраивается но после настройки фнч.

Re: dccharacter - Излить посильно

dccharacter » 04 фев 2013, 22:07

Короче проблема в режиме работы фильтра.
Когда он в нормальных режимах, аксель сильно шумит. Из-за этого надо делать какой-то программный еще фильтр, лажа (вообще должен работать фильтр AHRSб но он как-то не очень работает)
А в режиме signal_ref все идеально гладко, но земля медленно вращается вокруг моей комнаты, а с ней и гравитация.

Добавлено спустя 35 минут 8 секунд:
Вроде IMU довел до ума (т.е. всегда точно знаем, где земля)
А компасс пока тупит.

Добавлено спустя 53 минуты 40 секунд:
Софта никто не знает нормального для визуализации ориентации? А то грешу я все-таки на этот кубик. Компасс вроде работает, но странно как-то.
Кстати, да, Дмитрий, похоже, был прав. Я *кажется* нашел ошибки в примерах

Re: dccharacter - Излить посильно

dccharacter » 05 фев 2013, 14:04

Посмотрел повнимательнее на данные, которые выдает компас
Я, очевидно, нахожусь на магнитном полюсе земли
Потому что направление на него - отвесно вниз
Из-за этого не работает и AHRS.
IMU работает отлично, могу показать, если интересно

Добавлено спустя 8 минут 12 секунд:
Хм. Под столом стоит сабвуфер и комп. На столе - колонки. Но вообще ржака.

Добавлено спустя 1 минуту 41 секунду:
нет, дело не в компе и не в сабвуфере

Добавлено спустя 27 секунд:
Такое чувство, что я смотрю на данные с акселерометра.
Вложения
Magnetometer.png

Re: dccharacter - Излить посильно

elmot » 05 фев 2013, 14:23

А чо ты хотел в квартире электронщика? Полюс на своем месте? ну-ну, ты еще в машине попробуй

Re: dccharacter - Излить посильно

dccharacter » 05 фев 2013, 14:53

elmot писал(а):А чо ты хотел в квартире электронщика? Полюс на своем месте? ну-ну, ты еще в машине попробуй

Проблема в том, что когда я кладу плату на пол, направление вектора не меняется, хотя все паразиты уже сбоку-сверху.

Добавлено спустя 9 минут 37 секунд:
А, нет, обманул я себя и вас. Синий - это Y, красный - Z, зеленый - X. При этом поведение вообще страннейшее. При перевороте плты кверх ногами знак меняется, т.е. направление вектора меняется на 180 градусов. Но при вращении без поворота значение не меняется вообще.

У меня сейчас мозг взорвется.

Добавлено спустя 13 минут 37 секунд:
OUT_X_H_M Table 16 r 03 00000011 output
OUT_X_L_M Table 16 r 04 00000100 output
OUT_Z_H_M Table 16 r 05 00000101 output
OUT_Z_L_M Table 16 r 06 00000110 output
OUT_Y_H_M Table 16 r 07 00000111 output
OUT_Y_L_M Table 16 r 08 00001000 output

Это описание регистров. В глаза ничего не бросается?
Все-таки на картинке подписи верные. Синий - это Z

Re: dccharacter - Излить посильно

elmot » 05 фев 2013, 14:58

dccharacter писал(а):Проблема в том, что когда я кладу плату на пол, направление вектора не меняется, хотя все паразиты уже сбоку-сверху.

Я ничего не хочу сказать, но попробуй угадать, кто главный паразит? :P :crazy:

Re: dccharacter - Излить посильно

dccharacter » 05 фев 2013, 15:39

Ах ты... Вот я тебя!!!!
Ладно, мне надоело, и я приделал лоу-пасс на компе
Вот что получается
Без фильтра

С раннинг авераж 16 сэмплов

С раннинг авераж 4 сэмпла

Re: dccharacter - Излить посильно

elmot » 05 фев 2013, 16:06

чота оно тормозное какое-то

Re: dccharacter - Излить посильно

galex1981 » 05 фев 2013, 16:30

Я таки не пойму, оно правильно работает или нет?

Re: dccharacter - Излить посильно

dccharacter » 06 фев 2013, 00:28

Работает, но плохо
Похоже я вляпался вот в это:
http://www.diydrones.com/forum/topics/m ... quare-root

Добавлено спустя 22 минуты 15 секунд:
нет, заменил на 1/sqrt(x), та ж свистопляска.
Скормил фильтру статичные данные. Все равно гуляет. Фильтр шумит...

Добавлено спустя 3 часа 15 минут 7 секунд:

Короче плюнул на принципы и вопреки даташиту откалибровал гиру и подкрутил чувствительность в 1,5-2 раза
Получилось ИМХО ничего так. Динамика фиговая, но это из-за 25Гц апдейта. Народ на коптерах до 200Гц ставит

Добавлено спустя 2 часа 21 минуту 28 секунд:
ну вот попробуйте, что ли
вывод в УАРТ2 (PA2)

Что должно быть:

$PROJ_DIR$\..\
$PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Include
$PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc
$PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc
$PROJ_DIR$\..\..\..\Utilities\STM32F3_Discovery

т.е. вот это у меня PROJ_DIR: E:\Documents\STM32\F3_projects\Projects\Demonstration\EWARM
вот это Libraries: E:\Documents\STM32\F3_projects\Libraries
вот это Utilities: E:\Documents\STM32\F3_projects\Utilities
$PROJ_DIR$\..\..\..\ == E:\Documents\STM32\F3_projects\
Вложения
NineDoFDemo.zip
(55.23 КиБ) Скачиваний: 0


Rambler\'s Top100 Mail.ru counter