По материалам

Скачать книгу
Шаговый двигатель для транспортера
В практике инженера часто встречаются исполнительные устройст­ва на шаговых двигателях (ШД). Принтеры, факсы, станки с ЧПУ, сти­ральные машины, дисководы, видеоплееры — вот далеко не полный пе­речень устройств, использующих ШД. Одно из применений в учебных целях — это радиолюбительские модели, исполнительные узлы робо­тов, привод редукторов точного поворота антенн... Для ознакомления и практического применения автор разработал макет устройства с ШД 8812 для ленточного транспортера. Устройство можно также применить в качестве привода в станках для точного сверления и калибровки от­верстий небольшого диаметра, в транспортерных линиях и т.п.
Применение шаговых двигателей очень широко представлено в промышленности, например, в проявочных (рис. 9.1) и упаковочных машинах (рис. 9.2). Изучение простейших свойств ШД формирует пред­ставление о физических принципах работы электромагнитных двигате­лей.
Используя современную электронику, автор собрал устройство на четырех микросхемах и шаговом двигателе от старого принтера (рис. 9.3).
Рассмотрим структуру устройства. АЦП, который тактируется от задающего генератора, снимает напряжение с регулятора Я. Это напря­жение преобразуется в шестнадцатеричный код (10-разрядный АЦП встроенный в микроконтроллер). Полученные данные преобразуются для достижения целей поставленной задачи. Далее программа задает код работы порта А в зависимости от внешних управляющих сигналов. Этот код отрабатывает драйвер, который возбуждает обмотки ШД.
В данном устройстве все функции контроля выполняет микрокон­троллер Атапу26 семейства А VII от компании фирмы А1те1 [3, 16] (рис. 9.4).
Драйвер и исполнительные элементы состоят из микросхем Ь6506 [18] и Ь298 [17]. Совместное использование этих микросхем дает хоро­ший результат, как по управлению, так и по защите по току в случае пе­регрузки. Если попробовать собрать подобное устройство на дискрет­ных элементах, то потребуется на порядок больше микросхем.
Конструкцию предлагаемого к рассмотрению устройства следует воспринимать как учебное пособие (рис. 9.5). Она включает в себя пла-
ту управления и шаговый двигатель, подключенный к плате через разъ­ем. Благодаря такому решению, шаговый двигатель можно вмонтиро­вать в любой механический узел или в транспортерное оборудование.
На плате реализованы следующие функции:
• управление направлением вращения ШД с помощью переключения тумблером;
• пошаговый режим;
• режим вращения с помощью кнопки;
• управление скоростью вращения вала ШД роликом потенциометра;
• управление режимом "стоп-старт" еще одной кнопкой.
К плате можно подсоединить разъем ISP для перепрограммирова­ния микроконтроллера. Плата питается от нестабилизированного источ­ника 6,5 В, обеспечивающего ток 700 мА. Подключение внешнего ис­точника осуществляется через разъем питания. Выбранные режимы на плате управления активизируют соответствующие светодиоды, что по­зволяет судить о правильности заданного режима. Скорость вращения ШД изменяется в пределах 1-1024 об/мин.
Принципы работы шагового двигателя
Существуют два основных типа шаговых двигателей, применяемых в практике:
• с постоянным магнитом;
• с переменным магнитным полем.
Конструкция типичного биполярного шагового двигателя показана на рис. 9.6.
Двигатели с постоянным магнитом бывают биполярными (рис. 9.7) и униполярными (рис. 9.8).
Биполярные двигатели — наиболее простые для решения неслож­ных задач. Они состоят из постоянного магнита вращающегося ротора и окруженного полюсами статора, состоящего из четырех обмоток. Протекание тока в обмотках статора возбуждает ротор, и при последо­вательной коммутации обмоток происходит ступенчатое вращение. Для двигателя этого типа существует три метода возбуждения обмоток. • Возбуждение обмоток происходит в последовательности АВ/СЭ/ ВАЮС (ВА указывает на то, что обмотка АВ возбуждается в проти­воположном направлении). Эта последовательность известна под названием "одна фаза активна", "полный шаг" или "привод волны". В каждый момент возбуждается только одна из фаз (рис. 9.9).
• Возбуждение одновременно обеих фаз, чтобы ротор выровнялся между двумя положениями полюса. Такой метод называется "две фазы активны", "полный шаг". Это состояние является следующей последовательностью привода биполярного двигателя и дает самый высокий вращающий момент (рис. 9.10).
Рис. 9.10. Последовательность возбуждения обмоток "две фазы активны"
• Возбуждение одной фазы, потом — двух, потом — одной и т.д., чтобы ротор двигался поэтапно, вращаясь в квадранте. Эта после­довательность известна как "ступенчатый метод половины". Полу­волна имеет большой угол вращения за шаг двигателя, но слабый вращающий момент (рис. 9.11).
Для вращения в противоположном направлении (синхронизация прежняя) изменяется порядок возбуждения обмоток, на противополож­ный. Как показано на диаграммах, угол поворота ротора составляет 90°. Промышленные двигатели имеют больше полюсов и достигают угла поворота в несколько градусов, но число обмоток и последовательность
привода остаются неизменными.
Униполярный двигатель с посто­янным магнитом идентичен биполяр­ному за тем исключением, что у него в каждой фазе используются две об­мотки. Это необходимо для того, что­бы полностью изменить поток статора быстрее, чем в двунаправленном при­воде (рис. 9.12).
Ротор выполняет тот же путь, что и у биполярного двигателя за тем ис­ключением, что мостовые драйверы заменены простыми униполярными каскадами: четыре транзистора Дар­лингтона, или счетверенные транзи­сторные матрицы Дарлингтона.
Униполярные двигатели более дорогостоящие, поскольку у них — вдвое больше обмоток. Кроме того, их характеризует гораздо меньший вращающий момент при одинаковых габаритах, так как обмотки выпол­нены из более тонкого провода. Все двигатели с постоянным магнитом генерируют электромагнитные помехи ротором, который ограничивает скорость вращения. При очень высоких скоростях вращения необходим двигатель с переменным магнитным полем.
Двигатель переменного магнитного поля оснащен ротором из нена-магниченного мягкого железа с меньшим количеством полюсов, чем статор (см. рис. 9.12). При этом используется униполярный метод воз­буждения пары полюсов статора, чтобы повернуть ротор к полюсам возбуждаемой обмотки ступенчато. Здесь также используют три раз­личных последовательности возбуждения фаз:
• "одна фаза активна" — А/С/В/О;
• "две фазы активны" — АС/СВ/ВЭ/ОА;
• "шаг-половина" — А/АС/С/ВС/В/ВОЯЖ)А.
Заметьте, что угол поворота ротора составляет 15°, а не 45°. В про­шлом униполярные двигатели были более интересны для проектиров­щиков, поскольку имеют простой выходной каскад. Теперь, когда вы-
пускаются монолитные драйверы напряжения, биполярные двигатели становятся более популярным.
Для правильного генерирования импульса обмотки ШД необходим мостовой коммутатор тока обмотки. Такой коммутатор можно собрать на дискретных элементах. При этом габариты платы управления увели­чатся, а в некоторых случаях ухудшатся характеристики выходного кас­када. Автор использовал готовый, относительно дешевый драйвер управления биполярным ШД: микросхему Ь298, в которой реализованы два моста для полноценного управления ШД. Кроме того, драйвер (рис. 9.13) может коммутировать направления тока в подключаемых обмотках ШД в разных направлениях.
По сигналу Еп А можно быстро размыкать ключи моста. Недостат­ком микросхемы является отсутствие диодов защиты ключей от обрат­ных токов, поэтому в практическом применении необходимо дополнять схему диодами. Для предотвращения перегрузки по току в схему введен датчик тока Из. Если падение напряжения на этом резисторе выше нор­мы, то сработает схема защиты по току.
Схема управления шаговым двигателем
Схема управления шаговым двигателем представлена на рис. 9.14.
Питание схемы осуществляется от нестабилизированного источни­ка 6,5 В (ток потребления до 1 А). Для полноценной работы микрокон­троллера питание стабилизировано микросхемой ІСЗ. При подаче пита­ния на схему устройства, микроконтроллер автоматически выбирает пошаговый режим. На драйвер ШД питание подается через диод D9 за­щиты от изменения полярности источника. О включении питания сиг­нализирует светодиод LED3.
Микроконтроллер синхронизирован от кварцевого резонатора час­тотой 4 МГц. При нажатии кнопки S1 ("Старт/Стоп") активизируется прерывание INTO, программа в микроконтроллере проверяет состояние порта РА. АЦП считывает уровень напряжения на регуляторе скорости R5 и направление вращения ШД на тумблере S3. Для правильного функционирования АЦП с учетом замечаний в книге [19] автор допол­нил схему элементами, влияющими на считывание данных. Питание АЦП, встроенного в микроконтроллер, осуществляется через фильтр высокочастотных помех L3, СП, наводимых ядром микроконтроллера во время работы схемы.
После обработки информации на выводы РАЗ-РА7 подаются им­пульсы соответствующей последовательности со скоростью, пропор­циональной уровню напряжения на R5. Элементы R5, R6, С9 — это своеобразный интегратор для регулируемого напряжения.
В режиме реального времени проверяется состояние вывода РАО микроконтроллера. Если кнопка S2 длительно нажата (около 1-2 с), то микроконтроллер переводит программу в режим скорости вращения ШД. При повторном длительном нажатии происходит переход в поша­говый режим.
Для управления направлением вращения существует трехходовой двухсекционный тумблер S3. Одна его секция включает светодиоды, показывающие направление вращения ШД, а вторая — коммутирует порт РА1 микроконтроллера.
Логика управления ШД реализована в микроконтроллере Tiny26. Поскольку этот микроконтроллер не может коммутировать большие то­ки, применен драйвер L298. Между драйвером и микроконтроллер ус­тановлена микросхема А1, которая отслеживает токи обмоток ШД. Для контроля тока в обмотках ШД в драйвере ІС2 присутствуют выводы 1 и 15 (SEN_A и SEN_B). В случае заклинивания двигателя или короткого замыкания на Rl, R2 растет напряжение, и микросхема А1 прекращает подачу импульсов на драйвер IC2. В А1 встроены два компаратора и че­тыре схемы "И".
На входы компараторов А1 (выводы 10 и 15) подается напряжение от датчиков тока двигателя Rl, R2 и опорное напряжение (выводы 16 и 17) от резистивного делителя R3, R4. Если напряжение на датчиках тока ниже опорного, то компараторы разрешают прохождение импуль­сов от микроконтроллера к драйверу IC2. Если напряжение на датчиках тока выше опорного, то импульсы не проходят через А1.
Для питания драйвера ШД к IC2 от источника питания подключен D9, предотвращающий попадание помех от ШД во время работы к схе­ме управления. Эту же функцию выполняют демпфирующие диоды D1-D8. Обратный ток диодов во время коммутации обмоток сглаживает конденсатор С13.
Программа
Блок-схема алгоритма, управления драйвером шагового двигателя представлена на рис. 9.15. Программа на ассемблере представлена в листинге 9.1, а шестнадцатеричный код — в листинге 9.2.
Согласно блок схеме, в начале программы выполняется установка состояния портов, а также указывается вектор прерывания, который имеет две ветви:
• вектор RESET переходит при сбросе программы в начальное со­стояние;
• вектор INTO активизируется при нажатии кнопки "START/STOP'4.
Активным уровнем INTO считается нулевое состояние на выводе РВ6 микроконтроллера. Активный уровень задается программой и во время сброса не активизируется. В случае активизации INTO вызывается подпрограмма обработки вектора прерывания, которая запрещает пре­рывание и проверяет длительность нажатия кнопки. Если кнопка нажата более 1 с, то режим работы схемы управления ШД изменяется на проти­воположный (если был режим "STOP", то программируется режим "START" и наоборот). В режиме "STOP" порт А обнуляется, а в режиме "START" — активизируется. При выходе из подпрограммы обработки вектора прерывания разрешается общее прерывание.
После прохождения начальной части программы запускается на преобразование АЦП. На первом этапе необходимо выполнить комму­тацию аналогового входа АЦП с помощью встроенного аналогового мультиплексора. Для этого в 0-2 разрядах регистра ADMUX устанавли­вается соответствующая комбинация нолей и единиц, а в 6 и 7 разрядах ADMUX выбирается источник опорного напряжения. При этом на вы­вод 17 микроконтроллера нельзя подавать никакого напряжения [19].
Рис. 9.15. Блок-схема алгоритма управления драйвером шагового двигателя
На втором этапе в регистре АОСБЯ с помощью разрядов 0-2 зада­ется тактовая частота АЦП путем деления тактовой частоты микрокон­троллера (тактовая частота АЦП обязательно должна находиться в пре­делах 50-200 кГц). Затем разрешается работа АЦП, выбирается режим его работы (в данном случае — одиночное преобразование) и активизи­руется преобразование, которое длится 25 тактов АЦП. В конце преоб­разования данные записываются в регистры данных АЦП АЭСЬ и АОСН. Чтение регистров строго определено: сначала — АВСЪ, по­том — АЭСН.
Если не предпринимать мер подавления помех, то программа счи­тывания данных АЦП работает нестабильно из-за наводок и шумов от питающей сети. Для защиты входа АЦП применен малый фильтр ЬЗ, СП по питанию аналоговой части микроконтроллера. Кроме того, дан­ные считываются четыре раза, суммируются и делятся на четыре путем сдвига вправо с переносом на два разряда. Результат среднего арифме­тического позволяет достоверно судить о считанном напряжении.
После считывания данных разрешается прерывание и проверяется нажатие кнопки "Старт". В это время программа находится в ожидании команды "Старт". Когда команда "Старт" поступает, программа прове­ряет, нажата ли кнопка "Скорость/шаг", и при соответствующем режиме разветвляется по одной из двух исполнительных ветвей.
В режиме "Скорость" светодиод ЫЮ4 гаснет, а в режиме "Шаг" — засвечивается. Для определения режима "Шаг/Скорость" необходима подпрограмма измерения длительности нажатия кнопки. После измере­ния происходит разветвление программы. Первая ветвь соответствует режиму "Скорость", в котором задается скорость, пропорциональная напряжению, полученному с АЦП. Вторая ветвь соответствует режиму "Шаг". При этом программа ожидает короткое (менее 0,5 с) нажатие кнопки "Шаг".
По мере выполнения операций программа проверяет, в каком на­правлении задан режим вращения ШД. По соответствующему коду со­стояния ШД задается код перехода влево или вправо (против часовой стрелки или по часовой стрелке). Начальное положение ШД неопреде­ленно, поэтому порты ввода-вывода обнуляются, и алгоритм вращения ШД повторяется сначала. После отработки выбранного шага программа начинает заново опрос режимов работы ШД. Если все режимы заданы, то программа автоматически продолжает выполнение команд, если же нет — переходит в режим ожидания. Цикл повторяется бесконечно.
Для правильной коммутации фаз автор разработал таблицу коди­ровки фаз (табл. 9.1). В случае применения униполярных двигателей
или полного режима "шаг, половина, шаг" можно изменить таблицу и дополнить код.
Программа активно использует стек, поскольку микроконтроллер АТ1;ту26 имеет в своем составе 254 ячейки ОЗУ. Это позволяет более рационально использовать память программ и повышает гибкость при написании алгоритма.
Плата
Монтажная схема платы представлена на рис. 9.16, а схема развод­ки— на рис. 9.17. Макет платы для проверки параметров и возможно­стей ШД, а так же для изучения работы ШД в разных режимах показан на рис. 9.18. Все элементы управления размещены на плате. Выключа­тель питания находится в блоке питания. Направление вращения двига­теля задается трехходовым тумблером, а скорость вращения — с помо­щью переменного сопротивления (небольших габаритов с колпачком для ручной регулировки). Режимы "Старт/Стоп" и "Шаг/Скорость" за­дается однократным (менее 2 с) нажатием соответствующей кнопки (для быстрой ориентации кнопки имеют разный цвет колпачков).
Плата оснащена ножками для крепления в любом корпусе. В слу­чае, если мощность двигателя велика (более 5 Вт), для микросхемы драйвера Ь298 необходим радиатор общей площадью 1000 мм2.
Для демонстрации была разработана монтажная плата из текстолита с двухсторонней разводкой. Автор собрал устройство на макетной плате путем навесного монтажа. Дроссель ЬЗ — 10-100 мкГн (фильтрующий элемент) с током не менее 20 мА. Светодиоды — любого цвета свечения с током не более 8 мА. Кнопки 81, 82 — любые, контактного типа.
Тумблер 83 — любой двухходовой (автор применил трехходовой на ток 3 А) на ток в схеме не более 20 мА. Диоды — любые кремниевый на об­ратное напряжение не менее 30 В и прямой ток не менее 1 А. Все мик­росхемы (кроме драйвера Ь298) установлены на панельках для опера­тивной замены.
Настройка
Для быстрого программирования на плате присутствует разъем ISP. Программу с компьютера через программатор можно оперативно внести в микроконтроллер. Это позволяет на базе одной схемы смоделировать различные устройства, по своим назначениям и функциям отличающие­ся от рассмотренного примера. Для предотвращения неправильного пи­тания от программатора к разъему SV1 подключен D10.
Функции тумблера 83 можно расширить, изменив программу. Диа­пазон скорости вращения вала ШД также задается константами в про­грамме. В начале настройки питание схемы подается на плату без мик­росхем микроконтроллера Тту26 и Ь6506, а разъем ШД отсоединен. Если все исправно, то устанавливается Ь6506 и проверяются уровни на­пряжения на Ш, К2 и Я4 (соответственно О В, О В и 0,54 В), после чего устанавливается микроконтроллер.
При включении проверяются импульсы управления на разъеме ШД. В случае соответствия импульсов от микроконтроллера осциллограм­мам к плате подключается разъем ШД. Далее при подключении ШД и выборе режима "Скорость" необходимо настроить защиту по току. Для этого, устанавливая режим "Скорость" и "Старт", необходимо уменьшить сопротивление ЯЗ с 82 кОм до 62 кОм. Когда вал ШД нор­мально вращается во всем диапазоне регулировки оборотов двигателя, дальнейшая настройка защиты по току не нужна. Если необходимо для эксперимента увеличить диапазон регулировки оборотов двигателя, то можно уменьшить сопротивление ЮЗ с 47 кОм до 4,7 кОм. В случае, когда микроконтроллер плохо реагирует на кнопку "Старт", необходимо увеличить номинал резистора К\2 с 10 кОм до 100 кОм.
В дальнейших разработках устройства можно отказаться от приме­нения микросхемы А1 при условии полной уверенности в отсутствии перегрузок обмоток ШД. При этом элементы 111-114 и А1 не нужны, а выводы 11, 12, 13 и 14 микроконтроллера 1С 1 подключаются соответ­ственно к выводам 5, 7, 10 и 12 драйвера 1С2.
Hosted by uCoz