векторное управление

Автор Olehs, 02 Апр. 2018 в 22:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Olehs

Помогите разобраться с вопросом. Не пойму никак "кто на ком стоял"
ЦитироватьЗдесь добавились два блока – БКП_1 и БКП_2: блоки координатных преобразований. Они делают очень простую вещь: поворачивают вектор на входе на заданный угол. Причем БПК_1 поворачивает на +ϴ, а БКП_2 на -ϴ. Это вся разница между ними. В иностранной литературе их называют преобразованиями Парка (Park transformation). БКП_2 делает преобразование координат для токов: от неподвижных осей α и β, привязанных к статору двигателя, к вращающимся осям d и q, привязанных к ротору двигателя (используя для этого угол положения ротора ϴ). А БКП_1 делает обратное преобразование, от задания напряжения по осям d и q делает переход к осям α и β.



i

ϴ угол поворота ротора относительно статора (угол между системами координат)
Is текущий вектор
БКП_1 и БКП_2 переводят этот вектор из одной системы координат в другую. То есть дают информацию о том как выглядит этот вектор с точки зрения ротора и с точки зрения статора.

Olehs

#2
Честно говоря не сильно продвиноло в понимании процесса.
Буду писать что думаю, поравьте где не правильно.
И так, все что нужно сделать регулятору это переключать ключи в правильную комбинацию.
Комбинация эта зависит от текущего положения ротора.
Узнать положение ротора можно разными способами, рассмотрим датчиковый.
Наиболее распространенный датчик положения ротора (дпр) это 3 датчика холла расположенных на статоре, которае дают положение ротора в виде трех битного числа.  Всего комбинаций 6.
001
011
100
110
101
010
Получается на каждое переключение приходится 60 электрических градусов.
То есть, контроллер должен открыть комбинацию ключей которая соответствует показанию датчика.
В результате после переключения ротор будет оказываться в 90 эл. градусов от магнитного вектора, приблизится до 30 градусов, после чего произойдет очередное переключение и ротор опять начнет движение от 90 гр.
В общем все просто, но автор статьи о векторном управлении утверждает что это не лучший вариант управления.
Тут сделаю отступление
Спойлер
это чуть ли не единственная статья в рунете, где делается попытка человеческим языком объяснить принцип векторного управления.  В комментариях под статьей встретился вот такой:
ЦитироватьОтличная статья. Нам бы на приводе в свое время такую вводную дали, хотя бы на пол пары, и число тех, кто понимал бы что он вообще проектирует и считает на потоке выросло бы в разы.
То есть даже люди которые проектируют такие системы не всегда понимают как она работает!  %-) Просто замечательно.
Ну ладно.
Автор пишет
ЦитироватьПри вращении ротора переменные iα_зад и iβ_зад будут синусоидальными, т.е. задание на регуляторы тока будет всё время меняться.
С чего это они будут синусоидальными? Если с дпр приходит самый что ни на есть прямоугольный.
ЦитироватьБКП_2 делает преобразование координат для токов: от неподвижных осей α и β, привязанных к статору двигателя, к вращающимся осям d и q, привязанных к ротору двигателя (используя для этого угол положения ротора ϴ). А БКП_1 делает обратное преобразование, от задания напряжения по осям d и q делает переход к осям α и β.
ЦитироватьТо есть дают информацию о том как выглядит этот вектор с точки зрения ротора и с точки зрения статора.
Как я это понимаю.
Если посмотреть на картинку с векторам (в первом посте) можно предположить что ротор находится в последней, шестой позиции. Допустим стоит в 300 гр.
Если посмотреть с тчки зрения ротора, то его ось соответсвует позиции 0 градусов, при этом статор в свою очередь сдвинут относительно него вперед на 60 градусов первая катушка и на 150 гр вторая катушка.
Так как вектор который требуется выдерживать должен быть сдвинут на 90 гр вперед относительно ротора, значит относительно статора он будет находится в 90 - 60 = 30 градусов.
Вот эта информация каким то образом должна упростить жизнь регулятору.
Однако эти значения нельзя использовать  непосредственно при управлении ключами, так как напряжение подается на статор а не на ротор.
Следовательно нужно сделать обратное преобразование. Посмотрим с точки зрения статора. Видим, что теперь нужный магнитый вектор находится в 30 градусах от оси статора. Это значение и используем.
Во первых не знаю, правильно ли я понимаю процесс, а во вторых не понимаю, как это все "кручу верчу запутать хочу" облегчает регулирование процесса.

on4ip

Векторное управление это всего лишь абстракция, все кручу верчу для того чтобы представить асинхронную либо синхронную машину как двигатель постоянного тока с независимым возбуждением. Тогда можно регулировать 2 величины Момент и Поток.
Есть уравнения описывающие физику электрической машины ( в  вращающейся системе координат) они справедливы если  угол поворота соответствует углу поворота ротора электро машины, преобразования по этому углу и токам статора позволяют получить 2  тока Id Iq которые уже регулируются по требованиям к системе урпавления.
В жизни все не так, как на самом деле.

i

Накой Вам именно векторное управление, когда есть более простое в понимании и реализации - блочное?
При блочном управлении действует принцип "что вижу - то пою". "Вижу" по датчикам холла, "пою"- включаю нужный ключи. И все!
Правда мотор шуметь будет побольше, разгонятся "пожиже", греться побольше, жрать побольше... НО - ехать будет.

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

В дорогих приводах вместо 3 холлов ставят энкодеры, или датчики абсолютного угла, что бы не "угадывать", а "читать" положение.
В ассинхронных приводах ставят датчик скорости, а не положения...
Короче - "чем дальше в лес, тем толще партизаны".
Удачи.

on4ip

Цитата: i от 04 Апр. 2018 в 13:39В ассинхронных приводах ставят датчик скорости, а не положения...
везде датчики положения( в современных приводах) просто в абсолютные или относительные.
В жизни все не так, как на самом деле.

i

Цитата: on4ip от 04 Апр. 2018 в 14:03везде датчики положения
Не согласен.
Тахогенератор совсем не похож на датчик положения.
Поток импульсов от щелевого датчика тоже ничего не скажет о положении, если нет датчика нулевой точки.

tmiaer

[user]i[/user], так это и получаются относительные датчики положения. По которым можно получить информацию о  величине изменения угла за некоторый промежуток времени.

Olehs

Цитата: on4ip от 04 Апр. 2018 в 14:03Накой Вам именно векторное управление, когда есть более простое в понимании и реализации - блочное?
При блочном управлении действует принцип "что вижу - то пою". "Вижу" по датчикам холла, "пою"- включаю нужный ключи. И все!
Правда мотор шуметь будет побольше, разгонятся "пожиже", греться побольше, жрать побольше... НО - ехать будет.

Можно улучшить, если делать не прямоугольное управление, а синусоидальное, для чего ключи шимятся, имитируя синусоиду, опираясь на показания датчиков.
Да я знаю что существует множество вариантов в этом направлении, я даже сам могу изобрести свой авторский костыль.
Об этом упоминает и автор
ЦитироватьИз-за чего появляются примерно вот такие попытки http://habrahabr.ru/post/128407/  как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах»
При этом скорее всего реализация будет сложнее а результат хуже.
Цитата: on4ip от 04 Апр. 2018 в 12:51Датчик холла дают только 6 точек на синусоиде положения ротора относительно статора, все что между ними экстараполируется из расчета, что скорость вращение не сильно изменилась с прошлого оборота, обычно так и есть, кроме режимов старта и стопа.
А мне как раз и нужен режим старта.

Цитата: on4ip от 04 Апр. 2018 в 12:51В дорогих приводах вместо 3 холлов ставят энкодеры, или датчики абсолютного угла, что бы не "угадывать", а "читать" положение.
да вот что пишет
Цитировать
Датчик на основе элементов Холла – это грубый датчик. Он выдает всего несколько импульсов на оборот (в зависимости от кол-ва элементов Холла, для трехфазных двигателей их обычно три, т.е. шесть импульсов), позволяя знать положение в абсолютной величине, но с низкой точностью. Точности обычно хватает, чтобы держать угол вектора тока так, чтобы двигатель по крайней мере ехал вперед, а не назад, но момент и токи будут пульсировать.
Если в электродвигателе очень жарко, а также когда требуется повышенная точность измерения угла, используют «аналоговый» сельсинный датчик (резольвер, вращающийся трансформатор).

Olehs

Воааа :wow:, чувак уже все сделал и выложил в свободный доступ
Цитироватьhttp://forum.rcdesign.ru/f123/thread500795.html

Pawel

Цитата: Olehs от 05 Апр. 2018 в 00:59
Воааа :wow:, чувак уже все сделал и выложил в свободный доступ
А вам нужен готовый контроллер, или разобраться в принципах?

Alex75

Есть сейчас на китайском рынке недорого ESC-контроллеры на базе TMS320F28027F Piccolo Microcontroller  с алгоритмом InstaSPIN-FOC. https://electrotransport.ru/index.php?msg=1222719 . Можно использовать как отладочные платы под свой алгоритм. Я пробовал запускать в связке с родным двигателем. Работает классно! Примерно как здесь http://forum.rcdesign.ru/f123/thread500795.html . Но если подключить двигатель с другими характеристиками, то он начинает сходить с ума. Есть ли у этого регулятора автодетект подключённого двигателя, не знаю. Очень мало информации о настройках, т.е. вообще не могу найти.
"От руин к обсерватории, от олимпа до низин ересь - двигатель истории, а еретики - бензин."