Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.07.2013, 21:59  
aalleexxaa
Частый гость
 
Регистрация: 09.02.2013
Сообщений: 22
Сказал спасибо: 7
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
aalleexxaa на пути к лучшему
По умолчанию Re: HMC5883 Компас

А как расшифровать двойной байт?
у старшего байта отбираем только последние 4 бита, 4-й из которых указывает на знак, если 0 то "+", если 1 то "-", оставшиеся 3 бита умножаем на 256 и запоминаем. Остальные 4 бита старшего байта просто забиваются тем же значением, что и 4-й бит? Берем младший байт и складываем его с значением, которое ранее запоминали (или вычитаем из отрицательного).
Правильно ли я понимаю?
Для примера имеем 11111111 10101011, сколько получим (это значение по одной из осей я получаю с компаса HMC5883L при 5Gain).
Реклама:
aalleexxaa вне форума  
Непрочитано 08.07.2013, 22:10  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,945 раз(а) в 5,992 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: HMC5883 Компас

Отрицательные числа представляются дополнительным кодом.
Значение по модулю (т.е., положительное) инвертируется и прибавляется единица (арифметически). Скажем, "-1" в одним байтом будет представлено как 0хFF, двумя - 0xFFFF. При этом не забывать - старший бит - знак числа.
Если старший байт заполнить до упора влево знаковым битом - получим обычное целое число.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 09.07.2013, 09:03  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: HMC5883 Компас

Цитата:
Для примера имеем 11111111 10101011, сколько получим (это значение по одной из осей я получаю с компаса HMC5883L при 5Gain).
Миниатюры:
Нажмите на изображение для увеличения
Название: calc.png
Просмотров: 735
Размер:	47.1 Кб
ID:	49171  
Alecsej вне форума  
Непрочитано 09.07.2013, 09:06  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,616
Сказал спасибо: 708
Сказали Спасибо 4,383 раз(а) в 2,007 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: HMC5883 Компас

Сообщение от akegor Посмотреть сообщение
При этом не забывать - старший бит - знак числа.
Если старший байт заполнить до упора влево знаковым битом - получим обычное целое число.
Куда ж его заполнять то если он и так крайний слева?
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Kabron вне форума  
Непрочитано 09.07.2013, 11:05  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,945 раз(а) в 5,992 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: HMC5883 Компас

Сообщение от Kabron Посмотреть сообщение
Куда ж его заполнять то если он и так крайний слева?
Если старший из двенадцати - то есть кудыма - до шестнадцати.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 10.07.2013, 15:38  
Программолюбитель
Частый гость
 
Регистрация: 27.05.2013
Сообщений: 75
Сказал спасибо: 1
Сказали Спасибо 24 раз(а) в 14 сообщении(ях)
Программолюбитель на пути к лучшему
По умолчанию Re: HMC5883 Компас

Сообщение от aalleexxaa Посмотреть сообщение
Далее попытаемся сосчитать угол x=255*256+167=65447 y=255*256+254=65534 Однако согласно даташита значение X,Y,Z должно лежать в пределах 0x07FF‹значение‹0xF800
(2047‹значение‹63488 ) где что у меня не так? Далее при повороте с юга на восток изменяется значения только младших байтов X и Y. Правильно ли это?
1.Не так. Первым приходит младший байт, затем старший
2. 167 - большое значение. не больше 16
3. я бы сказал - значение лежит в пределах от 0xF800 до 0x07FF.
Программолюбитель вне форума  
Непрочитано 21.07.2013, 20:53  
aalleexxaa
Частый гость
 
Регистрация: 09.02.2013
Сообщений: 22
Сказал спасибо: 7
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
aalleexxaa на пути к лучшему
По умолчанию Re: HMC5883 Компас

Спасибо Alecsej за картинку калькуятора, вот так мне намного стало понятней как конвертирвать отрицательный двойной байт. Всем спасибо, проблему решил. На будущее, у кого будут проблемы, после получения данных сначала постройте некотрую диаграмму получения данных. Найдите смещенный центр получаемой фигуры, при необходимости смесите фигуру в 0 координат, при очень неудачном варианте пересчитайне получаемый элпис в окружность. После этого можно рассчитывать угол. Во вложении пример получаемой примерной окружности до смещения.
Еще скажу, компас очень чувствителен к различным помехам. Проверял вместе с обыкновенным компасом, ошибка +-5градусов. Но, видел, что на обыкновенный компас очень сильно и провод USB, который был еще не подлючен, и, даже, пружины с кровати. Поэтому, может, в лесу ошибка будет меньше.
Миниатюры:
Нажмите на изображение для увеличения
Название: 21.07.2013 12-44-59.jpg
Просмотров: 42
Размер:	11.1 Кб
ID:	49759  
aalleexxaa вне форума  
Непрочитано 21.07.2013, 21:18  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,945 раз(а) в 5,992 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: HMC5883 Компас

Гораздо точнее результат, если покрутить вокруг осей и посчитать значения амплитуд и фаз (определить поправки за неортогональность). Но для этого нужна установка, в которой можно закрепить и четко выдержать углы поворота.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 21.07.2013, 22:46  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: HMC5883 Компас

Цитата:
Проверял вместе с обыкновенным компасом, ошибка +-5градусов.
Вполне достойно для простейших калибровок. Половина румба.
Сообщение от akegor Посмотреть сообщение
Гораздо точнее результат, если покрутить вокруг осей и посчитать значения амплитуд и фаз (определить поправки за неортогональность). Но для этого нужна установка, в которой можно закрепить и четко выдержать углы поворота.
Датчик сам по себе имеет неортогональность 0.1 гр. Искажения же вносимые окружением имеют несколько иную природу. Чтобы их компенсировать необходимо преобразовывать эллипс в окружность.
Alecsej вне форума  
Непрочитано 21.07.2013, 23:08  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,945 раз(а) в 5,992 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: HMC5883 Компас

Сообщение от Alecsej Посмотреть сообщение
Датчик сам по себе имеет неортогональность 0.1 гр. Искажения же вносимые окружением имеют несколько иную природу. Чтобы их компенсировать необходимо преобразовывать эллипс в окружность.
Скажем, неортогональность - это для любителей повышенной точности, а вот остальные продукты прокручивания - максимальные амплитуды - и + и ноль каждой оси (это вместо преобразований эллипсов в окружности). Конечно лучше в поле эталонироваться.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компас v.8 3D Lipa Proteus, KiCAD и другие ECAD 10 04.04.2010 17:07
Компас 3D V10+ algenkel Proteus, KiCAD и другие ECAD 14 29.09.2009 13:09
[Решено] КОМПАС V.8 3D Лего Proteus, KiCAD и другие ECAD 5 17.08.2006 19:43
Компас Dozer Измерительное оборудование 4 05.07.2005 11:28
Компас CD_Eater Измерительное оборудование 5 26.08.2004 17:45


Часовой пояс GMT +4, время: 07:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot