Шаговый двигатель регулировка оборотов
Шаговый двигатель регулировка оборотов
Коротко о том с чего все началось. Однажды появилась потребность в демонстрационном столике или как еще его называют вращающийся столик. Покупать готовый не стал в связи с тем что жалко портить новый, да и к тому же столики имеющиеся в продаже по некоторым характеристикам не подходят для моих целей. Для этой цели решил использовать Arduino и шаговый двигатель в связи с тем что он может вращаться на низких скоростях что и требуется для этой цели.
Если у вас возникнут вопросы по данной теме то вы можете их задать в комментариях под видео в YouTube перейдя по этой ссылке www.youtube.com/Мастер Колотушкин
1 шаг. Что понадобится для проекта:
Arduino UNO 1 штука.
USB кабель для подключения Arduino UNO к компьютеру 1 штука и конечно же сам компьютер с установленным приложением Arduino IDE
Униполярный шаговый двигатель 28BYJ-48 5V на 5 вольт и драйвер к нему на базе микросхемы ULN2003 который обычно идет в комплекте с шаговым двигателем, 1 комплект.
Соединительные провода мама мама для подключения линий питания 2 штуки.
Соединительные провода папа мама для подключения управляющих электрических цепей 4 штуки.
Потенциометр с сопротивлением от 3 до 50 киллоом 1 штука, с заранее припаяными проводами типа папа. Зеленый подпаян к средней ноге потенциометра!
2 шаг. Подключить Arduino UNO к компьютеру с помощью кабеля.
3 шаг. Запустить приложение Arduino IDE (подойдет любая версия).
4 шаг. Открыть скетч (прошивка для Arduino) Файл/ Примеры/ Stepper/ stepper_speedControl.
Если у вас по какой-то причине отсутствует данный скетч то вы можете его скопировать с окна ниже и вставить в чистое поле приложения ArduinoIDE. После чего можно приступать к 5 шагу.
//Начало скетча stepper_speedControl 1
//Конец скетча stepper_speedControl 1
А если у вас не оказалось библиотеки Stepper, то можете воспользоваться скетчем ниже, который работает без библиотек.
//Начало скетча stepper_speedControl 2
//Конец скетча stepper_speedControl 2
5 шаг. Если вы как и я решили использовать плату Arduino UNO то во вкладке Инструменты/Плата: выберите пункт Arduino/Genuino Uno который обведен красным на фото ниже.
6 шаг. Во вкладке Инструменты выбрать порт к которому подключена плата Arduino в моем случае это COM11 у вас может быть другой, то есть у меня галочка должна стоять на против COM11.
В нижнем правом углу должно быть Arduino/Genuino на COM(номер ком порта к которому подключена плата) если все верно то переходим к следующему шагу.
7 шаг. Загружаем скетч нажав кнопку Загрузки со стрелочкой.
Если вы используете скетч с этой страницы то приложение при загрузке предложит сохранить его. После чего загрузка продолжится
Через 5-45 секунд скетч загрузится и появится уведомление Загрузка завершена.
8 шаг. Отключаем Arduino от компьютера и подключаем потенциометр.
Зеленый провод который подпаян к средней ноге потенциометра подключаем контакту A0, остальные два к питанию GND (минус) и +5V (5 вольт) полярность на ваше усмотрение.
В моем случае если вращать потенциометр по часовой стрелке то скорость вращения шагового двигателя увеличивается, а если поменять местами серый с красным проводом то при вращении потенциометра так же по часовой стрелке скорость вращения шагового двигателя будет уменьшаться.
9 шаг. С помощью соединительных проводов папа мама подключаем драйвер шагового двигателя к Arduino UNO.
Линия 1N1 к 8 контакту, линия 1N2 к 9 контакту, линия 1N3 к 10 контакту и линия 1N4 к 11 контакту.
10 шаг. Проводами мама мама соединяем линии питания.
Такой способ подключения допустим лишь при использовании маломощных шаговых двигателей! При использовании нескольких, или более мощных шаговых двигателей следует использовать отдельный источник питания! При этом у ардуины и драйвера шагового двигателя должна быть общая земля!
11 шаг. Должно все получиться как на фото ниже! Если это так то подключаем Arduino к компьютеру или Павербанку и пробуем крутить потенциометр.
Доработка демонстрационного столика для которого была применена данная схема
Творческая мастерская Мастер Колотушкин 2021
Проекты на базе Arduino для начинающих, электронные самоделки своими руками.
Управляем шаговым двигателем с помощью Arduino и контроллера Easy Driver
Существует куча двигателей. И порой возникает вопрос, какой именно выбрать для вашего проекта на Arduino.
В этой статье мы детально обсудим один из типов двигателей — шаговый двигатель. Разберемся, в каких случаях уместно его использование. Рассмотрим пример подключения с использованием драйвера Easy Driver.
Необходимые элементы
- Драйвер для шагового двигателя EasyDriver;
- Небольшой шаговый двигатель;
- Макетная плата;
- Провода мама-мама;
- Коннекторы;
- Arduino Uno или подобный микроконтроллер;
- Паяльник;
- Источник питания на 12 В (или регулируемый источник питания)
Принцип работы шагового двигателя
Основное отличие шаговых двигателей от двигателей постоянного тока: они не только вращаются в различных направлениях, но обеспечивают точное угловое позиционирование ротора. Скорость вращения двигателя постоянного тока можно регулировать с помощью подачи большей или меньшей силы тока, но обеспечить остановку ротора в заданном положении невозможно. Теперь представьте себе принтер. Внутри, если вы его разберете, обнаружите огромное количество подвижных узлов, включая и двигатели. Один из установленных моторов обеспечивает подачу бумаги в то время как краска распыляется на бумагу. Этот двигатель должен обеспечивать подачу бумаги на определенное расстояние для построчной печати. Второй двигатель в принтере устанавливается для перемещения картриджа. Опять таки, необходимо обеспечить точно заданное позиционирование картриджа. В подобных случаях рационально использовать именно шаговые двигатели.
Шаговые двигатели обеспечивают вращение ротора на определенный угол (или шаг) при соответствующем сигнале управления. Это дает вам возможность получить полный контроль над положением узлов механизмов и выходить в заданную позицию. С конструктивной точки зрения это реализуется за счет подачи питания на разные катушки внутри двигателя. Правда, есть и свои недостатки — надо постоянно обеспечивать питание шагового двигателя при его выстое в заданной позиции. В данной статье в детали мы вдаваться не будем. Конструктивные особенности шаговых двигателей и их принцип действия раскрыты в статье двигатели и Arduino. Здесь ограничимся лишь тем фактом, что для управления шаговым двигателем, вы должны задать ему необходимое количество шагов в одном или противоположном направлениях и указать скорость шага.
На сегодняшний день существует огромное количество моделей шаговых двигателей и плат управления к ним (драйверов). Методики, которые раскрыты дальше, применимы к большинству шаговых двигателей и драйверов, которые не упоминаются здесь. При этом, прежде чем работать с незнакомым драйвером или шаговым двигателем, рекомендую ознакомится с их даташитами или отдельными гайдами по их использованию.
Ниже приведена информация о сборке драйвера, подключении и управлении шаговым двигателем с использованием Arduino.
Сборка драйвера
Самый простой метод использования драйвера EasyDriver — установить на нем коннекторы для последующей установки на макетной плате. Теоретически, можно закрепить коннекторы и на макетной плате.
Первый шаг — монтаж коннекторов на плату EasyDriver. В данном примере будут использованы не все выходы на драйвере, но все равно рекомендую распаять все отверстия. Как минимум, это обеспечит более надежную установку драйвера на макетной плате. Да и в дальнейшем все выходы могут пригодиться. Отломайте необходимое количество коннекторов и установите их на макетку. После этого сверху поставьте драйвер запаяйте все коннекторы.
Схема подключения
После распайки пришло время подключить драйвер к Arduino. Схема подключения несложная и приведена на рисунке ниже.
Примечание. Маленький шаговый двигатель выглядит не так, как он изображен на схеме подключения. У него должен быть коннектор с четырьмя разъемами на конце. Этот коннектор можно напрямую подключить к разъему с четырьмя коннекторами на драйвере (см. Рисунок после распайки выше). Только обратите внимание на даташит вашего двигателя. Бывает такое, что разводка кабелей не соответсвует пинам на драйвере.
Важно! Шаговые двигатели потребляют больше тока, чем может предоставить Arduino. В связи с этим мы будем питать Arduino от 12 В. При этом вход для питания (М+) на EasyDriver подключен к пину Vin на Arduino. Благодаря этому, можно запитывать Arduino и двигатель от одного источника.
Программа Arduino для вращения шагового двигателя
После подключения, можно заливать программу в Arduino. Ниже приведен исходник простенького скетча для первого запуска. В интернете куча готовых кусков кода, которые вы спокойно можете использовать в своих целях. Кроме того, в Arduino IDE есть полноценная встроенная библиотека Stepper library, которая значительно упрощает процесс вашего общения с шаговыми двигателями.
В данном примере рассматривается управление шаговым двигателем с использованием контроллера EasyDriver и Arduino. После прошивки платы и подключения, ротор будет вращаться в одном и противоположном направлении.
Плата шагового двигателя с цифровым дисплеем, регулятор скорости, модуль управления управляющим двигателем 0,1
999 об/мин, регулятор скорости
Последнее обновление: 22.03.2021
DC 8-24V цифровой дисплей шаговый двигатель плата регулятор скорости Регулятор драйвер модуль управления 0,1
Особенности:
Контроллер скорости изготовлен из высококачественной печатной платы, которая обеспечивает более длительный срок службы.
Этот простой и простой в использовании контроллер скорости двигателя постоянного тока имеет стабильную производительность.
Разработан с цифровым дисплеем, который показывает процент фактической скорости до максимальной скорости.
Выключение питания можно запомнить и последнее заданное значение скорости.
Профессиональное производство, тонкое мастерство, высокая надежность.
Спецификация: Состояние на 100% абсолютно новыйМодель: YF-18Диапазон скорости: 0,1
999 об/минОписание интерфейса:DC +, DC- : подключен к DC 8
24V источнику питанияPUL: подключен к импульсному концу драйвераDIR: подключен к концу направления драйвераEN: подключен к приводу, включающему конецGND: соединен с отрицательным общим терминалом драйвера Посылка: 1 * контроллер скорости
Примечание:
Пожалуйста, обратите внимание, что новый тип и старый тип этого продукта будут отправлены случайным образом, и убедитесь, что вы не возражаете перед заказом.
1) Мы принимаем Alipay, West Union, TT. Все основные кредитные карты принимаются через безопасный платежный процессор ESCROW.
2) оплата должна быть произведена в течение 3 дней с момента заказа.
3) Если вы не можете проверить немедленно после окончания аукциона, рекомендуем подождать несколько минут и повторить. Платежи должны быть завершены в течение 3-х дней.
1. Доставка по всему миру. (За исключением некоторых стран и армейской почтовой службы/почтовых отделений флота) 2. Заказы обрабатываются своевременно после подтверждения оплаты. 3. Мы отправляем по подтвержденным адресам заказа. Ваш адрес заказа должен совпадать с вашим адресом доставки. 4. Представленные изображения не являются фактическим товаром и предназначены для вашей справки. 5. Время доставки определяется перевозчиком и не включает выходные и праздничные дни. Сроки доставки могут меняться, особенно во время курортного сезона. 6. Если вы не получили товар вовремя, просим связаться с нами. Мы отследим отправку и свяжемся с вами как можно скорее. Наша цель – удовлетворение клиентов! 7. Из-за наличия на складе и разницы во времени, мы выберем доставку Вашего товара с нашего первого доступного склада для быстрой доставки.
8. Мы, продавец, не несем ответственности за импортные пошлины, покупатель несет за это ответственность. Любой спор, вызванный этим, является необоснованным.
9. Покупатель BR, пожалуйста, предоставьте cpf или cnpj, будет лучше для вас, чтобы получить его быстрее. Спасибо
Возврат и возврат
1. У вас есть 7 дней, чтобы связаться с нами и 30 дней, чтобы вернуть его с даты получения. Если данный товар находится в вашем распоряжении более 7 дней, он считается пользованным товаром и МЫ НЕ ПРОИЗВОДИМ ВОЗВРАТ ИЛИ ЗАМЕНУ. Исключений нет! Стоимость доставки оплачивается как продавцом, так и покупателем пополам. 2. Все возвращенные товары должны быть в упаковке, и вы должны предоставить нам номер отслеживания доставки, конкретную причину возврата и ваш po #. 3. Мы вернем вам полную сумму выигрышной заявки при получении товара в его состоянии и упаковке со всеми компонентами и аксессуарами, после того как покупатель и продавец отменят сделку с aliexpress. Или вы можете выбрать замену. 4. Мы будем нести все расходы по доставке, если продукт (ы) является (являются) не как рекламируется.
Мы поддерживаем высокие стандарты качества и стремимся к 100% удовлетворенности клиентов! Отзывы покупателей очень важны. Мы просим вас, ПРЕЖДЕ чем оставлять нам нейтральный или отрицательный отзыв, связаться с нами, чтобы мы могли разрешить проблему к общему удовольствию. Невозможно решить проблемы, если мы о них не знаем!
Электроника для всех
Блог о электронике
Управление шаговым двигателем
Первая модификация силового блока. L293 вытащена. |
Вид снизу |
Шаговый двигатель это, как понятно из его названия, двигатель который вращается дискретными перемещениями . Достигается это за счет хитрой формы ротора и двух (реже четырех) обмоток. В результате чего, путем чередования направления напряжения в обмотках можно добиться того, что ротор будет по очереди занимать фиксированные значения.
В среднем, у шагового двигателя на один оборот вала, приходится около ста шагов. Но это сильно зависит от модели двигателя, а также от его конструкции. Кроме того, существуют полушаговый и микрошаговый режим , когда на обмотки двигателя подают ШИМованное напряжение, заставляющее ротор встать между шагами в равновесном состоянии, которое поддерживается разным уровнем напряжения на обмотках. Эти ухищрения резко улучшают точность, скорость и бесшумность работы, но снижается момент и сильно увеличивается сложность управляющей программы — надо ведь расчитывать напряжения для каждого шага.
Один из недостатков шаговиков, по крайней мере для меня, это довольно большой ток. Так как на обмотки напруга подается все время, а такого явления как противоЭДС в нем, в отличии от коллекторных двигателей, не наблюдается, то, по сути дела, мы нагружаемся на активное сопротивление обмоток, а оно невелико. Так что будь готов к тому, что придется городить мощный драйвер на MOSFET транзисторах или затариваться спец микросхемами.
Типы шаговых двигателей
Если не углубляться во внутреннюю конструкцию, число шагов и прочие тонкости, то с пользовательской точки зрения существует три типа:
- Биполярный — имеет четыре выхода, содержит в себе две обмотки.
- Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины.
- Четырехобмоточный — имеет четыре независимые обмотки. По сути дела представляет собой тот же униполярник, только обмотки его разделены. Вживую не встречал, только в книжках.
Униполярный отличается от биполярного только тем, что ему нужна куда более простая схема управления, а еще у него значительно слабее момент. Так как работает он только половинами обмоток. НО! Если оторвать нафиг средний вывод униполярника, то мы получим обычный биполярный . Определить какой из выводов средний не сложно, достаточно прозвонить сопротивление тестером. От среднего до крайних сопротивление будет равно ровно половине сопротивления между крайних выводов. Так что если тебе достался униполярник, а схема подключения для биполярного, то не парься и отрывай средний провод.
Где взять шаговый двигатель.
Вообще шаговики встречаются много где. Самое хлебное место — пятидюймовые дисководы и старые матричные принтеры . Еще ими можно поживиться в древних винчестерах на 40Мб, если, конечно, рука поднимется покалечить такой антиквариат.
А вот в трехдюймовых флопарях нас ждет облом — дело в том, что там шаговик весьма ущербной конструкции — у него только один задний подшипник, а передним концом вал упирается в подшипник закрепленный на раме дисковода. Так что юзать его можно только в родном креплении. Либо городить высокоточную крепежную конструкцию. Впрочем, тебе может повезет и ты найдешь нетипичный флопарь с полноценным движком.
Схема управления шаговым двигателем
Я разжился контроллерами шаговиков L297 и мощным сдвоенным мостом L298N.
Схема включения L298N+L297 до смешного проста — надо тупо соединить их вместе. Они настолько созданы друг для друга, что в даташите на L298N идет прямой отсыл к L297 , а в доке на L297 на L298N .
Осталось только подключить микроконтроллер.
- На вход CW/CCW подаем направление вращения — 0 в одну сторону, 1 — в другую.
- на вход CLOCK — импульсы. Один импульс — один шаг.
- вход HALF/FULL задает режим работы — полный шаг/полушаг
- RESET сбрасывает драйвер в дефолтное состояние ABCD=0101.
- CONTROL определяет каким образом задается ШИМ, если он в нуле, то ШИМ образуется посредством выходов разрешения INH1 и INH2 , а если 1 то через выходы на драйвер ABCD. Это может пригодится, если вместо L298 у которой есть куда подключать входы разрешения INH1/INH2 будет либо самодельный мост на транзисторах, либо какая-либо другая микросхема.
- На вход Vref надо подать напряжение с потенциометра, которое будет определять максимальную перегрузочную способность. Подашь 5 вольт — будер работать на пределе, а в случае перегрузки сгорит L298 , подашь меньше — при предельном токе просто заглохнет. Я вначале тупо загнал туда питание, но потом передумал и поставил подстроечный резистор — защита все же полезная вещь, плохо будет если драйвер L298 сгорит.
Если же на защиту пофигу, то можешь заодно и резисторы, висящие на выходе sense выкинуть нафиг. Это токовые шунты, с них L297 узнает какой ток течет через драйвер L298 и решает сдохнет он и пора отрубать или еще протянет. Там нужны резисторы помощней, учитывая что ток через драйвер может достигать 4А, то при рекомендуемом сопротивлении в 0.5 Ом, будет падение напряжения порядка 2 вольт, а значит выделяемая моща будет около 4*2=8 Вт — для резистора огого! Я поставил двухваттные, но у меня и шаговик был мелкий, не способный схавать 4 ампера.
Правда на будущее, когда я буду делать роботу шаговый привод, я возьму не связку L297+L293 , а микруху L6208 которая может и чуть слабей по току, но зато два в одном! Сразу подключай двигатель и работай. Если же их покупать, то на L6208 получается даже чуть дешевле.
Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!
А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.
201 thoughts on “Управление шаговым двигателем”
А можешь посоветовать шаговик из тех, которые сейчас можно купить?
Я не знаю как у всех, но я д аже двухдюймовые флопики повыкидывал лет пять назад, а 5-ти дюймовых и в помине не было.
По продаваемым не в курсе. В нашей деревне их в продаже нету, а что там в Московии я даже не знаю.
Оппа, теперь самое время разбираться, что за шаговики у меня имеются по результатам годового потрошения CD-DVD ROM’ов. 🙂
А в сидюках/дивдюках вроде бы стоят обычные коллекторники+синхронный на шпиндель. Хотя могут быть и шаговики, но я не встречал ни разу.
Шаговики во многих CD/DVD приводах стоят — для таскания каретки с лазером (у меня минимум 3 таких экземпляра валяются). Но конструкция двигателя — как в трехдюймовых дисководах, для практического применения неудачная.
ну когда я расотрошил сиди ром там был безколлекторник + еще какойто на шпиндель
для безколлекторника я думаю применение в моделизме
http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может пригодится кому
http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может чем пригодится там модельный регултор хода
может управлять сдромным безколлекторником
работал с шаговыми движками на своей фирме.
ещё с нашими совеццкими и руссийскими.
сколько раз коротыш верещал на источниках — не счесть ) единственное оправдание — я про них ещё тогда ничего не знал и доков не имел. работал методом тыка…
всё хорошо, но нету обратной связи.
зы! от постоянных замыканий избавлялись частыми переключениями обмоток, когда надо было застопорить двигло.
. в смысле от постоянных замыкани? Как ты умудрялся его коротнуть? Одновременным замыканием ключей верхнего и нижнего плеча? Так там Dead Time надо ставить!
юзал четырёхконтактный.
помню, что если подавать на обмотки долгое время неизменный сигнал, то будет такое.
хотя потом, когда пришёл паспорт на движок, то там было сказано, что можно так стопорить его.
Долгая подача напруги на обмотки это его нормальный рабочий режим. Главное чтобы напряжение было номинальным.
Полезно, спасибо. Мне в свое время довелось раскурочить 8″ дисковод. Два шаговика лежат дожидаются своего часа. Так, что информация может пригодиться.
У меня этих дисководов полтора десятка штук!
Есть интересная статья по использованию шаговых двигателей
Журнал Современная электроника Октябрь 2004 г. стр. 46-47
Автор: Олег Пушкарев, Омск, конструкция на базе PIC16F84 и
драйвера — ULN2003A. (WWW.SOEL.RU)
Журнал очень рульный, советую почитать, статьи высылают
по почте, по запросу или подписка (в том числе бесплатная).
Еще одна задача — управление двигателем
постоянного тока на 24 в (12В), реверс,
управление скоростью. Есть буржуйская схема,
но без регулятора, могу тиснуть, схема из
стриммера, реверс-технология схемы.
кто знаком с драйвером шины ULN2804a b ULN2004a , какая разници между ними.
Кажется, один для КМОП, другой — для ТТЛ. Схема отличается только номиналом сопротивления от входного штырька до базы транзистора. В одном случае — 10ком (для КМОП), в другом — кажется, 1,5 ком, точно не помню. Ну, и входные уровни соответственно разные. В остальном — одинаково. Я сам года три назад выбирал, какие брать. А использую все же чаще ULN2003 (привычка, чтоли)…
У меня есть движок от древнего лазерного принтера. Двигатель фирмы CANON PM60-H418Z21B можно ли запустить таку вещь? Торчат из него по 3 провода с каждой обмотки. P.S. С шаговиками я делов не имел пока, но очень интересно.
Думаю без проблем. Судя по признакам это униполярный двигатель. Так что определяй где у него середина обмотки и дальше как я описал. Тока замерь сопротивление, чтобы узнать максимальный ток.