Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Настройка хитрого ПИД регулятора
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Обратная Связь, Стабилизация, Регулирование, Компенсация
Страницы: 1, 2
TSerg
Цитата(Tanya @ Dec 8 2011, 17:07) *
Не нужно мне комплиментов. И уровень мой не трогайте.
Вы про уравнения лучше.


Вряд ли это был комплимент - скорее напоминание.
Уровень Ваш да останется при Вас.

Цитата(Andron55 @ Dec 9 2011, 16:08) *
«Не потому, что слаб,
А потому что кровь не греет старых лап!
Ночами долго-долго вою на луну.» (ц)
sad.gif


Ради интереса, сварганил модельку в VisSim - создал ситуацию описанную автором ( конечно нет полных данных, но фантазию нам не отменили наши Учителя ).

В общем, проблема может быть в пружинке, которая имеет ноль реакции на 30 км/час и если не лежит на упоре, а там начинает доставать люфт.
_gari
Угу, пружинка тут очень странная даже с т.з. простой механики. Если она может свернуть редуктор с двигателем, то редуктор однозначно хреновый и люфтов там "выше крыши". Т.е. вроде возможен только один вариант регулирования, в одну сторону тянет двигатель, в другую пружина.
Чесно говоря, из описания пока даже не понимаю в каком типе системы впуска крутит заслонку ТС wacko.gif
K.Viktor
Цитата(_gari @ Dec 10 2011, 22:36) *
Угу, пружинка тут очень странная даже с т.з. простой механики. Если она может свернуть редуктор с двигателем, то редуктор однозначно хреновый и люфтов там "выше крыши". Т.е. вроде возможен только один вариант регулирования, в одну сторону тянет двигатель, в другую пружина.
Чесно говоря, из описания пока даже не понимаю в каком типе системы впуска крутит заслонку ТС wacko.gif



Заслонка стоит на впуске автомобильного 4х цилиндрового мотора. Это обычная "электронная педаль газа", у которой нет тросика - все управление делается "по проводам". И которая стоит почти на всех автомобилях после 2006 года.

По пружине. В заслонке есть 2 потенциометра, они дублируют друг друга. В педали - тоже 2. Если сигнал хоть с какого-нибудь потенциометра отличается от остальных (неисправность датчика), либо обрыв/замыкание в проводах - питание с мотора заслонки снимается. При этом пружина возвращает дроссель в приоткрытое положение, соответствующее 3000 об мотора чтобы водитель мог хоть как-то "дотошнить" до сервиса.

Эта же штуковина регулирует холостой ход. То есть в машине нет отдельного клапана ХХ, а регулировка осуществляется приоткрытием заслонки на несколько процентов. И тут возникает проблема, что при почти полностью закрытой заслонке усилие на ней возрастает в разы, так как на дроссель воздействует разряжение, создаваемое двигателем.


Попробуйте, если не сложно, предоставить упрощённую схему силовой части.
А то я в толк не возьму, что там за топология.


Топология - полный мост на 4х MOSFET'ах, токовых датчиков/резисторов - НЕТ, для защиты от заклинивания и перегрузки в оригинальном блоке используется сигнал процента рассогласования уставки и текущего положения. При рассогласовании > n% просто снимается питание с мотора.


Похоже, грамотное управление этой штукой ничуть не проще алгоритмов управления самим ДВС...


Написал код, использующий плавное торможение при приближении к заданной точке (замыкать двигатель "накоротко"), сегодня тест-драйв будет.

Чуть не забыл ответить Татьяне:
Вы под собственной частотой что понимаете?
То. что Вы называете болтающейся заслонкой - это при потоке газа, который "усиливает" пружину?


Болтающаяся заслонка - имеется ввиду состояние устойчивого равновесия, когда пружина не воздействует на заслонку. Это положение находится в районе 10% открытия дросселя и соответствует 3000об ДВС. То есть при снятии питания с привода заслонка оказывается открыта на 10%, но принудительно ее можно закрыть до нуля, при этом пружина - естественно, будет тянуть в другую сторону.
Про собственную частоту - я не очень силен в теории и терминологии систем регулирования. Имеется ввиду вот что:
- снимаем питание с мотора
- рукой тянем за заслонку и отпускаем ее
- заслонка начинает "качаться" с некоторой частотой в районе 10% - как маятник
- записываем частоту этих колебаний

Включаем питание на мотор. Прибавляем коэффициент P (при этом I и D равны нулю) чтобы начались автоколебания. Частота автоколебаний совпадает с частотой свободных колебаний заслонки при снятом питании.

Поток газа наоборот, уменьшает "силу" пружины. т.к. поток газа стремится закрыть заслонку на холостых оборотах, а пружина пытается ее открыть на 10%.

К сожалению, я не специалист в области регулирования, и мне тяжело разобраться с некоторыми вещами. Но желание есть огромное sm.gif

Автор! Для цитирования во встроенном редакторе есть специальный инструмент. Пожалуйста, пользуйтесь им вместо оформления цитат курсивом.
Tanya
Цитата(K.Viktor @ Dec 12 2011, 11:27) *
Топология - полный мост на 4х MOSFET'ах, токовых датчиков/резисторов - НЕТ, для защиты от заклинивания и перегрузки в оригинальном блоке используется сигнал процента рассогласования уставки и текущего положения. При рассогласовании > n% просто снимается питание с мотора.

Значит, - у Вас полно квадрантов на страх врагам.
Цитата(K.Viktor @ Dec 12 2011, 11:27) *
Похоже, грамотное управление этой штукой ничуть не проще алгоритмов управления самим ДВС...

У страха глаза велики.

Цитата(K.Viktor @ Dec 12 2011, 11:27) *
Чуть не забыл ответить Татьяне:
Вы под собственной частотой что понимаете?

Про собственную частоту - я не очень силен в теории и терминологии систем регулирования. Имеется ввиду вот что:
- снимаем питание с мотора
- рукой тянем за заслонку и отпускаем ее
- заслонка начинает "качаться" с некоторой частотой в районе 10% - как маятник
- записываем частоту этих колебаний

Включаем питание на мотор. Прибавляем коэффициент P (при этом I и D равны нулю) чтобы начались автоколебания. Частота автоколебаний совпадает с частотой свободных колебаний заслонки при снятом питании.

Терминологическое разногласие. У Вас с нами и остальным миром.
Собственная частота колебаний пружины (их там много) - это собственная частота колебаний только пружины.
А то, о чем Вы пишите - собственная частота колебаний пружины с заслонкой, редуктором, ротором и всем остальным.
Мне вот кажется, что частота автоколебаний должна быть несколько выше частоты свободных колебаний.
Цитата(K.Viktor @ Dec 12 2011, 11:27) *
К сожалению, я не специалист в области регулирования, и мне тяжело разобраться с некоторыми вещами. Но желание есть огромное sm.gif

Вспомнился старый итальянский фильм...
Совет - запишите в таблицу или аппроксимирующую формулу зависимость тока от положения заслонки. Это будет значение интегрального члена, которое нужно запихнуть туда в первом приближении. Но не давать ему меняться вдали от равновесия. При больших отклонениях отключаем таким образом ПИД. И временно используем другое значение.
Как попасть в новую точку. Это дело вкуса. Тут легко можно посчитать разные варианты в зависимости от желаемой нежности движения. Можно, например, подать импульс такой, чтобы заслонка своим ходом доехала в нужное место и сама там остановилась - тут-то и включаем ПИД, а можно дать избыточный импульс, а потом тормозить. Так будет быстрее. Можно даже не отключать ПИД, а ограничить скорость нарастания (убывания) задатчика программно - т.о. мы имитируем медленное (все относительно...) и печальное нажатие на педаль.
TSerg
Цитата(K.Viktor @ Dec 12 2011, 11:27) *
Это обычная "электронная педаль газа"


Без создания мат.модели совокупности узлов и факторов искать удовлетворительно работающее решение можно до конца света.
_gari
Цитата(K.Viktor @ Dec 12 2011, 10:27) *
И которая стоит почти на всех автомобилях после 2006 года.

Из эттого, надо полагать, следует, что речь идет о инжекторе с распределенным впрыском, Вы сами с таким названием знакомы?
Цитата(K.Viktor @ Dec 12 2011, 10:27) *
Похоже, грамотное управление этой штукой ничуть не проще алгоритмов управления самим ДВС...

На всех бензиновых двигателях дроссельная заслонка и есть, основной элемент управления ДВС.
Вы управляете работой форсунок?
Сколько температурных датчиков обрабатываете?
Датчики оборотов двигателя и массового расходе воздуха задействованы?

Цитата(K.Viktor @ Dec 12 2011, 10:27) *
К сожалению, я не специалист в области регулирования, и мне тяжело разобраться с некоторыми вещами. Но желание есть огромное sm.gif

Вы можете охарактеризовать организацию работы?
Вы один это делаете, или группа, отдел. Пока не видно, чтобы Вы себе представляли даже основные принципы работы ДВС, а ведь над такими задачами работают лаборатории ведущих автоконценрнов....годамииии
K.Viktor
Цитата(Tanya @ Dec 12 2011, 11:30) *
Совет - запишите в таблицу или аппроксимирующую формулу зависимость тока от положения заслонки. Это будет значение интегрального члена, которое нужно запихнуть туда в первом приближении.


Спасибо, буду думать в данном направлении! У меня мысль появилась - подключить к заводскому эбу ЦАП и записать табличку с характеристикой, "заложенной" в него. Чтобы хоть примерно представлять закон управления в заводском блоке.

Цитата(_gari @ Dec 12 2011, 21:31) *
Из эттого, надо полагать, следует, что речь идет о инжекторе с распределенным впрыском, Вы сами с таким названием знакомы?


biggrin.gif Более чем знакомы.

Цитата(_gari @ Dec 12 2011, 21:31) *
Вы можете охарактеризовать организацию работы?
Вы один это делаете, или группа, отдел. Пока не видно, чтобы Вы себе представляли даже основные принципы работы ДВС, а ведь над такими задачами работают лаборатории ведущих автоконценрнов....годамииии


В общем, вопрос в теме был не по управлению двигателем. И выводы о моих представлениях Вы поспешно делаете.
На блоках управления двс моей разработки (как софт, так железо) ездит не один десяток мотоциклов и несколько автомобилей разной степени "заряженности". Есть свой собственный динамометрический стенд, что уже говорит о многом. Просто с электродросселем столкнулся впервые.

Повторюсь, речь не идет про управление двс. С механической заслонкой и доп.регулятором холостого хода все отлажено и замечательно работает. Речь про управление САМОЙ ЗАСЛОНКОЙ (электро).
_gari
Цитата(K.Viktor @ Dec 12 2011, 22:15) *
И выводы о моих представлениях Вы поспешно делаете.
Так что мешает писать так, чтобы не приходилось гадать карб крутится или инжектор, и пишет это бестолковый студент или чек, который в деле разбирается.
Цитата(K.Viktor @ Dec 12 2011, 22:15) *
Речь про управление САМОЙ ЗАСЛОНКОЙ (электро).

Без понимания общих закономерностей динамики системы, которой управляют, систему АР не построишь. Вы-то можете все прекрасно понимать, но тут не экстрасенсы понимать, что кто-то понимает wacko.gif

Вы, кстати, тут оказались в чем-то схожей ситуации biggrin.gif
Цитата(_gari @ Dec 8 2011, 22:53) *
Таким образом можно сказать, что система АР при малых рассторойках, должна стремиться удерживать свое текущее положение (положение равновесия), а при больших расстройках, должна переходить в новое положение равновесия.


Цитата(Tanya @ Dec 12 2011, 11:30) *
Совет - запишите в таблицу или аппроксимирующую формулу зависимость тока от положения заслонки. Это будет значение интегрального члена, которое нужно запихнуть туда в первом приближении. Но не давать ему меняться вдали от равновесия. При больших отклонениях отключаем таким образом ПИД. И временно используем другое значение. .....и т.д.


K.Viktor
Цитата(_gari @ Dec 13 2011, 00:12) *
Так что мешает писать так, чтобы не приходилось гадать карб крутится или инжектор

Без понимания общих закономерностей динамики системы, которой управляют, систему АР не построишь. Вы-то можете все прекрасно понимать, но тут не экстрасенсы понимать, что кто-то понимает wacko.gif


Пока речь не про оптимальное управление ДВС при помощи заслонки. Это следующий этап. Поэтому не важно, инжектор это или нет.
TSerg
>Речь про управление САМОЙ ЗАСЛОНКОЙ (электро).

Еще раз - без знания ( изучения, измерения ) свойств всех "участников акции" что-либо интегрально-желаемое получить трудно.
K.Viktor
Всем спасибо, проблема решена. Была недостаточно высокая "разрядность" по ШИМу (8 бит vs 12 в оригинале). В "заводском" коде все интересно сделано, используется ножка аппаратного PWM (он 8 битный) но сам таймер при этом софтверный, т.к. фактическая точность управления соответствует примерно 12 битам.
Tanya
Цитата(K.Viktor @ Dec 17 2011, 12:42) *
Всем спасибо, проблема решена. Была недостаточно высокая "разрядность" по ШИМу (8 бит vs 12 в оригинале). В "заводском" коде все интересно сделано, используется ножка аппаратного PWM (он 8 битный) но сам таймер при этом софтверный, т.к. фактическая точность управления соответствует примерно 12 битам.

А я вот даже в весьма точных системах... однобитный ШИМ. Ведь если часто-часто, то нормально. Но бывают случаи (может, Вы это и имели в виду), когда 8 бит недостаточно для интегрального члена. И даже 16.
Herz
А что такое однобитный ШИМ?
Tanya
Цитата(Herz @ Dec 17 2011, 14:25) *
А что такое однобитный ШИМ?

Ну... не совсем уж буквально. Это когда управляющее воздействие выдается одинаковыми квантами на манер сигма-дельта модулятора.
TSerg
Цитата(Herz @ Dec 17 2011, 14:25) *
А что такое однобитный ШИМ?


Релейная система sm.gif

Цитата(K.Viktor @ Dec 17 2011, 12:42) *
..Была недостаточно высокая "разрядность" по ШИМу


Может и так, а может и нет.
Порой снижение разрядности повышает устойчивость или наоборот.
Считаю - повезло, т.к. вычислительные системы должны проектироваться исключая влияние разрядности или, во всяком случае, контролируя ее минимум.
Tanya
Цитата(TSerg @ Dec 17 2011, 22:19) *
Релейная система sm.gif

Ну нет. Это, скорее, - шим. Управление подается на интегратор, туда же - тактированные импульсы, пропорциональные воздействию на объект. На выходе интегратора - компаратор. Получается скорее размазанный ШИМ. Он же сигма-дельта... Если очень хочется, то еще ЦАП, получится сигма-дельта более высокого порядка.

Цитата(TSerg @ Dec 17 2011, 22:19) *
Порой снижение разрядности повышает устойчивость или наоборот.

Обясните, пожалуйста, я что-то такого не представляю себе. Вот обратное - легко.
monos
Цитата(Tanya @ Dec 17 2011, 21:47) *
Обясните, пожалуйста, я что-то такого не представляю себе. Вот обратное - легко.
Петля гистерезиса пошире, видимо...
_gari
Принимайте поздравления, K.Viktor!
Так софтовым счетчиком крутятся 4 младших разряда и их переполнение инкрементирует таймер PWM, правильно понял?
K.Viktor
Цитата(TSerg @ Dec 17 2011, 21:19) *
Порой снижение разрядности повышает устойчивость или наоборот.
Считаю - повезло, т.к. вычислительные системы должны проектироваться исключая влияние разрядности или, во всяком случае, контролируя ее минимум.



Это все понятно, сначала мат.модель, исследование системы и т.д. Все замечательно, если есть год времени и коллектив типа как у Bosch Motorsports. У меня была более приземленная задача - говоря прямо, "передрать" заводской алгоритм управления заслонкой с Бошевского блока и добавить его в свой ЭБУ. Т.к. в последнее время появилась куча машин и мотоциклов с электродросселем, а "тросик" при установке моего блока ставить геморрой.

Но некоторая доля везения, несомненно - присутствовала sm.gif

Цитата(_gari @ Dec 18 2011, 05:31) *
Принимайте поздравления, K.Viktor!
Так софтовым счетчиком крутятся 4 младших разряда и их переполнение инкрементирует таймер PWM, правильно понял?



Не знаю, как в Боше сделано... Я просто пожертвовал одним из 16-битных таймеров и сделал PWM на нем (по прерываниям).
Просто, срисовав схему - увидел, что управление мостом висит на ножке аппаратного ШИМа в проце, ну и подумал что используется аппаратная фича. Ан нет, этот вывод использовался просто как GPIO.
_gari
Спасибо, K.Viktor, теперь все ясно.
Tanya
Цитата(K.Viktor @ Dec 18 2011, 11:46) *
Но некоторая доля везения, несомненно - присутствовала sm.gif

Так Вы сделали классический ШИМ - без ограничений? Если так, то как он отрабатывает большие (резкие) скачки?
K.Viktor
I звено в пиде имеет ограничитель, других нет.

Резкие скачки отрабатывает с небольшой перекомпенсацией, но для моего применения это не критично - в двигателе внутреннего сгорания все процессы довольно медленные, и эти "забросы" положения заслонки не заметны.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.