Драйвер для nema 23 своими руками

Nema Stepper Motor 23 с Tb6600 Драйвер с Arduino Должен: 6 шагов | 2021

Table of Contents:

Сегодня мы снова поговорим о шаговом двигателе. Мы будем использовать Nema 23, который будет управляться драйвером TB6600 и Arduino Due. С помощью этого трио можно собирать мощные машины и при этом сохранять затраты на низком уровне.

Этот Nema Step Engine имеет несколько версий. Например, 17 и 34 стоят дороже, а 23, которые мы используем сегодня, относительно недороги. Но у него достаточно сил. Сама Nema 23 имеет несколько версий, которые достигают 30 кгс.см. Наш пример достигает 15 кгс.см.

Итак, давайте возьмем Nema 23 с приводом TB6600, который достигает своего пика около 5А, что зависит от его версии. Мы скоро заставим наш двигатель работать с Arduino Due.

Я вижу, что мало кто говорит об Arduino Due, но мне это очень нравится, потому что он имеет микроконтроллер с ядром ARM Cortex-M3 в качестве платы. Этот процессор намного мощнее, чем Arduino Uno. Например, Cortex-M3 дает дизайнеру возможность делать более сложные и сложные вещи.

Поэтому наша сборка сегодня состоит из Arduino Due, подключенного к драйверу TB6600, играющему на шаговый двигатель Nema 23 весом 15 кгс.см. Если вы поместите это на кончик шпинделя, этот двигатель может толкать вперед от 100 до 200 кг. В видео мы видим, как Step Engine вращается из-за уже запущенной программы. Он находится рядом с Arduino Due, который соединен четырьмя проводами, один из которых — ссылочный, а остальные — сигнальные. У нас есть драйвер и блок питания 24 В на 10 А. Затем я установил пошаговый модуль для регулировки напряжения на драйвере. Затем дисплей показывает напряжение и ток. Эта сборка — первая идея для проекта, который я хочу создать: лаборатория Step Motor.

Одна особенность этого драйвера TB6600 состоит в том, что он имеет минимальное рабочее напряжение, которое было 9 вольт в случае того, который я использовал. Максимум, который я положил с этим шагом вниз, составляет 19 вольт, потому что этот источник составляет 24 вольт, и он теряет около 5 вольт на этой стадии постоянного напряжения.

В этом случае двигатель работает на 1/32 микропрохода. Просто чтобы у вас была идея, 3D-принтер работает на 1/16 микропроходов. Так что наша нема здесь работает очень аккуратно и с большой силой. Таким образом, Step Down контролирует напряжение и ток в соответствии с вашими предпочтениями. Когда двигатель останавливается, загорается светодиод для предупреждения и защиты водителя.

Расходные материалы:

Шаг 1: Arduino Due

Говоря о Arduino Due, я должен отметить, что это Cortex-M3, и он имеет архитектуру процессора ARM. Это открыто и широко используется в мобильных телефонах в целом. Мне нравится этот тип, потому что он очень оптимизирован; он тратит мало энергии и дает вам вычислительную мощность. Также важно знать, что это Arduino 3v3, отличается от Uno и Mega, последний с его щитом, очень похожим на Due.

Arduino Due имеет входное напряжение от 6 до 20 вольт, потому что у него есть регулятор напряжения. Он имеет 54 входа / выхода, которые являются входными и выходными контактами, 6 из которых обеспечивают ШИМ. Аналого-цифровой преобразователь имеет 12 бит, а выходной сигнал является аналоговым, что означает, что я могу генерировать сигнал, то есть воспроизводить MP3 или обрабатывать цифровой сигнал.

Читайте также:  Встраиваем духовой шкаф своими руками

Потребление высокое, около 800 мА. Объем флэш-памяти составляет 512 КБ, а объем оперативной памяти составляет 96 КБ. Важно помнить, что у Arduino Due нет операционной системы. Когда вы компилируете программу на C для Arduino Due, вы компилируете отдельную программу. Он берет вашу программу на C и генерирует машинный код, который запускается внутри. Он отличается от того, что вы берете программу и компилируете на Raspberry Pi, где она будет работать на Linux, который находится внутри нее.

Чтобы завершить презентацию Arduino Due, ее тактовая частота составляет 84 МГц, а также JTAG / SWD с хорошим доступом к отладке.

Одно замечание: если у вас нет Arduino Due, вы можете использовать Arduino Uno в этой настройке без каких-либо проблем. Я считаю, что единственное, что может потребоваться изменить, — это закрепление.

Шаг 2: Как использовать шаговый двигатель и драйвер

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

1. Установите 3D-роутер

Уже есть прошивка (грбл)

Контрольное оборудование уже существует

Механический дизайн уже существует

Интеграция программного обеспечения уже на месте

2. Управление движением

Там нет механического дизайна

Нет контрольного программного обеспечения

3. Промышленная мехатроника

Плата управления и прошивки обмениваются:

Arduino и программирование C

Шаг 3: Монтаж с помощью Arduino Due

Обратите внимание на подключение двигателя: AB, A +, A-, B +, B-, если оно с четырьмя проводами, и двигатель биполярный.

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

