Датчик Холла — датчик магнитного поля

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

Элемент CS3144E, представляет собой датчик Холла в корпусе TO-92UA. Он состоит из стабилизатора напряжения, генератора напряжения Холла, дифференциального усилителя и триггера Шмитта. Точную спецификацию можно найти в интернете.

Структура датчика холла Датчик TO-92UA
Внутренняя структура датчика CS3144E Внешний вид датчика CS3144E

Датчик выдает на выходе два значения: V OH близкое к напряжению питания и V OL близкое к нулю. Высокое состояние возникает на выходе при отсутствии магнитного поля, точнее, когда поле вокруг датчика слишком слабое, чтобы превысить пороговое значение. При соответствующем увеличении напряженности магнитного поля выходное напряжение упадет почти до нуля. В прежнее, высокое состояние система вернется только тогда, когда напряженность поля уменьшится, а пороговое значение для изменения L->H будет ниже, чем для H->L. Лучше всего это показывает график:

График состояния напряжения

Эта форма выходного напряжения называется гистерезис. Почему здесь не один порог переключения? Если бы был один порог переключения, напряженность поля была как раз близка к этому порогу, выходное напряжение скакало бы при его незначительных изменениях.

И так, когда магнитное поле достигает значения B OP, оно переключается с высокого на низкий. Для перехода в высокое состояние значение напряженности магнитного поля должно упасть ниже B HP, что ниже B OP.

Поэтому при интенсивности, близкой к значению B OP, он переключается в низкое состояние и отсутствует мерцающий эффект, который имел бы место, если бы переключение между состояниями производилось независимо от направления при значении B OP.

Самая простая программа

Датчик Холла имеет, конечно, много применений, например его ставят в тахометр, но мы ограничимся тем, что приведем самое простое из возможных — светодиод, включаемый магнитом.

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

pinMode(hallPin, INPUT);

В данной строчке, hallPin — это номер цифрового вывода Arduino — мы выбрали 8. Если мы уже настраиваем вход, то следующее, что нужно сделать — это подтянуть его к питанию через внутренний резистор. Если этого не сделать, вход будет висеть в воздухе, улавливая шум, проявляющийся мерцанием светодиода. Итак, сразу после предыдущей строки добавляем:

digitalWrite(hallPin, HIGH);

В качестве выхода выбираем другой цифровой пин, желательно 13-й, потому что у большинства моделей Arduino к нему подключен светодиод. Остальной код не требует особых комментариев — ввод читается в цикле, а вывод устанавливается в зависимости от его значения. Вся программа будет выглядит так:

Вот схема подключения (больше ради принципа, так как здесь, скорее всего, не нужно пояснений):

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

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

Вот так выглядит собранная схема:

Датчик Холла с Arduino UNO

На видео показана как работает на практике наша сборка:

Работа галлотрона

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

С Уважением, МониторБанк

Добавить комментарий