Содержание

Введение
Глава 1. Виды, устройство и принцип работы шаговых двигателей
1.1 Общие принципы шаговых двигателей
1.2 Виды шаговых двигателей
1.3 Способы управления фазами ШД
Глава 2. Контроллеры шаговых двигателей
2.1 Управление шаговым двигателем с помощью автономного контроллера
2.2 Управление шаговым двигателем с использованием ЭВМ
2.3 Реализация адаптера шагового двигателя
Глава 3. Управление контроллером с помощью системы программирования PureBasic
3.1 Система программирования PureBasic
3.2 Синтаксис
3.3 Сравнение с Basic и Pascal
3.4 Особенности PureBasic
3.5 Программирование LPT порта
Глава 4. Модель крана как пример применения шаговых двигателей
4.1 Устройство модели
4.2 Программа управления краном на языке программирования
Заключение
Список использованных источников

Введение

Актуальность:

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

Цель работы:

Изучение шаговых двигателей и их применения.

Задачи:

  1. Изучение соответствующей литературы
  2. Изучение портов ЭВМ
  3. Реализация контроллера шагового двигателя
  4. Изучение системы программирования PureBasic
  5. Разработка и изготовление модели на шаговых двигателях
  6. Разработка программного обеспечения 

Глава 1. Виды, устройство и принцип работы шаговых двигателей [6]

1.1 Общие принципы шаговых двигателей

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

1.2 Виды шаговых двигателей

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

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

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

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

1.21 Двигатели с переменным магнитным сопротивлением

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

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

1.22 Двигатели с постоянными магнитами

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

1.23 Гибридные двигатели

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

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

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

1.24 Биполярные и униполярные шаговые двигатели

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

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

1.3 Способы управления фазами ШД

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

Второй способ — управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют ”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. При этом способе управления ток в фазах нужно менять небольшими шагами, обеспечивая таким образом дробление половинного шага на еще меньшие микрошаги. Когда одновременно включены две фазы, но их токи не равны, то положение равновесия ротора будет лежать не в середине шага, а в другом месте, определяемом соотношением токов фаз. Меняя это соотношение, можно обеспечить некоторое количество микрошагов внутри одного шага. Кроме увеличения разрешающей способности, микрошаговый режим имеет и другие преимущества, которые здесь описаны не будут. Вместе с тем, для реализации микрошагового режима требуются значительно более сложные драйверы, позволяющие задавать ток в обмотках с необходимой дискретностью. Полушаговый режим является частным случаем микрошагового режима, но он не требует формирования ступенчатого тока питания катушек, поэтому часто реализуется.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Глава 2. Контроллеры шаговых двигателей

2.1 Управление шаговым двигателем с помощью автономного контроллера

Для того, чтобы было возможно управлять ШД его необходимо подключить к специальному устройству, которое бы подавало в определённой последовательности импульсы на обмотки двигателя. Такое устройство называется контроллером шагового двигателя [3]. Контроллер может быть выполнен в виде отдельного автономного устройства, которое допускает минимум вмешательства со стороны человека. У такого устройства могут быть несколько входов, управляя которыми можно задавать, например, направление вращения ротора двигателя и частоту вращения. Можно реализовать такой контроллер, используя последовательный регистр, который состоит из 4-х синхронных D-триггеров, вырабатывающих импульсы на выходах D0-D3.  Элемент 4И формирует на первом триггере единицу, это нужно в тот момент, когда только включили устройство и на всех выходах – нули. На вход С устройства должны поступать импульсы, от частоты которых зависит скорость  движения импульса по выходам D0-D3.

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

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

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

2.2 Управление шаговым двигателем с использованием ЭВМ

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

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

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

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

2.3 Реализация адаптера шагового двигателя

Микросхема К580ИР82 – восьмиразрядный буферный регистр. Номера используемых выводов микросхемы указаны в скобках, цепь с резистором R2 не  требуется. Чтобы в регистр микросхемы записалось слово с входов D1-D8, необходимо, чтобы на входе CS1 было напряжение, соответствующее логической единице  (3-4 Вольта).   Проверку работы устройства  выполняют поэтапно. Сначала проверяют исправность микросхемы DD1, затем производится проверка исправной работы усилительных каскадов на 1VT1 и 1VT2, при высоком уровне напряжения на транзисторе 1VT1 (порядка трёх Вольт) на диоде 1VD1, при отключенной обмотки ШД, должно быть напряжение, примерно равное напряжению питания.  Собранное устройство, при исправных деталях, не требует отладки.. Для управления ШД с помощью ЭВМ было создано специальное программное обеспечение в системе программирования Turbo Pascal 7.0, реализующее вращение как одного, так и обоих ШД, в одну и обратную сторону, скорость также можно регулировать программно.

Чтобы ротор вращался, необходимо кратковременно  включать обмотки в последовательности –

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

Глава 3. Управление контроллером с помощью системы программирования PureBasic

3.1 Особенности системы программирования PureBasic

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Кроссплатформенность — важная особенность PureBasic, на данный момент поддерживаются операционные системы: Windows, Linux, MacOS и AmigaOS. Здесь я буду рассматривать только версию под Windows.

Несмотря на простой для новичка синтаксис, возможности PureBasic безграничны. PureBasic поддерживает: процедуры, указатели, структуры, динамические списки и многое другое. Фактически можно написать любую программу, как если бы писали на языках C, Delphi или Visual Basic, но с гораздо меньшими усилиями.
Среда разработки занимает всего 20 мегабайт, устанавливается за два клика и не требует никакой настройки. А при установке на Flash носитель свободно работает на любом компьютере. Система программирования очень подробно рассмотрена в электронном учебнике [1].

   Главные особенности PureBasic:

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

— Поддерживаются все ключевые слова стандартного BASIC’а

— Очень быстрый компилятор, создает чрезвычайно оптимизированный исполняемый код

— Созданные исполняемые файлы не требуют сторонних DLL или интерпретаторов

— Полный доступ к OS API для продвинутых программистов

— Простой и очень быстрый 2D движок для игр (DirectX, SDL, HGE…)

— Простая и высококачественная реализация 3D на движке OGRE

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

— Оптимальное использование доступных аппаратных средств

— Исходный текст совместим между Windows, Linux, MacOS и AmigaOS для игр и приложений

— Удобная и компактная среда разработки, встроенный визуальный GUI редактор

— Встроенный отладчик, упрощает выявление и отлов программных ошибок

Это особенности полной версии системы программирования PureBasic, она является платной. В качестве ознакомительной бесплатной версии доступна так называемая DEMO версия программы.

   Ограничения DEMO версии:

— нет поддержки Win32 API

— нельзя создавать DLL файлы

— наложен предел на размер кода (не более 800 строк)

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Требования к аппаратным и программным средствам ЭВМ:

Система программирования PureBasic (PB) может работать на любой конфигурации ЭВМ под ОС Windows 95/98/Me, Windows NT/2000 и Windows XP.

3.2 Синтаксис

В системе программирования PureBasic существует несколько типов переменных, они показаны в таблице.

Имена переменных могут состоять из букв английского алфавита, цифр и символа «_» (нижний пробел). Строчные и заглавные буквы системой не различаются, поэтому, например, переменная GHOST и ghost будут считаться за одну переменную. Недопустимо использовать в имени переменной символы  *, %, №, % и другие.

Также возможно использовать константы, имя константы отличается от имени переменной только символом «#» в начале. Тип константы указывать не требуется. Как правило, в процессе выполнения программы константа не должна менять своего значения, иначе появится сообщение об ошибке.

Массивы в PureBasic объявляются с помощью оператора Dim, например:

Dim ar.w(10)

ar – имя массива, «w» после точки означает, что массив будет состоять из переменных типа Word. В скобках задано количество элементов массива, в моём случае – 11 переменных, поскольку нумерация начинается с нуля.

3.3 Сравнение с Basic и Pascal

Для сравнения PB с другими системами программирования, рассмотрим пример реализации цикла с параметром.

Basic:

For i=1 to n [step m]

<операторы>

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Next i

Pascal:

For i=1 to n [step 1 или -1] do

Begin

<операторы>

End;

Pure Basic:

For i=1 to n [step m]

<операторы>

Next i

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Из этого примера видно, что PB по реализации цикла с параметром идентичен СП Basic. По части реализации основных алгоритмических структур PB похож на Basic. Версии Basic, работающей и использующей все возможности ОС Windows, не было создано. PureBasic изначально создавался для написания приложений, функционирующих под Windows.

3.4 Особенности PureBasic

У СП PureBasic существует несколько особенностей, отличающих её от многих СП. Такие как:

— возможность создания окна программы, параметры которого можно настраивать (размер, вид и т.д.)

— использование так называемых гаджетов. Любой элемент окна программы (кнопки, строки ввода, текст и т.д.) является гаджетом, его параметры можно изменять.

3.5 Программирование LPT порта

LPT порт ЭВМ состоит из трёх регистров – данных, состояния и управления, с адресами для порта LPT1 — 378H, 379H и 37aH соответственно, для порта LPT2 — 278H, 279H и 27aH соответственно. Для связи с портом необходимо использовать драйвер “inpout32.dll”, который должен быть или в системной папке Windows, или в папке с создаваемой программой. В тексте программы драйвер подключается функцией “OpenLibary()”:

OpenLibrary(1,»inpout32.dll«)

   Запись и чтение информации с регистров порта удобнее выполнять с помощью процедур:

Запись:

Procedure LPT_Out(Address, Value)

 CallFunction(1,»Out32″, Address, Value)

EndProcedure

Чтение:

Procedure LPT_Inp(Address)

Value = CallFunction(1, «Inp32», Address)

ProcedureReturn Value ; принятый байт

EndProcedure

Теперь достаточно вызвать процедуру с нужными параметрами чтобы считать или записать информацию в регистр порта:

LPT_Out($378,a) – в регистр данных порта запишется двоичный код десятичного числа а (0..255)

p=LPT_Inp($379) – переменной p присвоится значение регистра состояния порта в десятичной системе счисления.

Глава 4. Модель крана как пример применения шаговых двигателей

 4.1 Устройство модели

  Модель способна совершать манипуляции с объектами благодаря двум шаговым двигателям. ШД 1 управляет положением стрелы крана. Нить закреплена с одного конца  на стреле крана, и на валу, приводимого в движение ротором двигателя, с другого. Подобным образом происходит управление крючком, с помощью ШД 2.

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Заключение

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

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

Студенческая научная конференция, КГПИ, 2009 год. Тема доклада: контроллер шагового двигателя. Автор занял первое место среди докладчиков.

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

Студенческая научная конференция, КГПИ, 2010 год. Тема доклада: программирование портов в системе программирования PureBasic. Автор занял второе место среди докладчиков.

Список использованных источников

  1. Шевелёв И.В. Управление работой шаговых двигателей с помощью ЭВМ. Статья к студенческой научной конференции, 2009 год.
  2. П.Высочанский. Основы языка PureBasic 4.0
  3. Шевелёв И.В. Контроллер шагового двигателя. Курсовая работа, 2009 год.
  4. Демо-версия языка PureBasic -http://www.purebasic.com/download/PureBasic_Demo.exe
  5. О.Шмелёв. Компьютерное управление механизмами измерительной техники – Радио, 2007, №12, стр. 20-22
  6. Статья «Контроллер шагового двигателя» — сайт радиолюбителей РАДИОТЕХ www.radiotech.by.ru/Shematic_PCB/Avtomatika/step_motor.htm
  7. Статья «Простой контроллер шагового двигателя» http://stepmotor.ru/articles/upravl.php
  8. Справочный материал по ШД ДШИ-200 http://www.planar.by/ru/production/sm/dsi200/
  9. Лабораторная работа «Использование параллельного порта ЭВМ на практике» ИТФ. КГПИ, кафедра ИиВТ.