Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


2367
Шаговый двигатель для транспортера на МК

В практике инженера часто встречаются исполнительные устройства на шаговых двигателях (ШД). Принтеры, факсы, станки с ЧПУ, стиральные машины, дисководы, видеоплееры — вот далеко не полный перечень устройств, использующих ШД. Одно из применений в учебных целях — это радиолюбительские модели, исполнительные узлы роботов, привод редукторов точного поворота антенн... Для ознакомления и практического применения автор разработал макет устройства с ШД SS12 для ленточного транспортера. Устройство можно также применить в качестве привода в станках для точного сверления и калибровки отверстий небольшого диаметра, в транспортерных линиях и т.п.

Применение шаговых двигателей очень широко представлено в промышленности, например, в проявочных (рис. 9.1) и упаковочных машинах (рис. 9.2). Изучение простейших свойств ШД формирует представление о физических принципах работы электромагнитных двигателей.


Рис. 9.1. Проявочная машина с шаговым двигателем

Используя современную электронику, автор собрал устройство на четырех микросхемах и шаговом двигателе от старого принтера (рис. 9.3).


Рис. 9.3. Устройство с шаговым двигателем, разработанное автором

Рассмотрим структуру устройства. АЦП, который тактируется от задающего генератора, снимает напряжение с регулятора R. Это напряжение преобразуется в шестнадцатеричный код (10-разрядный АЦП встроенный в микроконтроллер). Полученные данные преобразуются для достижения целей поставленной задачи. Далее программа задает код работы порта А в зависимости от внешних управляющих сигналов. Этот код отрабатывает драйвер, который возбуждает обмотки ШД.

В данном устройстве все функции контроля выполняет микроконтроллер ATtiny26 семейства AVR от компании фирмы Atmel [3, 16] (рис. 9.4).


Рис. 9.4. Структура микроконтроллера ATtiny26

Драйвер и исполнительные элементы состоят из микросхем L6506 [18] и L298 [17]. Совместное использование этих микросхем дает хороший результат, как по управлению, так и по защите по току в случае перегрузки. Если попробовать собрать подобное устройство на дискретных элементах, то потребуется на порядок больше микросхем.

Конструкцию предлагаемого к рассмотрению устройства следует воспринимать как учебное пособие (рис. 9.5). Она включает в себя пла-

ту управления и шаговый двигатель, подключенный к плате через разъем. Благодаря такому решению, шаговый двигатель можно вмонтировать в любой механический узел или в транспортерное оборудование.


Рис. 9.5. Конструкция рассматриваемого устройства

На плате реализованы следующие функции:

• управление направлением вращения ШД с помощью переключения тумблером;

• пошаговый режим;

• режим вращения с помощью кнопки;

• управление скоростью вращения вала ШД роликом потенциометра;

• управление режимом "стоп-старт" еще одной кнопкой.

К плате можно подсоединить разъем ISP для перепрограммирования микроконтроллера. Плата питается от нестабилизированного источника 6,5 В, обеспечивающего ток 700 мА. Подключение внешнего источника осуществляется через разъем питания. Выбранные режимы на плате управления активизируют соответствующие светодиоды, что позволяет судить о правильности заданного режима. Скорость вращения ШД изменяется в пределах 1-1024 об/мин.

Принципы работы шагового двигателя

Существуют два основных типа шаговых двигателей, применяемых в практике:

• с постоянным магнитом;

• с переменным магнитным полем.

Конструкция типичного биполярного шагового двигателя показана на рис. 9.6.

Двигатели с постоянным магнитом бывают биполярными (рис. 9.7) и униполярными (рис. 9.8).


Биполярные двигатели — наиболее простые для решения несложных задач. Они состоят из постоянного магнита вращающегося ротора и окруженного полюсами статора, состоящего из четырех обмоток. Протекание тока в обмотках статора возбуждает ротор, и при последовательной коммутации обмоток происходит ступенчатое вращение. Для двигателя этого типа существует три метода возбуждения обмоток. • Возбуждение обмоток происходит в последовательности AB/CD/ BA/DC (ВА указывает на то, что обмотка АВ возбуждается в противоположном направлении). Эта последовательность известна под названием "одна фаза активна", "полный шаг" или "привод волны". В каждый момент возбуждается только одна из фаз (рис. 9.9).


• Возбуждение одновременно обеих фаз, чтобы ротор выровнялся между двумя положениями полюса. Такой метод называется "две фазы активны", "полный шаг". Это состояние является следующей последовательностью привода биполярного двигателя и дает самый высокий вращающий момент (рис. 9.10).


• Возбуждение одной фазы, потом — двух, потом — одной и т.д., чтобы ротор двигался поэтапно, вращаясь в квадранте. Эта последовательность известна как "ступенчатый метод половины". Полуволна имеет большой угол вращения за шаг двигателя, но слабый вращающий момент (рис. 9.11).


Для вращения в противоположном направлении (синхронизация прежняя) изменяется порядок возбуждения обмоток, на противоположный. Как показано на диаграммах, угол поворота ротора составляет 90°. Промышленные двигатели имеют больше полюсов и достигают угла поворота в несколько градусов, но число обмоток и последовательность привода остаются неизменными.

Униполярный двигатель с постоянным магнитом идентичен биполярному за тем исключением, что у него в каждой фазе используются две обмотки. Это необходимо для того, чтобы полностью изменить поток статора быстрее, чем в двунаправленном приводе (рис. 9.12).

Ротор выполняет тот же путь, что и у биполярного двигателя за тем исключением, что мостовые драйверы заменены простыми униполярными каскадами: четыре транзистора Дарлингтона, или счетверенные транзисторные матрицы Дарлингтона.

Униполярные двигатели более дорогостоящие, поскольку у них — вдвое больше обмоток. Кроме того, их характеризует гораздо меньший вращающий момент при одинаковых габаритах, так как обмотки выполнены из более тонкого провода. Все двигатели с постоянным магнитом генерируют электромагнитные помехи ротором, который ограничивает скорость вращения. При очень высоких скоростях вращения необходим двигатель с переменным магнитным полем.

Двигатель переменного магнитного поля оснащен ротором из нена-магниченного мягкого железа с меньшим количеством полюсов, чем статор (см. рис. 9.12). При этом используется униполярный метод возбуждения пары полюсов статора, чтобы повернуть ротор к полюсам возбуждаемой обмотки ступенчато. Здесь также используют три различных последовательности возбуждения фаз:

• "одна фаза активна" — A/C/B/D;

• "две фазы активны" — AC/CB/BD/DA;

• "шаг-половина" — A/AC/C/BC/B/BD/D/DA.

Заметьте, что угол поворота ротора составляет 15°, а не 45°. В прошлом униполярные двигатели были более интересны для проектировщиков, поскольку имеют простой выходной каскад. Теперь, когда вы-


пускаются монолитные драйверы напряжения, биполярные двигатели становятся более популярным.

Для правильного генерирования импульса обмотки ШД необходим мостовой коммутатор тока обмотки. Такой коммутатор можно собрать на дискретных элементах. При этом габариты платы управления увеличатся, а в некоторых случаях ухудшатся характеристики выходного каскада. Автор использовал готовый, относительно дешевый драйвер управления биполярным ШД: микросхему L298, в которой реализованы два моста для полноценного управления ШД. Кроме того, драйвер (рис. 9.13) может коммутировать направления тока в подключаемых обмотках ШД в разных направлениях.


По сигналу En А можно быстро размыкать ключи моста. Недостатком микросхемы является отсутствие диодов защиты ключей от обратных токов, поэтому в практическом применении необходимо дополнять схему диодами. Для предотвращения перегрузки по току в схему введен датчик тока Rs. Если падение напряжения на этом резисторе выше нормы, то сработает схема защиты по току.

Схема управления шаговым двигателем

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


Питание схемы осуществляется от нестабилизированного источника 6,5 В (ток потребления до 1 А). Для полноценной работы микроконтроллера питание стабилизировано микросхемой IC3. При подаче питания на схему устройства, микроконтроллер автоматически выбирает пошаговый режим. На драйвер ШД питание подается через диод D9 защиты от изменения полярности источника. О включении питания сигнализирует светодиод LED3.

Микроконтроллер синхронизирован от кварцевого резонатора частотой 4 МГц. При нажатии кнопки S1 ("Старт/Стоп") активизируется прерывание INTO, программа в микроконтроллере проверяет состояние порта РА. АЦП считывает уровень напряжения на регуляторе скорости R5 и направление вращения ШД на тумблере S3. Для правильного функционирования АЦП с учетом замечаний в книге [19] автор дополнил схему элементами, влияющими на считывание данных. Питание АЦП, встроенного в микроконтроллер, осуществляется через фильтр высокочастотных помех L3, СП, наводимых ядром микроконтроллера во время работы схемы.

