Электронный компас — различия между версиями
SkyStorm (обсуждение | вклад) (→Колибровка) |
SkyStorm (обсуждение | вклад) (→Колибровка) |
||
Строка 38: | Строка 38: | ||
Калибровку рекомендуется делать при каждом включении питания. Данные сохраняются в EEPROM на PIC16F872. Модуль калибруется на производстве со склонением 67 градусов(Великобритания), если ваше склонение близко то можно и не калибровать. | Калибровку рекомендуется делать при каждом включении питания. Данные сохраняются в EEPROM на PIC16F872. Модуль калибруется на производстве со склонением 67 градусов(Великобритания), если ваше склонение близко то можно и не калибровать. | ||
− | + | После калибровки при следующей ориентации модуля на Север будет выдаватся значение '''0'''. | |
[[Изображение:North.gif]][[Изображение:Cmps3pin2.jpg|Положение на Север = на выходе 0]] | [[Изображение:North.gif]][[Изображение:Cmps3pin2.jpg|Положение на Север = на выходе 0]] | ||
− | |||
− | |||
=== I2C Method === | === I2C Method === | ||
Строка 60: | Строка 58: | ||
# Поместить компас на плоскость, позиционировать на Запад. Нажать - Отпустить кнопку | # Поместить компас на плоскость, позиционировать на Запад. Нажать - Отпустить кнопку | ||
− | ''' | + | |
− | по одному на каждую сторону света. | + | === Важно === |
− | Предыдущие версии компаса | + | '''ВНИМАНИЕ''' - Во время калибровки компас должен находиться на плоской горизонтальной поверхности параллельно поверхности земли, элементами вверх. Рядом не должно находиться металлических - а особенно магнитных объектов. |
− | В память запоминались последние измерения для каждой стороны света. | + | |
− | В '''Rev 14''' алгоритм изменен. Первый шаг(низкий уровень на Pin 6 или запись 255 в | + | Калибровка обязательно должна быть выполнена в четыре шага, по одному на каждую сторону света. |
− | инициирует внутренний механизм сбора данных и только по | + | *Предыдущие версии компаса позволяли повторить каждый шаг столько раз сколько надо. В память запоминались последние измерения для каждой стороны света. |
− | + | *В '''Rev 14''' алгоритм изменен. Первый шаг(низкий уровень на '''Pin 6''' или запись 255 в '''Register 15''') инициирует внутренний механизм сбора данных и только по окончанию Четвертого шага калибровочные данные сохраняются в EEPROM. Когда вы выполняете Первый шаг на '''Pin 5''' выставляется низкий уровень, после Четвертого шага возвращается в высокий уровень. Поэтому на '''Pin 5''' ставится светодиод через резистор 390ом, который показывает что модуль находится в состоянии калибрации. | |
− | выставляется низкий уровень, после | ||
− | Поэтому на Pin 5 ставится светодиод через резистор 390ом, | ||
− | который показывает что модуль находится в состоянии | ||
== Применение == | == Применение == | ||
.... to be soon ... | .... to be soon ... |
Версия 11:05, 11 июня 2008
Электронный компас CMPS03 производства Devantech Ltd.
Этот документ для CMPS03 версии Rev14 и позднее.
Отличить версии можно по отсутствию 8МГц керамического кварца в центре платы.
- Rev14 Март 2008
- Rev15 Апрель 2008
Статья является вольным переводом документов:
Содержание
Описание
Модуль CMPS03 был специально разработан для применения в роботах как вспомогательное средство навигации. Целью ставилось получить устройство которое выдает уникальное числовое значение описывающее направление фронтальной поверхности робота. В компасе используются три сенсора магнитного поля Philips KMZ51, чувствительности которых достаточно для определения магнитного поля Земли. Компас позволяет определить направление, используя горизонтальную направляющую магнитного поля Земли. Компания предоставляет примеры использования CMPS03 с основными типами МК.
Подключение
- Pin 1, +5v. Модулю компаса необходимо питание 5Вольт, потребление 25 мАмпер.
- Pins 2,3 являются линиями SCL и SDA для I2C интерфейса. Применяются для чтения данных о направлении. Если I2C интерфейс не используется, на выходы подается высокий уровень (+5 вольт) через пару резисторов примерно по 47 кОм.
- Pin 4 выход PWM(pulse width modulated) сигнала. Данные представляются PWM в аналоговом виде. Импульсы от 1mS (0°) до 36.99mS (359.9°) – следующее слово через 100uS/° и +1mS смещение. Низкий сигнал 65mS между импульсами, и цикл получается 65mS + время импульса = 66mS-102mS. Импульс формируется 16 битным таймером процессора, что позволяет достичь разрешения в 1uS
- Pin 5 используется при калибровке модуля. Если хотите подключите LED между выходом и +5v через резистор на 390 Ом.
- Pin 6 используется для калибровки. Процесс калибровки описан в следующей главе.
- Pins 7,8 на текущий момент не используются. Они оснащены подтягивающими резисторами.
- Pin 9 0 вольт = ground = земля.
Колибровка
Калибровку рекомендуется делать при каждом включении питания. Данные сохраняются в EEPROM на PIC16F872. Модуль калибруется на производстве со склонением 67 градусов(Великобритания), если ваше склонение близко то можно и не калибровать.
После калибровки при следующей ориентации модуля на Север будет выдаватся значение 0.
I2C Method
Для калибрации используем I2C шину, необходимо записывать 255 (0xff) в Регистр 15 для каждого из основных направлений Север, Восток, Юг и Запад. Направления могут задаваться в любой последовательности, но все четыре направления необходимо установить. Пример:
- Поместить компас на плоскость, позиционировать на Север(см. рис. выше). Записать 255 в регистр 15
- Поместить компас на плоскость, позиционировать на Восток. Записать 255 в регистр 15
- Поместить компас на плоскость, позиционировать на Юг. Записать 255 в регистр 15
- Поместить компас на плоскость, позиционировать на Запад. Записать 255 в регистр 15
Pin Method
Pin 6 используется для калибровки. Вход(pin 6) имеет подтягивающий резистор и может быть отключен после калибровки. Для установки направления нужно что бы на входе был постоянно высокий уровень, и в момент установки правильного направления подать низкий уровень затем вернуть высокий. Простейший путь нажать кнопку. Направления могут задаваться в любой последовательности, но все четыре направления необходимо установить. Пример:
- Поместить компас на плоскость, позиционировать на Север(см. рис. выше). Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Восток. Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Юг. Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Запад. Нажать - Отпустить кнопку
Важно
ВНИМАНИЕ - Во время калибровки компас должен находиться на плоской горизонтальной поверхности параллельно поверхности земли, элементами вверх. Рядом не должно находиться металлических - а особенно магнитных объектов.
Калибровка обязательно должна быть выполнена в четыре шага, по одному на каждую сторону света.
- Предыдущие версии компаса позволяли повторить каждый шаг столько раз сколько надо. В память запоминались последние измерения для каждой стороны света.
- В Rev 14 алгоритм изменен. Первый шаг(низкий уровень на Pin 6 или запись 255 в Register 15) инициирует внутренний механизм сбора данных и только по окончанию Четвертого шага калибровочные данные сохраняются в EEPROM. Когда вы выполняете Первый шаг на Pin 5 выставляется низкий уровень, после Четвертого шага возвращается в высокий уровень. Поэтому на Pin 5 ставится светодиод через резистор 390ом, который показывает что модуль находится в состоянии калибрации.
Применение
.... to be soon ...