Шаг 4: Лист данных: Wotiom

Характеристики:

— Крутящий момент: 15 кгс.см

— Количество фаз: 2

— Класс изоляции: B

— Сопротивление изоляции: 100 МОм

— Ток по фазе: 3.0A

— Фазовое сопротивление: 1,3 Ом ± 10%

— Индуктивность фазы: 2,2 мГн ± 20%

Шаг 5: Конфигурация драйвера:

Конфигурирование этой модели драйвера TB6600 выполняется с помощью DIP-переключателей. В этом случае, например, моя конфигурация состоит из 32 микропроходов, 1/32, которые должны иметь клавиши S1, S2 и S3 в положениях OFF / OFF / OFF. И затем для 2,5 ампер DIP-переключатели S4, S5 и S6 должны быть в положении OFF / ON / ON, соответственно.

Шаг 6: Исходный код

Устанавливая константы, мы включаем двигатель, направление и импульсы. В интервале мы используем 350 микросекунд. Перейдем к настройке, которая в digitalWrite разрешает низкий уровень, перейдем к циклу, который в импульсе изменит состояние переменной, чередуя низкий / высокий, с полной волной в 700 микросекунд. Полное объяснение исходного кода приведено в видео «Pt 3».

Источник

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

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

1) Шаговый двигатель, возьмем — Nema23 76 мм, вместо него может быть другой, управлять будем биполяным методом, любой гибридный и биполярный шаговый двигатель будет работать с таким же управлением.

2) Блок питания, возьмем — импульсный блок питания мощностью 360W с выходным напряжением 24V / 15A, может использоваться любой другой блок питания, если будет достаточно мощности и напряжения для работы двигателя. Более мощному двигателю будет нужно больше напряжения. Предел напряжения нашего драйвера ограничивается максимальным напряжением, которое выдерживают транзисторы, это 100V, у нас блок питания на 24V. В случае большего напряжения транзисторы в схеме необходимо заменить на более мощные, также при увеличении напряжения, транзисторы могут начать греться, если такое случилось, необходимо дополнительно обдувать их куллером (у меня все в порядке и куллер не требуется). Для подключения блока питания к сети 220V также нужен шнур и нужно определить где в вашей розетке ноль, а где фаза. Контакт блока N подключается к нулю, а L к фазе, также можно подключить заземление (но не обязательно). Определение возможно при помощи индикаторной отвертки, у меня определилось, что слева ноль, а справа фаза.

Читайте также:  Бочонок для отжима масла своими руками чертежи

Как крутить шаговый двигатель

Шаговый двигатель работает от подачи комбинаций напряжения в разных направлениях на его обмотки, у этого шагового двигателя 2 обмотки — 4 провода, первая обмотка — черный (A) и зеленый (A*) провод, вторая обмотка — красный (B) и синий (B*). За одну смену комбинаций делается 1 шаг — 1,8 градусов. Если комбинации быстро менять, то двигатель будет быстро и точно позиционироваться — крутиться. Смена комбинаций возможна в двух направлениях, соответственно двигатель будет крутиться вперед или назад.

Чтобы крутить шаговый двигатель, надо:

1) Собрать устройство — USB контроллер шагового двигателя на микроконтроллере AVR и драйвер шагового двигателя, 2 в 1. Перед тем как собирать это сложное устройство, рекомендую сначало отдельно собрать и проверить работу только USB контроллера, его я уже собрал вот тут — контроллер USB. Если USB связь работает нормально, то можно приступать к изготовлению драйвера.

2) Написать программу для компьютера, которая будет посылать USB команды устройству.

3) Написать программу для микроконтроллера AVR, которая будет принимать USB команды и крутить двигатель.

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

Взятый нами двигатель является гибридным и поддерживает несколько вариантов управления. Управлять двигателем будем биполярным методом и соответственно собираем мы драйвер биполярного шагового двигателя с USB контроллером. Сначало покажу готовый результат, а потом подробно рассмотрим его. Вот фото собранного драйвера шагового двигателя с USB управлением, который я собрал:

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

На картинке сверху — биполярный (гибридный) шаговый двигатель NEMA 23 с потреблением — 3А тока на обмотку. Под ним — импульсный блок питания 360 Вт, 24 В, 15 А. Мощности блока хватает на 15 / 3 = 5 одновременно запитанных обмоток, у одного двигателя 2 обмотки, т.е хватит на 2 одновременно работающих двигателя (4 обмотки). Я не вижу необходимости включать одновременно больше одного двигателя, в случае если необходимо двигаться по кривой траектории, то нужно чередовать короткие включения то одного, то другого двигателя. Так что имеющейся мощности с запасом хватает. Двигатель и блок питания подключены к устройству, которое также подключено через USB к компьютеру. Все соединено по схеме.

Схема драйвера биполярного шагового двигателя и USB контроллера (схема длинная и нуждается в прокрутке для просмотра):

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

Электронные компоненты, которые надо купить для сборки устройства по схеме:

Дополнительно нужно (нет в наличии):

1) Модуль питания DC-DC SMAU01L-12 (вместо него пойдет любой конвертер DC-DC с 5V до 10V-15V) — 1 шт., возможно можно без него, от 5V питать (не проверено)

Главным компонентом схемы является программируемый микроконтроллер AVR — ATmega16A, если вы не знаете как с ними работать (записывать программу), сначало ознакомьтесь с основами такой работы, которые подробно описаны в первой статье
управление машиной. Для устройства можно использовать и другой микроконтроллер AVR, я выбрал ATmega16A, т.к. в нем с запасом имеется много памяти и контактов для подключения нескольких двигателей и большого количества рабочих инструментов.

Слева от ATmega16A находятся компоненты для организации связи по протоколу USB — к выводам XTAL подключен внешний кварцевый резонатор с USB-совместимой частотой 12 МГц. Для сглаживания сигнала у него есть 2 конденсатора по 20 пФ, все это соединяется с минусом питания. К контактам, через которые идет обмен сообщениями с USB, подключены 2 резистора по 68 Ом, как того требует протокол USB. Резистор на 1.5 кОм, подключенный к D- линии задает низкоскоростной режим работы USB устройства. Диоды Зенера 3V6 понижают напряжение на линиях, через которые идет обмен данными USB с 5 до 3.6V.

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

Управление двигателем подключается к контактам PB0, PB1, PB2, PB3, на остальные свободные P-контакты можно в будующем подключить еще двигатели и рабочие инструменты, но пока они пустуют. Микроконтроллер ATmega16 отдает команды и обрабатывает USB сигналы после того как в него записана программа (ниже она будет написана). После него идет конструкция из микросхем IR2102 и транзисторов IRF540N (2 так называемых H-моста) — она приводит шаговый двигатель в движение.

Драйвер IR2101 нужен для преодаления большой емкости затвора транзистора IRF540N, что позволяет открывать и закрыть транзистор с большой скоростью (например принимать сигнал ШИМ, которым может регулироваться скорость двигателя при необходимости — об этом сигнале дальше напишу), что нам и нужно. К сожалению для питания этого драйвера необходимо 10-15V, у нас есть только 5V от USB. Поэтому пришлось поставить компонент DC-DC SMAU01L-12, который преобразует 5V в 12V, вместо него можно использовать любой другой способ получения такого напряжения, например, при помощи трансформатора или любым другим путем. К VCC подключается +12V, к COM -12V. Один драйвер работает с 2мя транзисторами — верхним (H) и нижним (L). Контакты HIN и LIN — входной сигнал с микроконтроллера для верхнего и нижнего транзистора, по этому сигналу транзисторы открываются и закрываются. HO и LO — это выходные сигналы, транзисторы подключаются гейтами (G) к этим контактам. Они подключаются не просто так — справа на линиях 2 резистора 10/100 Ом и диод, они нужны для нормальной работы транзисторов — чтобы они замедлялись при открытии и не замедлялись при закрытии, эти транзисторы слишком быстро открываются и это может вызвать проблемы. Диод и конденсаторы 3300 пФ — нужны для работы драйвера IR2101 согласно документации на эту микросхему.

Каждая обмотка (фаза) двигателя (у двигателя 2 обмотки A и B — 4 контакта) подключается к H-мосту из транзисторов IRF540N. H-мост — это специальная схема соединения транзисторов, которая позволяет подавать через них напряжение высокого уровня (24V) в разных направлениях. Один мост изготавливается из 4-х транзисторов. В итоге здесь вы видите 2 H-моста, которые позволяют гонять разнонаправленное напряжение высокого уровня по 2м обмоткам двигателя и тем самым крутить его.

Обратите внимание, что в мосту — HIN верхнего драйвера соединяется с LIN нижнего драйвера, а LIN верхнего с HIN нижнего. Это сделано для одновременной подачи сигналов. Если вы включили HIN сверху, то обязаны включить LIN с низу, иначе произойдет короткое замыкание. Такое подключение позволяет автоматом включать пару. Впрочем короткое замыкание все же возможно, если вы откроете и HIN и LIN на одном мосте, поэтому не допускайте этого. На контактах PB0 — PB3 допустимы только значения 0000, 1010, 0110, 0101, 1001. Их перебор крутит двигатель. Подача других значений скорей всего приведет к короткому замыканию моста.

Мощные резисторы с низким номиналом 0.1 Ом и высокой мощностью (3-5 Вт) нужны для защиты от высокого тока — это шунты. Если что их можно снять и заменить простым соединением с минусом питания, если например не будет хватать мощности. Для слабых резисторов мощность берется от тока USB: 0.05 А * 5 V = 0.25 Вт (ток USB задается программно, по умолчанию в нашей программе стоит 0.05). Черная полоска на диодах соответствует вертикальной линии на схеме.

Шаговый двигатель и блок питания подключаются к H-мостам, как показано на схеме. Минусы питания 24V, 12V и 5V соединяются. Между плюсом и минусом 24V линии ставится сглаживающий пленочный конденсатор.

Отдельное крупное фото драйвера шагового двигателя:

Источник

Оцените статью