12.07.2010, 19:54
Продолжение проектирование датчиков - 20.08.2004г.
Я достаточно долго экспериментировал с различными
типами "ИК-бамперов" и пришел к тому же
выводу, что и зарубежные любители робототехники: ИК-датчики
несовершенны. На их работу влияет множество факторов
и сделать хороший, качественный датчик весьма непросто,
а иногда даже дороговато. Конечно, «у них» можно купить
датчик расстояния SHARP и использовать его без каких-либо
доработок – он показывает расстояние до объекта и
этого достаточно для робота. Поэтому в разработках
используется сразу несколько видов датчиков, а именно:
ИК-датчик в качестве «бампера», ультразвуковой сонар
для определения дальних расстояний и датчик поворота
колеса (encoder) для определения пройденного расстояния.
По большому счету, достаточно датчика поворота колеса.
Если робот «уткнулся» в какой-либо предмет, колеса
перестанут вращаться с нужной скоростью (программа
может сделать вывод, что робот дальше идти не может),
и нужно искать другой путь.
С датчиками поворота колеса (оси) я еще не начал экспериментировать,
поэтому хочу предложить идею – достаточно простой
и совсем недорогой ИК-бампер.
Вот схема:
Краткое описание: ИК- светодиод светится постоянно.
ИК- фототранзистор подключен ко входу компаратора.
Отрегулировав подстроечным резистором напряжение на
положительном входе компаратора, можно добиться того,
что датчик будет срабатывать при приближении к препятствию.
НО! На работу схемы влияют множество внешних факторов.
Чтобы обойти эту проблему я использовал все компараторы,
которые находятся в одной микросхеме LM339. Теперь
падение напряжения на ИК-фототранзисторе оценивают
4 компаратора, с разным напряжением сравнения. В итоге
схема может достаточно гибко реагировать на окружающую
среду и различные виды препятствий.
Осталось мелочь- запрограммировать микроконтроллер
таким образом, чтобы он «расшифровывал» сигналы с
этого датчика.
Одну проблему я пока не решил- фототранзистор очень
сильно реагирует на обычный дневной свет. Видимо,
нужно найти красное оргстекло (как в телевизорах)
и закрыть им приёмник. Ну и следующим этапом должно
быть подключение генератора, я уже купил микросхемы
NE555 (они стоят копейки, за поездку на маршрутке
можно купить 2 штуки) - посмотрим, какая будет реакция
на импульсный источник ИК-излучения. Я использовал
подстроечные резисторы, но, естественно, в будущем
нужно будет заменить их на постоянные. Ещё одна идея-
построить 6 или 8 каналов и сделать более плотную
сетку опорного напряжения- от 1 до 4,5В. Также можно
использовать какой-нибудь селектор-мультиплексор для
увеличения количества датчиков.
Вот, сделал попытку собрать массив датчиков.
Схема:
Номиналы я не ставлю, потому что пока экспериментирую и практически везде стоят
подстроечные.
Плата датчиков подключается к плате МК. Программно генерируются импульсы, отслеживаются
ответы. Я пробовал разные алгоритмы, пока остановился на том. что программа
выдает пачки по 8 импульсов с паузой, количество пачек- 10, потом переходит
к следующему датчику, и так по кругу. По моим расчётам, это занимает много
времени и скорее всего придется или ставить отдельный МК на работу с датчиками,
или ставить другие схемы- генератор (555) + сдвиговый регистр + логические элементы+буферный
элементы (240) вместо транзисторов, может даже шифратор. С ноги МК можно снять
синхронизирующие импульсы.
|