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

КатегорияСтатті    Комментарий(ев)8    Создано30.11.2015    Обновлено30.12.2017

Инструкция к драйверу ШД BL-TB6600-v1.2

Содержание

  1. Введение
  2. Внешний вид
  3. Описание
  4. Схемы подключения
  5. Подключение драйвера к периферии
  6. Настройка переключателей
  7. Подключение силовых цепей
  8. Светодиодная индикация

Введение:

Основанная на чипе TB6600HG новая модель драйвера BL-TB6600-V1.2 пришла на замену популярному драйверу BL-TB6560-V2.0.
Этот драйвер-контроллер подойдет для построения не только любительских систем ЧПУ, но и профессиональных, основаных на двигателях высокой мощности. Если сравнивать с предыдущим поколением драйвера TB6560AHG, то выходная мощность у TB6600HG возросла до 200Вт (как видим практическое удвоение по значению мощности), рабочее напряжение поднято с 35В (TB6560AHG) до 50В, рабочий ток увеличен до 4.5А (5А пиковое значение).
Увеличена максимальная рабочая частота.
Добавлены схемы защиты.

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

Внешний вид:

Драйвер шагового двигателя BL-TB6600-V1.2.0

Драйвер шагового двигателя BL-TB6600-V1.2.0 сигнальные интерфейсы

Драйвер шагового двигателя BL-TB6600-V1.2.0 вид сверху

Драйвер шагового двигателя BL-TB6600-V1.2.0 вид снизу

Основные характеристики:

Свойства Параметры
Входное напряжение силовой части от 8В до 50В постоянного напряжения (36В рекомендуется)
Выходной ток от 0.3А до 4.5А (пиковое значение 5А)
Микрошаг 1 .. 2 .. 8 .. 16
Максимальная частота ШИМ 200кГц
Регулировки максимального тока ШД
1.1А .. 2.2А .. 3.3А .. 4.5А
Регулировки тока удержания
50% или 100%
Температура эксплуатации от -10 до +45° С
Размеры 80мм*50мм*35мм
Вес 118.3г

Описание:

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

Разъемы на плате

Маркировка Описание
24V+ Положительный контакт для подключения блока питания (питания шагового двигателя) постоянное напряжение
GND Отрицательный контакты для подключения блока питания (питания шагового двигателя) постоянное напряжение
CLK- Вход для шаговых импульсов STEP (рабочим является передний фронт, длительность > 10мкс)
CW- Вход для управления направлением вращения вала шагового двигателя (DIR)
EN- Вход для включения/выключения шагового двигателя (ENABLE)
+5V Общий сигнальный провод
A+,A- Контакты для подключения I фазной обмотки шагового двигателя
B+,B- Контакты для подключения II фазной обмотки шагового двигателя

Схемы подключения:

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

Пример подключения драйвера к контроллеру на NPN ключах с открытым коллектором

Пример подключения драйвера к контроллеру на  NPN ключах  с открытым коллектором

Пример подключения драйвера к контроллеру на PNP ключах с открытым коллектором

Пример подключения драйвера к контроллеру на  PNP ключах  с открытым коллектором

Примечание:

Значение сопротивлений R_CLK, R_CW, R_EN зависят от напряжения питания VCC:

  • При VCC = 5В, R_CLK = R_CW = R_EN = 0;
  • При VCC = 12В, R_CLK = R_CW = 1кОм, R_EN = 1.5кОм;
  • При VCC = 24В, R_CLK = R_CW = 2кОм, R_EN = 3кОм;

Подключение драйвера BL-TB6600-v1.2 к плате BL-MACH-V1.1:

Пример подключения драйвера BL-TB6600-v1.2 к контроллеру BL-MACH-V1.1

Более подробно о интерфейсной плате BL-MACH-V1.1 можно узнать по ссылке Плата коммутационная (контроллер) BL-MACH-V1.1

СТАТЬЯ В ПРОЦЕССЕ НАПИСАНИЯ

Обновлено: 30.12.2017

TB6600 Stepper Motor Driver Драйвер для шагового двигателя (общий вид)

Microstep Driver TB6600 распиновка Microstep Driver TB6600

TB6600 радиатор

Характеристики драйвера TB6600 

Входной ток 0…5A;
Выходной ток 0.5…4.0A;
DC 9…42V;
Максимальная мощность 160W;
Максимальная частота ШИМ 200кГц;
Температура эксплуатации от -10 до +45℃;
Габариты 96x56x33 mm;
Вес 0.2 кг;
Микросхема привода TB67S109AFTG.

8 типов микрошагов NC, 1(200), 2/A(400), 2/B(400), 4(800), 8(1600), 16(3200), 32(6400)
8 типов регулирования тока 0,5 А, 1А, 1,5А, 2А, 2,5А, 2,8А, 3,0А, 3,5А

A+,A- подключение I фазной обмотки шагового двигателя;
B+,B- подключение II фазной обмотки шагового двигателя;
PUL (STEP) – генерирует тактовые импульсы для запуска шагового двигателя (активный уровень — 1);
DIR – логический сигнал для установки направления двигателя, смена направления вращения;
осуществляется при отсутствии импульсов на пине PUL; (при изменении состояния должно пройти не менее 10 мкс до подачи импульса на вход «PUL») (активный уровень — 1);
ENA – разрешающий сигнал, отключение и включение двигателя (активный уровень — 0).

Таблица настройки частоты вращения двигателя драйвера шагового двигателя TB6600

Microstep Pulse/rev s1 s2 s3
NC NC ON ON ON
1 200 ON ON OFF
2/A 400 ON OFF ON
2/B 400 OFF ON ON
4 800 ON OFF OFF
8 1600 OFF ON OFF
16 3200 OFF OFF ON
32 6400 OFF OFF OFF

Таблица токов драйвера шагового двигателя TB6600

Current(A) PK Current s4 s5 s6
0.5 0.7 ON ON ON
1.0 1.2 ON OFF ON
1.5 1.7 ON ON OFF
2.0 2.2 ON OFF OFF
2.5 2.7 OFF ON ON
2.8 2.9 OFF OFF ON
3.0 3.2 OFF ON OFF
3.5 4.0 OFF OFF OFF

Схема подключения TB6600 Nema 17 к Arduino Nano

схема подключения TB6600 Nema 17 к Arduino Nano

Вид подключаемого шагового двигателя Nema 17

Nema 17

Usongshine Stepping Motor 17HS4401S-09

Схема обмоток шагового двигателя

motor шаговый обмотки схема

Пример скетч работы шагового двигателя Nema 17 и драйвера TB6600 Arduino

#define MOTOR_PUL_PIN 9
#define MOTOR_DIR_PIN 8 
#define MOTOR_ENA_PIN 5


void setup() {
  pinMode (MOTOR_PUL_PIN, OUTPUT);
  pinMode (MOTOR_DIR_PIN, OUTPUT);
  pinMode (MOTOR_ENA_PIN, OUTPUT);

}

void loop() {

// мотор крутится по часовой стрелки
  for (int i=0; i<3200; i++)  
  {
    digitalWrite(MOTOR_DIR_PIN,HIGH);
    digitalWrite(MOTOR_ENA_PIN,HIGH);
    digitalWrite(MOTOR_PUL_PIN,HIGH);
    delayMicroseconds(200);
    digitalWrite(MOTOR_PUL_PIN,LOW);
    delayMicroseconds(200);
  }
 // мотор крутится по против часовой стрелки
  for (int i=0; i<3200; i++)  
  {
    digitalWrite(MOTOR_DIR_PIN,LOW);
    digitalWrite(MOTOR_ENA_PIN,HIGH);
    digitalWrite(MOTOR_PUL_PIN,HIGH);
    delayMicroseconds(200);
    digitalWrite(MOTOR_PUL_PIN,LOW);
    delayMicroseconds(200);
  }
}

Пример скетча работы шагового двигателя один полный оборот 360 градусов Nema 17 и драйвера TB6600 Arduino

#define MOTOR_PUL_PIN 9
#define MOTOR_DIR_PIN 8 
#define MOTOR_ENA_PIN 5

//временная задержка между шагами 1 мс
const int delay_pause = 1;

void setup() {
  pinMode (MOTOR_PUL_PIN, OUTPUT);
  pinMode (MOTOR_DIR_PIN, OUTPUT);
  pinMode (MOTOR_ENA_PIN, OUTPUT);
}


void loop()
{
    //устанавливаем начальный режим
  digitalWrite(MOTOR_PUL_PIN, HIGH);
  digitalWrite(MOTOR_DIR_PIN, LOW);

  //направление вращения мотора против часовой стрелки
  digitalWrite(MOTOR_DIR_PIN, HIGH);
// делаем 12800 шагов на 360 градусов оборот
   for(int i = 0; i < 12800; i++)
  {
    digitalWrite(MOTOR_PUL_PIN, HIGH);
    delay(delay_pause);
    digitalWrite(MOTOR_PUL_PIN, LOW);
    delay(delay_pause);
  }
  // пауза 5 секунд
  delay(5000);
}

Код скорости вращения на драйвере TB6600 Arduino

#define Motor_PULSE_PIN 9
#define Motor_DIR_PIN   8

uint16_t motor_speed = 15;// скорость мотора
uint16_t motor_Hz = 6400 / 5 / 10; // 6400 пульсация 5 секунд со скоростью 10

void setup() {
  Serial.begin(9600);
  pinMode(Motor_DIR_PIN, OUTPUT);      
  pinMode(Motor_PULSE_PIN, OUTPUT); 
}

void loop() {
uint16_t  motor_speed_pusk=motor_speed * motor_Hz;
tone(Motor_PULSE_PIN, motor_speed_pusk); 
}

Опять я, к вам со своими обзорами, по ЧПУ.
Ну мало ли, может кому и интересно будет, про ЧПУ строение.

Для начала кто не знает, или просто знает такие слова, как контролер, драйвер и опторазвязка. В чем их отличие?

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

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

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

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

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

В общем теории немного, вам дал. Еще немного схемотехники по подключению драйверов на порты.

Есть 2 такие основные схемы подключения.

Китайцы в основном как один первую советуют. Но она не всегда срабатывает.
Я уже писал обзор покупки TB6600, а на самом деле там оказалась TB67S109AFTG. Микруха намного мелкоскопичней чем первая.

И по даташиту вроде как более слабая по току.
Обзор мой здесь mysku.club/blog/aliexpress/41551.html

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

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

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

Сами драйвера, неплохо выполненные. Пайка приличная. Емкость немного кривовато стояло на одном. Не стал выправлять.
Термопасты под TB6600 тоже не пожалели, даже с лишком, ваткой лишнее убрал с боков.

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

Ну и еще пару вам видов с боку.

Думаю по самой железке теперь у вас представление есть.
Теорию всё могут и по обзору предыдущему посмотреть и по Инет детали.

Но практика как оказалась, совсем другую картину дает.

Во первых по первым мной заказанным драйверам на TB67S109AFTG, схема подключения которые китайцы дают. То есть вверху №1 Не работает.
Мучился, что только не делал и с подключением и настройками в Масн.
Крутила зараза лишь в одну сторону. Пока не подключил по схеме №2.
Тогда всё стало на свои места и заработало как положено.

Единственно опасаюсь на драйвере ток больше 2.6А давать. Хотя схему охлаждения по своему переделал. Заводская совсем не вдохновила.

Так вот сегодня пробывал и первые драйвера и вторые, на одних и тех же режимах. То есть ток 2.6А и микрошаг 1/16
И здесь все теории и даташиты к чертям просто полетели.
Первый заказанный драйвер, просто шуршит осями. А вот второй на оригинальной TB6600 скрип, дерганье какое то. Чувствуется, что движок как бы рывками крутит.

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

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

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

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

Будьте Внимательны!!! Джин не дремлит.

Ну и бонусы.

Бонусы от меня

В предыдущих примерах мы уже использовали простой шаговый двигатель 28BYJ-48 для Arduino. В данном примере подключим более мощный шаговый двигатель NEMA17 17HS4401, ток на обмотку 1.7А. Как правило, используется в 3D принтерах, экструдерах и небольших ЧПУ станках. Для подключения данного двигателя будем использовать драйвер TB6600 4А.

TB6600 — это простой в использовании профессиональный драйвер шагового двигателя, который может управлять двухфазным шаговым двигателем. Он совместим с Arduino и другими микроконтроллерами, которые могут выдавать цифровой импульсный сигнал 5 В. TB6600 с питанием 9 – 40 В постоянного напряжения предназначен для использования с двигателями типа NEMA42 – NEMA86 с максимальным током фазы до 4А. Пиковый ток в 4А достаточен для большинства шаговых двигателей. Драйвер поддерживает управление скоростью и направлением движения. Вы можете установить его микро шаг и выходной ток с помощью переключателя. Существует 7 видов микрошагов (1, 2/A, 2/B, 4, 8, 16, 32) и 8 видов контроля тока (от 0.5 до 4 А).

Описание:

В данном примере подключим шаговый двигатель 17HS4401 к драйверу TB6600. В результате вал двигателя будет совершать цикл в 6400 шагов в одну сторону, затем в обратную. В качестве источника питания для драйвера можно, например, использовать импульсный блок питания.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

int PUL=5;

int DIR=6;

int ENA=7;

void setup() {

  pinMode (PUL, OUTPUT);

  pinMode (DIR, OUTPUT);

  pinMode (ENA, OUTPUT);

}

void loop() {

  for (int i=0; i<6400; i++)    // Вперед на 5000 шагов

  {

    digitalWrite(DIR,LOW);

    digitalWrite(ENA,HIGH);

    digitalWrite(PUL,HIGH);

    delayMicroseconds(50);

    digitalWrite(PUL,LOW);

    delayMicroseconds(50);

  }

  for (int i=0; i<6400; i++)   // Назад на 5000 шагов

  {

    digitalWrite(DIR,HIGH);

    digitalWrite(ENA,HIGH);

    digitalWrite(PUL,HIGH);

    delayMicroseconds(50);

    digitalWrite(PUL,LOW);

    delayMicroseconds(50);

  }

}

The TB6600 stepper motor driver is used to control larger two-phase bipolar stepper motors like NEMA 23 motors used in 3D printers, CNC machines and robots. In this tutorial I’ll describe the TB6600 motor driver hardware in detail and also demonstrate how to control the driver with Arduino.

TB6600 Stepper Motor driver hardware description.

The TB6600 Stepper motor driver was originally built around TB6600HG stepping motor IC made by Toshiba. However nowadays many of these drivers have a TB67S109AFTG IC also made by Toshiba.

These chips are almost similar in performance and specifications but the TB6600HG is larger and has a higher peak current rating of up to 5A compared to the smaller TB67S109AFTG chip with a peak current rating of 4A. Also, the TB6600HG only supports up to 1/16 microstepping while the TB67S109AFTG goes up to 1/32.

The driver has over-current, under-voltage shutdown, and overheating protection. Other specifications can differ slightly depending on the manufacturer and therefore you should always check the datasheet of your driver before use.

Difference between TB6600 and TB6560 Stepper Motor drivers.

The TB6560 stepper motor driver can easily be confused with TB6600 model since these drivers can both be controlled using the same connections and code. However, they have some major differences that I’ll list in the comparison table below.

TB6560 vs TB6600

From the table above, TB6600 driver has a higher maximum operating voltage and current and can go up to 1/32 microstepping. Also, the TB6600 has a better heatsink. Therefore, if you want to control larger stepper motors with higher resolution, the TB6600 would be a better choice.

I have another tutorial dedicated to the TB6560 stepper motor driver which you can refer to using the link below.

  • How to use TB6560 Stepper Motor driver with Arduino.

Connecting TB6600 Stepper motor driver to Arduino.

The connection is rather simple and done as illustrated below. I will be connecting the driver in a common cathode configuration, that is, all the negative sides of the control signal will be connected to ground.

Connecting TB6600 driver to Arduino

Make sure that you do not connect stepper motors with a current rating of more than 3.5 A to the driver.

A+,A- and B+,B- are the connections for the 4 wire bipolar stepper motor phases or coils. A pair of wires from one coil of the motor gets connected to A- and A+ and the other to B- and B+.

Determining which wires from the stepper motor belong to the same coil.

In case you are not sure which pair of wires belongs to the same coil, you can choose a random pair of wires from the motor and connect their bare ends together. Then try to spin the shaft of the stepper motor and if you feel a lot of resistance, you have found a pair of wires from the same coil. If you can still spin the shaft freely, try another pair of wires.

Alternatively, you can measure the resistance between the two wires using a digital multimeter. If the multimeter shows any resistance between the wires, then that pair of wires is from the same coil.

The enable pins (ENA- and ENA+) can be left unconnected meaning that the enable pin is always LOW and the driver is always enabled. However, in my case ENA- is connected to ground and ENA+ is connected to a digital pin of Arduino. This makes controlling the driver via software easier.

Adjusting Microsteps and Current

The TB6600 stepper motor driver has DIP switches used to set the microsteps and current depending on the specifications and application of the stepper motor being used. A table with microstep and current settings is printed on top of the driver case.

In full step mode, stepper motors normally make 200 steps per revolution which gives a step size of1.8°. The TB6600 driver supports microstepping mode which allows higher resolutions for stepper motors by allowing intermediate step locations through energizing the motor phases with intermediate current levels.

For example, when in ½ step mode, the stepper motor will make 400 microsteps per revolution and in ¼ step mode it will make 800 microsteps per revolution.

The TB6600 microstep settings can be changed by turning DIP switches S1, S2 and S3 on or off in specific order as shown in the table below. The settings below are for a 1/32 microstepping driver.

TB6600 driver microstep table

A smaller microstep setting will result in a smoother and quieter operation but will limit the top speed that you can achieve when controlling the stepper motor driver with a microcontroller.

Do not adjust the dip switches when the driver is powered.

Switches S4, S5 and S6 are used to adjust the current that goes to the motor when it is running. It is better to start with a current level of 1 A and incase the motor is missing steps or stalling; you can go on increasing the current level.

TB6600 driver current table

Code for controlling TB6600 Stepper motor driver with Arduino.

A microcontroller like Arduino can be used to control the speed, number of revolutions and direction of rotation of the stepper motor. The code below is an example of how this can be achieved.


const int stepPin = 5; 
const int dirPin = 2; 
const int enPin = 8;

void setup() {
  pinMode(stepPin,OUTPUT); 
  pinMode(dirPin,OUTPUT);
  pinMode(enPin,OUTPUT);
  digitalWrite(enPin,LOW);
  
}

void loop() {
  digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
  for(int x = 0; x < 800; x++) {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(500); 
  }
  delay(1000); // One second delay
  digitalWrite(dirPin,LOW); //Changes the direction of rotation
  for(int x = 0; x < 800; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(500);
  }
  delay(1000); 
}

Code description

First the step (PUL+), direction (DIR+) and enable (ENA+) pins are declared with their corresponding Arduino pins as 5, 2 and 8 respectively.

In the setup() section, all the motor control pins are declared as digital OUTPUT. I also enable the driver by setting the enable pin LOW.

The loop() section determines the number of steps the motor will take. The four lines of code below will send a pulse to the step pin resulting in one microstep.

digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);

Controlling the number of steps or revolutions:

The for loop repeats the above lines of code a given number of times which represents the steps per revolution. For example, if the driver is set to ¼ step mode, then the code in the for loop has to be executed 800 times to get 1 revolution, that is,

for(int i = 0; i < 800; i++) {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(500); 
  }

If the motor is set to 1/8 step mode, then the above for loop would result in half a revolution.

Controlling motor rotation direction.

The direction of rotation of the stepper motor is determined by setting the direction (DIR+) pin either HIGH or LOW and depending on how you connected the stepper motor, when the DIR pin is set HIGH, the motor will turn clockwise and when set LOW it turns counter clockwise.

Controlling speed of rotation of the motor.

The speed of the stepper motor is determined by the frequency of the pulses we send to the STEP pin which is set using the delayMicroseconds() function. The shorter the delay, the higher the frequency and therefore the faster the motor runs.

Controlling TB6600 Driver using AccelStepper library

Mike McCauley has written the AccelStepper library that contains a number of functions that simplify the control of stepper motors with Arduino using TB6600 driver and many other stepper motor drivers.

This library can be installed directly from the Arduino IDE by going to Tools > Manage Libraries… to open the Library Manager where you can search for ‘AccelStepper’ and look for and install the latest version of the library by Mike McCauley.

Example code for controlling TB6600 Stepper motor driver with Arduino using AccelStepper library.

The code below is for moving the motor back and forth with a speed of 1000 steps/s and an acceleration of 500 steps/s2. The driver is in ¼ step mode but you can change the mode and the speed and acceleration settings and observe what happens.

#include <AccelStepper.h>
#define dirPin 2
#define stepPin 3
#define motorInterfaceType 1

// Create a new instance of the AccelStepper class:
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);

void setup() {
stepper.setMaxSpeed(1000);
stepper.setAcceleration(500);
}

void loop() {
stepper.moveTo(8000);
stepper.runToPosition();
delay(1000);
// Move back to zero:
stepper.moveTo(0);
stepper.runToPosition();
delay(1000);
}

Code description:

First, you have to include the AccelStepper library and then declare the TB6600 and Arduino connections and the motor interface type. When using a step and direction driver, the motor interface type must be set to 1.

Then you need to create a new instance of the AccelStepper class with the appropriate motor interface type and connections. You can even create multiple instances of the AccelStepper class with different names and pins which allows you to easily control two or more stepper motors at the same time.

In the setup() section, we use the setMaxSpeed() and setAcceleration() functions to set the maximum speed and  acceleration or deceleration. In the loop section, the moveTo() function is used to set the target position in steps of the motor and the runToPostion() function moves the motor to the target position with the set acceleration or deceleration.

Понравилась статья? Поделить с друзьями:
  • Драйвер dm556 инструкция на русском
  • Драже апи спира инструкция по применению
  • Драстоп инструкция по применению уколы внутримышечно инструкция по применению и отзывы
  • Драмина инструкция по применению до еды или после
  • Драй ру ультра инструкция по применению