Схема для датчика пола была отработана в других проектах, поэтому в данном случае нужно было разработать датчик, который может "сканировать" пол (игровое поле) и находить на нем линии черного цвета.
Простейший сканер можно построить на 3-х ИК-парах светодиод-фототранзистор. Это будет скорее не сканер, а датчик линии. Такой робот сможет двигаться по линии, потому что логика в этом случае простейшая. В одном из университетов устраивают гонки по линии, которую чертят мелом на асфальте. Нужно проехать трассу за минимальное время, не сбив при этом препятствия и проехав в арках. Схемы таких машинок простейшие- там нет никаких микроконтроллеров- только пара транзисторов и фотодатчиков.
В случае серьезных соревнований нужно сделать серьезный датчик. Схема достаточно простая и лёгкая в повторении.
Разъемом SV1 датчик подключается к главной плате робота, откуда получает питание.
На схеме нижние 6 светодиодов- это фототранзисторы (ИК-приемники). Не было времени искать, где у них в библиотеке находятся фототранзисторы, поставил то, что было под рукой.
Две микросхемы LM339 позволяют построить 8 точек сканирования и выдавать результат в цифровом виде. Тесты показали, что возможно сделать датчик без использования компаратора, но необходимо долго настраивать датчики и вероятность сбоев достаточно высока.
В данной схеме я использую только 6 каналов сканирования. Два канала оставил "про запас", если понадобится большее количество.
Для того, чтобы проверить теорию, нужно было собрать хотя бы одну точку сканирования и опробовать её на реальном объекте (в данном случае лист бумаги А4 с нанесанной линией).
Желный светодиод- питание, красный- контроль выхода.
На этом фото видно датчик с двумя каналами (два светодиода для контроля).
Когда были готовы 4 точки сканирования, нужно было установить датчик на робота и опробовать в реальных условиях. Но перед тем, как подключать двигатели, можно было на тестовой плате и с тестовой программой проследить, правильно ли "реагирует" робот.
На листе ватмана была нарисована линия с закруглениями с радиусом 10см. Написана тестовая программа для робота "Сумо-1". Робот практически сразу поехал, и поехал правильно. Он прекрасно держал линию, хотя пару раз пролетал поворот и выезжал на границу листа и пола. Так как тут видно, что цветовой контраст довольно сильный, робот продолжал двигаться, но по периметру листа! Это очень интересно, нужно будет предусмотреть такой вариант, чтобы в том случае, когда робот выедет за пределы игрового поля, он далеко не уехал.
На этом фото видно и "поле" и робота. К сожалению, видеофграгмент сделать не получилось.
Следующим шагом было использование платформы "Монстр-1". Платформа потеряла передние колеса, сзади был установлен "рюкзак" для аккумуляторной сборки. В корпусе, возле передних колес, оказалось очень удобное отверстие для установки сканера.
Между колес робота установлена микросхема L293D (драйвер двигателей), именно оттуда видно столько проводов. Входы микросхемы: управление двигателями (вперед- назад) - 4 линии сигналы разрешения или ШИМ - 2 линии питание микросхемы и двигателей
Для того, чтобы иметь запас по объему памяти для программ и данных, была взята плата управления ("мозг") на основе ATMega8.
Плата на основе Мега8. Вместо двигателей включены контрольные светодиоды. Всё готово для установки на робота.
Вот теперь новый робот поехал по линии. Питание 4.8В минус потери на микросхеме L293D оказалось много для двигателей- робот носился с большой скоростью. Пришлось ограничить скорость простым программным ШИМом (программы внизу страницы).
Но, что самое интересное, этого оказалось мало для того, чтобы робот мог скаировать лабиринт. Нужно 6, 8 или 19 точек сканирования. Поэтому в качестве ИК-датчиков были использованы промышленные сборки.
На фото видно сканер, построенный на промышленных ИК-сборках. Там их 6 штук, соответственно, 6 точек сканирования и есть возможность установить еще 2.
Для того, чтобы лабиринт не оказался в конце концов "твердым орешком" было решено подключить ЖКИ. Ведь писать программу- это одно, а писать её вслепую- совсем другое. Обратная связь нужна как воздух. Минусом может оказаться тот факт, что ЖКИ потребляет много энергии. Но это же для соревнований, а для тренировок!
Так выглядит "новая" плата на основе Мега8, с ЖКИ, разъемами для двигателей, сканера и кнопкой.
Программа 1 (для робота мини-сумо)
Программа 1м8 (для МК Мега8 и робота Монстр-1)
Программа 2м8 (для МК Мега8 и робота Монстр-1)
Программа 3м8 здесь работает только ЖКИ! Зато пишет на экране слово "Готов!"
|