Как проверить драйвер шагового двигателя на исправность
Перейти к содержимому

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

  • автор:

Проверка драйвера двигателя L298n без использования Arduino

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

  • Блок питания 5 вольт;
  • любой двигатель, рассчитанный на 5 вольт;
  • немного проводов;
  • тестируемый драйвер двигателя L298N;

Перед тем как приступить к проверке, нужно знать назначение разъемов на плате драйвера.

Назначение выводов на плате драйвера L298N

Подключаем двигатели в винтовые зажимы OUT1/OUT2 и OUT3/OUT4. Питание подключаем к разъему Vin и GND. К разъему +5В подключаем провод и поочередно касаемся штыревых разъемов «направление вращения моторов». Если драйвер исправен каждый двигатель должен будет вращаться в нужном направлении

Рекомендуемые товары

Драйвер двигателей на L298N

Драйвер двигателей на L298N

Драйвер моторов использует чип ST L298N, может напрямую управлять двумя двигателями от постоянного т..

Сигналы управления драйвера ШД: PUL/DIR, STEP/DIR, CW/CCW. Управление шаговыми драйверами DM860H, DM556, TB6600. с Arduino.

ГЛАВНАЯ / КАтегории / Сигналы управления драйвера ШД: PUL/DIR, STEP/DIR, CW/CCW. Управление шаговыми драйверами DM860H, DM556, TB6600. с Arduino.

Общие сведения:

Шаговый двигатель это бесколлекторный двигатель, ротор которого вращается не плавно, а шагами (дискретно). Один оборот ротора (360°) состоит из определённого количества шагов. Количество полных шагов в одном обороте указывается в технической документации двигателя.

Например, ротор шагового двигателя 17HS1352-P4130, за один полный шаг, поворачивается на 1,8°. Значит для поворота ротора на 360° двигатель должен совершить 200 полных шагов.

Для совершения одного полного шага на обмотки двигателя поступает серия сигналов от драйвера (как в полношаговом «1», так и в микрошаговых режимах «2», «4», «8», «16»).

С принципом работы шаговых двигателей можно ознакомиться в разделе Wiki — ШД.

Микрошаг:

Большинство драйверов позволяют разделить полный шаг двигателя на несколько микрошагов. Выбор микрошага устанавливается согласно таблице в инструкции к драйверу. В таблице указывается количество микрошагов на полный шаг «Microstep» (1/2/4/8/16/32/. ) и/или количество тактов на полный оборот вала «Pulse/rev» (200/400/800/1600/3200/6400/. ).

Если для целого поворота ротора двигателя в режиме 1 микрошаг на полный шаг требуется 200 тактов, то в режиме 4 микрошага на полный шаг, потребуется уже 800 тактов.

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

Ограничение тока фазы:

Большинство драйверов позволяют ограничить ток фазы (ток протекающий через обмотки двигателя). Выбор тока фазы осуществляется согласно таблице в инструкции к драйверу. В таблице указывается действующий ток «Current» и/или пиковый ток «PK Current». Чем выше ток, тем выше отдаваемый момент (сила двигателя).

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

У некоторых драйверов ограничение тока осуществляется поворотом потенциометра.

Ток удержания:

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

Снижение тока удержания приводит к снижению нагрева двигателя при его удержании.

Силовые выводы драйвера:

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

  • Входы «VCC», «GND» / «+V», «GND» / «AC+», «AC-» — предназначены для получения напряжения питания шагового двигателя.
  • Выводы «A+» и «A-» — предназначены для подключения первой обмотки шагового двигателя.
  • Выводы «B+» и «B-» — предназначены для подключения второй обмотки шагового двигателя.

Подключение обмоток двигателя к драйверу зависит от количества выводов у двигателя.

Драйверы DM860H, DM556, TB6600 позволяют работать только с биполярными двигателями. Двигатели с 4 выводами подключаются по схеме А. Двигатели с 6 выводами подключаются по схеме Б или В. Двигатели с 8 выводами подключаются по схеме Г или Д.

Запрещается подключать или отключать обмотки двигателя на включенном драйвере!

