Как узнать на какое напряжение шаговый двигатель
Популярные заблуждения о шаговых электродвигателях и их разъяснения
Даже опытные инженеры часто имеют не совсем верное представление о шаговых электродвигателях и способах управления ими. В данной статье мы разберем лишь несколько основных заблуждений что, надеюсь, поможет и новичкам и бывалым инженерам при выборе драйверов управления. Было бы хорошо разобрать все особенности, но тогда эта статья превратилась бы в книгу.
В этой статье речь пойдет о биполярных шаговых электродвигателях, поскольку они являются наиболее популярными в использовании на сегодняшний день. Униполярные шаговые электродвигатели все еще используются в некоторых устройствах, однако их популярность с каждым годом снижается. Это снижение обуславливается преобладанием относительно недорогих драйверов для биполярных двигателей. Учитывая снижение стоимости управления, почему бы не использовать биполярные шаговые электродвигатели? В конце концов у них есть еще один плюс – больший крутящий момент.
Температура
Многие инженеры ошибочно полагают, что если шаговый электродвигатель имеет небольшой размер, значит, его температура тоже должна быть небольшой. Этот миф легко развеять, взяв документацию на электрическую машину, пирометр, и произвести замер. То, что при касании может показаться «очень горячим», на самом деле не будет даже подходить к максимально допустимой температуре машины. Шаговые электродвигатели обычно имеют повышенную температуру, это связано с внутренними процессами в самой машине. Даже когда они не вращаются они также подвержены потерям. Тем не менее, если вы сомневаетесь – перестрахуйтесь и проверьте температуру. Естественно, если температура превысит предельно допустимую, указанную в паспорте, это может привести к необратимым последствиям (выход из строя или значительное сокращение срока службы).
В случаях, когда есть необходимость снизить потребление электроэнергии в режиме простоя, можно использовать специальные драйверы, в которые данная функция включена. Однако это повлияет не только на значение тока в обмотках, но и на удерживающий момент, что в определенных механизмах тоже важно.
Микрошаговый режим
Микрошаги это не магия. Существуют специальные драйверы для микрошагового управления. Это позволяет увеличить точность позиционирования, однако достигается за счет значительного крутящего момента. Кроме того, наличие драйвера, обеспечивающего шаг 1/32, не значит, что ваш электродвигатель сможет это реализовать. После определенного порога (1/10 и иногда 1/16) требуются высококачественные драйверы и двигатели. Даже если ваш шаговый электродвигатель и драйвер смогут реализовать микрошаг в 1/32, возможно ли это интегрировать в общую систему управления?
Рассмотрим следующий пример. Линейное перемещение с 10 шагами на дюйм ходового винта напрямую соединенного с типичным шаговым двигателем, имеющим 200 шагов на оборот. Каждый полный шаг электрической машины будет переведен в 0,0005 дюйма линейного движения. Казалось бы, что, якобы, та же система микрошагов 1/32 сможет уменьшить линейный шаг до 0,000015. Но в реальности реализации данной системы практически не возможна, так как упругость и силы трения не позволят преобразовать настолько миниатюрные шаги к линейному движению.
Микрошаговый режим реально полезен при проверке системы с шаговой электрической машиной на резонанс. Это дает определенные возможности для избегания резонанса. Как известно, любая механическая система имеет резонансную частоту. Для шаговых электродвигателей достижение этой частоты, как правило, происходит на определенной скорости, после чего двигатель начнет сильно шуметь. Эти шумы могут привести к «пропусканию шагов», что чревато серьезными последствиями для определенных систем. В некоторых случаях это может привести к слишком большим вибрациям. В случаях с режущими машинами, такими как токарные станки, этот звук можно спутать с рабочим звуком обработки поверхности заготовки. Микрошаговый режим уменьшает расстояние пройденное валом между шагами (на появление шумов тратится меньше энергии).
Номинальное напряжение и напряжение питания
Наверное, одним из самых запутанных моментов является несоответствие напряжения на обмотке, указанного в паспорте машины, и реального напряжения источника питания, используемого для питания электрической машины. Если в техпаспорте указывается напряжение обмотки равное 3,4 В, то как получается, что электродвигатель подключается к источнику 48 В постоянного тока? Или иногда и к 80 В.
Номинальное напряжение не настолько критично, обратите внимание на ток.
Такое подключение стало возможным благодаря тому, что большинство современных драйверов имеют встроенное ШИМ управление выходным напряжением. Драйверы контролируют ток обмотки. Когда ток доходит до максимального значения (определяется максимальным током электрической машины), драйвер отключает питание, или снижает значение тока. При этом превышать максимальное напряжение драйвера нельзя.
Рассмотрим небольшой пример на основе шагового электродвигателя с номинальными данными: Uн = 12 В, Iн = 0,33 А, активное сопротивление обмотки R = 32,6 Ом, реактивное сопротивление обмотки L = 48 мГн.
12 В – это не максимально допустимое напряжение. Это напряжение нормальной работы, при котором в обмотке будет протекать ток равный 0,33 А.
Если вы управляете электрической машиной с помощью очень простого или Н-мостового драйвера, то вам необходимо ограничивать напряжение 12 В для предотвращения превышения номинального тока.
В случае использования драйвера с прерывателем (chopper drive), превышение номинального напряжения не является проблемой. Чем выше будет напряжение – тем быстрее машина достигнет магнитного насыщения. Приведенная ниже формула это иллюстрирует:
Приведенная формула вычисляет ток обмотки электродвигателя за определенный промежуток времени.
Ток, через катушку индуктивности 50 мГн, в течении 1 мс увеличивается пропорционально напряжению.
Если двигатель «перешагнет» прежде, чем сможет достаточно насытиться для развития необходимого момента, он начнет «терять» шаги. Если вы обнаружите, что такое происходит с вашей машиной на большом ходу – рассмотрите вариант повышения напряжения питания.
Как узнать на какое напряжение шаговый двигатель
Данный магический параметр для многих не совсем понятен, насчет прикладного его применения в разрезе подбора шаговых двигателей информации довольно много, но чаще всего она сводится к формуле Marris Friemannis, главы Gecko Drive, который эмпирически установил коэффициент 32 для расчета максимального напряжения питания шагового двигателя:
«Мощность мотора растет пропорционально напряжению питания, однако потери в результате образования вихревых токов в корпусе двигателя растут пропорционально квадрату приложенного напряжения.
Причиной данных потерь, как уже и говорилось, являются пульсации тока, которые индуцируют возникновение вихревых токов в ламелях шагового двигателя. Пульсация тока прямо пропорциональна напряжению питания и обратно пропорциональна индуктивности двигателя (V/L), вихревые токи напрямую зависят от пульсаций тока.
Индуцированные вихревые токи способствуют выделению тепла в ламелях двигателя, пропорционально их сопротивлению, подчиняясь формуле I2R, где R – сопротивление ламелей корпуса двигателя.
Сведение всего вышесказанного к общему знаменателю говорит о том, что нагрев пропорционален корню из индуктивности.
Таким образом коэффициент 32 был получен эмпирически, и связывает температуру корпуса двигателя в 85 градусов Цельсия и напряжение, численно равное корню квадратному из индуктивности испытуемого двигателя умноженному на данный коэффициент.»
О том, что такое индуктивность катушки или катушки индуктивности, можно прочитать где угодно, но что конкретно она иллюстрирует применительно к частному случаю с шаговыми двигателями давайте разберем ниже.
Вся сложность заключается в том, что индуктивность является производной нескольких параметров, и характеризует не одну конкретную характеристику, а несколько одновременно, что довольно трудно понять без детального разбора, ниже приведем несколько случаев с константами и переменными, которые нам помогут лучше в этом разобраться.
Если напряжение константа (90 вольт), индуктивность константа (три двигателя с индуктивностями 2 МГн, 4Мгн, 8 МГн), ток и время – переменные, то скорость насыщения будет иметь вид, как в ниже приведенном графике зависимости, где разными цветами отображены наши три двигателя с разной индуктивностью в порядке возрастания.
Таким образом, наглядно можно увидеть влияние индуктивности на скорость накачки обмоток током. Чем выше индуктивность, тем медленнее возрастает ток и тем медленнее возрастает величина магнитного потока (L x I). Хотя формула указывает на то, что при большей индуктивности итоговое значение магнитного потока будет выше, чем у двигателя с меньшей индуктивностью, что справедливо если мы не имеем ограничений по размеру двигателя, но по факту размер двигателя определен и обмотки должны в него вписываться геометрически. Поэтому приведенный выше график справедлив только при сравнении двигателей разных размеров с одинаковым током насыщения обмоток, но не одинаковыми обмотками. Простым языком:
— Место (пространство) для обмоток статора в двух одинаковых по длине и фланцу двигателях равно и неизменно, следовательно двигатель, обладающий характеристикой силы тока в 2 А имеет толщину провода обмоток условно (для простоты понимания) в 2 раза меньше, чем двигатель с характеристикой рабочего тока 4 А, из чего следует наша следующая зависимость;
— Индуктивность прямо пропорциональна числу витков обмоток, и шаговый двигатель с характеристикой по току в 2 А, имея более тонкий провод будет иметь обмотки, намотанные большим числом витков, чем двигатель с характеристикой по току в 4 А и, следовательно, будет иметь более высокое значение параметра индуктивности чем второй двигатель, при равном магнитном потоке, так как он равен произведению тока на индуктивность (меньший ток х большую индуктивность = больший ток х на меньшую индуктивность), что оставляет неизменной характеристику крутящего момента для обоих случаев;
— Индуктивность не влияет на крутящий момент, момент практически всегда определяется размером двигателя;
— Индуктивность не влияет на скорость, она влияет на отношение крутящего момента к скорости. На практике полка момента обоих двигателей будет примерно одинакова, но при разных напряжениях, больше индуктивность – меньше максимальный ток, меньше индуктивность – больше максимальный ток. Следовательно индуктивность хоть и оказывает сопротивление прокачке обмотки током, но будучи связанной с ним через сечение проводника и количество витков, её влияние уравновешивается в обоих случаях. В первом случае она оказывает большее сопротивление, но ток насыщения меньше и достигнуть нужно меньшей планки, чем во втором случае, но в последнем сопротивление насыщению меньше (меньше индуктивность), но планка тока насыщения в два раза выше. На скорость больше влияет характеристика проводника, отношение тока к индуктивности, а также размер самих катушек. Поэтому шаговые двигатели большого размера неизменно будут медленнее двигателей малогабаритных при равном напряжении. Именно взаимоотношение индуктивности (индуктивного сопротивления), силы тока и напряжения определяют скоростную характеристику шагового двигателя, раздельно эти три параметра рассматривать в контексте сравнения одинаковых по размерам двигателей некорректно, так как они, в большей степени, связаны механически параметрами корпуса. Но при одинаковой скорости и одинаковом напряжении
— Большая индуктивность позволяет применить источник тока с большим напряжением, меньшая индуктивность позволяет работать с низковольтными блоками питания для достижения одного и того же результата по крутящему моменту в рамках рассмотрения двигателей равных размеров. «Правила» Марриса Фриеманниса в какой-то мере подтверждают вышеизложенное о индуктивности шагового двигателя:
Основное правило 1:
Индуктивность обмотки равна квадрату N, где N – количество витков обмотки. При сравнении двух обмоток, состоящих из 10 витков и 30 витков, индуктивность второй будет больше индуктивности первой в 9 раз (10² = 100, 30² = 900).
Основное правило 2:
Отношение мощности шагового двигателя (P) к напряжению источника питания (V) и индуктивности (L) может быть выражено как: P=V÷√L
Как узнать на какое напряжение шаговый двигатель
В идеальном двигателе нет трения, его момент пропорционален амперо-виткам обмоток и единственной электрической характеристикой является индуктивность. Индуктивность L характеризует способность обмотки запасать энергию в магнитном поле. Индуктивности обладают свойством индуктивного сопортивления, т.е. сопротивления переменному току, которое тем больше, чем быстрее меняется ток, а значит, индуктивное сопротивление возрастает вместе со скоростью вращения двигателя. По закону Ома ток прямо пропорционален напряжению и обратно пропорционален полному сопротивлению, откуда следует, что ток обмотки уменьшается при увеличении скорости вращения. Т.к. момент пропорционален амперо-виткам, а ток обратно пропорционален скорости, то момент также будет обратно пропорционален скорости. Т.е. при нулевой скорости момент стремится к бесконечности, при увеличении скорости момент(и ток) начинает стремиться к нулю.
Электрически, реальный двигатель отличается от идеального в основном ненулевым сопротивлением обмотки, а также ферромагнитными составляющими, которым свойствоенно насыщаться магнитным полем, что приводит к гистерезисным потерям и потерям на вихревые токи. Насыщение ограничивает момент, а вихревые токи и гистерезисные потери вызывают нагрев мотора. Рассмотрим кривую зависимости крутящего момента шагового двигателя от скорости.
В результате, скорость-моментная характеристика идеального двигателя будет начинаться с отрезка, где момент постоянный, до точки, когда мотор перестанет генерировать и потреблять реактивную мощность. Реальный шаговый двигатель обладает потерями, которые изменяют идеальную скорость-моментную характеристику. Особенно велик вклад момента от зубцовых гармоник магнитного поля(его иногда указывают в документации на двигатель). Потери в двигателе есть всегда, и чем быстрее вращается вал шагового мотора, тем больше потери, и их также необходимо вычитать из идеальной характеристики.
Резонанс на средних частотах
Мощность двигателя
Выходная мощность двигателя (скорость×момент) пропорциональна напряжению, деленному на квадратный корень из индуктивности. Если мы увеличим вдвое напряжение ШИМ, то получим другую кривую СМХ, лежащую выше, и мощность на участке постоянной мощности вырастет вдвое. С током иная картина. Рисунок ниже показывает, что будет при выставлении на драйвере тока в 2 раза больше номинального для двигателя. Мотор начинает выделять в 4 раза больше тепла, а момент на низких оборотах увеличивается менее чем в 2 раза из-за насыщения сердечников обмоток.
Как можно видеть, мощность не увеличивается вовсе. Всегда рекомендуется выставлять ток на драйвере равным номинальному значению для двигателя. Это в том числе снизит вибрации на низких частотах, улучшит характеристики хода в микрошаговом режиме.
Напряжение питания и нагрев двигателя
Для наглядности ниже показан график, показывающий ферромагнитные потери для двигателя с номинальными характеристиками 4 А, 3 В.
Кратко о мощности шагового двигателя
Выбор двигателя и питающего напряжения целиком зависят от задач. В идеале, двигатель должен выдавать достаточный момент на максимальной планируемой скорости. Необходимо отличать момент от мощности двигателя: большой момент на низких скоростях не означает, что двигатель мощный. Выходная мощность – другой, более важный параметр, её примерно можно оценить по кривой скорости-момента. Теоретически, максимальная мощность, которую можно стабильно получать с драйвера, питаемого напряжением 80 В и выходным током 7 А примерно 250 Ватт(1/3 л.с.), в реальности же для этого потребуется 2 или 3 двигателя NEMA 34. Двигатели NEMA 23 слишком малы для отвода тепла, а NEMA 42 из-за размера не подходят по импедансу: если их номинальный ток меньше, чем 7 А, то напряжение будет больше 80 В, и наоборот. Момент от зубцовых гармоник в моторах NEMA 42 существенно больше, чем в малых моторах, и обязательно должен быть учтен при расчете выходной мощности. Другими словами, выходная мощность двигателей NEMA 42 падает быстрее, чем у меньших двигателей. NEMA 42 следует использовать, если требуется получить высокий момент на низких скоростях и нет смысла использовать мотор-редуктор.
О ЧЕМ ГОВОРЯТ ХАРАКТЕРИСТИКИ ШАГОВОГО ДВИГАТЕЛЯ
АЛГОРИТМ ПОДБОРА ШАГОВОГО ДВИГАТЕЛЯ
Подбор и расчет шаговых двигателей для ЧПУ
При подборе шагового двигателя для ЧПУ необходимо отталкиваться от планируемой сферы применения станка и технических характеристик. Ниже представлены критерии выбора, классификация наиболее популярных двигателей и примеры расчета.
Как выбрать шаговый двигатель для ЧПУ: критерии
Тип двигателя
Важный критерий – тип шагового двигателя для ЧПУ станка. Широко распространены биполярные, униполярные и трехфазные модели. Каждая из них имеет свои особенности:
Примеры расчетов шаговых двигателей для ЧПУ
Определяем силы, действующие в системе
Рассчитываем мощность
Формулы, приведенные ниже, представлены без учета инерции вала самого шагового двигателя и других вращающихся механизмов. Поэтому для большей точности рекомендуется увеличить или убавить требования по ускорению на 10%.
Для расчета мощности шагового двигателя следует воспользоваться формулой F=ma, где:
Для определения механической мощности необходимо умножить силу сопротивления движения на скорость.
Рассчитываем редукцию оборотов
Определяется на основании номинальных оборотов сервопривода и максимальной скорости перемещения стола. Например, скорость перемещения составляет 1 000 мм/мин, шаг винта шариковой винтовой передачи – 10 мм. Тогда скорость вращения винта ШВП должна быть (1 000 / 10) 100 оборотов в минуту.
Для расчета коэффициента редукции учесть номинальные обороты сервопривода. Например, они равны 5 000 об/мин. Тогда редукция будет равна (5 000 / 100) 50.
Классификация шаговых двигателей для ЧПУ
Советские модели
В станках часто применяют шаговые двигатели индукторного типа, изготовленные в СССР. Речь о моделях ДШИ-200-2 и ДШИ-200-3. Они обладают следующими характеристиками:
Параметр | ДШИ-200-2 | ДШИ-200-3 |
---|---|---|
Потребляемая мощность | 11.8 Вт | 16.7 Вт |
Погрешность обработки шага | 3% | 3% |
Максимальный статический момент | 0.46 нт | 0.84 нт |
Максимальная чистота приемистости | 1 000 Гц | 1 000 Гц |
Напряжение питания | 30 В | 30 В |
Ток питания в фазе | 1.5 А | 1.5 А |
Единичный шаг | 1.8 град | 1.8 град |
Масса | 0.54 кг | 0.91 кг |
При выборе следует обратить внимание на наличие индекса ОС. Это особая серия с военной приемкой. Имеет более высокое качество исполнения, чем обычные модели.
Китайские модели
Примеры китайских шаговых двигателей для ЧПУ и их характеристики представлены ниже.
Параметр | Модель | ||
---|---|---|---|
JKM Nema 17 42mm Hybrid Stepper Motor | JK42HS48-2504 | JK42HS40-1704 | |
Длина, мм | 48 | 40 | 34 |
Ток питания в фазе, А | 2.5 | 1.7 | 1.33 |
Единичный шаг (угловое перемещение), град | 1.8 | 1.8 | 1.8 |
Масса, кг | 0.34 | 0.32 | 0.22 |
Биполярные шаговые двигатели для ЧПУ от CNC Technology
Параметр | Модель | ||
---|---|---|---|
86HS156-5004 | 57HS76-3004 | 42HS48-1704A | |
Ток питания в фазе, А | 5 | 3 | 1.7 |
Единичный шаг (угловое перемещение), град | 1.8 | 1.8 | 1.8 |
Индуктивность, мГн | 6 | 3.5 | 2.8 |
Диаметр вала | 14 | 8 | 5 |
Зная критерии выбора и ориентируясь в предложениях по шаговым двигателям на рынке можно подобрать подходящую модель для станка ЧПУ. Главное – покупать у проверенных поставщиков.
3 причины купить шаговый двигатель для ЧПУ в компании CNC Technology
Получить консультацию по выбору шагового двигателя можно по телефону 8 (800) 350 33 60.
Изучаем миниатюрный шаговый двигатель
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.
Сегодня хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Мы подробно рассмотрим их устройство и способы управления такими крошечными моторчиками.
Шаговый двигатель — бесколлекторный (бесщёточный) электрический двигатель с несколькими обмотками (фазами), расположенными на статоре и магнитами (часто постоянными) на роторе. Подавая напряжения на обмотки статора, мы можем фиксировать положение ротора, а подавая напряжение на обмотки последовательно можно получить перемещение ротора из одного положения в другое (шаг), причём этот шаг имеет фиксированную угловую величину.
Мы не будем останавливаться на рассмотрении каждого типа шагового двигателя. Об этом в сети написано довольно много и хорошо, например здесь.
Хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Такие малыши имеются в свободной продаже. Но в сети, особенно в русскоязычной, очень мало информации по таким моторчикам. Потому, когда мне потребовалось использовать их в своём проекте, пришлось изрядно поискать информации и провести пару экспериментов.
Результатами своих поисков и экспериментами я поделюсь в этой статье.
Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:
Знакомство
Сначала немного посмотрим на внешний вид нашего героя:
Он действительно очень маленький! Согласно умной книжке Петренко С.Ф.
«Пьезоэлектрические двигатели в приборостроении», меньших размеров электромагнитные моторчики создать в принципе невозможно… то есть возможно, но с уменьшением диаметра проволоки, из которой изготавливают обмотки, всё больше энергии рассеивается в виде тепла в окружающую среду, что приводит к уменьшению КПД моторчика и делает их использование нерациональным.
Из примечательного, можно отметить, что его вал очень короткий и имеет специальную проточку для установки шестерни или рычага.
Отчётливо видны две обмотки, которые даже покрыты изоляцией разного цвета. Значит, наш моторчик относится, скорее всего, к классу биполярных шаговых двигателей.
Посмотрим как он устроен:
Считаю, наше знакомство с этими моторчиками будет не полным, если мы не посмотрим, что же у него внутри. Ведь всегда интересно заглянуть внутрь механизма! Разве нет?
Собственно, ничего необычного мы не увидели. Ротор намагничен. Подшипников нигде не наблюдается, всё на втулках. Задняя втулка запрессована в корпус двигателя. Передняя ничем не закреплена. Интересно, что корпус двигателя собирался точечной сваркой. Так что переднюю крышку корпуса пришлось спиливать.
Теперь перейдём к вопросу подключения и его электрическим характеристикам.
Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.
В описании сказано, что напряжение питания 5В. Хотя мы то с вами знаем, что для шагового двигателя важен ток, который будут потреблять его обмотки.
Пробуем подключить.
Эксперимент №1. L293D + ATtiny44
Как мы знаем, для управления биполярным шаговым двигателем необходимо не просто прикладывать напряжения к двум обмоткам в нужной последовательности, но и изменять направление тока в этих обмотках, причём делать это независимо друг от друга. Для этого на каждую обмотку нужен собственный Н-мост. Чтобы не городить его из транзисторов, был взят готовый в лице микросхемы L293D. Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост. Их можно использовать чтобы подавать ШИМ сигнал, тем самым, возможно контролировать напряжения питания каждого моста. Зачем это может понадобиться, мы увидим дальше.
Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.
Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал.
Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан).
Вот как выглядит собранная схема на макетной плате:
И вот так расположен наш подопытный:
Теперь можно приступать к экспериментам.
Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В:
I=U/R = 5В/26Ом = 190мА
Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться.
Включим в цепь одной из обмоток амперметр и вольтметр, и проведём замеры соответствующих величин при подачи питания на эту обмотку через драйвер.
При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.
Убедившись, что напряжение 5В для моторчика опасности не представляет, попробуем покрутить им в разные стороны. И вот теперь пару слов мы скажем про режимы работы шагового двигателя.
Об этом довольно хорошо сказано здесь.
Не будем повторяться, но вспомним, что шаговый двигатель может работать в трёх режимах:
Исходный код программы выглядит следующим образом:
Полношаговый режим. Одна фаза
Двигатель делает 16 шагов на один оборот. Причём шаги для двух фаз имеют не одинаковую угловую величину. Не знаю с чем это связано. Может конструкция двигателя такая?
Посмотрим на максимальную частоту шагов, которую он может обеспечить в таком режиме, не пропуская их.
Минимальная задержка между шагами 2мс, значит 500 шагов/секунду. Неплохо, это 31 об/сек = 1850 об/мин.
Полношаговый режим. Две фазы
Обратите внимание, что в этом случае шаги получаются ровнее, они одинаковы по величине (во всяком случае, более одинаковы, чем в предыдущем случае).
Естественно, в этом случае под напряжением находятся одновременно две обмотки и теплоотдача возрастает. Двигатель уже через несколько секунд нагревается достаточно сильно, потому эксперимент я прекратил.
Что с максимальной частотой шагов? 500 шагов/секунду; 31 об/сек = 1875 об/мин.
Надо сказать, что для шагового двигателя он довольно шустрый. Это связано с малым количеством магнитных полюсов на роторе.
Эксперимент №2. TMC2208 + ATtiny44
TMC2208 — название микросхемы-драйвера для управления биполярными шаговыми двигателями, аналогично называется модуль на её основе, который выпускается для установки в самодельные (и не только) 3D принтеры и имеет унифицированное расположение выводов.
Много и доходчиво сказано про этот модуль вот здесь.
В интернете много написано про то, как установить его в свой 3D принтер, но нас интересует как подключить модуль к микроконтроллеру, потому давайте разбираться.
Характеристики микросхемы впечатляют (только впечатлительных людей):
Управлять ей очень просто, по сути нужно всего два пина микроконтроллера. Один подключаем к DIR — указываем направление вращения двигателя, другой подключаем к STEP — при подаче импульса микросхема производит необходимые манипуляции с токами и напряжениями на обмотках двигателя и тот делает один шаг.
Схема подключения будет выглядеть так:
Дополнительно я использовал пин EN, чтобы отключать моторчик и длительное время не держать обмотки под напряжением.
Перед тем как всё запустить нужно произвести предварительную настройку модуля. Во-первых, выставить желаемый режим микрошага. Во-вторых, выставить желаемый максимальный ток двигателя.
С микрошагом всё просто. За это отвечают пины MS1 и MS2.
Отмечу, что микросхема не скачкообразно меняет напряжение, а делает это «плавно», но так как микросхема цифровая, то на выходе у нас не гладкий сигнал, а сигнал с маленьким шагом, если верить документации, то каждый шаг она разбивает на 256 микрошагов. Сделано это для увеличения плавности хода, снижения шумов от двигателя и по идее не должно позволять конструкции, к которой он прикручен, входить в резонанс. Короче, всё для того, чтобы 3D принтер работал тише.
Чтобы выставить ток двигателя необходимо измерить напряжения на контакте Vref, который указан на рисунке. Изменить значение напряжения можно при помощи потенциометра, установленного рядом с контактом. Напряжение на контакте будет пропорционально току двигателя, и зависимость будет иметь следующий вид:
Нашему моторчику нужно примерно 150мА, потому Vref = 0,216В. Устанавливаем…
Подразумевается, что увеличение тока микросхема обеспечивает за счёт увеличения напряжения на обмотке. Потому, нужно позаботиться о том, чтобы этого напряжения хватило. Но, полагаю, для того маленького моторчика должно хватить и 5В.
Протестируем работу моторчика с различными режимами микрошага и посмотрим что получится (пауза между микрошагами 10мс):
Можно заметить, что движения моторчика стали более плавными (по сравнению с предыдущим экспериментом), однако характерные 16 шагов всё равно наблюдаются довольно чётко. Что же… видимо это черта шаговых двигателей с ротором из постоянных магнитов.
Ещё необходимо отметить, что моторчик в этом режиме нагревается почти также сильно, как в полношаговом режиме с двумя фазами. Оно и понятно, обмотки постоянно находятся под напряжением, непрерывно происходит выделение тепла.
Полагаю, для таких моторчиков использование такого драйвера, да и вообще режимов микрошага не очень целесообразно.
Эксперимент №3. ATtiny44-драйвер
Вернёмся ненадолго к первому эксперименту и вспомним, что входы EN1 и EN2 микросхемы драйвера подключены к пинам OC0A и OC0B микроконтроллера. Это значит, что мы можем подать туда ШИМ сигнал, генерируемый при помощи таймера TIMER0 и таким образом изменять напряжение, прикладываемое к обмоткам двигателя и соответственно регулировать ток, который будет протекать через них.
Согласно даташиту на микроконтроллер ATtiny44 максимальный ток, который может выдать один пин составляет всего 40мА. Причём не указано для какого вида тока (пульсирующего или постоянного) эта характеристика. Просто она есть и она вот такая…
Надо сказать, что я более 7 лет знаком с микроконтроллерами фирмы ATMEL. И ни разу у меня не возникло желания проверить эту строчку из даташита.
Возможно, производитель просто подстраховывается и на самом деле он может выдать больше, а может это действительно максимум, что может выдать один пин.
Мы это выясним. Но сначала нужно выяснить при каком минимальном токе моторчик вообще способен вращаться.
Используя схему из первого эксперимента, подгоняем значение тока через обмотки равное 40мА. Запускаем в полношаговом режиме с двумя фазами (так как будет выше крутящий момент):
Отлично! При 40мА двигатель успешно запустился! Был также выявлено минимальное значение тока обмоток, необходимое для устойчивой работы мотора, и равно оно 30мА.
Разумеется, крутящий момент будет значительно ниже, но для нас важен сам факт того, что удалось запустить моторчик с таким маленьким энергопотреблением.
Схема подключения шагового двигателя к микроконтроллеру будет следующей:
Поскольку каждый пин микроконтроллера работает как полумост (может коммутировать вывод микросхемы либо на Vcc, либо на GND), то для управления биполярным шаговым мотором нам понадобиться 4 пина микроконтроллера.
Немного поясню как работает эта программа. Это модифицированный код из первого эксперимента. Как я говорил выше, будет использован 8 битный TIMER0 для генерирования ШИМ сигнала на выходах OC0A и OC0B. Таймер настраивается в режим FastPWM с предделителем на 8 (частота сигнала при 8МГц тактового генератора микроконтроллера составляет 3906Гц).
Чтобы изменять полярности сигналов на обмотках происходит переключение пина микроконтроллера от Vcc к GND изменением соответствующего бита в регистре PORTx и изменением коэффициента заполнения ШИМ путём записи значений в регистры OCR0A и OCR0B (значения подбирались экспериментально).
Курс схемотехники, прослушанный на первом курсе института подсказывает, что мультиметр показывает среднеквадратическое значение напряжения и тока в двигателе.
Шаговый двигатель вращается от пинов микроконтроллера без драйверов!
Но здесь мы не выходим за пределы возможностей микроконтроллера, по крайней мере, если верить тому, что пишут в документации. В таком режиме микроконтроллер и моторчик могут работать долго. Действительно, эксперимент длился 20 минут. За это время не наблюдалось ни пропуска шагов, ни сброса контроллера, ни перегрева (ни у двигателя, ни у контроллера).
Отбросим все предосторожности
Уберём из эксперимента ШИМ и будем напрямую управлять пинами микроконтроллера при помощи регистров PORTx. Посмотрим что будет с микроконтроллером после этого.
Работает… с максимальным током в 51мА… Что же… неожиданно, похоже это и есть предельный ток, который может отдать один пин микроконтроллера? Если я ошибаюсь, поправьте меня.
В любом случае, ролик с ютуба не обманул. Действительно можно управлять этим моторчиком без всяких драйверов.
Выводы
Мы подробно изучили миниатюрные биполярные шаговые моторчики, их конструкцию и способы управления ими, для использования в собственных приложениях.
1. Миниатюрный биполярный шаговый мотор с ротором из постоянных магнитов действительно миниатюрный.
Его основные особенности:
3. Использование специализированного драйвера TMC2208 является спорным вопросом, так как микрошаговый режим не поддерживается самим двигателем, хотя переходы между шагами выполняются более плавно.
4. Возможно подключение шагового двигателя непосредственно к портам микроконтроллера. Но это только в рамках эксперимента, так как крутящий момент в данном случае совсем незначителен, да и малый ток не позволяет совершать шаги с большой скоростью.
В следующий раз расскажу, для чего именно нам потребовались такие маленькие шаговые моторчики.