Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
9. Избегать препятствий;
10. Иметь энергонезависимую память данных;
11. Стоить не более $500,00.
7.5.2. Системы HCS12 используемые в проекте
В этом проекте будут использоваться следующие под системы HCS12:
• Подсистема входного захвата таймера;
• Модуль АЦП;
• Подсистема ШИМ.
7.5.3. Теоретическое обсуждение
Для парящего робота была разработана простая воздушная рама, подобная существовавшему ранее покупному радиоуправляемому устройству, показанному на рис. 7.21. Она собрана из четырех стержней, скрепленных в центре рамы, имеющей форму креста. К каждому концу стержня прикреплен двигатель постоянного
Для управления использовалась T-плата компании ImageCraft с МК семейства HCS12 (рис. 7.22). Частота тактирования МК равна 25 МГц, резидентная Flash-память программ МК равна 256 Кб, оперативная память — 12 Кб и энергонезависимая память данных типа EEPROM — 4 Кб. Для бортовой схемы весьма желательна миниатюризация платы. Для управления двигателями постоянного тока используется встроенный модуль ШИМ. Пьезогирометрические датчики для трех осей вращения обеспечивают изменение углов тангажа, крена и рыскания для управления парящим роботом. Выходы гиродатчика поданы на вход таймера МК и используются, чтобы корректировать скорости вращения всех четырех двигателей парящего робота. В дополнение к гиродатчикам, на роботе установлены четыре инфракрасных датчика. Они обнаруживают преграды, когда робот приближается к стенкам или препятствиям. Выходы датчиков поданы на входной порт АЦП, их сигналы обеспечивают выбор алгоритма управления полетом, позволяющего избежать столкновений со стенками или препятствиями.
Рис. 7.22. Плата с МК НCS12
В качестве гиродатчиков используются три пьезогиродатчика GYA350 компании Futaba. Мы выбрали эти датчики, поскольку они специально предназначены для авиамоделей. Датчик весит 26 г и размещается в корпусе 27 ммx27 ммx20 мм. Он обеспечивает сигналы ШИМ частотой 55 Гц, при этом изменение ширины импульса указывает направление движения датчика и, следовательно, направление движения парящего робота. Этот гиродатчик может также работать в режиме поддержки заданного направления (режим heading-hold), при котором микроконтроллер может определить ширину импульса на выходе датчика летящего робота. При использовании функции входного захвата таймера, робот проверяет направление, оценивая выходные ШИМ сигналы гиродатчиков.
В дополнение к гиродатчикам робот использует для измерения расстояния четыре инфракрасных пары передатчик/приемник GP2D12 фирмы Sharp, чтобы избежать столкновения с любыми объектами. Эти датчики могут обеспечивать диапазон выходных напряжений, соответствующих расстоянию обнаружения от 10 до 80 см. Эти напряжения преобразуются в соответствующие цифровые значения с помощью модуля ATD микроконтроллера. Датчик легок и размещается в корпусе 45 ммx14 ммx20 мм.
Для взлета использовались четыре двигателя постоянного тока Graupner Speed300, питающиеся от постоянного напряжения 6 В. Каждый двигатель весит 50 г при диаметре вала в 2 мм и потребляемом токе до 5 A. На валу двигателя установлена маленькая пластмассовая шестерня, которая приводит во вращение большую шестерню на оси пропеллера, как показано на рис. 7.21.
7.5.4. Структура программы и блок-схема алгоритма
Схема подключения на рис. 7.23 показывает связи компонентов парящего робота с контроллером. На рис. 7.24 схематично показана конструкция робота со всеми компонентами. Обратите внимание, что ШИМ-сигналы регулирующие скорость вращения подаются на ИС силового коммутатора, которая обеспечивают достаточный ток для двигателей постоянного тока. Чтобы обеспечить питание системы используется несколько батарей. Сигналы поступают в МК от датчиков, а выходные сигналы МК управляют ИС коммутаторов двигателей.
Рис. 7.23. Схема
подключения управляющих компонентов парящего роботаРис. 7.24. Диаграмма движения робота со всеми бортовыми компонентами
На рис. 7.25 представлена структура программы для парящего робота, в которой показаны направления потоков данных между программными модулями. На рис. 7.26 показана блок-схема алгоритма программы для управления роботом.
Рис. 7.25. Структура программы парящего робота
Рис. 7.26. Блок-схема алгоритма программы парящего робота
7.5.5. Программный код
В этом разделе, мы представляем программу для управления парящим роботом на языке Си. Программа была первоначально написана Джоулом Перлином, одним из наших студентов, и скорректирована авторами настоящей книги.
- Telegram
- Viber
- Skype
- ВКонтакте