Arduino nano датчик холла

Arduino nano датчик холла

Аналоговый магнитный датчик Холла (рисунок 1), входящий в состав ARDUINO SENSOR KIT, предназначен для определения присутствие поля постоянного магнита или магнитного поля катушки проволоки, подключенной к постоянному току (фиксирует наличие постоянного магнитного поля). Воспринимающим элементом данного модуля является датчик Холла. Датчик срабатывает при поднесении постоянного магнита и реагирует только на один полюс магнита. Определить полюс магнита, на который реагирует датчик, следует экспериментально (для данного датчика, как правило, это северный полюс магнита). При наличии рядом постоянного магнита электроны в пластине датчика, с протекающим через неё током, будут отклоняться в направлении, перпендикулярном направлению тока (в какую именно сторону будут отклоняться электроны, зависит от полярности магнитного поля). В результате на выходе датчика появляется сигнал. Различная плотность электронов на сторонах пластины создаёт разность потенциалов, которую можно усилить и измерить.

Рисунок 1 — Аналоговый магнитный датчик Холла Arduino.

Аналоговый магнитный датчик Холла состоит из платы, на которой смонтированы 3 порта подключения к плате Arduino и датчик Холла. Данный модуль может отправлять аналоговый сигнал. Аналоговый выход преобразует индукцию магнитного поля в напряжение, знак и величина которого будут зависеть от полярности и силы поля. Технические характеристики аналогового магнитного датчика Холла представлены в таблице.

Таблица – Технические характеристики аналогового магнитного датчика Холла.

Параметр Значение
Номинальное рабочее напряжение 5 В
Рабочая температура от -40 °C до +100 °C
Габаритные размеры 32 мм x 15 мм x 12 мм

Подключение аналогового магнитного датчика Холла

Распиновка аналогового магнитного датчика Холла представлена на рисунке 2.

Рисунок 2 – Распиновка аналогового магнитного датчика Холла Arduino.

Для его подключения потребуются:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • провода типа «папа-мама»;
  • аналоговый магнитный датчика Холла;
  • USB кабель для подключения платы Arduino к персональному компьютеру с установленной средой Arduino IDE.

Схема подключения аналогового магнитного датчика Холла к плате Arduino представлена на рисунке 3.

Рисунок 3 – Подключение аналогового магнитного датчика Холла к Arduino UNO.

Схемы подключения аналогового магнитного датчика Холла к микроконтроллерам Arduino Uno, Arduino Nano или Arduino Mega принципиально ничем не отличаются.
Подключается аналоговый магнитный датчик Холла к Arduino Uno следующим образом:

  • GND — GND;
  • VCC — 5V;
  • In — любой аналоговый порт (на схеме – А0).

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

Применение

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

Источник

ИСПОЛЬЗОВАНИЕ ДАТЧИКА ХОЛЛА С ARDUINO

В этой статье мы рассмотрим, как использовать модуль датчик холла совместно с Arduino. Датчик холла – это датчик, который меняет свой выходной потенциал (напряжение) в зависимости от присутствии или отсутствии магнитного поля. Это означает, что выходной сигнал датчика Холла является функцией плотности магнитного поля вокруг него. Когда плотность магнитного потока вокруг него превышает некоторое заранее выставленное пороговое значение, датчик обнаруживает его и меняет напряжение тока выхода для того чтобы показать присутствие магнитного поля.

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

По виду они обычно выглядят как плата с 3 контактами: один контакт сигнал и другие 2 для питания датчика. Это существенно упрощает подключение модуля к любому микроконтроллеру или исполнительной схеме.

В сегодняшнем материале Elwo.ru покажет, как работает датчик холла, подключив его вместе со светодиодом к Arduino блоку. Arduino будет запрограммирован таким образом, что, когда магнит приближается к датчику холла – светодиод включается, а когда магнит удаляется – он гаснет.

Схема принципиальная

Схема для этого проекта проста, так как все, что нам нужно сделать, это подключить 3 контакта датчика холла и светодиод к платформе Arduino. Соедините компоненты, как показано на схеме.

Датчик Холла – Ардуино

  • VCC – 5V
  • GND – GND
  • SIG – D2

LED можно подсоединить сразу в Arduino с положительной ногой в pin 13 Arduino и другой ногой в земляной штырь без резистора, потому что arduino имеет внутренний резистор прикрепленный к pin 13.

Требуемые компоненты для схемы

Для построения этого проекта требуются следующие компоненты.

Теперь можем перейти к коду для этого проекта.

Код прошивки МК

Код для этого проекта очень прост, так как все, что нужно сделать это проверить, ощущается ли магнитное поле, и если да – включается ли от него светодиод.

В функции настройки void мы объявляем pinmode для контактов Arduino, к которому подключены светодиод и датчик Холла.

Далее идет функция void loop, задача здесь как если бы надо было использовать кнопку для управления светодиодом с Arduino между ними. Читаем выход датчика холла и храним в переменной с именем state.

Полный код для этого проекта показан далее:

int hallSensorPin = 2;
int ledPin = 13;
int state = 0;

void setup() <
pinMode(ledPin, OUTPUT);
pinMode(hallSensorPin, INPUT);
>

Скопируйте код и загрузите его на плату Arduino. Вы должны увидеть переключение светодиода, когда магнит поднесен близко к датчику, показанному на фото.

Источник

Как подключить датчик Холла 49E к Arduino

В статье рассматривается подключение датчика Холла 49E к Arduino.

  • Arduino UNO или иная совместимая плата (я буду использовать Arduino Nano);
  • модуль 49E с датчиком Холла;
  • соединительные провода (рекомендую вот такой набор);
  • макетная плата (breadboard);
  • персональный компьютер со средой разработки Arduino IDE.

1 Описание датчика Холла 49E

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

  • датчики скорости вращения – широко используются в автомобилестроении и везде, где требуется определить скорость вращения колеса или иного вращающегося объекта; сенсоры на основе эффекта Холла пришли на замену механическим герконам;
  • датчики приближения; типичный пример – раскладной чехол на вашем смартфоне, который включает подсветку экрана при открытии;
  • измерение угла поворота;
  • измерение величины вибрации;
  • измерение величины магнитного поля – магнитометры и цифровые компасы;
  • измерение силы тока (переменного и постоянного);
  • измерение воздушных зазоров, уровня жидкости, и многие другие.

Приобрести такой датчик можно здесь.

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

Модуль с датчиком Холла содержит следующие компоненты: подстроечный резистор, двухканальный компаратор, несколько согласующих резисторов, пару светодиодов и собственно, сам датчик Холла 49E.

Модуль с датчиком Холла 49E

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

Модуль с датчиком имеет 4 вывода. Назначение выводов приведено в таблице. В третьем столбце таблицы – соответствующий вывод платы Arduino, к которому будет подключаться модуль.

Вывод Назначение Вывод Arduino
G Земля. GND
+ Питание +2,3…10 В. 5V
AO Аналоговый выход – значение напряжённости магнитного поля. A0
DO Цифровой выход – индикатор превышения напряжённости магнитного поля заданного порога. 12

Вот как будет выглядеть модуль с датчиком Холла, подключённый к плате Arduino Nano:

Подключение модуля с датчиком Холла к Arduino Nano

2 Скетч для считывания показаний датчика Холла 49E

Итак, давайте проверим наш датчик в действии. Напишем самый простой скетч, который только и делает, что выводит считанные значения в последовательный порт.

Загрузим скетч и посмотрим, что же выводится в порт:

Вывод в последовательный порт показаний датчика Холла

Очень интересно. Вывод цифрового канала понятен: «0» – магнитное поле ниже заданного подстроечным резистором значения, «1» – выше (я поднёс магнит к датчику). А что же показывает аналоговый канал? Разберёмся с этим чуть позже.

3 Скетч для определения скорости вращения диска

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

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

Установка для определения скорости вращения на основании показаний датчика Холла

Вспомним формулу угловой скорости: ω = φ / t где ω – угловая скорость, φ – угол поворота, t – время, за которое диск повернулся на этот угол. В нашем случае угол (1 оборот) будет равен 360° или 2π радиан. Всё, что нам остаётся – это подсчитать время, за которое происходит один оборот диска.

В скетче мы будем отлавливать переход сигнала с датчика от HIGH к LOW и вычислять разницу между двумя последовательными переходами.

Временная диаграмма цифрового сигнала с датчика Холла для вращающегося диска

Для определения промежутка времени используем встроенную функцию millis(), которая возвращает количество миллисекунд, прошедших с момента включения платы Arduino.

Загрузим скетч, и начнём вращать наш диск с магнитом. Период оборота и угловая скорость выводятся в окно консоли:

Скорость и период вращения диска выводятся в монитор последовательного порта

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

Возвращаясь к идее спидометра для велосипеда, нужно вспомнить ещё одну формулу – связь угловой и линейной скоростей: v = ω r

Здесь v – линейная скорость, ω – угловая скорость, r – радиус колеса велосипеда. Теперь несложно дописать наш последний скетч с учётом этой формулы.

4 Значения с аналогового каналадатчика Холла 49E

Теперь разберёмся, что же показывают аналоговые значения с датчика Холла.

Датчик выдаёт напряжение, которое изменяется в зависимости от величины магнитного поля. Вектор индукции магнитного поля измеряется в Гауссах (Гс, GS по-английски). Согласно техническому описанию на детектор Холла, пределы измерения датчика Холла 49E ±1500 Гс с линейным участком от −1200 до +1200 Гс., а чувствительность датчика примерно 2,9 мВ/Гс. Рассмотрим график зависимости напряжения на датчике Холла от величины магнитного поля:

График зависимости напряжения на датчике Холла от величины магнитного поля

Помните наш первый скетч? Показания, снятые с датчика, изменялись в районе 508..525 отчётов (левая шкала ординат на графике). Если перевести их в вольты, то это как раз около нуля шкалы отсчёта датчика, или 2,5 В (правая шкала). Если мы поднесём магнит одним полюсом к датчику Холла, показания будут меняться от нуля в одну сторону, если поднесём другим полюсом – в другую.

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

Источник

Как подключить датчик Холла 49E к Arduino

В статье рассматривается подключение датчика Холла 49E к Arduino.

  • Arduino UNO или иная совместимая плата (я буду использовать Arduino Nano);
  • модуль 49E с датчиком Холла;
  • соединительные провода (рекомендую вот такой набор);
  • макетная плата (breadboard);
  • персональный компьютер со средой разработки Arduino IDE.

1 Описание датчика Холла 49E

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

  • датчики скорости вращения – широко используются в автомобилестроении и везде, где требуется определить скорость вращения колеса или иного вращающегося объекта; сенсоры на основе эффекта Холла пришли на замену механическим герконам;
  • датчики приближения; типичный пример – раскладной чехол на вашем смартфоне, который включает подсветку экрана при открытии;
  • измерение угла поворота;
  • измерение величины вибрации;
  • измерение величины магнитного поля – магнитометры и цифровые компасы;
  • измерение силы тока (переменного и постоянного);
  • измерение воздушных зазоров, уровня жидкости, и многие другие.

Приобрести такой датчик можно здесь.

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

Модуль с датчиком Холла содержит следующие компоненты: подстроечный резистор, двухканальный компаратор, несколько согласующих резисторов, пару светодиодов и собственно, сам датчик Холла 49E.

Модуль с датчиком Холла 49E

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

Модуль с датчиком имеет 4 вывода. Назначение выводов приведено в таблице. В третьем столбце таблицы – соответствующий вывод платы Arduino, к которому будет подключаться модуль.

Вывод Назначение Вывод Arduino
G Земля. GND
+ Питание +2,3…10 В. 5V
AO Аналоговый выход – значение напряжённости магнитного поля. A0
DO Цифровой выход – индикатор превышения напряжённости магнитного поля заданного порога. 12

Вот как будет выглядеть модуль с датчиком Холла, подключённый к плате Arduino Nano:

Подключение модуля с датчиком Холла к Arduino Nano

2 Скетч для считывания показаний датчика Холла 49E

Итак, давайте проверим наш датчик в действии. Напишем самый простой скетч, который только и делает, что выводит считанные значения в последовательный порт.

Загрузим скетч и посмотрим, что же выводится в порт:

Вывод в последовательный порт показаний датчика Холла

Очень интересно. Вывод цифрового канала понятен: «0» – магнитное поле ниже заданного подстроечным резистором значения, «1» – выше (я поднёс магнит к датчику). А что же показывает аналоговый канал? Разберёмся с этим чуть позже.

3 Скетч для определения скорости вращения диска

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

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

Установка для определения скорости вращения на основании показаний датчика Холла

Вспомним формулу угловой скорости: ω = φ / t где ω – угловая скорость, φ – угол поворота, t – время, за которое диск повернулся на этот угол. В нашем случае угол (1 оборот) будет равен 360° или 2π радиан. Всё, что нам остаётся – это подсчитать время, за которое происходит один оборот диска.

В скетче мы будем отлавливать переход сигнала с датчика от HIGH к LOW и вычислять разницу между двумя последовательными переходами.

Временная диаграмма цифрового сигнала с датчика Холла для вращающегося диска

Для определения промежутка времени используем встроенную функцию millis(), которая возвращает количество миллисекунд, прошедших с момента включения платы Arduino.

Загрузим скетч, и начнём вращать наш диск с магнитом. Период оборота и угловая скорость выводятся в окно консоли:

Скорость и период вращения диска выводятся в монитор последовательного порта

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

Возвращаясь к идее спидометра для велосипеда, нужно вспомнить ещё одну формулу – связь угловой и линейной скоростей: v = ω r

Здесь v – линейная скорость, ω – угловая скорость, r – радиус колеса велосипеда. Теперь несложно дописать наш последний скетч с учётом этой формулы.

4 Значения с аналогового каналадатчика Холла 49E

Теперь разберёмся, что же показывают аналоговые значения с датчика Холла.

Датчик выдаёт напряжение, которое изменяется в зависимости от величины магнитного поля. Вектор индукции магнитного поля измеряется в Гауссах (Гс, GS по-английски). Согласно техническому описанию на детектор Холла, пределы измерения датчика Холла 49E ±1500 Гс с линейным участком от −1200 до +1200 Гс., а чувствительность датчика примерно 2,9 мВ/Гс. Рассмотрим график зависимости напряжения на датчике Холла от величины магнитного поля:

График зависимости напряжения на датчике Холла от величины магнитного поля

Помните наш первый скетч? Показания, снятые с датчика, изменялись в районе 508..525 отчётов (левая шкала ординат на графике). Если перевести их в вольты, то это как раз около нуля шкалы отсчёта датчика, или 2,5 В (правая шкала). Если мы поднесём магнит одним полюсом к датчику Холла, показания будут меняться от нуля в одну сторону, если поднесём другим полюсом – в другую.

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

Источник

Adblock
detector