Как стать автором
Обновить

Комментарии 79

Вы ищете единомышленников, чтобы сэкономить на доставке от £7,5 (2 чел.) до £12 (5 чел.), что по курсу 46 примерно равно от 345 руб. до 552 руб.

В Москве проще починить кому-нить винду за косарь и не париться, извините.
Специально для однозадачных:

"… для совместной закупки и, что даже более важно, написания драйвера для этого датчика под платформу Arduino и дальнейшего обмена опытом."
А смысл городить огород, если прибор еще не на руках?
А смысл был с дерева в своё время слезать и т.д.?
Потому и ищет ещё народ, что-бы совместно над разработкой под него сидеть! А то смысл, если у него будет, но он единственный такой на всё экс-СССР???
Вы с дерева-то слезли, но в каком-то дремучем лесу точно застряли.
Зачем производитель будет выпускать железку, не предоставляя спеков-драйверов к ней? Чтобы люди ее покупали а потом не знали что с ней делать? Ну бред же.

Все драйвера и описания работы с компасом и другими железками от этой фирмы есть у них на сайте. Прям на страницы с описаловом есть две ссылки. Первая — на examples. Вторая — на спеку общения с железкой по I2C.
Examples: www.robot-electronics.co.uk/acatalog/examples.html
I2C spec: www.robot-electronics.co.uk/htm/cmps10i2c.htm
Это для подобных проектов — норма описания, спеки, примеры под всё, что смогли найти…
А для «серьёзных» железок — вовсе не факт!
Слышали про шину «Профибас»? Сименсовское творение… Для винды есть дрова и модули взаимодействия и ВСЁ: ни для Линуха, ни для мимкроконтроллеров, т.к. открытую разработку под свою шину они официально запретили!!!
И я-бы не сказал, что это исключение: скорее правило…

Да и большинство разработчиков железок, чаще всего, обходятся только спецификацией и словесным описанием того, что должно-бы быть в протоколе…
Лично сталкивался, когда в одном из контроллеров отечественной разработки везде написано было «Для выполнения — нажмите Ввод». В примере — стандартное «Конец строки-перенос строки», а в реальной реализации — надо было вбить ENTER без всяких там нажатий на тот самый интер! Тупо БУКВАМИ ВБИТЬ!

Так что сомнения всегда оправданны! ;)
Ну прежде чем покупать железку желательно конечно посмотреть, будет ли она работать. А если нет уверенности — дык можно и емейл производителям чиркануть, узнать чокаво.
А при чем тут вообще полевая шина Profibus? Откуда данные, что что-то запрещено? Oo
Profibus — это множество проприетарных протоколов, разработанных Siemens. Это не какая-то конкретная железка. Спецификации протокола закрытые, нужно покупать право на их использование у Siemens. Для конечного разработчика толку в низкоуровневых спецификациях — ноль, т.к. удовлетворить временные требования протокола можно только при помощи реализации специального аппаратного устройства. Тупо написать программный драйвер, что бы напрямую работать с шиной по RS-485 — не выйдет.
А конкретно готовых реализаций модулей Profibus — полным полно. Если у вас не оказалось драйверов под Linux — значит производитель вашей конкретной железки не удосужился их написать. Надо было покупать железку с драйверами под Linux. Мы, например, юзаем контроллеры Hilscher под WinCE.
Так что бред вы какой-то написали.
Так куча же примеров драйверов есть на их сайте, под всякие разные платформы. От propeller до .Net.

В том числе на ардуино.
www.robot-electronics.co.uk/acatalog/examples.html

Это первое.

А второй момент в том, что весь «драйвер» для этого устройства — отправить байт по i2c и получить назад четыре байта.

Вот собсно тот самый драйвер:
void loop(){
byte highByte, lowByte, fine; // highByte and lowByte store high and low bytes of the bearing and fine stores decimal place of bearing
char pitch, roll; // Stores pitch and roll values of CMPS09, chars are used because they support signed value
int bearing; // Stores full bearing

Wire.beginTransmission(ADDRESS); //starts communication with CMPS09
Wire.send(2); //Sends the register we wish to start reading from
Wire.endTransmission();

Wire.requestFrom(ADDRESS, 4); // Request 4 bytes from CMPS09
while(Wire.available() < 4); // Wait for bytes to become available
highByte = Wire.receive();
lowByte = Wire.receive();
pitch = Wire.receive();
roll = Wire.receive();

bearing = ((highByte
Код отдельно (только потом уберите пробел между < < — хабрапарсеру битовый сдвиг не нравится):

void loop(){
byte highByte, lowByte, fine; // highByte and lowByte store high and low bytes of the bearing and fine stores decimal place of bearing
char pitch, roll; // Stores pitch and roll values of CMPS09, chars are used because they support signed value
int bearing; // Stores full bearing

Wire.beginTransmission(ADDRESS); //starts communication with CMPS09
Wire.send(2); //Sends the register we wish to start reading from
Wire.endTransmission();

Wire.requestFrom(ADDRESS, 4); // Request 4 bytes from CMPS09
while(Wire.available() < 4); // Wait for bytes to become available
highByte = Wire.receive();
lowByte = Wire.receive();
pitch = Wire.receive();
roll = Wire.receive();

bearing = ((highByte < < 8)+lowByte)/10; // Calculate full bearing
fine = ((highByte < < 8)+lowByte)%10; // Calculate decimal place of bearing

display_data(bearing, fine, pitch, roll); // Display data to the LCD03

delay(100);
}
Видимо, автором топика под драйвером понимается нечто большее, чем просто шмат кода в loop() для считывания показаний.
Драйвер — это кусок кода для работы с устройством. Тот шмат кода в loop как раз и делает то что надо автору — получает азимут из компаса. Запихать эти строчки в функцию — и драйвер готов!
Заинтересован. ftp27host@gmail.com

Переведите все цены из фунтов в бакси или рубли пожалуйста :) Не удобно как то
Превел. 1к это многовато :) Прошу прощения, но боюсь на мою студостепендию это слишком много. Не пробовали Китайские искать датчики?
вот этот с учетом доставки не дешевле ли выйдет?

www.sparkfun.com/products/9810
НЛО прилетело и опубликовало эту надпись здесь
С этой точки зрения меня Кардуины радуют — у них:
1. Есть выход 3V3 с 3.3 вольтами
2. Есть вход с питанием до +20 вольт
3. Что немаловажно — вкручено сразу USB! Смешно — FTDI-чип больше самого микроконтроллера… %)
Все же обратите внимание, что CMPS10 содержит тот же самый LSM303, только более новую версию LSM303DLM, на 30% более точную

Но кроме него еще установлен DSP 24FJ32 — по сути целый еще один Ардуино!

И с питанием нет проблем, стабилизатор на плате.

И это стоит те же самые 30 долларов что и просто сенсор со спаркфана.
Чето у вас каша какая то в голове. Во первых разница между DLH и DLM ничтожная по сути дела только в частоте опроса. Что хорошо, конечно, но не сильно то рулит.

Во вторых 24FJ32 это не dsPIC, а PIC24 что является обычным МК общего назначения. Конечно ЦОС можно и на нем организовать было, но явно он вывезет что то мощное с приемлемой скоростью.
Скорей всего там банально реализована даташитовский алгоритм Tilt Compensation иначе бы он стоил гораааздо дороже.

Ну и сравнивать PIC24 с Ардуино ваще нельзя. Совершенно другая архитектура, куда выше производительность, жирней фарш.
Если не умеешь держать в руке паяльник или хочешь быстро спрототипировать, то цена в 30-50 баксов вполне приемлемая. Еще бы был в наличии на Родине. А то пока доедет поседеть можно.
Разница в том что за 30$ купить либо старый прибор, либо новый + целый 16 битный контроллер в придачу.

Разница между новыми и старым датчиком 30% точности. Этих 30% мне возможно хватит для решения задачи.

Лично мне этих двух пунктов достаточно чтобы сделать осознанный выбор даже не понимая даташиты.
Да я не призываю вас покупать в спаркфане или где там. Нормальный модуль за свои деньги. Скажите мне только где вы увидели прирост 30% точности по сравнению с DLH?

В даташите (главный документ, техническая спецификация) ничего подобного нет. Праметры у них полностью идентичны за исключением питания, может быть потребления (не смотрел) и частоты опроса.
а угол элевации как определяете?

насколько я понимаю, один из простейших способов — с помощью 3х акселерометра по отклонению g от одной из осей
dmitryus@gmail.com готов поучаствовать на 3 датчика
но есть вопрос, т.к. я еще не работал с электронными компасами: какие у них условия эксплуатации — интересует реакция электронного компаса на железки —
1. Будет ли датчик работать если он установлен в непосредственной близости (3-5 см от стальных конструкций).?
2. Возникают ли помехи при перемещении датчика?
3. Какие искажения могут возникнуть при перемещении датчика вблизи металлических конструкций…

Собственно интересует возможность применения данных датчиков взамен энкодеров в манипуляторах.
1. Будет но показания его надо будет калибровать. Они сильно искажаются.
2. Магнтное поле скачет не осбо сильно, но повторяемости неважная

Т.е, например, выставил я его в 0. Сказал, что это ноль. Сделал полный оборот, железка вышла в ноль, а датчик мне говорит, что у нас перекрут на 10+ градусов.

3. Сбивается калибровка нахрен. А если оно еще магнитится или под напряжением (кабели) то ваще треш пойдет.
Речь о каком конкретно датчике?
LSM303DHL
Только на выходных мучался с установкой спутника( кстати тарелку в 60см надо еще точнее позиционировать?), я думаю многие люди хотели бы купить такой вот автоматический разворачиватель.
А так как мои пыпытки найти спутник были не удачны — я в первых рядах желающих :)
Чем меньше тарелка, тем менее точно её надо позиционировать. В непосредственной близи стен зданий заявленной точности даже близко не будет. Так что о позиционировании тарелки забудьте.
Если есть возможность смотреть вдоль зеркала тарелки, то проще всего навестить по онлайн картам, предварительно рассчитав азимут нужного спутника.
я к сожалению совершенно не знаю на какую елку близлежащего леса надо ориентироваться
Быть может на этих выходных поможет Satellite AR, а, быть может, он скажет что спутник висит ровно за одной из елок( эх, есть у меня такое чувство)
Удобней наводить не на спутник, а на объект перпендикулярный его азимуту, смотря вдоль зеркала тарелки.
Satellite AR вам совершенно не нужен. Онлайн калькуляторов азимута море. К примеру, satcalc.ru/angle.php
Распечатайте с любой онлайн карты свой участок местности и отметьте азимут нужного спутника транспортиром и перпендикуляр к нему. Один из объектов, попавших на перпендикуляр и будет вашим маркером на который будете смотреть вдоль зеркала.
Особая точность не нужна, главное поймать сигнал, точная отсройка идет уже по уровню сигнала.
Эта точность — для идеальных условий, всегда влияют помехи, магнитные аномалии и т.д. Сколько раз пытался навести тарелку при помощи компасов, толку мало — все время показывается разное направление. Компасы использовал разные. Пришлось восползоватся google earth для определения точной ориентации.
Управление по I2C — тут драйвер не нужен, от силы «обертка» для быстрого получения данных.
Устройство, конечно интересное.
Но есть пара омрачающих факторов:
1) Дороговато для устройства, которое реально пока не куда применить.
2) Я не в Москве, с учетом пересылки выйдет немногим дешевле, чем покупка напрямую.

Да и более доступные аналоги есть, пусть и с меньшей точностью.
Готова присоединиться к покупке датчиков. Возьму 3-4 датчика. Москва.
После опытов в метро разочаровался в подобных датчиках =). А вообще инерциальную платформу от ST там не дорого + там ещё котроллер на борту.
Можно поподробнее и со ссылками.
В качестве прототипа рассматривали это (от ST) http://www.st.com/stonline/books/pdf/docs/16306.pdf.
Результаты опытов в метро привести не могу, т.к. логи не сохранял.
Неплохая с виду платформа для экспериментов. Жаль только что гиро двухосный.
А что насчет опытов в метро?
Насколько мне известно, во всех коммуникаторах от HTC для определения ориентации в пространстве используются как раз таки магнетометры, не припомню чтобы они сбоили в метро.
Ага, не сбоили, особенно при старте поезда =). Попробуй, может у меня в хиро битый был.
Полагаю, наличие акселерометра позволит скомпенсировать воздействие на магнитометр.
А уж если там еще и гиро…
Ну, для моих задач это не подошло, может для твоих подойдёт, потом расскажи.
там два двухосных гиро
Интересная штука, не очень дорого и куча датчиков на плате.
Хороший мощный DSP

Минус что датчики прошлого поколения, аналоговые и худшей разрешающей способности.

Магнетометр такой:
www.sparkfun.com/products/9371

Мне кажется что для прототипирования целесообразнее иметь раздельные компоненты
А не дешевле приобрести соответствующую микросхему и собрать модуль здесь, в России?
Я смотрю аналогичные микрухи стоят в районе 350р (ну эта, возможно, и подороже) — а развести плату под нее и приделать рядом какую-нибудь ДСПшку не такая проблема.
P.S.
И, да — что ж вы все к этому ардуино-то так прилипли?
Ну зачем заставлять 8-битный процессор общего назначения решать вычислительные DSP-задачи? Чисто ради обучения, для себя, можно и посчитать на нем БПФ, допустим (проверить как он его потянет) — но в нормальном продукте от этого нужно отказаться.

Выбирайте инструмент по задаче — например, STM32F1xx — 32-битные арм-кортексы, поддерживающие некоторое количество DSP-инструкций. Заметьте, цена на них не больше цены на АТМеги, а иногда и меньше.

Я лично купил десяток их контроллеров младшей линейки по 30р штука. При это они — полноценные 32битные АРМы. Из периферии им, в минимальной конфигурации, ничего не нужно, как и Мегам, максимальные частоты — до 72 МГц, при этом у них встроенная цепь ФАПЧ, так что при одном и том же кварце сможете на ходу перестраивать частоту.
Цена тут вообще где то на далеком месте. Речь о том, чтобы быстрее собрать прототип и испытать идею по возможности без затрат на оплату высокококвалифицированных разработчиков. В этом Arduino вне конкуренции

Когда потребуется серийное производство тогда можно биться за каждый резистор и ставить максимально подходящие детали. Только шансов дойти до этого момента 1 из 10.

Кстати, рассматриваемый компас состоит из 4 микросхем среди которых 16 битный DSP с уже каким то алгоритмом высокой точности. В этом и есть новизна и интерес.
Если цена на далеком месте, зачем ищете с кем ее разделить?)

Собрать прототип и испытать идею на 8-битном контроллере, уперевшись в его потолок? Не лучше ли сразу разрабатывать как следует, учитывая что отладочные платы тех же стмок стоят 300р, а пользоваться ими не сложнее чем ардуинами?

Да я вижу что там DSP стоит, но он только для корректировки данных с магнетометра, на выходе все равно сырые значения, вы их все равно собираетесь обрабатывать, не говоря уж о трехосной следящей системе, которую, я так понимаю, вы собрались делать.
Неправда ваша!

DSP вычисляет все три параметра с высокой точностью. То что вы предлагает делать на кортесах как раз уже сделано на этом 30 долларовом датчике.

Пруф: www.robot-electronics.co.uk/htm/cmps10i2c.htm
Регистры 1 — 5
Я так понял что вы сами хотите написать обработку, поэтому и ищете энтузиастов…
Тогда я не понимаю вашей проблемы, если этот модуль выдает уже готовые значения угла, которые вы и собрались использовать, то о какой более сложной математически работе вы говорили?

Обычно под этим подразумевают нечто вроде фильтра Калмана, которым корректируют значения гиро при помощи значения акселерометра, если тут это уже реализовано, то проблем быть не должно.
Написано что модуль выдает градусы, но реальность может оказаться другой.

Надо это пробовать, а а дальше — если работает -> профит!
Если не работает -> о, работа (калманы, DSP и прочие движения).

Пять специалистов с разным опытом в разных тестовых условиях смогут дать лучшую оценку чем один чайник, согласны? Моя цель найти этих специалистов выполнена.
Есть такой контроллер

datasheet.octopart.com/MC912DG128CCPVE-Freescale-Semiconductor-datasheet-53130.pdf

Он не DSP и работает в контроллере, который я буду пытаться повторить.

Можете ли подсказать насколько он сопоставим с ATMega328?

www.atmel.com/dyn/products/product_card.asp?part_id=4720
А какая максимальная высота работы у этого датчика?
Плата содержит 4 датчика ...

Плата содержит 2 датчика: 3-х осевой магнитометр и 3-х осевой акселерометр.
Плата содержит 4 датчика ...

А вообще есть еще более интегрированные платы (гироскоп+акселерометр+магнитометр+барометр+GPS) по сравнимой цене, не дороже $150.
Вы совершенно правы.

Два датчика и 3 вычисляемых параметра углов, обновил описание.
Идея отличная. Важно подумать насчет температурных режимов. Домашние датчики более дешевы, явно не расчитаны суровые морозы, и быстро вылетят. Для заказа могу рекомендовать магазины Китая. Там всегда все дешевле. Точную ссылку откуда заказывал микроконтроллеры для себя приводить не буду, боюсь забанят из-за рекламы, индивидуально кто заинтересовался отвечу всем.
Была у меня эта шняга. Не модуль правда, а микросхемка компаса. Там ST LSM303DHL она стоит 300рублей максимум. Ну еще платку вытравить да припаять. Не велика сложность.

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

Чето не верю я, что с нее можно получить 0.1 градус. Слишком низка чувствительность и высоки шумы. Нужно калибровать после каждого включения. Около точность около 10 градусов получить реально. Если подключить матан и цифровую фильтрацию может можно что вытянуть больше, но ценой скорости.

Сорцы все доступны в аппнотах, в том числе и расчет компенсации наклона.
Спасибо за ссылку заставила задуматься.

0,1 градус — разрешающая способность отсчета.
3-4 градуса объявляемая точность старого модуля, и 1,8 — 2,5 ожидаемая для нового модуля.

По ссылке половина статьи о том как автор паял микросхему за 10$. Когда он спаял, то не смог сделать цифровую обработку.

А в рассматриваемом модуле CMPS10 уже установлен DSP с алгоритмом, который выдает готовые градусы. Это две уже припаянные микросхемы за 30$.

LSM303DHL, год выпуска 2009
Точность измерения поля 8 миллигаусса, ускорения — 1 — 3 mg/digit

Даташит: www.st.com/stonline/products/literature/ds/16941.pdf
Микросхема снята с производства.

LSM303DLM релиз от 11 апреля 2011 года
Точность измерения поля 5 миллигаусов, акселерометр не изменился.

Даташит: www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/DM00026454.pdf

Так же видно что новая модель меньше потребляет и работает при более низкой температуре. А самое приятное это понижение цены.

Анонс нового поколения
embeddedsystemnews.com/stmicroelectronics-introduces-lsm303dlm-a-new-generation-of-geo-magnetic-module.html

