roboforum.ru

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

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

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

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

Сообщение Dmitry__ » 03 фев 2013, 21:22

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

Последнее видео работы есть?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение avr123.nm.ru » 04 фев 2013, 10:18

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


наверняка частота среза фильтра нч для всех осей датчика. сделай скрин доки вокруг этого текста. разберемся.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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;
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение avr123.nm.ru » 04 фев 2013, 14:52

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


вроде ясно по табл 20 - комбинация бит задает ODR - частота обновления данных - и соотв. возможная частота среза ФНЧ.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение dccharacter » 04 фев 2013, 15:05

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

Или ФВЧ?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение avr123.nm.ru » 04 фев 2013, 16:03

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

фвч там тоже настраивается но после настройки фнч.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение dccharacter » 04 фев 2013, 22:07

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

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

Добавлено спустя 53 минуты 40 секунд:
Софта никто не знает нормального для визуализации ориентации? А то грешу я все-таки на этот кубик. Компасс вроде работает, но странно как-то.
Кстати, да, Дмитрий, похоже, был прав. Я *кажется* нашел ошибки в примерах
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение dccharacter » 05 фев 2013, 14:04

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

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

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

Добавлено спустя 27 секунд:
Такое чувство, что я смотрю на данные с акселерометра.
Вложения
Magnetometer.png
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение elmot » 05 фев 2013, 14:23

А чо ты хотел в квартире электронщика? Полюс на своем месте? ну-ну, ты еще в машине попробуй
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

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
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение elmot » 05 фев 2013, 14:58

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

Я ничего не хочу сказать, но попробуй угадать, кто главный паразит? :P :crazy:
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

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

Сообщение dccharacter » 05 фев 2013, 15:39

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

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

С раннинг авераж 4 сэмпла
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение elmot » 05 фев 2013, 16:06

чота оно тормозное какое-то
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

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

Сообщение galex1981 » 05 фев 2013, 16:30

Я таки не пойму, оно правильно работает или нет?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Блоги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron