Простой контроллер шагового двигателя: Контроллер шагового двигателя на PIC12F629

Контроллер шагового двигателя схема | KAVMASTER

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

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

Шаговые двигатели достаточно распространены в устройствах, в которых необходимо добиться точного перемещения механизмов. Существует очень много типов шаговых двигателей, но самыми простыми в плане управления являются 2-х фазные униполярные двигатели. Этот тип двигателей имеет две независимые обмотки с выводами от середины (см. Рис.1). Их устанавливают в такие аппараты, как принтер, копир, дисковод и т.д.

 

Схема управления шаговым двигателем.

На рисунке 2 представлена схема управления шаговым двигателем.


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

  1. Можно определить количество шагов.
  2. Определить один из двух алгоритмов работы двигателя.
  3. Опробовать работу двигателя в полушаговом режиме.
  4. Можно опробовать работу в полношаговом режиме.
    Еще раз повторюсь, что разновидностей шаговых двигателей много и данный контроллер подойдет не для всех.

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

Программа управления состоит из пяти подпрограмм, которые переключаются кнопкой BS3 – «Выбор программ». Номер выбранной подпрограммы отображается тремя светодиодами в двоичной системе счисления. При первом включении должен загореться светодиод HL1, индицирующий о том, что включена первая подпрограмма работы шагового двигателя в полушаговом режиме. Запуск двигателя осуществляется кнопками «Право» и «Лево». Право – двигатель должен крутиться по часовой стрелке, лево – против часовой, но направление вращения зависит еще и от того, как вы скоммутируете обмотки двигателя.

Возможно, придется экспериментировать. На скриншоте 1 (передняя панель виртуального осциллографа программы Proteus) можно наблюдать импульсную последовательность и коды полушагов работы двигателя. Некоторые из шаговиков по этому алгоритму у меня не работали.

Полношаговый алгоритм работы шагового двигателя

Подпрограмма №2 – светится второй светодиод. В этой подпрограмме двигатель будет работать по полно шаговому алгоритму, показанному на скрине 2.

Подпрограмма №3 – светятся первый и второй светодиоды. В этой подпрограмме двигатель будет работать по полношаговому алгоритму, показанному на скрине 3.

Количество шагов шагового двигателя

Подпрограмма №4 – светится третий светодиод. Данная подпрограмма обеспечивает один шаг двигателя при каждом нажатии на кнопку «Право». Кнопка «Лево» в данном случае не задействована. Короче говоря, нажимая каждый раз на кнопку, можно сосчитать количество шагов за один оборот проверяемого двигателя. Алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 2.

Подпрограмма №5 – светятся первый и третий светодиоды. В этой подпрограмме творится тоже самое, только алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 3.

Общий вид платы — на фото.

Файл прошивки, схему и рисунок печатной платы можно скачать по ссылке ниже. 

Купить USB программатор PIC K150 ICSP

 

Самодельный драйвер для шагового двигателя своими руками. Управляем шаговыми движками и DC моторами, L298 и Raspberry Pi

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

Что такое шаговый двигатель?

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

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

Преимущества и недостатки шагового электродвигателя

К преимуществам эксплуатации шагового двигателя можно отнести:

  • В шаговых электродвигателях угол поворота соответствует числу поданных электрических сигналов, при этом, после остановки вращения сохраняется полный момент и фиксация;
  • Точное позиционирование – обеспечивает 3 – 5% от установленного шага, которая не накапливается от шага к шагу;
  • Обеспечивает высокую скорость старта, реверса, остановки;
  • Отличается высокой надежностью за счет отсутствия трущихся компонентов для токосъема, в отличии от коллекторных двигателей;
  • Для позиционирования шаговому двигателю не требуется обратной связи;
  • Может выдавать низкие обороты для непосредственно подведенной нагрузки без каких-либо редукторов;
  • Сравнительно меньшая стоимость относительно тех же ;
  • Обеспечивается широкий диапазон управления скоростью оборотов вала за счет изменения частоты электрических импульсов.

К недостаткам применения шагового двигателя относятся:

  • Может возникать резонансный эффект и проскальзывание шагового агрегата;
  • Существует вероятность утраты контроля из-за отсутствия обратной связи;
  • Количество расходуемой электроэнергии не зависит от наличия или отсутствия нагрузки;
  • Сложности управления из-за особенности схемы

Устройство и принцип работы

Рис. 1. Принцип действия шагового двигателя

На рисунке 1 изображены 4 обмотки, которые относятся к статору двигателя, а их расположение устроено так, что они находятся под углом 90º относительно друг друга. Из чего следует, что такая машина характеризуется размером шага в 90º.

В момент подачи напряжения U1 в первую обмотку происходит перемещение ротора на те же 90º. В случае поочередной подачи напряжения U2, U3, U4 в соответствующие обмотки, вал продолжит вращение до завершения полного круга. После чего цикл повторяется снова. Для изменения направления вращения достаточно изменить очередность подачи импульсов в соответствующие обмотки.

Типы шаговых двигателей

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

По конструкции ротора

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

Управление шаговым двигателем через контроллер Canny / Хабр

Наткнулся недавно на статью камрада BosonBeard про новые контроллеры и решил попробовать на зуб что это такое. Недолго думая были раздобыты 3 типа контроллеров: Canny 3 Tiny, Canny 5 Nano, Canny 7.


Рис. 1. Внешний вид упаковки контроллеров Canny 7 (слева), Canny 5 Nano (в центре), Canny 3 Tiny (справа), шариковая ручка для масштаба


Рис. 2. Внешний вид контроллеров Canny 7 (слева), Canny 5 Nano (в центре), Canny 3 Tiny (справа), шариковая ручка для масштаба

На что стоит обратить внимание… сердцем контроллеров являются чипы семейства PIC — PIC18F25K50-I/ML, PIC18F25K80, PIC24HJ128GP506A-I/PT — соответственно. Про возможности каждого чипа можно прочитать из даташитов производителя, так что не будем заострять на этом внимание. Из особенностей могу добавить только, что у модели Canny 5 Nano есть внешний TTL-USB драйвер на чипе CP2102. На счет подключения и впаянных разъемов на моделях Canny 7 и Canny 3 переживать не стоит, т.к. производитель укомплектовывает поставку солидным пучком проводов с запаянными разъемами.

Применение чипов семейства PIC было неожиданностью. Хотя сам я не большой их поклонник, свою нишу они определенно занимают не зря. К слову, система защиты от протечек “аквасторож” тоже построена на чипах PIC.

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

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

Внимание! Собственный бутлоадер и графическая среда программирования накладывают определенные ограничения — невозможность использования стандартных библиотек. Но когда это нас останавливало?)

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

От старого проекта у меня лежал неиспользованный старенький ДШИ-200 и самодельный драйвер к нему.


Рис.3. Мой старый драйвер шагового двигателя, на рисунке можно увидеть 3 канала управления

Это делает задачу немного интересней, так как готовые примеры рассчитаны на использование обычных сейчас 2-х обмоточных двигателей, в то время как ДШИ-200 — четырехобмоточный с двумя выводами с каждой обмотки.

Для сравнения, стандартная программа управления выглядит так:

А то что изобразил я, для управления своим двигателем выглядело так:

Почему такая разница в программах? Во-первых для таймлапса не надо организовывать реверс, т.е. достаточно вращения двигателя в одну сторону. Во-вторых — особенности самого двигателя, который может быть включен как по униполярной, так и по биполярной схеме. Так что нам подойдет униполярная схема:

В качестве платформы для таймлапса я использовал слегка измененный поворотный стол от 3д сканера cyclopus:

Достоинства и недостатки.
По традиции начнем с недостатков:
Закрытый бутлоадер

Отсутствие возможности подключения внешних библиотек

Из достоинств:
Графическая среда программирования — да, это непривычно, но это снижает порог вхождения
Высокая скорость разработки программ
Простота настройки и наладки программ “по месту” в полевых условиях
Развитое сообщество и поддержка разработчиков

Выводы
Не смотря на то, что контроллер достаточно специфичный и относится больше к узкоспециализированному профессиональному классу, производитель позаботился и о простых смертных. Это действительно сопоставимо со временем написания программ на Arduino. Но если взять более сложные программы, Arduino в проигрыше из-за сложности восприятия кода. Всетаки “картинку” мозг воспринимает быстрей чем текст. Кроме того, человеку который не участвовал в изначальной разработке кода проще будет его разобрать по картинке. Конечно визуальная среда разработки добавляет в загружаемый код хлама, но для сложных задач можно выбрать другой контроллер с большим объемом памяти… в общем каждый сам решает что ему важнее.

Уверен что многие вспомнят визуальную среду программирования Arduino — ArduBlock, которая умеет поддерживать библиотеки различных модулей и протоколов. Однако для чипов PIC ничего такого не было. Да и вообще с того момента как массово стали использовать Arduino про аналогичные устройства на PIC большинство из нас забыло. О достойной альтернативе говорить сложно, но это однозначно шаг вперед.

Мне было любопытно что это за контроллеры и что они умеют и я на данный момент удовлетворил свое любопытство. Я не придумал красивое окончание статьи, так что всем прочитавшим — спасибо за внимание.

Управление шаговым двигателем | Электроника для всех

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

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

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

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

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

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

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

Лирическое отступление, при желании можно его пропустить

Именно на нем был сделан мой первый силовой блок робота. Кроме него там еще два источника питания на 5 и на 3.3 вольта, а также контроллер двух движков на L293 (такой же как и во второй реализации силового блока). В качестве контроллера тогда был выбран АТ89С2051. Это антикварный контроллер архитектуры MSC-51 в котором из периферии только два таймера, порты да UART, но я его люблю нежно и трепетно, так как первая любовь не проходит никогда =). К сожалению исходники его мега прошивки канули в Лету вместе с убившимся винтом, так что я не могу поделиться теми извращенскими алгоритмами, которые были туда засунуты. А там был и двухканальный ШИМ, и I2C Slave протокол, и контроль за положением шаговика с точным учетом его перемещения. Короче, знатный был проект. Ныне валяется трупом, т.к. все лень запустить Keil uVision и написать новую прошивку. Да и ассемблер С51 я стал уже забывать.


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

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

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

Документация по микросхемам:

Домашний CNC. Часть 1. Драйвер шагового двигателя для мини-станка с ЧПУ


При конструировании очередного станка с ЧПУ, а попросту 3-х осевого фрезерного-сверлильного станочка для печатных плат и мелких фрезерных работ, у меня появилось неугомонное желание разложить всё «по полочкам».
Многие скажут, что тема не нова, существует множество проектов, множество технических и программных решений. Но, плавая в этом море информации, я постарался убрать всю «воду» и получить «сухой остаток».
Вот что из этого получилось…

Содержание / Contents

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

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

Нужно двигать собственно фрезер в 3-х направлениях — XYZ, значит нужно 3 привода — 3 мотора с передачей вращения вала двигателя в линейное перемещение.
О передаче…
Для фрезерного станка, где есть боковые усилия резания материала, желательно не применять ременные передачи, очень популярные в 3D принтерах. Буду применять передачу «винт-гайка». Самая бюджетная передача — обычный стальной винт и безлюфтовая, желательно бронзовая, гайка. Более правильная — винт с трапециевидной резьбой и гайка из капролона. Самая хорошая (и, увы, самая дорогая) шарико-винтовая пара, или ШВП. Об этом подробнее я еще расскажу далее…
У каждой передачи есть свой коэффициент, свой шаг — то есть насколько линейно по оси переместится фрезер за один оборот двигателя, например, на 4 мм.
В качестве двигателя для привода определил шаговый двигатель (ШД)
Почему шаговый? Что это вообще такое?
Двигатели есть переменного и постоянного тока, коллекторные и бесколлекторные, и так называемые «шаговые». В любом случае нам надо обеспечить какую-то точность позиционирования, например 0,01 мм. Как это сделать? Если двигатель имеет прямой привод — вал двигателя соединяют напрямую с винтом, то для обеспечения такой точности нужно повернуть его на некоторый угол. В данном случае, при шаге передачи 4 мм и желаемой точности перемещения 0,01 мм это… всего 1/400 оборота, или 360/400=0,9 градуса! Ерунда, возьмем обычный моторчик…

С «обычным» моторчиком без обратной связи никак не получится. Не вдаваясь в подробности, схема управления двигателем должна «знать», на какой угол повернулась ось. Можно конечно поставить редуктор — потеряем в скорости, и все равно без гарантии, без обратной связи вообще никак! На ось ставится датчик угла поворота. Такое решение надежное, но дорогое.

Альтернатива — шаговый двигатель (как он работает, почитайте сами). Можно считать, что за одну «команду» он повернет свою ось на определенный градус, обычно это 1,8 или 0,9 градуса (точность обычно не хуже 5%) — как раз то, что нужно. Недостаток такого решения — при большой нагрузке двигатель будет пропускать команды — «шаги» и может вообще остановиться. Вопрос решается установкой заведомо мощного двигателя. На шаговых двигателях и делается большинство любительских станочков.

2 обмотки, с минимальным током, минимальной индуктивностью и максимальным моментом — то есть максимально мощный и экономичный двигатель.

Противоречивые требования. Малый ток — значит большое сопротивление, значит много витков провода обмотки двигателя, значит большая индуктивность. А большой момент — это большой ток и много витков. Выбираем в пользу большего тока и меньшей индуктивности. А момент надо выбирать исходя из нагрузки, но об этом потом.

Характеристики некоторых двигателей приведены в таблице:


Для небольшого станка с рабочим пространством размером 300×300х100 мм и легким фрезером вполне сгодятся двигатели с крутящим моментом 0,3Нм и выше. Оптимальным является ток от 1,5 до 2,5 Ампер, вполне подойдет FL42STh48-1684 Двигатель есть. Теперь нужен драйвер — переключать напряжение на обмотках двигателя определенным образом, при этом не превышая установленный ток.

Самое простое решение — источник заданного тока и две пары транзисторных ключей на каждую обмотку. И четыре защитных диода. И логическая схема чтобы менять направление. И… Такое решение обычно делают на микросхеме ULN2003A для двигателей с малым током, имеет много недостатков, не буду на них останавливаться.

Альтернатива — специализированные микросхемы «всё в одном» — с логикой, транзисторами и диодами защиты внутри (или снаружи). А еще такие микросхемы контролируют ток обмоток и регулируют его с помощью ШИМ-а, а так же могут реализовывать режим «полушаг», а некоторые режимы 1/4 шага, и 1/8 шага и т. д. Эти режимы позволяют повысить точность позиционирования, повысить плавность движения и снизить резонанс. Обычно достаточно режима «полушаг», что позволит повысить теоретическую точность линейного позиционирования (в моем примере до 0,005 мм).

