




Эта схема является частью схемы опубликованной в журнале «РадиоХобби» №1 за 2001г. Стр. 44 в статье Юрия Сафонова из Киева «Система Дистанционного Управления для High - End УМЗЧ».
![]() |
Описание схемы.
На элементах микросхемы DD1.3, DD1.4. выполнен задающий генератор. Элементы C1 и R1 – времязадающие цепи генератора, обуславливают скорость вращения двигателя. Когда на одном из входов DD1.1 появится уровень «0» (команды «Вперед» и «Назад»), то на выходе этого элемента появится уровень «1», который разрешит работу задающего генератора, а через инвертор DD1.2 и работу дешифратора, что приведет к формированию ключами DD4, DD5 импульсов питающего напряжения двигателя.
![]() |
При отсутствии команды (уровня «0») на выводах «Вперед» и «Назад», питание на двигатель не подается. Направление вращения вала задает сигнал на выходе 10 реверсивного счетчика DD2. Концевые выключатели ставят по надобности.
![]() |
Двигатель подключается методом «научного втыка», потому, что скорее всего цветовая маркировка не совпадёт. Всё зависит от производителя конкретного двигателя. В первую очередь находим тестером в режиме омметра средние выводы шагового двигателя, соединив их вместе, подключаем к +12 вольтам схемы. Затем, схему управления шагового двигателя подключаем к блоку питания. Подключаем любой вход управления (вперед - назад) к общему проводу и по очереди оставшиеся выводы двигателя, получаем нормальное вращение. В качестве : DD1 - К561 ЛА7, DD2 - К561 ИЕ14, DD3 - К555 ИД7, DD4,DD5 - К155 ЛИ5.
Источник: https://orion.ucoz.com/
Обсудить на форуме 
Шаговые двигатели достаточны распространены в устройствах, в которых необходимо добиться точного перемещения механизмов. Существует много типов шаговых двигателей, но самыми дружелюбными в плане управления являются 2-х фазные униполярные двигатели. Этот тип двигателей имеет две независимые обмотки с выводами от середины. Их можно встретить преимущественно в старой технике: принтерах, копирах, дисководах (5-и дюймовых) и еще много где.
В зависимости от от того как соединены средние обмотки внутри, из двигателя могут выходить 5 или 6 проводов. Разницы никакой нет, все равно средние выводы обмоток соединяются вместе. Характерной особенностью шаговых двигателей является дискретность поворота ротора, тоесть если взять и покрутить вал двигателя можно ощутить как он фиксируется в определенных моментах. Это и есть шаги двигателя. При запитывании одной из половины обмоток происходит фиксирование вала двигателя в определенном положении. Если снять напряжение с этой обмотки и запитать другую, ротор повернется и зафиксируется в другом положении. Таким образом, если запитывать обмотки в определенной последовательности можно добиться вращения вала двигателя.
Существует несколько алгоритмов управления питанием обмоток двигателя. Самым простым является полношаговое управление, когда в любой момент времени запитана только одна из половинок обмоток. Для наглядности накидал табличку показывающую последовательность включения обмоток:

Ротор при таком управлении принимает естественное положение относительно статора. Есть еще способ управления шаговиком в полношаговом режиме, когда одновременно запитываются две фазы, таким образом удается увеличить момент на валу на 40%.
Главным недостатком полношагового управления являются аццкие вибрации двигателя и малая дискретность шага, равная паспортному значению.
Для того чтобы уменьшить вибрации и добится более плавного и точного вращения вала существует более продвинутый способ - управление в полушаговом режиме, алгоритм включения половинок обмоток приведен ниже:
При такой работе вал двигателя за один цикл совершает половину шага и фиксируется между двумя естественными состояниями равновесия. Таким образом дискретность поворота вала увеличивается в 2 раза.
Есть еще способ увеличить дробленеи шага ротора двигателя - микрошаговое управление - когда обмотка не просто запитывается, а запитывается определенным током. И от отношения тока в соседних обмотках зависит положение ротора - чем больший ток течет в обмотке по отношению к соседней, тем ближе к ней смещается ротор и наоборот. Это позволяет увеличить дробление шага в десятки и сотни (!) раз.
С теорией немного разобрались, теперь нужно выбрать в каком режиме будет управляться двигатель. Полный шаг слишком убог и не эффективен, микрошаг сложен, да и нужен он в основном в управлении приводом высокоточного ЧПУ станка. Поэтому крутить будем в полушаге :)
Схема базируется на микроконтроллере attiny2313 и имеет две кнопки. При нажатии на одну вал двигателя будет крутиться в одну сторону, при нажатии другой - в другую. В качестве ключевых транзисторов выбраны КТ829, способные протащить через себя до 8 Ампер.

Плата управления в сборе:


Красный светодиод загорается при нажатии одной из кнопок. Разъем подключения контроллера по UART сделал опционально, на случай если нужно будет приделать управление шаговиком с компа.
Код в Bascom-AVR:
$regfile = "2313def.dat"$crystal = 4000000Dim S As Byte 'эта переменная следит за номером шага двигателя
S = 1
On Int0 Knopka1 'даем имена обработчикам внешних прерыванийOn Int1 Knopka2
Config Portb = Output 'конфигурируем порт на выходConfig Portd.5 = Output 'конфигурируем ногу для подключения светодиодаLed Alias Portd.5 'присваиваем имя LED выводу 5 порта D
'прерывания будут генерироваться пока на ноге низкий уровень, то есть пока кнопка будет нажатаConfig Int0 = Low LevelConfig Int1 = Low Level
'разрешаем прерыванияEnable InterruptsEnable Int0Enable Int1
'основной цикл программы, просто ждем прерыванияDo
Loop
Knopka1: 'обработчик прерывания первой кнопки
Led = 1 'зажигаем светодиод
Incr S 'увеличим номер шага
If S = 9 Then 'максимально возможный номер шага = 8 S = 1 End If
Select Case S 'выбираем какие обмотки включать в зависимости от номера шага
Case 1 : Portb = &B00000001Case 2 : Portb = &B00000011Case 3 : Portb = &B00000010Case 4 : Portb = &B00000110Case 5 : Portb = &B00000100Case 6 : Portb = &B00001100Case 7 : Portb = &B00001000Case 8 : Portb = &B00001001
End Select
Waitus 1000 'задержка между шагами
Led = 0 'гасим светодиод
Return
Knopka2: 'обработчик прерывания второй кнопки
Led = 1 'зажигаем светодиод
Decr S 'тут все тоже самое, только в обратном направлении
If S = 0 Then 'минимально возможный номер шага = 1 S = 8 End If
Select Case S
Case 1 : Portb = &B00000001Case 2 : Portb = &B00000011Case 3 : Portb = &B00000010Case 4 : Portb = &B00000110Case 5 : Portb = &B00000100Case 6 : Portb = &B00001100Case 7 : Portb = &B00001000Case 8 : Portb = &B00001001
End Select
Waitus 1000
Led = 0 'гасим светодиод
Return
End
Изменяя величину задержки между шагами, можно в больших пределах регулировать скорость вращения вала. При выбранной мной задержке в 1000 мкс с шаговиком имеющем 200 шагов на оборот (400 полушагов) скорость вращения получается примерно 2,5 оборота в секунду.
Скачать файлы к проекту
UPD: Здесь допилил программу, теперь стало возможным управление шаговым двигателем с компьютера.
avrproject.ru

Как работает шаговый двигатель?
Шаговые двигатели отличаются от регулируемых двигателей постоянного тока. Вместо того чтобы вращаться как двигатели постоянного тока, шаговый двигатель совершает дискретное вращение под воздействием серии импульсов. В нашем примере двигателю необходимо 48 импульсов чтобы совершить полный оборот в 360 градусов.

Другое преимущество шаговых двигателей - то, что их скорость вращения может быть достигнута почти мгновенно при изменении направления вращения на противоположное.
Шаговый двигатель состоит из ротора - постоянного магнита, который вращается внутри, и статор - четыре катушки (север, восток, юг, запад), которые являются частью корпуса и не перемещаются. Ротор совершает вращение посредством последовательных импульсов напряжение постоянного тока подаваемого к одной или двум катушкам одновременно.
Устройство Шагового двигателя.
Чтобы управлять шаговым двигателем необходим контроллер. Контроллер - схема, которая подает напряжение к любой из четырех катушек статора. Устройство может быть построено с использованием интегральной микросхемы типа ULN2003 (отечественный аналог К1109КТ22) состоящая из набора мощных составных ключей с защитными диодами на выходе. Наличие защитных диодов позволяет подключать индуктивные нагрузки без дополнительной защиты от выбросов обратного напряжения.
Подключения шагового двигателя.


Однополярный двигатель должен иметь пять или шесть контактов в зависимости от модели. Если двигатель имеет шесть контактов то необходимо соединить выводы 1 и 2 (красный) вместе и подключить их к плюсу 12-24V напряжения питание. Оставшиеся выводы a1 (желтый), b1 (черный), a2 (оранжевый), b2 (коричневый) подключить к контроллеру согласно схеме.
Способы управления.
Есть несколько способов, которые вы можете использовать, чтобы управлять шаговым двигателем.
1. Одиночные импульсы - самый простой способ. Одновременно подключается только одна катушка. Необходимо 48 пульсов чтобы ротор совершил один полный оборот. Каждый пульс перемещает ротор на 7,5 градусов.

2. Двойной импульс - одновременное подключение двух соседних катушек. В этом случае также необходимо 48 пульсов чтобы ротор совершил один полный оборот. Каждый пульс перемещает ротор на 7,5 градусов.
3. Комбинированные импульсы - чередование первого и второго способа. Двигатель нуждается в 96 пульсах, чтобы совершить один оборот. Каждый пульс перемещает ротор приблизительно на 3,75 градуса.
Программное обеспечение контроллера шагового двигателя.
Для управления работой шагового двигателя используем компьютер и программу. При использовании компьютера вы будете в состоянии сделать намного больше с вашим шаговым двигателем и наиболее важно - визуализировать, как ток течет через катушки
В программе понятный графический интерфейс, который позволяет точно управлять скоростью двигателя и направлением вращения в реальном времени, а также позволяет выбирать способы управления. Программа работает с версией Windows (98/ME/2000/XP). и скачать ее можно тутtehnomir.ucoz.lv