После обработки информации на выводы РАЗ-РА7 подаются импульсы соответствующей последовательности со скоростью, пропорциональной уровню напряжения на R5. Элементы R5, R6, С9 — это своеобразный интегратор для регулируемого напряжения.

В режиме реального времени проверяется состояние вывода РАО микроконтроллера. Если кнопка S2 длительно нажата (около 1-2 с), то микроконтроллер переводит программу в режим скорости вращения ШД. При повторном длительном нажатии происходит переход в пошаговый режим.

Для управления направлением вращения существует трехходовой двухсекционный тумблер S3. Одна его секция включает светодиоды, показывающие направление вращения ШД, а вторая — коммутирует порт РА1 микроконтроллера.

Логика управления ШД реализована в микроконтроллере Tiny26. Поскольку этот микроконтроллер не может коммутировать большие токи, применен драйвер L298. Между драйвером и микроконтроллер установлена микросхема А1, которая отслеживает токи обмоток ШД. Для контроля тока в обмотках ШД в драйвере IC2 присутствуют выводы 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].


На втором этапе в регистре ADCSR с помощью разрядов 0-2 задается тактовая частота АЦП путем деления тактовой частоты микроконтроллера (тактовая частота АЦП обязательно должна находиться в пределах 50-200 кГц). Затем разрешается работа АЦП, выбирается режим его работы (в данном случае — одиночное преобразование) и активизируется преобразование, которое длится 25 тактов АЦП. В конце преобразования данные записываются в регистры данных АЦП ADCL и ADCH. Чтение регистров строго определено: сначала — ADCL, потом — ADCH.

Если не предпринимать мер подавления помех, то программа считывания данных АЦП работает нестабильно из-за наводок и шумов от питающей сети. Для защиты входа АЦП применен малый фильтр L3, СП по питанию аналоговой части микроконтроллера. Кроме того, данные считываются четыре раза, суммируются и делятся на четыре путем сдвига вправо с переносом на два разряда. Результат среднего арифметического позволяет достоверно судить о считанном напряжении.

После считывания данных разрешается прерывание и проверяется нажатие кнопки "Старт". В это время программа находится в ожидании команды "Старт". Когда команда "Старт" поступает, программа проверяет, нажата ли кнопка "Скорость/шаг", и при соответствующем режиме разветвляется по одной из двух исполнительных ветвей.

В режиме "Скорость" светодиод LED4 гаснет, а в режиме "Шаг" — засвечивается. Для определения режима "Шаг/Скорость" необходима подпрограмма измерения длительности нажатия кнопки. После измерения происходит разветвление программы. Первая ветвь соответствует режиму "Скорость", в котором задается скорость, пропорциональная напряжению, полученному с АЦП. Вторая ветвь соответствует режиму "Шаг". При этом программа ожидает короткое (менее 0,5 с) нажатие кнопки "Шаг".

По мере выполнения операций программа проверяет, в каком направлении задан режим вращения ШД. По соответствующему коду состояния ШД задается код перехода влево или вправо (против часовой стрелки или по часовой стрелке). Начальное положение ШД неопределенно, поэтому порты ввода-вывода обнуляются, и алгоритм вращения ШД повторяется сначала. После отработки выбранного шага программа начинает заново опрос режимов работы ШД. Если все режимы заданы, то программа автоматически продолжает выполнение команд, если же нет — переходит в режим ожидания. Цикл повторяется бесконечно.

Для правильной коммутации фаз автор разработал таблицу кодировки фаз (табл. 9.1). В случае применения униполярных двигателей

или полного режима "шаг, половина, шаг" можно изменить таблицу и дополнить код.

Таблица 9.1. Таблица кодировки фаз

ШАГ

РА7

РА6

РА5

РА4

COD

Примечание

1

1

0

0

0

8

шаг

2

1

0

>

1

0

А

половина

3

0

0

1

0

2

шаг

4

0

1

1

0

6

половина

5

0

1

0

0

4

шаг

6

0

1

0

1

5

половина

7

0

0

