Jump to content

    

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

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

 

Share this post


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

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

Share this post


Link to post
Share on other sites
Ну я близок к тому чтоб выбрать A4989. Перегрузки? не знаю. возможны.

 

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

 

???????

 

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

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

 

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

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

 

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

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

Share this post


Link to post
Share on other sites
А подскажите зачем нужны PFD1, PFD1. Непонятно даже после прочтения документации.

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

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

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

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

 

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

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

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

Share this post


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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
8 часов назад, Focus сказал:

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

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

Share this post


Link to post
Share on other sites
9 hours ago, Focus said:

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

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

Share this post


Link to post
Share on other sites
10 hours ago, AlexandrY said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Edited by amaora

Share this post


Link to post
Share on other sites
12 hours ago, Focus said:

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

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

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

Share this post


Link to post
Share on other sites
4 hours ago, AlexandrY said:

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

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

Share this post


Link to post
Share on other sites
On 12/22/2018 at 8:45 AM, AlexandrY said:

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

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

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

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

 

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

Edited by Focus

Share this post


Link to post
Share on other sites
On 3/1/2018 at 11:38 AM, jenya7 said:

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

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

не дорого.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this