Как подключить датчик LJ12A3 к Arduino

Сегодня мы познакомимся с настоящим «рабочим конём» промышленной автоматики, который отлично вписывается и в DIY-проекты — индуктивным датчиком приближения LJ12A3-4-Z/BX. Если вам нужно надёжно и бесконтактно определять наличие металлических объектов, этот датчик — ваш выбор. Где применяется: станки с ЧПУ (определение границ), конвейерные линии (счёт деталей), системы безопасности и т.д.

Ардуино LJ12A3-4-Z/BX характеристики, распиновка

LJ12A3-4-Z Arduino распиновка, характеристики
Датчик обнаружения металла LJ12A3-4-Z BX распиновка, характеристики

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

Расшифровка названия LJ12A3-4-Z/BX:

  • LJ — серия индуктивных датчиков
  • 12 — диаметр корпуса 12 мм (стандарт M12)
  • A3 — серия корпуса
  • 4 — номинальная дальность срабатывания 4 мм (для стали)
  • Z — тип выходного каскада (часто означает NPN)
  • BX — вариант исполнения (нормально разомкнутый)

Важно: Некоторые версии LJ12A3 могут иметь тип выхода PNP (срабатывание — высокий уровень) и нормально замкнутый (LJ12A3-4-Z/BX NPN NC). Всегда проверяйте маркировку перед покупкой и перед подключением сенсора к микроконтроллеру!

Технические характеристики LJ12A3-4-Z/BX (datasheet)

  • Напряжение питания: 5–36 V DC
  • Тип выхода: NPN, нормально разомкнутый (NO)
  • Ток нагрузки: до 200 мА
  • Дистанция срабатывания: 4 мм (для стали St37)
  • Гистерезис: ≤ 15% от дистанции
  • Частота переключения: до 800 Гц
  • Рабочая температура: -25…+70°C
  • Индикация: Красный светодиод на корпусе
  • Степень защиты: IP67 (корпус герметичен)
  • Материал корпуса: Латунь с никелированным покрытием
  • Размер резьбы: M12 × 1 мм

На некоторых моделях LJ12A3-4-Z/BX NPN NC и LJ12A3-4-Z/BX NPN NO есть потенциометр для тонкой настройки дальности. Но большинство дешёвых версий имеют фиксированную настройку. LJ12A3 — специалист для надёжного определения металла в условиях грязи, влаги и вибрации. Оптические и ультразвуковые датчики для плат Ардуино могут давать сбои от пыли или неоднородных поверхностей.

Подключение датчика KTY81-110 к Arduino Uno

Для этого занятия потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • сенсор LJ12A3-4-Z/BX NPN NO
  • провода «папа-мама», «папа-папа»
Подключение датчика LJ12A3-4-Z к Arduino
Подключение индуктивного датчика LJ12A3-4-Z к Arduino

Схема подключения сенсора LJ12A3-4-Z/BX NPN NO:

  • Коричневый → 5V Arduino
  • Синий → GND Arduino
  • Чёрный → цифровой пин 10 Arduino (можно любой)

У NPN выхода — открытый коллектор. Когда металла нет, транзистор закрыт, и выход «висит в воздухе». Чтобы пин Arduino читал стабильный HIGH, мы подтягиваем его к питанию через резистор. При срабатывании (металл есть) транзистор замыкает выход на GND → пин читает LOW. Альтернативное подключение (без внешнего резистора): используйте INPUT_PULLUP — это активирует встроенный подтягивающий резистор.

Скетч для индуктивного сенсора LJ12A3-4-Z/BX NPN NC Ардуино

#define sensorPin 10
int counter = 0;
int lastState = HIGH;
unsigned long lastDebounceTime = 0;
const unsigned long debounceDelay = 50; // 50 мс

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT_PULLUP);
  Serial.println("Счётчик деталей запущен");
}

void loop() {
  int currentState = digitalRead(sensorPin);
  
  if (currentState != lastState) {
    lastDebounceTime = millis();
  }
  
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (lastState == HIGH && currentState == LOW) {
      counter++;
      Serial.print("Деталь #");
      Serial.println(counter);
    }
    lastState = currentState;
  }
}

Пояснения к коду:

  1. поднесите стальную пластину к торцу датчика — красный светодиод на корпусе должен загореться, а в мониторе появится «МЕТАЛЛ ОБНАРУЖЕН!»
  2. срабатывание индуктивного сенсора зависит от площади поверхности, обращённой к датчику. Большая пластина даёт бóльшую дистанцию.

Настройка и решение проблем

  1. Датчик всегда показывает LOW или хаотично
    Нет подтягивающего резистора. Выход «висит». Добавьте резистор 10 кОм между пином и 5V. Или используйте INPUT_PULLUP в коде.
  2. Датчик не реагирует на металл
    Неправильное питание (слишком низкое напряжение) или датчик сломан. Проверьте напряжение на коричневом и синем проводах (должно быть 5V).
  3. Не видит алюминий или медь
    Это нормально — дальность срабатывания для цветных металлов меньше. Поднесите металл вплотную к датчику (почти касаясь) или увеличьте чувствительность, если есть регулировка.
  4. Дребезг на границе срабатывания
    Предмет находится точно на границе зоны обнаружения. Используйте код с антидребезгом (как выше) или закрепите датчик жёстче.

Заключение. Индуктивные датчики LJ12A3-4-Z/BX NPN NO и LJ12A3-4-Z/BX NPN NC — это надёжные и простые сенсоры, которые легко подключаются к микроконтроллерам Arduino и дают чёткий цифровой сигнал. Сенсор не боится пыли, влаги и вибрации, что делает его отличным выбором для реальных DIY проектов. Начинайте работу с ним — и вы поймёте, как работают промышленные датчики.



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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.