Страница 1 из 1
					
				GY-85
				Добавлено: 10 апр 2019, 19:33
				 mic10154
				Здравствуйте. Помогите пожалуйста! У меня проект на GY-85. В основном меня интересует компас. На сайте пользователем был создан очень полезный блок для этого модуля 
viewtopic.php?f=112&t=4371   Там же ссылка на библиотеку.Но сейчас китайцы ставят микросхему компаса не HMC5883 а QMC5883. Даташиты на них тоже разные. В общем в библиотеке есть поддержка только HMC5883. При запуске скетча exemple показывает все значения,кроме компаса,одни нули. Помогите пожалуйста адаптировать библиотеку под QMC5883.
 
			
					
				GY-85
				Добавлено: 10 апр 2019, 20:22
				 AVGN
				mic10154 писал(а): 10 апр 2019, 19:33
Помогите пожалуйста адаптировать библиотеку под QMC5883.
 
 Здесь не помогут. Вам дорога на форумы программистов. Библиотеки пишут на языке С++.
Если будет библиотека то и можно сделать блок для FLProg.
Отправлено спустя     2 минуты 16 секунд:
Хотя вот кажется 
библиотека
Отправлено спустя     5 минут 54 секунды:
[ref]mic10154[/ref], проверяйте с Вашей железкой библиотеку.
 
			
					
				GY-85
				Добавлено: 11 апр 2019, 17:53
				 mic10154
				Ок. Спасибо все заработало!!! Но можно ли создать пользовательский блок бод это? Просто я не специалист в этом.
Отправлено спустя    2 часа 15 минут 43 секунды:
Вроде бы получилось.
Компас_QMC5883l_(CODE).ubi
 
			
					
				GY-85
				Добавлено: 11 апр 2019, 19:32
				 AVGN
				mic10154 писал(а): 11 апр 2019, 17:53
Вроде бы получилось.
Компас_QMC5883l_(CODE).ubi
 
FLP пишет "Блок не корректный".
Разбираться не стал. Сделал по быстрому свой.
Проект компилируется. В железе не проверял ибо нет. Тестируйте.
Компас Mecha_QMC5883L_FLP_4_2_4 test.flp
Отправлено спустя     36 минут 44 секунды:
Вот еще одна библиотека нашлась 
здесь
Проект с библиотекой. Тестируйте.
Компас QMC5883L_wiki_FLP_4_2_4 test.flp
 
			
					
				GY-85
				Добавлено: 12 апр 2019, 14:52
				 mic10154
				Блок стал не корректным из за добавления Параметра пользователя. Но у меня все работает.
			 
			
					
				GY-85
				Добавлено: 12 апр 2019, 19:31
				 AVGN
				[ref]mic10154[/ref], мои проекты протестировали?
			 
			
					
				GY-85
				Добавлено: 14 апр 2019, 10:16
				 mic10154
				Нет еще. Времени не было.
			 
			
					
				GY-85
				Добавлено: 18 апр 2019, 16:07
				 mic10154
				Проверил на железе. Вроде бы работает. Да  кстати я азимут упустил. Но вот не задача. Азимут работает вправо и влево и вверх и вниз. Что не так? Очень нужно получать данные поворота головы.
			 
			
					
				GY-85
				Добавлено: 18 апр 2019, 18:30
				 AVGN
				mic10154 писал(а): 18 апр 2019, 16:07
Азимут работает вправо и влево и вверх и вниз. Что не так? Очень нужно получать данные поворота головы.
 
 Где Ваш проект?
 
			
					
				GY-85
				Добавлено: 19 апр 2019, 06:40
				 mic10154
				Поворот.flp
Отправлено спустя     9 минут 48 секунд:
Еще вот такие ошибки в IDE показывает
Ошибки.txt
 
			
					
				GY-85
				Добавлено: 19 апр 2019, 16:55
				 AVGN
				mic10154 писал(а): 19 апр 2019, 06:40
Еще вот такие ошибки в IDE показывает
 
