- Тестер-драйвер шагового двигателя
- Наностенд для проверки шаговых моторов и драйверов.
- Подпишитесь на автора
- Подпишитесь на автора
- Еще больше интересных постов
- Попробовал, наконец, покраску.
- Подпишитесь на автора
- Осторожнее со статикой
- Подпишитесь на автора
- Наблюда-Ski 04.6: Наращиваем в длину, или Фьюз и не только
- Подпишитесь на автора
- Комментарии
- Драйвер шагового двигателя. Тестируем микросхему L9110
- Откуда «ножки» растут
- Теория и практика
- А что на деле?
- Вывод
- CNC-DESIGN
- Настройка тока драйвера шагового двигателя
Тестер-драйвер шагового двигателя
Когда я начал собирать свой первый самосборный 3D принтер (вариация на тему HyberCube Evolution, но об этом позже), то уже на одном из первых этапов возникла необходимость покрутить шаговые двигатели оси Z, а плата управления еще не пришла. Да и честно сказать, слишком много работы для такой простой задачи. Ведь надо сконфигурировать и залить прошивку, подключить питание, дисплей, двайверы, все это временно подвесить на соплях, сильно повышая шансы на случайное замыкание и досрочный выход из строя самой дорогой запчасти. Да и ждать не охота, вся работа встала из-за того, что мне нечем крутануть туда-сюда один или два движка для подстройки расположения механических компонентов. Руками? Не так быстро, а главное — не точно. Ну как вы крутанете одновременно два мотора, скажем на 100 оборотов (каждый оборот — 200 шагов), не ошибившись ни на шаг, т. к. это вызовет перекос? И вообще, хочется «погонять» ось приближенно к «боевым условиям», чтобы оно само гудело и ездило. Ровно и быстро. В общем, пришлось что-то выдумывать.
Так как у меня уже была горсть дешевейших и надежнейших драйверов А4988, которые суют во все китайские 3D принтеры по-умолчанию, задачу я решил «в лоб». Что там нужно, чтобы этот драйвер крутил вот такой биполярный шаговик (у меня стандартные NEMA 17 48мм)? Всего лишь указать драйверу направление (вывод DIR) логическим уровнем и подать импульсы на вывод STEP. Ну и подключить шаговик и питание, естественно. В итоге образовалась вот такая простая схема, оказавшаяся удобной и практичной. Все есть: «крутилка» скорости, тумблер «туда-сюда», тумблер «крутить/стоять». Джамперами JP1…JP3 можно выставить микрошаг в диапазоне от полного шага до 1/16, хотя на практике оказалось достаточно полношагового режима, но лишняя возможность может пригодиться. Итак, схема.
На популярном таймере 555 собран регулируемый генератор импульсов частотой примерно от 80 до 900 Герц (в режиме полного шага мотор крутится в диапазоне от «едва ползет» до «мчится со свистом»). Импульсы через тумблер SW1 попадают на вход STEP драйвера А4988, это режим «крутить». Если тумблер разомкнуть, драйвер перейдет в режим торможения (удерживания) мотора. Чтобы «отпустить» моторы, надо снять питание с драйвера. Тумблер SW2 переключает направление вращения шагового мотора. Резисторы R6 и R7 «подтягивают» соответствующие входы к «земле», на плате этих резисторов почему-то нет, хотя все прочие входы имеют «подтягивающие» к «земле» внутрисхемные резисторы. Вообще номиналы резисторов могут варьироваться в достаточно широких пределах, плюс-минус процентов 30 точно, схема сохраняет работоспособность. Точно так же не критична емкость конденсаторов, в принципе от 10нФ до 1мкФ пойдет любая керамика. Исключение — конденсатор С1, который желательно использовать пленочный. Значение емкости определяет диапазон частот, вместе с переменным резистором Р1. Номиналы С1 и Р1 можно изменять в широких пределах, сохраняя их произведение, как в исходной схеме. Скажем, можно взять емкость С1 0,47мкФ, но переменник Р1 тогда применить 20кОм. Диапазон частот, конечно, несколько сузится, но работать все будет нормально. Стабилизатор 78L05 можно заменить любым подходящим на напряжение 3.3..5В. Входное напряжение не желательно применять менее 12В и более 24В, драйвер выдерживает ток обмоток мотора 1А длительно, превышать это значение не стоит. Кто не в курсе — на драйвере А4988, как на многих других, установлен миниатюрный подстроечный резистор, которым выставляется максимальный ток шагового двигателя. Выбор максимального тока зависит от типа вашего шагового двигателя, сама же процедура многократно описана в сети, повторяться не вижу смысла. Кто не знает — гуглим «A4988 max current».
Таблица для выставления дробления шагов драйвера А4988 джамперами JP1..JP3
Схему собрал на второпях разведенной двусторонней платке размером 75х35мм, где верхний слой фольги играет роль общего провода (GND). Такой тип плат упрощает разводку, да и одностороннего стеклотекстолита под рукой не было. Все «земляные» выводы компонентов паяются прямо на фольгу, без отверстий, на фото видно. Панелька драйвера сделана из двух половинок распиленной панельки под выводную микросхему DIP16, также видно на фото (кликабельно). Плату в формате LAY прилагаю ниже, как и пару фоток, снятых на тапок. Номиналы деталей появляются при наведении на них курсора в программе Sprint Layout.
Наностенд для проверки шаговых моторов и драйверов.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Продолжаю нанообзоры. Сколько всего интересного появилось то на Али.
Стендик для проверки шаговиков и драйверов. Маст хэв для настоящих репрапперов. Хотя за его цену они принтер соберут. 😀
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Еще больше интересных постов
Попробовал, наконец, покраску.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Осторожнее со статикой
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Наблюда-Ski 04.6: Наращиваем в длину, или Фьюз и не только
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Недавно было несколько тем по сращиванию прутков,
Комментарии
У меня стендик собран из генератора меандра http://imrad.com.ua/ru/gm800k-generator-meandra и ТВ6600.
Единственное чем не могу разжиться — прибором для измерения крутящего момента. Дороговатая штука.
Я видимо такой прикуплю.
Мне было важно знать какая частота подается на драйвер.
https://www.aliexpress.com/item/1PCS-2-Channel-PWM-Generator-Adjustable-Duty-Cycle-Pulse-Frequency-Module/32809036281.html?ws_ab_test=searchweb0_0,searchweb201602_2_10152_10065_10151_10068_5430020_10307_10137_10060_10155_10154_5370011_10056_10055_10054_10059_100031_10099_5400020_5410011_10103_10102_10052_10053_10142_10107_10050_10051_10170_5380020_5390020_10084_10083_10080_10082_10081_10110_10111_10112_10113_10114_10312_10313_10314_10315_10078_10079_10073_5420011,searchweb201603_16,ppcSwitch_4&btsid=b22104b7-7f7f-4aad-b4db-440d292e4999&algo_expid=1936e278-3efe-4ee7-ad92-58e5a8588650-1&algo_pvid=1936e278-3efe-4ee7-ad92-58e5a8588650
хоть такой, хоть на ардуинке и вывести на экран частоту.
Но первая мысль была сделать или купить хоть на NE555 генератор. А потом попался на глаза генератор меандра.
Драйвер шагового двигателя. Тестируем микросхему L9110
Откуда «ножки» растут
В настоящее время стали доступны и приобрели популярность различные станки с программным управлением. Это лазерные и фрезерные резчики и гравёры. А так же 3D принтеры. Все эти станки имеют один общий узел — шаговый двигатель.
И этому двигателю нужен драйвер.
Принцип работы двигателя не является предметом этой статьи. Мы рассмотрим только драйвер. Всё, что нам нужно знать в данном контексте — это какие управляющие сигналы нам нужно формировать для управления шаговым двигателем. Оказывается, это самые обычные прямоугольные импульсы.
Существует некоторое количество решений драйверов от различных компаний. В нашей статье мы рассмотрим самое доступное решение драйвера L9110 и его аналог HG7881 Это решение часто используется в Arduino
Теория и практика
Я решил применить микросхему L9110 в своём проекте.
Довольно легко нагуглил datasheet. Прочитал. Всё предельно понятно. Характеристики, распиновка, таблица истинности… По всем параметрам драйвер, вроде бы подходит. Напряжение коммутации — 12 вольт, выходной ток 800 ма. — всего хватает.
А что на деле?
Не откладывая в «долгий ящик» я сделал плату, написал и запустил тестовую программу…
Первое, на что я обратил внимание в своём устройстве — то, что микросхема драйвера сильно греется. Внимание! НА ХОЛОСТОМ ХОДУ. Без нагрузки. Это что за чудеса схемотехники?
Может у меня микросхема бракованная?
Пришла в голову идея рассмотреть сей девайс поподробнее. И не один, а кучу.
Сказано — сделано.
Хорошо, что у меня была припасена панелька SO-8 и плата для моделирования.
Ну, и контроллер на базе STM32.
Собран стенд и произведены измерения.
Да, кстати, кроме непосредственно, силового узла в микросхеме заложена логика исключающее ИЛИ. В даташите это описано.
Поскольку я изучаю эффект нагрева микросхемы, лучше не ограничиваться логическими единицами и нулями, а снять реальные напряжения.
В результате измерений получилась табличка:
Рассмотрим строчки 2 и 3. Что мы здесь видим?
- Падение напряжения на выходных транзисторах, при наличии нагрузки, около полутора вольт, что при токе 0,33 ампера даёт 0,5 ватт на канал.
- На холостом ходу микросхема потребляет 0,05 А, что при напряжении 12 В даёт 0,6 ватт на канал.
Другими словами, независимо от нагрузки она потребляет около 0,5 Вт на канал. Теперь понятно, почему я об неё обжигал пальцы.
Сильный нагрев — это, конечно недостаток. Но может свою функцию микросхема выполняет хорошо? Тут пригодился недавно подаренный себе 4-х лучевой осциллограф приставка. Не ожидал, что мне так скоро потребуются все 4 луча. Для тестирования написал простенькую программку на stm32, который давно использую в различных проектах. Программа, просто, генерирует 2 прямоугольных сигналы с трёхкратной разницей частот.
Поскольку один раз увидеть лучше чем много раз прочитать — прикладываю развёртку сигналов управления.
Ничего особо сложного. Просто прямоугольные импульсы сдвинутые с разницей частоты в 3 раза.
Верхняя часть экрана — входные сигналы — нижняя — выходные.
Сразу бросается в глаза, что при различающихся значениях сигналов на входах, значения на выходах вполне чёткие Устанавливаются без задержек и с резкими фронтами.
Если же сигналы на входах совпадают — то фронт пологий. похож на разряд конденсатора.
Просмотрев документацию я не увидел ничего такого, что предвещало бы такое поведение.
Может я задал слишком высокую частоту входных сигналов? В даташите лимит не указан.
Уже зная, что у этого драйвера есть почти стопроцентный аналог HG7881 я обратился к его документации.
Она пролила больше света на эту загадочную ситуацию. Оказывается, логика работы драйвера немного шире. Две единицы на входе — это торможение ( то есть на выходе оба сигнала должно быть низкого уровня.) А два нуля на входе — это «висящие» контакты. Разрыв.
Значит два нуля на входе должны «подвешивать» выходы. Тогда, поведение разряжающегося конденсатора вполне предсказуемо. Однако две единицы на входах — должны быть надёжным нулём на выходе. А фактически это не так.
Я мог бы списать этот дефект на «китайского производителя». Однако, я тестировал микросхему по честному выпаянную из ардуиновской платы. При чём — не одну микросхему. Из нескольких плат. То есть, вероятность брака сильно снижена.
Вывод
Область применения микросхем L9110 уже, чем задекларирована, да и КПД низковат.
Рассеяние 0,5-0,6 ватта на одном ключе — это многовато. Не случайно это решение самое дешёвое.(10 центов за микросхему. на алиэкспрессе).
В следующих статьях будут рассмотрены альтернативные драйвера шаговых двигателей.
CNC-DESIGN
В корзине пусто!
Настройка тока драйвера шагового двигателя
Драйвер шагового двигателя является достаточно важным компонентом любого ЧПУ устройства, управляя движением каждой из осей. Перед использованием необходимо убедиться, что они правильно установлены и настроены, чтобы не допустить перегорание шаговых моторов или платы контроллера Arduino Sheild.
Настройку тока драйвера необходимо сделать для решения нескольких достаточно важных моментов:
— уменьшить вероятность пропуска шагов при низком токе;
— снижение нагрева драйвера и шагового двигателя при высоком напряжении;
— снизить шум при высоких значениях тока;
Для настройки тока нам понадобится:
— контроллеры с установленными драйверами;
— драйвера А4988 или DRV8825 ;
— мультиметр;
— отвертка.
Для начала необходимо собрать и подключить всю систему в полношаговом режиме. После сборки «бутерброда» из контроллера Ардуино, ЧПУ шилда и драйверов шаговых двигателей необходимо подключить шаговые двигатели. В описании к выбранным моторам надо узнать значение максимального тока Imax (для примера у шагового двигателя 17HS8401 это значение 1,8А)
Затем надо рассчитать значение опорного напряжения Vref на переменном резисторе для каждого типа драйверов, у нас их два: А4988 или DRV8825.
Формула опорного напряжения Vref для драйверов отличается.
Расчет для драйвера типа А4988.
Для A4988 формула расчета зависит от номинала резисторов, которые распаяны на плате драйвера. Если присмотреться, то можно увидеть надписи R050 или R100.
На приведенной фотографии они обведены черными кружками, их значение R100.
В общем виде формула выглядит как:
Vref = Imax * 8 * (RS)
Imax — максимальный ток на обмотках двигателя, из описания;
RS — сопротивление резистора, если резистор подписан R100, то RS=0,100, при R050 значение RS=0,05.
Для двигателя из нашего примера 17HS8401
Vref = 1,8 * 8 * 0,100 = 1,44 В.
Из-за того, что рабочий ток двигателя обычно рекомендуется ограничивать в 70% от максимального тока, для уменьшения перегрева двигателя, полученное значение необходимо умножить на 0,7.
Vref= 1,44*0,7 = 1,01 В.
Расчет для драйвера типа DRV8825.
Формула опорного напряжение для данного типа драйвера:
При рекомендованной работе на 70% от максимального тока двигателя, подставив значения для нашего примера, получим следующие значения:
Vref = 0.7*1,8 / 2 = 0.63V
Настройка тока драйвера на контроллере.
Для настройки необходимо подключить сборку плат к компьютеру,
Включить на мультиметре измерение постоянного напряжения напротив положения «20».
Для измерения напряжения необходимо минусовой щуп приложить к минусу на CNC Sheild, а положительный щуп замкнуть с подстроечным резистором, который по совместительству является «+» в данной схеме.
Необходимо вращать подстроечный резитор, пока мультиметр не покажет требуемое значение напряжения, при вращении по часовой стрелке, значения растут, против часовой стрелки — напряжение падает.
Настройку расчетных значений необходимо повторить это для всех активных драйверов в сборке.