Контроллер шагового двигателя

Дипломная работа
  • Реализация контроллера шагового двигателя
  • Изучение системы программирования PureBasic
  • Разработка и изготовление модели на шаговых двигателях

  • Шаговый двигатель — механическое устройство, преобразующее электрические импульсы в механическое, причём, в отличие от других двигателей, «управляемое» движение, т.е. угол поворота ротора зависит от количества поступивших на двигатель импульсов. Шаг такого двигателя — величина угла поворота ротора за один поданный импульс. Внешне шаговый двигатель не отличается от двигателей других типов. Обычно это — цилиндрический корпус, вал, несколько выводов. ( рис.1.1 )

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

    Контроллер шагового двигателя 1

    Рис. 1.1 Внешний вид ШД семейства ДШИ-200.

    угол поворота ротора определяется числом импульсов, которые поданы на двигатель

    двигатель обеспечивает полный момент в режиме остановки (если обмотки запитаны)

    Хорошие шаговые двигатели имеют точность 3-5% от величины шага. Эта ошибка не накапливается от шага к шагу.

    возможность быстрого старта/остановки/реверсирования

    высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников

    однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи (т.е. без дополнительных затрат на устройства реализующие ОС — датчики положения ротора, согласование их с устройством управления и т.д.)

    возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора

    может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов

    Также существуют некоторые недостатки:

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

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

    11 стр., 5371 слов

    Шаговый двигатель

    ... шаговые электродвигатели состоят из статора , на котором расположены обмотки возбуждения, и ротора, выполненного из магнито-мягкого (ферромагнитного) материала или из магнито-твёрдого (магнитного) материала. Шаговые двигатели с магнитным ротором ... редукции угла поворота и скорости вращения. Отношение Mmax/J дает теоретически предельное ускорение ротора шагового двигателя. Электромагнитная постоянная ...

    потребление энергии не уменьшается даже без нагрузки

    затруднена работа на высоких скоростях

    невысокая удельная мощность

    относительно сложная схема управления

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

    • двигатели с постоянными магнитами
    • гибридные двигатели

    Определить тип двигателя можно даже на ощупь: при вращении вала обесточенного двигателя с постоянными магнитами (или гибридного) чувствуется переменное сопротивление вращению, двигатель вращается как бы щелчками. В то же время вал обесточенного двигателя с переменным магнитным сопротивлением вращается свободно. Гибридные двигатели являются дальнейшим усовершенствованием двигателей с постоянными магнитами и по способу управления ничем от них не отличаются. Определить тип двигателя можно также по конфигурации обмоток. Двигатели с переменным магнитным сопротивлением обычно имеют три (реже четыре) обмотки с одним общим выводом. Двигатели с постоянными магнитами чаще всего имеют две независимые обмотки. Эти обмотки могут иметь отводы от середины. Иногда двигатели с постоянными магнитами имеют 4 раздельных обмотки.


    Шаговые двигатели с переменным магнитным сопротивлением имеют несколько полюсов на статоре и ротор зубчатой формы из магнитомягкого материала ( рис.1.2 ).

    Намагниченность ротора отсутствует. Для простоты на рисунке ротор имеет 4 зубца, а статор имеет 6 полюсов. Двигатель имеет 3 независимые обмотки, каждая из которых намотана на двух противоположных полюсах статора. Такой двигатель имеет шаг 30 град.

    Контроллер шагового двигателя 2

    Рис. 1.2 Двигатель с переменным магнитным сопротивлением.

    При включении тока в одной из катушек, ротор стремится занять положение, когда магнитный поток замкнут, т.е. зубцы ротора будут находиться напротив тех полюсов, на которых находится запитанная обмотка. Если затем выключить эту обмотку и включить следующую, то ротор поменяет положение, снова замкнув своими зубцами магнитный поток. Таким образом, чтобы осуществить непрерывное вращение, нужно включать фазы попеременно. Двигатель не чувствителен к направлению тока в обмотках. Реальный двигатель может иметь большее количество полюсов статора и большее количество зубцов ротора, что соответствует большему количеству шагов на оборот. Иногда поверхность каждого полюса статора выполняют зубчатой, что вместе с соответствующими зубцами ротора обеспечивает очень маленькое значения угла шага, порядка нескольких градусов. Двигатели с переменным магнитным сопротивлением довольно редко используют в

    Двигатели с постоянными магнитами состоят из статора, который имеет обмотки, и ротора, содержащего постоянные магниты (рис.1.3).

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

    Рис двигатель с переменным магнитным сопротивлением  1

    Рис. 1.3 Двигатель с постоянными магнитами.

    Показанный на рис.1.3 двигатель имеет 3 пары полюсов ротора и 2 пары полюсов статора. Двигатель имеет 2 независимые обмотки, каждая из которых намотана на двух противоположных полюсах статора. Такой двигатель, как и рассмотренный ранее двигатель с переменным магнитным сопротивлением, имеет величину шага 30 град. При включени тока в одной из катушек, ротор стремится занять такое положение, когда разноименные полюса ротора и статора находятся друг напротив друга. Для осуществления непрерывного вращения нужно включать фазы попеременно. На практике двигатели с постоянными магнитами обычно имеют 48 — 24 шага на оборот (угол шага 7.5 — 15 град).

    9 стр., 4065 слов

    Электропривод с шаговым двигателем

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

    Разрез реального шагового двигателя с постоянными магнитами показан на рис.1.4.

    Рис двигатель с постоянными магнитами  1

    Рис. 1.4 Разрез шагового двигателя с постоянными магнитами.

    Для удешевления конструкции двигателя магнитопровод статора выполнен в виде штампованного стакана. Внутри находятся полюсные наконечники в виде ламелей. Обмотки фаз размещены на двух разных магнитопроводах, которые установлены друг на друге. Ротор представляет собой цилиндрический многополюсный постоянный магнит.

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

    Гибридные двигатели являются более дорогими, чем двигатели с постоянными магнитами, зато они обеспечивают меньшую величину шага, больший момент и большую скорость. Типичное число шагов на оборот для гибридных двигателей составляет от 100 до 400 (угол шага 3.6 — 0.9 град.).

    Гибридные двигатели сочетают в себе лучшие черты двигателей с переменным магнитным сопротивлением и двигателей с постоянными магнитами. Ротор гибридного двигателя имеет зубцы, расположенные в осевом направлении ( рис.1.5 ).

    Рис разрез шагового двигателя с постоянными магнитами  1

    Рис. 1.5 Гибридный двигатель.

    Ротор разделен на две части, между которыми расположен цилиндрический постоянным магнит. Таким образом, зубцы верхней половинки ротора являются северными полюсами, а зубцы нижней половинки — южными. Кроме того, верхняя и нижняя половинки ротора повернуты друг относительно друга на половину угла шага зубцов. Число пар полюсов ротора равно количеству зубцов на одной из его половинок. Зубчатые полюсные наконечники ротора, как и статор, набраны из отдельных пластин для уменьшения потерь на вихревые токи. Статор гибридного двигателя также имеет зубцы, обеспечивая большое количество эквивалентных полюсов, в отличие от основных полюсов, на которых расположены обмотки. Обычно используются 4 основных полюса для 3.6 град. двигателей и 8 основных полюсов для 1.8 — и 0.9 град. двигателей. Зубцы ротора обеспечивают меньшее сопротивление магнитной цепи в определенных положениях ротора, что улучшает статический и динамический момент. Это обеспечивается соответствующим расположением зубцов, когда часть зубцов ротора находится строго напротив зубцов статора, а часть между ними. Зависимость между числом полюсов ротора, числом эквивалентных полюсов статора и числом фаз определяет угол шага S двигателя:

    16 стр., 7834 слов

    Синхронный двигатель

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

    = 360/ (Nph*Ph) = 360/N,

    где Nph — чило эквивалентных полюсов на фазу = число полюсов ротора, Ph — число фаз, N — полное количество полюсов для всех фаз вместе.

    Ротор показанного на рисунке двигателя имеет 100 полюсов (50 пар), двигатель имеет 2 фазы, поэтому полное количество полюсов — 200, а шаг, соответственно, 1.8 град.

    Продольное сечение гибридного шагового двигателя показано на рис.6. Стрелками показано направление магнитного потока постоянного магнита ротора. Часть потока (на рисунке показана черной линией) проходит через полюсные наконечники ротора, воздушные зазоры и полюсный наконечник статора. Эта часть не участвует в создании момента.

    Рис гибридный двигатель  1

    Рис. 1.6. Продольный разрез гибридного шагового двигателя.

    Как видно на рисунке, воздушные зазоры у верхнего и нижнего полюсного наконечника ротора разные. Это достигается благодаря повороту полюсных наконечников на половину шага зубъев. Поэтому существует другая магнитная цепь, которая содержит минимальные воздушные зазоры и, как следствие, обладает минимальным магнитным сопротивлением. По этой цепи замыкается другая часть потока (на рисунке показана штриховой белой линией), которая и создает момент. Часть цепи лежит в плоскости, перпендикулярной рисунку, поэтому не показана. В этой же плоскости создают магнитный поток катушки статора. В гибридном двигателе этот поток частично замыкается полюсными наконечниками ротора, и постоянный магнит его «видит» слабо. Поэтому в отличие от двигателей постоянного тока, магнит гибридного двигателя невозможно размагнитить ни при какой величине тока обмоток.

    Величина зазора между зубцами ротора и статора очень небольшая — типично 0.1 мм. Это требует высокой точности при сборке, поэтому шаговый двигатель не стоит разбирать ради удовлетворения любопытства, иначе на этом его срок службы может закончиться.

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

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

    Существуют и другие конструкции шаговых двигателей. Например, двигатели с дисковым намагниченным ротором. Такие двигатели имеют малый момент инерции ротора, что в ряде случаев важно.


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

    26 стр., 12637 слов

    Особенности летной и технической эксплуатации двигателя ТВ2-117А(АГ)

    ... ротора турбокомпрессора вместо контактно-кольцевого. Двигатели с указанным изменением имеют условное обозначение ТВ2-11АГ и по своим техническим параметрам и эксплуатации не отличаются от двигателей ТВ2-117А. Основные характеристики двигателя ТВ2 ...

    Рис продольный разрез гибридного шагового двигателя  1

    Рис. 1.7 Биполярный двигатель (а), униполярный (б) и четырехобмоточный (в).

    Униполярный двигатель также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера. Драйвер должен иметь только 4 простых ключа. Таким образом, в униполярном двигателе используется другой способ изменения направления магнитного поля. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов (рис.1.7б).

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

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

    Существует несколько способов управления фазами шагового двигателя. Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис 8а).

    Этот способ называют ”one phase on” full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 50% обмоток, а для униполярного — только 25%. Это означает, что в таком режиме не может быть получен полный момент.

    шаговый двигатель контроллер кран

    Рис биполярный двигатель а  1

    Рис.1.8 Различные способы управления фазами шагового двигателя.

    Второй способ — управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют ”two-phase-on» full step или просто full step mode. При этом способе управления ротор фиксируется в промежуточных позициях между полюсами статора (рис.1.8б) и обеспечивается примерно на 40% больший момент, чем в случае одной включенной фазы. Этот способ управления обеспечивает такой же угол шага, как и первый способ, но положение точек равновесия ротора смещено на пол-шага.

    Третий способ является комбинацией первых двух и называется полушаговым режимом, ”one and two-phase-on” half step или просто half step mode, когда двигатель делает шаг в половину основного. Этот метод управления достаточно распространен, так как двигатель с меньшим шагом стоит дороже и очень заманчиво получить от 100-шагового двигателя 200 шагов на оборот. Каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две (рис.1.8в).

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

    Еще один способ управления называется микрошаговым режимом или micro stepping mode. При этом способе управления ток в фазах нужно менять небольшими шагами, обеспечивая таким образом дробление половинного шага на еще меньшие микрошаги. Когда одновременно включены две фазы, но их токи не равны, то положение равновесия ротора будет лежать не в середине шага, а в другом месте, определяемом соотношением токов фаз. Меняя это соотношение, можно обеспечить некоторое количество микрошагов внутри одного шага. Кроме увеличения разрешающей способности, микрошаговый режим имеет и другие преимущества, которые здесь описаны не будут. Вместе с тем, для реализации микрошагового режима требуются значительно более сложные драйверы, позволяющие задавать ток в обмотках с необходимой дискретностью. Полушаговый режим является частным случаем микрошагового режима, но он не требует формирования ступенчатого тока питания катушек, поэтому часто реализуется.

    В приложении 3 наглядно показан принцип работы шагового двигателя.

    контроллером шагового двигателя [3].

    Рис биполярный двигатель а  2

    Контроллер может быть выполнен в виде отдельного автономного устройства, которое допускает минимум вмешательства со стороны человека. У такого устройства могут быть несколько входов, управляя которыми можно задавать, например, направление вращения ротора двигателя и частоту вращения. Можно реализовать такой контроллер, используя последовательный регистр, который состоит из 4-х синхронных D-триггеров, вырабатывающих импульсы на выходах D0-D3. Принципиальная схема устройства изображена на рис.2.1. Элемент 4И формирует на первом триггере единицу, это нужно в тот момент, когда только включили устройство и на всех выходах — нули. На вход С устройства должны поступать импульсы, от частоты которых зависит скорость движения импульса по выходам D0-D3. Результаты моделирования устройства приведены в приложении 5 .

    Рис биполярный двигатель а  3

    Разумеется, непосредственно к выходам D0-D3 нельзя подключать обмотки двигателя — мощность импульсов слишком мала, их нужно усилить. Усиления можно добиться, пропустив импульсный сигнал через транзисторный каскад, например, как показано на рис.2.2. Транзистор VT1 должен иметь достаточную нагрузочную способность, чтобы управлять мощным транзистором VT2. Если на входе D каскада будет уровень напряжения, достаточный для открытия транзистора VT1, то ток потечёт через базу транзистора VT2, что заставит последнего открыться. Тогда между выходами Q и Q’ будет высокий уровень напряжения (порядка напряжения питания U) и, если подключить обмотку, то по ней потечёт ток и заставит ротор двигателя совершить шаг. Диод VD нужен для того, чтобы гасить ЭДС самоиндукции, возникающую в обмотке при вращении ротора. Это оберегает транзисторный каскад от работы в недопустимых режимах.

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

    Здесь я хочу отметить, что шаговый двигатель, для которого я выше описал контроллер — четырёх обмоточный, если бы это был 3-х обмоточный двигатель, то для него бы потребовалось только три D-триггера для выработки управляющих импульсов и три усилительных каскада, разумеется.

    Также контроллер может быть выполнен с использованием ЭВМ с параллельным портом, которая бы занималась выработкой управляющих импульсов, и адаптера, преобразующего сигналы ТТЛ-уровня LPT-порта ЭВМ в электрические импульсы, пригодные для питания обмоток ШД. ЭВМ в таком способе управления вносит некоторые плюсы, которые обязаны своим появлением легкостью программирования ЭВМ с помощью систем программирования, таких как Turbo Pascal и Basic. Так можно запрограммировать двигатель на определённую последовательность действий, например: сделать n шагов в сторону по часовой стрелке, затем сделать m шагов против часовой стрелки и т.д.

    Адаптер, усиливающий импульсы, можно взять с тем же принципом работы, как показано на рис.2.2 , но добавив специальный предварительный усилитель на микросхеме КР580ИР12, чтобы не перегружать параллельный порт компьютера. Принципиальная схема такого адаптера была позаимствована с журнала «Радио» [5] и изображена на рис.2.3 Предлагаемое устройство может одновременно и независимо управлять двумя двигателями. Микросхема DD1 выполняет функцию буферной памяти и предварительного усилителя. Окончательное усиление сигнала для подачи на обмотку ШД выполняет узел на транзисторах 1VT1 и 1VT2 (на принципиальной схеме показан только один из восьми, выделенный штрихпунктирной линией; остальные семь подключены соответственно к выходам Q2-Q8 регистра DD1).

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

    Рис биполярный двигатель а  4

    Диод 1VD1 выполняет функции подавления паразитных колебаний, возникающих при переключении тока в обмотке двигателя.

    Данных адаптер рассчитан на работу с четырёхфазными шаговыми двигателями, хотя не исключена возможность работы его с ШД, число фаз которого менее или равно восьми, с сопротивлением обмотки порядка 1-4 Ома.

    Мной была разработана и изготовлена печатная плата адаптера ( Рис.2.4 ) по схеме рис.2.3 , с использованием микросхемы К580ИР82. Микросхема К580ИР82 — восьмиразрядный буферный регистр. Номера используемых выводов микросхемы указаны в скобках, цепь с резистором R2 не требуется.

    Рис биполярный двигатель а  5

    Чтобы в регистр микросхемы записалось слово с входов D1-D8, необходимо, чтобы на входе CS1 было напряжение, соответствующее логической единице (3-4 Вольта).

    Проверку работы устройства выполняют поэтапно. Сначала проверяют исправность микросхемы DD1, затем производится проверка исправной работы усилительных каскадов на 1VT1 и 1VT2, при высоком уровне напряжения на транзисторе 1VT1 (порядка трёх Вольт) на диоде 1VD1, при отключенной обмотки ШД, должно быть напряжение, примерно равное напряжению питания. Собранное устройство, при исправных деталях, не требует отладки. Внешний вид адаптера показан на рис.1.5 Для управления ШД с помощью ЭВМ было создано специальное программное обеспечение в системе программирования Turbo Pascal 7.0, реализующее вращение как одного, так и обоих ШД, в одну и обратную сторону, скорость также можно регулировать программно.

    Рис биполярный двигатель а  6

    Схема включения обмоток ШД указана на рис.1.6 . Чтобы ротор вращался, необходимо кратковременно включать обмотки в последовательности —

    A-B-C-D или наоборот — D-C-B-A . Цифрами 1, 2, 3, 4 указано, к которым из транзисторных каскадов необходимо подключать обмотки, это необходимо для того, чтобы при подаче импульса на вход D0 включалась обмотка A, а не какая-либо другая, и так далее для каждой обмотки. Это необходимо для удобства в написании управляющей программы.

    Рис биполярный двигатель а  7


    PureBasic — язык программирования высокого уровня, основанный на синтаксисе стандартного языка программирования Basic. Язык разрабатывается более 10 лет и постоянно совершенствуется. Первый официальный выпуск системы был в октябре 2000 года.

    Кроссплатформенность — важная особенность PureBasic <#»604365.files/image015.gif»>

    • рисунке 4.1

    рисунке 4.2

    Рис биполярный двигатель а  8

    2 Программа управления краном на языке программирования PureBasic

    Автором была разработана программа управления краном. Программа активно работает с параллельным портом ЭВМ. Информация выводится через порт, управляя работой шаговых двигателей модели. Также в модель встроен датчик, который направляет информацию о положении стрелы в ЭВМ, программа эту информацию обрабатывает и корректирует свою работу.

    рисунке 4.3

    рисунке 4.4


    Все задачи, поставленные мною, были решены. Цель — достигнута. Была изучена литература, удалось реализовать контроллер для шагового двигателя, а также действующую модель с использованием шаговых двигателей. Автором был создан обучающий видеофильм, который можно использовать в учебных целях.

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

    Студенческая научная конференция, КГПИ, 2009 год. Тема доклада: контроллер шагового двигателя. Автор занял первое место среди докладчиков.Межрегиональная научная конференция, КГПИ, 2010 год. «Современные аудиовизуальные и информационные технологии в образовании». Тема доклада: разработка учебного видеофильма.


    1. Шевелёв И.В. Управление работой шаговых двигателей с помощью ЭВМ. Статья к студенческой научной конференции, 2009 год.

    • П. Высочанский. Основы языка PureBasic 4.0
    • Шевелёв И.В.

    Контроллер шагового двигателя. Курсовая работа, 2009 год.

    4. Демо-версия языка PureBasic — #»604365.files/image019.gif»>

    • В качестве устройства управления можно успешно использовать ЭВМ с LPT-портом. Например, нам требуется выполнить электронную » мигалку» на светодиоде. Для этого необходимо собрать схему:

    Токоограничивающий резистор R подбирается под конкретный светодиод, в нашем случае для светодиода HL — АЛ307КМ — 300 Ом:

    светодиоду АЛ307КМ с током потребления 10 мА желательно последовательно поставить резистор с сопротивлением (исходя из закона

    Ома: R= (U-Uд) /I, где U-напряжение питания (т.е.5 В), Uд, I-напряжение питания и ток потребления светодиода (можно найти в справочнике, для АЛ307КМ — Uд =2 В, I=10mA).

    Тогда R=300 Ом. Схема к ЭВМ подключается разъёмом DB-25М.

    В программе используется процедура delay (m) (задержка программы на время m, в миллисекундах) и с помощью цикла триггеру D0 порта попеременно присваивается значение «1» и «0», часть программы на паскале может выглядеть так:

    • [$378]: =1;(1000);[$378]: =0;(1000);keypressed;
    • Цикл завершится, как только пользователь нажмёт любую клавишу.

    Поскольку светодиод требует малый ток (примерно 5-15 мА) в схеме не пришлось использовать дополнительный источник питания, поэтому схема проста. Если необходимо управлять нагрузкой, с потребляемым током более 15 мА, то желательно использовать схемы с усилителем мощности и, разумеется, отдельным источником питания.

    Описанное выше устройство использует порт только как устройство вывода, хотя параллельный порт является более гибким устройством, способное выполнять ввод данных, следующая схема реализует слежение за положением выключателя SA 1 и может, при необходимости, включать и выключать какое-либо внешнее устройство, изменив, уже программно, информацию в регистре данных порта. Опять же, применение подобных схем не ограничивается включением или выключением какого-либо устройства, например, при включении SA 1 может запускаться программа, при реализации соответствующего ПО.

     программа управления краном на языке программирования  1

    Таким образом, при помощи ЭВМ можно управлять практически любым электронным прибором, в том числе и шаговым двигателем.

    2. Параллельный (LPT) порт IBM PC

    Данный порт компьютера IBM PC использует параллельный интерфейс и предназначен в основном для подключения принтера

    Регистр данных

    [Adres]: =Date

    Здесь Adres — адрес регистра. Например, чтобы записать в регистр данных D0 логическую единицу, необходимо порту 378Н присвоить значение «1». Это будет выглядеть так:

    • [$378]: =1;
    • А если требуется, чтобы единица была в разряде регистра D2, а на остальных — 0, то требуется порту задать значение «4».

    Данные с разрядов D0. D7 снимаются соответственно с 2.9 контактов разъёма DB-25M.

    Реализация ввода данных через порт реализуется подачей непосредственно на контакты, предназначенные для входа, высокого уровня напряжения (>=2,0 В), или низкого (<=0,8 В), которые и будут расцениваться за логическую единицу и ноль соответственно (если вход инвертирован, тогда наоборот).

    [9]

    Полезной будет следующая таблица:

    Регистр

    Адрес

    Разряды регистра

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    Данных (*) выход

    Base

    D7 (9)

    D6 (8)

    D5 (7)

    D4 (6)

    D3 (5)

    D2 (4)

    D1 (3)

    D0 (2)

    Состояния (*) вход Base+1 Регистр данных 1

    (11) Ackn

    (10) PE

    (12) Select

    (13) Регистр данных 2

    (15) XXX

    Где Base — базовый порт (LPT1-378H, LPT2-278H), тогда Base+1 — 379H (или 279H).

    (*) — в скобках указан номер вывода разъёма DB-25M, соответствующий разряду регистра.

    3. Видеофильм о шаговых двигателях

    Видеофильм находится в каталоге с doc файлом выпускной квалификационной работы, имя файла —

    Учебный видеофильм о шаговых двигателях. AVI, . Текст программы управления моделью крана

    процедура реализует задержку, замена

    стандартной delay ()

    процедура получения информации

    подпрограмма преобразования порядкового

    номера в единицу соответствующего разряда

    ; ButtonGadget (11,50,250,250,30,»Получить информацию о состоянии регистра»)

    ; StringGadget (12,50,280,80, 20, «»,#PB_String_Numeric)(10,10,330,150, 30,»Длительность управляющих импульсов — мс «)(9,80,342,40,18, «10»,#PB_String_Numeric)(0, 0, 0, 400, 300, ImageID (0))

    ; StringGadget (8, 8, 200, 100, 20, «»)(1, #PB_Shortcut_Escape,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Right,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Up,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Down,

    )= ElapsedMilliseconds (); Get the actual valueu=1 To 10000000 Step 1=100u= ElapsedMilliseconds () — StartTime=Round (10000000/ElapsedTime*100/200, #PB_Round_Up)

    ; text. s=StrQ (dn)

    ; SetGadgetText (8,text); Начало главного цикла.e=1_out ($378,0)(1,10,10,640,400,»Управление Моделью Крана»,#PB_Window_MinimizeGadget)(0,»screen_1. bmp»)(2,131,137,25,25,»»)(3,230,137,25,25,»»)(4,178,98,25,25,»»)(5,178,180,25,25,»»)(6,350, 20,280,25,»Режим управления клавиатурой и мышью»)(7,480,360,140,25,»Выйти из программы»)

    ; ButtonGadget (11,50,250,250,30,»Получить информацию о состоянии регистра»)

    ; StringGadget (12,50,280,80, 20, «»,#PB_String_Numeric)(10,10,330,150, 30,»Длительность управляющих импульсов — мс «)(9,80,342,40,18, «10»,#PB_String_Numeric)(0, 0, 0, 400, 300, ImageID (0))

    ; StringGadget (8, 8, 200, 100, 20, «»)(1, #PB_Shortcut_Escape,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Right,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Up,

    ; AddKeyboardShortcut (1, #PB_Shortcut_Down,

    )=0=WaitWindowEvent (); Получаем идентификатор события.=EventGadget (); Узнаём идентификатор активного гаджета.=GetGadgetText (9)=ValQ (string1)Gadget=7 And event=#PB_Event_Gadget=1Gadget=2 And event=#PB_Event_Gadget; движение влевоi=1 To 10 Step 1j=3 To 0 Step — 1=kod (j)_out ($378,k)(t,dn)j_out ($378,0)iGadget=3 And event=#PB_Event_Gadget; движение вправоi=1 To 10 Step 1j=0 To 3 Step 1=lpt_inp ($379)a=126=kod (j)_out ($378,k)(t,dn)j_out ($378,0)iGadget=4 And event=#PB_Event_Gadget; движение вверхi=1 To 40 Step 1j=4 To 7 Step 1=kod (j)_out ($378,k)(t,dn)j_out ($378,0)iGadget=5 And event=#PB_Event_Gadget; движение внизi=1 To 40 Step 1j=7 To 4 Step — 1=kod (j)_out ($378,k)(t,dn)j_out ($378,0)iEvent=#PB_Event_Gadget And Gadget=6=0=0=0()(WindowID (1), 0, 0, 40, 30, 0, 0, 0)=lpt_inp ($379)=j+1j>3=0=kod (j)_out ($378,k)(t/2,dn)=kod (j)_out ($378,k)(t/2,dn)a=118(); слежение за состоянием курсора мыши(); слежение за нажатыми клавишами= MouseDeltaX ()= MouseDeltaY ()=MouseWheel ()=lpt_inp ($379)(x>1 Or KeyboardPushed (#PB_Key_Right)) And (a=126)=j+1=s-1j>3=0=kod (j)_out ($378,k)(2*t,dn)=kod (j)_out ($378,k)(2*t,dn)(x<-1 Or KeyboardPushed (#PB_Key_Left)) And (s<170)=j-1j<0=3=kod (j)_out ($378,k)(2*t,dn)=kod (j)_out ($378,k)(2*t,dn)=s+1y<-1 Or KeyboardPushed (#PB_Key_Up)=i+1i>7=4=kod (i)_out ($378,k)(t,dn)=kod (i)_out ($378,k)(t,dn)y>1 Or MouseButton (2) Or KeyboardPushed (#PB_Key_Down)=i-1i<4=7=kod (i)_out ($378,k)(t,dn)=kod (i)_out ($378,k)(t,dn)w>0i=1 To 20 Step 1j=4 To 7 Step 1=kod (j)_out ($378,k)(t,dn)jiw<0i=1 To 20 Step 1j=7 To 4 Step — 1=kod (j)_out ($378,k)(t,dn)ji_out ($378,0)KeyboardPushed (#PB_Key_Escape)=1_out ($378,0)Gadget=11 And event=#PB_Event_Gadget=lpt_inp ($379).

    s=StrQ (a)(12,text)Event = #PB_Event_CloseWindow Or x=1; Прерываем цикл если в переменной «Event» будет число равное числу в константе._out ($378,0)(14,100,380,150, 30,»Shevelev I. V. Syktyvkar 2010 «)(1000); Директива, завершающая программу.

    Справочный материал по шаговым двигателям ДШИ-200 отечественного производства [8].

    Параметры

    ДШИ-200-1

    ДШИ-200-2

    ДШИ-200-3

    Сопротивление фазных обмоток, Ом

    1,56±0,15

    2,1±0,2

    3,35±0,3

    Максимальный статический синхронизирующий момент, Нм, не менее

    0,25

    0,46

    0,34

    Максимальная частота приемистости, Гц, не менее

    1200

    1000

    1000

    Единичный шаг и статическая погрешность обработки шага

    108±3,25

    108±3,25

    108±3,25

    Максимальная потребляемая мощность, Вт, не более

    8,8

    11,8

    16,7

    Средний ресурс электродвигателей не менее 5550 часов. Средний срок сохраняемости 3 года.