Управление шаговым двигателем. Схема контроллера (драйвера), пример подключения к LPT порту.

Шаговый двигатель выглядит примерно так:

1161430.jpg
Если же Вам требуется управлять не им, а двигателем постоянного тока из которого честно торчат два провода, посмотрите лучше вот эту статью.

Распишу весь процесс по шагам.

1. Подготовить необходимые детали.


Двухполярный блок питанияТранзисторы кт315 2штТранзисторы кт819 2штТранзисторы кт818 2шт
двухполярный БП.pngкт315.jpgкт819.jpgкт818.jpg

Полупроводниковые диоды 8штРезистор 100 Ом 4штРезистор 1КОм 6штРезистор 10КОм 6 шт
полупроводниковый диод100R.jpg1ком.png10ком.jpg

Светодиоды 4штМонтажный проводРазъёмы-гнёзда для подключенияМакетная плата
142.jpgпровод монтажный.jpgразъём гнёзда на плату.jpgмонтажная плата.jpg

Сборка схемы

Перечисленные детали я монтировал на монтажную плату, поприпаивал к каждой ножке по проводу и соединил в соответствии со следующей схемой:

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

Подключение контроллера

После того, как схема готова её нужно подключить к самому шаговому двигателю, LPT порту, блоку питания. В плане шагового двигателя, потребуется определить расположение его обмоток. Я делаю это методом тыка, возможно у вас есть способ лучше. Суть в том, что внутри есть две обмотки на четырёх проводах. Перебирая комбинации проводов пробую различные варианты подключения напряжения. Нужно добиться того, чтобы подав четыре комбинации импульсов якорь передвигался всё время в одну сторону.

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

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

Управление из программы

Управлять шаговиком через компьютер объективно проще из операционной системы Linux. Тот же процесс из Windows имеет некоторые нюансы и сему посвящена отдельная статья. Скрипты писал на Python 2.7, в Debian он установлен по умолчанию. Провернуть всё тоже самое в Windows не пробовал, может и заработает.

1. Качаем пакет python-parallel_0.2-7_all.deb.
2. Открываем терминал (что-то вроде командной строки), устанавливаем пакет: sudo dpkg -i python-parallel_0.2-7_all.deb 3. Там же, в терминале расшариваем доступ к lpt порту: sudo rmmod lp 4. Запускаем python с root правами: sudo python 5. После запуска питона текст скрипта можно вбивать прямо в него. Следует следить за отступами (особенность языка)
import parallel;
import time;
p = parallel.Parallel()
lines = [1,4,2,8]
i=0;
while(i<10):
i=i+1;
for line in lines:
p.setData(line)
time.sleep(0.5)
p.setData(0)
5.1 Скрипт можно сохранить в файл, и запускать через питон такой командой: sudo python имя_файла.py 6. Если всё подключено, от шагового двигателя должны послышаться характерные щелчки с задержкой в пол секунды между ними.

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

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

контроллер шагового двигателя анимация


Уведомлять о статьях
шаговый двигатель lpt порт контроллер драйвер схема драйвер управление   Автор: administrator

Комментариев к статье пока нет
Яндекс.Метрика admin@synxronica.com