Что внутри микросхемы драйвера шагового двигателя? Блок логики и управления, источники питания, ШИМ со схемами формирования момента и времени коммутации обмоток, выходные ключи на полевых транзисторах, компараторы обратной связи — ток контролируется по падению напряжения на резисторах (Rs) в цепи питания обмоток. Ток двигателя задается опорным напряжением.

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

На сегодняшний день есть достаточно много различных микросхем и достаточно много уже готовых плат и модулей драйверов ШД. Можно купить готовый, а можно «изобретать велосипед», тут каждый решает по-своему.

Из готовых — наиболее распространённые и недорогие драйверы на микросхемах Allegro A4988 (до 2А), Texas Instruments DRV8825 (до 2,5А).
Поскольку модули изначально разрабатывались для использования в 3D принтерах типа Rep-rap проекта Arduino, они не являются законченными модулями (например, им нужно еще питание логики (+5V), которое подается с так называемой рампы (Ramp).

Еще есть решения на DRV8811 (до 1,9 А), A3982 (до 2 А), A3977 (до 2,5 А), DRV8818 (до 2,5 А) DRV8825 (до 2,5 А), Toshiba TB6560 (до 3 А) и другие.

Поскольку мне интересно что-то сделать самому, плюс появилась возможность «попробовать на вкус» микросхемы Allegro A3982 и A3977, решил сделать пару драйверов самостоятельно.

Готовые решения на A4988 не понравились, прежде всего, из-за миниатюризации размеров печатной платы в ущерб хорошему охлаждению. Типовое сопротивление открытых транзисторов у A4388 при токе 1,5А 0,32+0,43 Ом, плюс 0,1-0,22 Ома «измерительный» резистор — получается около 0,85 Ом. А таких каналов два, и хотя и работают они импульсно, но 2-3 Ватта тепла надо рассеивать. Ну не верю я в многослойную плату и малюсенький радиатор охлаждения — в даташите нарисована плата гораздо больших размеров.

Провода мотора нужно сделать короткими, драйвер устанавливать рядом с двигателем. Существует 2 технических решения в звукотехнике: длинный сигнальный кабель к усилителю + короткие провода к акустической системе, или короткий сигнальный кабель к усилителю + длинные провода, а акустической системе. Оба решения имеют свои плюсы и минусы. С моторами — так же. Я выбрал длинные провода управления и короткие провода к мотору.

Управляющие сигналы — «шаг» (step), «направление» (dir), «включение» (enable), индикация состояния сигналов управления. Некоторые схемы не используют сигнал «Enable», но это приводит в режиме простоя к ненужному нагреву и микросхемы и двигателя.

Одно питание 12-24 вольта, источник питания логики (+5B) — на плате. Размеры платы — достаточные для хорошего охлаждения, двухсторонняя печать с большой областью «меди», возможность приклеить на микросхему радиатор (применяемой для охлаждения памяти видеокарт).

Основные характеристики и блок-схема:

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2 А Типовое сопротивление открытых транзисторов (при токе 1,5А): 0,33+0,37 ОмОсновные характеристики и блок-схема:

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2,5 А Типовое сопротивление открытых транзисторов (при токе 2,5А): 0,33+0,45 Ом

Проектировал в среде DipTrace. Драйвер A3982 включен по схеме из документации производителя. Включен режим «полушаг». Дополнительно для надежной работы сигналов управления и индикации применил микросхему логики 74НС14 (с триггерами Шмитта). Можно было сделать гальвано-развязку на оптронах, но для маленького станка я решил ее не делать. Схема на A3977 отличается только дополнительными джамперами режима шага и более мощным разъемом питания, пока в «железе» не реализована.Процесс изготовления — ЛУТ, двухсторонняя. Габариты 37×37 мм, крепеж — как у двигателей, 31×31 мм.

Для сравнения — слева мое творчество, справа драйвер на A4988.
Все заработало сразу, наладки не требовалось.

Температуру корпуса микросхемы мерил пирометром — без радиатора она достигала 90-95 градусов (при токе обмоток 1,6А) — мне это не понравилось. С радиатором — 55-60 градусов — куда лучше! Вообще плата вся теплая — около 35 градусов.

Спасибо за внимание!
Продолжение следует…

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

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

Камрад, рассмотри датагорские рекомендации

Антон (basilevscom)

Россия, Санкт-Петербург

О себе автор ничего не сообщил.

 

Драйвер шагового двигателя. Тестируем микросхему L9110 / Хабр

Откуда «ножки» растут


В настоящее время стали доступны и приобрели популярность различные станки с программным управлением. Это лазерные и фрезерные резчики и гравёры. А так же 3D принтеры. Все эти станки имеют один общий узел — шаговый двигатель.

И этому двигателю нужен драйвер.

Принцип работы двигателя не является предметом этой статьи. Мы рассмотрим только драйвер. Всё, что нам нужно знать в данном контексте — это какие управляющие сигналы нам нужно формировать для управления шаговым двигателем. Оказывается, это самые обычные прямоугольные импульсы.

Существует некоторое количество решений драйверов от различных компаний. В нашей статье мы рассмотрим самое доступное решение драйвера L9110 и его аналог HG7881 Это решение часто используется в Arduino

Теория и практика


Я решил применить микросхему L9110 в своём проекте.

Довольно легко нагуглил datasheet. Прочитал. Всё предельно понятно. Характеристики, распиновка, таблица истинности… По всем параметрам драйвер, вроде бы подходит. Напряжение коммутации — 12 вольт, выходной ток 800 ма. — всего хватает.

А что на деле?



Не откладывая в «долгий ящик» я сделал плату, написал и запустил тестовую программу…
Первое, на что я обратил внимание в своём устройстве — то, что микросхема драйвера сильно греется. Внимание! НА ХОЛОСТОМ ХОДУ. Без нагрузки. Это что за чудеса схемотехники?
Может у меня микросхема бракованная?

Пришла в голову идея рассмотреть сей девайс поподробнее. И не один, а кучу.
Сказано — сделано.
Хорошо, что у меня была припасена панелька SO-8 и плата для моделирования.
Ну, и контроллер на базе STM32.

Собран стенд и произведены измерения.

Да, кстати, кроме непосредственно, силового узла в микросхеме заложена логика исключающее ИЛИ. В даташите это описано.

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

В результате измерений получилась табличка:

Рассмотрим строчки 2 и 3. Что мы здесь видим?

  1. Падение напряжения на выходных транзисторах, при наличии нагрузки, около полутора вольт, что при токе 0,33 ампера даёт 0,5 ватт на канал.
  2. На холостом ходу микросхема потребляет 0,05 А, что при напряжении 12 В даёт 0,6 ватт на канал.

Другими словами, независимо от нагрузки она потребляет около 0,5 Вт на канал. Теперь понятно, почему я об неё обжигал пальцы.

Сильный нагрев — это, конечно недостаток. Но может свою функцию микросхема выполняет хорошо? Тут пригодился недавно подаренный себе 4-х лучевой осциллограф приставка. Не ожидал, что мне так скоро потребуются все 4 луча. Для тестирования написал простенькую программку на stm32, который давно использую в различных проектах. Программа, просто, генерирует 2 прямоугольных сигналы с трёхкратной разницей частот.

Поскольку один раз увидеть лучше чем много раз прочитать — прикладываю развёртку сигналов управления.

Ничего особо сложного. Просто прямоугольные импульсы сдвинутые с разницей частоты в 3 раза.

Верхняя часть экрана — входные сигналы — нижняя — выходные.

Сразу бросается в глаза, что при различающихся значениях сигналов на входах, значения на выходах вполне чёткие Устанавливаются без задержек и с резкими фронтами.

Если же сигналы на входах совпадают — то фронт пологий. похож на разряд конденсатора.
Просмотрев документацию я не увидел ничего такого, что предвещало бы такое поведение.
Может я задал слишком высокую частоту входных сигналов? В даташите лимит не указан.
Уже зная, что у этого драйвера есть почти стопроцентный аналог HG7881 я обратился к его документации.

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

Значит два нуля на входе должны «подвешивать» выходы. Тогда, поведение разряжающегося конденсатора вполне предсказуемо. Однако две единицы на входах — должны быть надёжным нулём на выходе. А фактически это не так.

Я мог бы списать этот дефект на «китайского производителя». Однако, я тестировал микросхему по честному выпаянную из ардуиновской платы. При чём — не одну микросхему. Из нескольких плат. То есть, вероятность брака сильно снижена.

Вывод


Область применения микросхем L9110 уже, чем задекларирована, да и КПД низковат.
Рассеяние 0,5-0,6 ватта на одном ключе — это многовато. Не случайно это решение самое дешёвое.(10 центов за микросхему. на алиэкспрессе).

В следующих статьях будут рассмотрены альтернативные драйвера шаговых двигателей.

Быстрые движения под высоким напряжением, или почти вся правда об управлении шаговым мотором

Доброго вам времени суток, уважаемые гики и сочувствующие!

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

Что же такое этот самый шаговый электродвигатель? В принципе, в плане функциональности этот мотор можно представить как обычный электромотор, каждый оборот вала которого разбит на множество одинаковых, точно фиксированных шагов. Перемещением на определённое количество шагов мы можем позиционировать вал шагового мотора с высокой точностью и хорошей повторяемостью. Каждый шаг можно разбить на множество ступенек (так называемый микростеппинг), что увеличивает плавность хода мотора, способствует подавлению резонансов, а также увеличивает угловое разрешение. Различия между полношаговым режимом (слева), 1/2 микростеппингом (в центре) и 1/16 микростеппингом (справа) видны невооружённым глазом:

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

Из этой картинки видно, что шаговый мотор в электрическом плане представляет собой два или более электромагнита, которые необходимо переключать в определённой последовательности для приведения ротора в движение.
Лирическое отступление: На настоящий момент существуют два основных типа шаговых моторов: униполярный и биполярный. Поскольку униполярные моторы имеют меньший крутящий момент и худшие скоростные характеристики, в данной публикации они рассматриваться не будут.
Итак, вернёмся к управлению биполярным мотором. Как это ни парадоксально звучит, но зачастую проще обсуждать общие принципы на конкретных примерах. В качестве примера мы возьмём шаговый мотор ST4118L1804-A производителя Nanotec. Почему именно этот мотор и производитель? Причина проста: по основным характеристикам это типичный представитель моторов типоразмера NEMA 17, широко применяющихся в радиолюбительской практике, и имеет к тому же довольно подробную техдокументацию (которая начисто отсутствует у китайских noname-моторов).

Основные характеристики данного мотора:
Рабочее напряжение 3,15 В
Рабочий ток 1,8 А
Активное сопротивление обмотки 1,75 Ом
Индуктивность обмотки 3,3 мГн
Момент удержания 0,5 Нм
Угловой размер шага 1,8° (200 шагов на один оборот ротора)

В данном случае самое главное — это правильная интерпретация данных. Применив закон Ома, выясняем, что производитель указал рабочий ток и напряжение для постоянного тока, протекающего через обмотки двигателя, без учёта индуктивности.
Проверка: I = U/R, или 1,8 А = 3,15 В/1,75 Ом. Всё сходится.
Какой же будет мощность рассеяния при питании обмоток постоянным током?
Всё просто: P=I x U, или 1,8 А х 3,15 В = 5,67 Вт. В полушаговом режиме возможна ситуация, когда ток течёт через обе обмотки мотора, соответственно рассеиваемую мощность нужно удвоить: 5,67 Вт х 2 = 11,34 Вт. Это достаточно много, и может привести к перегреву мотора. Эта же величина является минимальной мощностью блока питания для этого мотора. Обыкновенный 3D принтер имеет пять подобных моторов, соответственно для питания драйверов необходим источник питания с минимальной мощностью 11,34 Вт х 5 = 56,7 Вт. К этой цифре необходимо добавить электрическую мощность, превращённую мотором в кинетическую или потенциальную энергию при работе принтера. Точный расчёт этой мощности — дело достаточно сложное, на практике проще всего добавить 75% к рассчитанной тепловой мощности и на том завершить расчёты. Почему именно 75%? Дело в том, что обычный шаговый мотор способен совершить полезную работу на величину примерно 2/3 от максимальной тепловой мощности. В данном случае для создания какого-либо узла или устройства сначала подбирается подходящий мотор (например, по крутящему моменту), а после этого рассчитывается мощность блока питания.
Итоговая мощность блока питания для пяти шаговых моторов: 56,7 Вт х 1,75 = 99,225 Вт.
Конечно, на практике ни в одном любительском устройстве не используются моторы под максимальной нагрузкой, и реальная мощность потребления будет, скорее всего, намного ниже расчётной. Я же, как человек ленивый и скаредный, крайне не люблю делать одно и то же два раза, поэтому беру блок питания всегда с некоторым запасом (то есть, согласно вышеприведённым расчётам).
Теперь пришла пора приступить к определению минимально необходимого напряжения блока питания. К сожалению, этому параметру уделяется незаслуженно маленькое внимание в тематических публикациях. Почему этот параметр так важен? Дело в том, что при вращении ротора шагового мотора через катушки течёт переменный ток, ограниченный не только активным, но также и индуктивным сопротивлением обмоток.
Рассмотрим предоставленный производителем график зависимости крутящего момента нашего мотора от частоты вращения:

На графике присутствуют две линии, показывающие зависимость крутящего момента от частоты вращения для напряжения питания 24 В (красная линия) и 48 В (зелёная линия). Нетрудно заметить, что спад крутящего момента начинается примерно с 300 об/мин для 24 В и примерно с 600-700 об/мин для напряжения 48 В. При этом необходимо упомянуть, что производитель использует недоступные любителям дорогостоящие промышленные драйверы. Почему же так важно напряжение питания драйвера, если оно даже в случае питания от 12 В заведомо выше паспортной величины напряжения питания шагового мотора (3,15 В)? Дело в том, что шаговый мотор управляется током, а не напряжением, и именно источниками тока являются все современные драйверы. В идеальном случае драйвер обеспечивает заданный ток в обмотках двигателя вне зависимости от частоты вращения ротора, нагрузки, изменения температуры и других параметров. Это организовано за счёт работы ШИМ-регулятора, управляемого зачастую довольно сложными алгоритмами. Из технической документации нашего мотора видно, что для полного оборота ротору необходимо совершить 200 шагов, при 300 об/мин это составит 60 000 шагов в минуту, или 1000 шагов в секунду. Это, проще говоря, соответствует переменному току частотой 1 кГц. На этой частоте индуктивное сопротивление обмотки составит (R(L)=2π×F×L): 2π х 1 кГц х 3,3 мГн = 20,73 Ом. Какое же напряжение необходимо для обеспеченияя тока в 1,8 А при этом сопротивлении? Закон Ома не дремлет (U=IR): 1,8 А х 20,73 Ом = 37,31 В. Неудивительно, что выше частоты вращения 300 об/мин наблюдается спад крутящего момента: драйверу банально не хватает напряжения питания. Почему же при таком вопиющем недостатке питания (37 — 24 =13 В) спад не наступает при более низкой частоте вращения? Дело в том, что в современных драйверах используется мостовая схема выходных каскадов, что позволяет «удваивать» напряжение, прикладываемое к обмоткам мотора. То есть, теоретически драйвер способен приложить «виртуальные» 48 В к обмоткам при напряжении питания 24 В, что создаёт теоретический запас по напряжению 48 — 37 = 11 В. На практике же этот запас будет нивелирован потерями в драйвере, сопутствующих цепях и активным сопротивлением обмоток мотора (активное сопротивление обмоток присутствует постоянно, и даже несколько возрастает при нагреве мотора). При увеличении частоты вращения ротора свыше 300 об/мин пропорционально растёт частота импульсов и, соответственно, увеличивается индуктивное сопротивление обмотки. При питании от 24 В драйверу перестаёт хватать напряжения питания для поддержания тока в обмотках, и крутящий момент неуклонно снижается. То же самое происходит при питании драйвера от 48 В, но уже гораздо значительно позже, при частоте вращения 600-700 об/мин.
Итак, с мощностью и величиной напряжения блока питания всё ясно, теперь необходимо переходить к практической реализации универсального драйвера, способного как к филигранной работе при помощи крохотных NEMA 11, так и к сотрясению основ мира в паре с могучими NEMA 23. Какими же основными качествами должен иметь драйвер моей мечты?

1. Высокое напряжение питания. Поскольку в техдокументации к моторам крайне редко указано максимальное напряжение питания, лучше будет ограничиться напряжением 48 В.
2. Важнейший параметр: высокий выходной ток. NEMA 23 имеют рабочие токи вплоть до 3,5 А, драйвер должен обеспечивать этот ток с запасом 30%. Путём нехитрых расчётов получаем максимальный рабочий ток около 4,5 А.
3. Простая и оперативная подстройка силы выходного тока.
4. Наличие микростеппинга, как минимум 1/8 шага
5. Наличие защиты от КЗ, перегрева, и т.д.
6. Небольшой размер, возможность крепления произвольного радиатора.
7. Исполнeние в виде интегральной схемы. XXI век на дворе!
8. Простая схема включения с минимальным количеством дискретных компонентов.
9. Низкая цена.

После множества бессонных ночей пятиминутного копания в Google выяснилось, что единственной доступной микросхемой драйвера с подходящими параметрами является TB6600HG. Покупка готового китайского драйвера на eBay показала, что не всё ладно в датском королевстве, далеко не всё. В частности, китайский драйвер отказался напрямую работать с выходами Arduino Due, и «завёлся» только через буферный преобразователь уровней. При работе с трёхамперной нагрузкой драйвер грелся и терял шаги десятками. Вскрытие пациента показало, что в нём не только была установлена микросхема предыдущего поколения (TB6560), а даже и термопаста не смогла найти себе места в списке компонентов. К тому же размерами и весом китайский драйвер наводил меня на мысли о моей молодости… о прошлом веке, если быть совсем точным. Ну нафиг, сказал во мне интеллигент в третьем поколении, мы сделаем свой драйвер, с преферансом и поэтессами. Если бы разработчики KiCAD видели, как я обращаюсь с их детищем, я разорился бы на одних только адвокатах:


С целью минимизации размеров была спроектирована четырёхслойная печатная плата. Этот факт, к сожалению, исключает её изготовление в домашних условиях. Посему на берлинской фирме LeitOn были заказаны 36 таких плат, каждая из которых обошлась в итоге около пяти евро. Часть этих плат были впоследствии выкуплены у меня собратьями по увлечению, и в итоге изготовление плат вышло не слишком накладным предприятием. Микросхемы TBB6600HG были заказаны на Aliexpress по 4 евро за штуку, остальные компоненты были заказаны на eBay, в пересчёте на один драйвер цена дискретных компонентов составила 2 евро. В качестве радиаторов были взяты пятисантиметровые отрезки П-образного алюминиевого профиля, пластиковые каркасы были отпечатаны на 3D принтере. Итого цена одного драйвера составила около 12 евро. Это справедливая цена за драйвер со следующими характеристиками:

Напряжение питания от 8 до 42 Вольт
Максимальный долговременный рабочий ток 4,5 Ампер, устанавливается потенциометром
Микростеппинг вплоть до 1/16 шага
Защита: КЗ, перегрев, низкое напряжение питания
Компактные размеры и низкий вес
Работа с уровнями входных сигналов от 3,3 до 5,5 вольт
Простая установка микростеппинга с помошью микропереключателей — к чёрту перемычки!

Готовые печатные платы:

Собранные и недособранные драйверы.

Видео работы драйвера в моём старом 3D принтере. Здесь трёхамперный NEMA 17 бодро гоняет подогреваемую рабочую площадку принтера размером 45 х 25 см через шестнадцатимиллиметровый шпиндель длиной 60 см:

Финальное фото: самодельные драйвера на своём рабочем месте в моём новом 3D принтере.

Публикуется под лицензией WTFPL

Ну, и традиционное: Have fun!

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


Stepper Motor Controller with Parallel Port Schematic

Контроллер шагового двигателя с параллельным портом Список:

М42СП-5 Униполярный шаговый двигатель (или аналогичный)
ULN2003 IC — драйвер шагового двигателя
DB25 Штекерный разъем

Технический Технические характеристики:

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


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

Как работают шаговые двигатели?
Stepper Motor Controller with Parallel Port Шаговый двигатели сильно отличаются от обычных двигателей постоянного тока.Вместо того, чтобы вращаться, как двигатели постоянного тока, шаговый двигатель шаги двигателя с определенным разрешением для каждого пульс. Мотор, который мы используем, требует 48 шагов. / импульсы только на один оборот! Этого должно быть достаточно, чтобы говорить о его точности.

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

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

В для перемещения ротора вам понадобится водитель.Драйвер — это схема, которая прикладывает напряжение к любую из четырех обмоток статора. Драйвер может быть построен с микросхемой, такой как ULN2003 (изображена на схеме диаграмму), четыре транзистора Дарлингтона или четыре силовые транзисторы типа 2N3055.

Соединения шагового двигателя
Stepper Motor Controller with Parallel Port Stepper Motor Controller with Parallel Port униполярный двигатель должен иметь пять или шесть соединений в зависимости от модели.Если в двигателе шесть соединений, подобных изображенному выше, вы должны соединить контакты 1 и 2 (красный) вместе и подключите их к (+) 12-24В напряжение питания. Остальные булавки; а1 (желтый), b1 (черный), a2 (оранжевый), b2 (коричневый) должен быть подключен к драйверу (ULN2003), как показано на схеме.

Есть несколько пошаговых режимов, которые вы можете использовать для привода шагового двигателя.

1. Single Stepping — самый простой режим включает одну катушку за раз. Необходимо 48 импульсов совершить один оборот. Каждый импульс движется ротор на 7,5 градусов. В следующую последовательность необходимо повторить 12 раз чтобы двигатель совершил один оборот.

Импульсный

Катушка a1

Катушка b1

Катушка A2

Катушка b2

1

ПО

2

ПО

3

ПО

4

ПО


2.Шаг с высоким крутящим моментом — высокий режим мощности / точности включает две катушки вовремя. 48 импульсов необходимо для завершения одна революция. Каждый импульс перемещает ротор на 7,5 градусов. Последующий последовательность должна быть повторена 12 раз для двигателя совершить один оборот.

Импульсный

Катушка a1

Катушка b1

Катушка A2

Катушка b2

1

ПО

ПО

2

ПО

ПО

3

ПО

ПО

4

ПО

ПО

3.Half Stepping — степпинг удвоился и двигателю требуется 96 импульсов для совершения одного оборота. Каждый импульс перемещает ротор примерно на 3,75 градусов. Обратите внимание на сочетание пошагового режима (светлее зеленый) и режим высокого крутящего момента (темнее зеленый).

Импульсный

Катушка а1

Катушка б1

Катушка а2

Катушка b2

1

ПО

2

ПО

ПО

3

ПО

4

ПО

ПО

5

ПО

6

ПО

ПО

7

ПО

8

ПО

ПО


— пошаговый режим, нормальный сила, тихая
— режим высокого крутящего момента, повышенная прочность, слегка громче

Программное обеспечение контроллера шагового двигателя


Stepper Motor Controller with Parallel Port Некоторые драйверы также могут иметь частоту генератор / таймер, который используется для управления скорость вращения (LM555 / NE555) и цифровая ИС, такая как 74LS194, которая будет используйте импульсы для создания пошагового режима.

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

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

The программа будет работать на любой версии Windows (98 / ME / 2000 / XP). Если не работает то вам необходимо скачать и установить Microsoft .NET Framework .

Stepper Motor Controller with Parallel Port Загрузить Контроллер шагового двигателя



Accurate LC Meter Capacitance Inductance Meter with 16F628 and LCD Volt Ampere Meter with 16F876 Microcontroller and LCD display
Accurate LC Meter

Создайте свой собственный точный LC-метр (измеритель индуктивности емкости) и начните создавать свои собственные катушки и индукторы.Этот LC-метр позволяет измерять невероятно малые индуктивности, что делает его идеальным инструментом для изготовления всех типов ВЧ-катушек и индукторов. LC Meter может измерять индуктивность от 10 нГн до 1000 нГн, 1 мкГн — 1000 мкГн, 1 мГн — 100 мГн и емкости от 0,1 пФ до 900 нФ. Схема включает в себя автоматический выбор диапазона, а также переключатель сброса и обеспечивает очень точные и стабильные показания.

PIC Вольт-амперметр

Вольт-амперметр измеряет напряжение 0-70 В или 0-500 В с разрешением 100 мВ и потребляемый ток 0-10 А или более с разрешением 10 мА.Счетчик является идеальным дополнением к любым источникам питания, зарядным устройствам и другим электронным устройствам, в которых необходимо контролировать напряжение и ток. В измерителе используется микроконтроллер PIC16F876A с ЖК-дисплеем с подсветкой 16×2.


50MHz 60MHz Frequency Meter / Counter with 16F628 & LCD 1Hz - 2MHz XR2206 Function Generator
Частотомер / счетчик 60 МГц

Частотомер / счетчик измеряет частоту от 10 Гц до 60 МГц с разрешением 10 Гц.Это очень полезное стендовое испытательное оборудование для тестирования и определения частоты различных устройств с неизвестной частотой, таких как генераторы, радиоприемники, передатчики, функциональные генераторы, кристаллы и т. Д.

1 Гц — 2 МГц Генератор функций XR2206

1 Гц — 2 МГц Генератор функций XR2206 выдает высококачественные синусоидальные, квадратные и треугольные сигналы с высокой стабильностью и точностью. Формы выходных сигналов могут быть модулированы как по амплитуде, так и по частоте.Выход 1 Гц — 2 МГц Функциональный генератор XR2206 может быть подключен непосредственно к счетчику 60 МГц для настройки точной выходной частоты.


BA1404 HI-FI Stereo FM Transmitter USB IO Board PIC18F2455 / PIC18F2550
BA1404 HI-FI стерео FM-передатчик

Будьте в прямом эфире со своей собственной радиостанцией! BA1404 HI-FI стерео FM-передатчик передает высококачественный стереосигнал в FM-диапазоне 88–108 МГц. Его можно подключить к любому типу стереофонического аудиоисточника, например iPod, компьютеру, ноутбуку, проигрывателю компакт-дисков, Walkman, телевизору, спутниковому ресиверу, магнитофонной кассете или другой стереосистеме для передачи стереозвука с превосходной четкостью по всему дому, офису, двору или палаточный лагерь.

USB IO Board

USB IO Board — это крошечная эффектная маленькая плата разработки / замена параллельного порта с микроконтроллером PIC18F2455 / PIC18F2550. Плата USB IO совместима с компьютерами Windows / Mac OSX / Linux. При подключении к плате ввода-вывода Windows будет отображаться как COM-порт RS232. Вы можете управлять 16 отдельными выводами ввода / вывода микроконтроллера, отправляя простые последовательные команды. Плата USB IO получает питание от USB-порта и может обеспечить до 500 мА для электронных проектов.Плата USB IO совместима с макетной платой.


ESR Meter / Transistor Tester Kit Audiophile Headphone Amplifier Kit
ESR Meter / Capacitance / Inductance / Transistor Tester Kit

ESR Meter Kit — это удивительный мультиметр, который измеряет значения ESR, емкость (100 пФ — 20 000 мкФ), индуктивность, сопротивление (0,1 Ом — 20 МОм), проверяет множество различных типов транзисторов, таких как NPN, PNP, полевые транзисторы, полевые МОП-транзисторы, тиристоры, тиристоры, симисторы и многие типы диодов.Он также анализирует такие характеристики транзистора, как напряжение и коэффициент усиления. Это незаменимый инструмент для поиска и устранения неисправностей и ремонта электронного оборудования путем определения производительности и исправности электролитических конденсаторов. В отличие от других измерителей ESR, которые измеряют только значение ESR, этот измеряет значение ESR конденсатора, а также его емкость одновременно.

Комплект усилителя для наушников для аудиофилов

Комплект усилителя для наушников для аудиофилов включает высококачественные компоненты аудиосистемы, такие как операционный усилитель Burr Brown OPA2134, потенциометр регулировки громкости ALPS, разветвитель шины Ti TLE2426, фильтрующие конденсаторы Panasonic FM со сверхнизким ESR 220 мкФ / 25 В, высококачественный WIMA входные и развязывающие конденсаторы и резисторы Vishay Dale.Разъем для микросхем 8-DIP позволяет заменять OPA2134 на многие другие микросхемы двойных операционных усилителей, такие как OPA2132, OPA2227, OPA2228, двойной OPA132, OPA627 и т. Д. Усилитель для наушников достаточно мал, чтобы поместиться в жестяной коробке Altoids, и благодаря низкому энергопотреблению может питаться от одной батареи 9 В.


Arduino Prototype Kit RF Remote Control 433MHz Four Channel
Arduino Prototype Kit

Arduino Prototype — это впечатляющая плата для разработки, полностью совместимая с Arduino Pro.Он совместим с макетной платой, поэтому его можно подключить к макетной плате для быстрого создания прототипа, и на обеих сторонах печатной платы имеются выводы питания VCC и GND. Он небольшой, энергоэффективный, но настраиваемый с помощью встроенной перфорированной платы 2 x 7, которую можно использовать для подключения различных датчиков и разъемов. Arduino Prototype использует все стандартные компоненты со сквозными отверстиями для легкой конструкции, два из которых скрыты под разъемом IC. Плата оснащена 28-контактным разъемом DIP IC, заменяемым пользователем микроконтроллером ATmega328 с загрузчиком Arduino, кристаллическим резонатором 16 МГц и переключателем сброса.Он имеет 14 цифровых входов / выходов (0-13), из которых 6 могут использоваться как выходы ШИМ и 6 аналоговых входов (A0-A5). Эскизы Arduino загружаются через любой USB-последовательный адаптер, подключенный к 6-контактному гнезду ICSP. Плата питается напряжением 2-5 В и может питаться от аккумулятора, такого как литий-ионный элемент, два элемента AA, внешний источник питания или адаптер питания USB.

200 м 4-канальный беспроводной радиочастотный пульт дистанционного управления 433 МГц

Возможность беспроводного управления различными приборами внутри или за пределами вашего дома является огромным удобством и может сделать вашу жизнь намного проще и веселее.Радиочастотный пульт дистанционного управления обеспечивает дальность действия до 200 м / 650 футов и может найти множество применений для управления различными устройствами, и он работает даже через стены. Вы можете управлять освещением, вентиляторами, системой переменного тока, компьютером, принтером, усилителем, роботами, гаражными воротами, системами безопасности, занавесками с электроприводом, моторизованными оконными жалюзи, дверными замками, спринклерами, моторизованными проекционными экранами и всем остальным, о чем вы можете подумать.



.

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

В этом посте показано, как управлять скоростью и направлением вращения шагового двигателя с помощью платы Arduino UNO и джойстика PS2.
В этом примере используется шаговый двигатель 28BYJ-48 (униполярный шаговый двигатель), который обычно поставляется с платой драйвера.
В последнем проекте Arduino я построил простой контроллер для этого шагового двигателя, ссылка на проект приведена ниже:
Arduino Unipolar Stepper Motor Control

Джойстик (джойстик PS2) состоит из двух потенциометров на 10 кОм (один для оси X, а другой для оси Y) и кнопки.

Arduino stepper motor joystick control

Требуемое оборудование:

  • Плата Arduino UNO
  • Шаговый двигатель 28BYJ-48 (с платой драйвера ULN2003A)
  • Джойстик
  • Источник питания 5В
  • Хлебная доска
  • Перемычки

Управление шаговым двигателем с помощью Arduino и схемы джойстика: Принципиальная схема
Project показана ниже (все заземленные клеммы соединены вместе).

Arduino stepper motor control with joystick circuit

, а на следующем изображении показан контур фритзинга:

Stepper motor control with Arduino and joystick

Шаговый двигатель подключен к плате ULN2003A, на которую подается внешний источник питания 5В.Линии управления (IN1, IN2, IN3 и IN4) этой платы подключены к Arduino следующим образом:
IN1 к контакту 11 Arduino
IN2 к контакту 10 Arduino
IN3 к контакту 9 Arduino
IN4 к контакту 8 Arduino

Плата джойстика имеет 5 контактов: GND, + 5V, VRX, VRY и SW, где:
GND и + 5V — контакты источника питания
VRX — выход потенциометра оси X
VRY — выход потенциометра оси Y
SW — клемма кнопки (другая клемма подключена к GND).
Выход потенциометра оси X (VRX) подключен к аналоговому выводу A0 Arduino, также можно использовать выход потенциометра оси Y (VRY).Штифт переключателя (SW) в этом примере не используется.
Используя потенциометры оси X и Y, мы можем независимо управлять двумя шаговыми двигателями.

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

Шаговый двигатель, который я использовал в этом проекте, — 28BYJ-48 , этот двигатель оснащен редуктором скорости 1/64.Внутренний двигатель имеет 32 шага за один оборот, что означает, что внешний вал имеет 2048 шагов за один оборот (64 x 32). Количество шагов определяется в коде, как показано ниже:

и соединение цепей управления шагового двигателя определяется как:

// определить штыри управления шаговым двигателем

#define IN1 11

#define IN2 10

#define IN3 9

#define IN4 8

// инициализировать библиотеку шагового двигателя

Stepper IN4 (STEPS , IN2, IN3, IN1);

Выходной контакт потенциометра джойстика подключен к аналоговому выводу 0 Arduino, это определено в коде как:

// выход джойстика подключен к Arduino A0

# определить джойстик A0

Когда джойстик отпущен, потенциометр находится в среднем положении, а его выходное напряжение составляет примерно 2.5V, чтение с помощью Arduino должно дать цифровое значение около 511 (разрешение модуля АЦП Arduino UNO составляет 10 бит).

В коде я сделал 3 интервала:
Первый интервал между 500 и 523: в этом интервале джойстик отпущен и шаговый двигатель вообще не двигается (все выходы низкие).

Второй интервал, когда цифровое значение больше или равно 523, когда двигатель движется в первом направлении.

Последний интервал, когда цифровое значение меньше или равно 500, когда двигатель движется в другом направлении.

Скорость двигателя всегда составляет от 5 до 500 об / мин. Перемещение джойстика на максимум (в обоих направлениях) заставляет двигатель двигаться с максимальной скоростью.

Остальной код описан в комментариях.

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

14

18

19

20

21

22

23

24

25

26

27

28

29

30

000

000 34

35

36

37

38

39

40

41

42

43

44

45

46

47

51

52

53

54

55

56

57

58

59

60

61

62

63

9 0002 64

65

66

67

68

69

70

71

72

73

74

75

76

77

77

/ *

* Управление скоростью и направлением униполярного шагового двигателя с помощью Arduino

* и джойстика

* Это бесплатное программное обеспечение, БЕЗ ГАРАНТИИ.

* https://simple-circuit.com/

* /

// включить библиотеку шаговых двигателей Arduino

#include

// определить количество шагов на оборот

#define STEPS 32

// определение штырей управления шаговым двигателем

#define IN1 11

#define IN2 10

#define IN3 9

#define IN4 8

// инициализация библиотеки шагового двигателя

// инициализация библиотеки шагового двигателя

Шаговый шаговый (STEPS, IN4, IN2, IN3, IN1);

// выход потенциометра джойстика подключен к Arduino A0

#define joystick A0

void setup ()

{

}

000

{

000 void loop ()

/ считываем аналоговое значение с потенциометра

int val = analogRead (джойстик);

// если джойстик посередине ===> остановите двигатель

if ((val> 500) && (val <523))

{

digitalWrite (IN1, LOW);

digitalWrite (IN2, LOW);

digitalWrite (IN3, LOW);

digitalWrite (IN4, LOW);

}

else

{

// перемещать двигатель в первом направлении

while (val> = 523)

{

// отображать скорость от 5 до 500 об / мин

int speed_ = карта (val, 523, 1023, 5, 500);

// установить скорость двигателя

шаговый.setSpeed ​​(скорость_);

// перемещаем двигатель (1 шаг)

stepper.step (1);

val = analogRead (джойстик);

}

// перемещаем двигатель в другом направлении

while (val <= 500)

{

// отображаем скорость между 5 и 500 об / мин

int speed_ = map (val, 500 , 0, 5, 500);

// установить скорость двигателя

шаговый.setSpeed ​​(скорость_);

// перемещаем двигатель (1 шаг)

stepper.step (-1);

val = analogRead (джойстик);

}

}

}

На следующем видео показана простая аппаратная схема проекта:

.

Шаговые двигатели, драйверы шаговых двигателей, контроллеры шаговых двигателей и шаговые двигатели с регулировкой скорости

Шаговые двигатели

позволяют с легкостью осуществлять точное позиционирование. Они используются в различных типах оборудования для точного контроля угла поворота и скорости с помощью импульсных сигналов. Шаговые двигатели с компактным корпусом создают высокий крутящий момент и идеально подходят для быстрого ускорения и отклика. Шаговые двигатели также сохраняют свое положение при остановке благодаря своей механической конструкции. Решения с шаговыми двигателями состоят из драйвера (принимает импульсные сигналы и преобразует их в движение двигателя) и шагового двигателя.

Oriental Motor предлагает множество решений для широкого спектра применений:

  • Шаговые двигатели AlphaStep с замкнутым контуром, 2-фазные шаговые двигатели, 5-фазные шаговые двигатели
  • Опции редуктора, энкодера и электромагнитного тормоза
  • Драйверы шаговых двигателей переменного или постоянного тока
  • Размеры рамы от 0,79 дюйма (20 мм) до 3,54 дюйма (90 мм)

Подробнее …

Шаговые двигатели (только двигатели)

Stepper Motors

Oriental Motor предлагает широкий спектр шаговых двигателей, включая: Шаговые двигатели AlphaStep с обратной связью, 2-фазные шаговые двигатели и 5-фазные шаговые двигатели доступны в типоразмерах от 0.От 79 дюймов (20 мм) до 3,54 дюйма (90 мм). Предлагаются пять вариантов шаговых двигателей редукторного типа, опции энкодера и тормоза, а также различные обмотки двигателя.

  • 0,79 ~ 3,54 дюйма (20 ~ 90 мм) Шаговые двигатели NEMA 8 ~ NEMA 34 типоразмера
  • Доступны шестерни без люфта, с низким люфтом и прямозубые шестерни
  • AlphaStep Closed Loop, 2-фазные и 5-фазные шаговые двигатели
  • Опции энкодера и электромагнитного тормоза

Драйверы шагового двигателя

Stepper Motor Drivers

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

  • Вход переменного или постоянного тока
  • AlphaStep Closed Loop, 2- или 5-фазные драйверы шаговых двигателей
  • Импульсный вход, встроенный контроллер или версии, совместимые с EtherNet / IP ™ и EtherCAT
  • Тип платы или коробки

EtherNet/IP EtherCAT

EtherNet / IP ™ является товарным знаком ODVA

.

Шаговые двигатели и драйверы с регулировкой скорости

Speed Control Stepper Motors & Drivers

Система управления скоростью SC серии CVK предлагает простую конфигурацию, состоящую из шагового двигателя, драйвера и программируемого контроллера.Рабочую скорость, время ускорения и замедления, рабочий ток можно установить с помощью переключателей привода, и простое переключение входа FWD (RVS) в положение ON или OFF позволяет легко управлять.

  • Генератор импульсов не требуется
  • Возможны 2 настройки скорости
  • Компактный шаговый двигатель с высоким крутящим моментом

Контроллеры / Сетевые шлюзы

Controllers / Network Gateways Контроллеры

и сетевые шлюзы для использования с системами управления движением.

  • Контроллеры для использования с драйверами импульсного ввода
  • Сетевые преобразователи / шлюзы (связь RS-485)
    • EtherCat
    • CC-Link
    • MECHATROLINK

EtherCat CC-Link MECHATROLINK


Шаговые двигатели и драйверы

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

Точное позиционирование за шаг

Fine Steps with Stepper Motors

Шаговый двигатель вращается с фиксированным углом шага, как секундная стрелка часов. Этот угол называется «углом основного шага».Oriental Motor предлагает шаговые двигатели с базовым углом шага 0,36 °, 0,72 °, 0,9 ° и 1,8 °.


Использование технологии гибридных шаговых двигателей

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

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

Hybrid Stepper Motor Rotor

Простое управление с помощью импульсных сигналов

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

Stepper Motor System

Что такое импульсный сигнал?

Импульсный сигнал — это электрический сигнал, уровень напряжения которого многократно меняется между ВКЛ и ВЫКЛ. Каждый цикл включения / выключения считается как один импульс. Команда с одним импульсом заставляет выходной вал двигателя поворачиваться на один шаг. Уровни сигнала, соответствующие состояниям включения и выключения напряжения, обозначаются как «H» и «L» соответственно.

Pulse Signals

Величина вращения пропорциональна количеству импульсов

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

Stepper Motor Rotation

Скорость пропорциональна скорости импульса

Скорость шагового двигателя пропорциональна скорости импульсных сигналов (частоты импульсов), подаваемых водителю. Соотношение скорости импульса [Гц] и скорости двигателя [об / мин] выражается следующим образом:

Stepper Motor Speed

Создание высокого крутящего момента с помощью компактного корпуса

Шаговые двигатели создают высокий крутящий момент в компактном корпусе.Эти характеристики обеспечивают им отличное ускорение и реакцию, что, в свою очередь, делает эти двигатели хорошо подходящими для приложений с высокими требованиями к крутящему моменту, когда двигатель должен часто запускаться и останавливаться. Чтобы удовлетворить потребность в увеличении крутящего момента на низкой скорости, Oriental Motor также предлагает мотор-редукторы, сочетающие компактную конструкцию и высокий крутящий момент.

Stepper Motor Torque

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

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

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

Stepper Motor Holding Torque at Standstill

Шаговые двигатели с замкнутым контуром и драйверы — AlphaStep

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

AlphaStep Stepper Motors

Типы операционных систем

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

Драйвер импульсного входа

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

Pulse Input Stepper Motor Systems

Драйвер встроенного контроллера

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

Built-in Controller Stepper Motor System

Разница между характеристиками входа переменного и постоянного тока

Шаговый двигатель приводится в действие напряжением постоянного тока, подаваемым через драйвер. В двигателях и драйверах Oriental Motor на 24 В постоянного тока на двигатель подается 24 В постоянного тока. В двигателях и драйверах на 100–115 В переменного тока на входе выпрямляется постоянный ток, а затем на двигатель подается примерно 140 В постоянного тока (исключение составляют некоторые изделия.)

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

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

AC vs. DC Stepper Motor Torque

.

Простой генератор импульсов, шаговый двигатель и контроллер серводвигателя. ШИМ-контроллер может выводить импульс REQ от 82 Гц до 127 кГц. Три модели | бесшумный генератор | гнездо для эскгенератора двигателя

Простой генератор импульсов, шаговый двигатель и контроллер серводвигателя. ШИМ-контроллер может выводить импульс REQ 82 Гц — 127 кГц. Плата контроллера трех моделей.

Очень простой контроллер двигателя, просто введите мощность, подключите сигнал драйвера. Подключите двигатель, он может управлять работой двигателя, остановкой и реверсированием.

Высокая 5,8 кГц-127 кГц

Средний 590 Гц-15,8 кГц

Низкий 82 Гц-2,3 кГц,

.

0 comments on “Простой контроллер шагового двигателя: Контроллер шагового двигателя на PIC12F629

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *