|
Настройка хитрого ПИД регулятора, для электронного дросселя |
|
|
|
Dec 5 2011, 19:50
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 5-12-11
Из: Россия, Москва
Пользователь №: 68 694

|
Здравствуйте! Возможно, кто-нибудь из вас сталкивался с подобной проблемой. Проблема вот в чем. Делаю блок управления электронным дросселем автомобиля. По сути это сервопривод с коллекторным мотором, понижающим редуктором и датчиком (переменный резистор) на выходном валу. Конструкция, аналогичная авиамодельной сервомашинке - только в 10 раз мощнее. Соответственно, мотор заслонки управляется с микроконтроллера при помощи ШИМ сигнала. Реализован "классический" алгоритм ПИД-регулятора, вот кусок си-кода: Код en0=angle - servo_pos; integral_term = SumE / 73.5; // Divide by the sampling frequency derivative_term = en0 - en1; integral_term = integral_term * ki; // Ki derivative_term = derivative_term * kd; // Kd Cn = en0 + integral_term + derivative_term; // Sum the terms Cn = (Cn * kp); //Kp en1 = en0; Где, angle - требуемое положение, servo_pos - фактическое положение сервы сооветственно Cn - выход на ШИМ, ki kd kp - коэффициента ПИДа. Алгоритм работоспособен, заслонка поворачивается и с хорошей точностью попадает на заданное положение. НО. У нее есть как-бы люфт. То есть, если нажать на заслонку пальцем - она сначала поворачивается, потом из-за накопления ошибки I-звена плавно возвращается на заданное положение. Такое ощущение что недостаточно большой коэффициент P. Но проблема в том, что любое дальнейшее увеличение любого коэффициента приводит к "раскачке" системы - возникает довольно длительный переходный процесс, или вообще незатухающие колебания. Так же был опробован "частотный" метод подбора коэффициентов ПИДа - безрезультатно. Заслонка работает, но есть "люфт". Проблема не в "механике". Точно на той же плате и заслонке абсолютно нормально работает "заводской" софт, у заслонки "люфта" нет вообще. То есть, проблема явно в реализации алгоритма. Подскажите, пожалуйста - в какую сторону копать... Вообще, применим ли пид в подобных системах?
|
|
|
|
|
 |
Ответов
Guest_TSerg_*
|
Dec 8 2011, 12:53
|
Guests

|
>А вот на результат таки да. Приветствую приводчика-коллегу ! Вы все излагаете верно - полноквадрантное управление, это единственный путь для управления во всех смыслах. Таня - таки да, тепловик, хотя немало найдется женщин-специалистов такого уровня  Вот когда тепловики будут использовать одновременно нагреватель и холодильник ( хотя.. уже используют ) - тогда они лучше будут понимать принцип активного управления в каждый момент времени.
|
|
|
|
|
Dec 8 2011, 13:07
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(TSerg @ Dec 8 2011, 16:53)  >А вот на результат таки да. Приветствую приводчика-коллегу ! Вы все излагаете верно - полноквадрантное управление, это единственный путь для управления во всех смыслах. Таня - таки да, тепловик, хотя немало найдется женщин-специалистов такого уровня Вот когда тепловики будут использовать одновременно нагреватель и холодильник ( хотя.. уже используют ) - тогда они лучше будут понимать принцип активного управления в каждый момент времени. Не нужно мне комплиментов. И уровень мой не трогайте. Вы про уравнения лучше. Про ПИД. Где там отличия печки от моторчика? Где эти квадранты? Если зашкаливает - нет линейного режима и ПИДа в классическом смысле. А пельтье, которые могут тепло туда-сюда - так не очень-то это правильно применять одновременно... почти для всех случаев. Вот к исключениям отнесу измерение малых тепловых потоков - поддержание стабильной температуры в калориметрах. Больше на ум ничего не идет.
|
|
|
|
|
Dec 8 2011, 20:50
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 22-05-09
Из: Киев
Пользователь №: 49 392

|
Цитата(Tanya @ Dec 8 2011, 16:07)  Вы про уравнения лучше. Про ПИД. Где там отличия печки от моторчика? Где эти квадранты? Ну, печка от моторчика отличается все-таки. Хотя это не принципиально для нашей дискуссии. Ведь звенья одинаковые, уравнения одинаковые, корректирующие цепи одинаковые. И подходы к решению задач тоже одинаковые, ну почти. Этого никто и ни разу не отрицал. Так что в ереси прошу не обвинять. Квадранты следует искать на выходе усилителя ошибки авторегулятора, посмотрите на его реакцию для замкнутой ОС при всех видах возмущений. Рассчитайте и постройте привод. Топология силы – полный мост, управление 4Q. Подайте ему на вход в качестве задания по скорости чистый гармонический сигнал, лежащий в полосе авторегулирования, посмотрите на сигнал от датчика ОС. Уверяю Вас, авторегулятор отработает во всех 4Q. При этом сигнал на датчике скорости так же будет гармоническим, той же частоты и фазы. Для сравнения покажу картинки вариантов управления 1Q и 4Q.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 9 2011, 09:00
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 22-05-09
Из: Киев
Пользователь №: 49 392

|
Цитата(Tanya @ Dec 9 2011, 07:04)  Вот я никак не могу понять, что Вы хотите доказать. И о чем Вы пишете. Что там на картинках? Приведите картинки для малой амплитуды. Картинки неправильные все равно. Сместите их от нуля. А так у Вас не ПИД. Какой в этом смысл? Выскажитесь прямо разок. В чем состоит Ваша позиция в текущей "дискуссии" ни о чем? Доказывать ничего не собираюсь, про это доказано нашими пра-пра-пра. Что там на картинках? Посмотрите на них внимательно. На первой картинке, где (обратите внимание) задание лежит в пределах (0 – (+5))В, управление в одну сторону (1Q). Совершенно очевидно, что кое-где система не отрабатывает задание должным образом. При отрицательных производных задания регулируемый параметр «скорость» выходит из подчинения, в эти моменты двигатель едет «самонакатом», по естественной характеристике, зависящей от внешних условий, а не от задания. Так управляется Ваша «печка», только для печки её инерция будет поболе, полоса авторегулирования поуже. Но это не принципиально для дискуссии. На второй картинке, где (обратите внимание) задание лежит в пределах ((-5) – (+5))В, управление «на все четыре стороны» (4Q). ((-5) – (+5))В выбраны для того, что бы показать общий случай управления по 4Q. Надеюсь, Вы понимаете, что это не догма. Область задания (от минуса, до плюса) может быть, где угодно, зависит от поставленной задачи. Там регулируемый параметр «скорость» строго соответствует заданию, при любых знаках производной по заданию. На картинках легко просматривается реакция авторегулятора (ПИ-звено), смотреть на ШИМ, его «амплитуду» и знак. Проанализируйте не спеша. И ещё, сказать, что картинки неправильные – ничего не сказать. Вы же не студент ПТУ, обоснуёте «неправильность», пожалуйста.
|
|
|
|
|
Dec 9 2011, 10:06
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(Andron55 @ Dec 9 2011, 13:00)  Что там на картинках?
Совершенно очевидно, что кое-где система не отрабатывает задание должным образом. При отрицательных производных задания регулируемый параметр «скорость» выходит из подчинения, в эти моменты двигатель едет «самонакатом», по естественной характеристике, зависящей от внешних условий, а не от задания. Так управляется Ваша «печка», только для печки её инерция будет поболе, полоса авторегулирования поуже. Но это не принципиально для дискуссии.
Вы же не студент ПТУ, обоснуёте «неправильность», пожалуйста. Не знаю, что и сказать. Вы приводите совершенно очевидные картинки. Если нет заднего хода. то назад ехать нельзя... только под горку. Мы же тут про ПИД говорим? Его нельзя загружать невыполнимыми заданиями. Или перегружать большими скачками. При чем тут какие-то квадранты? ТС не может получить устойчивый режим. А сколько у него квадрантов неизвестно. А пружинка есть.
|
|
|
|
|
Dec 9 2011, 11:16
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 22-05-09
Из: Киев
Пользователь №: 49 392

|
Цитата(Tanya @ Dec 9 2011, 13:06)  Не знаю, что и сказать. Вы приводите совершенно очевидные картинки. Если нет заднего хода. то назад ехать нельзя... только под горку. В данный, повторяющийся по кругу момент, мы выясняем, что такое (1Q) и (4Q), которые Вам «неизвестны», и которые Вы не признаёте, хотя всё прекрасно понимаете. Добавлю, что для нужной траектории останова, при сбросе «газа», естественного тормоза может и не хватить (1Q), тогда « мягко и с чувством» врубаем задний ход (но едем вперёд) (4Q), с помощью которого отслеживаем вожделенную траекторию торможения. Заметьте, что так командует авторегулятор, а не мы. Он точно знает про знак, амплитуду и фазу, вырабатываемого им воздействия, команды (выделенной ошибки рассогласования). Если картинки очевидные, то они правильные или нет?
|
|
|
|
Сообщений в этой теме
K.Viktor Настройка хитрого ПИД регулятора Dec 5 2011, 19:50 SergCh Сдаётся мне никто не будет разбираться с вашим зам... Dec 6 2011, 05:29 Fast попробуйте добавлять шумы к servo_pos, когда засло... Dec 6 2011, 05:38 Tanya Цитата(K.Viktor @ Dec 5 2011, 23:50) Здра... Dec 6 2011, 06:49 K.Viktor Сдаётся мне никто не будет разбираться с вашим зам... Dec 6 2011, 07:17 Tanya Цитата(K.Viktor @ Dec 6 2011, 11:17) В за... Dec 6 2011, 07:37 SergCh Цитата(K.Viktor @ Dec 6 2011, 11:17) Это ... Dec 6 2011, 08:08  Andron55 Цитата(SergCh @ Dec 6 2011, 11:08) Так я ... Dec 7 2011, 10:30   Tanya Цитата(Andron55 @ Dec 7 2011, 14:30) Тут ... Dec 7 2011, 11:06    Andron55 Цитата(Tanya @ Dec 7 2011, 14:06) Почти в... Dec 7 2011, 12:01     Tanya Цитата(Andron55 @ Dec 7 2011, 16:01) Да, ... Dec 7 2011, 12:19    Andron55 Цитата(Tanya @ Dec 7 2011, 14:06) Еще мож... Dec 7 2011, 13:03     Tanya Цитата(Andron55 @ Dec 7 2011, 17:03) Дина... Dec 7 2011, 13:23      Andron55 Цитата(Tanya @ Dec 7 2011, 16:23) Вот нес... Dec 7 2011, 13:58       Tanya Цитата(Andron55 @ Dec 7 2011, 17:58) Есть... Dec 7 2011, 14:14      Andron55 Цитата(Tanya @ Dec 7 2011, 16:23) Думаю, ... Dec 7 2011, 14:18       Tanya Цитата(Andron55 @ Dec 7 2011, 18:18) Вы н... Dec 7 2011, 14:28        Andron55 Цитата(Tanya @ Dec 7 2011, 17:28) Ну... н... Dec 7 2011, 15:29         Tanya Цитата(Andron55 @ Dec 7 2011, 19:29) Очен... Dec 7 2011, 15:49          Andron55 Цитата(Tanya @ Dec 7 2011, 18:49) Я обычн... Dec 7 2011, 16:42           Tanya Цитата(Andron55 @ Dec 7 2011, 20:42) В ос... Dec 7 2011, 16:57            Andron55 Цитата(Tanya @ Dec 7 2011, 19:57) Все Вы ... Dec 7 2011, 18:11             Tanya Цитата(Andron55 @ Dec 7 2011, 22:11) Нет,... Dec 7 2011, 18:46              Andron55 Цитата(Tanya @ Dec 7 2011, 21:46) Разницу... Dec 7 2011, 19:30               Tanya Цитата(Andron55 @ Dec 7 2011, 23:30) И эт... Dec 7 2011, 20:08                Andron55 Цитата(Tanya @ Dec 7 2011, 23:08) Скорост... Dec 7 2011, 20:30                 Tanya Цитата(Andron55 @ Dec 8 2011, 00:30) Повт... Dec 8 2011, 04:06                  SergCh Цитата(Tanya @ Dec 8 2011, 08:06) Вы забл... Dec 8 2011, 07:54                   Tanya Цитата(SergCh @ Dec 8 2011, 11:54) Приятн... Dec 8 2011, 08:30                  Andron55 Цитата(Tanya @ Dec 8 2011, 07:06) Вы забл... Dec 8 2011, 09:59                   Tanya Цитата(Andron55 @ Dec 8 2011, 13:59) Как ... Dec 8 2011, 11:36   Andron55 PS
Забыл сказать про редуктор.
Не доведи хоспадя, ... Dec 7 2011, 11:26    Tanya Цитата(Andron55 @ Dec 7 2011, 15:26) PS
З... Dec 7 2011, 11:42 K.Viktor По противо эдс уверен. Схема очень примитивна, я е... Dec 6 2011, 08:03 Tanya Цитата(K.Viktor @ Dec 6 2011, 12:03) По п... Dec 6 2011, 08:16 demiurg_spb Цитата(K.Viktor @ Dec 6 2011, 12:03) То е... Dec 6 2011, 09:28 K.Viktor Огромное спасибо всем за советы по теме!
Попр... Dec 7 2011, 21:09 SNGNL Цитата(K.Viktor @ Dec 5 2011, 23:50) Но п... Dec 7 2011, 21:36 Andron55 Цитата(SNGNL @ Dec 8 2011, 00:36) Сдается... Dec 7 2011, 21:52    SergCh Цитата(Tanya @ Dec 9 2011, 08:04) Вот я н... Dec 9 2011, 06:44        Andron55 Цитата(Tanya @ Dec 9 2011, 14:21) Они тут... Dec 9 2011, 12:08  TSerg Цитата(Tanya @ Dec 8 2011, 17:07) Не нужн... Dec 10 2011, 18:53 _gari В задаче ТС почти "темный лес " с кинема... Dec 8 2011, 19:53 _gari Угу, пружинка тут очень странная даже с т.з. прост... Dec 10 2011, 19:36 K.Viktor Цитата(_gari @ Dec 10 2011, 22:36) Угу, п... Dec 12 2011, 07:27 Tanya Цитата(K.Viktor @ Dec 12 2011, 11:27) Топ... Dec 12 2011, 08:30 TSerg Цитата(K.Viktor @ Dec 12 2011, 11:27) Это... Dec 12 2011, 09:40 _gari Цитата(K.Viktor @ Dec 12 2011, 10:27) И к... Dec 12 2011, 18:31 K.Viktor Цитата(Tanya @ Dec 12 2011, 11:30) Совет ... Dec 12 2011, 19:15 _gari Цитата(K.Viktor @ Dec 12 2011, 22:15) И в... Dec 12 2011, 21:12 K.Viktor Цитата(_gari @ Dec 13 2011, 00:12) Так чт... Dec 13 2011, 06:32 TSerg >Речь про управление САМОЙ ЗАСЛОНКОЙ (электро).... Dec 13 2011, 14:26 K.Viktor Всем спасибо, проблема решена. Была недостаточно в... Dec 17 2011, 08:42 Tanya Цитата(K.Viktor @ Dec 17 2011, 12:42) Все... Dec 17 2011, 10:17 Herz А что такое однобитный ШИМ? Dec 17 2011, 10:25 Tanya Цитата(Herz @ Dec 17 2011, 14:25) А что т... Dec 17 2011, 12:01 TSerg Цитата(Herz @ Dec 17 2011, 14:25) А что т... Dec 17 2011, 18:19 Tanya Цитата(TSerg @ Dec 17 2011, 22:19) Релейн... Dec 17 2011, 18:47  monos Цитата(Tanya @ Dec 17 2011, 21:47) Обясни... Dec 17 2011, 20:09 _gari Принимайте поздравления, K.Viktor!
Так софтовы... Dec 18 2011, 02:31 K.Viktor Цитата(TSerg @ Dec 17 2011, 21:19) Порой ... Dec 18 2011, 08:46 Tanya Цитата(K.Viktor @ Dec 18 2011, 11:46) Но ... Dec 18 2011, 11:38 _gari Спасибо, K.Viktor, теперь все ясно. Dec 18 2011, 10:39 K.Viktor I звено в пиде имеет ограничитель, других нет.
Ре... Dec 18 2011, 16:29
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|