0

1

1

шаг

8

1

0

0

1

9

половина

Программа активно использует стек, поскольку микроконтроллер ATtiny26 имеет в своем составе 254 ячейки ОЗУ. Это позволяет более рационально использовать память программ и повышает гибкость при написании алгоритма.

Плата

Монтажная схема платы представлена на рис. 9.16, а схема разводки— на рис. 9.17. Макет платы для проверки параметров и возможностей ШД, а так же для изучения работы ШД в разных режимах показан на рис. 9.18. Все элементы управления размещены на плате. Выключатель питания находится в блоке питания. Направление вращения двигателя задается трехходовым тумблером, а скорость вращения — с помощью переменного сопротивления (небольших габаритов с колпачком для ручной регулировки). Режимы "Старт/Стоп" и "Шаг/Скорость" задается однократным (менее 2 с) нажатием соответствующей кнопки (для быстрой ориентации кнопки имеют разный цвет колпачков).

Плата оснащена ножками для крепления в любом корпусе. В случае, если мощность двигателя велика (более 5 Вт), для микросхемы драйвера L298 необходим радиатор общей площадью 1000 мм2.


Для демонстрации была разработана монтажная плата из текстолита с двухсторонней разводкой. Автор собрал устройство на макетной плате путем навесного монтажа. Дроссель L3 — 10-100 мкГн (фильтрующий элемент) с током не менее 20 мА. Светодиоды — любого цвета свечения с током не более 8 мА. Кнопки SI, S2 — любые, контактного типа.

Тумблер S3 — любой двухходовой (автор применил трехходовой на ток 3 А) на ток в схеме не более 20 мА. Диоды — любые кремниевый на обратное напряжение не менее 30 В и прямой ток не менее 1 А. Все микросхемы (кроме драйвера L298) установлены на панельках для оперативной замены.


Настройка

Для быстрого программирования на плате присутствует разъем ISP. Программу с компьютера через программатор можно оперативно внести в микроконтроллер. Это позволяет на базе одной схемы смоделировать различные устройства, по своим назначениям и функциям отличающиеся от рассмотренного примера. Для предотвращения неправильного питания от программатора к разъему SV1 подключен D10.


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

Функции тумблера S3 можно расширить, изменив программу. Диапазон скорости вращения вала ШД также задается константами в программе. В начале настройки питание схемы подается на плату без микросхем микроконтроллера Tiny26 и L6506, а разъем ШД отсоединен. Если все исправно, то устанавливается L6506 и проверяются уровни напряжения на Rl, R2 и R4 (соответственно О В, О В и 0,54 В), после чего устанавливается микроконтроллер.

При включении проверяются импульсы управления на разъеме ШД. В случае соответствия импульсов от микроконтроллера осциллограммам к плате подключается разъем ШД. Далее при подключении ШД и выборе режима "Скорость" необходимо настроить защиту по току. Для этого, устанавливая режим "Скорость" и "Старт", необходимо уменьшить сопротивление R3 с 82 кОм до 62 кОм. Когда вал ШД нормально вращается во всем диапазоне регулировки оборотов двигателя, дальнейшая настройка защиты по току не нужна. Если необходимо для эксперимента увеличить диапазон регулировки оборотов двигателя, то можно уменьшить сопротивление R13 с 47 кОм до 4,7 кОм. В случае, когда микроконтроллер плохо реагирует на кнопку "Старт", необходимо увеличить номинал резистора R12 с 10 кОм до 100 кОм.

В дальнейших разработках устройства можно отказаться от применения микросхемы А1 при условии полной уверенности в отсутствии перегрузок обмоток ШД. При этом элементы R1-R4 и А1 не нужны, а выводы 11, 12, 13 и 14 микроконтроллера IC1 подключаются соответственно к выводам 5, 7, 10 и 12 драйвера IC2.


Файлы к статье Шаговый двигатель для транспортера на МК

Категория: Устройства на микроконтроллерах | Добавил: Администратор (23.10.2011)
Просмотров: 11099 | Комментарии: 2 | Теги: двигатель, МК, для, Шаговый, НА, транспортера | Рейтинг: 0.0/0


Всего комментариев: 2
0
2 Александр   (04.03.2015 08:07)
Спасибо, всё нормально

0
1 demo   (25.10.2011 05:01)
wacko

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2016