Потому что блок уже имеет выходы в виде переменных 
int x;
int y;
И Вы еще объявляете одноименные переменные X и Y.
Вот подправил -компилируется в ID.
Поворот_без ошибок.flp
 
			
					
				GY-85
				Добавлено: 20 апр 2019, 09:25
				 mic10154
				Ошибки те же. Он у меня и до этого компилировался. Больше интересует то что он реагирует не только на поворот вокруг своей оси,но и вверх вниз на целых 100 градусов. Цифровой фильтр гистерезиса точно не поможет. Думаю дело в самом чипе. Заказал уже 2 модификации на HMC5883l. С ним вроде проблем нет в интернете.
			 
			
					
				GY-85
				Добавлено: 20 апр 2019, 10:51
				 ViktorPetrov
				Не спешите с выводами,с начало проверить датчик на примере из библиотеки: 
тест,поворачивайте компас в горизонтальной плоскости вокруг часовой стрелки, в последнем столбце будет изменятся азимут.
 
			
					
				GY-85
				Добавлено: 20 апр 2019, 17:21
				 AVGN
				mic10154 писал(а): 20 апр 2019, 09:25Ошибки те же.
 
никаких ошибок 
[spoiler]
Поворот_без ошибок.PNG
[/spoiler]
mic10154 писал(а): 20 апр 2019, 09:25
Больше интересует то что он реагирует не только на поворот вокруг своей оси,но и вверх вниз на целых 100 градусов.
 
так проверьте блок сделанный на другой библиотеке 
 
ViktorPetrov писал(а): 20 апр 2019, 10:51
проверить датчик на примере из библиотеки: тест
 
 как раз на этом примере и сделан блок в проекте 
Компас QMC5883L_wiki_FLP_4_2_4 test.flp 
			
					
				GY-85
				Добавлено: 21 апр 2019, 10:19
				 mic10154
				На всех библиотеках,примерах и проектах результат один и тот же. Азимут показывает в градусах очень четко при повороте вокруг своей оси. К этому претензий нет. Но при опускании или поднятии (как по оси Y) показания тоже меняются на 100 градусов. Есть у кого нибудь еще подобный чип для проверки?
			 
			
					
				GY-85
				Добавлено: 21 апр 2019, 11:13
				 ViktorPetrov
				В двух словах :нужна компенсация наклона для компаса .При отклонении датчика магнитометра по осям X и Y нужно вносить поправки от акселерометра. 
Более подробно можно ознакомется здесь .Пример описанный в статье, эффективен в диапазонах изменения угла от -45 ° до + 45 ° , в большинстве случаев вполне достаточно .
 
			
					
				GY-85
				Добавлено: 21 апр 2019, 11:31
				 Mining
				
			 
			
					
				GY-85
				Добавлено: 22 апр 2019, 09:47
				 mic10154
				ViktorPetrov писал(а): 21 апр 2019, 11:13
В двух словах :нужна компенсация наклона для компаса .При отклонении датчика магнитометра по осям X и Y нужно вносить поправки от акселерометра. 
Более подробно можно ознакомется здесь .Пример описанный в статье, эффективен в диапазонах изменения угла от -45 ° до + 45 ° , в большинстве случаев вполне достаточно .
 
А вот это уже кое что. Осталось только сделать это в FL prog.
Отправлено спустя     4 минуты 13 секунд:
Этот вариант не подходит т.к. Эта калибровка предназначена для программы на ПК, в общем для игр. Но на заметку возьму.
 
			
					
				GY-85
				Добавлено: 22 апр 2019, 13:44
				 ViktorPetrov
				mic10154 писал(а): 22 апр 2019, 09:47
А вот это уже кое что. Осталось только сделать это в FL prog.
 
 Подумать нужно,желательно отдельным блоком сделать,чтоб основные блоки для акселерометра и магнитометра не переписывать  
пример компесации наклона 
И еще пожалуй нужен фильтр для акселерометра и гироскопа 
Arduino-KalmanFilter с ним меньше шумов будит от датчика.
 
			
					
				GY-85
				Добавлено: 22 апр 2019, 17:28
				 AVGN
				mic10154 писал(а): 21 апр 2019, 10:19
Но при опускании или поднятии (как по оси Y) показания тоже меняются на 100 градусов. Есть у кого нибудь еще подобный чип для проверки?
 
к сожалению чипа нет , ищите инфу в интернете, если подскажут код как с этим бороться можно сделать блок для FLProg.