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

Характеристики драйвера 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
Вид подключаемого шагового двигателя Nema 17
Схема обмоток шагового двигателя
Пример скетч работы шагового двигателя 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);
}
Доброго времени суток, уважаемые коллеги! Сегодня сделаем правильное подключение БОЛЬШИХ (или не очень :))) ) внешних драйверов для 3D принтера, чтобы все РАБОТАЛО и работало как надо: без смещений и прочей чепухи, которую даже опытный боец может принять за износ механики!
-На что обратить внимание в первую очереди?
-Напряжение не только ПИТАНИЯ, но и ЛОГИКИ! Далее капсом не пользуюсь;))
Дело в том, что наши платы выдают до 3,3 вольта на логический сигнал (не нужно сейчас лезть с мультиметром, это на десерт!!!!), для драйвера по типу А4988 вполне, а вот что побольше и подальше от управляющей платы часто требует 4,5-5 вольт или даже 12/24 вольта но в паре с резисторами (чтобы не спалить мозги). Сегодняшние претенденты на звание идеально совместимой пары управляющей платы и внешнего драйвера для точного перемещения…..
Плата SKR V2.0 и драйвера DM556. У кого что-то другое (хоть пара рампс и tb6600) не переживайте, инструкция универсальна!!!
Собственно драйвер:

От платы на драйвера у нас всегда идут только два управляющих сигнала: STEP (его ещё называют PULSE) — сигнал шага и DIR — в какую сторону «шагать». Можно посмотреть их на обороте платы или на маленьком драйвере (в какую ячейку втыкивается ножка когда вставляете драйвер), у маленьких драйверов это соседние ножки, также найдем GND напротив DIR:

Мои STEP (левая ячейка для одной ножки) и DIR (правая ячейка для одной ножки), GND напротив DIR
Проверим же наверняка сколько вольт выдают пины нашей логики! В 99,9% случаев у плат для 3D принтеров это будет до 3,3 вольт. Замеряем напряжение мультиметром в режиме постоянного тока на каком-нибудь из рабочих концевиков (тот что щелкает при парковке), для этого отключаем его и тыкаем щупами в логический пин (тот что не +5V) и GND, у меня получилось +3,25 V (если перепутали плюс и GND,то покажет -3,25 V)
-Почему не измерил пины STEP и DIR?
-Для этого пришлось бы использовать не мультиметр за 450 рублей, а осциллограф, который бы улавливал импульсный ток во время движения по осям. STEP и DIR импульсные сигналы, имеющие частоту (до 200 000 раз в секунду ) и ширину (грубо говоря это длительность импульса), в отличии от вкл/выкл режима концевичков. Однако и то и то идет по пути логического сигнала от управляющего чипа, вряд ли будет иное напряжение на STEP и DIR. Если нет осциллографа, но очень хочется проверить что выдает именно STEP и DIR , то придется поменять одного из них местами с логическим пином концевика, по этому поводу я снял небольшое видео где меняю пины термисторов https://www.youtube.com/watch?v=oS29VAp2JGo , главное не забудьте потом вернуть все на место!
Переходим к драйверу!!! Гуглим DM556 pdf, нам выдается инструкция то ли даташит (уж как не называй) на наш драйвер. Иногда есть несколько инструкций, смело выбирайте наиболее удобную (с красивыми табличками и рисунками)). Листаем до табличек с описанием токов нашим драйверам:
Тут нас интересуют:
1) Output current — максимальный ток на двигателе, который указывается в PDF двигателя и выставляется маленькими переключателями на драйвере
2) Supply voltage — напряжение блока питания драйвера , 36 ок, но пальцы лучше не сувать
Если набрать название нашего мотора и слово PDF, то там помимо ампер будет указание VDC и значение порядка 1-5 вольт, однако драйвера управляют моторами не постоянным током, а по принципу шим (кто слышит писк мотора — это работа шим), что это читайте отдельно, но если коротко 36 вольт подаются не постоянно, а вкл/выкл много много раз в секунду
3) Logic signal current — ток для логического сигнала , до 16 мА, то есть до 0,016 А
4) Pulse input frequency — частота логики в кГЦ, до 200 кГЦ (Понадобится при прошивке )
5) Что-то там про сопротивление изоляции, не важно))
Проматываем до таблички управляющих сигналов и тут… 4-5 V для верхнего сигнала PUL (STEP) и DIR!!! А при наличии резисторов можно и 12 вольт и 24, но у нас только 3,25 V.
Что касается сигнала ENA (Enable) его обычно не подключают т.к. из-за него драйвер будет игнорировать сигналы STEP и DIR , зачем оно нам?)) Но кому надо тому надо!)) Перед тем как начнем паять (или кому удобнее собирать брэдборд) листаем наш pdf и находим схемку с сопротивлением пинов драйвера:
Сопротивление 270 Ом, при напряжении 4-5 вольт ток по закону Ома как раз около 16 мА, при 12 и резисторе на 1 кОМ +270 Ом уже 9,5 мА, при 24 и 2кОМ + 270 Ом тоже в районе 10 мА, как того и требует инструкция. На наших платах достаточно 5-ти вольтовых источников питания для концевиков, используем их. Тут нужно загуглить ближайший «Магазин радиотехники» и набрать npn транзисторов и к ним резисторов (dc-dc повышающие преобразователи не прокатят). Стоят они по несколько рублей (а иногда и по рублю), какие именно нужно можно легко подсчитать:
Сопротивление как DIR так и STEP у драйвера 270 Ом, напряжение хотим 4-5V (это напряжение коллектор-эмиттер), а управляющий сигнал порядка 3,25 вольт (это напряжение база-эмиттер) . Под такие цели можно найти много транзисторов, я выберу 2N3904, у которого напряжение база-эмиттер до 6 вольт, а коллектор-эмиттер аж до 40.

Т.к. у нас напряжение +5 вольт с платы, а транзисторы снижают напряжение где-то на 0,6 вольт, то при 4,4 вольтах и 270 Ом ток коллектор-эмиттер будет около 16 мА, что хорошо. Смотрим на картинку — база это лапка посередине, к ней подключаем наши 3,25 вольт через резистор номиналом (3,25-0,6)/(0,016/200)=33000 Ом или 33 кОМ, где 3,25 V это напряжение логики, 0,6 V падение напряжение, 0,016 A подсчитанный выше ток, 200 это средний коэффициент усиления (hfe) транзистора с картинки выше. Таким образом нам нужен резистор 33-35 кОМ. Также необходим более мощный резистор на 500-1000 кОМ (1 мегаом), который будет служить стягивающим резистором, получится так:
Осталось совсем немного!! Надо подправить прошивку под наш внешний драйвер: задать частоту, длительность импульса и задержки)) Кто перепиновывал пин — вернуть все обратно. Заходим в Configuration_adv.h, изменяем количество сегментов (у нас ведь теперь хорошие большие драйвера:))
/ Moves (or segments) with fewer steps than this will be joined with the next move
#define MIN_STEPS_PER_SEGMENT 1
Далее устанавливаем задержки для сигнала DIR по PDF файлу драйвера (таблички в начале), у меня это минимум 5 микросекунд, тут её указывают в наносекундах, значит 5000 ns, я поставлю 6000
/**
* Minimum delay before and after setting the stepper DIR (in ns)
* 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire)
* 20 : Minimum for TMC2xxx drivers
* 200 : Minimum for A4988 drivers
* 400 : Minimum for A5984 drivers
* 500 : Minimum for LV8729 drivers (guess, no info in datasheet)
* 650 : Minimum for DRV8825 drivers
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*
* Override the default value based on the driver type set in Configuration.h.
*/
#define MINIMUM_STEPPER_POST_DIR_DELAY 6000
#define MINIMUM_STEPPER_PRE_DIR_DELAY 6000
Очень важная штука — ширина импульса, в табличке пишут что pul не менее 2,5 микросекунд, но лучше я поставлю 5 микросекунд.
/**
* Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 0 : Minimum 500ns for LV8729, adjusted in stepper.h
* 1 : Minimum for A4988 and A5984 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers
*
* Override the default value based on the driver type set in Configuration.h.
*/
#define MINIMUM_STEPPER_PULSE 5
И конечно же частота импульса. Драйвера способны выдавать до 200 кГц, но мы увеличили длительность импульса в 2 раза, поэтому уменьшаем частоту в 2 раза и оставляем 100 кГц
* Maximum stepping rate (in Hz) the stepper driver allows
* If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE)
* 5000000 : Maximum for TMC2xxx stepper drivers
* 1000000 : Maximum for LV8729 stepper driver
* 500000 : Maximum for A4988 stepper driver
* 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver
* 15000 : Maximum for TB6560 stepper driver
*
* Override the default value based on the driver type set in Configuration.h.
*/
#define MAXIMUM_STEPPER_RATE 100000
!!!!И ТЕПЕРЬ САМОЕ ВАЖНОЕ!!!
Без чего драйвера не будут работать (а так могут неплохо «шевелиться» и на 3,25 вольт):
Практически для всех больших драйверов тут нужно поменять false на true
// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
define INVERT_X_STEP_PIN true
#define INVERT_Y_STEP_PIN false
#define INVERT_Z_STEP_PIN false
#define INVERT_I_STEP_PIN false
#define INVERT_J_STEP_PIN false
#define INVERT_K_STEP_PIN false
#define INVERT_U_STEP_PIN false
#define INVERT_V_STEP_PIN false
#define INVERT_W_STEP_PIN false
#define INVERT_E_STEP_PIN false
Общие сведения:
Шаговый двигатель это бесколлекторный двигатель, ротор которого вращается не плавно, а шагами (дискретно). Один оборот ротора (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<1600; i++){ // Выполняем 1600 проходов цикла (1 оборот = 800 тактов, 2 оборота = 1600).
digitalWrite( pin_PUL, 1 ); // Устанавливаем на выводе PUL состояние логической «1».
delayMicroseconds(t); // Выполняем задержку t3 (см. график STEP/DIR).
digitalWrite( pin_PUL, 0 ); // Устанавливаем на выводе PUL состояние логического «0».
delayMicroseconds(t); // Выполняем задержку t4 (см. график STEP/DIR).
} //
// Останавливаем вал удерживая его: // Двигатель не вращается, если на вывод PUL не поступают импульсы.
delay(5000); // Ждём 5 секунд. В это время двигатель остановлен, его вал удерживается.
// Меняем направление движения вала: //
digitalWrite( pin_DIR, 1 ); // Меняем логический уровень вывода DIR с 0 на 1.
delayMicroseconds(5); // Выполняем задержку t2 (см. график STEP/DIR).
// Поворачиваем вал на 2 оборота: //
for(int i=0; i<1600; i++){ // Выполняем 1600 проходов цикла (1 оборот = 800 тактов, 2 оборота = 1600).
digitalWrite( pin_PUL, 1 ); // Устанавливаем на выводе PUL состояние логической «1».
delayMicroseconds(t); // Выполняем задержку t3 (см. график STEP/DIR).
digitalWrite( pin_PUL, 0 ); // Устанавливаем на выводе PUL состояние логического «0».
delayMicroseconds(t); // Выполняем задержку t4 (см. график STEP/DIR).
} //
// Останавливаем вал без удержания: //
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){f=200000;}
// Определяем значение предделителя:
uint16_t i; uint8_t j; f*=2;
if(f>(F_CPU/255/ 1)){i= 1; j=1;}else
if(f>(F_CPU/255/ 8)){i= 8; j=2;}else
if(f>(F_CPU/255/ 32)){i= 32; j=3;}else
if(f>(F_CPU/255/ 64)){i= 64; j=4;}else
if(f>(F_CPU/255/128)){i= 128; j=5;}else
if(f>(F_CPU/255/256)){i= 256; j=6;}else
{i=1024; j=7;}
// Устанавливаем регистры 2 таймера:
TCCR2A = 0<<COM2A1 | 0<<COM2A0 | 0<<COM2B1 | 0<<COM2B0 | 1<<WGM21 | 0<<WGM20;
TCCR2B = 0<<FOC2A | 0<<FOC2B | 0<<WGM22 | j;
OCR2A = (uint8_t)(F_CPU/(i*f))-1;
TIMSK2 = 0<<OCIE2B | 1<<OCIE2A | 0<<TOIE2;
SREG = 1<<7;
}
Данный скетч выполняет те же действия что и предыдущий. Но подача импульсов на вывод PUL осуществляется не в цикле основного кода, а по прерываниям от таймера.
Как только переменной step присваивается число отличное от 0, то на драйвер начинают поступать импульсы. Значение step убывает с каждым поданным импульсом, пока не достигнет 0, что приведёт к остановке вала двигателя. Частота подачи импульсов в Гц указывается функцией funcSetTimer2().
В данном скетче мы ждём завершение вращения вала проверяя значение step в цикле while, вместо этого можно выполнять другие действия, например, опрашивать концевики, датчики, измерять пройденное расстояние и т.д.
Код работает на Arduino UNO, Pro Mini, Nano, Mega.
Ссылки
- Шаговые двигатели.
- Драйвер шагового двигателя, TB6600 (4.0А).
- Драйвер шагового двигателя DM556 (5.6A).
- Драйвер шагового двигателя DM860H (7.2A).
- Wiki — Шаговые двигатели.
Опять я, к вам со своими обзорами, по ЧПУ.
Ну мало ли, может кому и интересно будет, про ЧПУ строение.
Для начала кто не знает, или просто знает такие слова, как контролер, драйвер и опторазвязка. В чем их отличие?
Контролер, есть универсальный, на несколько осей, обычно под небольшие токи, на нем и опторазвязку обычно ставят, релюхи всякие и т.д. и т.п.
Универсальный стоит подороже и если что полетит, то трудней причину искать будет.
Есть более простой контролер, там отсутствуют драйвера. Так как двигатели могут разной мощности быть, ну и под них разные драйвера. Так же на осях различных могут шаговые движки разные стоять. На разный ток.
То есть драйвер. самый нам нужный, чтобы ШД управлять. Там обычно перемычками, переключателями мы и выставляем ток и микрошаг для ШД.
Сейчас драйвера идут почти сплошь, уже с оптронами, то есть с опторазвязкой.
Но кто не знает, по привычке покупает, контролер с опторазвязкой на нем, а к ним уже драйвера подключает.
Я тоже кстати сглупил, заказал такой. Он по хорошему не сильно то и нужен.
Раб. поле я свое знаю, поэтому детали сразу под него разрабатываю. Конечники не сильно и нужны. Включение шпинделя, мне тоже как то не нужно.
Кто его знает, глюканет там контролер и пока я фрезу на мощном фрезере меняю, он возьмет и включится. Пальцы как с куста, улетят.
В общем теории немного, вам дал. Еще немного схемотехники по подключению драйверов на порты.
Есть 2 такие основные схемы подключения.
Китайцы в основном как один первую советуют. Но она не всегда срабатывает.
Я уже писал обзор покупки TB6600, а на самом деле там оказалась TB67S109AFTG. Микруха намного мелкоскопичней чем первая.
И по даташиту вроде как более слабая по току.
Обзор мой здесь mysku.club/blog/aliexpress/41551.html
Там подробно вроде всё обсудили. Поэтому после него я опять заказал драйвера на TB6600, где уже наглядно на фото видно, что стоит именно эта микруха.
Также выбирал, чтобы ток перемеником не накручивать, а то ошибка и спалить можно. Так как есть и такого исполнения, они немного подешевле будут.
А есть закрытого типа, они подороже. Ну и радиатор там помощней.
В общем описываю, что я заказал и получил.
Продавец хороший, быстро отправил и через пару недель, получил на почте, хотя вроде по деньгам и недорого. Был нормальный трек, который всю дорогу бился.
Границу как по маслу проскочил, а также таможню Екатеринбург. Даже удивительно, обычно там «черная яма». Видно от трека зависит.
Пришло в сером пакете, хорошо замотанным скотчем, упаковкой с пупырушками и сами драйвера в картонных коробках, без всяких надписей. Картон хороший.
Сами драйвера, неплохо выполненные. Пайка приличная. Емкость немного кривовато стояло на одном. Не стал выправлять.
Термопасты под TB6600 тоже не пожалели, даже с лишком, ваткой лишнее убрал с боков.
Для любителей рассматривать детали еще вид, крупно. Там и таблица переключателей, чтобы получать различные микрошаги и токи на драйвере.
Ну и еще пару вам видов с боку.
Думаю по самой железке теперь у вас представление есть.
Теорию всё могут и по обзору предыдущему посмотреть и по Инет детали.
Но практика как оказалась, совсем другую картину дает.
Во первых по первым мной заказанным драйверам на TB67S109AFTG, схема подключения которые китайцы дают. То есть вверху №1 Не работает.
Мучился, что только не делал и с подключением и настройками в Масн.
Крутила зараза лишь в одну сторону. Пока не подключил по схеме №2.
Тогда всё стало на свои места и заработало как положено.
Единственно опасаюсь на драйвере ток больше 2.6А давать. Хотя схему охлаждения по своему переделал. Заводская совсем не вдохновила.
Так вот сегодня пробывал и первые драйвера и вторые, на одних и тех же режимах. То есть ток 2.6А и микрошаг 1/16
И здесь все теории и даташиты к чертям просто полетели.
Первый заказанный драйвер, просто шуршит осями. А вот второй на оригинальной TB6600 скрип, дерганье какое то. Чувствуется, что движок как бы рывками крутит.
Вот вам и Термобутерброд. Он то оказался намного лучше.
Конечно ещё нужно поэксперементировать. Но уже видно. Так как перекидывал оси, один шепчет, другой скрипит.
Вот такие пироги. Всем Долгих лет жизни и удачи.
Спрашиваем не стесняемся. Любители минусовать, имейте все же хоть немного совести, прежде чем по кнопке тыкать.
Предупреждение тем кто будет покупать вообще драйвера.
Не знаю почему, но обычно драйвера когда получаете, выставлены на максимальные токи. Поэтому, если не глянете, и быстро подключите движок, то можете Джина получить в виде дымка.
Также переключатели, смотря какого исполнения, совсем не у всех ON вверху находиться, у некоторых наоборот вниз нужно переключить.
Будьте Внимательны!!! Джин не дремлит.
Ну и бонусы.
Бонусы от меня









































- Цена: US $8.89
Опять я, к вам со своими обзорами, по ЧПУ. Ну мало ли, может кому и интересно будет, про ЧПУ строение. Для начала кто не знает, или просто знает такие слова, как контролер, драйвер и опторазвязка. В чем их отличие? Контролер, есть универсальный, на несколько осей, обычно под небольшие токи, на нем и опторазвязку обычно ставят, релюхи всякие и т.д. и т.п. Универсальный стоит подороже и если что полетит, то трудней причину искать будет. Есть более простой контролер, там отсутствуют драйвера. Так как двигатели могут разной мощности быть, ну и под них разные драйвера. Так же на осях различных могут шаговые движки разные стоять. На разный ток. То есть драйвер. самый нам нужный, чтобы ШД управлять. Там обычно перемычками, переключателями мы и выставляем ток и микрошаг для ШД. Сейчас драйвера идут почти сплошь, уже с оптронами, то есть с опторазвязкой. Но кто не знает, по привычке покупает, контролер с опторазвязкой на нем, а к ним уже драйвера подключает. Я тоже кстати сглупил, заказал такой. Он по хорошему не сильно то и нужен. Раб. поле я свое знаю, поэтому детали сразу под него разрабатываю. Конечники не сильно и нужны. Включение шпинделя, мне тоже как то не нужно. Кто его знает, глюканет там контролер и пока я фрезу на мощном фрезере меняю, он возьмет и включится. Пальцы как с куста, улетят. В общем теории немного, вам дал. Еще немного схемотехники по подключению драйверов на порты. Есть 2 такие основные схемы подключения.

Думаю по самой железке теперь у вас представление есть. Теорию всё могут и по обзору предыдущему посмотреть и по Инет детали. Но практика как оказалась, совсем другую картину дает. Во первых по первым мной заказанным драйверам на TB67S109AFTG, схема подключения которые китайцы дают. То есть вверху №1 Не работает. Мучился, что только не делал и с подключением и настройками в Масн. Крутила зараза лишь в одну сторону. Пока не подключил по схеме №2. Тогда всё стало на свои места и заработало как положено. Единственно опасаюсь на драйвере ток больше 2.6А давать. Хотя схему охлаждения по своему переделал. Заводская совсем не вдохновила. Так вот сегодня пробывал и первые драйвера и вторые, на одних и тех же режимах. То есть ток 2.6А и микрошаг 1/16 И здесь все теории и даташиты к чертям просто полетели. Первый заказанный драйвер, просто шуршит осями. А вот второй на оригинальной TB6600 скрип, дерганье какое то. Чувствуется, что движок как бы рывками крутит. Вот вам и Термобутерброд. Он то оказался намного лучше. Конечно ещё нужно поэксперементировать. Но уже видно. Так как перекидывал оси, один шепчет, другой скрипит.Вот такие пироги. Всем Долгих лет жизни и удачи. Спрашиваем не стесняемся. Любители минусовать, имейте все же хоть немного совести, прежде чем по кнопке тыкать. Ну и бонусы.Бонусы от меня
Категорически приветствую всех читателей блога Live от iXBT!
Небольшой обзор драйверов TB6600 для шаговых двигателей 42/57/86.
Опять делюсь своим опытом приобретения товаров на китайской торговой площадке Taobao.
Я уже поднимал тему про посредника YOYBUY в прошлом обзоре.
Поэтому подробно останавливаться на выборе и заказе товаров на Таобао не буду (можно посмотреть в этом обзоре).
Для управления двигателями самосборных ЧПУ станков и 3D принтеров требуются специальные драйверы. Одни из самых распространенных – это дешевые драйверы типа TB6600/TB6560. И если TB6560 — это достаточно бюджетные драйверы, то TB6600 являются более продвинутыми как в плане настроек (ограничения тока, степпинг и т.п.), так и в плане мощности. Драйверы TB6600 позволяют управлять шаговыми двигателями типа 42/57/86 (это соответствует типоразмерам NEMA17/23/34) и выдают до 4.5А на обмотки.
Ссылка на Таобао: TB6600 в корпусе (¥23.80) и TB6600 без корпуса (¥27.50).
Тоже самое, но через посредника: TB6600 в корпусе ($3.78) и TB6600 без корпуса ($4.37). На Али подобное стоит около $10/шт. (за исключением ТВ6560, которые имеют более «слабые» характеристики, подешевле).
На рисунке TB6600 в корпусе (слева) и TB6600 без корпуса (справа).
Заказывал много, сразу под несколько проектов, так как выгоднее, чем на Али или в оффлайне.
Данные драйверы более мощные и имеют микростеппинг до 1/32, а также вполне подходят для 3D принтеров. Основное применение — работа в связке с шаговыми двигателями 42/57/86 в станках ЧПУ и прочих подобных самоделках.
Характеристики драйверов ТВ6600 (в корпусе)
- Рабочий ток/пиковый ток, до: 3.5А/4А
- Микрошаг: 32
- Импульсов на оборот: 6400
- Напряжение питания 9….42В постоянного тока.
- Масса: около 130 г
- Размеры: 96 х 56 х 35 мм
Это небольшой блок для монтажа в стойку/корпус, с двумя клеммными колодками. Корпус одновременно служит и радиатором охлаждения.
На корпусе нанесена таблица режимов работы
Устанавливаются режимы переключателями SW1-SW6 согласно таблице
Проверка массы (критично для большого заказа с Таобао)
Габаритные размеры 96 х 56 х 35 мм
Для сравнения = рядом со вторым драйвером ТВ6600, который без корпуса.
Характеристики драйверов ТВ6600 (без корпуса)
- Рабочий ток/пиковый ток, до: 4.2А/4.5А
- Микрошаг: 16
- Импульсов на оборот: 3200
- Напряжение питания 8….45В постоянного тока.
- Масса: около 100 г
- Размеры: 82 х 50 х 35 мм
Внешний вид драйвера ТВ6600 (без корпуса).
Несмотря на отсутствие корпуса, охлаждение стоит эффективное. Это массивный радиатор, закрывающий практически полностью плату.
Проверка размеров (82 х 50 х 35 мм)
И массы
Обратная сторона платы
Под радиатором скрывается интегральный драйвер от Toshiba TB6600HG. Термопаста присутствует, а также гальваническая развязка на основе 6N137.
Для сравнения разберем и другой драйвер. Откручиваем винты корпуса, снимаем крышку.
Снимаем плату с радиатора
Внешний вид печатной платы драйвера
На фото повторители и развязка
В данном случае установлен драйвер, аналогичный Тошибе, но в другом корпусе SI09AFTG
Оптроны DP817C
В обоих случаях присутствует гальваническая (оптическая) развязка.
Маркировка выводов
Сравнение двух плат
Проведем небольшой тест драйверов.
Соберем небольшую схему с Arduino и двигателем Nema23 57HS8430.
Загрузим скетч в Ардуино
Спойлер Скетч для проверки.
}
В результате проверил все драйверы ТВ6600. Двигатель управляется, теперь можно продолжать сборку DIY проекта.
Ну и далее, драйверы будут смонтированы вместе с управляющей платой в небольшой настольный станок ЧПУ.
В целом покупка на Таобао комплектующих для различных самоделок оправдана, выгода по стоимости практически в два раза.
P.s. обратите внимание: в некоторых лотах есть платная местная доставка. Обычно это около $2. Имеет смысл покупать несколько лотов у одного продавца, стоимость местной доставки так и остается $2. В этом случае доставка «размазывается» по стоимости всего заказа.
Если есть вопросы по покупкам на Таобао или по посреднику Yoybuy — задавайте!
Спасибо за внимание!
Статьи
7
30.11.2015
30.12.2017
Содержание
Основанная на чипе TB6600HG новая модель драйвера BL-TB6600-V1.2 пришла на замену популярному драйверу BL-TB6560-V2.0.Этот драйвер-контроллер подойдет для построения не только любительских систем ЧПУ, но и профессиональных, основаных на двигателях высокой мощности. Если сравнивать с предыдущим поколением драйвера TB6560AHG, то выходная мощность у TB6600HG возросла до 200Вт (как видим практическое удвоение по значению мощности), рабочее напряжение поднято с 35В (TB6560AHG) до 50В, рабочий ток увеличен до 4.5А (5А пиковое значение). Увеличена максимальная рабочая частота. Добавлены схемы защиты.
К основной «вкусности» данного драйвера можно отнести интеллектуальное управление током и использование ШИМ моделяции, благодаря чему есть возможность подключать к драйверу шаговые двигатели любого напряжения питания и тока — на установленном уровне микросхема сама ограничит максимальный ток.
| Свойства | Параметры |
|---|---|
| Входное напряжение силовой части | от 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 ключах с открытым коллектором
Пример подключения драйвера к контроллеру на 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-MACH-V1.1 можно узнать по ссылке Плата коммутационная (контроллер) BL-MACH-V1.1
СТАТЬЯ В ПРОЦЕССЕ НАПИСАНИЯ
Обновлено: 30.12.2017
Используемые источники:
- https://mysku.ru/blog/aliexpress/42324.html
- https://www.ixbt.com/live/lexus08/komplektuyuschie-dlya-samodelnogo-chpu-s-taobao.html
- http://totcnc.com/tblog/20_instr






























