Шаговый двигатель на AccelStepper

Шаговый двигатель на AccelStepper

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#1

Сообщение AlexCrane » 04.12.2019{, 22:24}

Бок управления шаговым двигателем на библиотеке AccelStepper

Наименование блока: ШагДвиг_mod (step/dir) INT_v2
ШД.png
ШД.png (4.42 КБ) 41162 просмотра

Работает на библиотеке AccelStepper.h и TimerOne.h (Не будет работать ШИМ на выходах завязанных на первое прерывание)
http://www.airspayce.com/mikem/arduino/ ... index.html

Параметры пользователя:
period - Период прерывания, мкс, Менять Оторожно
Step - Пин управления шагами контроллера
Dir - Пин направления вращения контроллера

Входы:
Continuous - При true постоянно шагаем, имеет больший приоритет перед EnSteps
SpeedContinuous - Скорость ШД для "постоянно шагаем"
Эти два входа можно использовать для поиска концевика и просто чтобы покрутить двигателем, но без ускорений

SetZeroPosition - Установка начальной позиции в 0. Использовать через RTrig

EnSteps - при переднем фронте начинаем шагать. Использовать через RTrig
MaxSpeed - Максимальная скорость шаг/сек
Acceleration - Ускорение шаг/сек2
Steps - Количество шагов для выполнения (hint: можно и отрицательные)
CCW - true крутить против часовой, иначе по

AbsSteps - Если true то шагаем по абсолютным координатам от нулевой позиции, иначе идем относительно последней позиции

StopAccel - Остановка с использованием текущей скорости и ускорения

Выходы:
Ready - true двигатель закончил движение
Position - Текущая позиция двигателя
-

-
Небольшой пример:
------------------------------------------------
Тест ШД 04 test.flp
(752.64 КБ) 737 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
ТЕСТ ШД v6.flp
(225.63 КБ) 677 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
Обновил 15.12.2019. Не включалось повторно бесконечное вращение
Обновил 14.01.2020. После остановки "бесконечного вращения" продолжал медленно шагать
Обновил 29.01.2020 до версии 1.2. Пофиксил обнаруженные баги.
Обновил 06.04.2020 до версии 1.3. Некорректно работал вход CCW
Обновил 12.11.2020 Добавил блоки для DUE и для драйверов на базе ULN2003, L298N и пр.

Примеры предоставленные участниками форума:
viewtopic.php?t=5919#p80991

Библиотеки
Accel_libraries.zip
(118.27 КБ) 1068 скачиваний
Вложения
ШД AlexCrane v1.3.ubl
(780.74 КБ) 1026 скачиваний
Последний раз редактировалось AlexCrane 12.11.2020{, 18:48}, всего редактировалось 9 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Шаговый двигатель на AccelStepper

#181

Сообщение ingener » 23.11.2020{, 13:37}

Davit07 писал(а):
23.11.2020{, 01:50}
Данный блок тестировал на 5и платах : Nano, Uno, Mega, Due, Esp. Максимальную скорость получилось развить 1200 об/мин,
Это 20 об.сек, для мотора с углом 1,8 это 4000 шагов в сек. Для DUE маловато....

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#182

Сообщение Davit07 » 23.11.2020{, 22:11}

ingener, Добрый вечер.
DUE , способно , без сомнений , но Шаговик не способен. Я думаю проблема в настройках блока. При достижении скорости 1300 об/мин , длина паузы меж импульсами с большим ускорением уменьшается.
Если не ошибаюсь , то предел у ШД 2000об/мин. Да и для чего его разгонять , на скорости выше 1000 крутящего момента теряется .
Вот заказал сервомотор с Китая , там и проведу тесты на данном блоке . Предел у сервомотора 3000 об/мин, надеюсь получиться разогнать его, используя блок AlexCrane

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Шаговый двигатель на AccelStepper

#183

Сообщение Ingwar » 23.11.2020{, 22:25}

Davit07 писал(а):
23.11.2020{, 22:11}
Если не ошибаюсь , то предел у ШД 2000об/мин.
При экспериментах легко разгонял шаговик (от 3д принтера) 3000+. Тут решающим будет напряжение питание шаговика. Соответственно и драйвер должен "переваривать" более 30В.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#184

Сообщение Davit07 » 23.11.2020{, 22:48}

Ingwar писал(а):
23.11.2020{, 22:25}
Davit07 писал(а):
23.11.2020{, 22:11}
Если не ошибаюсь , то предел у ШД 2000об/мин.
При экспериментах легко разгонял шаговик (от 3д принтера) 3000+. Тут решающим будет напряжение питание шаговика. Соответственно и драйвер должен "переваривать" более 30В.
Есть у меня комплект ШД драйвер блок на 48 или 60 в . Проверю и отпишусь

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Шаговый двигатель на AccelStepper

#185

Сообщение ingener » 24.11.2020{, 08:45}

Вопрос не в возможностях мотора, а в использовании микрошага (деление сигнала) в драйвере. Просто сравните, как работает мотор (лучше с нагрузкой) на одной и той же частоте при делении на 1 и, к примеру, на 8.

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#186

Сообщение Davit07 » 25.11.2020{, 17:59}

Добрый день. При загрузки одного и того же скетча, с 2 блоками управления ШД с кнопки , МЕГА работает хорошо . Загружаею в Дуе, соответственно с блоками под Дуе , на кнопку реагирует при 2 илр 4 нажатии . В чем может быть ошибка?

Отправлено спустя 3 часа 1 минуту 28 секунд:
Забыл указать самое главное
С блоком меню и LCD d проекте

Отправлено спустя 2 минуты 52 секунды:
ingener писал(а):
24.11.2020{, 08:45}
Вопрос не в возможностях мотора, а в использовании микрошага (деление сигнала) в драйвере. Просто сравните, как работает мотор (лучше с нагрузкой) на одной и той же частоте при делении на 1 и, к примеру, на 8.
У меня есть много разного железа. Укажи более подробно, проведу эксперименты и отвечу на поставленный вопрос, если есть интерес

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#187

Сообщение Davit07 » 08.12.2020{, 02:36}

Доброго дня .
Функция "Защита от зависания " может как то повлиять на работу блока ?

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#188

Сообщение Davit07 » 11.12.2020{, 03:51}

ingener писал(а):
24.11.2020{, 08:45}
Вопрос не в возможностях мотора, а в использовании микрошага (деление сигнала) в драйвере. Просто сравните, как работает мотор (лучше с нагрузкой) на одной и той же частоте при делении на 1 и, к примеру, на 8.
Протестировал несколько видов шд , nema 34, без и с обратной связью . В первом примере , шд без обратной связи, нагрузка плоншайпа Ф360 мм закреплена в ступице на подшибникех , привод ременной , шкивы 1:10. Дробление шага 1/16, 32 000 импульса на оборот , с лёгкостью разогнал до 200 об/мин ( дальше страшно стало ).
Шд с обратной связью: перемещение шпинделя в втулке графитовой капролон. Втулка разрезна и находиться в корпусе похожие на хомут, болты м16 затянуты без сильного усилия . В очнм вес будет не меньше 30 кг ( по моему мнению). Шд работает без проблем до скорости 150 об мин ( выше скорость дать не получилось ) дробление шага от 400 до 40 000 . Приводиться в действие шкивом 1:3 и швп 1604. Бремя отврнмеги драйвер уход в ошибку из- за нагрузки.
Плата DUE

Отправлено спустя 20 минут 47 секунд:
viktorz1 писал(а):
24.09.2020{, 00:24}
Подскажите пожалуйста, на этом блоке можно собрать просто крутилку с регулировкой скорости вращения? Хочу собрать станочек свивки провода. Так как диаметр провода будет разный то скорее всего нужно будет подстраивать соотношение скоростей двух моторов (тип Nemo 17). Второе, это плавный старт с начальной скоростью вращения и если всё устраивает то по необходимости увеличение оборотов до номинальной.
Может есть у кого подходящий пример нечто похожего? Был бы очень признателен в помощи.
viktorz1 писал(а):
24.09.2020{, 00:24}
Подскажите пожалуйста, на этом блоке можно собрать просто крутилку с регулировкой скорости вращения? Хочу собрать станочек свивки провода. Так как диаметр провода будет разный то скорее всего нужно будет подстраивать соотношение скоростей двух моторов (тип Nemo 17). Второе, это плавный старт с начальной скоростью вращения и если всё устраивает то по необходимости увеличение оборотов до номинальной.
Может есть у кого подходящий пример нечто похожего? Был бы очень признателен в помощи.
Доброго дня .
На днях закончил проект, пример сырой , требуеться подбор оптимальной скорости шд . Завтра выложу, уверен весь проект Вам не подпйдет , возможно частично используете. Работа 2 шд состоит из 2х контролёров , DUE , Nano , управление ШД и меню с передачей переменной UART , Due от блоков I2C висит постоянно , по этой причине было принято решение создать передачу данных между платами

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#189

Сообщение Davit07 » 11.12.2020{, 23:02}

Прошу строго не судить
Вложения
Управление меню энкодером NANO.flp
(1.51 МБ) 62 скачивания
Due Сварка, 8 точек.flp
(1.45 МБ) 66 скачиваний

Аватара пользователя
ElectronicRTC
Рядовой
Сообщения: 49
Зарегистрирован: 09.07.2019{, 06:13}
Репутация: 1
Откуда: Москва
Имя: Евгений

Шаговый двигатель на AccelStepper

#190

Сообщение ElectronicRTC » 12.12.2020{, 09:45}

Доброго дня всем, возможно не совсем по теме вопрос: а для этого блока используется какая то микросхема или модуль для ардуино есть ?
Хотел понять в железе как реализовать управление для шагового двигателя, да и к тому же разные двигатели бывают: просто 2 обмотки, обмотки со средними точками. Можно ссылочку на модуль
Промышленная электроника и оборудование

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#191

Сообщение Davit07 » 12.12.2020{, 12:47}

ElectronicRTC писал(а):
12.12.2020{, 09:45}
Доброго дня всем, возможно не совсем по теме вопрос: а для этого блока используется какая то микросхема или модуль для ардуино есть ?
Хотел понять в железе как реализовать управление для шагового двигателя, да и к тому же разные двигатели бывают: просто 2 обмотки, обмотки со средними точками. Можно ссылочку на модуль
Доброго дня .
Блок созданный, AlexCrane работает с сигналами Step, Dir. Управляющий сигнал Step отвечает за шаги , Dir направление. Шаговым двигателем управляет драйвер, принимающий эти сигналы. Данный блок может управлять любым двигателем , с помощью драйвера.
Не ленитесь искать в интернете, примеров очень много

ztekem
Рядовой
Сообщения: 3
Зарегистрирован: 04.12.2018{, 17:51}
Репутация: 0
Имя: Андрей

Шаговый двигатель на AccelStepper

#192

Сообщение ztekem » 16.12.2020{, 09:16}

День добрый!
при заливке выдаёт такую вот ошибку

#include "user_interface.h";

^

pr7:17:1: error: 'AccelStepper' does not name a type

AccelStepper Stepper01(1, 10, 11); //1 - режим "external driver" (A4988)

^

C:\Users\zteke\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'void setup()':

pr7:44:1: error: 'Stepper01' was not declared in this scope

Stepper01.setMinPulseWidth(lengthPulse);

^

pr7:44:28: error: 'lengthPulse' was not declared in this scope

Stepper01.setMinPulseWidth(lengthPulse);

^

C:\Users\zteke\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'void loop()':

pr7:107:2: error: 'Stepper01' was not declared in this scope

Stepper01.setMaxSpeed(MaxSpeed01);

^

pr7:111:2: error: 'Stepper01' was not declared in this scope

Stepper01.setAcceleration(Acceleration01);

^

pr7:117:2: error: 'Stepper01' was not declared in this scope

Stepper01.setSpeed(SpeedContinuous01*(curCCW01 ? -1 : 1));

^

pr7:120:25: error: 'Stepper01' was not declared in this scope

if (SetZeroPosition01) {Stepper01.setCurrentPosition(0); curSpeed01=0; }

^

pr7:125:18: error: 'Stepper01' was not declared in this scope

if (AbsSteps01) {Stepper01.moveTo(Steps01*(curCCW01 ? -1 : 1));}

^

pr7:126:8: error: 'Stepper01' was not declared in this scope

else {Stepper01.move(Steps01*(curCCW01 ? -1 : 1));}

^

pr7:128:19: error: 'Stepper01' was not declared in this scope

if (StopAccel01) {Stepper01.stop();}

^

pr7:131:14: error: 'Stepper01' was not declared in this scope

Position01 = Stepper01.currentPosition();

^

exit status 1
'AccelStepper' does not name a type

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#193

Сообщение AlexCrane » 16.12.2020{, 09:58}

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

ztekem
Рядовой
Сообщения: 3
Зарегистрирован: 04.12.2018{, 17:51}
Репутация: 0
Имя: Андрей

Шаговый двигатель на AccelStepper

#194

Сообщение ztekem » 20.12.2020{, 11:04}

В том и дело что библиотека установлена, и в разделе примеры она появилась с примерами.
Но при заливке вот такое.

Отправлено спустя 7 минут 21 секунду:
extern "C" {
#include "user_interface.h";
}
bool Continuous01;
int SpeedContinuous01;
bool SetZeroPosition01;
bool EnSteps01;
float MaxSpeed01;
float Acceleration01;
int Steps01;
bool CCW01;
bool AbsSteps01;
bool StopAccel01;
bool Ready01;
long Position01;
AccelStepper Stepper01(1, 10, 11); //1 - режим "external driver" (A4988)
int curSpeed01= 0;
int curMaxSpeed01= 0;
int curAcceleration01= 0;
bool curCCW01=false;
bool EnSteps01temp= false;
int _gtv1;
bool _bounseInputD2S = 0;
bool _bounseInputD2O = 0;
unsigned long _bounseInputD2P = 0UL;
bool _bounseInputD14S = 0;
bool _bounseInputD14O = 0;
unsigned long _bounseInputD14P = 0UL;
bool _changeNumber1_Out = 0;
int _changeNumber1_OLV;
bool _count1I = 0;
bool _count1_SCST = 0;
int _count1_Value = 0;

void setup()
{
pinMode(14, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);


_bounseInputD2O = digitalRead(2);
_bounseInputD14O = digitalRead(14);
Stepper01.setMinPulseWidth(lengthPulse);

}
void loop()
{

int _tempVariable_int;

bool _bounceInputTmpD2 = (digitalRead (2));

if (_bounseInputD2S)
{
if (millis() >= (_bounseInputD2P + 40))
{_bounseInputD2O= _bounceInputTmpD2; _bounseInputD2S=0;}
}
else
{
if (_bounceInputTmpD2 != _bounseInputD2O )
{_bounseInputD2S=1; _bounseInputD2P = millis();}
}
bool _bounceInputTmpD14 = (digitalRead (14));

if (_bounseInputD14S)
{
if (millis() >= (_bounseInputD14P + 40))
{_bounseInputD14O= _bounceInputTmpD14; _bounseInputD14S=0;}
}
else
{
if (_bounceInputTmpD14 != _bounseInputD14O )
{_bounseInputD14S=1; _bounseInputD14P = millis();}
}




//Плата:1
if (!(_bounseInputD14O)){
if ( ! _count1I) {
_count1I = 1;
_count1_Value = _count1_Value + 1;
}} else {
_count1I = 0;}
if (_bounseInputD2O){
if ( ! _count1_SCST) {
_count1_SCST = 1;
_count1_Value = _count1_Value - 1;
}} else {
_count1_SCST = 0;}
if (_changeNumber1_Out) {_changeNumber1_Out = 0;} else {_tempVariable_int = _count1_Value;
if (_tempVariable_int != _changeNumber1_OLV) {_changeNumber1_OLV = _tempVariable_int; _changeNumber1_Out = 1;}
}
Continuous01 = 0;
SpeedContinuous01 = 0;
SetZeroPosition01 = 0;
EnSteps01 = _changeNumber1_Out;
MaxSpeed01 = 800.00;
Acceleration01 = 400.00;
Steps01 = (_count1_Value)*(500);
CCW01 = (_count1_Value) > (_gtv1);
AbsSteps01 = 0;
StopAccel01 = 0;
if (curMaxSpeed01 != MaxSpeed01) {
Stepper01.setMaxSpeed(MaxSpeed01);
curMaxSpeed01 = MaxSpeed01;}

if (curAcceleration01 != Acceleration01) {
Stepper01.setAcceleration(Acceleration01);
curAcceleration01 = Acceleration01;}

if (curCCW01 != CCW01) {curCCW01 = CCW01;}

if (curSpeed01 != SpeedContinuous01) {
Stepper01.setSpeed(SpeedContinuous01*(curCCW01 ? -1 : 1));
curSpeed01 = SpeedContinuous01;}

if (SetZeroPosition01) {Stepper01.setCurrentPosition(0); curSpeed01=0; }
if (Continuous01) { curSpeed01=0;}
else{
if (EnSteps01) {

if (AbsSteps01) {Stepper01.moveTo(Steps01*(curCCW01 ? -1 : 1));}
else {Stepper01.move(Steps01*(curCCW01 ? -1 : 1));}
}
if (StopAccel01) {Stepper01.stop();}
}

Position01 = Stepper01.currentPosition();

_gtv1 = Position01;






}

bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}

Ругается на эту строчку. в коде нет обычного подключения библиотеки вида
#include "AccelStepper";
так и должно быть?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#195

Сообщение AlexCrane » 20.12.2020{, 22:31}

ztekem, Добавь блок ШД Основной
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Davit07
Сержант
Сообщения: 119
Зарегистрирован: 05.01.2020{, 03:39}
Репутация: 5
Имя: Давит

Шаговый двигатель на AccelStepper

#196

Сообщение Davit07 » 25.12.2020{, 03:01}

Доброго дня .
Хочу всех поздравить с Рождеством и наступающем Новым годом

Создалась потребность в управление шаговиком с помощью энкодера . Как можно использовать данный энкодер с блоком ШД?
Вложения
Screenshot_20201225_025330_com.alibaba.aliexpresshd.jpg

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Шаговый двигатель на AccelStepper

#197

Сообщение Di123 » 27.12.2020{, 07:40}

как к блоку подключить шд 28byj-48 ?
там тока 2 пина и то не понятно на какой провод подключать
2020-12-27_113639.png
2020-12-27_113639.png (9.92 КБ) 1170 просмотров

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#198

Сообщение AlexCrane » 27.12.2020{, 15:54}

Di123, Использовать блоки ШД1_v1.3_UNI и ШД основной для 1х ШД v1.3
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

ztekem
Рядовой
Сообщения: 3
Зарегистрирован: 04.12.2018{, 17:51}
Репутация: 0
Имя: Андрей

Шаговый двигатель на AccelStepper

#199

Сообщение ztekem » 02.01.2021{, 09:58}

Спасибо что помогаете, но теперь вот такое
теперь ругается на
ПРЕДУПРЕЖДЕНИЕ: библиотека TimerOne должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.
C:\Users\zteke\AppData\Local\Temp\flprog\pr2\pr2.ino:7:28: warning: extra tokens at end of #include directive [enabled by default]

#include "user_interface.h";

^

C:\Users\zteke\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void setup()':

pr2:51:8: error: 'class TimerOne' has no member named 'initialize'

Timer1.initialize( 100 ); // инициализация таймера 1,

^

pr2:52:8: error: 'class TimerOne' has no member named 'attachInterrupt'

Timer1.attachInterrupt ( timerInterrupt, 100 ); // задаем обработчик прерываний

^

Несколько библиотек найдено для "AccelStepper.h"
Используется: c:\Program
Не используется: c:\Program
exit status 1
'class TimerOne' has no member named 'initialize'

проверил начие дублей, нет нигде. почему ругается не пойму.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#200

Сообщение AlexCrane » 02.01.2021{, 14:32}

ztekem, Для esp8266 вот такой попробуй без основного
Вложения
ШД1_ESP_v1.5_(CODE).ubi
(128.96 КБ) 145 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ответить

Вернуться в «Управление шаговыми двигателями и сервоприводами»