|
Расчёт электропривода, измерение скорости, матлаб |
|
|
|
Sep 13 2011, 07:20
|
Местный
  
Группа: Свой
Сообщений: 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 дискреты-ступеньки ( это в классике наз. экстраполятор нулевого порядка+квантование по уровню) превращает в плавные линии - (это в классике наз. экстраполятор первого порядка). и уже от выхода ЭТОГО экстраполятора - брать производную и измерять скорость. Результат получен - значительно лучше - но всё равно болтанка в петле регулирования скорости остаётся. Может кто-то сталкивался с подобной проблемой и может подсказать алгоритм. (Проблема, как я вижу, в том, чтобы грамотно построить экстраполятор положения). Или может в чём-то другом?
|
|
|
|
|
 |
Ответов
Guest_@Ark_*
|
Sep 13 2011, 08:24
|
Guests

|
Цитата Как измерить скорость, имея данные абсолютного датчика положения? На больших скоростях измерение скорости делаете по производной - количество дискретов в единицу времени. На малых - скорость определяете путем точного измерения временного интервала между соседними дискретами. Если этого окажется недостаточно - придется думать о других способах измерения скорости, вплоть до введения в систему отдельного датчика скорости... Еще не забывайте, что внутренняя петля вашей САУ, отвечающая за стабилизацию скорости, должна работать как минимум на порядок быстрее внешней, отвечающей за положение. P.S. Эта задача обсуждалась на форуме не раз. Поищите.
|
|
|
|
|
Sep 15 2011, 08:22
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Цитата(@Ark @ Sep 13 2011, 12:24)  На больших скоростях измерение скорости делаете по производной - количество дискретов в единицу времени. На малых - скорость определяете путем точного измерения временного интервала между соседними дискретами... Идея оказалась плодотворной. Как мы (я и ещё один мужичок) до неё сами недопетрили? Зациклились. Чего только не нагородили: дифференцирование по многим точкам, пробовали метод наименьших квадратов, линейный экстраполятор положения... По сути же решение проблемы было следующим: на входе за период Ts=50 мкс. может быть всегда приращение только на одну дискрету (чтобы было две дискреты - он должен вращаться со скоростью > 2.45 об/сек, а у него по тех.заданию максимум 2 об/сек). поэтому вычисление скорости - это подсчёт периодов самплирования на интервале времени между двумя приращениями, и скорость = 1.0 (или -1.0)/(<количество периодов> * 50 мкс) ; при этом как только пришло новое приращение - я сразу выдаю результат, полученный из подсчётов по предыдущему интервалу. далее: поскольку после прихода очередного приращения и выдачи очередного значения скорости, ротор может остановиться и новое приращение - никогда не наступить, то неправильно было бы оставлять выход в старом значении скорости, а через время его надо сбросить в ноль. поэтому вводится поправка, что значение скорости, посчитанное по предыдущему интервалу удерживается на выходе не дольше чем количество периодов, посчитанное на предыдущем интервале. Метод дал хороший результат. Цитата(RHnd @ Sep 15 2011, 11:20)  О чем я и говорил - подумайте выкинуть вообще контур скорости, раз на нем других задач нет.
Модель у вас с трением? Сколько дискрет датчика в амплитуде колебаний? Можно задать вязкое трение. Но производитель двигателя дал почти все параметры, кроме этого. То что недодал - посчиатли сами. После применения алгоритма по описанному методу (ещё раз спасибо @Arc) - амплитуда колебаний - где-то 3 дискреты дачтка (это модель; реалии, конечно, будут другие) до того (наши тупые алгоритмы) было 10 дискрет, а идеальное измерение скорости давало одну дискрету, а если ещё идеально измерять и положение (тогда модель становится линейной) - то вообще ноль дискрет (но это и понятно - безконечная точность). По поводу удаления контура скорости вообще - тут так не получится. Я в процессе нарыл методичку как раз по расчёту подобного привода - там всё описано, (но, к сожалению, много опечаток). Там на 19 стр. написано что, T контура положения = 4 * T контура скорости. Но это в области малых сигналов.
|
|
|
|
Сообщений в этой теме
evg123 Расчёт электропривода, измерение скорости Sep 13 2011, 07:20 Tanya Цитата(evg123 @ Sep 13 2011, 11:20) Или м... Sep 13 2011, 08:24 evg123 Цитата(Tanya @ Sep 13 2011, 12:24) Пробле... Sep 15 2011, 07:17  RHnd Цитата(evg123 @ Sep 15 2011, 11:17) Колеб... Sep 15 2011, 07:20 evg123 Цитата(@Ark @ Sep 13 2011, 11:24) На боль... Sep 13 2011, 10:06 RHnd А есть какие-то еще задачи для контура скорости? О... Sep 13 2011, 17:36  RHnd Что же, раз конструктива нет, то буду считать, что... Sep 14 2011, 10:36  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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|