Устройство управления шаговыми двигателями на базе микроконтроллера Renesas Electronics


PDF версия

В статье приводится краткий обзор семейства микроконтроллеров 78k и рассматривается система управления двумя шаговыми двигателями, работающими асинхронно на базе микроконтроллера uPD78F0893 компании Renesas.

Продукция Renesas Electronics давно заслужила репутацию одной из самых надежных и отказоустойчивых — не случайно она широко используется в ответственных областях применения, таких как автомобильная электроника и устройства промышленной автоматизации. Всего у этой компании насчитывается более десятка различных семейств микроконтроллеров, но часть из них, например, M16C, M32C, H8, H8S, не рекомендована для новых проектов. Однако эти изделия производятся для поддержки клиентов, все еще их использующих. Остальные, безусловно, заслуживают самого пристального внимания разработчика. Одно из таких популярных семейств — 78k. Микроконтроллеры этого семейства предназначены для широкого спектра применений и, в свою очередь, подразделяются на следующие подсемейства:
– 78K0 — 8-разрядные энергоэффективные и многофункциональные решения (см. рис. 1);
– 78K0S — упрощенная версия 78K0 с малым количеством выводов и более низкой стоимостью;
– 78K0R — 16-разрядное решение от Renesas с производительностью, сравнимой с 32-разрядными устройствами (см. рис. 2).

 

Рис. 1. Микроконтроллеры подсемейства 78K0

Рис. 2. Микроконтроллеры подсемейства 78K0R

Типичным представителем семейства 78k является микроконтроллер uPD78F0893 серии FF2, обладающий следующими характеристиками:
– CISC-ядро 78K0;
– объем флэш-памяти: 128 Кбайт;
– объем ОЗУ: 7 Кбайт;
– количество IO-портов: 71;
– максимальная тактовая частота: 20 МГц (минимальное время исполнения инструкции при этом составляет 0,1 мкс);
– диапазон напряжения питания: 1,8–5,5 В (@ 5 МГц);
– 16-канальный 10-разрядный АЦП со временем преобразования от 6,6 мкс;
– 5 таймеров, среди них: WDT, Watch, два 8- и один 16-разрядный;
– последовательные интерфейсы UART LIN (Local Interconnect Network), UART, CAN, SCI;
– диапазон рабочих температур: –40…125°С.
Отличительной особенностью мик­роконтроллера является наличие UART LIN и CAN — двух взаимодополняющих интерфейсов, часто применяющихся в автомобильных устройствах. CAN-интерфейс обеспечивает высокую скорость помехоустойчивого соединения (до 1 Мбит/с) и работает в режиме жесткого реального времени, тогда как UART LIN разработан для недорогих локальных сетей с пропускной способностью до 20 Кбит/с.
В случае если такие объемы ОЗУ и флэш-памяти являются для конкретного приложения избыточными, применяются более дешевые версии uPD78F0891 (флэш-память: 60 Кбайт и ОЗУ: 3 Кбайт) и uPD78F0892 (флэш-память: 96 Кбайт и ОЗУ: 5 Кбайт). Такая возможность выбора является характерной чертой для всего семейства 78k.
Для разработки программного обеспечения используется как среда разработки от IAR Systems [1], так и фир­менный софт от Renesas [2] — CubeSuite+, компилятор CC78K0, ассемблер RA78K0, симуляторы SM+ и SM78K0, отладчик ID78K0-NS, генератор кодов Applilet, который также способен создавать код и проекты для IAR IDE.
Среди микроконтроллеров подсемейства 78k0 имеется специа­ли­зи­рованная линейка 78K0/Dx пред­назначенная для управления шаговыми двигателями (ШД). Тем не менее, в качестве одного из примеров практического применения микроконтроллера uPD78F0893 Renesas можно привести устройство управления ШД, разработанное в центре Современных электронных элементов и технологий (СЭЭТ) Дагестанского государственного технического университета (ДГТУ) как один из узлов подвижного двустороннего светодиодного информационного табло. Микроконтроллер uPD78F0893 в данном приложении обеспечивает асинхронное управление одновременно двумя ШД и позволяет перемещать объект в двух плоскостях. Один из двигателей перемещает табло в горизонтальной плоскости, а другой — в вертикальной. Их управление осуществляется как с клавиатуры, так и в соответствии с разработанными алгоритмами. В случае ручного способа управления реализуются пять различных режимов функционирования для каждого двигателя. В автоматическом режиме двигатели работают в соответствии с заданной программой. Текущие режимы работы двигателей отображаются на индикационном устройстве.
Шаговый электродвигатель представляет собой синхронный бесщеточный двигатель с несколькими обмотками статора. Импульс тока, поданный в одну из этих обмоток, вызывает фиксацию, а последовательное включение обмоток вызывает дискретные угловые перемещения (шаги) ротора.
Преимуществом такого двигателя является высокая точность позиционирования, но при разработке систем с шаговыми двигателями необходимо также учитывать тот факт, что достаточно высокий момент можно получить только при низких скоростях вращения. Для улучшения динамических характеристик двигателя целесообразно использовать специализированные драйверы со стабилизацией выходного тока на базе ШИМ.
Таким образом, структурная схема устройства управления двигателями должна включать в себя кроме непосредственно двигателя микроконтроллер и драйвер, обеспечивающий формирование требуемых последовательностей управляющих сигналов и согласование по нагрузке (см. рис. 3).

 

