Интернет-лаборатория роботов ZiZiBOT.RU

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

г. Юрга,
ул.Ленинградская 38/83

+7 923-503-6074

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



(в статье использованы материалы из книги М.Момота «Мобильные роботы на базе Arduino»)
Сегодня рассмотрим классическую задачу, решаемую при движении робота, это следование по черной линии. Вернее даже не саму задачу, следования, а датчики, которые могут быть использованы для её решения.
Касаться проприетарных конструкторов не будем по идейным соображениям, а для arduino проектов обычно используется датчик черной линии на паре светодиод-фототранзистор. Светодиод освещает поверхность под датчиком, а фототранзистор воспринимает величину отраженного света. При этом логично предположить, что отражение от темной поверхности будет значительно меньше, что и покажет сигнал, снимаемый с фототранзистора.
 
Рисунок 1. TCRT 5000
При использовании с контроллером Arduino это подразумевает задействование внутреннего аналого-цифрового преобразования и одного из PIN A0-A7. Схемы подключения могут выглядеть следующим образом:
 

Рисунок 2. TCRT 5000 (внешний источник опорного напряжения)
 

Рисунок 3. TCRT 5000 (внутренний источник опорного напряжения)
При использовании схемы (рис.3) требуется программно включить внутренний источник опорного напряжения на pin Arduino. Для этого pin следует сначала перевести в состояние входа, а затем произвести в него запись высокого уровня сигнала:
 

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

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

Рисунок 5. Использование 4-х TCRT 5000  для движения по линии
Но, схема приведенная на рисунке 5 работает недостаточно точно, иногда дает сбои, по разному реагирует на различные поверхности. Это привело к тому, что дома наш робот вел себя нормально и отлично следовал по линии, а на соревнованиях (использовалась другая поверхность) отказался узнавать линию.
Я решил сконструировать датчик, который использует только один аналоговый вход Arduino контроллера, но несколько сенсоров, также я решил отказаться от TCRT 5000 в пользу простейших фоторезисторов, несмотря на их низкое быстродействие (несколько килогерц) они более предсказуемы.
Первое, что пришло мне в голову, это параллельный аналоговый сумматор на операционном усилителе.
 

Рисунок 6. Датчик линии на ОУ и фоторезисторах
Но я неправильно собрал схему, забыв, что питание ОУ должно быть двухполюсное, а земля находится посередине между + и – питания. Пока я с этим разбирался, в голову пришла элементарная схема (рис.7) . Устанавливаем два фоторезистора на бампере робота, один справа, другой слева, примерно на расстоянии в ширину линии. Теперь, если освещенность фоторезисторов одинаковая, их сопротивление совпадает и на выходе будет половина от напряжения питания, если же освещенность отличается, сопротивление фоторезисторов не совпадает и уровень сигнального выходного напряжения смещается в большую или меньшую сторону (если менее освещен ф.резистор подключенный к 5v, напряжение становится меньше половины питания, если менее освещен ф.резистор подключенный к земле, выходное  напряжение становиться больше половины напряжения питания) и чем больше эта разница, тем выше отклонение.
 

Рисунок 7. Элементарный датчик линии на фоторезисторах
Собрав и протестировав схему, я убедился в ее отличной работоспособности, а затем модернизировал ее, введя дополнительные фоторезисторы (на большем расстоянии от центра бампера), при этом на фоторезисторы, которые ближе к центру бампера я посадил дополнительные резисторы, уменьшив их влияние на конечный результат.
 

Рисунок 8. Составной датчик линии на 4х фоторезисторах

 

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

 

X

Написать сообщение:

Укажите свой номер телефона И e-mail для обратной связи
- e-mail
И
- номер телефона

Текст сообщения: