Робот, избегающий кромок, очень похож на мой предыдущий проект «Робот-следопыт». Этот робот на базе микроконтроллера 8051 обнаруживает кромку и избегает ее, поворачиваясь или останавливаясь. Давайте посмотрим, как легко спроектировать робота, избегающего кромок.
Концепция робота Edge Avoider
Концепция робота Edge Avoider такая же, как у следящего за линией. В этих типах роботов мы обычно используем поведение света на черно-белой поверхности. Когда свет падает на белую поверхность, он почти полностью отражается, а в случае черной поверхности свет поглощается черной поверхностью. Такое поведение света используется в роботах-следователях линии, а также в роботах-обходчиках.
Здесь мы использовали ИК-передатчик и приемник, также называемые фотодиодами, которые используются для передачи и приема света. ИК передает инфракрасный свет. Когда инфракрасные лучи падают на любую поверхность, кроме черных или очень темных поверхностей, они отражаются и улавливаются фотодиодом, вызывая некоторые изменения напряжения. Когда инфракрасный свет падает на черную поверхность, свет поглощается черной поверхностью, и лучи не отражаются, в результате фотодиод не получает свет или лучи.
Здесь, в этом роботе Edge Avoider, когда датчик обнаруживает белую поверхность, микроконтроллер получает 0 на входе, а когда контролер черной линии получает 1 на входе.
Принципиальная схема и объяснение работы
Мы можем разделить проект Edge Avoider Robot на три разных раздела: сенсорный, управляющий и драйверный.
Секция датчиков: Эта секция содержит ИК-диоды, потенциометр, компаратор (операционный усилитель) и светодиоды. Потенциометр используется для установки опорного напряжения на одном конце и ИК - датчиках компаратора используется для определения линии и обеспечивает изменение напряжения на втором терминале компаратора. Затем компаратор сравнивает оба напряжения и генерирует цифровой сигнал на выходе. Здесь, в этой схеме, мы используем два компаратора для двух датчиков. LM 358 используется в качестве компаратора. LM358 имеет два встроенных малошумящих операционных усилителя.
Секция управления: микроконтроллер 8051 используется для управления всем процессом робота-следящего за линией. Выходы компараторов подключены к контактам 8051 с номерами P0.0 и P0.1. 8051 считывает эти сигналы и отправляет команды в схему драйвера на повторитель линии управления.
Секция драйвера: Секция драйвера состоит из драйвера двигателя и двух двигателей постоянного тока. Драйвер двигателя используется для управления двигателями, поскольку микроконтроллер не подает достаточно напряжения и тока для управления двигателем. Поэтому мы добавляем схему драйвера двигателя, чтобы получить достаточное напряжение и ток для двигателя. Микроконтроллер отправляет команды этому драйверу двигателя, а затем он запускает двигатели.
За работой
Работа этого робота, избегающего кромок, довольно интересна и такая же, как и у следящего за линией, но с разницей в операциях после считывания входных сигналов. В этом роботе, когда он обнаруживает белую поверхность, он движется вперед, и когда один из датчиков или оба датчика не воспринимают сигнал или черную поверхность, он останавливается и движется назад и меняет свое направление, и если он снова ощущает белую поверхность, то идет вперед.
Принципиальная схема показана для этого робота-избегателя кромок. Выход компараторов напрямую подключен к выводам P0.0 и P0.1 микроконтроллера. Входные контакты 2, 7, 10 и 15 драйвера двигателя подключены к контактам P2.3, P2.2, P2.1 и P2.4 соответственно. И один двигатель подключен к выходному контакту драйвера двигателя 3 и 6, а другой двигатель подключен к контактам 11 и 14.
В программировании в первую очередь мы определили входные и выходные контакты. А затем в основной функции мы проверили входы и отправили выход соответственно на выходные контакты для привода двигателя. В этом устройстве предотвращения кромок есть четыре условия, которые мы считываем с помощью микроконтроллера 8051. Мы использовали два датчика, а именно левый датчик и правый датчик.
Условия:
Ввод |
Вывод |
Движение робота |
||||
Левый датчик |
Правый датчик |
Левый мотор |
Правый мотор |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Вперед |
0 |
1 |
1 |
0 |
0 |
0 |
Стоп / назад / повернуть направо |
1 |
0 |
0 |
0 |
1 |
0 |
Стоп / назад / повернуть налево |
1 |
1 |
0 |
0 |
0 |
0 |
СТОП / назад / повернуть налево |
Мы написали программу согласно условиям приведенной выше таблицы.
Схема печатной платы