И уже до кучи библиотека для работы с сырыми данными:

github.com/ryantm/LSM303DLH
«LSM303DLM релиз от 11 апреля 2011 года
Точность измерения поля 5 миллигаусов, акселерометр не изменился.»

С чего это вы взяли? Судя по даташитам оба эти датчика ловят поле от 1.3 до 8мГаусса в зависимости от настроек. Разница между DLM и DLH только в том, что в DLM магнитометр может работатать на 220Гц (у DLH только до 75Гц) ну и немного пределы питающих напряжений изменились. У DLM окно напряжений поширше будет.

Table 3

M_R Magntic resolution

У старого девайса 8 мГауса, у нового 5 мГаусса.

От 1,3 до 8 переключается Magnetic measurement range который в Гауссах
Это задаваемая чувствительность. Т.е. размер шкалы. Поскольку поле Земли слабо, то чем меньше тем лучше. Минимум же у у того и другого 1.3

Магнитное поле Земли = 0.4мГаусса т.е. даже на минимальном пределе в 1.3мГс максимум что мы нащупаем это чуть более трети шкалы. Т.е. те самые 3500 отсчетов или сколько они там обещают это не более чем маркетинговый пиздеж, т.к. в реале оно до такого не дойдет. В реальности, данные с этого компаса при вращении от 0 до 90 градусов изменяются с 0 до ±1200 гдет, ну плюс возможное подмагничивание, которое может дать смещение вверх или вниз.

Предел в 5мГс, а тем более в 8мГс (1/20 шкалы) для компаса уже бесполезен. На нем те самые 0.4мГс вообще не будут отсвечивать на уровне шумов.

Большие же диапазоны нужны для построения, например, датчиков поля, токовых сенсоров разных, где замеряемая напряженность поля будет больше, чтобы датчик не шкалило.
Это задаваемая чувствительность. Т.е. размер шкалы. Поскольку поле Земли слабо, то чем меньше тем лучше. Минимум же у у того и другого 1.3

Магнитное поле Земли = 0.4мГаусса т.е. даже на минимальном пределе в 1.3мГс максимум что мы нащупаем это чуть более трети шкалы. Т.е. те самые 3500 отсчетов или сколько они там обещают это не более чем маркетинговый пиздеж, т.к. в реале оно до такого не дойдет. В реальности, данные с этого компаса при вращении от 0 до 90 градусов изменяются с 0 до ±1200 гдет, ну плюс возможное подмагничивание, которое может дать смещение вверх или вниз.

Предел в 5мГс, а тем более в 8мГс (1/20 шкалы) для компаса уже бесполезен. На нем те самые 0.4мГс вообще не будут отсвечивать на уровне шумов.

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

Магнитное поле земли 0,3 — 0,7 Гаусса или 450 мГаусса на наших широтах

Минимальный предел 1,3 Гаусса (а не мГаусса), действительно мы юзаем треть шкалы.

при разрешении 8 мГ получаем 8/450 = 1,7% точность
при разрешении 5 мГ получаем 5/450 = 1% точности

Добавим знак поля и получаем указанные в описании искомые 0,5% или 1,8 градуса.

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

>при разрешении 8 мГ получаем 8/450 = 1,7% точность
при разрешении 5 мГ получаем 5/450 = 1% точности

В комменте выше вы тоже ошиблись в тысячу раз, так что не надо мне тут камни в огород набрасывать :)

А вот у вас действительно странные расчеты. Во первых разрешение не может быть в гауссах. Оно может быть только в отсчетах АЦП. Там, емнип оно 11 битное (но знаковое). Т.е мы имеем максимум 2048 в ту или другую сторону при любом раскладе.

Диапазон же определяется коэффициентом усиления перед АЦП и может быть любым и ограничен он снизу лишь насыщением датчика, а сверху соотношением сигнал/шум.

