Инфракрасные фотопрерыватели KTIR0811S и QRD1114

Дата публикации: Apr 29, 2013 8:21:24 PM

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

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

Первым фототпрерывателем, на который я положил глаз, стал QRD1114 от FAIRCHILD. В промэлектронике я QRD1114 не нашел. Нашел в одном из интернет магазинов за 40р.

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

После успешного применения QRD1114, я решил поискать что-нибудь подешевле. Всё-таки 40р за оптопару как-то дороговато... Внимательно порывшись в промэлектронике я таки нашел сносный аналог - KTIR0811S. (На картинке изображена безногая серия 0711) Как всегда, обычная и оптовая цена датчика в промэлектронике различаются в разы: розничная - 19р (до 50шт), оптовая 9р!

KTIR0811S примерно в восемь раз меньше QRD1114 - он просто крошечный. Учитывая что датчик планируется монтировать на миниатюрную платку для дальнейшей установки на робота, мелкий размер не играет большой роли.

Подключение датчика

ИК светодиод подключаем по обычной схеме через резистор R1. На схеме выводы светодиода обозначены LedC (катод, -) и LedA (анод, +). Что касается фототранзистора, то схема его подключения не намного сложнее: эмиттер (GateE) соединяем с землей, а коллектор (GateC) одновременно к аналоговому входу Arduino и через резистор R2 к плюсу питания.

Номинал R1 рассчитывается так же, как для схемы с обычным светодиодом. Например, для KTIR0811S, при напряжении питания Vin = 5В можно поставить резистор 200Ом, а при Vin = 3.3В - 100Ом. Что касается резистора R2, то я пробовал и 10КОм и 47КОм - особой разницы нет. Следует также помнить, что с повышением номинала резистора R2 увеличивается время реакции фототранзистора, что может быть критичным в случае использования фотопрерывателя в составе энкодера. 

Ниже представлены фотографии стендов с двумя указанными датчиками (от них исходит фиолетовое свечение). Разница в размерах очевидна.

   

Тестовая программа до безобразия проста:

Тест фотопрерывателей на Arduino

int sensorPin = A0;

int sensorValue = 0;

void setup() {

  Serial.begin(9600);

}

void loop() {

  sensorValue = analogRead(sensorPin);

  Serial.println(sensorValue);

  delay(0.1);          

}

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

  

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

Не вдаваясь в подробности устройства робота-следопыта (об этом я напишу отдельно), приведу видео-ролик его работы. Данный конкретный экземпляр был запрограммирован нашими учениками в рамках начального курса робототехники.