СОДЕРЖАНИЕ ►
Сегодня мы познакомимся с датчиком, который умеет чувствовать магнитное поле — SS49E. Это линейный датчик Холла, который выдаёт аналоговое напряжение, пропорциональное напряжённости магнитного поля. В отличие от цифровых датчиков (которые выдают HIGH/LOW), датчик магнитного поля SS49E позволяет измерять силу и направление магнитного поля, что открывает множество возможностей.
Датчик Холла SS49E характеристики, распиновка
SS49E выдаёт напряжение около 2.5V при отсутствии поля. При приближении северного полюса магнита напряжение увеличивается (до ~3.5V при сильном поле), при южном — уменьшается (до ~1.5V). Это позволяет определять не только наличие, но и полярность магнита. Берегите датчик от сильных ударов и статического электричества (он чувствителен к ESD) и старайтесь избегать нагрева выше 85°C.

Технические характеристики датчика SS49E (datasheet)
- Напряжение питания: 2.7 – 6.5 V (обычно используется 5V)
- Выходной сигнал: аналоговый, напряжение пропорционально магнитному полю
- Чувствительность: ~1.4 мВ/Гс (или 14 мВ/мТл) при Vcc = 5V
- Диапазон индукции: ±850 Гс (±85 мТл)
- Статическое выходное напряжение (при B = 0): ~2.5V (половина питания)
- Температурный коэффициент: ~0.12%/°C (небольшой дрейф)
- Рабочая температура: -40 … +85 °C
- Ток потребления: около 5 мА
SS49E поставляется в корпусе с тремя выводами (схема подключения представлена, когда сенсор расположен плоской стороной к вам). Подтягивающие резисторы в схеме не нужны, так как выход у датчика магнитного поля — аналоговый с низким импедансом. Если вы используете готовый модуль (KY-024), то на нём обычно есть стабилизатор и фильтры — подключение по тем же трём проводам: VCC, GND, OUT.
Подключение датчика Холла SS49E к Arduino Uno
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
- аналоговый датчик Холла SS49E
- провода «папа-мама», «папа-папа»

Схема подключения датчика SS49E к Arduino:
- Пин 1 (слева) – VCC (питание) → 5V Arduino
- Пин 2 (средний) – GND (земля) → GND Arduino
- Пин 3 (справа) – OUT (выход) → аналоговый вход A1 (или любой другой)
Поскольку датчик выдаёт напряжение, мы просто читаем аналоговое значение и преобразуем его в напряжение, а затем в индукцию. На практике чувствительность и нулевое напряжение могут немного отличаться от типовых значений. Чтобы получить точные показания, проведите калибровку. Для этого измерьте выходное напряжение при отсутствии поля (вдали от магнитов). Это будет ваш V0 (обычно около 2.5V).
Скетч для датчика Холла SS49E Ардуино
#define hallPin A1 const float Vcc = 5.0; // опорное напряжение const float sensitivity = 1.4; // мВ/Гс (типичное для SS49E при 5V) const float zeroOffset = 2.5; // напряжение при B=0 void setup() { Serial.begin(9600); analogReference(DEFAULT); // 5V референс Serial.println("SS49E датчик Холла"); } void loop() { int adcValue = analogRead(hallPin); float voltage = adcValue * (Vcc / 1023.0); // Вычисляем индукцию в гауссах float deltaV = voltage - zeroOffset; float B = deltaV / (sensitivity / 1000.0); // чувствительность в В/Гс Serial.print("Напряжение: "); Serial.print(voltage, 3); Serial.print(" В, Индукция: "); Serial.print(B, 2); Serial.println(" Гс"); if (B > 20) { Serial.println(" → Северный полюс (положительное поле)"); } else if (B < -20) { Serial.println(" → Южный полюс (отрицательное поле)"); } else { Serial.println(" → Поле отсутствует или слабое"); } delay(200); }
Пояснения к коду:
- Знак плюс соответствует северному полюсу, знак минус — южному.
- Пороги ±20 Гс выбраны для исключения шума.
Настройка и решение проблем
- Напряжение на выходе всегда около 5V или 0V
Возможно, перепутаны выводы питания/земли. Проверьте распиновку. - Показания сильно шумят
Добавьте конденсатор 0.1 мкФ между VCC и GND рядом с датчиком, также можно в коде сделать усреднение (например, взять 10 измерений и усреднить). - Значения не меняются при поднесении магнита
Возможно, датчик слишком далеко от магнита (поле ослабевает как куб расстояния). Поднесите магнит вплотную. - Датчик реагирует только на один полюс
SS49E реагирует на оба полюса, но выходное напряжение смещается в разные стороны. Если вы видите изменение только в одну сторону — переверните магнит. - После калибровки показания не совпадают с реальностью
Убедитесь, что у вас правильный коэффициент (для SS49E при 5V чувствительность ~1.4 мВ/Гс, но она может быть 1.25–1.5 мВ/Гс). Лучше уточнить в даташит.
Заключение. Сенсор SS49E — отличный и недорогой линейный датчик для измерения магнитного поля, который легко подключается к Arduino благодаря аналоговому выходу. Он позволяет измерять как наличие, так и полярность и приблизительную силу магнита. После небольшой калибровки вы сможете использовать его в самых разных проектах — от простых переключателей до систем позиционирования.










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