Блок ускорения/торможения Шагового двигателя

Создание нового ПБ ШД

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#1

Сообщение Priyatel » 01.03.2019{, 14:56}

Уважаемые господа - товарищи!
Имею законченную разработку ручного управления для станков с приводами ШД (управление от энкодера, авто подача/ускоренная подача, индикация перемещений, программирование конечной точки перемещения и т.д.).
viewtopic.php?f=54&t=4600&p=64206#p64206
Но это приемлемо для сравнительно небольших ШД. При использовании более мощных ШД, при резком старте/тормозе, возникают сильные стуки в электро-механической части. Это не очень здорово, мягко говоря, сказывается на работе и ресурсе станка.
Виной всему - отсутствие функции разгона/торможения в блоках.
В консультациях с vacz и с Sancho, , выяснилось, что существующие ПБ не очень способны сделать это.
Начитавшись в других форумах о возможности формирования режима ускорения/торможения, нашел библиотеки с данными функциями.
AccelStepper-master.zip
(62.02 КБ) 42 скачивания
AccelStepper-1.59.zip
(108.83 КБ) 41 скачивание
Но эти библиотеки тоже не без "изъяна". Во всяком случае, возникают проблемы с индикацией перемещений.
Лучшие рецензии на библиотеку нашего соотечественника, написанную на основании вышеизложенных.
http://arduino.ru/forum/programmirovani ... celstepper
stepperQ-master.zip
(220.65 КБ) 52 скачивания
Попробовал написать свой блок (это второй ПБ CODE в моей практике FLProg). Но, видно еще не дорос. Никак не пойму, как выводить функции на контакты Блока и связывать с командами библиотеки.
В общем задача такая:
Входы блока
- Старт (бесконечное количество шагов до команды "Стоп") stepperq.moveTo(100000L);
- Одиночный старт (для возможности управления от энкодера по каждому тику) "stepper.run(); ? "
- Индексированное перемещение (по заданному количеству шагов) stepperq.move();
- Стоп stepperq.stop();
- Направление "?"
- Скорость stepperq.setSpeed();
- Ускорение/торможение stepperq.setAcceleration();
- Делитель (множитель) шагов - кратность количества импульсов каждому сигналу "Старт"
(примерно такая функция "Divider", которая была в генераторах от Слимпера) "stepRevo=(); ?"
Выходы блока
- Выходные Step/Dir (без Enable) - пины Ардуино, с возможностью переназначения. Режим 1 в библиотеке.
- Количество сделанных шагов (для индикации перемещения) "??"
Вырисовывается три режима.
- Режим перемещения от энкодера.
- Режим вкл./выкл. подачи без индексирования (нет конечной точки останова). Вкл. подачи - мягкий разгон - проход на заданной скорости - выкл. подачи - замедление с остановом (прогнозируемый пролет).
- Режим с индексированием. Как предыдущий режим, но останов с замедлением происходит точно к заданной точке.

Если у кого-то есть навыки в написании блока, есть время и есть желание, помогите с написанием сего. Или подскажите поэтапно, как это выполнить самому.

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#2

Сообщение Priyatel » 05.03.2019{, 12:59}

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

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Блок ускорения/торможения Шагового двигателя

#3

Сообщение AVGN » 05.03.2019{, 16:01}

Priyatel, форум альтруистический. Как у кого возникнет интерес или просто желание , то что то и получите.
С этой библиотеки пытались блок сделать?
Priyatel писал(а):
01.03.2019{, 14:56}
stepperQ-master.zip
Где Ваш не получающийся блок?
Последний раз редактировалось AVGN 05.03.2019{, 21:13}, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#4

Сообщение Priyatel » 05.03.2019{, 20:11}

Вот я писал о трудностях:
Priyatel писал(а):
01.03.2019{, 14:56}
Никак не пойму, как выводить функции на контакты Блока и связывать с командами библиотеки.
Поэтому блок пока сводится в расстановке команд, которые я описал, в Setup и Loop.
Что делать дальше, пока не представляю.
Вы бы описали процедуру, а я, думаю, догадался бы, как присвоить остальные выходы/входы к командам.
И не надо так критично. Ведь в недавнем прошлом, Вы примерно так же начинали?

