Электронный компас — различия между версиями
SkyStorm (обсуждение | вклад) (→Колибровка) |
SkyStorm (обсуждение | вклад) (→Колибровка) |
||
Строка 42: | Строка 42: | ||
[[Изображение:North.gif]][[Изображение:Cmps3pin2.jpg|Положение на Север = на выходе 0]] | [[Изображение:North.gif]][[Изображение:Cmps3pin2.jpg|Положение на Север = на выходе 0]] | ||
− | '''ВНИМАНИЕ''' - | + | '''ВНИМАНИЕ''' - Во время калибровки компас должен находиться на плоской горизонтальной поверхности параллельно поверхности земли, элементами вверх. Рядом не должно находиться металлических - а особенно магнитных объектов. |
+ | === I2C Method === | ||
+ | Для калибрации используем I2C шину, необходимо записывать 255 (0xff) в '''Регистр 15''' для каждого из основных направлений Север, Восток, Юг и Запад. Направления могут задаваться в любой последовательности, но все четыре направления необходимо установить. Пример: | ||
+ | # Поместить компас на плоскость, позиционировать на Север(см. рис. выше). Записать 255 в регистр 15 | ||
+ | # Поместить компас на плоскость, позиционировать на Восток. Записать 255 в регистр 15 | ||
+ | # Поместить компас на плоскость, позиционировать на Юг. Записать 255 в регистр 15 | ||
+ | # Поместить компас на плоскость, позиционировать на Запад. Записать 255 в регистр 15 | ||
− | .... | + | |
+ | === Pin Method === | ||
+ | '''Pin 6''' используется для калибровки. Вход(pin 6) имеет подтягивающий резистор и может быть отключен после калибровки. Для установки направления нужно что бы на входе был постоянно высокий уровень, и в момент установки правильного направления подать низкий уровень затем вернуть высокий. | ||
+ | Простейший путь нажать кнопку. Направления могут задаваться в любой последовательности, но все четыре направления необходимо установить. Пример: | ||
+ | # Поместить компас на плоскость, позиционировать на Север(см. рис. выше). Нажать - Отпустить кнопку | ||
+ | # Поместить компас на плоскость, позиционировать на Восток. Нажать - Отпустить кнопку | ||
+ | # Поместить компас на плоскость, позиционировать на Юг. Нажать - Отпустить кнопку | ||
+ | # Поместить компас на плоскость, позиционировать на Запад. Нажать - Отпустить кнопку | ||
== Применение == | == Применение == | ||
.... to be soon ... | .... to be soon ... |
Версия 13:55, 27 мая 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) имеет подтягивающий резистор и может быть отключен после калибровки. Для установки направления нужно что бы на входе был постоянно высокий уровень, и в момент установки правильного направления подать низкий уровень затем вернуть высокий. Простейший путь нажать кнопку. Направления могут задаваться в любой последовательности, но все четыре направления необходимо установить. Пример:
- Поместить компас на плоскость, позиционировать на Север(см. рис. выше). Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Восток. Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Юг. Нажать - Отпустить кнопку
- Поместить компас на плоскость, позиционировать на Запад. Нажать - Отпустить кнопку
Применение
.... to be soon ...