Lpt своими руками управление шаговыми двигателями

Lpt своими руками управление шаговыми двигателями

Данные 0101 запишутся в триггер 1 и передадутся в драйвер 1

Данные 0101 запишутся в триггер 1 и передадутся в драйвер 2

Данные 0101 запишутся в триггер 1 и передадутся в драйвер 3

Данные никуда не поступят, т.к. не выбран «адрес»

Данные 1011 запишутся сразу в три триггера 1,2,3

В моей схеме 7 бит не используется т.к. применено 3 двигателя.

Для подключения к схеме 16 двигателей необходимо на управляющие биты «адреса» установить дешифратор. К выходам ТМ7 подключается драйвер – силовые ключи коммутирующие обмотки шагового двигателя. Драйвер состоит из 4х транзисторов КТ 972 см.рис.3.

Диоды можно использовать любые с допустимым импульсным током 200мА

Также можно использовать серийные микросхемы (stepper motor driver), например ULN 2004 (9 ключей) на 0.6А. или НА13408 (1.5А) см.рис.4

Для питания контроллера и шаговых двигателей понадобится блок питания.

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

А теперь о том как управлять контроллером и шаговыми двигателями с помощью компьютера. Проще всего из Qbasic (под DOS)

OUT 888, Х Порт принтера LPT имеет адрес 888. процедурой OUT мы в порт помещаем число Х. Повернем двигатель №1 на один оборот: OUT 888, 17 ‘ число 00010001 ‘задержка OUT 888, 18 ‘ число 00010010 ‘задержка OUT 888, 20 ‘ число 00010100 ‘задержка OUT 888, 24 ‘ число 00011000 ‘задержка После каждой команды необходимо поставить задержку, т.к. шаговый двигатель не успеет повернуться в следующее положение. Например создать пустой цикл: FOR i = 1 TO 100000 NEXT i

Максимальная частота коммутации обмоток шагового двигателя (те которые были у меня) 2000Гц, что соответствует 4 об/сек. При большей частоте двигатель будет пропускать шаги.

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

Подробнее можно посмотреть на сайте http://vri-cnc.ru

Также на сайте имеется программа под Windows XP для управления самодельным станком с ЧПУ. Программа позволят рисовать на станке платы нарисованные в AutoCad, SprintLayout, Corel DRAW, P-Cad или из любой другой программы конвертирующей файлы в DXF, Gerber.

Источник

Электроника для всех

Блог о электронике

Управление шаговым двигателем

Первая модификация силового блока. L293 вытащена.
Вид снизу

Шаговый двигатель это, как понятно из его названия, двигатель который вращается дискретными перемещениями . Достигается это за счет хитрой формы ротора и двух (реже четырех) обмоток. В результате чего, путем чередования направления напряжения в обмотках можно добиться того, что ротор будет по очереди занимать фиксированные значения.
В среднем, у шагового двигателя на один оборот вала, приходится около ста шагов. Но это сильно зависит от модели двигателя, а также от его конструкции. Кроме того, существуют полушаговый и микрошаговый режим , когда на обмотки двигателя подают ШИМованное напряжение, заставляющее ротор встать между шагами в равновесном состоянии, которое поддерживается разным уровнем напряжения на обмотках. Эти ухищрения резко улучшают точность, скорость и бесшумность работы, но снижается момент и сильно увеличивается сложность управляющей программы — надо ведь расчитывать напряжения для каждого шага.

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

Читайте также:  Как заменить заднюю подушку двигателя дэу нексия

Типы шаговых двигателей
Если не углубляться во внутреннюю конструкцию, число шагов и прочие тонкости, то с пользовательской точки зрения существует три типа:

  • Биполярный — имеет четыре выхода, содержит в себе две обмотки.
  • Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины.
  • Четырехобмоточный — имеет четыре независимые обмотки. По сути дела представляет собой тот же униполярник, только обмотки его разделены. Вживую не встречал, только в книжках.

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

Где взять шаговый двигатель.
Вообще шаговики встречаются много где. Самое хлебное место — пятидюймовые дисководы и старые матричные принтеры . Еще ими можно поживиться в древних винчестерах на 40Мб, если, конечно, рука поднимется покалечить такой антиквариат.
А вот в трехдюймовых флопарях нас ждет облом — дело в том, что там шаговик весьма ущербной конструкции — у него только один задний подшипник, а передним концом вал упирается в подшипник закрепленный на раме дисковода. Так что юзать его можно только в родном креплении. Либо городить высокоточную крепежную конструкцию. Впрочем, тебе может повезет и ты найдешь нетипичный флопарь с полноценным движком.

Схема управления шаговым двигателем
Я разжился контроллерами шаговиков L297 и мощным сдвоенным мостом L298N.

Схема включения L298N+L297 до смешного проста — надо тупо соединить их вместе. Они настолько созданы друг для друга, что в даташите на L298N идет прямой отсыл к L297 , а в доке на L297 на L298N .


Осталось только подключить микроконтроллер.

  • На вход CW/CCW подаем направление вращения — 0 в одну сторону, 1 — в другую.
  • на вход CLOCK — импульсы. Один импульс — один шаг.
  • вход HALF/FULL задает режим работы — полный шаг/полушаг
  • RESET сбрасывает драйвер в дефолтное состояние ABCD=0101.
  • CONTROL определяет каким образом задается ШИМ, если он в нуле, то ШИМ образуется посредством выходов разрешения INH1 и INH2 , а если 1 то через выходы на драйвер ABCD. Это может пригодится, если вместо L298 у которой есть куда подключать входы разрешения INH1/INH2 будет либо самодельный мост на транзисторах, либо какая-либо другая микросхема.
  • На вход Vref надо подать напряжение с потенциометра, которое будет определять максимальную перегрузочную способность. Подашь 5 вольт — будер работать на пределе, а в случае перегрузки сгорит L298 , подашь меньше — при предельном токе просто заглохнет. Я вначале тупо загнал туда питание, но потом передумал и поставил подстроечный резистор — защита все же полезная вещь, плохо будет если драйвер L298 сгорит.
    Если же на защиту пофигу, то можешь заодно и резисторы, висящие на выходе sense выкинуть нафиг. Это токовые шунты, с них L297 узнает какой ток течет через драйвер L298 и решает сдохнет он и пора отрубать или еще протянет. Там нужны резисторы помощней, учитывая что ток через драйвер может достигать 4А, то при рекомендуемом сопротивлении в 0.5 Ом, будет падение напряжения порядка 2 вольт, а значит выделяемая моща будет около 4*2=8 Вт — для резистора огого! Я поставил двухваттные, но у меня и шаговик был мелкий, не способный схавать 4 ампера.

Правда на будущее, когда я буду делать роботу шаговый привод, я возьму не связку L297+L293 , а микруху L6208 которая может и чуть слабей по току, но зато два в одном! Сразу подключай двигатель и работай. Если же их покупать, то на L6208 получается даже чуть дешевле.

201 thoughts on “Управление шаговым двигателем”

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

По продаваемым не в курсе. В нашей деревне их в продаже нету, а что там в Московии я даже не знаю.

Оппа, теперь самое время разбираться, что за шаговики у меня имеются по результатам годового потрошения CD-DVD ROM’ов. 🙂

А в сидюках/дивдюках вроде бы стоят обычные коллекторники+синхронный на шпиндель. Хотя могут быть и шаговики, но я не встречал ни разу.

Шаговики во многих CD/DVD приводах стоят — для таскания каретки с лазером (у меня минимум 3 таких экземпляра валяются). Но конструкция двигателя — как в трехдюймовых дисководах, для практического применения неудачная.

ну когда я расотрошил сиди ром там был безколлекторник + еще какойто на шпиндель
для безколлекторника я думаю применение в моделизме
http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может пригодится кому

http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может чем пригодится там модельный регултор хода
может управлять сдромным безколлекторником

работал с шаговыми движками на своей фирме.
ещё с нашими совеццкими и руссийскими.

сколько раз коротыш верещал на источниках — не счесть ) единственное оправдание — я про них ещё тогда ничего не знал и доков не имел. работал методом тыка…

всё хорошо, но нету обратной связи.

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

. в смысле от постоянных замыкани? Как ты умудрялся его коротнуть? Одновременным замыканием ключей верхнего и нижнего плеча? Так там Dead Time надо ставить!

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

Долгая подача напруги на обмотки это его нормальный рабочий режим. Главное чтобы напряжение было номинальным.

Полезно, спасибо. Мне в свое время довелось раскурочить 8″ дисковод. Два шаговика лежат дожидаются своего часа. Так, что информация может пригодиться.

У меня этих дисководов полтора десятка штук!

Есть интересная статья по использованию шаговых двигателей
Журнал Современная электроника Октябрь 2004 г. стр. 46-47
Автор: Олег Пушкарев, Омск, конструкция на базе PIC16F84 и
драйвера — ULN2003A. (WWW.SOEL.RU)
Журнал очень рульный, советую почитать, статьи высылают
по почте, по запросу или подписка (в том числе бесплатная).

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

кто знаком с драйвером шины ULN2804a b ULN2004a , какая разници между ними.

Кажется, один для КМОП, другой — для ТТЛ. Схема отличается только номиналом сопротивления от входного штырька до базы транзистора. В одном случае — 10ком (для КМОП), в другом — кажется, 1,5 ком, точно не помню. Ну, и входные уровни соответственно разные. В остальном — одинаково. Я сам года три назад выбирал, какие брать. А использую все же чаще ULN2003 (привычка, чтоли)…

У меня есть движок от древнего лазерного принтера. Двигатель фирмы CANON PM60-H418Z21B можно ли запустить таку вещь? Торчат из него по 3 провода с каждой обмотки. P.S. С шаговиками я делов не имел пока, но очень интересно.

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

Источник

Управление шаговым двигателем с ПК

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

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

Задача поставлена. Я разбил ее на две подзадачи: организация связи МК с ПК и сам драйвер для ШД. Ну как я делал драйвер описывается в моей предыдущей статье, так что осталось связать микроконтроллер (МК) с персональным компьютером (ПК), а потом связать все это дело в одном устройстве.

Итак связь МК с ПК. Я немного полистал даташит МК ATmega8 (это самый на мой взгляд популярный AVR микроконтроллер, я с ним работаю в основном) и понял, что самый простой и подходящий для меня это интерфейс RS232, по простому СОМ порт. Он есть на любом ПК, а для ноутбука я просто использовал переходник USB to COM. Да и практически на любом МК тоже есть аппаратная реализация этого интерфейса. Говоря проще чтобы на МК заработал СОМ порт нужно просто написать определенную программку и все будет ок. Кусочек необходимого для этой задачи кода на языке С представлена ниже
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Программа есть, остался вопрос аппаратной части реализации задачи. Дело в том что на выходе СОМ порта микроконтроллера 5 вольтовые импульсы, т.е. логическая 1 представляется в виде +5В, а логический 0 в виде 0В. А вот СОМ порт компьютера работает с +12В и -12В. Т.е. по сути необходимо согласовать уровни. Слава богу для этого есть хорошая микросхема MAX232 или ее китайский аналог. Даташит данной микросхемы представлен ниже
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Данная микросхема подключается к МК и к ней подключается разъем RS232. Также имеется небольшая обвязка. Принципиальная схема ниже

Схема в Dip trace
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Все ваш МК подключен к компьютеру. Теперь я еще приделал два драйвера для ШД ко всей этой системе и написал программу с помощью которой можно управлять этими двумя движками.

Схема всего устройства с источником первичного питания для МК

Схема в Dip trace
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

А теперь и код программы
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Программа написана на языке С в IAR (это отладчик+компилятор). Сразу приношу извинения за то, что программа практически без комментариев, но задавайте вопросы, все расскажу.

Система работает так: С ПК через гипертерминал например (виндошное приложение для отправки и получения инфы через СОМ порт) отправляете номер двигателя, например 1 или 2, а после этого колличество оборотов, после того как ШД прокрутится он пришлет на СОМ порт информацию о том что он сделал. Ну если что спрашивайте.

Чуть не забыл, печатная плата в Lay.
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Источник

Adblock
detector