
ACS712 30A (датчик тока), аналоговый, эффект Холла
В наличии
2 400 теңге
2 160 теңге
Дата публикации
Обновлено
Датчик Холла определяет магнитное поле, положение, обороты и ток. Разбираем цифровые и аналоговые модели, A3144, open-drain и push-pull, пороги BOP и BRP, подключение к Arduino и ESP32, выбор магнита, расчет RPM и типичные ошибки.
Датчик Холла – это электронный компонент, который преобразует магнитное поле в электрический сигнал. В зависимости от конструкции на выходе появляется логическое состояние, аналоговое напряжение, ШИМ-сигнал или цифровые данные.
Главное преимущество – бесконтактная работа. Для переключения не требуется механическое нажатие, поэтому датчик подходит для частых срабатываний, герметичных механизмов и контроля движущихся деталей.
Датчики Холла применяют для:
Магнит может быть отдельной меткой на подвижной детали или частью самого устройства, например ротором бесколлекторного двигателя.
Нужно различать отдельную микросхему и готовый модуль. Модуль может дополнительно содержать:
| Исполнение | Что получает пользователь |
|---|---|
| Отдельная микросхема | Сигнал непосредственно с выходного каскада датчика |
| Цифровой модуль | Готовый логический сигнал и индикация |
| Аналоговый модуль | Напряжение, изменяющееся вместе с магнитным полем |
| Комбинированный модуль | Аналоговый выход и цифровой выход компаратора |
| Датчик тока | Сигнал, пропорциональный току в измерительном проводнике |
Трехвыводной корпус не определяет распиновку, тип выхода и рабочее питание. Два внешне одинаковых датчика могут иметь совершенно разную магнитную логику.
Подходящие модели представлены в категории датчиков Холла и тока. Структурированные материалы по выбору, подключению и диагностике собраны в хабе «Датчик Холла».
Эффект Холла возникает, когда через проводник или полупроводник проходит ток, а на носители заряда действует магнитное поле.
Магнитное поле отклоняет движущиеся заряды к одной стороне чувствительной пластины. Между ее боковыми контактами появляется небольшая разность потенциалов – напряжение Холла.
Знак и величина этого напряжения зависят от:
Напряжение Холла слишком мало для непосредственного подключения к микроконтроллеру. Поэтому интегральная микросхема обычно содержит:
| Тип обработки | Результат |
|---|---|
| Линейное усиление | Напряжение изменяется вместе с магнитным полем |
| Компаратор | Выход переключается после достижения порога |
| Цифровая обработка | Данные передаются через цифровой интерфейс |
| Многокоординатное измерение | Определяются несколько составляющих поля |
Датчик Холла способен обнаруживать постоянное магнитное поле. Это отличает его от обычной индукционной катушки, в которой напряжение возникает только при изменении магнитного потока.
Датчик измеряет не «магнит вообще», а составляющую магнитного поля вдоль своей чувствительной оси. Поле, направленное поперек этой оси, может почти не создавать полезного сигнала.
Подробная физика преобразования описана на странице Как работает датчик Холла.
Датчики Холла делятся не только на цифровые и аналоговые. Различаются также магнитная логика, выходной каскад, число измеряемых осей и способ передачи данных.
Цифровой датчик переключает выход после достижения заданного магнитного порога. Он подходит для определения конечного положения, прохождения магнитной метки и подсчета оборотов.
Линейный аналоговый датчик выдает напряжение, связанное с величиной и направлением магнитного поля. Его применяют для измерения положения, угла, перемещения и тока.
| Тип | Выход | Основное применение |
|---|---|---|
| Цифровой переключатель | HIGH или LOW | Двери, концевые положения, импульсы |
| Линейный аналоговый | Плавно изменяющееся напряжение | Положение, ток, магнитное поле |
| Защелкивающийся | Сохраняемое логическое состояние | Роторы и чередующиеся полюса |
| Многокоординатный | Данные по двум или трем осям | Угол, джойстики, пространственное положение |
| Датчик с цифровым интерфейсом | Числовое значение | Точное измерение поля и положения |
У распространенного ратиометрического линейного датчика выход без магнитного поля часто находится около половины напряжения питания. Поле одной полярности повышает выход, противоположной – понижает.
Это распространенная схема, но не универсальное правило. Некоторые модели имеют другой уровень нуля, однополярный диапазон или встроенный цифровой интерфейс.
Для аналогового датчика важны:
Плавное изменение напряжения не означает, что расстояние до магнита можно сразу получить в миллиметрах. Поле зависит от геометрии и расстояния нелинейно, поэтому положение определяют после калибровки готового механизма.
На комбинированных модулях, например некоторых версиях KY-024, вывод AO передает аналоговый сигнал, а DO – результат сравнения с порогом компаратора. Подстроечный резистор меняет порог цифрового канала, но не чувствительность самого кристалла.
Типы сенсоров и выходов подробно сопоставлены на странице Типы датчиков Холла и их выходы.
Цифровые датчики Холла различаются реакцией на полярность поля и поведением после удаления магнита. По внешнему виду корпуса определить магнитную логику нельзя.
| Тип | Как срабатывает | Как возвращается |
|---|---|---|
| Униполярный переключатель | От поля заданной полярности | После уменьшения поля ниже порога отпускания |
| Омниполярный переключатель | От северного или южного полюса | После удаления магнита |
| Биполярный переключатель | Логика зависит от конкретной модели | По диаграмме магнитного отклика |
| Защелка | Один полюс устанавливает состояние | Противоположный полюс меняет состояние |
У обычного переключателя есть два магнитных порога:
Разница между ними образует магнитный гистерезис. Он предотвращает многократное переключение, когда поле находится возле границы.
Униполярный датчик реагирует на одну полярность. При удалении магнита он автоматически возвращается в исходное состояние.
Омниполярный датчик может срабатывать от обеих сторон магнита. Он удобен, когда контролировать ориентацию магнита сложно.
Термин биполярный разные производители используют не полностью одинаково. Поведение нужно определять по значениям BOP и BRP и диаграмме магнитного отклика.
Защелка, или Hall latch, работает как магнитная память. Один полюс переводит выход в одно состояние, противоположный – в другое. После удаления магнита состояние может сохраниться.
Защелки применяют в роторах с чередующимися полюсами, двигателях и магнитных энкодерах. Они не являются прямой заменой датчика двери или обычного концевого положения.
Геркон и датчик Холла реагируют на магнитное поле, но имеют разное устройство и электрическое подключение.
Геркон содержит механические контакты внутри стеклянной колбы. Магнит замыкает, размыкает или переключает контактную группу.
Датчик Холла является полупроводниковой микросхемой. Ему требуется питание, а результат формируется электронным выходным каскадом.
| Критерий | Геркон | Датчик Холла |
|---|---|---|
| Питание чувствительного элемента | Не требуется | Требуется |
| Выход | Сухой контакт | Аналоговый, open-drain, push-pull или цифровой |
| Механический контакт | Есть | Нет |
| Дребезг контактов | Возможен | Механического дребезга нет |
| Скорость | Ограничена механикой | Обычно выше |
| Частые срабатывания | Зависят от ресурса контактов | Подходит лучше |
| Измерение величины поля | Нет | Возможно линейной моделью |
| Коммутация внешней цепи | В пределах рейтинга контактов | Только через выходную схему |
| Работа без питания | Возможна | Невозможна |
Геркон стоит выбирать, если нужен простой пассивный контакт, невысокая частота срабатываний и минимальное потребление.
Датчик Холла лучше подходит, если требуется:
При этом датчик Холла не может напрямую коммутировать двигатель, лампу или мощное реле. Его выход передает сигнал контроллеру или силовому ключу.
Полное сравнение доступно на странице Датчик Холла vs геркон. Устройство геркона разобрано в статье Геркон: принцип работы, виды и подключение.
Перед подключением нужно определить точную распиновку, диапазон питания и тип выхода. Обозначения VCC, GND и OUT на модуле относятся к плате, но выводы отдельной микросхемы могут располагаться в другом порядке.
У распространенных цифровых датчиков, подобных A3144, используется выход open-collector. Он может притянуть линию к GND, но не создает высокий уровень самостоятельно.
Схема подключения:
Для короткого провода можно использовать INPUT_PULLUP, но внешний резистор 4,7-10 кОм дает более предсказуемую подтяжку.
| Тип выхода | Подключение |
|---|---|
| Open-collector или open-drain | Нужна подтяжка к логическому питанию |
| Push-pull | Подключается напрямую при совместимых уровнях |
| Аналоговый | Подключается к входу АЦП |
| Выход модуля с компаратором | Подключается к цифровому входу после проверки уровня |
Пример чтения цифрового датчика:
const uint8_t HALL_PIN = 2;
bool previousState = HIGH;
void setup() {
Serial.begin(115200);
pinMode(HALL_PIN, INPUT_PULLUP);
previousState = digitalRead(HALL_PIN);
}
void loop() {
const bool currentState = digitalRead(HALL_PIN);
if (currentState != previousState) {
previousState = currentState;
if (currentState == LOW) {
Serial.println("Магнит обнаружен");
} else {
Serial.println("Магнит удален");
}
}
}
У многих open-collector датчиков активное состояние соответствует LOW, но это нельзя считать правилом для всех моделей и модулей.
Arduino-платы находятся в категории Платы Arduino. Подробная электрическая проверка приведена на странице Как подключить датчик Холла.
GPIO ESP32 работают с логикой 3,3 В и не рассчитаны на прямую подачу 5 В. Поэтому питание датчика и уровень его выхода проверяют отдельно.
Open-drain или open-collector
Датчик можно питать от разрешенного напряжения, а выход подтянуть к 3,3 В, если это допускают максимальные параметры его выходного транзистора. Земли датчика и ESP32 при обычном неизолированном подключении объединяются.
Push-pull
Если датчик питается от 5 В и активно формирует высокий уровень около 5 В, напрямую подключать его к ESP32 нельзя. Используют:
Аналоговый выход
Выходное напряжение должно находиться в допустимом диапазоне АЦП. Ратиометрический датчик, питаемый от 5 В, может выдавать уровень выше 3,3 В, поэтому его нельзя подключать без расчета.
| Сигнал датчика | Подключение к ESP32 |
|---|---|
| Open-drain | Подтяжка OUT к 3,3 В |
| Push-pull 3,3 В | Прямое подключение |
| Push-pull 5 В | Согласование логического уровня |
| Аналоговый до 3,3 В | К входу АЦП после проверки диапазона |
| Аналоговый выше 3,3 В | Делитель или буфер с пересчетом сигнала |
Для устойчивого аналогового измерения учитывают:
Если используется делитель, программный пересчет должен учитывать его коэффициент. Делитель уменьшает не только максимальное напряжение, но и полезное изменение сигнала.
Платы находятся в категории ESP32. Подробно согласование уровней разобрано в статье Почему ESP32 работает на 3,3 В.
Для нестабильного аналогового сигнала полезна статья Почему показания аналогового входа скачут.
Для измерения оборотов магнит устанавливают на вал, диск, колесо или шкив, а цифровой датчик закрепляют рядом. Каждый проход магнитной метки формирует импульс.
Обороты рассчитываются по формуле:
RPM = N × 60 / (t × PPR)
где:
Если на валу один магнит и программа считает один фронт, PPR равен 1. Если магнитов два – PPR обычно равен 2. При подсчете обоих фронтов число событий может удвоиться.
| Условия | Что проверить |
|---|---|
| Низкие обороты | Увеличить интервал или измерять время между импульсами |
| Высокие обороты | Проверить скорость датчика и минимальную ширину импульса |
| Несколько магнитов | Правильно указать PPR |
| Длинный провод | Подтяжка, фильтрация и защита от помех |
| Вибрация | Запас по магнитному полю и механическое крепление |
| Пропуски | Форму сигнала осциллографом и загрузку программы |
Пример измерения RPM по импульсам:
#if defined(ARDUINO_ARCH_ESP32)
const uint8_t HALL_PIN = 27;
#define ISR_ATTR IRAM_ATTR
#else
const uint8_t HALL_PIN = 2;
#define ISR_ATTR
#endif
const float PULSES_PER_REVOLUTION = 1.0f;
const unsigned long MEASUREMENT_INTERVAL = 1000;
volatile uint32_t pulseCount = 0;
unsigned long previousMeasurement = 0;
void ISR_ATTR countPulse() {
pulseCount++;
}
void setup() {
Serial.begin(115200);
pinMode(HALL_PIN, INPUT_PULLUP);
attachInterrupt(
digitalPinToInterrupt(HALL_PIN),
countPulse,
FALLING
);
previousMeasurement = millis();
}
void loop() {
const unsigned long now = millis();
const unsigned long elapsed = now - previousMeasurement;
if (elapsed >= MEASUREMENT_INTERVAL) {
noInterrupts();
const uint32_t pulses = pulseCount;
pulseCount = 0;
interrupts();
const float rpm =
pulses * 60000.0f /
(elapsed * PULSES_PER_REVOLUTION);
Serial.println(rpm);
previousMeasurement = now;
}
}
Для предварительного пересчета доступен калькулятор RPM по датчику Холла.
Устройство энкодеров и определение направления рассмотрены в статье Энкодеры в электронике.
В бесколлекторном двигателе датчики Холла определяют сектор положения ротора. Контроллер использует эти сигналы, чтобы вовремя переключать ток в фазных обмотках.
В распространенном трехфазном BLDC-двигателе устанавливают три цифровых датчика. Их состояния образуют последовательность, по которой контроллер определяет положение ротора.
Количество датчиков и схема их размещения зависят от конструкции двигателя. Встречаются варианты с электрическим расположением 60° и 120°, а также двигатели без отдельных датчиков положения.
| Параметр | На что влияет |
|---|---|
| Порядок сигналов Холла | Определение текущего сектора ротора |
| Положение датчиков | Момент коммутации фаз |
| Магнитная полярность | Логика переключения |
| Задержка датчика | Точность момента коммутации |
| Температурный дрейф | Стабильность порогов |
| Подключение фаз | Направление и правильность вращения |
Ошибки подключения проявляются так:
Сигналы Холла не управляют силовыми обмотками напрямую. Они только сообщают положение ротора. Переключение тока выполняют драйвер и силовые транзисторы.
При диагностике проверяют:
Датчики Холла также используются в вентиляторах, мотор-колесах, сервоприводах, линейных актуаторах и промышленных приводах.
Практические области использования собраны на странице Применение датчиков Холла.
Ток в проводнике создает магнитное поле. Специализированный датчик Холла измеряет это поле и формирует выходной сигнал, связанный с током.
Такой способ позволяет измерять постоянный и переменный ток. В некоторых микросхемах силовой проводник встроен в корпус, а чувствительный элемент электрически отделен от него.
Но не каждый датчик Холла обеспечивает гальваническую развязку. Изоляция должна быть прямо указана в документации вместе с рабочим, испытательным и импульсным напряжением.
| Исполнение | Особенности |
|---|---|
| Датчик со встроенным проводником | Ток проходит через корпус микросхемы |
| Датчик возле внешней шины | Измеряет поле отдельного проводника |
| Датчик с магнитопроводом | Поле концентрируется возле чувствительного элемента |
| Разомкнутая система | Простой выход без компенсационной катушки |
| Замкнутая система | Компенсация поля повышает точность и диапазон |
Для двунаправленного аналогового датчика ток часто рассчитывается так:
I = (VOUT - VZERO) / S
где:
Значение VZERO лучше измерять после запуска устройства, а не считать строго равным половине питания. На него влияют допуск, температура, питание, шум и внешнее магнитное поле.
При выборе проверяют:
Датчик ACS712 обычно питается от 5 В, а его аналоговый выход может превышать допустимый диапазон АЦП ESP32. Такое подключение требует проверки и, при необходимости, делителя или буфера.
Подробная методика приведена на странице Измерение тока датчиком Холла.
Разницу между токовым датчиком и обычным магнитным сенсором показывает сравнение ACS712 vs датчик Холла.
У датчика Холла нет универсального расстояния срабатывания. Рабочий зазор определяется всей магнитно-механической системой.
На результат влияют:
Магнитное поле уменьшается с расстоянием нелинейно. Небольшое увеличение зазора может значительно уменьшить сигнал, особенно возле порога срабатывания.
Распространены два режима движения:
| Движение | Особенности |
|---|---|
| Лобовое приближение | Магнит движется к чувствительной поверхности и обратно |
| Боковой проход | Магнит проходит параллельно поверхности датчика |
| Вращение возле датчика | Поле периодически меняется при каждом обороте |
| Торцевой магнит на валу | Используется для определения угла и положения |
Для цифрового переключателя поле в активном положении должно гарантированно превышать BOP, а в неактивном уходить ниже BRP.
Для аналогового датчика весь полезный диапазон должен находиться между нижним и верхним насыщением выхода.
Слишком сильный магнит тоже может создать проблемы:
Стальной винт, вал или корпус может перенаправить магнитный поток. После изменения крепления или материала корпуса проверку нужно повторить.
Практический порядок монтажа находится на странице Магнит и монтаж датчика Холла.
| Ошибка | Что происходит | Как исправить |
|---|---|---|
| Перепутана распиновка | Датчик не работает или нагревается | Проверить корпус и даташит |
| Выбран неправильный тип | Выход не возвращается или реагирует не так | Уточнить переключатель, защелку и полярность |
| Нет подтяжки open-drain | Высокий уровень остается неопределенным | Установить резистор к логическому питанию |
| Подтяжка к 5 В при ESP32 | Риск повреждения GPIO | Подтянуть линию к 3,3 В |
| Push-pull 5 В подключен к ESP32 | На GPIO поступает повышенное напряжение | Использовать согласование уровней |
| Нет общего GND | Уровень сигнала не определен | Соединить земли неизолированной схемы |
| Магнит повернут неправильно | Датчик не реагирует | Проверить обе полярности |
| Магнит слишком далеко | Пропуски и нестабильность | Уменьшить зазор или изменить магнит |
| Магнит слишком сильный | Насыщение или позднее отпускание | Подобрать поле и геометрию |
| Не учтена чувствительная ось | Сигнал слабый при близком магните | Изменить ориентацию датчика |
| Нет развязывающего конденсатора | Ложные импульсы и шум | Установить конденсатор возле питания |
| Подсчитываются оба фронта | RPM завышен вдвое | Учитывать фактический PPR |
| Слишком медленный опрос | Короткие импульсы пропускаются | Использовать прерывания или быстрый опрос |
| Аналоговый сигнал выше диапазона АЦП | Искажение или повреждение входа | Установить делитель или буфер |
| Порог модуля настроен на границе | Ложные переключения | Добавить запас и проверить механику |
Проверку выполняют поэтапно:
Если выход переключился и не возвращается, это может быть защелка, а не неисправный датчик.
Если модуль работает на столе, но пропускает импульсы в устройстве, нужно проверять механику, питание, помехи, ширину импульса и скорость программной обработки.
Полная последовательность диагностики находится на странице Проверка и диагностика датчика Холла.
Выбор датчика Холла начинается с задачи, а не с популярной маркировки или внешнего вида модуля.
| Задача | Подходящий тип |
|---|---|
| Наличие магнита | Цифровой переключатель |
| Дверь или конечное положение | Униполярный или омниполярный переключатель |
| Чередование полюсов ротора | Защелка |
| Измерение положения | Линейный датчик |
| Измерение угла | Двух- или трехкоординатный датчик |
| Подсчет оборотов | Быстрый цифровой переключатель |
| Измерение тока | Специализированный токовый датчик |
| Бесконтактная педаль или курок | Линейный или многокоординатный датчик |
Порядок выбора:
Для аналоговой модели дополнительно проверяют:
Для цифрового переключателя важны гарантированные, а не типичные пороги BOP и BRP. Поле должно иметь запас при всех механических и температурных допусках.
Отдельный A3144 удобен для собственной платы, но требует правильной обвязки. Готовый модуль проще для макета, однако может содержать неизвестный аналог датчика и дополнительные элементы. Разница разобрана в сравнении A3144 vs модуль датчика Холла.
Подробный порядок выбора находится на странице Как выбрать датчик Холла. Характеристики BOP, BRP, чувствительности, частоты и выхода собраны в разделе Основные параметры датчика Холла.
Связанные материалы:
Комментарии (0)