GY-85

В моем Gy-85 стоит компас qmc 5880

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#1

Сообщение mic10154 » 10.04.2019{, 19:33}

Здравствуйте. Помогите пожалуйста! У меня проект на GY-85. В основном меня интересует компас. На сайте пользователем был создан очень полезный блок для этого модуля viewtopic.php?f=112&t=4371 Там же ссылка на библиотеку.Но сейчас китайцы ставят микросхему компаса не HMC5883 а QMC5883. Даташиты на них тоже разные. В общем в библиотеке есть поддержка только HMC5883. При запуске скетча exemple показывает все значения,кроме компаса,одни нули. Помогите пожалуйста адаптировать библиотеку под QMC5883.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#2

Сообщение AVGN » 10.04.2019{, 20:14}

mic10154 писал(а):
10.04.2019{, 19:33}
Помогите пожалуйста адаптировать библиотеку под QMC5883.
Здесь не помогут. Вам дорога на форумы программистов. Библиотеки пишут на языке С++.
Если будет библиотека то и можно сделать блок для FLProg.

Отправлено спустя 2 минуты 16 секунд:
Хотя вот кажется библиотека

Отправлено спустя 5 минут 54 секунды:
mic10154, проверяйте с Вашей железкой библиотеку.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#3

Сообщение mic10154 » 11.04.2019{, 15:37}

Ок. Спасибо все заработало!!! Но можно ли создать пользовательский блок бод это? Просто я не специалист в этом.

Отправлено спустя 2 часа 15 минут 43 секунды:
Вроде бы получилось.
Компас_QMC5883l_(CODE).ubi
(40.78 КБ) 76 скачиваний

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#4

Сообщение AVGN » 11.04.2019{, 18:55}

mic10154 писал(а):
11.04.2019{, 17:53}
Вроде бы получилось.

Компас_QMC5883l_(CODE).ubi
FLP пишет "Блок не корректный".
Разбираться не стал. Сделал по быстрому свой.
Проект компилируется. В железе не проверял ибо нет. Тестируйте.
Компас Mecha_QMC5883L_FLP_4_2_4 test.flp
(97.41 КБ) 84 скачивания
Отправлено спустя 36 минут 44 секунды:
Вот еще одна библиотека нашлась здесь
Проект с библиотекой. Тестируйте.
Компас QMC5883L_wiki_FLP_4_2_4 test.flp
(78.36 КБ) 93 скачивания
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#5

Сообщение mic10154 » 12.04.2019{, 14:52}

Блок стал не корректным из за добавления Параметра пользователя. Но у меня все работает.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#6

Сообщение AVGN » 12.04.2019{, 19:31}

mic10154, мои проекты протестировали?
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#7

Сообщение mic10154 » 14.04.2019{, 10:16}

Нет еще. Времени не было.

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#8

Сообщение mic10154 » 18.04.2019{, 16:07}

Проверил на железе. Вроде бы работает. Да кстати я азимут упустил. Но вот не задача. Азимут работает вправо и влево и вверх и вниз. Что не так? Очень нужно получать данные поворота головы.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#9

Сообщение AVGN » 18.04.2019{, 18:30}

mic10154 писал(а):
18.04.2019{, 16:07}
Азимут работает вправо и влево и вверх и вниз. Что не так? Очень нужно получать данные поворота головы.
Где Ваш проект?
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#10

Сообщение mic10154 » 19.04.2019{, 06:30}

Поворот.flp
(87.22 КБ) 69 скачиваний
Отправлено спустя 9 минут 48 секунд:
Еще вот такие ошибки в IDE показывает
Ошибки.txt
(816 байт) 68 скачиваний

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#11

Сообщение AVGN » 19.04.2019{, 16:55}

mic10154 писал(а):
19.04.2019{, 06:40}
Еще вот такие ошибки в IDE показывает
Потому что блок уже имеет выходы в виде переменных
int x;
int y;
И Вы еще объявляете одноименные переменные X и Y.
Вот подправил -компилируется в ID.
Поворот_без ошибок.flp
(87 КБ) 68 скачиваний
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#12

Сообщение mic10154 » 20.04.2019{, 09:25}

Ошибки те же. Он у меня и до этого компилировался. Больше интересует то что он реагирует не только на поворот вокруг своей оси,но и вверх вниз на целых 100 градусов. Цифровой фильтр гистерезиса точно не поможет. Думаю дело в самом чипе. Заказал уже 2 модификации на HMC5883l. С ним вроде проблем нет в интернете.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 680
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 50
Имя: Виктор

GY-85

#13

Сообщение ViktorPetrov » 20.04.2019{, 10:51}

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

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#14

Сообщение AVGN » 20.04.2019{, 17:21}

mic10154 писал(а):
20.04.2019{, 09:25}
Ошибки те же.
никаких ошибок
СпойлерПоказать
Поворот_без ошибок.PNG
mic10154 писал(а):
20.04.2019{, 09:25}
Больше интересует то что он реагирует не только на поворот вокруг своей оси,но и вверх вниз на целых 100 градусов.
так проверьте блок сделанный на другой библиотеке
AVGN писал(а):
11.04.2019{, 19:32}
Компас QMC5883L_wiki_FLP_4_2_4 test.flp
ViktorPetrov писал(а):
20.04.2019{, 10:51}
проверить датчик на примере из библиотеки: тест
как раз на этом примере и сделан блок в проекте Компас QMC5883L_wiki_FLP_4_2_4 test.flp
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#15

Сообщение mic10154 » 21.04.2019{, 10:19}

На всех библиотеках,примерах и проектах результат один и тот же. Азимут показывает в градусах очень четко при повороте вокруг своей оси. К этому претензий нет. Но при опускании или поднятии (как по оси Y) показания тоже меняются на 100 градусов. Есть у кого нибудь еще подобный чип для проверки?

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 680
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 50
Имя: Виктор

GY-85

#16

Сообщение ViktorPetrov » 21.04.2019{, 11:13}

В двух словах :нужна компенсация наклона для компаса .При отклонении датчика магнитометра по осям X и Y нужно вносить поправки от акселерометра. Более подробно можно ознакомется здесь .Пример описанный в статье, эффективен в диапазонах изменения угла от -45 ° до + 45 ° , в большинстве случаев вполне достаточно .

Mining
Сержант
Сообщения: 148
Зарегистрирован: 31.10.2016{, 15:01}
Репутация: 4
Имя: Алексей

GY-85

#17

Сообщение Mining » 21.04.2019{, 11:31}


mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

GY-85

#18

Сообщение mic10154 » 22.04.2019{, 09:43}

ViktorPetrov писал(а):
21.04.2019{, 11:13}
В двух словах :нужна компенсация наклона для компаса .При отклонении датчика магнитометра по осям X и Y нужно вносить поправки от акселерометра. Более подробно можно ознакомется здесь .Пример описанный в статье, эффективен в диапазонах изменения угла от -45 ° до + 45 ° , в большинстве случаев вполне достаточно .
А вот это уже кое что. Осталось только сделать это в FL prog.

Отправлено спустя 4 минуты 13 секунд:
Этот вариант не подходит т.к. Эта калибровка предназначена для программы на ПК, в общем для игр. Но на заметку возьму.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 680
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 50
Имя: Виктор

GY-85

#19

Сообщение ViktorPetrov » 22.04.2019{, 13:44}

mic10154 писал(а):
22.04.2019{, 09:47}
А вот это уже кое что. Осталось только сделать это в FL prog.
Подумать нужно,желательно отдельным блоком сделать,чтоб основные блоки для акселерометра и магнитометра не переписывать пример компесации наклона
И еще пожалуй нужен фильтр для акселерометра и гироскопа Arduino-KalmanFilter с ним меньше шумов будит от датчика.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

GY-85

#20

Сообщение AVGN » 22.04.2019{, 17:28}

mic10154 писал(а):
21.04.2019{, 10:19}
Но при опускании или поднятии (как по оси Y) показания тоже меняются на 100 градусов. Есть у кого нибудь еще подобный чип для проверки?
к сожалению чипа нет , ищите инфу в интернете, если подскажут код как с этим бороться можно сделать блок для FLProg.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Ответить

Вернуться в «Спросить у знатоков»