PDA

Просмотр полной версии : управление шаговым двигателем



кречет
22.06.2021, 05:20
Здравствуйте.
Собственно один два вопроса.
1.Может ли ПЛК 110 управлять ШД по не целым числам например- расстояние 25,5мм.?
2. Необходим ли собственный драйвер ШД для этой задачи ?
( я не программист, но нужно общее понимание)

maximov2009
22.06.2021, 07:08
Добрый день.
Насколько я понимаю в шаговых двигателях.
Драйвер нужен обязательно. ПЛК выдаёт лишь импульсы, для поворота двигателя на ОДИН шаг.
Величина ШАГА, по сути дела на сколько градусов или долей градуса повернётся двигатель, настраивается в самом драйвере ШД. Обычно при помощи набора переключателей.
Эта величина также зависит от конструкции двигателя и драйвера.
Поскольку Вас интересует не поворот самого шаговика (ШД) а линейное перемещение, то судя по всему существует преобразователь вращения в линейное перемещение.
Поэтому Вам нужно определить минимальный поворот (шаг) двигателя, затем соотнести (пересчитать) на сколько при этом произойдёт Линейное перемещение механизма.
Вот с такой минимальной дискретностью(градацией) Вы и сможете управлять механизмом.

Например если у Вас дискретность получилась равной 0,1 мм, то для перемещения на расстояние в 25,5мм Вам нужно будет с ПЛК на вход драйвера ШД подать 255 импульсов.
Если шаг составит 0,5 мм, то нужно 51 импульс.
Ну а если шаг = 1мм, то уже никак точно не получится, или перелет или недолет.
Так что уточняйте конструкцию.
Вот как то так.
С уважением.

кречет
22.06.2021, 07:45
День добрый спасибо за отклик.
поясню- на данный момент один оборот ШД соответствует 5мм линейного перемещения и управляется своим же драйвером.
в свою очередь драйвер под управлением Ардуино+ шилд 2560+дисплей.
на дисплее я могу перемещать двигатель пошагово - 10мм, 1мм,01мм. (в ручном режиме)
программа работы ШД записана на СД карту.в этом коде есть так же не целые значения
Суть заключается в следующем ,возможно ли управление заменить на ПЛК Овен и панель оператора?
(дробление шага установлено 1600.Простите я путаюсь ,шаги ,обороты ,градусы)

Cs-Cs
22.06.2021, 09:05
кречет Я не сильно спец, но ПЛК всегда будет медленнее голого микроконтроллера.
Например, импульсы он выдать сможет, но развить большую скорость двигателя - нет.
Может быть удобнее оставить ардуинку (если не требуется сертификация и применение на производстве) и связать её с ПЛК по RS-232/RS-485 и обмениваться командами между ними? А команды сделать выского уровня вида "прокрутить на хх шагов / nn градусов с такой-то скоростью"?

кречет
22.06.2021, 09:50
применение на производстве

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

Dim252
22.06.2021, 14:16
применение на производстве

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

Средний ШД 180 шагов на оборот (2 град), значит 180 импульсов на оборот.. 1500 об мин = 25 об\сек
180*25 = 4500 имп\сек
если в режиме полушага то 9000 имп\сек

maximov2009
22.06.2021, 17:54
Средний ШД 180 шагов на оборот (2 град), значит 180 импульсов на оборот.. 1500 об мин = 25 об\сек
180*25 = 4500 имп\сек
если в режиме полушага то 9000 имп\сек

В дополнение:
Из Технических характеристик:
ПЛК110[М02]
Быстрых выходов (для ПЛК110 с транзисторными выходами) 4
Быстрые выходы

ПЛК 110 - до 5 кГц

ПЛК110[М02] - До 100 кГц

Так что ПЛК вполне справляется и довольно часто используется.
Так что прикиньте требуемую Вам частоту и подберите модель контроллера.
С уважением.

VaBo
22.06.2021, 20:06
да, на производстве..
Блин, люди, как вам не лень пытаться решить давно решенные задачи! Причем с гарантией, что вы не сумеете сделать и одну сотую готового функционала, а вероятней всего, просто потратите время и деньги.
Прикрепляю описание китайской панельки ЧПУ, достаточно посмотреть список параметров чтобы оценить, что она умеет. Не говорю про G-код, вы, скорее всего, пока не знаете, что это. И да, ценник на Алике как у СП307, но можно найти и дешевле.

maximov2009
23.06.2021, 11:25
Блин, люди, как вам не лень пытаться решить давно решенные задачи! Причем с гарантией, что вы не сумеете сделать и одну сотую готового функционала, а вероятней всего, просто потратите время и деньги.

Добрый день.
Это Вы изложили своё видение.
И Вы рассуждаете чисто с точки зрения станков с ЧПУ.
А есть множество задач, где применение перемещения какой то части станка при помощи ШД является лишь маленьким кусочком функционала. В этом случае обычно используется именно ПЛК и он с этой задачей вполне справляется.
Недавно делал модернизацию станка, где перемотка полотно на заданное расстояние осуществлялась сервоприводом, точность - до милиметра. Вполне справился обычный контроллер с транзисторами на выходе.
Управление ШД и сервоприводом аналогично. При помощи подачи определенного числа импульсов на вход. Всё это управлялось с панели. Кроме перемотки там ещё выполняется несколько других операций.
А лепить для этого отдельную панель для сервопривода перемотки как то несуразно.
А вот это моё видение.
С уважением ко всем.

VaBo
23.06.2021, 12:03
Несуразно начинать давать советы, совершенно не зная конечной задачи (да, ко мне это тоже относится).
Еще хуже давать неверные советы, к примеру, вы не объяснили про шаг-микрошаг (базовые понятия работы ШД), Dim252 дал неверные данные про "средний ШД" (у "среднего" шаг 1,8 гр, т.е. 200 шагов/об), в результате получается полная каша. Нафиг!

Sulfur
23.06.2021, 14:14
кречет
Ищите здесь на форуме тему HardellaIDE. Это неофициальный софт для написания собственных программ для сопроцессора быстрых входов\выходов ПЛК110 версии М02 (на более ранних версиях работать не будет). Народ выкладывал уже готовые алгоритмы для управления 4-мя ШД. В готовых алгоритмах задается ускорение\торможение, скорость и количество импульсов, все целочисленные. В обратном направлении передается статус работы и пройденный путь. Миллиметры\сантиметры\гигапарсеки пути задаются через математику в основной программе ПЛК.
Следует учитывать, что в имеющихся алгоритмах не учтена возможность управлением торможением при останове до достижения заданного количества импульсов. Т. е. при прерывании цикла отрабатывания задания останов делается без торможения, ШД встает колом и это может вызвать сработку аварии в драйвере ШД.

кречет
10.07.2021, 23:16
[QUOTE=Sulfur;358668]кречет
Ищите здесь на форуме тему HardellaIDE.

посмотрел,масса непонятных терминов.
Прошу дать конкретные ответы на корректные вопросы.Человеку далекому от программирования
1,Можно ли применять не целые числа ( напр 15.1мм. т.е линейное перемещение 15,1мм (( один оборот шд -5мм)))?
2,скорость вращения шд от500 до 1200 об.мин?
3.можно ли организовать торможение.?
и последнее будет ли вся эта фигня работать без глюков.?

тут на почту письмо приходило ,типа .." давай сделаю за 35000 ,"ни имени ни фамилии ничего...но аванс вышли.....

кречет
10.07.2021, 23:19
[QUOTE=maximov2009;358647]Добрый день.
Это Вы изложили своё видение.
И Вы рассуждаете чисто с точки зрения станков с ЧПУ.
А есть множество задач, где применение перемещения какой то части станка при помощи ШД является лишь маленьким кусочком функционала. В этом случае обычно используется именно ПЛК и он с этой задачей вполне справляется.
Недавно делал модернизацию станка, где перемотка полотно на заданное расстояние осуществлялась сервоприводом, точность - до милиметра. Вполне справился обычный контроллер с транзисторами на выходе.
Управление ШД и сервоприводом аналогично. При помощи подачи определенного числа импульсов на вход. Всё это управлялось с панели. Кроме перемотки там ещё выполняется несколько других операций.
А лепить для этого отдельную панель

Большое спасибо за понимание

кречет
10.07.2021, 23:22
[QUOTE=VaBo;358653]Несуразно начинать давать советы, совершенно не зная конечной задачи (да, ко мне это тоже относится).
Еще хуже давать неверные советы, к примеру, вы не объяснили про шаг-микрошаг

Зачем??? шаг-микрошаг задача драйвера.
для чего конечная задача вам??

кречет
10.07.2021, 23:28
Блин, люди, как вам не лень пытаться решить давно решенные задачи! Причем с гарантией, что вы не сумеете сделать и одну сотую готового функционала, а вероятней всего, просто потратите время и деньги.
Прикрепляю описание китайской панельки ЧПУ, достаточно посмотреть список параметров чтобы оценить, что она умеет. Не говорю про G-код, вы, скорее всего, пока не знаете, что это. И да, ценник на Алике как у СП307, но можно найти и дешевле.


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

кречет
11.07.2021, 09:26
кречет Я не сильно спец, но ПЛК всегда будет медленнее голого микроконтроллера.
Например, импульсы он выдать сможет, но развить большую скорость двигателя - нет.
Может быть удобнее оставить ардуинку (если не требуется сертификация и применение на производстве) и связать её с ПЛК по RS-232/RS-485 и обмениваться командами между ними? А команды сделать выского уровня вида "прокрутить на хх шагов / nn градусов с такой-то скоростью"?

зациклить можно?

Sulfur
11.07.2021, 14:38
,Можно ли применять не целые числа
Можно. Модуль на Hardella воспринимает конкретное целое количество импульсов с учетом разгона и торможения.
Например так:.
1. Микрошаг дравера допустим 8, следовательно один оборот будет 200х8=1600импульсов.
2. Ход винта допустим 5мм, следовательно на 1мм требуется 1600\5=320им. Это будет 0,003125 мм\имп.
3. Необходимое количество мм надо разделить на 0,003125, например 15,1\0,003125=4832имп.
4. В ФБ управления ШД передаем ускорение (оно же торможение), количество импульсов, сигнал запуска. Из ФБ читаем пройденный путь и статус работы.
---
В архиве три файла. Оба файла *.prg нужно просто положить в корень ПЛК, используя Плк-браузер.
Файл EXP нужно экспортировать в проект. Он будет в виде ФБ, и обращаться с ним можно точно так же, как с обычным ФБ. Там управление двумя осями, и трансляция для FDI, которые не задействованы для ШД (в моем проекте использовал как задание направления, сигнал DIR).
В конфигурации ПЛК быстрые входа\выхода поставить в дефолтное состояние, и не обращаться к ним из проекта.
---
55962
55963

В начале PLC_PRG читаем из PRU, в конце PLC_PRG пишем в PRU. Обратите внимание на номера строк, для понимания.

кречет
11.07.2021, 15:35
Можно. Модуль на Hardella воспринимает конкретное целое количество импульсов с учетом разгона и торможения.
Например так:.
1. Микрошаг дравера допустим 8, следовательно один оборот будет 200х8=1600импульсов.
2. Ход винта допустим 5мм, следовательно на 1мм требуется 1600\5=320им. Это будет 0,003125 мм\имп.
3. Необходимое количество мм надо разделить на 0,003125, например 15,1\0,003125=4832имп.
4. В ФБ управления ШД передаем ускорение (оно же торможение), количество импульсов, сигнал запуска. Из ФБ читаем пройденный путь и статус работы.
---
В архиве три файла. Оба файла *.prg нужно просто положить в корень ПЛК, используя Плк-браузер.
Файл EXP нужно экспортировать в проект. Он будет в виде ФБ, и обращаться с ним можно точно так же, как с обычным ФБ. Там управление двумя осями, и трансляция для FDI, которые не задействованы для ШД (в моем проекте использовал как задание направления, сигнал DIR).
В конфигурации ПЛК быстрые входа\выхода поставить в дефолтное состояние, и не обращаться к ним из проекта.
---
55962
55963

В начале PLC_PRG читаем из PRU, в конце PLC_PRG пишем в PRU. Обратите внимание на номера строк, для понимания.

ответ по существу,так отвечают профи.
благодарен вам.

Crashroma2009
07.02.2023, 17:00
Добрый день, коллеги!
У меня есть ШД 57НS56-3004A08-D-21. Мне необходимо с помощью ШД давать тормозное усилие на эл.магн. муфту порошкового типа. Также есть драйвер, есть ПЛК200-03 и модуль вывода анал.сигналов МУ110. Не буду вдаваться в подробности механизма всего устройства на котором установлена муфта, есть ряд вопросов:
- Может ли ШД создавать момент в обратную сторону если он прикреплен на вал, а вал будет крутиться в другую сторону? т.е. вал прокручивает спец.привод с нагрузкой, а муфта дает обратное сопротивление и необходимо с помощью ШД добавить крутящий момент в сторону противоположную приводу.
- Есть драйвер ТВ 6000, хочу приобрести драйвер "leadshine dm542 v3.0". Через ПЛК могу управлять направлением и вращением. Но управлять скоростью вращения и силой тока (моментом) не получается. Возможно с ПЛК идет сигнал 24В, а на драйвер необходимо 5В. Возможна ли в этом проблема? Хотя уже и сопротивление подключал, на входе в драйвер выдавалось около 5В....но не ШИМ, не генератор импульсов не помогают.
- Можно ли управлять ШД напрямую с дискретных выходов ПЛК в разных режимах (ШИМ, генер. импульсов) т.е. подключить на выход обмотку двигателя.
- Либо можно ли управлять двигателем с модуля вывода МУ110 через напряжение 0-10В?

Или чтобы обойти драйвер и управлять все же с ПЛК или МУ110 необходимо трансформатор, конденсатор и преобразователь частоты???

Прошу дать ответ и скорректировать меня, если я не так выразился!

EFrol
07.02.2023, 17:42
Добрый! день!
Тоесть Вы хотите использовать ШД вместо муфты?

VaBo
07.02.2023, 17:56
- Может ли ШД создавать момент в обратную сторону если он прикреплен на вал, а вал будет крутиться в другую сторону? т.е. вал прокручивает спец.привод с нагрузкой, а муфта дает обратное сопротивление и необходимо с помощью ШД добавить крутящий момент в сторону противоположную приводу.

Нет, не сможет.

Crashroma2009
07.02.2023, 17:58
Нет, поясню: получается нужно с помощью ШД додавать усилие на вал, т.е. чтобы ШД и муфта давали на вал сопротивление.
Муфта своей особенностью, выдает постоянный момент только в динамике, а когда вал прекращает крутиться, муфта немного проседает и падает сопротивление.
С помощью двигателя мне необходимо дополнить муфту в начальный момент кручения вала (дать усилие моментально) и в конце на удержание усилие дать.

EFrol
07.02.2023, 18:04
То есть нужна мгновенная остановка вращения?
Постоянный момент сопротивления вращению при любых оборотах?

Может, если обороты ШД минус обороты вала не будут превышать оборотов при которых муфта создаст момент сопротивления > 3N*m.
Как только сопротивление муфты превысит 3N*m, драйвер ШД увидит пропуск шагов! Если этот драйвер позволит не обращать на это внимание без остановки, то почему бы и нет?!

Crashroma2009
08.02.2023, 09:09
То есть нужна мгновенная остановка вращения?
Постоянный момент сопротивления вращению при любых оборотах?

Может, если обороты ШД минус обороты вала не будут превышать оборотов при которых муфта создаст момент сопротивления > 3N*m.
Как только сопротивление муфты превысит 3N*m, драйвер ШД увидит пропуск шагов! Если этот драйвер позволит не обращать на это внимание без остановки, то почему бы и нет?!



1) Не совсем мгновенная остановка.
2) Да, постоянный момент сопротивления вращению вала при любых оборотах и моменту.
Необходимо, чтобы ШД в паре с работой муфты моментально давал сопротивление в начале движения (вращения) вала, чтобы муфта как можно быстрее выдавала то необходимое сопротивление, с которым вращается вал. Вал будет вращаться на 95 градусов за 30 сек и на этом всем отрезке (желательно) необходима одинаковая нагрузка (сопротивление) на вал.
Также после остановки вала, чтобы шаговый двигатель также продолжал помогать муфте давать сопротивление (статическое удержание), потому что как я описал раннее, муфта в статике не держит нагрузку, а проседает на 1/3 своего диапазона.

Вот хочу понять, адекватно ли для ШД такая работа? Если он будет крутиться и вдруг усилие станет выше, двигатель начнет проскакивать свои фазы - не сгорит ли он? Способен ли он работать на торможение?

Crashroma2009
08.02.2023, 13:52
Коллеги, также еще важный вопрос:
Можно ли управлять ШД напрямую с дискретных выходов (FDO) ПЛК в разных режимах (ШИМ, генер. импульсов) т.е. подключить на выход обмотку двигателя и давать импульсы, дабы обойти драйвер!?

EFrol
08.02.2023, 15:46
1. Без драйвера не советую. Драйвер будет контролировать ток через обмотки, правильно менять полюса и чередовать фазы.
2. 1/3 это момент 17N*m больше чем допустимый момент на выбраном ШД - будет проскальзывание и муфта не удержит.
3. На указанном драйвере можно отключить контроль пропуска шагов, но максимальный момент на ШД 30гкс*см это примерно 3N*m.
Надо придумать что-то другое! Например, на ШД поставить понижающий редуктор 1:20. Если у Вас вал примерно 1об/мин, то 20 об/мин на ШД можно легко получить.

При какой примерно скорости вращения муфта полностью блокируется (50N*m) ?
Если Вам удастся добиться разницы в скорости вращения ШД и вала не более чем скорости полной блокировки муфты, то проскальзывание будет в муфте, а не в ШД. То есть, если Вам известно ускорение вращения вала, то проведя соответствующий расчет, сможете запрограммировать Ардуино на разгон и торможение ШД с нужным ускорением, включая необходимую скорость ШД для статического удержания в пределах 50N*m.