Аппаратно-программное устройство управления шаговыми двигателями, предназначенным для обеспечения измерений параметров электроакустической аппаратуры с использованием программных средств измерительного комплекса.
При измерении пространственных характеристик (построении диаграмм направленности) акустоэлектри-ческих и электроакустических преобразователей с помощью описанного ранее компьютерного измерительного комплекса реального времени [1] необходимо точное дистанционное позиционирование по углу акустического приемника и излучателя. Такая задача наиболее эффективно решается с помощью шаговых двигателей. Преимущество шаговых двигателей состоит в том, что они позволяют преобразовывать электрический сигнал управления в угловое перемещение ротора с фиксацией его в заданном положении без каких-либо устройств обратной связи. Это обстоятельство существенно упрощает конструкцию соответствующих узлов и измерительной установки в целом.
Предлагаемое аппаратно-программное устройство предназначено для интерактивного, независимого и одновременного управления двумя шаговыми двигателями. Устройство позволяет задавать в цифровом виде величину и направление поворота роторов шаговых двигателей. Основная область применения - управление механическими узлами измерительной техники и экспериментальных установок.
Прибор состоит из блока аппаратного сопряжения и оригинальной компьютерной управляющей программы. Максимальная скорость поворота роторов двигателей составляет 100 шагов в секунду. Блок аппаратного сопряжения подключается к компьютеру через стандартный порт параллельного (принтерного) интерфейса. Управляющая программа предназначена для работы в операционной системе Windows 95/98/Me/NT/2000/2003/XR имеет размер всего 320 Кбайт. Следует отметить, что для работы программы в ОС Windows NT/2000/2003/XP необходимы права администратора.
Блок сопряжения разработан с максимально возможной простотой на самых дешевых и распространенных отечественных компонентах. Это делает доступным его повторение. Для упрощения устройства весь алгоритм управления реализован программно. На аппаратную часть возлагаются только функции электрического согласования компьютера и двигателя.
Рис. 1
Схема блока аппаратного сопряжения шаговых двигателей с компьютером показана на рис. 1. Микросхема DD1 выполняет одновременно функции буферной памяти и предварительного усилителя. Запись информации, подаваемой от параллельного порта компьютера [2], в регистр хранения микросхемы DD1 производится по формируемому программно отрицательному импульсу на входе CS1 (вывод 1). Окончательное усиление сигнала для подачи на обмотку управления шагового двигателя выполняет узел на транзисторах 1VT1 и 1VT2 (на принципиальной схеме показан только один из восьми, выделенный штрих-пунктирной линией; остальные семь подключены соответственно к выходам Q2-Q8 регистра DD1). Такая схема включения позволяет расположить все мощные транзисторы на общем тепло-отводе без применения дополнительной электрической изоляции их корпусов, обычно соединенных с коллектором транзисторов. Это позволяет существенно упростить механическую конструкцию блока сопряжения. При отсутствии принудительной вентиляции площадь теплоотвода должна быть примерно 50 см2 на каждь и из восьми мощных выходных транзисторов.
Диод 1VD1 выполняет функции демпфирования паразитных колебаний, возникающих при переключении тока в управляющей обмотке шагового электродвигателя.
Данный блок сопряжения рассчитан на работу с четырехфазными шаговыми двигателями ДШИ200-3(1) с номинальным шагом 1,8±0,05° (шаг указан без использования редуктора). Можно применить и другие двигатели; для работы с трехфазными в управляющей программе предусмотрено соответствующее переключение. Поочередное включение и выключение обмоток двигателей, необходимое для их вращения, осуществляется программным способом. Диаграммы коммутации обмоток выбирают при настройке программы исходя из типа двигателя и требований к режиму работы. Предусмотрена поочередная подача импульсов напряжения либо на одиночные обмотки статора, либо на их соседние пары со смещением на одну при выполнении каждого шага. Эти режимы выбирают в окне настройки программы, и они обозначаются соответственно "1-1-1-1" и "2-2-2-2". Во втором случае возрастают вращающий и удерживающий моменты двигателя (по крайней мере, для ДШИ200), но соответственно увеличиваются потребляемая устройством мощность и нагрев электродвигателей.
Главное меню программы вызывают нажатием правой кнопки мыши на заголовке окна программы. Окно настройки программы открывается пунктом меню "Motor Settings".
В программе управления двигателями имеются два переключаемых режима их остановки. В первом варианте напряжение с обмоток двигателя снимается через задаваемый интервал времени (0...99 с) после остановки. Это существенно облегчает тепловой режим электродвигателя и блока сопряжения, но может привести в дальнейшем к самопроизвольному движению механизма, связанного с ротором. Во втором режиме после остановки напряжение с обмотки двигателя не снимается это так называемый режим фиксации. Такой режим может вести к излишнему нагреву электродвигателя, но обеспечивает после остановки надежную неподвижность ротора и связанного с ним механического устройства. Требуемый режим остановки двигателей выбирают исходя из условий задачи. Например, в случае использования для передачи вращения червячного редуктора неподвижность устройства в покое, как правило, будет обеспечиваться и без электромагнитной фиксации ротора шагового двигателя. Эти режимы выбирают в окне настройки программы кнопкой Auto Release.
В программе предусмотрено введение масштабных коэффициентов (Rate в окне настройки) и начального смещения раздельно для каждого из электродвигателей. Это позволяет задавать и отображать на экране дисплея компьютера реальные значения регулируемых параметров устройств, механически связанных с шаговыми двигателями. Например, угол поворота непосредственно в градусах или перемещение в миллиметрах. Для установки необходимого начального смещения следует перевести механическое устройство в требуемое положение с помощью шагового двигателя или иным способом (например, вручную). Затем нужно войти в режим калибровки нажатием на соответствующую кнопку (восклицательный знак в треугольнике) на панели управления. Цвет цифрового индикатора перемещения станет красным. После этого следует установить на индикаторе перемещения истинное значение соответствующего параметра и снова нажать на кнопку "Калибровка", затем закрыть окно. Масштабные коэффициенты определяют исходя из конструкции (с учетом возможного наличия редуктора) обслуживаемого устройства и номинального шага электродвигателя.
В окне настройки предусмотрена возможность редактирования отображаемого в программе названия и размерности регулируемых шаговыми двигателями параметров конкретных приборов.
В программе управления двигателями имеются два самостоятельных потока команд: поток ввода команд управления и поток вывода данных на блок аппаратного сопряжения. В потоке ввода задается и отображается положение роторов двигателей в единицах, приведенных к реальным значениям параметров механически связанных с ними устройств. В потоке вывода непрерывно сравнивается истинное (текущее) положение роторов двигателей с требуемым значением и выдается воздействие на блок сопряжения для парирования возможного рассогласования. Такое построение управляющей программы позволяет задавать новое значение угла поворота роторов двигателей независимо от того, было ли достигнуто ранее введенное значение или нет. В последнем случае ротор двигателя будет продолжать вращение (возможно, изменив направление), чтобы достигнуть вновь заданного положения.
Для ввода и отображения числовых поименованных значений в программе используется оригинальный элемент управления и индикации "Цифровая Панель". Ввод числовых значений производится поразрядно с помощью мыши. Следует навести курсор на требуемую цифру индикатора и нажатием левой или правой кнопки мыши установить необходимое значение. При этом левая кнопка уменьшает, а правая увеличивает число. Перенос в старший разряд происходит автоматически.
Если навести курсор на символы размерности, то нажатием левой или правой кнопки мыши можно соответственно уменьшать или увеличивать значение на индикаторе в десять раз. Знак числа (если он показан на индикаторе) изменяется нажатием кнопок мыши аналогично. При удержании кнопки в нажатом положении более чем 0,5 с происходит автоповтор действия. Если при нажатой кнопке мыши увести курсор с индикатора, то автоповтор будет продолжаться уже независимо от дальнейшего состояния мыши. Для остановки автоповтора следует вновь навести курсор на индикатор и нажать на любую кнопку мыши; если используется мышь с колесом, можно воспользоваться им. Поворот колеса от себя увеличивает значение цифры индикатора и наоборот - при повороте на себя. Режим автоповтора в младших разрядах позволяет задать непрерывное вращение шаговых двигателей со скоростью меньше номинальной.
Для функционирования устройства в составе программных комплексов предусмотрено внешнее (со стороны других программ) управление работой двигателей. Команды управления передаются посылкой содержащих параметры специальных сообщений операционной системы Windows от программ-клиентов к программе-серверу, непосредственно контролирующей работу двигателей.
В перерывах между сеансами работы все установленные параметры и текущее состояние программа автоматически сохраняет на жестком диске компьютера для дальнейшего их использования.
Питание аппаратного блока сопряжения должно осуществляться от источника постоянного напряжения с мощностью, достаточной для работы примененных шаговых двигателей (не менее 70 Вт для двух двигателей ДШИ200-3). Недопустимо использование блока питания, встроенного в управляющий компьютер, во избежание сбоев в работе последнего. Микросхема DD1 должна питаться от стабилизированного источника, желательно независимого от питания мощных выходных ключей.
Соединение аппаратного блока с параллельным (принтерным) портом компьютера выполняется неэкраниро-ванным ленточным кабелем длиной до 3 м с чередующимися сигнальными и "земляными" проводниками. Для более длинных кабелей рекомендуется использовать жгут из отдельных экранированных проводов.
В случае отсутствия в компьютере незанятого параллельного порта следует установить дополнительную плату. В настоящее время серийно выпускают платы, содержащие обычно по два параллельных порта. Их изготавливают как для компьютеров с шиной PCI, так и для более старых компьютеров с шиной ISA. На этих платах обычно размещены переключатели для выбора базовых адресов портов. Например, на используемой автором плате марки ТС-020-ЕР (для шины ISA) каждый из двух находящихся на ней параллельных портов может быть установлен на следующие базовые адреса: ЗВСН, 378Н, 278Н, 27СН, 26СН или 268Н. В управляющей программе предусмотрено задание в качестве активного любого из вышеперечисленных адресов. Поддержка дополнительных портов со стороны BIOS или операционной системы для работы управляющей программы не требуется. Следует только выбрать конфигурацию адреса дополнительных портов так, чтобы исключить конфликт со всеми уже имеющимися в системе портами (не только параллельными).
Рис. 2
Общая конструкция устройства может быть произвольной. Автор изготавливал опытный образец на печатной плате из фольгированного стеклотекстолита толщиной 2 мм. Чертеж печатной платы и расположение деталей на ней показаны на рис. 2 а б. Печатные проводники должны быть максимально возможной ширины.
Простейшие теплоотводы выходных транзисторов могут быть выполнены в виде двух дюралюминиевых пластин размерами 130x50x3 мм; их закрепляют на печатной плате с помощью дюралюминиевых уголков через специально предусмотренные отверстия. Получившуюся конструкцию за теплоотводы фиксируют в корпусе устройства.
На рис. 3 приведена фотография одного из вариантов данного устройства, изготовленного автором. На ребристом теплоотводе (справа), кроме транзисторов, также закреплены (через изолирующие слюдяные прокладки) мощные диоды выпрямителя питания. Слева расположены сглаживающие конденсаторы блока питания.
Входной и выходные разъемы могут быть закреплены либо на теп-лоотводах, либо на корпусе устройства. В качестве входного (для соединения с компьютером) использован разъем РПММ1-50Ш1-В. Два выходных разъема (по одному на каждый двигатель) - РГ1Н-1-5, в каждом из которых соединено параллельно по два соседних вывода для снижения токовой нагрузки. Вообще, разъемы могут быть и другие с достаточно мощными контактами. Контакты разъемов соединяют с соответствующими проводниками печатной платы обычным гибким проводом. Для выходных цепей сечение проводов должно быть не менее 1 мм2.
Транзисторы КТ815 и КТ818 можно применить с любыми буквенными индексами или использовать другие мощные транзисторы соответствующей структуры. Диоды серии КД213 можно заменить на КД212 или другие мощные импульсные. Тип и мощность применяемых резисторов значения не имеют.
Вместо регистра К589ИР12 возможно использование КР580ИР82 с корректировкой печатной платы. Нумерация выводов для этого варианта приведена на рис. 1 в скобках. Следует заметить, что запись данных, подаваемых от параллельного порта компьютера в регистр хранения КР580ИР82, должна производиться по положительному перепаду импульса на входе STB (вывод 11). Для изменения полярности строби-рующего импульса в программе предусмотрено соответствующее переключение (пункт меню Slope Positive).
Какого-либо налаживания описанное устройство не требует. Необходимо лишь убедиться, что обмотки шаговых двигателей подключены к выходам мощных ключей в должном порядке. Если этого не обеспечить, то ротор двигателя вместо вращения, скорее всего, будет просто вибрировать на месте или поворачиваться рывками.
Программы для устройства можно скачать здесь.
- Шмелев О. Компьютерный измерительный комплекс. - Радио, 2007, № 3-7.
- Гук М. Аппаратные средства IBM PC. Энциклопедия. - С.-Пб.: "Питер Кон", 1999, с. 632-635.
Автор: О. Шмелев, г. Москва