Подключение датчика Холла к Arduino

Содержание

Датчики являются важной частью многих радиоэлектронных проектов. Они способны преобразовывать данные об окружающей среде в цифровые данные, которые затем могут быть обработаны с помощью электронных схем. Существует много различных датчиков, существенно отличающихся по принципу действия. В этой статье мы рассмотрим подключение датчика Холла к плате Arduino. Этот датчик способен обнаруживать присутствие магнита и определять его полюс.

Внешний вид подключения датчика Холла к Arduino

Вы можете спросить для чего нужно обнаруживать присутствие магнита. На самом деле существует очень много разнообразных устройств, в которых применяются датчики Холла: в измерителях скорости транспортных средств или любых вращающихся механизмов, в бесщёточных электродвигателях постоянного тока для определения позиции ротора и переключения в соответствии с этим катушки статора и т.д. Число применений датчика Холла очень велико. На нашем сайте вы можете посмотреть следующие проекты, в которых был использован датчик Холла:

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

Необходимые компоненты

  1. Плата Arduino (любой версии) (купить на AliExpress).
  2. Датчик Холла (любой, но только цифровой) (купить на AliExpress).
  3. Резистор 1 кОм (купить на AliExpress).
  4. Резистор 10 кОм (купить на AliExpress).
  5. Светодиод (купить на AliExpress).
  6. Соединительные провода.

Что такое эффект Холла

Эффект Холла можно рассмотреть с точки зрения движения зарядов (заряженных частиц) в магнитном поле. Чтобы понять на практике как это происходит подсоединим батарею к проводнику как показано на рисунке ниже. Электрический ток (i) в этом случае начнет протекать по проводнику от положительного контакта батареи к ее отрицательному контакту.

Схема для пояснения эффекта Холла

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

При отсутствии магнитного поля напряжение на поперечных концах проводника равно 0

Теперь создадим магнитное поле над проводником как показано на следующем рисунке.

При наличии магнита на поперечных концах проводниках появляется напряжение Холла

И если в этот момент времени мы измерим напряжение на концах проводника (поперечных прохождению тока), то оно будет отлично от нуля. Это напряжение и называется «напряжением Холла», а само это явление называется «эффектом Холла».

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема подключения датчика Холла к Arduino

Как вы можете видеть, схема очень проста. Но, к сожалению начинающие радиолюбители иногда путают расположение контактов (распиновку) датчика Холла. Поместите датчик Холла перед собой таким образом, чтобы вы смотрели на ту его сторону, на которой есть буквы, тогда первый контакт слева будет Vcc (напряжение постоянного тока), затем будет контакт земли и затем сигнальный контакт.

Поскольку, как мы уже говорили, мы будем использовать прерывания при работе с датчиком Холла, поэтому в нашей схеме его сигнальный контакт подключен к контакту 2 платы Arduino, который может быть использован в качестве входа для внешнего прерывания INT0. Светодиод подключен к контакту 3 и будет зажигаться всякий раз при обнаружении датчиком Холла магнита. Собранное устройство на макетной плате будет выглядеть примерно следующим образом.

Внешний вид собранного устройства

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его наиболее важные фрагменты.

Мы задействуем в плате Arduino один контакт для ввода данных (к нему подключен датчик Холла) и один для вывода данных (к нему подключен светодиод). На контакте, к которому подключен датчик Холла, мы будем использовать прерывание. Поэтому внутри функции setup нам необходимо инициализировать эти контакты и сконфигурировать контакт 2 таким образом, чтобы на нем можно было использовать прерывания.


Источник: microkontroller.ru