Sw-motors.ru

Автомобильный журнал
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Arduino и шаговый двигатель Nema

Arduino и шаговый двигатель Nema

Теперь появилась задача поинтереснее. Управлять шаговым двигателем Nema 17 (даташит). Данная модель от оригинального производителя реализуется по цене около 40 долларов. Китайские копии стоят раза в полтора-два дешевле — около 20-30 долларов. Очень удачная модель, которая часто используется в 3D принтерах и CNC-проектах. Первая возникшая проблема — как подобрать драйвер для этого двигателя. Силы тока на пинах Arduino для питания не хватит.

Выбор драйвера для управления Nema 17

Google подсказал, что для оживления Nema 17 можно использовать драйвер A4988 от Poulou (даташит).

Кроме того, есть вариант использования микросхем L293D. Но A4988 считается более подходящим вариантом, так что на нем и остановились во избежание потенциальных проблем.

Подключение Nema 17 через A4988

Подключение было реализовано на основании этой темы на Arduino форуме. Рисунок приведен ниже.

Собственно, данная схема присутствует практически на каждом блоге-сайте, посвященном Arduino. Плата была запитана от 12 вольтового источника питания. Но двигатель не вращался. Проверили все соединения, еще раз проверили и еще раз.

Первая проблема

Наш 12 вольтовый адаптер не выдавал достаточной силы тока. В результате адаптер был заменен на 8 батареек АА. И двигатель начал вращаться! Что ж, тогда захотелось перескочить с макетной платы на прямое подключение. И тут возникла

Вторая проблема

Когда все было распаяно, двигатель опять перестал двигаться. Почему? Не понятно до сих пор. Пришлось вернуться к макетной плате. И вот тут возникла вторая проблема. Стоит предварительно было посидеть на форумах или внимательно почитать даташит. Нельзя подключать-отключать двигатель когда на контроллер подано питание! В результате контроллер A4988 благополучно сгорел.

Эта проблема была решена покупкой нового драйвера на eBay. Теперь, уже с учетом накопленного грустного опыта, Nema 17 был подключен к A4988и запущен, но.

Шаговый двигатель сильно вибрирует

Во время вращения ротора двигатель сильно вибрировал. О плавном движении не было и речи. Гугл вновь в помощь. Первая мысль — неправильное подключение обмоток. Ознакомление с даташитом шагового двигателя и несколько форумов убедили, что проблема не в этом. При неправильном подключении обмоток двигатель просто не будет работать. Решение проблемы крылось в скетче.

Программа для Arduino

Оказалось, что есть замечательная библиотека для шаговых двигателей, написанная ребятами из Adafruit. Используем библиотеку AcclStepper и шаговый двигатель начинает работать плавно, без чрезмерных вибраций.

Основные выводы

  1. Никогда не подключайте/отключайте двигатель, когда на контроллер подано питание.
  2. При выборе источника питания, обратите внимание не только на вольтаж, но и на мощность адаптера.
  3. Не расстраивайтесь, если контроллер A4988 вышел из строя. Просто закажите новый 😉
  4. Используйте библиотеку AcclStepper вместо голого кода Arduino. Шаговый двигатель с использованием этой библиотеки будет работать без лишних вибраций.

Скетчи для управления шаговым двигателем

Простой Arduino-код для проверки шагового двигателя

//простое подключение A4988

//пины reset и sleep соединены вместе

//подключите VDD к пину 3.3 В или 5 В на Arduino

//подключите GND к Arduino GND (GND рядом с VDD)

//подключите 1A и 1B к 1 катушке шагового двигателя

//подключите 2A и 2B к 2 катушке шагового двигателя

//подключите VMOT к источнику питания (9В источник питания + term)

//подключите GRD к источнику питания (9В источник питания — term)

int stp = 13; //подключите 13 пин к step

int dir = 12; //подключите 12 пин к dir

if (a 400) // вращение на 200 шагов в направлении 2

Второй код для Arduino для обеспечения плавного вращения двигателя. Используется библиотека AccelStepper library.

AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 — режим «external driver» (A4988)

int dir = 1; //используется для смены направления

Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)

Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)

Stepper1.move(1600*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 -> противоположное направление)

dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направлении

delay(1000); //задержка на 1 секунду

Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя

Похожие статьи

Arduino UNO как осциллограф

Контроллеры Arduino можно использовать как простейший осциллограф, для наблюдения за быстро изменяющимися электрическими сигналами.

Скачиваем программу Processing , после чего её устанавливать не нужно — она запускается с EXE-файла.

Arduino основы программирования

Здесь мы научимся писать элементарную программу способную сделать что-либо интересное для новичка. Здесь вы узнаете, как написать простейший скетч для Arduino используя стандартый IDE. Мы пока пропустим использование входов-выходов, но обратим внимание на связь через USB. Синтаксис языка Arduino точно повторяет язык C, поэтому на нем мы останавливаться не будем. Мы сконцентрируемся на конкретных аспектах Arduino языка, в котором вы можете использовать все принципы, которые присущи языку C: переменные, операторы, состояния, типы, константы и т.д.

Как работают шаговые двигатели

Использование шаговых двигателей является одним из самых простых, дешевых и легких решений для реализации систем точного позиционирования. Эти двигатели очень часто используются в различных станках ЧПУ и роботах. Сегодня я расскажу о том, как устроены шаговые двигатели и как они работают.

Подключение к ардуино датчика вращения енкодер KY-040

Енкодер вращения KY-040 — это поворотный датчик, который индицирует степень поворота оси и в каком направлении она вращается.

Это отличный прибор для контроля шаговых и серво — двигателей. Из него получится крутой орган управления менюшкой настроек контроллера. Вы также можете использовать его в качестве цифрового потенциометра.

Комплект антенн для усиления сигнала FPV для Hubsan H501S H107D

Специальный комплект для увеличения дистанции при управлении квадрокоптером Hubsan H501S H107D из магазина Алиэкспресс.

Начало работы с Arduino в Windows
Необходимое железо — Arduino и USB-кабель

В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila.

Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами А и мини-В).

Так же сейчас популярны стали платы с микро юсб — например от китайских производителей Robotdyn.Они мне больше импонируют со стороны

универсальности , но как говорят олдфаги — чем больше металла в разъеме ,тем он надежнее !

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

1. Управляем маленькими моторчиками

Управление маленьким двигателем может быть может осуществляться довольно просто. Если двигатель достаточно маленький, он может быть непосредственно соединен с выводом Arduino, и просто изменяя уровень управляющего сигнала от логической единицы до нуля будем контролировать моторчик. Этот проект раскроет вам основную логику в управлении электродвигателем; однако, это не является стандартным способом подключения двигателей к Arduino. Мы рекомендуем, вам изучить данный способ, а затем перейти на следующую ступень — заняться управлением двигателями при помощи транзисторов.

Подключим миниатюрный вибромоторчик к нашему Arduino.

Серводвигатель MG995 и Arduino ,подключение,распиновка + код

Серводвигатель MG995 и Arduino

Серводвигатель MG995 поставляется с проводом длиной 30 см и 3-мя ‘S’ контактами типа мама. Выходной вал сервопривода поворачивается приблизительно на 120 градусов (60 градусов в каждом направлении). Для управления сервами MG995 можно использовать любые контроллеры с питанием логики 5 В, в том числе и Arduino.

Читать еще:  Юпитер 5 как обратно двигатель

Сервомашинка изготавливается в пластиковом корпусе. На выходе стоит редуктор с металлическими шестернями. В комплекте поставляются пластиковые качалки различных форм-факторов.

Управление двигателем постоянного тока через реле с помощью ардуино

Подключаем мотор, источник питания и реле

Позитивный контакт мотора — switch 1 COM input на реле

Отрицательный контакт мотора — switch 2 COM input на реле

9v позитивный контакт на батарейке — switch 1 NO на реле и switch 2 NO на реле

9v отрицательный контакт на батарейке — switch 1 NC и switch 2 NC на реле

Модуль GSM GPRS SIM800 MicroSIM с антенной и ардуино

Миниатюрный модуль GSM/GPRS сотовой связи на основе компонента SIM800L , разработанного компанией SIMCom Wireless Solutions. Русскоязычная версия сайта SIMCom здесь. Стандартный интерфейс управления компонента SIM800L предоставляет доступ к сервисам сетей GSM/GPRS 850/900/1800/1900МГц для отправки звонков, СМС сообщений и обмена цифровыми данными GPRS. Поставляется с встроенной антенной, также можно подключить дополнительные антенны для улучшения качества сигнала.

Управлять модулем можно при помощи персонального компьютера через преобразователь интерфейса USB-UART или непосредственно через UART модулем микроконтроллера самостоятельной разработки или Arduino, Raspberry Pi и аналогичными.

Arduino, шаговый двигатель 28-BYJ48 и драйвер ULN2003

Шаговый двигатель — это мотор, который управляется несколькими электромагнитными катушками.

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

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

В данной статье мы рассмотрим работу униполярного шагового двигателя 28-BYJ48 с драйвером ULN2003.

Униполярные шаговые двигатели имеют пять или шесть контактов для подключения и четыре электромагнитные катушки в корпусе (если быть более точными, то две катушки, разделенные на четыре). Центральные контакты катушек соединены вместе и используются для подачи питания на двигатель. Эти шаговые моторы называются униполярными, потому-что питание всегда подается на один из этих полюсов.

Спецификация и драйвер шагового двигателя

Существуют разные модели драйверов (контроллеров) шаговых двигателей. Среди них можно выделить самые популярные в DIY разработках на базе Arduino: L293, ULN2003, A3967SLB.

Как правило, шаговый двигатель 28-BYJ48 используют в паре с драйвером ULN2003.

Спецификацию шагового двигателя 28-BYJ48 на английском языке вы можете скачать здесь. Краткие выдержки основных технических характеристик приведены ниже:

  • Напряжение питания: 5 В (постоянный ток);
  • Количество фаз: 4;
  • Количество шагов: 64;
  • Угол поврота на один шаг: 5.625 градуса
  • Частота: 100 Герц;
  • Частота холостого хода по часовой стрелке: > 600 Герц;
  • Частота холостого хода против часовой стрелки: > 1000 Герц;
  • Крутящий момент > 34.3 миллиньютон на метр;
  • Сопротивление вращению: 600-1200 грамм на сантиметр;
  • Класс элетробезопасности: A;

Внешний вид и схемы подключения ULN2003 приведены на изображениях ниже

Примечание. Если вы захотите использовать плату L293 вместо ULN2003, красный контакт подключать не надо.

Необходимые компоненты

  1. Микроконтроллер Arduino.
  2. Шаговый двигатель BYJ48 5В.
  3. Драйвер шагового двигателя ULN2003.
  4. Коннекторы.
  5. Источник питания 5v — необязательно.

Скетч для Arduino

В Arduino IDE есть встроенная библиотека для управления шаговыми двигателями. После подключения шагового двигателя, ULN2003 и Arduino, вы можете загрузить скетч из категории Examples и .

На этом этапе возникают определенные нюансы:

У этого двигателя передаточное отношение 1:64, а угол поворота 5.625, то есть у него 4096 шагов.

Шаг = Количество шагов на один поворот * передаточное отношение.

Шаги= (360/5.625)*64″Передаточное отношение» = 64 * 64 =4096. Это значение надо учесть в скетче Arduino.

А вот угол поворота для шаговых двигателей от adafruit равен 7.5 градусов, а передаточное отношение 1:16, так что количество шагов за 1 полный оборот вала равно:

Шаги за один оборот = 360 / 7.5 = 48.

Шаги = 48 * 16 = 768

То есть, это значение меняется в зависимости от двигателя, который вы используете. Поэтому проверяйте даташит для калибровки и корректной работы вашего шагового двигателя.

Модуль драйвера шагового двигателя ULN2003 подключается к Arduino контактами IN1 — IN4 к D8 — D11 соответственно.

Для подачи питания на ваш мотор, рекомендуется использовать внешний источник питания 5V с силой тока 500mA минимум. Не питайте двигатель непосредственно от контакта 5V на плате Arduino.

Проблема направления вращения в библиотеке и как ее исправить

Когда вы загрузите скетч на Arduino, шаговый двигатель будет вращаться в одном направлении с помощью функции:

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

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

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

Измененный код для Arduino

Окончательная версия скетча для шагового двигателя:

/* Скетч для шагового двигателя BYJ48

Схема подключения: IN1 >> D8 IN2 >> D9 IN3 >> D10 IN4 >> D11 VCC . 5V.

Лучше использовать внешний источник питания Gnd

Автор кода: Mohannad Rawashdeh

Детали на русском языке: /arduino-shagovii-motor-28-BYJ48-draiver-ULN2003

Англоязычный вариант: http://www.instructables.com/member/Mohannad+Rawashdeh/ 28/9/2013 */

boolean Direction = true;

unsigned long last_time;

unsigned long currentMillis ;

void stepper(int xw)<

StepperMotor::StepperMotor(int In1, int In2, int In3, int In4)<

// Записываем номера пинов в массив inputPins

// Проходим в цикле по массиву inputPins, устанавливая каждый из них в режим Output

for (int inputCount = 0; inputCount inputPins[inputCount], OUTPUT);

void StepperMotor::setStepDuration(int duration)<

void StepperMotor::step(int noOfSteps)<

* в данном 2D массиве хранится последовательность, которая

* используется для поворота. В строках хранится шаг,

* а в столбцах — текущий input пин

int factor = abs(noOfSteps) / noOfSteps; // Если noOfSteps со знаком +, factor = 1. Если noOfSteps со знаком -, factor = -1

noOfSteps = abs(noOfSteps); // Если noOfSteps был отрицательным, делаем его позитивным для дальнейших операций

* В цикле ниже обрабатываем массив sequence

* указанное количество раз

for(int sequenceNum = 0; sequenceNum inputPins[inputCount], sequence[(int)(3.5-(3.5*factor)+(factor*position))][inputCount]);

Давайте посмотрим на конструктор на строчке 4. Мы начинаем с того, что добавляем выбранные пользователем пины в массив inputinputPins в строчках 6-9. В результате мы получаем простой и интуитивно понятный доступ к номерам пинов в дальнейшем коде.

В 12 строке мы пробегаемся по массиву inputinputPins и устанавливаем для каждого режим OUTPUT.

В 15 строке мы устанавливаем длительность шага по-умолчанию равной 15 мс.

В 18 строчке у нас функция-сеттер для установки длительности шага.

Теперь давайте рассмотрим метод step. Этот метод дает возможность шаговому двигателю делать переданное методу количество шагов.

В 28 строчке мы объявляем частоту вращения с использованием 2-х мерного массива. Строки представляют шаг, столбцы — выходящие пины.

В 37 строчке рассчитывается значение переменной factor, которое равно +1 или -1 в зависимости от знака, который мы передали при указании шагов. Это значение используется для определения направления перебора массива, то есть, в результате, для изменения направления вращения.

Читать еще:  Двигатель vti 120 схема

В 38 строчке мы присваем noOfSteps переменной позитивное значение.

В 44 строке мы запускаем цикл, который будет отрабатывать для каждой последовательности оборотов, то есть в начале каждого 8-го щага.

В 45 строке мы запускаем второй цикл, который пробегается по строкам в нашем массиве.

В 46 строчке мы устанавливаем задержку в соответствии со спецификацией.

В 47 строке мы пробегаемся по номерам пинов.

В 48 строке мы передаем цифровой сигнал на текущий номер пина.

Если переменная factor отрицательная, в 48-й строчке кода строки массива обрабатываются в противоположном порядке, то есть с низу вверх.

Доступ к библиотеке для шагового двигателя из Arduino IDE

Нам осталось добавить созданные файлы в папку библиотек Arduino IDE и мы сможем импортировать ее в любой наш проект.

Перейдите в папку:

C:Program Files (x86)Arduinolibraries

И создайте папку под названием StepperMotor.

Переместите созданные файлы .h и .cpp в созданную папку.

Теперь вы можете импортировать библиотеку в IDE (sketch > import library. > StepperMotor) с помощью директивы

Программы для работы с шаговыми двигателями и шаговыми приводами для станков ЧПУ, контроллеров, программируемых блоков управления ШД

Развитие современной бытовой компьютерной техники привело к тому, что компьютеры, по вычислительным возможностям не уступающие традиционным стойкам ЧПУ, стоят достаточно дешево. Компьютер уже имеет ОЗУ, жесткий диск, устройства ввода и даже монитор. Достаточно установить стандартный PCI адаптер ввода-вывода, программное обеспечение под стандартной операционной системой и стойка управления станком ЧПУ готова.

Несмотря на то, что наиболее распростаненная в мире операционнная система не является системой реального времени, высокая тактовая частота работы процессора позволяет пренебречь этим при работе с процессами длительностью более 0,1 мс. Программа для ЧПУ станка играет далеко не последнюю роль в окупаемости станка.

Для управления шаговыми актуаторами рекомендуем использовать драйвер SMD-1.6DIN или контроллер SMSD-1.5Modbus

CANopen builder

Программа CANopen builder предназначена для конфигурирования работы блока SMSD‑4.2CAN в сети CAN по протоколу CANopen, например, устновка скорости передачи данных, конфигурирование TPDO/RPDO пакетов, сохранение пользовательских настроек, сброс к заводским настройкам, установка токов в обмотках и многое другое. Программа позволяет получить доступ к объектному словарю блока через USB интерфейс, выполняет расчёты параметров управления шаговым двигателем для режима управления напряжением.

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

SMC-Program LAN

Программа SMC-Program LAN предназначена для управления шаговыми приводами с использованием программируемых блоков управления серии SMSD LAN. Программа предусматривает подключение нескольких блоков через интерфейс USB или Ethernet, имеет простую панель управления и дружественный обновленный интерфейс. Программа предусматривает управление шаговым приводом, настройку параметров контроллера, составление и загрузку программ управления (в том числе нескольких программ одновременно), а также предоставляет возможность сохранять результаты работы в файл на ПК и загружать готовые программы из файлов.

Версия программы SMC-Program LAN распространяется бесплатно, не требует инсталяции. Все вопросы и пожелания по работе программы, а также по выпуску новых улучшенных версий с учетом Ваших потребностей можно изложить написав нам письмо.

SMC-Program

Программа SMC-Program предназначена для работы с программируемыми блокамим управления шаговыми двигателями SMSD‑4.2, SMSD‑1.5 и SMSD‑9.0. Программа подает команды для управления шаговыми двигателями через Com порт персонального компьютера или USB (интерфейс RS‑232).

Программа может управлять одним, двумя или тремя шаговыми двигателями, подключенными к контроллеру SMC‑3 или одним шаговым двигателем, подключенным к блоку SMSD‑1.5, SMSD‑3.0 или SMSD‑9.0, а также осуществлять запись перечня команд (исполняемую программу) для последующего автономного использования контроллера или блока серии SMSD (без помощи ПК), либо для запуска такой исполняемой программы при помощи ПК.

Имеется возможность сохранять исполняемые программы на ПК в отдельные файлы и загружать готовые файлы в программу.

Программа имеет простой графический интерфейс, ориентированный на неподготовленного пользователя. SMC-Program не требует установки или каких-либо специальных требований к ПК. После копирования на жесткий диск ПК программа SMC-Program сразу готова к работе. При запуске программы все настойки передачи по COM‑порту подставляются автоматически, остается только выбрать номер порта, к которому подключен контроллер или блок. Для справки все параметры открытого порта указываются внизу окна программы.

В комплекте с программой SMC-Program — подробное руководство пользователя и примеры управляющих программ.

Программа имеет два режима управления:

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

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

Для отслеживания состояния контроллера или блока управления программа SMC-Program имеет панель индикаторов, на которой отображается текущий режим каждого из каналов контроллера или блока. Цветовая индикация соответствует светодиодам контроллера или блока.

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

SMC-Program Extended

Программа SMC-Program Extended предназначена для управления шаговыми приводами с использованием программируемых блоков управления SMSD‑4.2RS485. Программа имеет простую панель управления, а также возможность составлять и записывать программы в память контроллера. Предусмотрена возможность сохранять результаты работы в файл на ПК и загружать из файла сохраненный перечень команд (программу).

Версия программы SMC-Program Extended распространяется бесплатно. Все вопросы и пожелания по работе программы, а также по выпуску новых улучшенных версий с учетом Ваших потребностей можно изложить написав нам письмо.

Modbus Special Utility

Программа Modbus Special Utility предназначена для работы с программируемыми блоками управления для коллекторных и бесколлекторных двигателей постоянного тока BMSD‑20Modbus, BMSD‑40Modbus и BLSD‑20Modbus. Программа позволяет просмотреть и изменить регистры контроллера, сконфигурировать параметры работы электропривода, составить и запустить программу управления. Для облегчения отладки управляющей программы Modbus Special Utility отображает текущую исполняемую инструкцию, благодаря чему пользователь может видеть, в каком месте управляющей программы находится указатель контроллера. Интерфейс программы позволяет считывать программы из памяти блока, сохранять готовые программы в файл и считывать их из файла для дальнейшей загрузки в память контроллера.

SMC-Program Modbus

Программа SMC-Program-Modbus предназначена для управления шаговыми приводами с использованием программируемых блоков управления SMSD‑1.5Modbus. Программа имеет простую панель управления, а также возможность составлять и записывать программы в память контроллера.

Читать еще:  Шипение при работе двигателя 2112

Версия программы SMC-Program-Modbus распространяется бесплатно. Все вопросы и пожелания по работе программы, а также по выпуску новых улучшенных версий с учетом Ваших потребностей можно изложить написав нам письмо.

SMSD Controller Demonstrator

Дополнительный пакет программного обеспечения SMSD Controller Demonstrator позволяет конфигурировать контроллер; считывать/записывать IL-программу и регистры по протоколу Modbus; поддерживает функцию прямого управления перемещением (управление скоростью вращения, позиционирование, поиск начала отсчёта); содержит утилиту SMSD Updater для поиска обновлений программного обеспечения контроллера и их установки. Программа SMSD Controller Demonstrator с открытым исходным кодом.

Config SMD‑4.2DIN ver.2

Воспользоваться всем спектром возможностей блока SMD‑4.2DIN VER.2 поможет программа CONFIG SMD‑4.2DIN VER.2. Конфигуратор позволяет записывать настройки в драйвер и считывать их. Обладая простым интерфейсом, программа содержит все необходимое для полноценной работы с блоком. Настройки, изменяемые программой содержат 16 пунктов, включающих в себя параметры двигателя, такие как скорость, ток фазы, ток удержания, дробление основного шага двигателя. Пользователь выбирает логику работы блока и тип управления двигателем.

Программа дает возможность использовать драйвер с любыми 2х и 4х фазными гибридными шаговыми двигателями на максимальном дроблении. Опытному пользователю доступны настройки параметров двигателя.

Stepmotor LPT

Демонстрационная программа Stepmotor-LPT для управления шаговым двигателем через LPT порт. Программа работает под Windows 98//2000/XP. Задает количество шагов, направление движения, скорость, возвращает предполагаемое положение ротора.

  • Задавать и отрабатывать необходимое количество шагов , либо осуществлять непрерывное вращение;
  • Осуществлять выбор направления вращения ротора шагового двигателя ;
  • Осуществлять выбор скорости вращения шагового двигателя ;
  • Определять положение ротора шагового двигателя ;
  • А также определять число фактически отработанных шагов , время и скорость вращения шагового двигателя.

По требованию клиента, за отдельную плату, возможна разработка программ по индивидуальным заказам.

Config SMD‑1.6mini/SMD‑2.8mini

Простая программа позволит легко настроить важнейшие параметры драйверов SMD-mini v.2. Дробление шага, ток фазы двигателя, ток удержания в процентном соотношении и настройка сигнала разрешения – настройки драйвера, изменяемые в программе.

Для подключения драйвера к компьютеру и последующей настройки можно использовать преобразователь интерфейса UART-USB. Команды передаются в ASCII коде.

SMD-mini-control

Программа SMD-mini control предназначена для быстрой параметризации и для управления приводами SMD-1.6mini ver.2 и SMD-2.8mini ver.2 с обновленной версией прошивки.

SMD-mini control позволяет считывать и записывать в память блоков рабочие значения токов, дробления шага, а также управлять перемещением привода с заданными параметрами скорости, ускорения, смещения.

BxSD-Program

