Тахометр. Пример работы с фоторезистором и LCD дисплеем HD44780 на arduino


32:20 - Алгоритмы прошивок 16 и 18
36:50 - Переменные для прошивок
40:40 - Наводки на датчик Холла

После того, как мы с вами собрали и проверили регулятор описанный здесь: https://shenrok.blog...t=1489156293398
Мы можем приступать к установке прошивок, которые будут поддерживать заданные обороты. Но сначала давайте остановимся на вопросе датчика Холла.
Заменить тахогенератор на датчик Холла совсем не сложно. Я подробно рассказываю об этом в видео на 5:48. Но какой, же поставить? Нам необходим цифровой датчик Холла, желательно биполярный. Так как он будет выдавать в 2 раза больше сигналов. А это очень важно для малых оборотов. Вот такой стоит в моём двигателе SS 441 .

Рассмотрим PID_12:
В самом начале скетча у нас имеются строки, в которые мы должны внести нужные нам значения:

int obMax = 6000; //ввести максимальные обороты

float kImp = 120; //ввести кол-во импульсов на 10 оборотов

В первой строке мы вводим число максимальных оборотов, которые нам необходимы. Во второй - минимальные. В третью строку ставим число импульсов нашего датчика за 10 оборотов вала. В четвёртой строке нужно ввести число, которое будет ограничивать ток минимальных оборотов. Оно будет зависеть от количества минимальных оборотов и прилагаемых нагрузок. И в пятой – число, при котором двигатель начинает вращение на прошивке №6 (мы с вами обращали на это внимание).
Дальше самое ответственное дело. Нужно настроить (подобрать) коэффициенты ПИД регулятора. Они находятся в 19ой строке скетча:
PID myPID(&Input, &Output, &Setpoint, 0.01 , 0.2 , 0 , DIRECT);

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

Рассмотрим _16:
Основные переменные скетча те же, что и в ПИД регуляторе:

int obMin = 200; //ввести минимальные обороты


int minzn = 115; // минимальное значение симмистора на котором начинается вращение.
int ogrmin = 70 ; // ограничение симистора на минимальных оборотах.
int mindimming = 80; //значение симистора при закллинившем станке (первоначальный импульс)

И устанавливаются они так-же. Но добавилось 2 значения. Это значение симистора при заклинившем станке (первоначальный импульс) Оно подбирается так. На прошивке №6 даём на вал небольшую нагрузку, минимальную, лишь бы вал был не в холостую. И начинаем вращать регулятор. Необходимо заметить число, при котором вал начнёт вращаться. Это значение нам необходимо чтоб придать первоначальный импульс нашему станку. Число весьма условно и позволяет некоторые допуски. И основная переменная которая потребует настройки и подбора это допуск оборотов в минус и плюс . Она означает в каких пределах обороты нашего двигателя будут стабилизироваться. Находим минимальное значение, при котором двигатель будет вращаться без рывков и в холостую, и под нагрузкой на разных оборотах. Данная прошивка уже обеспечивает хорошую стабилизацию оборотов в заданных пределах и возможно этого уже будет достаточно. Если же необходима точная стабилизация оборотов, то переходим к следующей пошивке.

Рассмотрим _18:

Все значения переносим из предыдущей прошивки:

int obMin = 200; //ввести минимальные обороты
int obMax = 9000; //ввести максимальные обороты
int kImp = 120; //ввести кол-во импульсов на 10 оборотов
int minzn = 115; // минимальное значение симмистора на котором начинается вращение.
int ogrmin = 70 ; // ограничение симистора на минимальных оборотах.
int mindimming = 80; //значение симистора при заклинившем станке (первоначальный импульс)
int dopusk = 200 ; //допуск оборотов в минус и плюс
int razgon = 50; //переменная разгона 1 - 100

Добавилось только значение разгона, или плавности. При значении 1 стабилизация происходит плавно, при увеличении значения разгон более жесткий. Верхняя граница очень большая, но после 100 (в моём случае) уже изменений нет.

Параллельная разработка: http://www.motor-r.i...og-page_19.html

Вариант регулятора на чипмейкере:

Много вопросов по деталям, где заказать. Заказал комплект себе, делюсь с вами.

И заказал блок релюшек для реверса и защиты. Будем дополнять.

Исходя из ваших вопросов, статья будет дополняться. Так что спрашиваем.

Итак, давайте продолжим настройку и доработку нашего регулятора оборотов с обратной связью.
Начало здесь:
1 Идея и отработка
2 ПИД регулятор
3 Сборка регулятора, пошаговая инструкция
4 Вопросы –ответы, советы, алгоритм работы
5 Настройка допуска, избавление от рывков связанных с переполнением, тумблер на 2 скорости, реле для защиты от пробоя симистора.

Те, кто уже сделал данный регулятор, столкнулись с проблемой, очень трудно подобрать переменную допуск. Методом перебора долго и неудобно. И оказалось, что допуск на малых и больших оборотах может отличаться. Поэтому была написана прошивка, помогающая за один раз очень точно подобрать это значение и на минимальных и на максимальных оборотах.
Для этого нам необходимо временно припаять переменное сопротивление на 10 кОм центральным контактом на контакт А3, нашей ардуинки. Крайние контакты сопротивления, как и всегда, припаиваем на + и -.
Теперь после заливки прошивки nastroyka_dopuska , в которую мы предварительно внесём все переменные, касающиеся нашего станка или двигателя. Основными будут минимальные и максимальные обороты, которые нужны на станке, а так же количество импульсов на 10 оборотов шпинделя.
Подбираем допуск, так как показано в видео. После этого можем вносить полученные данные в прошивку 18 и пользоваться. В этой прошивке улучшено отображение на дисплее. Так как вы и просили.
Прошивки: https://drive.google...iew?usp=sharing


Следующей проблемой у нас было то, что на определённых оборотах двигателя происходили «рывки». Чтобы понять причину, была сделана прошивка, которая отсылала в компьютер значение переменной tic. Это количество тактов которое проходит между сигналами с датчика Холла. Данные отображались в программе SerialPortPlotter в графическом виде.




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

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


На контакты GND подаём минус, VCC подаём плюс 5вольт, IN3 и IN4 подключаем к контакту А1 ардуинки, это для реверса, а IN2 к контакту А2. Этот контакт и будет отвечать за отключение силовой платы. Заливаем прошивку proverka_rele , и наши релюшки должны поочерёдно включаться на 1 сек и выключаться. Две спаренные и одна отдельно. Если всё работает верно, то можно провод который идёт к силовой плате пускать через это одинарное реле, заливать прошивку roos_zashita_1 и пользоваться регулятором. Здесь устранены рывки и реализована защита.

Так же мы можем сразу установить и подключить тумблер для реверса на 3 положения и тумблер который будет делить наш диапазон скорости так, как мы захотим. Для своего станочка я сделал первую скорость для точения, от 100об\мин до 2000об\мин, а вторую для шлифовки от 1500об\мин до 5000об\мин. Подключаем их по такой схеме:

Для проверки заливаем скетч proverka_tumblerov и при смене положения тумблеров, будут меняться числа на экране. Если изменения происходят, то можно заливать прошивку roos_zashita_2skorosti и пользоваться.

Не забываем, что на всех прошивках необходимо вносить нужные вам значения.
Прошивки:
Печатка ---- с двумя реле для реверса и торможения https://wdfiles.ru/dr8k

Печатка ---- с СМД компонентами и импульсным блоком питания для корпуса D6MG https://drive.google...T0JOd2pFZjI3SmM

Для релюшек 12в перемычку перекинуть на метку 12
Для релюшек 5в уже стоит на метке 5
Диоды на релюшках припаивать прямо на плату со стороны проводников.
Для плат с ULN2003 диоды на реле не нужны.

