Показать сообщение отдельно
Старый 14.06.2008, 15:30   #23
Valerian
VIP
 
Аватар для Valerian
 
Регистрация: 24.11.2007
Сообщений: 2,707
Сказал(а) спасибо: 3,257
Поблагодарили 2,811 раз(а) в 679 сообщениях
Вес репутации: 1031
Valerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспоримаValerian репутация неоспорима
По умолчанию

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

(Ниже описана несложная разработка, позволяющая управлять шаговым двигателем, подключенным к LPT порту IBM-совместимого компьютера.)

Параллельный порт является великолепным интерфейсом, позволяющим подключать к персональному компьютеру множество самых различных устройств. Однако он может быть легко поврежден, поэтому при его использовании для подсоединения самодельных внешних устройств нужно быть очень внимательным. Если вы не уверены в том, что вы все делаете правильно, сначала проконсультируйтесь у специалистов и только потом экспериментируйте. Ниже приводится краткое описание параллельного порта. Параллельный порт имеет несколько линий ввода/вывода, которые могут быть разделены на две группы — линии передачи данных и линии сигналов управления. Линии передачи данных — двунаправленные (разумеется, речь идет о режимах ЕСР/ЕРР), и именно их мы и будем использовать. В табл.1 описано назначение выводов разъема порта LPT.


Для эксперимента был использован шаговый двигатель от старого 5,25-дюймового дисковода модели FD-55GFR фирмы Теас. У этого двигателя оказалось пять выводов. В большинстве источников описываются шаговые двигатели, имеющие шесть выводов. Существуют также описания 4-выводных шаговых двигателей, у которых не подключены средние выводы и которые требуют двухполярного напряжения для управления. Поиск в Интернете дал ответ: этот шаговый двигатель похож нашаговые двигатели сшестью выводами, но две обмотки у него соединены в одной точке, и наружу выведен один провод, подсоединенный к ним. Для более подробного знакомства с шаговыми двигателями можно посетить страницу в Интернет по адресу: www.HowStuffWorks.com, задав поиск для шаговых двигателей (страница на английском языке — прим. переводчика). Процесс извлечения двигателя из дисковода несложен — требуется всего лишь отвернуть несколько винтов. К валу двигателя с помощью винтика прикреплена тонкая металлическая полоска, нужно соблюдать осторожность, чтобы не порезаться об нее в процессе ее извлечения. После извлечения шагового двигателя следует убедиться, что он исправен. Простейший способ это сделать — замкнуть все выводы двигателя между собой и попробовать повернуть его вал. Вал должен проворачиваться с трудом, по сравнению с тем, как он проворачивается при разомкнутых выводах. Также с помощью тестера можно проверить целостность обмоток двигателя. Выводы каждой из обмоток следует пометить. Идентифицировать выводы шагового двигателя можно следующим способом:

1. Подсоедините вывод любой обмотки двигателя к выводу питания +12 В, а к другому выводу этой обмотки — общий провод. Вал должен провернуться на небольшой угол. Пометьте первый вывод цифрой 1.
2. Оставьте эти два вывода в одном месте. Теперь подключите выводы других обмоток к источнику питания 12 В. Обратите внимание, что эти два вывода заставляют шаговый двигатель поворачивать вал на небольшой угол в другую сторону. Отметьте один из них номером 2, другой — номером 4.
3. Оставшийся вывод обозначьте номером 3.


Параллельный порт IBM PC

Прим. переводчика: я использовал шаговый двигатель от русского дисковода. Тип двигателя: ПБМГ-200-265Ф. Для определения выводов применялся тестер. При этом я зарисовал схему обмоток, фиксируя на ней измеренные сопротивления. Оказалось, что двигатель имеет четыре обмотки. Две обмотки соединены друг с другом и имеют общий провод белого цвета, вторые выводы этих обмоток красного и зеленого цвета. Две другие обмотки также соединены друг с другом и имеют общий провод черного цвета, вторые выводы этих обмоток голубого и желтого цвета. Если соединить белый и черный провода, получается практически та же схема, что и описанная в оригинальной статье. Порядок подключения выводов я определил опытным путем.
Для управления шаговым двигателем можно использовать микросхему драйвера ULN2003, которая содержит семь мощных транзисторных ключей, собранных по схеме Дарлингтона. Каждый ключ способен управлять нагрузкой с током потребления до 500 мА. Микросхема имеет резисторы в цепи базы, что позволяет напрямую подключить ее входы к обычным цифровым микросхемам. Все эмиттеры соединены вместе и выведены на отдельный вывод. На выходах транзисторных ключей имеются защитные диоды, что позволяет управлять с помощью этой микросхемы индуктивными нагрузками при минимуме внешних компонентов. В нашей конструкции использовано только четыре транзисторных ключа. Электрическая схема подключения шагового двигателя показана на рис. 2.
Электрическая схема подключения шагового двигателя

Обратите внимание, что первый вывод шагового двигателя, идентифицированный с помощью описанной ранее процедуры, подсоединен к линии DO параллельного порта (разумеется, через микросхему ULN2003). Каждый следующий вывод подсоединен к соответствующему выводу параллельного порта. Если порядок подключения выводов шагового двигателя неверный, вал мотора будет не вращаться, а лишь поворачиваться на небольшой угол из одной стороны в другую и наоборот. Общий провод схемы подсоединен к источнику питания не напрямую, а через стабилитрон. Это сделано с целью защиты схемы от напряжения ЭДС самоиндукции, возникающего в катушках при резком выключении напряжения питания схемы.
Программа, разработанная для описываемого устройства, достаточно проста. Она управляет выводами порта и формирует на них специальную последовательность импульсов. Эта последовательность показана в табл. 2 и 3.
Различие между алгоритмами (полным и половинным углом поворота вала на один шаг) состоит в том, что во втором случае скорость вращения оказывается в два раза ниже, при этом в два раза уменьшается угол поворота вала двигателя на каждом шаге, т. е. увеличивается разрешающая способность системы. Также во втором случае примерно в два раза увеличивается потребляемая мощность, и кроме того, двигатель способен развивать в два раза больший крутящий момент.
Для изменения направления вращения вала двигателя необходимо формировать указанные последовательности в обратном порядке.
Таблица 2.
№ шага DO D1 D2 D3
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
Ниже приведен короткий пример программы для Turbo С, работающей в операционной системе MS-DOS. Эта программа заставляет шаговый двигатель вращаться в прямом направлении, в режиме полного угла на один шаг.

Полная программа, написанная на MFC, с удобным графическим интерфейсом, находится по адресу:
http:// wiredworld.tripod.com/binaries/ stepper_drive.zip. Она может управлять двигателем в режиме полного и половинного угла поворота вала на один шаг, в прямом и обратном направлении, в режиме постоянного вращения вала двигателя и одиночных шагов. Кроме того, можно включать и выключать различные обмотки двигателя.

Таблица 3.
№ шага DO D1 D2 D3
1 1 0 0 0
2 1 1 0 0
3 0 1 0 0
4 0 1 1 0
5 0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 0 0 0 1

Перевод с английского Михаила Голубцова.
__________________
Valerian вне форума   Ответить с цитированием Вверх