Программа предназначена для управления подключенными к компьютеру блоками BMSD или BLSD. Обычно для подкючения используется преобразователь интерфейса USB/RS485 или RS232/RS485. Программа позволяет задавать блоку персональный адрес, настраивать разрешения датчика обратной связи, устанавливать скорость, направление перемещения, управлять плавным разгоном и торможением двигателя. Для изменения серийного номера и ряда других параметров, существует программа, скачать которую можно у нас на сайте.

Каталог прошивок

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

Подпишитесь на наши новости

Получайте первыми актуальную информацию от ООО «Электропривод»

Биполярный контроллер шагового двигателя схема

Изменение рабочего тока осуществляется с помощью регулятора Current regulation potentiometer. Он позволяет выбрать ток в диапазоне от 0.5 до 4.5А.

Выбор микрошага

Принудительный Enable 1:1 1:2 (A mode) 1:2 (B mode) 1:4 1:8 1:16

A и B mode — настройка изменения формы ШИМ. Подбирается эмпирическим путём.

Переключатель LATCH позволяет выбрать между автоматической и ручной перезагрузкой драйвера в случае возникновения ошибки. ON – автоматическая перезагрузка, OFF – ручная.

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

Не горит индикатор питания

2) Низкое напряжение питания

1) Проверьте подключение к источнику питания

2) Увеличьте напряжение питания

Двигатель не вращается, нет удерживающего момента

1) Неправильное подключение двигателя

2) Нет разрешающего сигнала Enb

1) Правильно подключите двигатель

2) Инвертируйте сигнал Enable

Двигатель не вращается, есть удерживающий момент

Неверно подключен сигнал Step

Проверьте правильность подключения сигнала Step

Двигатель вращается в противоположном направлении

1) Неправильно подключена фаза ШД

2) Неверная полярность управляющего сигнала Dir

3) Установлен слишком низкий рабочий ток ШД

1) Поменяйте местами провода одной фазы ШД

2) Инвертируйте управляющий сигнал Dir

3) Правильно установите рабочий ток ШД

Настройка контроллера на ТВ6600.

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

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

На плате также для каждой оси установлены переключатели шага и выходного тока:

Настройка шаговых двигателей осей.

В процессе настройки надо вычислить необходимое количество подаваемых импульсов (шагов) на шаговый двигатель для перемещения управляющей гайки червячной передачи станка на заданную единицу измерения — 1мм.

Например, имеем шаговый двигатель с шагом 1.8 градуса, червячную передачу с шагом резьбы 1.25мм и контроллер, установленный на “полный шаг”. Тогда при подаче на него 200 импульсов (шагов), его вал повернется на (1.8градуса х 200) = 360 градусов (полный оборот) и управляющая гайка червячной передачи сдвинется на 1.25мм.

Теперь, чтобы гайка сдвинулась на 1мм, надо соответственно уменьшить количество подаваемых на шаговый двигатель импульсов (шагов), которые определяются по формуле: 200/ 1.25мм = 160 импульсов (шагов). Т.е. при 160 импульсах(шагах) управляющая гайка при резьбе с ходом 1.25мм переместится на 1мм.

Если на контроллере установлен неполный шаг, например «полшага», то формула будет иметь следующий вид: 2х200/1.25мм = 320 импульсов (шагов).

Таким образом, изменяя степень “шага” в контроллере, а также зная ход резьбы червячной передачи, по аналогичной формуле можно в дальнейшем рассчитывать количество подаваемых на шаговый двигатель импульсов (шагов) для перемещения управляющей гайки на 1мм.
Учитывая, что наиболее оптимальная работа данного контроллера отмечена при установке “1/8 шага”, возьмем за основу:
— шаг резьбы червячной передачи -1.25мм;
— контроллер установлен на “1/8 шаг”, т.е. 1мм перемещения управляющей гайки будет соответствовать 8х200/1.25мм=1280 импульсов(шагов) шагового двигателя.

Примечание: перед началом “пусков” шаговых двигателей при выключенном питании на всех 3-х синих переключателях контроллера на ТВ6600 установим:

Current Setting

(выходной ток)

Требуемые установки выделены жирным текстом с подчеркиванием – OF .
Соответственно для контроллера на ТВ6600 джамперами установим: 1=OFF 2=ON 3=OFF 4=ON 5=OFF 6=ON (1/8шаг, 1.2А выходной ток на ШД).

В дальнейшем данные установки можно будет менять.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector