|
Расчёт электропривода, измерение скорости, матлаб |
|
|
|
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 15 2011, 10:53
|
Guests

|
Цитата ...вычисление скорости - это подсчёт периодов самплирования на интервале времени между двумя приращениями, и скорость = 1.0 (или -1.0)/(<количество периодов> * 50 мкс). Когда от моделирования перейдете к реализации вашей системы (аппаратной и программной), то метод измерения временных интервалов можно (даже нужно) изменить. Современные МК способны измерять времена с точностью порядка 1мкс и менее. Поэтому, точность измерения интервала между дискретами вполне реально поднять где-то порядка на два. Конечно, все еще от сигнала с датчика будет зависеть и методов программирования. Не смотрел какой у вас датчик, но обычно энкодеры выдают на два канала импульсы сдвинутые на полпериода относительно друг друга. Итого - на один дискрет имеем 4 фронта сигналов - диапазон измерения в области малых скоростей и точность установки можно расширить в сторону нуля... В вашем случае, получить точность установки и удержания положения порядка одной дискреты - я думаю вполне реально... ... Посмотрел на ваш датчик. Не знаю, чем обоснован его выбор. Он выдает результат в цифровом виде по RS422. Время между последним измерением и передачай данных неизвестно. Не факт, что оно постоянно. Плюс временная задержка на передачу, прием и обработку данных. А для вас это критично в области малых скоростей. Я бы подобрал обычный инкрементальный энкодер и поставил его дополнительно. В заключении, по собственному опыту могу сказать, что конечный результат решения таких задач, зависит не только (и даже не столько) от используемых алгоритмов, сколько от искуccтва их реализации на практике. Желаю удачи.
|
|
|
|
|
Sep 15 2011, 13:54
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Цитата(@Ark @ Sep 15 2011, 13:53)  ... Посмотрел на ваш датчик. Не знаю, чем обоснован его выбор. Он выдает результат в цифровом виде по RS422. Там два варианта - первый вариант - по 1 МБит/с (максимум) по SPI (это SSI, который есть усечённый вариант SPI-я), второй вариант - по УАРТУ (RS422) Предполагается, что на сам датчик будет раз в 50 мкс опрашиваться со стороны PIC24, который, после элементарной обработки будет отправлять результат в TMS320F28335 (данные и скорость). всё остальное будет делать TMS. Принцип работы датчика описан в прилагаемом документе. Если производитель не врёт, то должен работать.
|
|
|
|
Сообщений в этой теме
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 @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, 14:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|