Informatics Point
Информатика и проектирование
Как и любое устройство, работающее по интерфейсу I2C, датчик имеет свой собственный уникальный адрес для работы. HMC5883L присвоен адрес 0х1E. С восьмым битом записи/чтения адрес будет 0х3D для чтения и 0х3C для записи.
Карта регистров датчика представлена в таблице ниже (Рис.6):
Рис.6
Как видно, для настройки датчика доступны регистры (это те, куда можно что-то записать) находящиеся на адресах 00 (configuration register A), 01 (configuration register B) и 02 (mode register).
Configuration Register A (CRA)
Рис.7. Регистр конфигурации А
Первый из доступных, для настройки датчика, регистров. Каждый бит имеет свое имя, для того чтобы было видно с каким еще битом в регистре он связан (например, биты CRA6 и CRA5 имеют общее имя MA1 и MA0 соответственно, так как отвечают за один и тот же параметр) CRA7 - зарезервированный бит и пока не используется CRA6|CRA5 - устанавливают число замеров (семплов) перед выдачей результата измерения. Эти биты могут принимать значения: 00 = 1(Default); 01 = 2; 10 = 4; 11 = 8 Пример: чтобы установить 4 семпла записываем в CRA6 единицу, a в CRA5 ноль. CRA4|CRA3|CRA2 - устанавливают с какой скоростью будут записываться данные в регистры считывания данных (Data Output Registers). 000 - 0,75 Гц 001 - 1,5 Гц 010 - 3 Гц 011 - 7,5 Гц 100 - 15 Гц (дефолтное значение) 101 - 30 Гц 110 - 75 Гц 111 - зарезервировано Пример: для того чтобы увеличить скорость записи данных до 75 Гц записываем в CRA4 единицу, в CRA3 единицу, в CRA2 ноль. CRA1|CRA0 - настраивают тип измерения. Тут какие-то технические заморочки с импедансом в магниторезистивной нагрузке датчика в каждой из осей. Оставили значение регистров по умолчанию (00 - нормальный режим измерения) . Пример: настроим полностью регистр А, установим количество семплов равным 8 , скорость записи данных 3 Гц, нормальный тип измерения. Для этого мы должны отправить в регистр 8 бит данных, в двоичном представлении это будет: &b01101000.
Configuration Register B (CRB)
Рис.8. Регистр конфигурации В
В регистре B настраивается чувствительность датчика к магнитному полю. За эти установки отвечают биты CRB7|CRB6|CRB5. Остальные 5 бит не используются, но для корректной работы они должны быть забиты нулями. Зависимость чувствительности (Lsb/Gauss) датчика от установленных битов CRB7|CRB6|CRB5
-1370 001 -1090 (дефолтное значение) 010 - 820 011 - 660 100 - 440 101 - 390 110 - 330 111 - 230 Пример: установим максимальную чувствительность датчика, для этого отправим в регистр B бинарное значение &b00000000 3.3. Mode Register (MR)
Рис.9 Режим регистрации
В последнем оставшемся регистре, настраиваются такие параметры как скорость работы на шине I2C и режим работы датчика. Высокоскоростной режим работы I2C (3400 кГц) устанавливается записью в бит MR7 единицы. MD1|MD0 устанавливают режим работы датчика: 00 - режим непрерывного измерения. 01 - режим единичного измерения (в этом режиме датчик работает по умолчанию). После измерения и записи результата в регистр вывода данных датчик уходит в режим ожидания (Idle) 10 - погружает датчиков режим ожидания. Потребление в этом режиме падает до 2 мкА 11 - также погружает датчик в режим ожидания.
Пример: установим высокоскоростное соединение датчика с микроконтроллером на скорости 3400кГц и запустим режим непрерывного измерения. Для этого запишем в регистр бинарное значение &b10000000. Измеренные по трем осям данные забираются из соответствующих регистров, для каждой из осей данные состоят из двух байт - старшего и младшего. Для получения результата их необходимо сложить, но это уже очевидные вещи поэтому приступим непосредственно к коду и железу. Для того чтобы самостоятельно не паять можно купить вот такую готовую печатную плату, представлена на (Рис.10):
Рис.10.Печатная плата
Стоимость 5$ и помимо минимально необходимой обвязки содержит стабилизатор питания и схему преобразователя уровней. Поэтому эту плату можно подключать к 5-и вольтовой схеме без опасности спалить сенсор. Подключается плата с датчиком напрямую к микроконтроллеру, подтягивающие резисторы ставить не нужно, они уже имеются на плате (Рис.11):
Теория автоматического управления. Линейные системы
Настоящие методические указания служат пособием для студентов института,
выполняющих лабораторные и курсовые работы по теории линейных систем
автоматическог ...
Цифровые компараторы
компаратор устройство логический сигнал
Компаратор
- устройство, предназначенное для сравнения двух сигналов. Он осуществляет
переключение уровня выходного н ...
Разработка принципиальной схемы 16 разрядного счетчика с использованием программы Electron ics Workbench 5.12
Подсчет импульсов является одной из наиболее распространенных операций,
выполняемых в устройствах дискретной обработки информации. Такая операция в
циф ...
Меню сайта
2024 © www.informaticspoint.ru