Бесконтактные концевые выключатели с принтеров и Arduino

Те, кто хоть раз разбирал принтер или сканер, наверняка обращали внимание на концевые выключатели.

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

Разные виды концевых выключателей показаны на фотографии ниже:

Бесконтактные концевые выключатели с принтеров

Некоторые из них установлены в пластиковые корпуса и, соответственно, отлично подойдут для проектов на Arduino.

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

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

Светодиод слева и фототранзистор справа:

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

Контакты концевых выключателей

Для того, чтобы использовать оптический концевой выключатель в вашем будущем проекте, надо определиться с его контактами. На плате выведено три контакта: Vcc (питание), Gnd (земля) и Sig (сигнал). Vcc подключается к аноду светодиода (+), Sig подключается к коллектору фототранзистора (+), а Gnd подключается к двум контактам: катоду светодиода и эмиттеру фототранзистора.

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

Контакты концевых выключателей

Светодиод расположен справа, а фототранзистор слева. Катод условно обозначен буквой К.

Контакты концевых выключателей 2

Если вам достался концевой выключатель, который просто установлен в пластиковом корпусе, без распаянной монтажной платы, придется определить светодиод, а где фотодиод с помощью мультиметра. Для этого надо найти контакт, который идет одновременно и к светодиоду и к фототранзистору. Это будет контакт Gnd. Контакт на светодиоде, который не подключен к другому контакту (не Gnd) является сигналом. Обычно фотодиод затемнен или вообще черный. Последний оставшийся контакт будет Vcc, который идет к аноду светодиода.

Контакты концевых выключателей 3

Бесконтактный концевой выключатель и Arduino

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

Бесконтактный концевой выключатель и Arduino

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

Бесконтактный концевой выключатель и Arduino 1

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

#define ENDSTOP_PIN 2 // какой пин мы используем?

void setup()

{

pinMode(ENDSTOP_PIN, INPUT);

Serial.begin(9600);

Serial.println(“Starting opto endstop exerciser.”);

}

void loop()

{

if (digitalRead(ENDSTOP_PIN))

{

if (0)

Serial.println(“open.”);

else

Serial.println(“blocked.”);

}

else

{

Serial.println(“open.”);

}

delay(500);

}

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!