Список деталей меняется в зависимости от выбранной вами печатки.

резистор 10к 0.25W-2шт
резистор 4.7к 0,25W-1шт
резистор 2к 0,25W-1шт
резистор 470 0,25W-1шт
резистор 100 2W-1шт
резистор 360 0.25w-2шт
резистор 5к 0.25W-1шт (кнопка реверс)
подстроечный резистор 10к-1шт (для LCD дисплея)
переменный резистор 10к-1шт (крутилка оборотов)
подстроечный резистор 10к (на ногу А3)
диод RL205 1шт
конденсатор 100n 600V-1шт С4
конденсатор 0.05мф -1шт С3
симистор BTA24-600 (BTA16-600) На радиаторе
PC817C-1шт
MOC3021-1шт (MOC3023)
L7805CV-1шт
диодный мост что б такой как на плате GBL04-E3/51 (KBL04), Диодный мост 4А 400В
клеммники на плату - двойных - 7шт,
реле JS1-12V 2шт можно 5в
электролитические конденсаторы 100 мкф *25в -2шт (С1 и С2)
микросхема ULN2003A - 1шт

трансформатор - какой найдешь (1,5-3Вт)
переключатель трех позиционный - 1шт
панелька для Ардуинки -1шт

Есть на плате, нет в списке
резистор на схеме под ардуинкой - 10k (он со стороны дорожек или без разницы?) На плате со стороны проводников но можно поставить и сверху. И он нужен для тех кто будет делить диапазон регулировки оборотов на два поддиапазона.
диоды с обратной стороны платы к реле - какие? ответ- любые какие будут можно RL205
транзисторы ВС 550 - 2 шт транзисторы тоже любые с обр. эмит. можно кт 315 или кт3102

Вариант схемы
Скоректированный вариант схемы

Прикрепленные изображения




Сообщение отредактировал orio55: 01 May 2017 - 20:05

Тахометр – это полезный инструмент для подсчета RPM (оборотов в минуту) колеса или всего, что крутится. Самый простой способ сделать тахометр – это использовать ИК передатчик и приемник. Когда связь между ними прерывается, вы знаете, что что-то вращается и можете применять код для вычисления RPM, ориентируясь на частоту прерывания связи.

В этой статье мы рассмотрим, как использовать ИК-передатчик и приемник для изготовления тахометра с применением Arduino. Результат отображается на ЖК-дисплее 16х2.

Целью данного проекта является создание системы с одним входом и одним выходом. На входе устройства присутствует сигнал, изменяющийся с высокого (+5В) на низкий (+0В) уровень при нарушении связи. Согласно этому сигналу, Arduino будет увеличивать значение внутреннего счетчика. Потом проводиться дополнительная обработка и расчет, и по прерыванию триггера на ЖК-дисплей будет выводиться рассчитанное RPM.

Для связи мы будем использовать ИК-луч от ИК-светодиода, включенного через низкоомный резистор так, чтобы светиться ярко. В качестве приёмника мы будем использовать фототранзистор, который при отсутствии света ИК-светодиода "закрывается". Компьютерный вентилятор будет размешен между ИК-передатчиком и приёмником и включен. ИК-приёмник включенный через транзисторную схему, будет генерировать прерывания. Для вывода результата будет использоваться Arduino LCD интерфейс, поэтому мы можем вывести окончательное значение RPM на ЖК-дисплей.

Элементы:

Макетная плата

Подстроечный резистор 5 кОм

Перемычки

SIP разъёмы

2x 2N2222 NPN транзистор

Инфракрасный светодиод

Фототранзистор

Резистор 10 Ом

Резистор 100 кОм

Резистор 15 кОм или 16 кОм

Компьютерный вентилятор

Подробный список элементов

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

Arduino UNO

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

ЖК-дисплей 16×2

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

Подстроечный резистор 5 кОм

Этот подстроечный резистор будет использоваться для регулировки контрастности ЖК-дисплея 16×2. Он дает аналоговое напряжение в диапазоне от 0 до +5В, позволяя настроить яркость ЖК-дисплея.

Инфракрасный светодиод и Фототранзистор

Фототранзистор открывается, когда мощный ИК-свет падает на него. Поэтому, когда ИК-светодиод горит, он держит фототранзистор открытым, но если ИК-светодиод закрывается например, лопастью вентилятора, то фототранзистор закрывается.

2N3904 и 2N3906

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

Принципиальная схема


В схеме, интерфейс связи с ЖК-дисплеем упрощен и имеет только 2 линии управления и 4 линии передачи данных.

Особенности схемы

Интерфейс ЖК-дисплея 16×2

2 управляющих контакта и 4 для передачи данных подключены от Arduino к ЖК-дисплею. Это то, что указывает ЖК-дисплею, что и когда делать.

Схема обрыва ИК-луча

Сигнал обрыва ИК-луча идет на 2-ой цифровой контакт Arduino. Это прерывает Arduino, что позволяет ему засчитать импульс и позволяет тахометру получать данные.

Arduino LCD библиотека

Для этого проекта мы будем использовать Arduino LCD библиотеку. В основном мы будем просто обновлять значение RPM на второй строке на новое.

В качестве подготовки, посмотрите на код приведенный ниже, в котором при помощи этой библиотеки на ЖК-дисплей выводиться "Hello, World!" В тахометре мы будем использовать похожий код, особенно: "lcd.print(millis()/1000);".


Разберитесь в функциях этой ЖК-библиотеки как можно подробнее, прежде чем двигаться дальше. Она не слишком сложна и хорошо документирована на сайте Arduino .

Подсчет RPM при помощи Arduino

Так как мы собираемся подсчитать RPM компьютерного вентилятора, мы должны понимать, что для подсчета мы используем прерывание ИК-луча. Это очень удобно, но мы должны учитывать, что у компьютерного вентилятора 7 лопастей. Это значит, 7 прерываний равно 1 обороту.

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

Время 1-го оборота = P * (µS/оборот)

RPM = кол-во оборотов/мин = 60 000 000 * (µS/мин) * (1/P) = (60 000 000 / P) * (кол-во оборотов/мин)

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

Сборка схемы

На фотографии ниже вы можете увидеть все необходимые детали и перемычки как на схеме.


Для начала подключается +5В и линии данных/управления ЖК-дисплея. Затем ЖК-дисплей, потенциометр контрастности и светодиод питания.


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


Хватит разговоров о аппаратной части! Давайте начнем делать прошивку/программу, чтобы увидеть работу устройства!

Программная часть

Есть две основных части кода, которые показаны и подробно описаны ниже:

Основной цикл обновления ЖК-дисплея

Обновление времени прерываний

В основном цикле считаются обороты и обновления ЖК-дисплея. Поскольку основной цикл это гигантский while(1) цикл, то он будет работать всегда, RPM считаться, а ЖК-дисплей обновляться несколько раз в секунду. Функция в прерывании подсчитывает время между прерываниями ИК, поэтому считать RPM можно в основном цикле.

Помните, что компьютерный вентилятор имеет 7 лопастей, так что это тахометр предназначен для работы только с такими вентиляторами. Если ваш вентилятор или другое устройство дает только 4 импульса за оборот, измените в коде "(time*4)".

Вот демонстрационное видео, как работает тахометр.

Два вентилятора работают на примерно 3000 оборотов в минуту и ​​2600 оборотов в минуту, с погрешностью около + / -100 оборотов в минуту.

Обзор тахометра на Arduino

Вентилятор генерирует импульсы прерывания, а на выходе мы видим RPM. Хотя точность не 100%, а примерно 95%, при стоимости элементов 10$ есть смысл построить этот тахометр на Arduino.

Что теперь делать?

Системы на основе обрыва луча полезны не только при измерении RPM, но и в качестве других датчиков. Например, вы хотите знать, открыта дверь или закрыта. Возможно, вы хотите знать, не проходило-ли что то под роботом. Есть много применений обрыва луча, а схема используемая тут настолько проста, что есть много путей для улучшения и сборки других удивительных устройств.

Заключение

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

Оригинал статьи на английском языке (перевод: Александр Касьянов для сайта cxem.net)

Модуль датчика оборотов двигателя предназначен главным образом для определения скорости вращения вала электродвигателя. Этот модуль в совокупности с микроконтроллером может определять помимо скорости также количество импульсов и положение вала.



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


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


Схема


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


Далее идет микросхема сдвоенного компаратора LM393 (IC1), настроенная в качестве простого триггера Шмита. Зелёный светодиод (LED1) показывает наличие приложенного к схеме напряжения, а красный светодиод (LED2) контролирует выход модуля датчика скорости двигателя. Рекомендуемое рабочее напряжение модуля составляет от 4.5 до 5.5 В.




Обратите внимание, что резистор R1 (180 Ом) используется здесь для ограничения рабочего тока светодиода внутри оптического датчика OS25B10 (OC1). При необходимости вы можете изменить его номинал для вашего прототипа. Также вы можете подкорректировать значение резистора R2 (10 КОм) для получения необходимого напряжения для вашей схемы. Резистор R7 (10 КОм) является опциональным подтягивающим резистором.


Энкодерный диск


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


Тахометр представляет собой устройство, которое используется для измерения количества оборотов объекта в заданном интервале времени. Обычно значение выражается в оборотах в минуту или об/мин. Ранее тахометры были чисто механическими устройствами, в которых вращение передавалось в тахометр через механическое соединение (трос или вал), количество оборотов в минуту определялось с помощью зубчатой передачи и отображалось на круговой шкале. После прихода современной электроники тахометры очень сильно изменились. Данная статья описывает бесконтактный цифровой тахометр на базе Arduino. Скорость двигателя также может контролироваться с помощью аналогичной схемы. Количество оборотов в минуту и другая информация отображается на жидкокристаллическом дисплее размером 16×2. Электрическая схема цифрового тахометра на базе Arduino показана ниже.

Электрическая схема


Датчик оборотов в минуту
Инфракрасный фототранзистор и инфракрасный светодиод образуют датчик. Инфракрасный фототранзистор – это тип фототранзистора, который реагирует только на инфракрасные волны. Использование инфракрасного фототранзистора позволяет избежать влияния других интерференций света из окружающей среды. Фототранзистор и инфракрасный светодиод расположены параллельно. Резистор R2 ограничивает ток через инфракрасный диод. Отражательная направляющая лента приклеена на вращающийся объект (вал, диск или вентилятор) на одной линии с датчиком. Я использовал охлаждающий вентилятор с напряжением питания 9В/100мА. Зазор между датчиком и отражательной направляющей лентой должен не превышать 1см. Когда отражательная направляющая лента проходит перед датчиком, инфракрасные волны отражаются назад к фототранзистору. Фототранзистор проводит больше в данный момент и в результате напряжение через R3(68K резистор) стремительно поднимается. Результатом будет сигнал, форма которого показана ниже на эмиттере фототранзистора. Количество оборотов в минуту может быть определено путем вычисления количества восходящих импульсов в заданный интервал времени.


Вычисление количества оборотов в минуту
Arduino используется для вычисления величины оборотов в минуту и отображения этой величины на жидкокристаллическом дисплее. Эмиттер фототранзистора соединен с выводом Interrupt 0 (цифровой вывод 2) Arduino. Прерывание Arduino конфигурируется по инициируемому нарастающему фронту. В результате обрабатывается прерывание для каждого восходящего импульса в форме сигнала эмиттера. Количество полученных прерываний в заданное время вычисляется по приращению переменной, посредством программы обслуживания прерываний. Время, прошедшее в течение вычислительного цикла, определяется с помощью функции millis(). Функция millis() возвращает количество мили секунд, прошедших после включения платы Arduino. Вызов функции millis() до и после вычислительного цикла и вычисление их разницы дает время, прошедшее в течение вычислительного цикла. Величина (количество прерываний/раз в миллисекунду)*60000 определит количество оборотов в минуту (об/мин).

Контроль скорости двигателя
Устройство для контроля скорости двигателя с помощью потенциометра также включено в схему. Транзистор Q1 используется для управления двигателем. Его база подсоединена к ШИМ выводу 9 Arduino через токоограничивающий резистор R1. Движок потенциометра контроля скорости R4 подсоединен к аналоговому выводу A0 Arduino. Напряжение на этом выводе преобразуется в значение между 0 и 1023 посредством функции anlogRead. Затем это значение делится на четыре, чтобы попасть в диапазон от 0 до 255. После этого данное значение записывается в ШИМ вывод 9 с помощью функции anlogWrite. В результате на выводе 9 будет прямоугольная волна, чей коэффициент заполнения пропорционален величине, записанной с помощью функции analogWrite. Например, если величина равна 255, коэффициент заполнения будет 100%, а если величина равна 127, коэффициент заполнения будет около 50%. D1 – это обратный диод, а C1 – это шумоподавляющий конденсатор (декаплер). Количество оборотов в минуту и коэффициент заполнения отображаются на экране жидкокристаллического дисплея с помощью стандартной библиотеки LiquidCrystal. Прочтите вот эту статью: Интерфейсный жидкокристаллический дисплей для Arduino. Полный программный код для цифрового тахометра на базе Arduino показан ниже.

Программный код
#include LiquidCrystal lcd(12,11,6,5,4,3); int pwm=9; int pot=A0; float value=0; int percent; float rev=0; int rpm; int oldtime=0; int time; void isr() //interrupt service routine { rev++; } void setup() { lcd.begin(16,2); //initialize LCD attachInterrupt(0,isr,RISING); //attaching the interrupt } void loop() { delay(1000); detachInterrupt(0); //detaches the interrupt time=millis()-oldtime; //finds the time rpm=(rev/time)*60000; //calculates rpm oldtime=millis(); //saves the current time rev=0; value=analogRead(pot); //reads the speed control POT value=value/4; analogWrite(pwm,value); //sets the desired speed percent=(value/255)*100; //finds the duty cycle % lcd.clear(); lcd.setCursor(0,0); lcd.print("___TACHOMETER___"); lcd.setCursor(0,1); lcd.print(rpm); lcd.print(" RPM"); lcd.print(" "); lcd.print(percent); lcd.print("%"); attachInterrupt(0,isr,RISING); }
Примечания
На плату Arduino можно подать напряжение питания 9В через внешнее гнездо питания.
Напряжение 5В, необходимое для некоторых компонентов схемы, может быть подано от 5В источника на плате Arduino.
Используемый вентилятор использует напряжение 9В/100мА. Транзистор 2N2222 может выдержать ток только до 800мА. Помните об этом при выборе нагрузки.
Используемый жидкокристаллический дисплей - JHD162A.
Потенциометр R5 может использоваться для регулировки контрастности жидкокристаллического дисплея. При его подсоединении на дисплее не будет ничего отображаться. Выполните регулировку R5, пока на дисплее не появится изображение. Оптимальное напряжение на движке потенциометра R5 находится в пределах от 0.4 до 1В.
Инфракрасный фототранзистор и инфракрасный диод были вынуты из фото прерывающего модуля LTH-1550.
Боковую поверхность фототранзистора необходимо закрыть с помощью изоленты.
Положение датчика показано на рисунке ниже.