Сигналы управления STEP/DIR (PUL/DIR):

  • Вход драйвера «STEP» (он же «PULSE») — предназначен для получения тактовых импульсов. За один импульс ротор двигателя поворачивается на один микрошаг. Вход может работать по фронту или спаду импульса. Чем выше частота импульсов, тем выше скорость вращения ротора.
  • Вход драйвера «DIR» — предназначен для выбора направления вращения двигателя («0» — в одну сторону, «1» — в другую сторону). Смена состояния вывода «DIR» должна осуществляться при отсутствии импульсов на выводе «STEP».
  • Вход драйвера «ENABLE» — разрешает работу двигателя. У большинства драйверов данный вход является инверсным, работа двигателя разрешена при отсутствии напряжения на входе. Некоторые драйверы позволяют вообще не подключать этот вход. Если работа двигателя запрещена, то его обмотки электрически отключаются и вал двигателя не удерживается.
  • Двигатель отключён если на входе «ENABLE» есть напряжение.
    Сигналы на входах «STEP» и «DIR» игнорируются драйвером. Вал двигателя освобождён.
  • Вал поворачивается на один микрошаг с каждым импульсом на входе «STEP», при условии что на входе «ENABLE» нет напряжения.
    Направление поворота вала зависит от состояния на входе «DIR».
  • Вал двигателя удерживается в неподвижном состоянии если на входе «ENABLE» нет напряжения и на вход «STEP» не подаются импульсы.
  • t1: После снятия напряжения со входа «ENABLE» должно пройти не менее 5мкс до изменения уровня на входе «STEP» или «DIR».
  • t2: После изменения состояния на входе «DIR» должно пройти не менее 5мкс до подачи импульса на вход «STEP».
  • t3, t4: Длительность импульса или паузы на входе «STEP» не должна быть меньше 2,5мкс.
  • t5: Автоматическое снижение тока удержания происходит через 1-2 сек после подачи последнего импульса на вход «STEP». Время зависит от типа драйвера.

Сигналы управления CW/CCW:

(Данные сигналы не поддерживаются драйверами DM860H, DM556, TB6600)

  • Вход драйвера «CW» — предназначен для получения тактовых импульсов. За один импульс ротор двигателя поворачивается на один микрошаг. Вход может работать по фронту или спаду импульса. Чем выше частота импульсов, тем выше скорость вращения ротора.
  • Вход драйвера «CCW» — выполняет те же действия что и вход «CW», но ротор двигателя поворачивается в другую сторону.
  • Вход драйвера «ENABLE» — разрешает работу двигателя. У большинства драйверов данный вход является инверсным, работа двигателя разрешена при отсутствии напряжения на входе. Некоторые драйверы позволяют вообще не подключать этот вход. Если работа двигателя запрещена, то его обмотки электрически отключаются и вал двигателя не удерживается.
  • Двигатель отключён если на входе «ENABLE» есть напряжение.
    Сигналы на входах «CW» и «CCW» игнорируются драйвером. Вал двигателя освобождён.
  • Вал поворачивается на один микрошаг с каждым импульсом на входе «CW» или «CCW», при условии что на входе «ENABLE» нет напряжения.
    Направление поворота вала зависит от того, на какой вход поступают импульсы.
  • Вал двигателя удерживается в неподвижном состоянии если на входе «ENABLE» нет напряжения и на входы «CW» и «CCW» не подаются импульсы.
  • t1: После снятия напряжения со входа «ENABLE» должно пройти не менее 5мкс до подачи импульса на вход «CW» или «CCW».
  • t2: После последнего импульса на одном входе должно пройти не менее 5мкс до подачи импульса на дрогой вход.
  • t3, t4: Длительность импульса или паузы не должна быть меньше 2,5мкс.
  • t5: Автоматическое снижение тока удержания происходит через 1-2 сек после подачи последнего импульса. Время зависит от типа драйвера.

Подключение управляющих выводов драйвера:

Для подключения управляющих выводов можно использовать одну их следующих схем:

Допускается подключать драйвер к контроллеру без использования сигнала ENABLE, тогда выводы ENA+ и ENA- остаются свободными (не подключёнными).

  • При уровне логической «1» = 5В, все сопротивления R исключаются из схемы.
  • При уровне логической «1» = 12В, все сопротивления R равны 1кОм.
  • При уровне логической «1» = 24В, все сопротивления R равны 2кОм.

Подключение драйвера к Arduino:

Так как логические уровни Arduino UNO равны 5В, то при подключении управляющих выводов к драйверу, ограничивающие сопротивления R не нужны.

Для подключения драйвера к Arduino воспользуемся схемой где выводы PUL-, DIR-, ENA- подключены к GND контроллера (правая схема на картинке выше).

Если подключить драйвер к Arduino без использования сигнала ENABLE, оставив выводы ENA+ и ENA- не подключёнными, то приведённый ниже скетч не сможет освобождать вал. Вал двигателя будет удерживаться всё время, пока он не вращается.

Выводы драйвера ENA+, DIR+ и PUL+ можно подключить к любым выводам Arduino, их номера указываются в начале скетча. В примере это выводы 2, 3 и 4 соответственно.

Если для подключения драйвера воспользоваться схемой где выводы PUL+, DIR+, ENA+ подключены к 5V контроллера (левая схема на картинке выше), то в скетче нужно изменить логические уровни устанавливаемые функциями digitalWrite().

Управление двигателем при помощи Arduino:

Для работы скетча установите микрошаг 1/4, что соответствует 800 тактов на 1 оборот. Микрошаг устанавливается DIP-переключателями драйвера согласно таблице на его корпусе.

Скетч постоянно повторяет 4 действия:

  • Поворот вала на 2 полных оборота в одну сторону.
  • Остановка двигателя на 5 секунд с удержанием вала.
  • Поворот вала на 2 полных оборота в другую сторону.
  • Остановка двигателя на 5 секунд с освобождением вала.
const uint8_t pin_ENA = 2; // Вывод Arduino подключённый к входу драйвера ENA+. const uint8_t pin_DIR = 3; // Вывод Arduino подключённый к входу драйвера DIR+. const uint8_t pin_PUL = 4; // Вывод Arduino подключённый к входу драйвера PUL+. // Вывод GND Arduino соединён с входами драйвера ENA-, DIR-, PUL-. uint32_t f = 1000; // Определяем частоту следования микрошагов от 1 до 200'000 Гц. // Чем выше частота, тем выше скорость вращения вала. void setup() < // pinMode( pin_ENA, OUTPUT ); // Конфигурируем вывод Arduino как выход. pinMode( pin_DIR, OUTPUT ); // Конфигурируем вывод Arduino как выход. pinMode( pin_PUL, OUTPUT ); // Конфигурируем вывод Arduino как выход. >// // uint32_t t = 1000000/f/2; // Определяем длительность импульсов t3 и пауз t4 в мкс. // void loop() < // // Готовимся к движению вала: // digitalWrite( pin_ENA, 0 ); // Разрешаем работу двигателя. delayMicroseconds(5); // Выполняем задержку t1 (см. график STEP/DIR). digitalWrite( pin_DIR, 0 ); // Выбираем направление вращения. delayMicroseconds(5); // Выполняем задержку t2 (см. график STEP/DIR). // Поворачиваем вал на 2 оборота: // for(int i=0; i// // Останавливаем вал удерживая его: // Двигатель не вращается, если на вывод PUL не поступают импульсы. delay(5000); // Ждём 5 секунд. В это время двигатель остановлен, его вал удерживается. // Меняем направление движения вала: // digitalWrite( pin_DIR, 1 ); // Меняем логический уровень вывода DIR с 0 на 1. delayMicroseconds(5); // Выполняем задержку t2 (см. график STEP/DIR). // Поворачиваем вал на 2 оборота: // for(int i=0; i // // Останавливаем вал без удержания: // digitalWrite( pin_ENA, 1 ); // Запрещаем работу двигателя, отключаем токи в обмотках. delay(5000); // Ждём 5 секунд. В это время двигатель отключен, его вал свободен. > //
  • Движение вала на 2 оборота в одну сторону:
    Перед началом движения вала мы разрешаем работу двигателя (установив 0 на выводе ENA) и выбираем направление движения (установив 0 или 1 на вывод DIR), далее выполняем движение подачей импульсов на вывод PUL в теле цикла for. Каждый импульс поворачивает ротор на угол одного микрошага. Микрошаг установлен DIP-переключателями в положение 800 тактов на полный оборот. Код цикла выполняется 1600 раз, значит вал повернётся на 2 оборота.
  • Остановка вала с удержанием:
    Двигатель не вращается, если на вывод PUL не поступают импульсы. Значит обычная задержка на 5000 мс приведёт к остановке двигателя на 5 секунд. Так как работа двигателя была разрешена (на выводе ENA ранее был установлен 0), то через обмотки двигателя будет протекать ток удержания вала.
  • Движение вала на 2 оборота в другую сторону:
    Направление движения вала определяется логическим уровнем на выводе DIR. Ранее на нём был установлен 0, значит теперь нужно установить 1. Далее подачей импульсов на вывод PUL мы заставляем вращаться вал, но теперь в другую сторону.
  • Остановка вала без удержания:
    В предыдущий раз мы останавливали двигатель прекращая подавать импульсы на вывод PUL, но не запрещали работу двигателя, в результате через его обмотки протекал ток удержания вала. Теперь мы запретим работу двигателя установив на выводе ENA уровень логической 1, что приведёт к исчезновению токов в обмотках двигателя. Теперь в течении 5 секунд, двигатель будет не только остановлен, но и его вал можно свободно вращать руками.

