Перейти к содержанию
    

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

А подскажите зачем нужны PFD1, PFD1.
При отработке очередного импульса на входе STEP, если он приводит к уменьшению тока в обмотке - регулируют время, в течении которого закрыты все ключи моста, тем самым ускоряя спадание тока. Смотрите таблицу 2 и раздел Mixed Decay Operation.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При отработке очередного импульса на входе STEP, если он приводит к уменьшению тока в обмотке - регулируют время, в течении которого закрыты все ключи моста, тем самым ускоряя спадание тока. Смотрите таблицу 2 и раздел Mixed Decay Operation.

я понял. спасибо. получается что при изменении частоты на STEP я должен изменять PFD1, PFD1. причем на Full Step PFD1, PFD1 не влияют на время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я близок к тому чтоб выбрать A4989. Перегрузки? не знаю. возможны.

 

мне все равно, главное плавно и безшумно.

 

???????

 

концевики могут быть а могут и не быть, зависит от системы. защита по току нужна конечно.

Берите статью Леонида Ивановича, и делайте по ней. Для ваших условий - более, чем достаточно.

 

Допустим я выбрал шунты на максимальный ток - 6А. Завтра требования изменились и мне нужен порог на 4А - мне что перепаивать шунты?

Ну придумайте схему так, чтобы можно было ограничение тока задавать, например подстроечным (или цифровым, сейчас модно) резистором. А можно ШИМ + ФНЧ использовать.

 

Лишь бы оно изоляцию в обмотках не пробило.

Не пробьёт. У нас же источник тока. А напряжение на обмотках будет определяться по закону Ома. Там правда не просто I*R, полагаю надо ещё и индуктивную составляющую учесть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А подскажите зачем нужны PFD1, PFD1. Непонятно даже после прочтения документации.

Это переключение различных режимов decay modes при управлении двигателем.

Кратко: каким образом поступать с энергией, накачанной в индуктивность обмотки, при прерывании тока.

Ищите инфу по словам "stepper motor decay modes"

В отдельных DataSheet этот вопрос рассматривается довольно подробно, где-то только таблички даются.

 

получается что при изменении частоты на STEP я должен изменять PFD1, PFD1. причем на Full Step PFD1, PFD1 не влияют на время.

Обычно подбирается наиболее подходящий режим для ваших условий и больше не меняется.

При сильно изменяющихся условиях работы можно переключать динамически, но не уверен, что это имеет смысл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не пробьёт. У нас же источник тока. А напряжение на обмотках будет определяться по закону Ома. Там правда не просто I*R, полагаю надо ещё и индуктивную составляющую учесть.

:biggrin: Это мягко сказано...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А напряжение на обмотках будет определяться по закону Ома.
Напряжение. На индуктивности. При постоянной коммутации. U=I*R? Перефразирую: это в режиме стабилизации тока, т.е. удержания шага напряжение будет определяться током и сопротивлением обмотки, а вот как быстро он выйдет на режим стабилизации тока, т.е. максимальная скорость вращения, будет ограничиваться подводимым напряжением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! не хочу создавать тему для такого пустякового вопроса, однако не могу найти никак на него ответ. Сейчас стали популярны шаговые двигатели с энкодерами. Некоторые производители заявляют, что там используется векторный режим управления. Сложного в этом ничего нет, крути себе поле, чтобы угол всегда был +-90 градусов и все. НО в тех моторах стоят инкрементальные энкодеры, а соответственно мы не знаем, в каком положении стоит ротор при включении, т.е. относительно чего высчитывать эти 90 градусов. Сразу предположу самое простое решение - подали ток в обмотки, мотор провернулся в нулевое положение, обнулили энкодер и вуаля. Но не тут то было. Вал может быть под нагрузкой, и соответственно он не дойдет до истинного положения нуля. Есть еще мысли мерить индуктивность обмоток или какие-то другие параметры,но как-то сложно. Можно запихнуть в энкодер батарейку со счетчиком - пусть всегда помнит свое положение после сборки... 

И все же мне эти решения кажутся сомнительными. Может кто знает как оно на самом деле сделано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Focus сказал:

как оно на самом деле сделано?

Концевой датчик нулевого положения либо концевой упор на исполнительном механизме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, Focus said:

И все же мне эти решения кажутся сомнительными. Может кто знает как оно на самом деле сделано?

А на самом деле в векторном управлении главную роль играет PID. А это итерационный алгоритм. Т.е. свои 90 град вы никогда не достигаете. 
Можно успокоится и брать усредненную оценку угла по энкодеру.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, AlexandrY said:

А на самом деле в векторном управлении главную роль играет PID. А это итерационный алгоритм. Т.е. свои 90 град вы никогда не достигаете. 
Можно успокоится и брать усредненную оценку угла по энкодеру

проблема не в этом. И ПИД здесь совершенно не причем. Суть векторного управления, заключается как раз в поддержании угла вектора магнитного поля. момент двигателя, при прочих равных, зависит от угла между полем статора и ротора. Максимальный момент достигается при угле в 90 градусов. В этом и проблема шагового двигателя. У него в зоне нулевой ошибки отклонения от заданного значения момент нулевой. А вот если мы начинаем рукой проворачиать вал, то момент сначала растет, потом падает и мы перескакиваем через шаг. далее последовательность повторяется. Если мы имеем инкрементальный датчик положения вала, т.е. по сути мы имеем значение ошибки меду реальным положением и заданным (три петли ОС, как в полноценном сервоприводе брать не будем для упрощения). Для уменьшения ошибки нам нужно крутить вал в соответствующую сторону с усилием (или моментом), которое нам дал ПИД (вот он наконец появился), переварив значение ошибки позиционирования (или скорости, не важно). Значение момента соответствует значению длины вектора тока, который мы даем в обмотки двигателя. НО, чтобы этот ток в обмотках дал нам максимальный (для своего значения) момент на валу, нужно этот вектор направит так, чтобы поля статора и ротора были перпендикулярны. Это описано в любой теории векторного управления двигателями. И вот мы добрались до самого главного. Нам нужно знать, в каком месте находится ротор в пределах одного шага, а один шаг - это один электрический оборот  (проворот поля). В асинхронниках такое не нужно - там "постоянный" магнит в роторе все время скользит и его абсолютное положение вычисляется математически. В вентильных двигателях (бесколлекторники) стоят датчики холла, с помощью которых мы можем абсолютно определить положение ротора. Кстати, в векторном режиме управления, шаговик ничем не отличается от обычного бесколлекторного мотора. Только пар полюсов у него не 1..7, а гораздо больше - 200. Так что датчики холла поставить довольно таки проблематично. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть бездатчиковые методы оценки положения, оцениваем положение и задаем ноль для энкодера.

1) По ЭДС, проще всего но работает только когда есть достаточная скорость;

2) По анизотропии индуктивности, чуть сложнее;

3) По анизотропии чего нибудь еще (например вихревых потерь), сложно;

Методы можно взять от PMSM и адаптировать к двухфазной машине. Методы не сомнительные, с ними можно работать без датчика положения, а не только выставлять ноль.

Изменено пользователем amaora

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, Focus said:

проблема не в этом. И ПИД здесь совершенно не причем. 

Думаю если бы вы знали в чем проблема, то тут не спрашивали бы. 

Так вот я и говорю, что проблема в PID. И ключевое слово - итерационный. 
Эт значит что к максимальному моменту вы постепенно приближаетесь. 
Не надо зацикливаться на отрывочно взятых описаниях векторного управления.  Не там копаете. 
Оценить позицию ротора можна на основе предварительно скалиброванных реакций на паттерны воздействия.  
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, AlexandrY said:

Оценить позицию ротора можна на основе предварительно скалиброванных реакций на паттерны воздействия. 

Звучит завораживающе... А что это значит, не растолкуете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/22/2018 at 8:45 AM, AlexandrY said:

Думаю если бы вы знали в чем проблема, то тут не спрашивали бы. 

Так вот я и говорю, что проблема в PID. И ключевое слово - итерационный. 
Эт значит что к максимальному моменту вы постепенно приближаетесь. 
Не надо зацикливаться на отрывочно взятых описаниях векторного управления.  Не там копаете. 
Оценить позицию ротора можна на основе предварительно скалиброванных реакций на паттерны воздействия.  

Я прекрасно знаю в чем проблема. И более того, знаю пути ее решения. Вопрос был в поиске оптимального, по тем или иным критериям. Это раз. И как китайцам удалось на инкрементальном энкодере на 1000 линий это реализовать. Это два. Более того, я купил и попробовал сию систему. И теперь убедился в том, что мой вопрос был не просто так. Никакого полноценного векторного управления там не реализовано.

А теперь по поводу ПИД, который никак не относится к векторному управлению. Суть векторного управления - установка угла вектора магнитного поля под оптимальным углом. ПИД - устройство регулирования. Для установки угла ничего регулировать не нужно. Значения токов для необходимого вектора поля вычисляются математически однозначно. Само направление вектора вычисляется однозначно из положения ротора и в некоторых случаях оборотов (для опережения "коммутации"). И регулятор здесь может использоваться лишь как стабилизатор тока, не более. Кстати, в классических схемах построения, этот ПИД, а точнее в токовой ОС используется обычно ПИ регулятор, знать не знает о том, что двигатель крутится или стоит. Ему все равно.  Для этого там стоят модули поворота векторов. Как воздействия, так и результата. Ну раз вы об этом говорите, значит в курсе.

 

Ну а решение проблемы - абсолютный энкодер, бит так на 18-20. Яскава такие уже давно в свои сервы ставит. Толко цена его, отдельно от сервы, заоблачная.

Изменено пользователем Focus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/1/2018 at 11:38 AM, jenya7 said:

Есть такой мотор. Что посоветуют сведующие люди? Как управлять?

TB6560AHQ и более новые. Есть микрошаг. Управляется импульсами шага и вход направления.

не дорого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...