Управление шаговым двигателем

Модераторы: Brokh, taras-budnjak

Управление шаговым двигателем

Сообщение SEregaDL » 03 ноя 2014, 14:17

Добрый день!

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

На объекте есть следующее оборудование:
1. ПЛК Premium TSX 57-50
2. TSXDSY32T2K модуль дискретных выходов
3. TSXDEY32D2K модуль дискретных входов
4. MD5-MF14 модуль шагового двигателя.
5. A8K-M566 шаговый двигатель

Описание проблемы:
1. Команда "Тест" самого драйвера проходит. Двигатель работает и перемещает задвижку.
2. Команды с ПЛК на драйвер проходят. Т.е. команды на снятие удержания двигателя и выбор делителя шага проходят. При этом обратный сигнал "Нулевое положение" приходит и "отбивает" количество шагов как надо. 1 импульс на 10 импульсов при большом шаге (0,72 градуса) и 80 импульсов при малом шаге (0,009 градуса).
3. Сигналы "направление движения" и "на сколько поворачиваться двигателю" - тут вопрос. Сигналы с ПЛК проходят, но сам движок не двигается.

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

В чем казус управления шаговым двигателем не понимаю. Может подскажите в каком направлении смотреть. Или может посоветуете что нибудь почитать.
Спасибо!
SEregaDL
 
Сообщений: 2
Зарегистрирован: 28 окт 2014, 15:36
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: Управление шаговым двигателем

Сообщение Yuriy Kuzmich » 03 ноя 2014, 21:23

1. Обычно для управления шаговыми и серво приводами используют специальные модули или каналы (если встроены) ПЛК. В принципе, можно и дискретным выходом, но максимальная частота такого сигнала будет ограничена временим цикла ПЛК (1/Тцикла).
2. Вполне возможно что вы просто не замечаете того что вал проворачивается, т.к. в лучшем случае (когда делитель = 1) один импульс будет проворачивать вал на величину меньше 1 градуса (0,72).
3. Проверьте еще 2 раза правильность подключения. Если не уверены - показывайте как подключили.
Yuriy Kuzmich
 
Сообщений: 548
Зарегистрирован: 04 мар 2012, 17:31
Откуда: Kyiv
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 19

Re: Управление шаговым двигателем

Сообщение SEregaDL » 04 ноя 2014, 17:04

но максимальная частота такого сигнала будет ограничена временем цикла ПЛК (1/Тцикла)

Не могли бы Вы проверить мои рассуждения.
Любой ПЛК считывает состояния, после этого обрабатывается математика, после этого записываются состояния. Соответственно в программе есть такое выражение out = NOT (out) AND StartBit
Out - выход
StartBit - сигнал который появляется и держится определенное время.
Логика выражения простая менять один раз в цикл состояние выхода на противоположное в течении заданного времени. В результате получаем определенную последовательность сигналов заданной ширины (Тцикла) и частоты (опять Тцикла).
Возможно я не прав и данная конструкция не подходит.
SEregaDL
 
Сообщений: 2
Зарегистрирован: 28 окт 2014, 15:36
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: Управление шаговым двигателем

Сообщение Yuriy Kuzmich » 04 ноя 2014, 17:45

Вы правы, только все упирается во время цикла.
Возьмем время цикла = 10мс. Соответсвенно выход сможет менять с частотой 1/0,01 = 100 Гц. Т.к. шаговый привод воспринимает передний фронт сигнала, то максимум вы получите 50 шагов в секунду. Или 36 градусов в секунду(0,72 град/шаг), что равно 0,1 об/с или 6 об/мин.
Т.е. это ваш потолок скорости, 6 об/мин. Не быстро, не правда ли? И это если делитель =1.
Вот поэтому и нужно применять специальные модули или встроенные "быстрые" выходы. Что-бы обойти ограничение, накладываемое временем цикла.
Я уже молчу про разгонные рампы, которые вам придется эмулировать в коде.
Yuriy Kuzmich
 
Сообщений: 548
Зарегистрирован: 04 мар 2012, 17:31
Откуда: Kyiv
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 19

Re: Управление шаговым двигателем

Сообщение Nikopol » 20 ноя 2014, 14:12

А у Вас часом не 2 входа для управления шаговиком Step /Dir, т.е. шаг и направление. Если да, то значит выставляем ноль или один на входе Dir это будет направление, остальные настройки режимов Вы тоже делаете, а затем начинаете генерировать импульсы на входе Step, каждый импульс это поворот на заданный угол, в зависимости от выбранного режима. Теперь, что касается быстродействия. Тут Юрий абсолютно прав, если Вы формируете импульс в задаче маст, то и быстродействие будет тоже зависеть от времени цикла. А нет ли в данных модулях выхода ШИМ или импульсного выхода, тогда просто включив выход на определенное время и зная частоту можно провернуть на заданный угол, хотя я не знаю какая Вам необходима точность.
Есть еще мысли о фаст задачах, но не уверен что верные.
Nikopol
 
Сообщений: 25
Зарегистрирован: 10 авг 2014, 19:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Серво-привода Lexium

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron