|
Расчёт электропривода, измерение скорости, матлаб |
|
|
|
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 13 2011, 10:06
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Цитата(@Ark @ Sep 13 2011, 11:24)  На больших скоростях... спасибо за совет, будем пробовать
|
|
|
|
|
Sep 13 2011, 17:36
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
А есть какие-то еще задачи для контура скорости? Ограничение максимальной скорости, еще что-то такое? Если нет, то может поэксперементировать с системой управления без контура скорости? Вообще в таких системах обеспечить стояние в точке лучше, чем плюс-минус полторы дискреты датчика, практически нереально. У вас амплитуда колебаний сколько дискрет? Система моделируется с трением? С возмущениями? Шагающего режима нет? Вместо введения датчика скорости можно подумать о замене датчика угла на более точный. Или на замену алгоритмов обработки информации с датчика угла. Опять же, для повышения точности. Цитата(@Ark @ Sep 13 2011, 12:24)  Еще не забывайте, что внутренняя петля вашей САУ, отвечающая за стабилизацию скорости, должна работать как минимум на порядок быстрее внешней, отвечающей за положение. Неправда, кстати.
|
|
|
|
Guest_@Ark_*
|
Sep 13 2011, 20:10
|
Guests

|
Цитата Неправда, кстати. Неубедительно, кстати.
|
|
|
|
|
Sep 13 2011, 20:25
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(@Ark @ Sep 14 2011, 00:10)  Неубедительно, кстати. А какие аргументы интересуют? Мое честное слово? Перечисление опыта работы? Примеры моделирования? Тезис, что полоса пропускания внутреннего контура должна на порядок превышать полосу внешнего, достаточно старый, еще задолго до модального управления даже. И справедлив он только для конкретных методов построения систем управления. С тех пор было придумано много других подходов, в том числе и не завязанных на выполнении этой рекомендации. В том числе и вообще без контура скорости. Хотя, конечно, по тем методикам больше всего инженерно-ориентированной предметной литературы. Классика, так сказать. Но вряд ли эту классику в современных реалиях можно считать особо эффективным решением. Разве что только простым.
|
|
|
|
Guest_@Ark_*
|
Sep 13 2011, 20:48
|
Guests

|
Цитата ... справедлив он только для конкретных методов построения систем управления. С тех пор было придумано много других подходов, в том числе и не завязанных на выполнении этой рекомендации. В том числе и вообще без контура скорости. Так мы достаточно конкретный случай рассматриваем... Без контура скорости - можно и так. Например в системах, где угловое положение отрабатывается не напрямую двигателем, а через редуктор. Тогда достаточно только ПИД-регулятора по положению. Делал такие системы - они вполне работоспособны... Но здесь, по-моему, не тот случай. Вообще, лучше бы не развивать дискуссию на эту тему, а помочь топикстартеру конкретными советами, если таковые у Вас имеются.
|
|
|
|
|
Sep 13 2011, 21:10
|
Местный
  
Группа: Свой
Сообщений: 413
Регистрация: 12-05-06
Из: Latvija
Пользователь №: 17 041

|
Цитата(evg123 @ Sep 13 2011, 10:20)  Исходные данные: ------------------------ Проектирую электропривод, который должен регулировать положение (заданный угол поворота от 0 до 360 град). Используется безколлектроный двигатель постоянного тока ( в двух словах: это синхронная машина с постоянными магнитами в роторе, статор создаёт некое произвольное направление магнитного поля и ротор поворачивается под это поле и таким образом регулируется его положение). Для электропривода который Вы применяете, как датчик угла чаще применяется "Resolver".
servo_motor_feedback_devices.pdf ( 605.07 килобайт )
Кол-во скачиваний: 263
|
|
|
|
|
Sep 14 2011, 05:35
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(@Ark @ Sep 14 2011, 00:48)  Так мы достаточно конкретный случай рассматриваем... Без контура скорости - можно и так. Например в системах, где угловое положение отрабатывается не напрямую двигателем, а через редуктор. Тогда достаточно только ПИД-регулятора по положению. Делал такие системы - они вполне работоспособны... Но здесь, по-моему, не тот случай. Так и с контуром скорости можно нарушать пожелание о десятикратном превосходстве и получать хорошие результаты! Именно для таких систем. Достаточно вспомнить, что в цифровой век кроме ПИД регулятора в контроллере можно что угодно забацать с теми же трудозатратами, это не пайкой резистора коэффициенты выбирать. А ведь те классические методики настройки и пришли из того времени, когда регуляторы были в аналоговом виде и сложнее ПИ старались ничего не ставить. Привязываться в наше время жестко к тем структурам и рекомендациям - искусственно себя ограничивать. А чтоб посоветовать топикстартеру что-то надо, чтоб он на вопросы ответил, ему заданные. ЗЫЖ Вы просто мне на любимую мозоль наступили. Сразу вспомнилось, как приходилось все это доказывать, когда начинал работать с прецизионными приводами.
|
|
|
|
|
Sep 14 2011, 06:19
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(RHnd @ Sep 14 2011, 09:35)  Так и с контуром скорости можно нарушать пожелание о десятикратном превосходстве и получать хорошие результаты! Именно для таких систем. А чтоб посоветовать топикстартеру что-то надо, чтоб он на вопросы ответил, ему заданные.  Ваш спор не имеет смысла пока..., пока ТС не огласит подробности. Магическое число 10 возникло в те времена и у тех людей не только потому, что в те времена не было дешевых контроллеров.... Они тогда не баловались матлабами, а решали дифференциальные уравнения на бумажке. И думали. И делали это намного лучше, чем кое-кто (подавляющее большинство, увы..) теперь.... И заботила их в первую очередь "дубовость" (робастность), поэтому и возникли понятия о "быстром и медленном" времени и магическое (эмпирическое - с запасом) число 10. Вот пример, например... Шаговый двигатель (у ТС по сути тоже шаговый двигатель) разгоняется, движется, замедляется. Нужно за минимальное время перейти из одного положения в другое и остановиться. Никаких датчиков положения и скорости нет. Все работает по программе. Но возможны сбои при случайном механическом воздействии больше некоторого порога. Так вот основной вопрос - допустимы ли эти сбои. Или мы конфетки передвигаем или управляем движением рентгеновской пушки для радиационной хирургии...
|
|
|
|
|
Sep 14 2011, 08:09
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Tanya @ Sep 14 2011, 10:19)  Ваш спор не имеет смысла пока..., пока ТС не огласит подробности. Магическое число 10 возникло в те времена и у тех людей не только потому, что в те времена не было дешевых контроллеров.... Они тогда не баловались матлабами, а решали дифференциальные уравнения на бумажке. И думали. И делали это намного лучше, чем кое-кто (подавляющее большинство, увы..) теперь.... И заботила их в первую очередь "дубовость" (робастность), поэтому и возникли понятия о "быстром и медленном" времени и магическое (эмпирическое - с запасом) число 10. Вот! Именно через такой набор стереотипов мне и приходилось прорываться. Это же не теоремы, а инженерные рекомендации. Думали они тогда об инженерах, которым надо без матлабов рассчитывать регуляторы. И на RC цепочках реализовать. И для которых поиск корней полинома 5-го порядка уже серьезная задача. И для которых надо было максимально дубовые методики делать. Оттуда и пошли все эти сокращения постоянных времени, типовые регуляторы и так далее. Оттуда и для тогда. Но почему же я сейчас вижу выпускников вузов, у которых в голове книга 70-какого-то года и четкое убеждение, что делать надо только так? Робастность в наше время не на пальцах прикидывается, а считается. Либо показателями запасов, либо инструментарием H_{inf}, либо другими методами. В том числе потому, что это все легко считается студентом за 5 минут, а не аналитическим отделом за месяц, стало возможно использовать более широкий инструментарий. Я не говорю, что нужно откреститься от классики, но иметь в голове альтернативы, зачастую более мощные, и выбирать решение соразмерно ситуации, надо. В случае ТС с большой вероятностью можно решить задачу заменой регуляторов, а не датчиков. А вот пример с шаговым неуместный. Если двигатель без датчиков, то обратной связи нет, только прямая. При чем тут вообще регулирование и контура? Это не точностная система, а привод выезда дисковода, где стоит концевой выключатель 'открыто'-'закрыто'.
|
|
|
|
|
Sep 14 2011, 08:49
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(RHnd @ Sep 14 2011, 12:09)  Вот! Именно через такой набор стереотипов мне и приходилось прорываться. Робастность в наше время не на пальцах прикидывается, а считается. Либо показателями запасов, либо инструментарием H_{inf}, либо другими методами. В том числе потому, что это все легко считается студентом за 5 минут, а не аналитическим отделом за месяц, стало возможно использовать более широкий инструментарий. Я не говорю, что нужно откреститься от классики, но иметь в голове альтернативы, зачастую более мощные, и выбирать решение соразмерно ситуации, надо. В случае ТС с большой вероятностью можно решить задачу заменой регуляторов, а не датчиков. А вот пример с шаговым неуместный. Если двигатель без датчиков, то обратной связи нет, только прямая. При чем тут вообще регулирование и контура? Это не точностная система, а привод выезда дисковода, где стоит концевой выключатель 'открыто'-'закрыто'. Робастность легко считается... А для нескольких степеней свободы, а с нелинейностью? А про шаговый двигатель специальны выбрала простейший пример, в котором намекала, что алгоритм для разных случаев может и должен быть разный. А про ТС. Тут никакой алгоритм не может обеспечить точность положения лучше одного кванта датчика, а уж про нулевую или близкую к нулю скорость и речи быть не может при наличии внешних непредсказуемых воздействий. Извините за банальности.
|
|
|
|
|
Sep 14 2011, 09:38
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Tanya) Робастность легко считается... А для нескольких степеней свободы, а с нелинейностью? Считается численными методами. Опять же, в наше-то время. Сложнее договориться, что понимать под этой робастностью. Цитата(Tanya) А про шаговый двигатель специальны выбрала простейший пример, в котором намекала, что алгоритм для разных случаев может и должен быть разный. Есть разница между простейшим примером и неправильным примером. Вы же не чуточку ошиблись, а в базовой идее. Тезис, что алгоритмы должны быть разными, выдвинул я. Не далее как сегодня. В ответ на ваше сообщение, что раньше-то ого-го как дифуры решали и четко знали про число 10, которое предлагается всегда соблюдать. Перечитайте тему. Цитата(Tanya) А про ТС. Тут никакой алгоритм не может обеспечить точность положения лучше одного кванта датчика, а уж про нулевую или близкую к нулю скорость и речи быть не может при наличии внешних непредсказуемых воздействий. Лучше одного кванта - это вы, простите, мне мое же вчерашнее сообщение цитируете. Серьезно, перечитайте тему. Из поста ТС можно предположить, что речь идет о колебаниях больше, чем 1 квант. И что эти колебания не связаны с внешним возмущением. В этом случае стоит посмотреть на схему регулирования. Цитата(Tanya) Извините за банальности. Да что вы, сколько угодно. Мне и не такое слышать приходилось. Меня однажды убеждали, что в технических системах астатизма больше 2 не бывает. Это, кстати, относится к той же области, что десятикратный запас по быстродействию.
|
|
|
|
|
Sep 14 2011, 09:55
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(RHnd @ Sep 14 2011, 13:38)  Лучше одного кванта - это вы, простите, мне мое же вчерашнее сообщение цитируете. Серьезно, перечитайте тему. И вы перечитайте... Свое же и повторяю. Цитата(RHnd @ Sep 14 2011, 13:38)  Считается численными методами. Опять же, в наше-то время. Сложнее договориться, что понимать под этой робастностью. Даже в наше время бифуркаци имеют место быть. Численные методы, говорите.. Цитата(RHnd @ Sep 14 2011, 13:38)  Тезис, что алгоритмы должны быть разными, выдвинул я. Не далее как сегодня. Сентябрьский тезис. Надо запомнить. Цитата(RHnd @ Sep 14 2011, 13:38)  Вы же не чуточку ошиблись, а в базовой идее. Я все делаю с размахом.
|
|
|
|
|
Sep 14 2011, 10:36
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Что же, раз конструктива нет, то буду считать, что с мои исходным утверждением вы согласились. Я вот про это: Цитата(RHnd) Цитата(@Ark) Еще не забывайте, что внутренняя петля вашей САУ, отвечающая за стабилизацию скорости, должна работать как минимум на порядок быстрее внешней, отвечающей за положение.
Неправда, кстати. Цитата(RHnd) А ведь те классические методики настройки и пришли из того времени, когда регуляторы были в аналоговом виде и сложнее ПИ старались ничего не ставить. Привязываться в наше время жестко к тем структурам и рекомендациям - искусственно себя ограничивать
|
|
|
|
|
Sep 15 2011, 07:17
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Цитата(Tanya @ Sep 13 2011, 12:24)  Проблема в том, что дискретными датчиками положения никак нельзя измерить скорость. Аналогично Вы не можете стоять между квантами датчика положения (без колебаний). А чем Вас не устраивает держать положение - фиксировать поле? На систему действуют случайная (меняющаяся) сила? Тут никак... Колебания, конечно будут от них никуда не уйдешь. Я использую модель двигателя - блочок: Simulink->SymPowerSystems->Machines->Permanent Magnet Synchronous Machine, в который я заложил параметры реального двигателя, который должны привезти. Блочок выдаёт всю информацию о состоянии двигателя, в том числе скорость. Если в качестве обратной связи я беру эту скорость непосредственно от этого блочка, то вижу незначительные колебания. Если же я беру с блочка данные о положении, пропускаю их через квантователь по уровням, дальше из этого ступенчатого сигнала выделяю скорость, то в результате имею колебания раз в десть больше по амплитуде => есть узкое место в алгоритме определения скорости.
|
|
|
|
|
Sep 15 2011, 07:20
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(evg123 @ Sep 15 2011, 11:17)  Колебания, конечно будут от них никуда не уйдешь. Я использую модель двигателя - блочок: Simulink->SymPowerSystems->Machines->Permanent Magnet Synchronous Machine, в который я заложил параметры реального двигателя, который должны привезти. Блочок выдаёт всю информацию о состоянии двигателя, в том числе скорость. Если в качестве обратной связи я беру эту скорость непосредственно от этого блочка, то вижу незначительные колебания. Если же я беру с блочка данные о положении, пропускаю их через квантователь по уровням, дальше из этого ступенчатого сигнала выделяю скорость, то в результате имею колебания раз в десть больше по амплитуде => есть узкое место в алгоритме определения скорости. О чем я и говорил - подумайте выкинуть вообще контур скорости, раз на нем других задач нет. Модель у вас с трением? Сколько дискрет датчика в амплитуде колебаний?
|
|
|
|
|
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 контура скорости. Но это в области малых сигналов.
|
|
|
|
|
Sep 15 2011, 08:34
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Я про сухое трение спрашивал.  Понятно, что производитель движка ничего не скажет, это от нагрузки зависит. Если у вас рассматривается система без внешних возмущений и без трения, то в ней на уровне модели делается стояние в точке плюс-минус полторы дискреты. Цитата(evg123 @ Sep 15 2011, 12:22)  По поводу удаления контура скорости вообще - тут так не получится. Я в процессе нарыл методичку как раз по расчёту подобного привода - там всё описано, (но, к сожалению, много опечаток). Там на 19 стр. написано что, T контура положения = 4 * T контура скорости. Но это в области малых сигналов. Грустно. Скажите мне, где сказано, что без контура скорости не получится? Сами подумайте, если вам софт-сенсор гадит, то может без него лучше будет? Вот так нароют какую-то методичку и все, на этом теория управления кончилась.
|
|
|
|
|
Sep 15 2011, 09:10
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Цитата(oleg_d @ Sep 14 2011, 01:10)  Для электропривода который Вы применяете, как датчик угла чаще применяется "Resolver".
servo_motor_feedback_devices.pdf ( 605.07 килобайт )
Кол-во скачиваний: 263Будем использовать ЛИР-ДА119А (13 разрядов) Цитата(RHnd @ Sep 15 2011, 12:34)  Я про сухое трение спрашивал.  Понятно, что производитель движка ничего не скажет, это от нагрузки зависит. Если у вас рассматривается система без внешних возмущений и без трения, то в ней на уровне модели делается стояние в точке плюс-минус полторы дискреты. Потрясём механиков, надеюсь они скажут это всё. Сейчас знаю, что будет редуктор (1:10) и некая инерционная болванка, на которую будут случайным образом действовать расшатывающие моменты и вверх и вниз, то есть задача привода - сохранить её положение. По предварительным расчётом ( с учётом редуктора ) момент инерции этой болванки где-то в 10-15 раз меньше чем момент инерции ротора. (редуктор съедает всё). Одна из задач чтобы сухое трение убарть. т.е. и редуктор и болванка будут смазаны солидолом, и сухого трения должно быть сведено к минимуму. Да я тоже хотел было притянуть сюда метод пространства состояний, приделать туда калмановский наблюдатель, в общем всё по-крутому, но это но понял что это надолго. а результат как и везде требуется за короткий срок. Цитата(RHnd @ Sep 15 2011, 12:34)  Грустно. Скажите мне, где сказано, что без контура скорости не получится? Сами подумайте, если вам софт-сенсор гадит, то может без него лучше будет? Вот так нароют какую-то методичку и все, на этом теория управления кончилась. Здесь измерение скорости имеет ключевое значение для определения угловой электрической скорости. там 19 пар полюсов, соотв. электрическая угловая скорость - в 19 раз быстрее обычной. И её надо измерить точно, чтобы потом задать соответствующую компенсацию в контура регулирования токов и управлять крутящим моментом мотора. То есть получается, что (когда я измеряю электрическую угловую скорость) - я знаю, что задал я такие-то напряжения на фазы двигателя -> я получил через очень короткое время нужный крутящий момент. Если же скорость (обычную и соответственно электрическую) не измемерять, то у меня нет прямой связи (т.е. простое инерционное звено) между поданным напряжением и результирующим вращающим моментом, а этот вращающий момент ещё зависит и от скорости вращения ротора, и ( о самое ужасное !!  ) при какой-то скорости вращения ротора поданное напряжение вообще никак не влияет на ток в обмотках статора. То есть в контур регулирования токов статора (напряжение статора -> ток статора) вводятся дополнительные компенсирующие связи, которые вводят в петлю некие поправки, позволяют развязать управление токами от скорости вращения двигателя. Внешний контур скорости, при этом выполняет ещё и ту функцию про которую Вы спрашивали - ограничивает максимальную скорость вращения электромотора.
|
|
|
|
|
Sep 15 2011, 09:29
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Конечно, если на софт-сенсоре скорости висят дополнительные обязанности, то без него некуда. Но, возможно, допустим такой расклад - для управления моментом данные скорости используются, а для управления углом - нет? Остается, конечно, вопрос с ограничением максимальной скорости, который надо обдумывать. У вас уже на уровне модели колебания 3 дискреты при стоянии в точке. Что же может получится на практике? Когда у вас все шумы и возмущения будут дифференцироваться? Вас устраивает, как у вас модель отрабатывает наброс момента и стохастические возмущения? Конечно, с большой вероятностью, работать оно будет сносно, особенно если там редуктор. Но ежели колебания будут большие, прежде, чем менять датчик, подумайте над регулированием. PS: У меня есть неплохой опыт разработки систем управления прецизионными приводами, где надо выдерживать точности лучше одной угловой секунды. Есть разработанные, реализованные и пущенные в эксплуатацию изделия, с массами подвижных частей от десятка килограмм до нескольких тон. И ветер на них дует, и трение неравномерное, и проче и прочее. И ничего, работают системы. И за траекторией следят, и в точке стоят, и нужные точности выдерживают. И не обязательно тут делать все по крутому, накручивать фильтр Калмана, строить адптивные схемы. Можно обойтись линейными ргуляторами. PPS: Кстати, достичь тех же точностей классическим подчиненным регулированием с настройкой на оптимумы зачастую не удавалось. Но у вас система не прецизионная, вероятно, что все обойдется.
|
|
|
|
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. Принцип работы датчика описан в прилагаемом документе. Если производитель не врёт, то должен работать.
|
|
|
|
Guest_@Ark_*
|
Sep 15 2011, 14:05
|
Guests

|
Цитата Предполагается, что на сам датчик будет раз в 50 мкс опрашиваться со стороны PIC24 Тем самым, вы упираетесь в ограничение по точности в 50мкс. Обычный инкрементальный энкодер вам даст результат на два порядка точнее. Впрочем, подумайте и посчитайте нужно ли это в данной задаче. Избыточная точность также вредна, как и недостаточная, так как требует лишних ресурсов...
Сообщение отредактировал @Ark - Sep 15 2011, 14:06
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|