суббота, 9 февраля 2013 г.

схема управления лазерным проектором

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

Глава 7 ПРИМЕРЫ ВСТРОЕННЫХ СИСТЕМ УПРАВЛЕНИЯ / Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Комментариев нет:

Отправить комментарий