реклама на сайте
подробности

 
 
> Расчёт электропривода, измерение скорости, матлаб
evg123
сообщение Sep 13 2011, 07:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Исходные данные:
------------------------
Проектирую электропривод, который должен регулировать положение (заданный угол поворота от 0 до 360 град). Используется безколлектроный двигатель постоянного тока ( в двух словах: это синхронная машина с постоянными магнитами в роторе, статор создаёт некое произвольное направление магнитного поля и ротор поворачивается под это поле и таким образом регулируется его положение).
В качестве датчика положения используется абсолютный датчик положения, который даёт 8192 дискрет на оборот (т.е. число от 0 до 8191, которое достаточно точно даёт положение ротора)
В структуре САУ, регулирующей положение имеется петля регулирования угловой скорости вращения двигателя. (В двух словах САУ построена след. образом: внешняя петля - это петля регулирования положения (т.е. угла поворота); внутри этой петли как в матрёшке есть некое звено - самостоятельная САУ - петля регулирования скорости вращения а внутри этой второй САУ есть третья матрёшка - петля регулирования токов статора). Но это я привожу для информации только.
САУ проектирую в матлабе затем переношу в TMS320F28335. Время дискретизации 50 - 100 мкс. (т.е. сау, естественно, дискретная).
Вопрос:
----------
Как измерить скорость, имея данные абсолютного датчика положения? Если ротор вращается быстро - то пойдёт и элементарный подход - брать дискретную производную - [(z-1)/z*Ts] стандартный блочок матлаба. Если за ним повесить инерционное звено - то скорость более пол радиана в сек. измеряется достаточно точно и гладко. (можно производную считать и по нескольким точкам - пробовал 4 точки и 6 точек - нет сильной разницы)
Но я должен получить отрегулированное положение, т.е. ротор должен стоять с нулевой скоростью.
И здесь как раз возникает проблема измерения малой скорости из полученных дискрет датчика положения, когда ротор стоит или почти стоит на месте. Как это сделать? Стандартная производная [(z-1)/z*Ts] в этом случае изредка даёт выбросы (так как датчик положения изредка выдаёт данные - ротор стоит), т.е. в итоге я имею некое подобие частотно-импульсной модуляции, вместо того чтобы выдать некое малое значение скорости. Фильтры не помогают (т.е. они лишь чуть-чуть сглаживают палки и превращают их редкие зубья). В результате петлю регулирования скорости болтает.
И в общем ( по данным матлаба) ротор устанавливается в заданное положение но, гад, дрожит со скоростью 100 Гц с маленьклй амплитудой. я предполагаю, что наши механики это не поймут.

Был найден частичный выход из положения: сделан виртуальный экстраполятор положения, который наши 8192 дискреты-ступеньки ( это в классике наз. экстраполятор нулевого порядка+квантование по уровню) превращает в плавные линии - (это в классике наз. экстраполятор первого порядка). и уже от выхода ЭТОГО экстраполятора - брать производную и измерять скорость. Результат получен - значительно лучше - но всё равно болтанка в петле регулирования скорости остаётся.
Может кто-то сталкивался с подобной проблемой и может подсказать алгоритм. (Проблема, как я вижу, в том, чтобы грамотно построить экстраполятор положения). Или может в чём-то другом?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tanya
сообщение Sep 13 2011, 08:24
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(evg123 @ Sep 13 2011, 11:20) *
Или может в чём-то другом?

Проблема в том, что дискретными датчиками положения никак нельзя измерить скорость. Аналогично Вы не можете стоять между квантами датчика положения (без колебаний).
А чем Вас не устраивает держать положение - фиксировать поле? На систему действуют случайная (меняющаяся) сила? Тут никак...
Go to the top of the page
 
+Quote Post
evg123
сообщение Sep 15 2011, 07:17
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Цитата(Tanya @ Sep 13 2011, 12:24) *
Проблема в том, что дискретными датчиками положения никак нельзя измерить скорость. Аналогично Вы не можете стоять между квантами датчика положения (без колебаний).
А чем Вас не устраивает держать положение - фиксировать поле? На систему действуют случайная (меняющаяся) сила? Тут никак...

Колебания, конечно будут от них никуда не уйдешь. Я использую модель двигателя - блочок: Simulink->SymPowerSystems->Machines->Permanent Magnet Synchronous Machine, в который я заложил параметры реального двигателя, который должны привезти. Блочок выдаёт всю информацию о состоянии двигателя, в том числе скорость. Если в качестве обратной связи я беру эту скорость непосредственно от этого блочка, то вижу незначительные колебания. Если же я беру с блочка данные о положении, пропускаю их через квантователь по уровням, дальше из этого ступенчатого сигнала выделяю скорость, то в результате имею колебания раз в десть больше по амплитуде => есть узкое место в алгоритме определения скорости.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- evg123   Расчёт электропривода, измерение скорости   Sep 13 2011, 07:20
|- - RHnd   Цитата(evg123 @ Sep 15 2011, 11:17) Колеб...   Sep 15 2011, 07:20
- - @Ark   ЦитатаКак измерить скорость, имея данные абсолютно...   Sep 13 2011, 08:24
|- - evg123   Цитата(@Ark @ Sep 13 2011, 11:24) На боль...   Sep 13 2011, 10:06
|- - RHnd   А есть какие-то еще задачи для контура скорости? О...   Sep 13 2011, 17:36
||- - RHnd   Что же, раз конструктива нет, то буду считать, что...   Sep 14 2011, 10:36
|- - evg123   Цитата(@Ark @ Sep 13 2011, 12:24) На боль...   Sep 15 2011, 08:22
|- - RHnd   Я про сухое трение спрашивал. Понятно, что произв...   Sep 15 2011, 08:34
- - @Ark   ЦитатаНеправда, кстати. Неубедительно, кстати.   Sep 13 2011, 20:10
|- - RHnd   Цитата(@Ark @ Sep 14 2011, 00:10) Неубеди...   Sep 13 2011, 20:25
- - @Ark   Цитата... справедлив он только для конкретных мето...   Sep 13 2011, 20:48
|- - RHnd   Цитата(@Ark @ Sep 14 2011, 00:48) Так мы ...   Sep 14 2011, 05:35
|- - Tanya   Цитата(RHnd @ Sep 14 2011, 09:35) Так и с...   Sep 14 2011, 06:19
|- - RHnd   Цитата(Tanya @ Sep 14 2011, 10:19) Ваш сп...   Sep 14 2011, 08:09
|- - Tanya   Цитата(RHnd @ Sep 14 2011, 12:09) Вот...   Sep 14 2011, 08:49
|- - RHnd   Цитата(Tanya)Робастность легко считается... А для ...   Sep 14 2011, 09:38
|- - Tanya   Цитата(RHnd @ Sep 14 2011, 13:38) Лучше о...   Sep 14 2011, 09:55
- - oleg_d   Цитата(evg123 @ Sep 13 2011, 10:20) Исход...   Sep 13 2011, 21:10
|- - evg123   Цитата(oleg_d @ Sep 14 2011, 01:10) Для э...   Sep 15 2011, 09:10
- - RHnd   Конечно, если на софт-сенсоре скорости висят допол...   Sep 15 2011, 09:29
|- - evg123   Да, согласен. задача, вроде как, классическая, при...   Sep 15 2011, 10:12
- - @Ark   Цитата...вычисление скорости - это подсчёт периодо...   Sep 15 2011, 10:53
|- - evg123   Цитата(@Ark @ Sep 15 2011, 13:53) ... Пос...   Sep 15 2011, 13:54
- - @Ark   ЦитатаПредполагается, что на сам датчик будет раз ...   Sep 15 2011, 14:05


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 21:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016