Управление шаговым двигателем по прерываниям от 2 таймера Arduino:

const uint8_t pin_ENA = 2; // Вывод Arduino подключённый к входу драйвера ENA+. const uint8_t pin_DIR = 3; // Вывод Arduino подключённый к входу драйвера DIR+. const uint8_t pin_PUL = 4; // Вывод Arduino подключённый к входу драйвера PUL+. // Вывод GND Arduino соединён с входами драйвера ENA-, DIR-, PUL-. volatile uint32_t step=0; // Переменная хранит количество микрошагов, которые требуется совершить. // void setup() < // pinMode( pin_ENA, OUTPUT ); // Конфигурируем вывод Arduino как выход. pinMode( pin_DIR, OUTPUT ); // Конфигурируем вывод Arduino как выход. pinMode( pin_PUL, OUTPUT ); // Конфигурируем вывод Arduino как выход. funcSetTimer2( 1000 ); // Запускаем 2 таймер указав частоту следования микрошагов от 1 до 200'000 Гц. >// Чем выше частота, тем выше скорость вращения вала. // void loop() < // // Готовимся к движению вала: // digitalWrite( pin_ENA, 0 ); // Разрешаем работу двигателя. delayMicroseconds(5); // Выполняем задержку t1 (см. график STEP/DIR). digitalWrite( pin_DIR, 0 ); // Выбираем направление вращения. delayMicroseconds(5); // Выполняем задержку t2 (см. график STEP/DIR). // Поворачиваем вал на 2 оборота: // step=1600; // Указываем количество микрошагов, которые требуется совершить. while(step)// Ждём обнуления переменной. // Останавливаем вал удерживая его: // Двигатель не вращается, если на вывод PUL не поступают импульсы. delay(5000); // Ждём 5 секунд. В это время двигатель остановлен, его вал удерживается. // Меняем направление движения вала: // digitalWrite( pin_DIR, 1 ); // Меняем логический уровень вывода DIR с 0 на 1. delayMicroseconds(5); // Выполняем задержку t2 (см. график STEP/DIR). // Поворачиваем вал на 2 оборота: // step=1600; // Указываем количество микрошагов, которые требуется совершить. while(step) // Ждём обнуления переменной. // Останавливаем вал без удержания: // digitalWrite( pin_ENA, 1 ); // Запрещаем работу двигателя, отключаем токи в обмотках. delay(5000); // Ждём 5 секунд. В это время двигатель отключен, его вал свободен. > // // // ОБРАБОТКА ПРЕРЫВАНИЙ 2 ТАЙМЕРА: // ISR(TIMER2_COMPA_vect) < // Функция вызывается по совпадению регистров TCNT2 и OCR2A. if( step )< // Если требуется выполнять микрошаги, то . bool p = digitalRead(pin_PUL); // Определяем текущее состояние на выводе PUL. digitalWrite(pin_PUL, !p); // Меняем состояние на выводе PUL. if( p )< step--; >// Уменьшаем количество требуемых микрошагов. > // > // // // ФУНКЦИЯ НАСТРОЙКИ 2 ТАЙМЕРА: // void funcSetTimer2(uint32_t f)< // Параметр: «f» - частота тактирования ШД от 1 до 200'000 Гц. if(f>200000) // Определяем значение предделителя: uint16_t i; uint8_t j; f*=2; if(f>(F_CPU/255/ 1))else if(f>(F_CPU/255/ 8))else if(f>(F_CPU/255/ 32))else if(f>(F_CPU/255/ 64))else if(f>(F_CPU/255/128))else if(f>(F_CPU/255/256))else // Устанавливаем регистры 2 таймера: TCCR2A = 0<Данный скетч выполняет те же действия что и предыдущий. Но подача импульсов на вывод PUL осуществляется не в цикле основного кода, а по прерываниям от таймера.

Как только переменной step присваивается число отличное от 0, то на драйвер начинают поступать импульсы. Значение step убывает с каждым поданным импульсом, пока не достигнет 0, что приведёт к остановке вала двигателя. Частота подачи импульсов в Гц указывается функцией funcSetTimer2().

В данном скетче мы ждём завершение вращения вала проверяя значение step в цикле while, вместо этого можно выполнять другие действия, например, опрашивать концевики, датчики, измерять пройденное расстояние и т.д.

Код работает на Arduino UNO, Pro Mini, Nano, Mega.

Ссылки

  • Шаговые двигатели.
  • Драйвер шагового двигателя, TB6600 (4.0А).
  • Драйвер шагового двигателя DM556 (5.6A).
  • Драйвер шагового двигателя DM860H (7.2A).
  • Wiki — Шаговые двигатели.

Часто задаваемые вопросы по шаговым двигателям (FAQ)

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

Вопрос: Какие достоинства у шаговых двигателей?

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

Вопрос: Какие бывают шаговые двигатели?

Ответ: Шаговых двигателей существует множество разновидностей. В настоящее время 95% всех шаговых двигателей — гибридные. В зависимости от конфигурации обмоток двигатели делятся: а)Биполярный — имеет четыре выхода, содержит в себе две обмотки. б)Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины. в)Четырехобмоточный — имеет четыре независимые обмотки. Можно представлять его как униполярный, обмотки которого разъединены, а если соединить соседние отводы — получим биполярный двигатель.

В зависимости от типа электронного коммутатора управление шаговым двигателем может быть: однополярным или разнополярным; симметричным или несимметричным; ·потенциальным или импульсным. При однополярном управлении напряжение каждой фазе изменяется от 0 до +U, а при разнополярном – от -U до +U. Управление называется симметричным, если в каждом такте коммутации задействуется одинаковое число обмоток, и несимметричным – если разное.

Вопрос: Корпус у меня не разборный, а хочется посмотреть что внутри!

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

Вопрос: На какой минимальный угол может повернуться шаговый двигатель?

Ответ: Большинство моделей имеет 200 шагов на оборот, т.е. 1.8 градуса на шаг. Также производятся и можно заказать у нас двигатель с шагом в 0.9 градуса(400 шагов на оборот). Существует также возможность использования микрошагового режима, который позволяет делить шаг без потери точности на 8-10 микрошагов. Это означает, что для двигателя с шагом 0.9 градуса минимальным угла поворота будет примерно 0,09 град = 5.4 угловых минуты. Существуют также драйверы, которые могут делить шаг на 256 и даже 512 микрошагов. Но практическое значение таких делений невелико — во-первых, для совершения каждого микрошага требуется подать отдельный импульс STEP, соответственно, требуется очень высокая частота импульсов, во-вторых, точность перестает расти уже после деления шага на 10-16 частей. Единственным применением таких режимов остается повышение плавности хода двигателя.

Вопрос: Какие существуют программы для работы с шаговыми двигателями?

Ответ: Их существует множетсво как перемещение на определенный шаг, так для трехмерного использования. Могут управлять от одного до шести двигателей. Например MACH3, LinuxCNC, Turbocnc, NC Studio.

Вопрос: Как можно повысить точность вращения вала шагового двигателя?

Ответ: Есть режим дробления шага (микрошаг) реализуется при независимом управлении током обмоток шагового электродвигателя. Управляя соотношением токов в обмотках можно зафиксировать ротор в промежуточном положении между шагами. Таким образом можно повысить плавность вращения ротора и добиться высокой точности позиционирования. Однако, деление шага не всегда приводит к увеличению точности. Погрешность установки вала всегда равна указанному производителем значению (обычно 5% от полного шага), вне зависимости от микрошага. Кроме того, точность установки снижается, если ток в одной из обмоток близок к нулю. В результате точность увеличивает деление шага до примерно 8-10 микрошагов (деление 1/8 или 1/10). Большие значения приводят лишь к увеличению плавности хода.

Вопрос: Что означают характеристики шагового двигателя — ток, индуктивность, напряжение и т.п.?

Ответ: Все характеристики двигателя находятся в тесной взаимосвязи и определяют главную — кривую зависимости крутящего момента от скорости. Рассматривать влияение характеристик надо для двигателей одного размера. Момент удержания — пиковое значение крутящего момента двигателя — зависит от тока и индуктивности обмотки. Чем больше индуктивность, тем больший момент удержания можно развить, но тем больше требуется напряжение питания на высоких скоростях, чтобы преодолеть индуктивное сопротивление и закачать нужный ток в обмотку. Ток обмотки также определяет выбор драйвера шагового двигателя. Напряжение питания обмотки равно U = I*R, номинальному току обмотки умноженному на напряжение и показывает, какое постоянное напряжение надо подать на обмотку, чтобы получить номинальный ток и, соответственно, момент удержания. Величина напряжения используется при выборе драйвера и характеристик источника питания.

Вопрос: Какой шаговый двигатель лучше, А или Б?

Ответ: Этот вопрос неоднозначен, но все же дадим пару рекомендаций. Как правило, ориентироваться надо не на момент удержания, а на индуктивность. Лучше работают те двигатели, у которых индуктивность меньше — большинство задач требуют момента на высоких скоростях, и малая индуктивность требует меньшего напряжения питания. Нормальной индуктивностью можно считать 2-5 мГн для двигателей NEMA23 (фланец 57 мм), 4-6 мГн для двигателей NEMA34 (фланец 86 мм). Если А и Б — двигатели разного размера, смотрите кривую зависимости момента от скорости — чем она более пологая, тем лучше. См. более подробный алгоритм выбора шагового двигателя.

Вопрос: Что такое драйвер управления шаговым двигателем?

Ответ: Драйверы шаговых двигателей используются для управления биполярными и униполярными шаговыми двигателями с полным шагом, половинным и микрошагом. Они действуют как посредники между компьютером и двигателем и должны подбираться по напряжению и уровню мощности, типу сигнала (аналоговый и цифровой). Тип двигателя является самым важным фактором при выборе драйвера. В униполярном или биполярном двигателе ток проходит только в одном направлении по обмотке. Биполярные шаговые двигатели имеют две обмотки через которые ток проходит поочередно. Шаговые двигатели с полным шагом приводятся в движение благодаря изменениям магнитного поля относительно ротора. Полушаговые двигатели в свою очередь действуют также, как двигатели с полным шагом однако угловое перемещение ротора составляет половину шага полношагового двигателя. На каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две. В результате угловое перемещение ротора составляет половину угла. Микрошаговые или минишаговые двигатели отличаются дискретным числом угловых перемещений угловых положений между каждым полным шагом. В драйверах минишаговых и микрошаговых двигателей используются электронные методы улучшения позиционного решения системы управления. Драйверы шаговых двигателей отличаются по электрическим характеристикам, параметрам управления, размерам и техническим характеристикам. Электрические характеристики включают в себя максимальное напряжение на входе, номинальную мощность, силу тока на выходе, максимальная сила тока на выходе, питание переменным и постоянным током. Драйверы для шаговых двигателей могут быть однофазными или трех фазными с частотой в 50, 60, или 400 Гц. Параметры управления включают в себя особенности установки и управления. В некоторых драйверах используются ручные средства управления типа кнопок, DIP-переключателей или потенциометров. В других используются джойстики, цифровые пульты управления, компьютерные интерфейсы, или слоты для карт PCMCIA (Международная ассоциация производителей карт памяти для персональных компьютеров). Программы контроля могут быть сохранены на передвижных, энергонезависимых носителях данных. Переносные блоки управления разработаны для управления с удаленных точек. Также доступно беспроводное и WEB управления. Форма драйверов позволяет сборку модуля в нескольких конфигурациях. Большинство устройств могут монтироваться на шасси, контактные DIN рельсы, панели, стойки, стены или печатные платы (PCB). Также возможна установка автономных устройств и интегральных микросхем, которые монтируются на печатные платы. Особенности драйверов: подавление резонанса; вспомогательные входы/выходы (I/O); мягкий старт; автонастройка, самодиагностика и проверка состояния; а так же сигнализация в таких случаях как перенапряжение. В драйверах используют много различных типов шин и коммуникационных систем. Шинные типы: (ATA), (PCI), (IDE), (ISA), (GPIB), (USB) и (VMEbus). Коммуникационные стандарты: ARCNET, AS-i, Beckhoff I/O, CANbus, CANopen, DeviceNet, Ethernet, (SCSI) и (SDS). Также доступно большое количество последовательных и параллельных интерфейсов. Соответствующая статья поможет подобрать драйвер биполярного двигателя для станка с ЧПУ.

Вопрос: Как узнать, подходит ли двигатель А к драйверу Б

Ответ: Чтобы это узнать, сделайте следующее: 1) проверьте, может ли драйвер выдавать ток фазы, равный(или примерно равный)току, указанному производителем двигателя. Если ток драйвера заметно меньше тока фазы двигателя — драйвер не подходит. 2) Вычислите максимальное напряжение питания двигателя по формуле Umax = 32 * sqrt (L), где L — индуктивность обмоток двигателя в миллигенри(указывается производителем). Желательно, чтобы максимально допустимое напряжение питания драйвера было примерно равно этому значению, или было немного больше. Если это условие не выполняется, то скорее всего двигатель вращаться будет, но больших скоростей достичь не удастся. Пример:подходит ли драйвер PLD545-G3 для двигателя PL86H151? Ток обмотки двигателя — 4.2 А, ток, выдаваемый драйвером — до 5А, первое условия выполнено. Индуктивность двигателя — 12 мГн, по формуле получаем Umax = 32 * sqrt(12) = 110 Вольт. Максимальное напряжение питания драйвера — 45 Вольт. Это означает, что двигатель будет отдавать момент только на низких оборотах, а для получения качественного движения необходимо использовать или драйвер с напряжением питания до 80 Вольт(например, PLD86 или PLD880), или двигатель с меньшей индуктивностью.

Вопрос: У меня перегревается двигатель, что делать?

Ответ: Для начала надо определить, действительно ли двигатель перегревается. Многие воспринимают рабочую температуру двигателя как перегрев, потому что её «не терпит рука», тогда как нагрев в 80 градусов — нормальное явления для шагового двигателя. Поэтому необходимо замерить реальную температуру. Если она меньше 80 градусов — беспокоиться не стоит. Если больше — первое, что необходимо проверить, это выставленный рабочий ток на драйвере. Он должен соответствовать номинальному току двигателя. Также можно использовать функцию снижения тока обмоток в режиме удержания. К снижению нагрева приводит также снижение питающего напряжения, однако, и момент тоже снизится. Если нет возможности жертвовать динамикой двигателя, остается единственный способ — установить на корпус ШД радиатор и/или вентилятор.

Вопрос: Шаговый двигатель постоянно пропускает шаги. Что делать?

Ответ: Пропуск шагов — самая неприятная проблема у шаговых приводов. Причин может быть множество. В порядке убывания распространенности:

  • Некачественный блок управления двигателем. Не стоит недооценивать сложность управления шаговым двигателем. Разница в работе драйвера Leadshine и кустарной поделки — очень велика. Особенно это заметно при работе в области резонанса.
  • Неверные настройки драйвера. Неверно выбранное напряжение питания, ток — могут приводить к пропуску шагов. Проверьте все настройки еще раз.
  • Двигатель перегружен. Нагрузка на двигатель слишком велика. Снизьте скорость или поставьте двигатель побольше.
  • Механическая часть(направляющие, передачи) подклинивает
  • Бракованный двигатель. Прозвоните обмотки, проверьте их сопротивление(должно совпадать с паспортным). Проверьте вращение вала рукой — при разомкнутых обмотках вал отключенного двигателя должен вращаться легко и беззвучно, при замкнутых накоротко вал крутиться не должен.
  • Дребезг на контактах управляющих сигналов STEP/DIR
  • Проблемы с генерацией сигналов STEP/DIR. Это целое отдельное семейство проблем, которое достойно отдельного обсуждения.
  • Иногда за пропуск шагов принимают проскальзывание шестерни на валу или муфты, соединяющей вал двигателя с винтом передачи

Подключение шаговых двигателей

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

Почему двигатель на осях X, Y или Z издает странные звуки?

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

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

Вы установили новый двигатель, поменяли провод или установили новую плату управления и теперь всё не работает или работает не правильно?

Итак, вы установили установили/поменяли новый шаговый двигатель NEMA или поставили новую плату управления 3D принтера. Вероятнее всего сигналы подаваемые от платы управления к двигателю теперь другие, т.е. шаговый двигатель не получает правильный или полный сигнал. Из-за этого шаговый двигатель «сходит с ума» — гремит, шумит или дергается.

Почему же не работает?

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

Кабели для шаговых двигателей

Кабели для шаговых двигателей

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

Разъем двигателя в плате BTT SKR mini E3

Разъем двигателя в плате BTT SKR mini E3

Разъем двигателя в плате BTT Octopus

Разъем двигателя в плате BTT Octopus

Для некоторых плат в свою очередь есть исключения. Например, это касается плат выпускающихся для замены оригинальных 1 в 1.Для самого популярного 3D принтера Ender-3 насколько производителей выпускают платы взамен оригинально устанавливаемой на этот 3D принтер, например, BTT SKR Mini E3 V2 — это специализированная материнская плата для замены платы от Creality. И следовательно проводка в BTT SKR Mini E3 полностью совпадает с проводкой оригинальной платы управления.

Как найти правильное подключение?

Есть несколько быстрых и простых способов определить катушки шагового двигателя.

1. «Прозвонка» с помощью мультиметра.

Первое , вы можете использовать мультиметр для проверки целостности цепи. Переведите мультиметр в режим «прозвонки» цепи, который обычно имеет значок диода или зуммера.

Режим прозвонки на мультиметре

Режим прозвонки на мультиметре

Прозвонка шагового двигателя

Прозвонка шагового двигателя

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

2. Поиск светодиодом

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

Поиск обмотки шагового двигателя с помощью светодиода

Поиск обмотки шагового двигателя с помощью светодиода

Обмотка шагового двигателя найденная с помощью светодиода

Обмотка шагового двигателя найденная с помощью светодиода

3. Поиск замыканием

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

Поиск обмотки шагового двигателя скруткой

Поиск обмотки шагового двигателя скруткой

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

Подключение шаговый двигателей к плате управления?

Распиновка контактов шагового двигателя на BTT SKR E3

Распиновка контактов шагового двигателя на BTT SKR E3

Большинство производителей плат управления для 3D-принтеров указывают распиновку контактов в технических характеристиках самих плат или в руководствах. Проверьте документацию своей платы управления на онлайн ресурсах, например GitHub. У таких производителей как BigtTeeTech, MKS, FLYmaker (Mellow Fly) обязательно есть ресурсы с подробным описанием распиновки. Как только вы найдете распиновку, вы сопоставьте найденные контакты двигателя с контактами 1А и 1B на плате управления. Затем подключите вторую обмотку к контактам 2A и 2B.

Подключили двигатель, а он движется не в ту сторону

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

Смена вращения вала шагового двигателя

Смена вращения вала шагового двигателя. Было.

Смена вращения вала шагового двигателя. Стало.

Смена вращения вала шагового двигателя. Стало.

Ту же операцию можно проделать и с парой средних проводов. Эту операцию необходимо проделать только на одном разъеме провода.

Как вытащить провод из кабеля шагового двигателя?

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

Замена проводов в шаговом двигателе

Замена проводов в шаговом двигателе

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

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