Драйвер на шаговый двигатель своими руками для ардуино

2 Схемы

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

Простой драйвер шагового двигателя

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

Схема драйвера шагового двигателя

Схема драйвера шагового двигателя не содержит дорогих деталей и программируемых контроллеров. Работа может регулироваться в широком диапазоне с помощью потенциометра PR1. Есть изменение направления вращения двигателя. Катушки шагового двигателя переключаются с помощью четырех МОП-транзисторов T1-T4. Применение в блоке транзисторов большой мощности типа BUZ10 позволит подключить двигатели даже с очень большим током.

Особенности схемы и детали

  • управление четырехфазным шаговым двигателем
  • плавная регулировка скорости вращения в пределах всего диапазона
  • изменение направления вращения мотора
  • возможная остановка двигателя
  • блок питания 12 В постоянного тока

Детали – IC1: 4070, IC2: 4093, IC3: 4027, T1-T4: BUZ10, BUZ11

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

Блок, собранный из проверенных компонентов, не требует настройки и запускается сразу после подачи питания. Со значениями элементов, указанными на схеме, позволяет работать двигателю 5,25” и выполняет изменение скорости вращения в интервале от 40 об./мин. до 5 об./мин.

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

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

Принципиальную схему можно разделить на следующие блоки:

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

Контроллер должен питаться постоянным напряжением, хорошо отфильтрованным, желательно стабилизированным.

Теперь пару слов про H-мосты, которые будут работать с этим драйвером. Они должны принимать на своих входах все возможные логические состояния (00, 01, 10, 11), без риска какого-либо повреждения. Просто в некоторых конфигурациях мостов построенных из дискретных элементов, запрещается одновременное включение двух входов – их естественно нельзя использовать с этим контроллером. Мосты выполненные в виде интегральных микросхем (например L293, L298), устойчивы к этому.

И в завершение третий вариант контроллера, на микросхемах STK672-440, имеющий все необходимые защиты и функции смотрите по ссылке.

Источник

3d-принтер и ЧПУ станок в одном устройстве своими руками

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

Страницы

воскресенье, 1 июня 2014 г.

3. Изготовление драйвера шагового двигателя (для экспериментов).

Получается если повторять эту последовательность сигналов ABCD можно вращать ротор электромотора в одну сторону.
А как вращать ротор в другую сторону? Да очень просто, нужно изменить последовательность сигналов с ABCD на DCBA.
А как поворачивать ротор на конкретный заданный угол, например 30 градусов? У каждой модели шагового электромотора есть такой параметр как число шагов. У шаговиков которые я вытащил из матричных принтеров этот параметр 200 и 52, т.е. чтобы совершить полный оборот 360 градусов одним двигателям нужно пройти 200 шагов а другим 52. Получается чтобы повернуть ротор на угол 30 градусов, нужно пройти:
-в первом случае 30:(360:200)=16,666. (шагов) можно округлить до 17 шагов;
-во втором случае 30:(360:52)=4,33. (шага), можно округлить до 4 шагов.
Как видите есть достаточно большая погрешность, можно сделать вывод что чем больше шагов у мотора тем меньше погрешность. Погрешность можно уменьшать если использовать полушаговый или микрошаговый режим работы или механическим способом — использовать понижающий редуктор в этом случае страдает скорость движения.
Как управлять скоростью вращения ротора? Достаточно изменить длительность импульсов подаваемых на входы ABCD, чем длиннее импульсы по оси времени, тем меньше скорость вращения ротора.
Полагаю этой информации будет достаточно чтобы иметь теоретическое представление о работе шаговых электромоторов, все остальные знания можно будет получить экспериментируя.
И так перейдем к схемотехнике. Как работать с шаговым двигателем мы разобрались, осталось подключить его к Arduino и написать управляющую программу. К сожалению напрямую подключить обмотки мотора к выходам нашего микроконтроллера невозможно по одной простой причине — нехватка мощности. Любой электромотор пропускает через свои обмотки достаточно большой ток, а к микроконтроллеру можно подключить нагрузку не более 40 mA (параметры ArduinoMega 2560). Что же делать если есть необходимость управлять нагрузкой например 10A да еще и напряжением 220В? Эту проблему можно решить если между микроконтроллером и шаговым двигателем интегрировать силовую электрическую схему, тогда можно будет управлять хоть трехфазным электромотором который открывает многотонный люк в ракетную шахту :-). В нашем случае люк в ракетную шахту открывать не нужно, нам нужно всего лишь заставить работать шаговый мотор и в этом нам поможет драйвер шагового двигателя. Можно конечно купить готовые решения, на рынке их очень много, но я буду делать свой собственный драйвер. Для этого мне понадобятся силовые ключевые полевые транзисторы Mosfet, как я уже говорил эти транзисторы идеально подходят для сопряжения Arduino с любыми нагрузками.
На рисунке ниже представлена электрическая принципиальная схема контроллера шагового двигателя.

В качестве силовых ключей я применил транзисторы IRF634B максимальное напряжение исток-сток 250В, ток стока 8,1А, этого более чем достаточно для моего случая. Со схемой более менее разобрались будем рисовать печатную плату. Рисовал в встроенном в Windows редакторе Paint, скажу это не самая лучшая затея, в следующий раз буду использовать какой-нибудь специализированный и простой редактор печатных плат. Ниже представлен рисунок готовой печатной платы.

Далее это изображение в зеркальном отражении распечатываем на бумаге при помощи лазерного принтера. Яркость печати лучше всего сделать максимальной, а бумагу нужно использовать не обычную офисную а глянцевую, подойдут обычные глянцевые журналы. Берем лист и печатаем поверх имеющегося изображения. Далее получившуюся картинку прикладываем к заранее подготовленному куску фольгированного стеклотекстолита и хорошенько проглаживаем утюгом в течении 20 минут. Утюг нужно нагреть до максимальной температуры.
Как подготовить текстолит? Во первых его нужно отрезать по размеру изображения печатной платы (при помощи ножниц по металлу или ножовкой по металлу), во вторых зашкурить края мелкой наждачной бумагой, чтобы не осталось заусенцев. Также необходимо пройтись наждачкой по поверхности фольги, снять окислы, фольга приобретет ровный красноватый оттенок. Далее поверхность обработанную наждачной бумагой нужно протереть ваткой смоченной в растворитель (используйте 646 растворитель он меньше воняет).
После прогрева утюгом, тонер с бумаги запекается на поверхность фольгированного стеклотекстолита в виде изображения контактных дорожек. После этой операции плату с бумагой необходимо остудить до комнатной температуры и положить в ванночку с водой примерно на 30 минут. За это время бумага раскиснет и ее нужно аккуратно скатать подушечками пальцев с поверхности текстолита. На поверхности останутся ровные черные следы в виде контактных дорожек. Если у вас не получилось перенести изображение с бумаги и у вас есть огрехи, тогда следует смыть тонер с поверхности текстолита растворителем и повторить все заново. У меня все получилось с первого раза.
После получения качественного изображения дорожек, необходимо вытравить лишнюю медь, для этого нам понадобится травильный раствор который мы приготовим сами. Раньше для травления печатных плат я использовал медный купорос и обычную поваренную соль в соотношении на 0,5 литра горячей воды по 2 столовые ложки с горкой медного купороса и поваренной соли. Все это тщательно размешивалось в воде и раствор готов. Но в этот раз попробовал иной рецепт, очень дешевый и доступный.
Рекомендуемый способ приготовления травильного раствора:
В 100 мл аптечной 3% перекиси водорода растворяется 30 г лимонной кислоты и 2 чайные ложки поваренной соли. Этого раствора должно хватить для травления площади 100 см2. Соль при подготовке раствора можно не жалеть. Так как она играет роль катализатора и в процессе травления практически не расходуется.
После приготовления раствора, печатную плату необходимо опустить в емкость с раствором и наблюдать за процессом травления, тут главное не передержать. Раствор съест непокрытую тонером поверхность меди, как только это произойдет плату необходимо достать и промыть холодной водой, далее ее нужно просушить и снять с поверхности дорожек тонер при помощи ватки и растворителя. Если в вашей плате предусмотрены отверстия для крепления радиодеталей или крепежа, самое время просверлить их. Я опустил эту операцию по причине того что это всего лишь макетный драйвер шагового двигателя, предназначенный для освоения новых для меня технологий.
Приступаем к лужению дорожек. Это необходимо сделать чтобы облегчить себе работу при пайке. Раньше я лудил при помощи припоя и канифоли, но скажу это «грязный» способ. От канифоли много дыма и шлака на плате который нужно будет смывать растворителем. Я применил другой способ, лужение глицерином. Глицерин продается в аптеках и стоит копейки. Поверхность платы необходимо протереть ваткой смоченной в глицерине и наносить припой паяльником точными мазками. Поверхность дорожек покрывается тонким слоем припоя и остается чистой, лишний глицерин можно удалить ваткой или промыть плату в воде с мылом. К сожалению у меня нет фотографии полученного результата, после лужения, но получившееся качество впечатляет.
Далее необходимо припаять все радиодетали на плату, для пайки SMD компонентов я использовал пинцет. В качестве флюса использовал глицерин. Получилось очень даже аккуратно.
Результат налицо. Конечно после изготовления плата выглядела лучше, на фото она уже после многочисленных экспериментов (для этого она и создавалась).

Листинг программы:

/*
* Тестовая программа для шаговика
*/
#include
#define STEPS 200

Stepper stepper(STEPS, 31, 33, 35, 37);

void setup()
<
stepper.setSpeed(50);
>

void loop()
<
stepper.step(200);
delay(1000);
>

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

Источник

Ардуино и шаговый двигатель: основы, схемы, подключение и управление

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

Шаговый двигатель отличия от обычного

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

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

1. Асинхронный двигатель с короткозамкнутым или с фазным ротором.

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

3. Двигатель постоянного тока.

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

5. Бесщеточные двигатели постоянного тока (BLDC).

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

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

Определение

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

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

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

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

Конструкция

На статоре электродвигателя закреплены обмотки возбуждения. Его ротор выполняется из магнитомягких или магнитотвердых материалов. От материала ротора зависит крутящий момент и фиксация вала при обесточенных обмотках. Эти параметры могут быть критичными.

Поэтому выделяют магнитотвердые роторы (они же на постоянных магнитах) и магнитомягкие (реактивные) роторы, кроме них есть и гибридные роторы.

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

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

Виды шаговых двигателей ШД по конструкции обмоток делят на три основных группы по схеме подключения обмоток:

3. С четырьмя обмотками.

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

Униполярные напоминают соединение обмоток по схеме звезды. Другими словами, у вас есть 5 выводов – 4 из них это концы обмоток, а 1 – точка соединения всех обмоток.

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

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

Режимы управления

Различают 4 основных режима управления шаговым двигателем:

1. Волновое управление.

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

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

Полношаговое управление является наиболее часто используемым. Здесь напряжение подается не на одну обмотку, а на две сразу. Если обмотки соединены параллельно – то ток удваивается, а если последовательно, то удваивается напряжение питания соответственно. С одной стороны в таком методе управления двигатель потребляет больше энергии, с другой – крутящий момент 100%, в отличие от предыдущего.

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

Стоит учесть, что момент на валу плавает от 50 до 100% в зависимости от того 1 или 2 две обмотки задействованы в данный момент.

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

Где взять шаговый двигатель

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

1. Принтера. Шаговые двигатели могут стоять на вращении вала подачи бумаги (но может быть и двигатель постоянного тока с датчиком перемещения).

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

3. CD и DVD приводы. В них также можно достать и штанги и винтовые валы для самоделок и различных ЧПУ.

4. Floppy-дисководы. В дискетниках также есть шаговые двигатели, особо ценятся флопики формата 5.25”.

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

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

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

1. Платы на базе L293D. Их множество, одна из таких продается под отечественной маркой «Амперка» под название Troyka Stepper, пример его использования в реальном проекте приведен на видео ниже. Преимущество конкретно этой платы в том, что на ней расположены микросхемы логики которые позволяют сократить количество используемых для управления пинов.

Сама по себе микросхема работает под напряжение 4.5-36В и выдает ток до 600мА-1А в зависимости от корпуса ИМС.

2. Драйвер на базе A4988. Питается напряжением до 35В, выдерживает ток до 1А без радиатора, а с радиатором до 2А. Может управлять двигателем, как целыми шагами, так и частями – от 1/16 шага до 1 шага, всего 5 вариантов. Содержит два H-моста. С помощью подстроечного резистора (видно на правом фото) можно задавать выходной ток.

Размер шага задается сигналами на входах MS1, MS2, MS3.

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

3. Драйвер на базе ULN2003 работает с двигателями на 5 и на 12В и выдаёт ток до 500 мА. На большинстве плат расположены 4 светодиода индицирующих работу каждого из каналов.

Также на плате вы можете видеть клеммную колодку для подключения двигателей, кстати, многие из них продаются именно с таким разъёмом. Примером такого двигателя является 5В модель – 28BYJ-48.

И это не все варианты драйверов для шаговых двигателей, на самом деле их еще больше.

Подключение к Arduino драйвера и шагового двигателя

В большинстве случаев нужно использовать микроконтроллер в паре с драйвером для шагового двигателя. Давайте рассмотрим схему подключения и примеры программного кода. Рассмотрим подключение на базе последнего приведенного драйвера – ULN2003 к плате Arduino. И так у него есть 4 входа, они подписаны, как IN1, IN2 и т.д. Их нужно соединить с цифровыми пинам платы ардуино, а к драйверу подсоединить моторчик как показано на рисунке ниже.

Далее в зависимости от способа управления вы должны подавать на входы 1 или 0 с этих пинов включая 1 или 2 обмотки в нужно последовательности. Код программы полношагового управления выглядит примерно так:

Источник

Adblock
detector