Биполярный шаговый двигатель как запустить

Управление биполярным шаговым двигателем. Часть 1. Теория. Схема с контроллером PIC12F629 и драйвером LB1838

Шаговые двигатели интересны тем, что позволяют повернуть вал на определённый угол. Соответственно, с их помощью можно повернуть вал и на определённое число оборотов, потому что N оборотов — это тоже определённый угол, равный 360*N, и, в том числе, на нецелое число оборотов, например на 0.75 оборота, 2.5 оборота, на 3.7 оборота и т.д. Этими возможностями шаговых двигателей определяется и область их применения. В основном они используются для позиционирования различных устройств: считывающих головок в дисководах, печатающих головок в принтерах и плоттерах и т.д.

Естественно такие возможности не могли обойти стороной и радиолюбители. Они с успехом используют шаговики в конструкциях самодельных роботов, самодельных станков с ЧПУ и т.д. Ниже описаны результаты моих опытов с шаговым двигателем, надеюсь, что кому-то это может оказаться полезным.

Итак, что нам понадобится для экспериментов. Во-первых, шаговый двигатель. Я брал 5-ти вольтовый китайский биполярный шаговик с загадочным названием, выдранный из старого 3,5″ дисковода, аналог M20SP-GW15. Во-вторых, поскольку обмотки двигателя потребляют значительный ток (в данном случае до 300 мА), то вполне понятно, что подключить шаговик к контроллеру напрямую не удастся, нужен драйвер.

В качестве драйвера для биполярных шаговых двигателей обычно используют схему так называемого H-моста или специальную микросхему (в которой всё равно встроен H-мост). Можно конечно ваять самому, но я взял готовую микруху (LB1838) из того же старого дисковода. Собственно, кроме всего вышеописанного, для наших экспериментов также понадобятся: PIC-контроллер (был взят PIC12F629, как самый дешёвый) и пара кнопок.

Перед тем, как перейти непосредственно к схеме, давайте немного разберёмся с теорией.

Биполярный шаговый двигатель имеет две обмотки и, соответственно, подключается по четырём проводам. Найти концы обмоток можно простой прозвонкой — концы проводов, относящиеся к одной обмотке, будут между собой звониться, а концы, относящиеся к разным обмоткам, — нет. Концы первой обмотки обозначим буквами «a», «b», а концы второй обмотки буквами «c», «d».

На рассматриваемом экземпляре есть цифровая маркировка контактов возле мотора и цветовая маркировка проводов (бог его знает, может это тоже какой-то стандарт): 1 — красный, 2 — голубой — первая обмотка; 3 — жёлтый, 4 — белый — вторая обмотка.

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

За один полный цикл двигатель делает четыре шага.

Для правильной работы, должна строго соблюдаться указанная в таблице последовательность коммутаций. То есть, например, после второй комбинации (когда мы подали + на вывод «c» и минус на вывод «d») мы можем подать либо третью комбинацию (отключить вторую обмотку, а на первой подать — на «a» и + на «b»), тогда двигатель повернётся на один шаг вперёд, либо первую комбинацию (двигатель повернётся на один шаг назад).

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

То есть, допустим мы повернули двигатель на 5 шагов вперёд, подавая на него комбинации 2-3-4-1-2, потом обесточили, а потом захотели повернуть ещё на один шаг вперёд. Для этого на обмотки надо подать комбинацию 3. Пусть после этого мы его опять обесточили, а через какое-то время захотели вернуть его на 2 шага назад, тогда нам нужно подать на двигатель комбинации 2-1. И так далее в таком же духе.

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

На этом мы закончим с двигателем и перейдём к драйверу LB1838.

У этой микрухи есть четыре управляющие ноги (IN1, IN2, EN1, EN2), на которые мы как раз и будем подавать сигналы с контроллера, и четыре выходных ноги (Out1, Out2, Out3, Out4), к которым подключаются обмотки двигателя. Обмотки подключаются следующим образом: провод «a» подключается к Out1, провод «b» — к Out2, провод «c» — к Out3, провод «d» — к Out4.

Читайте также:  Какие свечи для двигателя нивы

Ниже представлена таблица истинности для микросхемы драйвера (состояние выходов в зависимости от состояния входов):

IN1 EN1 Out1 (a) Out2(b) IN2 EN2 Out3(c) Out4(d)
Low High + Low High +
High High + High High +
X Low откл откл X Low откл откл

Теперь давайте нарисуем на диаграмме, какую форму должны иметь сигналы IN1, EN1, IN2, EN2 для одного полного цикла вращения (4 шага), т.е. чтобы на выходах появились последовательно все 4 комбинации подключения обмоток:

Если присмотреться к этой диаграмме (слева), то становится очевидно, что сигналы IN1 и IN2 можно сделать абсолютно одинаковыми, то есть на обе этих ноги можно подавать один и тот же сигнал. В этом случае наша диаграмма будет выглядеть так:

Итак, на последней диаграмме нарисовано, какие комбинации уровней сигналов должны быть на управляющих входах драйвера (EN1, EN2, IN1, IN2) для того, чтобы получить соответствующие комбинации подключения обмоток двигателя, а также стрелками указан порядок смены этих комбинаций для обеспечения вращения в нужную сторону.

Вот в общем-то и вся теория. Необходимые комбинации уровней на управляющих входах формируются контроллером (мы будем использовать PIC12F629).

R1..R2 = 1 кОм. Когда соответствующая кнопка не нажата — резистор подтягивает напряжение на входе контроллера к +5 В (высокий уровень). При нажатии на кнопку напряжение на входе подтягивается к земле (низкий уровень).

С1, С2 = 0,1 мкФ — керамические конденсаторы.

С3 = 470 мкФ х 16В — электролитический конденсатор.

Программа управления реализует следующий алгоритм: при нажатии кнопки КН1 двигатель поворачивается на один шаг в одну сторону, а при нажатии кнопки КН2 — на один шаг в другую сторону.

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

Источник

Управление биполярным шаговым двигателем без использования драйвера

Как-то раз мне захотелось поэксперементировать с шаговыми двигателями. С униполярным двигателем всё очень просто, достаточно полумоста на очень бюджетной микросхеме ULN2003 или ULN2803. А вот с биполярным двигателем всё гораздо сложнее. Он имеет минимум две обмотки, на каждом конце которых полярность питания должна меняться на противоположную. Кто-то скажет «зачем изобретать велосипед? Купи драйвер на L239 и радуйся жизни», может быть это и правильно, но мы же не ищем лёгких путей, да и что-нибудь спаять руки чешутся (а драйверы были куплены, просто они ещё ехали из Китая). Немного покопавшись в интернете, я заинтересовался такой штукой, как H-мост.

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

Так как у биполярного двигателя две обмотки, то нам понадобится два H-моста. Тогда для управления двумя мостами у нас получается восемь управляющих проводов (на затворы каждого транзистора). Это очень неудобно, потому что, во первых, нужно много проводов цеплять к управляющему микроконтроллеру, а во вторых, если подать управляющий сигнал одновременно на верхний и на нижний транзисторы одного плеча моста, то мы получим короткое замыкание и просто сожжём два транзистора. Поэтому я решил сделать одну хитрость: затворы нижних транзисторов каждого плеча (они у нас коммутируют минус к обмотке мотора) необходимо подключить через инвертор (в данном случае логический элемент «не»), а затворы верхних транзисторов — на вход того же инвертора. Таким образом мы получаем уже четыре управляющих сигнала (A, B, C ,D).

В итоге, если мы подаём на любую линию управления логическую единицу (ТТЛ), то у нас откроется верхний транзистор плеча, а на затвор нижнего пойдёт логический нуль и он будет закрыт. А если подать на ту же линию логический нуль , то верхний транзистор будет закрыт, а на затвор нижнего будет подана логическая единица (с выхода инвертора), и конец обмотки будет подключён к минусу. С теорией покончено.

Теперь подключаем нашу схему к arduino (или просто микроконтроллеру): линии A,B,C,D — к любому свободному пину, так же же подключаем минус и плюс 5 вольт от платы контроллера. Сами мосты запитываем от отдельного блока питания (у меня был не стабилизированный на 15 вольт).

Читайте также:  Какие двигатели использует камаз мастер

Осталось написать программу управления

Будем управлять двигателем в полушаговом режиме (8 шажков). В моей программе написаны три функции: forward — будет крутить двигатель в одну сторону, backward — в обратную, stope — остановка. Функции запускаются с помощью терминала путём отправки символов (f,b и s соответственно). Переменная dl служит для управления скоростью вращения двигателя. Так как программа выполняется по кругу, то двигатель вращается постоянно. По аналогии можно добавить подпрограммы для одного шага или нужного количества шагов.

Внешний вид готового устройства:

Как видно из фотографии, мосты собраны из разных транзисторов (в верхних плечах пары ceb703al и 76129s выпаянные из старых материнок, в нижних плечах irf640 и irf610), так как восемь одинаковых у меня просто не было. Тем не менее схема вполне работоспособна. Так же на фото заметна пара «соплей» — перемычек — как всегда ошибки при рисовании платы.

И в конце статьи — демонстрационное видео работы устройства.

Источник

Биполярный шаговый двигатель как запустить

_________________
Если долго мучиться, что-нибудь. сломается.

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

falkonist
Друг Кота

Карма: 41
Рейтинг сообщений: 494
Зарегистрирован: Вс мар 04, 2007 11:39:00
Сообщений: 4014
Откуда: Ukraine, Kyiv
Рейтинг сообщения: 0

_________________
Выслушай и противную сторону, даже если она и противна

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

«Надо хотя бы логику (или МК) или сразу специальный драйвер к нему.»

Всё понятно. я этого и боялся. Хочется проще а получается как всегда.

Может менять скорость шаговика можно переключением различных номиналов кварца?

Схемка по первой ссылке вроде как простенькая.
Но даж она мной слабо осуществима.

В связи с этим ищу человека способного разработать и желательно спаять рабочий вариант независимого контроллера.
Главное условие — способность менять скорость вращения, замедляться при определённой температуре с термодатчика.
Если сработает, пойдёт в массовое производство)
Пожалуйста откликнитесь кому интересно (больших денег не обещаю, но если пойдёт в массы. )
А вот для этого «Из лап в лапы» есть. Паятель.

Реклама

Значение скорости переключения MOSFET в традиционных корпусах ограничено многими факторами. Компания Wolfspeed предлагает для своих MOSFET на базе карбида кремния два новых вида корпусов. Применение компонентов в этих корпусах позволяет уменьшить потери и упростить разработку двадцатикиловаттного активного выпрямителя для станций быстрой зарядки электромобилей.

IfoR
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 22
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Сообщений: 2016
Откуда: г. Тула
Рейтинг сообщения: 0

Да куда ж проше как на готовом драйвере? Проше чем на логике не будет. Это ж шаговик. Он создан для точного регулирования угла поворота, а не для кулера. На его входы надо подавать +12\+24 сигнал поочерёдно на каждый проводок. Чем больше частота переключений — тем больше скорость. Если подавать сигналы в противоположном направлении, то и шагать он будет в другую сторону.
Если уж на рассыпухе, то можно сделать 4-х фазный мультивибратор, например. Но схема усложняется.

А для кулера использовал бы лучше DC привод через транзистор.

Реклама
Реклама

Компания Mornsun разработала серию высокоскоростных модульных приёмопередатчиков интерфейса RS-485. Модули изготавливаются в компактном корпусе типоразмера DIP-10.

Паятель
Модератор

Карма: 10
Рейтинг сообщений: 6
Зарегистрирован: Пт июл 21, 2006 03:08:05
Сообщений: 3182
Откуда: Пенза
Рейтинг сообщения: 0

_________________
Если долго мучиться, что-нибудь. сломается.

Реклама

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

Вложения:
Схемка.JPG [118.01 KiB]
Скачиваний: 5179
Вернуться наверх
Реклама

falkonist
Друг Кота

Карма: 41
Рейтинг сообщений: 494
Зарегистрирован: Вс мар 04, 2007 11:39:00
Сообщений: 4014
Откуда: Ukraine, Kyiv
Рейтинг сообщения: 0

Вложения:
Шаговые двигатели.rar [24.81 KiB]
Скачиваний: 5030

_________________
Выслушай и противную сторону, даже если она и противна

Вернуться наверх
Реклама

ПРИСТ расширяет ассортимент

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

Вложения:
Схемка2.JPG [45.57 KiB]
Скачиваний: 5901
Вернуться наверх
falkonist
Друг Кота

Карма: 41
Рейтинг сообщений: 494
Зарегистрирован: Вс мар 04, 2007 11:39:00
Сообщений: 4014
Откуда: Ukraine, Kyiv
Рейтинг сообщения: 0

Да. U1C, U1B и U1D представляют собой задающий генератор.

Учтите еще один момент: шаговые двигатели бывают 2-х типов: униполярные (без среднего вывода каждой из обмоток и требующие мостовых драйверов, как в приведенной Вами схеме) и биполярные (простые ключи, подключающие каждую половину обмоток со средним выводом — как в приведенных мною схемах). Соответственно, и разные схемы силовых драйверов.

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

_________________
Выслушай и противную сторону, даже если она и противна

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

Владимир К.
Мучитель микросхем

Зарегистрирован: Ср ноя 21, 2007 14:14:37
Сообщений: 438
Откуда: Краснодар
Рейтинг сообщения: 0

Ошибаешься, униполярный — со средним выводом, биполярный — без.

tarior, униполярный — средние выводы соединены внутри двигателя.

_________________
Electronikus mente prius et oculis agat, quam armata manu.

falkonist
Друг Кота

Карма: 41
Рейтинг сообщений: 494
Зарегистрирован: Вс мар 04, 2007 11:39:00
Сообщений: 4014
Откуда: Ukraine, Kyiv
Рейтинг сообщения: 0

Точно, ошибся Владимир К. прав.

А вот — тот драйвер, о котором я говорил:

_________________
Выслушай и противную сторону, даже если она и противна

Borodach
Модератор

Карма: 112
Рейтинг сообщений: 1015
Зарегистрирован: Пн дек 08, 2008 19:28:04
Сообщений: 20963
Откуда: 10км от Москвы на Север
Рейтинг сообщения: 0

есть вот такая схема

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

Ребята! спасибо огромное за помощь.

Решил спаять самую простую на мой взгляд схемку предложенную «Borodach».. (последняя в посте)
На первое время самое то. Цена минимальная получается и простота исполнения.
На будущее, конечно, склоняюсь в сторону микроконтроллера, но сам не осилю. Поэтому сейчас попытаюсь спаять эту схемку.

1) Кстати шунтирование питания микросхем конденсаторами это как и какими?
2) Могу я использовать блок питания +5v/+36v. Вместо 12 подать 36. Я так понимаю всё зависит от комутирующей микросхемы ULN2004A, выдержит она или нет?
3) Чем понизить/отрегулировать 36v от импульсного блока питания (от принтера)

Borodach
Модератор

Карма: 112
Рейтинг сообщений: 1015
Зарегистрирован: Пн дек 08, 2008 19:28:04
Сообщений: 20963
Откуда: 10км от Москвы на Север
Рейтинг сообщения: 0

Шунтирование по питанию, это значит припаять по питанию к каждой микросхеме конденсатор где-то от 47н до 0,1мкф — керамический.

36вольт подать можно, но всё правильно, надо уточнить в справочнике, выдержит ли это напряжение 2004. .

В блоках питания часто бывают подстроечные резисторы, которые позволяют в некоторых пределах регулировать выходное напряжение. Если такого резистора нет, то надо искать регулирующие элементы типа 431 и смотреть их обвязку. С их помощью можно значительно регулировать выходное напряжение БП, но для начала желательно потренироваться на чём-нибудь не очень ценном, но примерно на такой же схеме. .

Borodach
Модератор

Карма: 112
Рейтинг сообщений: 1015
Зарегистрирован: Пн дек 08, 2008 19:28:04
Сообщений: 20963
Откуда: 10км от Москвы на Север
Рейтинг сообщения: 0

Есть ещё варианты на обычной логике. .

falkonist
Друг Кота

Карма: 41
Рейтинг сообщений: 494
Зарегистрирован: Вс мар 04, 2007 11:39:00
Сообщений: 4014
Откуда: Ukraine, Kyiv
Рейтинг сообщения: 0

_________________
Выслушай и противную сторону, даже если она и противна

tarior
Родился

Зарегистрирован: Ср фев 25, 2009 00:54:26
Сообщений: 15
Откуда: Брест
Рейтинг сообщения: 0

Вложения:
НОВАЯ СХЕМКА.JPG [12.51 KiB]
Скачиваний: 3827
Вернуться наверх
akl
Друг Кота

Карма: 58
Рейтинг сообщений: 843
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3834
Откуда: Ижевск
Рейтинг сообщения: 0

Страница 1 из 5 [ Сообщений: 99 ] На страницу 1 , 2 , 3 , 4 , 5 След.

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Источник

Adblock
detector