Рис. 3. Структурная схема устройства управления шаговыми двигателями

Распространенной формой практической реализации драйвера является комплект микросхем L297 и L298N, представляющий собой формирователь управляющих сигналов и мощный сдвоенный H-мост. Такое решение обеспечивает необходимые динамические характеристики при минимальном количестве дополнительных внешних компонентов и сохраняет значительный объем вычислительных ресурсов микроконтроллера.
Алгоритм управления двигателем посредством контроллера L297 подробно описан в ряде источников, в частности в [3], а функциональное назначение выводов этого компонента приведены в таблице 1.

 

Таблица 1. Функциональное назначение выводов контроллера L297

Вывод

Описание

CLOCK

тактовый сигнал, шаг происходит по фронту

FULL/HALF

полношаговый/полушаговый режим

ENABLE

разрешение работы микросхемы

CONTROL

режим работы ШИМ-регулятора

CW/CCW

направление вращения

Vref

аналоговый вход, опорное напряжение для компаратора ШИМ

Reset

установка фаз в исходное состояние

Микроконтроллер uPD78F0893 обладает достаточным количеством выводов для одновременного асинхронного управления двумя шаговыми двигателями, даже если с этой целью использовать обычные порты ввода/вывода. Но можно освободить микроконтроллер от рутинной работы перевода портов из одного состояния в другой, воспользовавшись для тактирования ШД-таймером, сконфигурированным на выход (см. рис. 4).

 

Рис. 4. Схема электрическая принципиальная устройства управления шаговыми двигателями

Реализованный алгоритм ручного управления с использованием клавиатуры на микроконтроллере uPD78F0893 (см. рис. 5), предполагает ее сканирование по прерыванию INT5, во время которого происходит запись номера нажатой клавиши в переменную Key и установка флага Keypressed. В основном цикле программы осуществляется циклическая проверка состояния флага Keypressed. Если этот флаг был установлен, то происходит изменение параметров режима работы таймеров микроконтроллера, зависящее от значения переменной Key.

 

Рис. 5. Алгоритм управления шаговыми двигателями

 

Заключение

Выбор семейства микроконтроллеров с требуемыми характеристиками — нетривиальная задача. Как правило, теоретических изысканий бывает недостаточно, чтобы принять окончательное решение. Имеющаяся у авторов практика применения микроконтроллеров Renesas Electronics в различных приложениях, таких как управление шаговыми двигателями, светодиодными устройствами индикации и др., подтвердила свою репутацию производителя отказоустойчивой многофункциональной продукции.
Коллектив авторов выражает признательность Г.В. Горюнову, бренд-менеджеру компании ЭЛТЕХ, за предоставленные для реализации проекта отладочные комплекты.

Литература
1. www.iar.com.
2. ru.renesas.com.
3. Дж. Уильямс. Программируемые ро боты. Создаем робота для своей домашней мастерской. НТ Пресс. 2006.
4. www.eltech.spb.ru/renesas_micro­cont­roller.

 

 

Комментарий эксперта

 

 

Иосиф Каршенбойм, инженер-консультант, ЭЛТЕХ

 

Скажите, как называется множительный аппарат? Большинство читателей ответит — «ксерокс». А почему? Да просто мы так привыкли. И хотя уже давно у нас в стране трудятся копиры других производителей, привычка берет свое. То же самое и с микроконтроллерами. Зачастую инженер выбирает для разработки не то, что является лучшим предложением на рынке, а то, к чему он привык. Почему так происходит? Все дело в том, что университеты, в которых этих разработчиков учат, зачастую вынуждены брать для обучения не лучшие микроконтроллеры, а те, что которые уже давно выпускаются, по которым есть русскоязычные материалы, опыт разработки и т.д. А вот показать студентам то, что, имея навыки работы с каким-либо одним микроконтроллером, можно быстро построить свой проект с использованием другого микроконтроллера, вовсе не планируется. И времени для этого нет, и материальной базы. А использовать при обучении более новые микроконтроллеры, обладающие лучшими характеристиками, — и вовсе редкость…

В этом плане опыт исследовательского центра СЭЭТ ДГТУ, полученный при изучении продукции компании Renesas Electronics, а именно, ее микроконтроллеров, является очень актуальным. Не секрет, что после слияния компаний NEC и Renesas новая компания Renesas Electronics является производителем микроконтроллеров №1 в мире. Ее продукция ориентирована на рынок ответственных применений, и потому изучение изделий этой компании позволит разработчикам сразу же применять продукцию высшего класса.

Относительно компании ЭЛТЕХ следует заметить, что за последние годы стараниями сотрудников этого дистрибьютора было создано более 7 учебных классов в различных регионах страны. Технические специалисты компании помогают клиентам вести проекты, публикуют статьи о продукции, проводят семинары и вебинары.

Хочется надеяться, что эта статья будет полезна как разработчикам, так и преподавателям, желающим обменяться опытом в использовании данных микроконтроллеров.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *