Подключение датчика расстояния. Ультразвуковой датчик расстояния Ардуино HC-SR04

Новые статьи

● Проект 23: Ультразвуковой датчик расстояния HC-SR04. Принцип работы, подключение, пример

В этом эксперименте мы рассмотрим ультразвуковой датчик для измерения расстояния и создадим проект вывода показаний датчика на экран ЖКИ WH1602.

Необходимые компоненты:

Ультразвуковой дальномер HC-SR04 (рис. 23.1) - это помещенные на одну плату приемник и передатчик ультразвукового сигнала. Излучатель генерирует сигнал, который, отразившись от препятствия, попадает на приемник. Измерив время, за которое сигнал проходит до объекта и обратно, можно оценить расстояние. Кроме самих приемника и передатчика, на плате находится еще и необходимая обвязка, чтобы сделать работу с этим датчиком простой и удобной.

Характеристики ультразвукового дальномера HC-SR04:

Измеряемый диапазон - от 2 до 500 см;
. точность - 0,3 см;
. угол обзора - < 15°;
. напряжение питания - 5 В.

Датчик имеет 4 вывода стандарта 2,54 мм:

VCC - питание +5 В;
. Trig (T) - вывод входного сигнала;
. Echo (R) - вывод выходного сигнала;
. GND - земля.

Последовательность действий для получения данных такова:

Подаем импульс продолжительностью 10 мкс на вывод Trig;
. внутри дальномера входной импульс преобразуется в 8 импульсов частотой 40 кГц и посылается вперед через излучатель T;
. дойдя до препятствия, посланные импульсы отражаются и принимаются приемником R, в результате получаем выходной сигнал на выводе Echo;
. непосредственно на стороне контроллера переводим полученный сигнал в расстояние по формуле:

Ширина импульса (мкс) / 58 = дистанция (см);
-- ширина импульса (мкс) / 148 = дистанция (дюйм).

В нашем эксперименте мы создадим звуковую сигнализацию, которая будет включаться при приближении к плате Arduino на расстояние меньше 1 м. Датчик размещен на кронштейне вращающейся сервы и контролирует пространство с углом обзора 180°. Если датчик обнаруживает объект в радиусе 1 м, подается звуковой сигнал на пьзоизлучатель, вращение сервы прекращается. Схема соединения элементов представлена на рис. 23.2.

Рис. 23.2. Схема соединения элементов для звуковой сигнализации

При написании скетча будем использовать библиотеку Servo для работы с сервоприводом и библиотеку Ultrasonic.
Для работы Arduino с датчиком HC-SR04 имеется готовая библиотека - Ultrasonic.
Конструктор Ultrasonic принимает два параметра: номера пинов, к которым подключены выводы Trig и Echo, соответственно:

Ultrasonic ultrasonic(12,13);

Содержимое скетча показано в листинге 23.1.

#include // подключение библиотеки Servo Servo servo1; const int pinServo=8 ; // пин для подключения сервопривода int pos = 0 ; // переменная для хранения позиции сервопривода int dir =1 ; // направление перемещения сервопривода // Выводы для подключения HC-SR04 Trig - 12, Echo - 13 Ultrasonic ultrasonic (12 , 13 ) ; float dist_cm; // переменная для дистанции, см // подключить динамик к pin 9 int speakerPin = 9 ; void setup () { // подключить переменную servo1 к выводу pinServo1 servo1.attach(pinServo1); pinMode(speakerPin, OUTPUT); } void loop () { servo1.write(pos); // поворот сервоприводов на полученный угол delay(15 ); // пауза для ожидания поворота сервоприводов float dist_cm = ultrasonic.Ranging(CM); if (dist_cm<100 && dist_cm>20 ) tone(speakerPin,); // включить пьезозуммер else { tone(speakerPin,0 ); // отключить пьезозуммер pos=pos+dir; // изменение переменной положения сервопривода if (pos==0 || pos==180 ) dir=dir*(-1 ); // изменение направления движения } }
Порядок подключения:

1. Закрепляем датчик расстояния HC-SR04 на сервоприводе.
2. Подключаем датчик HC-SR04, пьезозуммер и сервопривод к плате Arduino по схеме на рис. 23.2.
3. Загружаем в плату Arduino скетч из листинга 23.1.
4. Наблюдаем за циклическим перемещением сервопривода, при попадании объекта в поле зрения датчика HC-SR04 пьезозуммер издает сигнал, сервопривод останавливается, при исчезновении объекта из поля зрения датчика сервопривод возобновляет движение.

Листинги программ

  • макетная плата (breadboard);
  • персональный компьютер со средой разработки Arduino IDE.
  • 1 Принцип действия ультразвукового дальномера HC-SR04

    Действие ультразвукового дальномера HC-SR04 основано на принципе эхолокации. Он излучает звуковые импульсы в пространство и принимает отражённый от препятствия сигнал. По времени распространения звуковой волны к препятствию и обратно определяется расстояние до объекта.

    Запуск звуковой волны начинается с подачи положительного импульса длительностью не менее 10 микросекунд на ножку TRIG дальномера. Как только импульс заканчивается, дальномер излучает в пространство перед собой пачку звуковых импульсов частотой 40 кГц. В это же время на ножке ECHO дальномера появляется логическая единица. Как только датчик улавливает отражённый сигнал, на выводе ECHO появляется логический ноль. По длительности логической единицы на ножке ECHO («Задержка эхо» на рисунке) определяется расстояние до препятствия.

    Диапазон измерения расстояния дальномера HC-SR04 - до 4 метров с разрешением 0,3 см. Угол наблюдения - 30°, эффективный угол - 15°. Ток потребления в режиме ожидания 2 мА, при работе - 15 мА.

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

    Питание ультразвукового дальномера осуществляется напряжением +5 В. Два других вывода подключаются к любым цифровым портам Arduino, мы подключим к 11 и 12.



    3 Получение дистанции до объекта с датчика HC-SR04

    Теперь напишем скетч, определяющий расстояние до препятствия и выводящий его в последовательный порт. Сначала задаём номера выводов TRIG и ECHO - это 12 и 11 пины. Затем объявляем триггер как выход, а эхо - как вход. Инициализируем последовательный порт на скорости 9600 бод. В каждом повторении цикла loop() считываем дистанцию и выводим в порт.

    Const int trigPin = 12; const int echoPin = 11; void setup() { pinMode(trigPin, OUTPUT); // триггер - выходной пин pinMode(echoPin, INPUT); // эхо - входной digitalWrite(trigPin, LOW); Serial.begin(9600); // инициализация послед. порта } void loop() { long distance = getDistance(); // получаем дистанцию с датчика Serial.println(distance); // выводим в последовательный порт delay(100); } // Определение дистанции до объекта в см long getDistance() { long distacne_cm = getEchoTiming() * 1.7 * 0.01; return distacne_cm; } // Определение времени задержки long getEchoTiming() { digitalWrite(trigPin, HIGH); // генерируем 10 мкс импульс запуска delayMicroseconds(10); digitalWrite(trigPin, LOW); // определение на пине echoPin длительности уровня HIGH, мкс: long duration = pulseIn(echoPin, HIGH); return duration; }

    Функция getEchoTiming() генерирует импульс запуска. Она как раз создаёт тот 10-микросекундный импульс, который является триггером для начала излучения дальномером звукового пакета в пространство. Далее она запоминает время от начала передачи звуковой волны до прихода эха.

    Функция getDistance() рассчитывает дистанцию до объекта. Из школьного курса физики мы помним, что расстояние равно скорость умножить на время: S = V×t Скорость звука в воздухе 340 м/сек, время в микросекундах мы знаем (переменная duration ). Чтобы получить время duration в секундах, нужно разделить его на 1 000 000. Так как звук проходит двойное расстояние - до объекта и обратно - нужно ещё разделить результат пополам. Вот и получается, что расстояние до объекта S = 34000 см/сек × duration / 1 000 000 сек / 2 = 1,7 см/сек / 100, что мы и написали в скетче.

    Операцию умножения микроконтроллер выполняет быстрее, чем операцию деления, поэтому :100 я заменил на эквивалентное ×0,01 .

    4 Библиотека для работы с эхолокатором HC-SR04

    Также для работы с ультразвуковым дальномером написано множество библиотек. Например, вот эта библиотека Ultrasonic . Установка библиотеки происходит стандартно: скачать, разархивировать в директорию /libraries/ , которая находится в папке с Arduino IDE. После этого библиотекой можно пользоваться.

    Установив библиотеку, напишем новый скетч.

    #include // подключаем библиотеку Ultrasonic ultrasonic(12, 11); // Trig - 12, Echo - 11 void setup() { Serial.begin(9600); // инициализация послед. порта } void loop() { float dist_cm = ultrasonic.Ranging(CM); // дистанция в см Serial.println(dist_cm); // выводим дистанцию в порт delay(100); }

    Результат его работы тот же - в мониторе последовательного порта выводится дистанция до объекта в сантиметрах.

    Если в скетче написать float dist_cm = ultrasonic.Ranging(INC); - дистанция будет отображаться в дюймах.

    5 Выводы по работе с сонаром HC-SR04

    Итак, мы с вами подключили к Arduino ультразвуковой дальномер HC-SR04 и получили с него данные двумя разными способами: с использованием специальной библиотеки и без.

    Преимущество использования библиотеки в том, что количество кода значительно сокращается и улучшается читаемость программы, вам не приходится вникать в тонкости работы устройства и вы сразу же можете его использовать. Но в этом же кроется и недостаток: вы хуже понимаете, как работает устройство и какие в нём происходят процессы. В любом случае, каким способом пользоваться - решать только вам.

    Приобрести ультразвуковой дальномер по хорошей цене можно

    Сенсорные устройства, преобразующие электрический ток в волны ультразвука, называются ультразвуковые датчики. Их принцип действия аналогичен работе радара, они улавливают цель по отраженному сигналу. Скорость звука – величина постоянная. На основании этого таким датчиком вычисляется расстояние до некоторого объекта, соответствующее диапазону времени между выходом сигнала и его возвращением.

    Устройство и принцип действия

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

    Распространение таких колебаний в газообразных, жидких и твердых средах зависит от параметров самой среды. Скорость передачи колебаний для газов равна 200-1300 метров в секунду, для твердых тел 1500-8000 м/с, для жидких веществ 1100-2000 м/с. Значительно зависит скорость колебаний от давления газа.

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

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

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

    В магнитострикционных излучателях часто применяются сплавы никеля, ферриты. При нахождении ферромагнитного стержня в переменном магнитном поле, он будет разжиматься, и сжиматься с частотой поля. На рисунке показана зависимость изменения (относительного) длины стержня от напряженности поля Н. Так как направление поля не влияет на знак деформации, то частота деформации будет в 2 раза выше частоты возбуждающего поля.

    Чтобы получить значительные механические деформации применяют подмагничивание стержня. Магнитострикционные излучатели действуют в условиях резонанса, если частота поля возбуждения совпадает с колебаниями стержня, определяемыми по формуле:

    Где l — длина стержня, Е — модуль упругости, р - плотность.

    В излучателе на основе пьезоэлемента применяется кварцевая пластина, к которой подключено переменное напряжение U х, образующее электрическое поле по оси Х.

    Обратный эффект состоит в деформации пластины по оси Х. Относительное изменение размера пластины (толщины) равно:
    Δa/a=kUx/a
    Поперечный эффект состоит в деформации пластины по оси У. Относительное изменение толщины пластины равно:
    Δl/l=kUx/a

    Размеры пластины не влияют на величину продольной деформации. Поперечная деформация повышается с увеличением отношения l/а. При разности потенциалов до 2500 вольт имеется прямая зависимость деформации и напряжения. При высоких напряжениях деформация повышается не так интенсивно. Амплитуда колебаний доходит до наибольшего значения, когда частота напряжения и частота колебаний пластины совпадают.

    Частота продольных колебаний вычисляется:

    Модуль упругости определяется по оси Х. Модуль упругости по оси У влияет на частоту поперечных колебаний:

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

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

    Рис 1

    Ультразвуковые датчики в момент времени Т 0 излучают сигнал (некоторый набор импульсов) длительностью ∆t, распространяющийся в среде со звуковой скоростью С. При достижении объекта сигналом, часть его отражается и возвращается в приемник за время Т 1 . Схема электронного устройства, предназначенная для обработки сигнала, определяет расстояние, вычисляя время Т 1 — Т 0 .

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

    Ультразвуковые датчики с одной головкой

    Эта схема обладает значительным недостатком, который заключается в том, что после выдачи сигнала необходимо время для успокоения мембраны для дальнейшей работы на прием отраженного сигнала. Этот период времени называют «мертвым» временем.

    Мертвое время вынуждает ультразвуковые датчики работать в «слепой зоне». Другими словами, когда объект расположен очень близко, то отраженный сигнал возвращается в измерительную головку настолько быстро, что она еще не перестроилась на работу приема, вследствие чего объект не обнаруживается.

    Рис 2

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

    На рисунке 2 изображена схема функционирования датчика непосредственного обнаружения. С помощью импульса запуска схема возбуждения излучателя становится активной. Она формирует некоторый набор импульсов. Тем же импульсом запуска производится блокировка входа усилителя приемника. При отключении излучателя происходит разблокировка приемника.

    Восстановление приемника происходит около 300 мкс. Это намного меньше времени успокоения излучателя. Вследствие этого параметры приемника не оказывают влияния на размер слепой зоны.

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

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

    Схема управления после регистрации первого сигнала отражения задерживает создание следующего пускового импульса. При этом она ожидает вероятного прихода отраженного сигнала от наиболее удаленных объектов в контролируемой зоне.

    Ультразвуковые датчики с двумя головками

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

    Отслеживание порога

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

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

    Это заставляет найти компромисс между точностью измерения, ложной тревоги и чувствительностью обнаружения. На рисунке 3 показан способ отслеживания порога обнаружения.

    Рис 3

    Он заключается в том, что напряжение порога детектора, которое подается на , создается напряжением, изменяемым во времени и копирующим форму «хвоста» набора импульсов, получаемых во время затухания колебаний мембраны.

    Проблема заключается в том, что детектору неизвестно какой по счету из отраженных сигналов превзошел границу порога обнаружения. По рисунку видно, что второй из отраженных сигналов оказался зарегистрированным. Это привело к определению расстояния величиной, превышающей действительную величину в два раза. Такую ситуацию нельзя допускать, поэтому датчики подлежат настройке, во избежание попадания объектов в слепую зону.

    Примерные свойства ультразвуковых датчиков в зависимости от расстояния приводятся в таблице

    Использование способа отслеживания границы чувствительности дало возможность снизить слепую зону в два раза. Но для применения датчиков возле слепой зоны необходима тщательная проработка. Поэтому в свойствах датчика по расстоянию кроме интервала зондирования приведен интервал настройки.

    Интервал зондирования – это интервал расстояния обнаружения, который определяется только возможностями датчика в виде направленности и мощности луча, а также свойствами объекта.

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

    Статья посвящена ультразвуковому датчику расстояния HC–SR04.

    Объясняется принцип его действия, технические характеристики, приведен пример его подключения к Arduino и программы для прошивки микроконтроллера.

    Описание HC-SR04

    Ультразвуковой датчик расстояния - модуль HC-SR04 использует акустическое излучение для определения расстояния до объекта. Этот бесконтактный датчик обеспечивает высокую точность и стабильность измерений. Диапазон измерений составляет: от 2 см до 400 см. На показания датчика практически не влияют солнечное излучение и электромагнитные шумы. Модуль продается в комплекте с трансмиттером и ресивером.

    Технические характеристики HC-SR04

    • Напряжение питания: +5В – постоянный ток;
    • Сила тока покоя: < 2 мА;
    • Рабочая сила тока: 15 мА;
    • Эффективный рабочий угол: < 15°;
    • Расстояние измерений: от 2 см до 400 см (1 – 13 дюймов);
    • Разрешающая способность: 0.3 см;
    • Угол измерений: 30 градусов;
    • Ширина импульса триггера: 10 микросекунд;
    • Размеры: 45 мм x 20 мм x 15 мм.

    Общий вид датчика HC-SR04

    • VCC: +5 вольт (постоянный ток)
    • Trig: Триггер (INPUT)
    • Echo: Эхо (OUTPUT)
    • GND: Земля

    Подключение датчика HC–SR04 к Arduino

    В данном примере ультразвуковой датчик HC–SR04 определяет расстояние и выводит полученные значения в окно серийного монитора в среде Arduino IDE. Проект несложный.

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

    Небольшое примечание: в свободном доступе существует отличная библиотека NewPing , которая еще больше облегчает использование HC–SR04, пример ее использование тоже приведен ниже.

    Схема подключения HC–SR04 к Arduino

    Программа для Arduino

    /*Ультразвуковой датчик расстояния и Arduino – полный гайд

    Распиновка ультразвукового датчика расстояния:

    Trig: Триггер (INPUT) – 11 пин

    Echo: Эхо (OUTPUT) – 12 пин

    int trigPin = 11; //Триггер – зеленый проводник

    int echoPin = 12; //Эхо – желтый проводник

    long duration, cm, inches;

    //Serial Port begin

    Serial.begin (9600);

    //Инициализирум входы и выходы

    pinMode(trigPin, OUTPUT);

    pinMode(echoPin, INPUT);

    // Датчик срабатывает и генерирует импульсы шириной 10 мкс или больше

    // Генерируем короткий LOW импульс, чтобы обеспечить «чистый» импульс HIGH:

    digitalWrite(trigPin, LOW);

    delayMicroseconds(5);

    digitalWrite(trigPin, HIGH);

    delayMicroseconds(10);

    digitalWrite(trigPin, LOW);

    // Считываем данные с ультразвукового датчика: значение HIGH, которое

    // зависит от длительности (в микросекундах) между отправкой

    // акустической волны и ее обратном приеме на эхолокаторе.

    pinMode(echoPin, INPUT);

    duration = pulseIn(echoPin, HIGH);

    // преобразование времени в расстояние

    cm = (duration/2) / 29.1;

    inches = (duration/2) / 74;

    Serial.print(inches);

    Serial.print("in, ");

    Serial.print(cm);

    Serial.print("cm");

    Serial.println();

    #include

    #define TRIGGER_PIN 12

    #define ECHO_PIN 11

    #define MAX_DISTANCE 200

    Serial.begin(9600);

    Serial.print(uS);

    Serial.println(“cm”);

    Использование библиотеки NewPing

    Ниже приведен пример программы с использованием библиотеки NewPing.

    #include

    #define TRIGGER_PIN 12

    #define ECHO_PIN 11

    #define MAX_DISTANCE 200

    NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния.

    Serial.begin(9600);

    unsigned int uS = sonar.ping_cm();

    Serial.print(uS);

    Serial.println(“cm”);

    Необходимые уточнения

    Если HC-SR04 не считывает сигнал эхо, выходной сигнал никогда не преобразуется в LOW. Датчики Devantec и Parallax обеспечивают время задержки 36 миллисекунд 28 миллисекунд соответственно. Если вы используете скетч, приведенный выше, программа «зависнет» на 1 секунду. Поэтому желательно указывать параметр задержки.

    Датчик HC-SR04 плохо работает при измерении расстояний более 10 футов. Время возврата импульса составляет около 20 миллисекунд, так что рекомендуется в таких случаях выставлять время задержки более 20, напрмер, 25 или 30 миллисекунд.

    Можно подключить ультразвуковой датчик расстояния HC-SR04 лишь к одному пину Arduino. Для этого необходимо между пинами Триггера и Эхо установить резистор на 2.2 кОм и подключить к Arduino только пин Триггера.

    Подключение ультразвукового датчика расстояния к Arduino с использованием 1 пина!

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

    // Скетч с библиотекой NewPing, которая может использоваться и для датчика HC-SR04 и для

    //приведенного здесь SRF06 и позволяет подключать ульразвуковые датчики

    // с помощью одного пина на Arduino. Можно дополнительно подключить конденсатор на 0.1 мкФ к пинам Эхо и Триггер на датчике.

    // К Arduino подключается пин Триггер

    #include

    #define PING_PIN 12 // Пин с Arduino подключен к пинам trigger и echo на ультразвуковом датчике расстояния

    #define MAX_DISTANCE 200 // Максимальное расстояние, которое мы контролируем (в сантиметрах). Максимальное расстояние подобных датчиков находится в диапазоне 400-500см.

    NewPing sonar(PING_PIN, PING_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния

    Serial.begin(115200); // Открытие серийного протокола с частотой передачи данных 115200 бит/сек.

    delay(50); // Задержка в 50 миллисекунд между генерацией волн. 29 миллисекунд – минимально допустимая задержка.

    unsigned int uS = sonar.ping(); // Генерация сигнала, получение времени в микросекундах (uS).

    Serial.print("Ping: ");

    Serial.print(uS / US_ROUNDTRIP_CM); // Преобразование времени в расстояние и отображение результата (0 соответствует выходу за допустимый диапазон)

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

    Принцип активации (работы) датчиков при этом может быть любым – индуктивные (приближения), оптические (фотоэлектрические), и т.д.

    В первой части были описаны возможные варианты выходов датчиков. По подключению датчиков с контактами (релейный выход) проблем возникнуть не должно. А по транзисторным и с подключением к контроллеру не всё так просто.

    Схемы подключения датчиков PNP и NPN

    Отличие PNP и NPN датчиков в том, что они коммутируют разные полюсы источника питания. PNP (от слова “Positive”) коммутирует положительный выход источника питания, NPN – отрицательный.

    Ниже для примера даны схемы подключения датчиков с транзисторным выходом. Нагрузка – как правило, это вход контроллера.

    Датчика. Нагрузка (Load) постоянно подключена к “минусу” (0V), подача дискретной “1” (+V) коммутируется транзистором. НО или НЗ датчик – зависит от схемы управления (Main circuit)

    Датчика. Нагрузка (Load) постоянно подключена к “плюсу” (+V). Здесь активный уровень (дискретный “1”) на выходе датчика – низкий (0V), при этом на нагрузку подается питание через открывшийся транзистор.

    Призываю всех не путаться, работа этих схем будет подробно расписана далее.

    На схемах ниже показано в принципе то же самое. Акцент уделён на отличия в схемах PNP и NPN выходов.

    Схемы подключения NPN и PNP выходов датчиков

    На левом рисунке – датчик с выходным транзистором NPN . Коммутируется общий провод, который в данном случае – отрицательный провод источника питания.

    Справа – случай с транзистором PNP на выходе. Этот случай – наиболее частый, так как в современной электронике принято отрицательный провод источника питания делать общим, а входы контроллеров и других регистрирующих устройств активировать положительным потенциалом.

    Как проверить индуктивный датчик?

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

    Замена датчиков

    Как я уже писал, есть принципиально 4 вида датчиков с транзисторным выходом, которые подразделяются по внутреннему устройству и схеме включения:

    • PNP NO
    • PNP NC
    • NPN NO
    • NPN NC

    Все эти типы датчиков можно заменить друг на друга, т.е. они взаимозаменяемы.

    Это реализуется такими способами:

    • Переделка устройства инициации – механически меняется конструкция.
    • Изменение имеющейся схемы включения датчика.
    • Переключение типа выхода датчика (если имеются такие переключатели на корпусе датчика).
    • Перепрограммирование программы – изменение активного уровня данного входа, изменение алгоритма программы.

    Ниже приведён пример, как можно заменить датчик PNP на NPN, изменив схему подключения:

    PNP-NPN схемы взаимозаменяемости. Слева – исходная схема, справа – переделанная.

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

    А что там свежего в группе ВК СамЭлектрик.ру ?

    Подписывайся, и читай статью дальше:

    Итак, схема слева. Предположим, что тип датчика – НО. Тогда (независимо от типа транзистора на выходе), когда датчик не активен, его выходные “контакты” разомкнуты, и ток через них не протекает. Когда датчик активен, контакты замкнуты, со всеми вытекающими последствиями. Точнее, с протекающим током через эти контакты)). Протекающий ток создает падение напряжения на нагрузке.

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

    Если внутренней нагрузки в датчике нет, и коллектор “висит в воздухе”, то это называют “схема с открытым коллектором”. Эта схема работает ТОЛЬКО с подключенной нагрузкой.

    Так вот, в схеме с PNP выходом при активации напряжение (+V) через открытый транзистор поступает на вход контроллера, и он активизируется. Как того же добиться с выходом NPN?

    Бывают ситуации, когда нужного датчика нет под рукой, а станок должен работать “прям щас”.

    Смотрим на изменения в схеме справа. Прежде всего, обеспечен режим работы выходного транзистора датчика. Для этого в схему добавлен дополнительный резистор, его сопротивление обычно порядка 5,1 – 10 кОм. Теперь, когда датчик не активен, через дополнительный резистор напряжение (+V) поступает на вход контроллера, и вход контроллера активизируется. Когда датчик активен – на входе контроллера дискретный “0”, поскольку вход контроллера шунтируется открытым NPN транзистором, и почти весь ток дополнительного резистора проходит через этот транзистор.

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

    Да, не совсем то, что мы хотели, и схемы взаимозаменяемости npn и pnp датчиков не всегда приемлемы.

    Как добиться полного функционала? Способ 1 – механически сдвинуть либо переделать металлическую пластинку (активатор). Либо световой промежуток, если речь идёт об оптическом датчике. Способ 2 – перепрограммировать вход контроллера чтобы дискретный “0” был активным состоянием контроллера, а “1” – пассивным. Если под рукой есть ноутбук, то второй способ и быстрее, и проще.

    Условное обозначение датчика приближения

    На принципиальных схемах индуктивные датчики (датчики приближения) обозначают по разному. Но главное – присутствует квадрат, повёрнутый на 45° и две вертикальные линии в нём. Как на схемах, изображённых ниже.

    НО НЗ датчики. Принципиальные схемы.

    На верхней схеме – нормально открытый (НО) контакт (условно обозначен PNP транзистор). Вторая схема – нормально закрытый, и третья схема – оба контакта в одном корпусе.

    Цветовая маркировка выводов датчиков

    Существует стандартная система маркировки датчиков. Все производители в настоящее время придерживаются её.

    Однако, нелишне перед монтажом убедиться в правильности подключения, обратившись к руководству (инструкции) по подключению. Кроме того, как правило, цвета проводов указаны на самом датчике, если позволяет его размер.

    Вот эта маркировка.

    • Синий (Blue) – Минус питания
    • Коричневый (Brown) – Плюс
    • Чёрный (Black) – Выход
    • Белый (White) – второй выход, или вход управления, надо смотреть инструкцию.

    Система обозначений индуктивных датчиков

    Тип датчика обозначается цифро-буквенным кодом, в котором зашифрованы основные параметры датчика. Ниже приведена система маркировки популярных датчиков Autonics. / Каталог датчиков приближения Omron, pdf, 1.14 MB, скачан:1282 раз./

    / Чем можно заменить датчики ТЕКО, pdf, 179.92 kB, скачан:1032 раз./

    / Датчики фирмы Turck, pdf, 4.13 MB, скачан:1362 раз./

    / Схема включения датчиков по схемам PNP и NPN в программе Splan/ Исходный файл., rar, 2.18 kB, скачан:2216 раз./

    Реальные датчики

    Датчики купить проблематично, товар специфический, и в магазинах электрики такие не продают. Как вариант, их можно купить в Китае, на АлиЭкспрессе.

    А вот какие я встречаю в своей работе.

    Всем спасибо за внимание, жду вопросов по подключению датчиков в комментариях!

    Просмотров