Реально используемый коэффициент усиления на 1.3Гс и 1.9, ну может, в случае сильного внешнего подмагничивания 2.5, но там уже хрен что разберешь. На остальных девайс перестает адекватно чувствовать поле Земли вообще. Я это проверял экспериментально.

При настройке на 5 мы имеем соотношение 5Гс = 2048, а 0.4Гс = 163 соответственно это всего 1/13 шкалы. На 8Гс будет 1/20 и что вы там собираетесь наловить?
Зачем так сложно если в таблице 3 даташита написано:

M_R Magnetic resolution 5 mgauss

Магнитное разрешение — 5 или 8 мГаусса.

Почему разрешение не может быть в гауссах если написано что оно в гауссах?

Можно просто почитать описание:

LSM303DLH has a magnetic field resolution of 8 mGauss at Vdd = +3 V. And the average
magnitude of the horizontal magnetic field component is in about the 200 mGauss range
(more at the equator, less near the magnetic poles). Therefore, the expected heading
accuracy is about 2.3° [=arctan (8/200)].
At a full scale range of ±1.3 gauss, the sensitivity of the LSM303DLH's magnetic sensor is
1055 LSB/gauss for the X/Y axis and 950 LSB/gauss for the Z axis. For example in San
Francisco, California, the earth’s magnetic field strength is 0.49932 gauss with a declination
angle of 15.5 º and an inclination angle of 61.4º. Then the Zb component, in Figure 1, is
0.438 gauss. So the Mz raw measurement should be around 950 x 0.438 = +416 LSBs.

У меня тоже был не совсем корректный рассчет, надо было брать арктангенс, но последняя строчка из апнота надеюсь поставит точку.
Разрешение всего лишь показатель дискретности. И должен указываться в виде величины на число отсчетов тогда он будет иметь какой либо смысл.

Разрешение в 8Гс звучит точно также как фотография разрешением 8см.

Касательно того что написано в даташите:

Features:
±1.3 to ±8.1 gauss magnetic field full-scale — речь о шкале.

В той же таблице 3:
M_FS Magnetic measurement range — диапазон сенсора

и в таблице 58:
Sensor input field range. — опять же диапазон. Что в контексте связки Сенсор+Усилок+АЦП не оставляет никаких толкований.

Про resolution это либо опечатка шита, либо возможно иносказательное толкование терминологии. Т.к. в данном случае разрешение определяет только АЦП, а диапазоном занимается предусилитель.

Вы конечно же можете верить во что угодно. Тем сильней будет ваш баттхерт когда наконец придут модули и вы убедитесь в моих словах на практике :)
ваши слова весомее, как слова практика, но они могли бы иметь еще больший вес, если бы вы провели тесты на:

— нескольких экземплярах
— экземплярах разных серий и/или поколений
— девайсах от разных производителях

просто, к сожалению, действительно сложно выбрать датчик из десятков возможных (в пределах от 2 до 20 уе), при том что надежность/точность могут отличаться на порядки.
Я проверял на трех экземплярах. Все вели себя примерно одинаково. Серия была одна, из одной ленты.

Надежность микросхем плюс минус одинаковая. Все параметры есть в ДШ, если за них не вылезать то ничего с ней не будет.

Я знаю буквально парочку микросхем способных работать компасом. LSM303 и еще одна, забыл маркировку :( У вас больший выбор? Набросьте тогда его сюда, плз. Тема меня эта давно интересует, было бы интересно поглядеть
Я согласен, что у нас спор теоретика и практика. Надеюсь что в скором времени получится уже не спор, а изучение теории в практическом применении.

Я очень сомневаюсь что в описании трех моделей сенсоров (3 даташита + 2 аппнота) везде копируется одна и та же ошибка.

Если учесть что обработка сигнала датчиков достаточно сложная тема, то говорить о точность датчика бессмысленно без указания интервала, на котором происходит измерение. Банальным усреднением показаний точность повышается в сотни раз, т.е. подавление ВЧ шума на интервале 1 секунда и 5 минут даст совершенно разную точность измерения.

Знание теоретического предела системы во-первых задают планку для повышения качества алгоритма, во-вторых совершенно не означает достижение этой точности в реальной задаче.
Остается еще и вариант разночтения при переводе.

Но одно можно скзаать точно — разницы между DLH и DHL применимо к компасному использованию нет. Чувствительность и минимальные пределы у них равны.

ВЧ шума в сырых данных я не особо заметил. Максимум 1LSB но это запросто может быть и шум АЦП. Усреднение делал на 32 отсчета — не особо помогло.

Правда я не пробовал сигнал накапливать в течении длительного времени и проводить более мощную фильтрацию так что все может быть.

Поищите по форумам, кстати. Где то в рунете, на одном из РЭ форумов несколько человек активно тестили эту микросхемку, выкладывали снятые графики, всяко возмущали ее внешними полями.
Т.е. вы утверждаете что фирма STM попросту всех обманывает в своем пресс релизе?

embeddedsystemnews.com/stmicroelectronics-introduces-lsm303dlm-a-new-generation-of-geo-magnetic-module.html

The device boasts state-of-the-art stability over time and temperature and a 30% increase in magnetic sensing resolution over its predecessor, the LSM303DLH.

И вас не смущает что новые компасы физически выпускаются меньше месяца?

Вы точно уверены, что сравнивали старые сенсор и новый?
Выложите фотографии чипов для подтверждения своей позиции.

Пока я не вижу предпосылок _не верить_ STM
Я где то говорил что я их сравнивал? Я работал с 303DLH и не особо он меня впечатлил.

А судя по даташитам, сухие фактические цифры, у них идентичные характеристики. Этого вполне достаточно для сравнения. Кстати, только что заметил, по тому же ДШ у DLH тоже диапазон до 8Гс. Откуда вы взяли 5Гс я так и не понял.

В пресс релизе можно что угодно писать, это не более чем рекламная агитка. Унего большая частота, а значит он может за ту же единицу времени настрогать больше данных для анализа это теоретически может дать прирост в те самые 30%. А может и не дать. Т.к. все очень сильно зависит от матобработки, ее оптимизации, эффективности и прочих вещей далеких от железа.
HDPM01
KMZ51
HMC5843

и вариации Lxx530AL

самому в ближайшее время удастся поработать только с LSM303

но для меня небольшая точность не помеха, т.к. магнитометр используется в IMU как дополнение компасу на базе gps.

т.е. такие параметры как скорость и направление рассчитываются на базе показаний gps, акселерометр используется для сглаживаний (и более частого обновления) показателей скорости, а магнитометр — показателей направления движения и ориентации
Работал с электронными компасами (в частности с CMPS10) в 2007-08, когда делал диплом по навигации робота. Для начала стал снимать характеристику на поворотной платформе, так выяснилась очень неприятная вещь: переставляешь металлический стул в комнате и показания меняются, короче вещь очень ненадежная и чувствительная. Представьте что он будет показывать когда будет привод работать?
Сделал в итоге навигацию по зрению.

>> У меня возникла задача определения ориентации объекта в пространстве, а именно, создание
>> автоматизированного привода для антенны
По вашей задаче, думаю, только энкодер и ничего больше
Энкодер не решает задачу определение девайса в пространстве относительно земли, а только в системе координат устройства.

Что будет при работе привода я представляю, поскольку образец тут перед глазами уже работает :)
А антенна перемещается что-ли?
Конечно, иначе какой интерес?

Хороший комментарий о важности алгоритмов и кода

habrahabr.ru/blogs/DIY/120266/#comment_3942318
Кстати вы правы, в том что для управление механическими перемещениями используется энкодеры.
Но в то же время используется электронный компас и GPS
Ну как? Удалось задуманное?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории