Рис. 7.2.Робот, движущийся вдоль стенок лабиринта
Робот оборудован двумя основными колесами, с приводом от двигателей постоянного тока. Когда робот движется вперед, он постоянно следит за положением стенок, используя инфракрасные локаторы (пары излучатель-приемник), и за «минами», скрытыми в полу, с помощью датчика Холла.
Чтобы начать движение через неизвестный лабиринт, робот помещается вблизи от его входа. Предназначение робота состоит в том, чтобы проходить через лабиринты, избегая столкновения со стенками и контакта с «минами», скрытыми в полу. Робот едет вперед, когда на оба двигателя поступает одинаковое постоянное напряжение. Когда робот движется вперед с помощью двигателей постоянного тока, он непрерывно проверяет свое положение относительно стенок и магнитов с помощью пяти ИК локаторов и датчика Холла.
Стенки лабиринта окрашены белой краской с высоким коэффициентом отражения, чтобы ИК-сигналы, поступающие от источников, отражались от стенок обратно на приемники. Если робот приближается к стенке, то ее присутствие обнаруживается соответствующим ИК локатором. Например, если робот приближается к углу, расположенному с правой стороны (см. рис. 7.3), то передняя стенка обнаруживается передним локатором, а правая — правым локатором. Робот затем отвечает на принятые им входные сигналы, поворачивая влево, чтобы избежать столкновения со стенками.
Рис. 7.3.Робот, разработанный, чтобы обнаруживать близлежащие стенки
При использовании пяти инфракрасных датчиков, робот готовится сделать левый поворот, избегая стенок, расположенных спереди и справа
Естественная реакция разработчика, получившего задание на столь сложный проект — это паника. Однако если мы используем нисходящее проектирование, мы сможем разбить общее техническое задание на частные требования, выполняемые отдельными подсистемами. Начнем с создания списка функций, требуемых операционной системе робота для выполнения всех его задач. Эти задачи сводятся к следующим:
• Аналого-цифровое преобразование выходных сигналов ИК-датчиков;
• Создание алгоритма поворота робота, позволяющего определить, в каком направлении он должен повернуть в ответ на сигналы ИК-датчиков;
• Разработка функций управления приводом, осуществляющих движение робота вперед и назад и повороты влево или вправо;
• Создание механизма для обработки выходных сигналов датчика Холла;
• Обеспечение функции, позволяющей останавливаться, давать задний ход и обходить обнаруженную «мину»;
• Отображение выполняемых функций на символьном ЖК индикаторе.
7.1.2. Подсистемы 68HC12, используемые в проекте
По списку требуемых функций мы можем определить, какие периферийные модули МК 68HC12 необходимо использовать и какие другие внешние устройства будут необходимы для решения нашей задачи. К используемым устройствам и системам относятся:
• Датчики ИК-излучения и датчики Холла;
• Модуль аналого-цифрового преобразования ATD в составе МК 68HC12 для оцифровки сигналов инфракрасных датчиков и датчика Холла;
• Модуль ШИМ МК 68HC12 для модуляции ширины импульса;
• Интерфейс сопряжения МК с ЖК дисплеем;
• Интерфейс сопряжения МК с ИК-датчиками;
• Интерфейс сопряжения МК с датчиком Холла;
• Интерфейс драйвера двигателя;
• Аккумуляторные батареи, для питания двигателей, датчиков, и отладочной платы MC68HC912B32EVB.
7.1.3. Компоненты системы
Убедимся сначала, что на рынке имеются инструментальные средства, позволяющие выполнить весь список требуемых функций. В предыдущих главах (уложенных в наш сундучок) мы рассматривали следующие компоненты:
• Модуль АЦП в составе МК семейства 68HC12;
• Модуль ШИМ в составе МК семейства 68HC12;
• Интерфейс и программное обеспечение ЖК дисплея;
• Интерфейс драйвера двигателя;
• Батарею для питания системы.
Если вы еще не познакомились с этими устройствами и подсистемами МК, вернитесь к соответствующим главам. Мы же остановимся на двух темах, которые не рассматривали ранее: на паре излучатель-приемник, образующей ИК-локатор, и на датчике Холла.
Пара ИК излучатель-приемник. В паре ИК излучатель-приемник объединены источник и приемник инфракрасного (ИК) излучения. Источником является светоизлучающий диод с соответствующей схемой, а приемником — фототранзистор, чувствительный к ИК-диапазону излучения с собственной схемой, показанной на рис. 7.4. Для питания ИК диода используются электрические цепи, описанные ранее в разделе, посвященном светодиодам. Фототранзистор имеет светочувствительный переход база-база-эмиттер. Когда свет соответствующей длины волны падает на переход, в нем возникает базовый ток. В цепь эмиттера включен резистор нагрузки, сопротивление которого позволяет обеспечить необходимую величину выходного напряжения. Часто вместо резистора с фиксированным сопротивлением используется 10-оборотный измерительный потенциометр, позволяющий индивидуально подстраивать чувствительность каждого приемника. График зависимости выходного напряжения от расстояния до стенки лабиринта может быть получен экспериментально. Выходной сигнал каждого приемника подается на канал АЦП микроконтроллера 68HC12.
Читать дальше