Первый блок в моей практике был такой:
RC-PWM-1ch__(CODE).ubi
(16.87 КБ) 46 скачиваний
Мне не понятно было, как развести (размножить) блоки в пределах программы, присвоив им различные входы на Ардуино. Я вышел из положения, переписывая номера выводов в каждом блоке под свой канал.
Так что, пока такие вот познания.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Блок ускорения/торможения Шагового двигателя

#5

Сообщение AVGN » 05.03.2019{, 21:20}

Priyatel писал(а):
05.03.2019{, 20:11}
Вы бы описали процедуру, а я, думаю, догадался бы, как присвоить остальные выходы/входы к командам.
И не надо так критично. Ведь в недавнем прошлом, Вы примерно так же начинали?
У меня нет прошлого только оставшаяся вечность :yes:
А процедуру автор FLProg в 2016 изложил вот здесь Описание работы с блоками пользователя на основе кода на C
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#6

Сообщение Priyatel » 05.03.2019{, 21:29}

А у меня нет будущего, так как жить осталось совсем немного. А Вы меня какими-то процедурами лечите. Вы что, врач? Я думаю, у меня хватило сообразительности полазить по форуму и почитать на досуге.

valand
Рядовой
Сообщения: 63
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Блок ускорения/торможения Шагового двигателя

#7

Сообщение valand » 06.03.2019{, 00:47}

вот, может натолкнет на какие мысли, аналог примера "пропорционал контрол" из библиотеки.
Не уверен что правильно распихал, учусь.
stepper_test_(CODE).ubi
(15.41 КБ) 43 скачивания
тест шаговика ускорение.flp
(33.86 КБ) 51 скачивание

Mining
Сержант
Сообщения: 148
Зарегистрирован: 31.10.2016{, 15:01}
Репутация: 4
Имя: Алексей

Блок ускорения/торможения Шагового двигателя

#8

Сообщение Mining » 06.03.2019{, 11:10}

Priyatel писал(а):
05.03.2019{, 21:29}
А у меня нет будущего, так как жить осталось совсем немного. А Вы меня какими-то процедурами лечите.
вот мышление ... одни видят оставшуюся вечность а у других совсем немного... да всем нам осталось оставшуюся вечность :smile171:
Так ведь Вы сами написали :
Priyatel писал(а):
05.03.2019{, 20:11}
Вы бы описали процедуру
Эту процедуру действительно Сергей , автор программы, уже описал и даже показал на видеоуроке.
Или Вы считаете что Вам знатоки опишут лучше чем автор программы описал?
Все же тут учимся на уроках от автора программы. Только он знает как она крутится.
А что бы самому освоить изготовление блоков надо знать язык С++. Я так понимаю Вы им не владеете.
И вы Priyatel не прочли главный наверно вопрос от AVGN - на какой библиотеке хотите блок сделать.
А блоки вообще все здесь делают из примеров к библиотеке.
Выкладывайте пример кода C и Вам наверняка быстрее помогут.

Отправлено спустя 4 минуты 36 секунд:
Вот этот пример Вам поможет решить Вашу задачу:

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#9

Сообщение Priyatel » 06.03.2019{, 13:19}

Огромное спасибо всем вам, кто откликнулся.
valand, персональное Вам спасибо.
Из представленного Вами блока я понял, что достаточно, например, в команде "stepperq.setAcceleration();" прописать в скобках имя переменной, которая и будет входом для вводимого значения. Именно эта подсказка мне нужна была изначально!
Mining писал(а):
06.03.2019{, 11:15}
И вы Priyatel не прочли главный наверно вопрос от AVGN - на какой библиотеке хотите блок сделать.
Я писал, что на библиотеке "stepperQ". А она, в свою очередь, написана на библиотеке "AccelStepper".
Пример, который Вы рекомендовали, как раз и присутствует в одной из них. Сделать Ctrl+C/Ctrl+V, дело не хитрое.
Я сам преподаватель, с сорокалетним стажем. Но годы, наверно берут свое. И понимание нового стало хуже усваиваться. Зато valand, практически сразу дал ответ на мой вопрос, без тыканья носом...
Сейчас двигаюсь дальше и провожу эксперименты. Что получится - буду выкладывать. Но остались еще вопросы, которые изложу по мере освоения материала.

P.S.
Слишком короток век - позади до обидного мало, был мороз - не мороз, да и зной был не очень-то зной.
Только с каждой весной все острей ощущенье финала, этой маленькой пьесы, что придумана явно не мной.
Это словно в кино - где мы в зале и мы на экране. Всем обещан полет и сверкают огни полосы.
Только время пришло - отпирает, трезвонит ключами. И разрушено все - и со вздохом глядишь на часы.
Кто тут прав, кто не прав, я прошу вас, не надо не спорьте. Слишком короток век - не прошел бы за спорами весь.
Мы увидимся все в позаброшенном аэропорте, при попытке успеть на когда-то отправленный рейс.

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

Блок ускорения/торможения Шагового двигателя

#10

Сообщение Ivan_Kornege » 06.03.2019{, 13:55}

Priyatel писал(а):
06.03.2019{, 13:19}
Из представленного Вами блока я понял, что достаточно, например, в команде "stepperq.setAcceleration();" прописать в скобках имя переменной, которая и будет входом для вводимого значения. Именно эта подсказка мне нужна была изначально!
а если изучить программирование Ардуино, то такие подсказки и нафик не нужны :smile390:

valand
Рядовой
Сообщения: 63
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Блок ускорения/торможения Шагового двигателя

#11

Сообщение valand » 08.03.2019{, 01:40}

Priyatel писал(а):
06.03.2019{, 13:19}
провожу эксперименты
есть проблемы с ускорением в той библиотеке что вы выше прикрепили, здесь описаны
И не понятно исправили или нет, скачанная оттуда библиотека (самая свежая должна быть), но выдает ошибку при компиляции любого примера. Кроме того сам автор говорит что это не очень подходит для маленьких скоростей, а вам для станков как я понимаю малые важнее.

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#12

Сообщение Priyatel » 08.03.2019{, 11:12}

valand, большое спасибо за информацию. Эту библиотеку как раз оттуда и скачивал. О заявленных проблемах знаю. На низких частотах как раз работает очень устойчиво, а на высоких идет девиация (низкочастотное качание). Больше проблем с установкой ускорений. Наверно что-то не так делаю.Так как удостовериться или опровергнуть данные из GitHub пока не удалось, слишком критичные и пустобрешные у меня наставники. Решил связаться с автором библиотеки. Он живет в Дюссельдорфе. Есть тенденция к развитию. Как только будет положительный результат - отпишусь. Но, скорее всего, в личку Вам. Не очень хочется здесь общаться!

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Блок ускорения/торможения Шагового двигателя

#13

Сообщение AVGN » 08.03.2019{, 15:26}

Priyatel писал(а):
08.03.2019{, 11:12}
слишком критичные и пустобрешные у меня наставники.
Это сейчас о чем? Не удалось усвоить видеоурок от автора программы, я Вам ссылку давал помните.
И посчитали урок от автора пустобрешьем. Отлично -отблагодарил за альтруистический труд.
Priyatel писал(а):
08.03.2019{, 11:12}
Не очень хочется здесь общаться!
Что же так расстраиваться это альтруистический ресурс. Помогли спасибо. Нет на нет и суда нет.
Это же хобби.
Куда Вы торопитесь -сделаете свою поделку.
Или коммерческий проект, сроки поджимают ?
Тогда в ветку по приему заказов -найдутся кто любой каприз за Ваши деньги и в Ваши сроки.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#14

Сообщение Priyatel » 08.03.2019{, 16:33}

AVGN, хватит издеваться. Я на Вас пожалуюсь!

Anydy

Блок ускорения/торможения Шагового двигателя

#15

Сообщение Anydy » 08.03.2019{, 20:57}

Прекращаем препираться.
Priyatel, в словах пользователя AVGN, я не увидел никаких издевательств. Все верно - на форуме никто никому ничего не должен. Есть возможность помогут, нет так нет. А вам как раз бы стоило извиниться за оскорбление людей вам же помогающих.

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#16

Сообщение Priyatel » 08.03.2019{, 21:30}

Как Вам не стыдно Люди - вы звери. Я всего навсего просил о поддержке. Эта свора мне ни в чем не помогла. Помогли другие люди. И им, еще раз - спасибо. После этого - этот... мне пытается ставить минусы. Вы посмотрите на другие форумы. Как они ведут себя? Они что, хозяева Вселенной? А я два раза обращался лично к Вам Anydy за помощью. Но ни одного ответа. Значит - Вы покрываете действия ХАМОВ.

Anydy

Блок ускорения/торможения Шагового двигателя

#17

Сообщение Anydy » 08.03.2019{, 21:48}

Priyatel, Что вам не понравилось в этой теме, кто что сказал не так? Это обычное явление на всех форумах - когда знающему человеку надоедает отвечать новичкам на одни и те же вопросы - просто отправляют читать информацию. Я вот тоже не увидел в этой теме ваши лично созданные блоки которые у вас не работают.....но поддержку вы требуете...какую? Написать за вас блок?
Но вы же вместо спасибо говорите - пустобрехи, свора, звери, хамы....

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#18

Сообщение Priyatel » 08.03.2019{, 23:02}

Я ничего не требовал и не кого ни к чему не обязывал. Я только попросил о помощи, рассказав о задачах будущего ПБ. В ответ мне посыпались изречения о моей неграмотности в С++. Я еще раз объяснюсь: если бы я был докой в программировании (я об этом писал в первом заявлении к Вам), то на этом Форуме меня бы не было.
Я, профессиональный моделист, Мастер спорта СССР, руководитель Центра технического творчества детей и молодежи "Моделист", профессиональный токарь, фрезеровщик, шлифовщик, заточник, слесарь - инструментальщик, специалист ВК по ЧПУ оборудованию, авиационный инженер по приборам, автоматам и радиоэлектронному оборудованию, инженер - конструктор ЛА. Почему я должен сменить свою профессиональную ориентацию на склоне лет в пользу С++? Моей задачей было создание миниатюрных станков для технического творчества с электронно-механическим управлением, как ЧПУ, так и без него. Обсуждение очень хорошо проходило viewtopic.php?t=4600. Заметьте, там никто не намекнул о моей непрофессиональной непригодности в С++. Но, возникла ситуация, когда люди мне сказали в личной переписке, что их познания в этой области исчернаны. Посоветовавшись с Sancho, он сказал, что лучше создать новую тему. Я ее создал. Никто даже не обратил внимания. На пятый день я решил напомнить о себе. А дальше Вы все знаете...

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Блок ускорения/торможения Шагового двигателя

#19

Сообщение nalnik » 08.03.2019{, 23:09}

Priyatel писал(а):
08.03.2019{, 23:02}
Я, профессиональный моделист, Мастер спорта СССР, руководитель Центра технического творчества детей и молодежи "Моделист", профессиональный токарь, фрезеровщик, шлифовщик, заточник, слесарь - инструментальщик, специалист ВК по ЧПУ оборудованию, авиационный инженер по приборам, автоматам и радиоэлектронному оборудованию, инженер - конструктор ЛА.
Вот - умных к умным а Вас к нам - занесло.

Отправлено спустя 6 минут 10 секунд:
Priyatel писал(а):
08.03.2019{, 23:02}
Никто даже не обратил внимания. На пятый день я решил напомнить о себе
А что Вы хотели?
Адрес руководитель Центра технического творчества детей и молодежи "Моделист" покажите или хотя бы заполните профиль.
Последний раз редактировалось nalnik 08.03.2019{, 23:21}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Блок ускорения/торможения Шагового двигателя

#20

Сообщение Priyatel » 08.03.2019{, 23:21}

nalnik писал(а):
08.03.2019{, 23:15}
Вот - умных к умным а Вас к нам - занесло.
Не всегда же летать в облаках, надо и вниз посмотреть...

Ответить

Вернуться в «Помогите, а то я "нимагу"»