Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха. |
22.11.2017, 23:04
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от stalkernet
|
Мдя опять за за свое. У вас обоих черте что написано. у одного интегратор. у другого интервал воздействия. и ни у одного второй ступени регулятора - корректора мощности в котором попугаи пида пересчитываются в реальное воздействие
|
Ну почему?
У AR_Favorit, есть некое ШИМ управление нагревателем. Вот он и преобразует свои попугаи пида (команду под названием control) в реальное воздействие HEAT_ON или HEAT_OFF по свистку heat_counter
То есть преобразует некоторую цифру в логику выключателя ВКЛ- ВЫКЛ
|
|
|
|
22.11.2017, 23:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
|
|
|
|
22.11.2017, 23:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
AR_Favorit, есть некое ШИМ управление нагревателем. Вот он и преобразует свои попугаи пида (команду под названием control) в реальное воздействие HEAT_ON или HEAT_OFF по свистку heat_counter
То есть преобразует некоторую цифру в логику выключателя ВКЛ-ВЫКЛ
|
Это ффсё. ШИМ-управление таки есть, но все равно это "логика вкл-выкл".
Не, ну а что. ВКЛ есть? Есть. ВЫКЛ есть? Есть. Значит это ВКЛ-ВЫКЛ!
Забавно так получается.
Если я настрою таймер на выдачу ШИМ и будет он у меня делать эти ВКЛ и ВЫКЛ, ориентируясь по двум своим внутренним регистрам, один из которых счетчик миллисекунд, а в другом значение Control, сравнивая с которым счетчик, таймер будет включать или выключать выходной сигнал - ПИД-алгоритм будет работать.
А если это будет делать не узел "таймер", а узел "CPU", ориентируясь на те же две переенные и полностью по той же логике - алгоритм ПИД работать вдруг перестает!!!
|
|
|
|
22.11.2017, 23:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 02.07.2009
Сообщений: 1,119
Сказал спасибо: 1,248
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
control -= (PID_prev_err - PID_curr_err)*(int32_t)EE_PID_D;
|
а это как понимать. тамже должно быть +=
Сообщение от ALEGYR
|
if (integral_err‹(EE_PID_TIME*2000)) integral_err += PID_curr_err
|
или это как понимать???
тоесть пока накоплненная ошибка в градусах меньше двойного времени в секундах то мы накапливаем интегратор. както интересно сравнивать градусы с секундами.
Далее еще интереснее - когдаже всетаки интегратор будет реагировать на перерегулирования. а получается НИКОГДА потому что как только перестанет выполнятся условие (integral_err‹(EE_PID_TIME*2000)) прибавлятся к нему НИЧЕГО не будет.
|
|
|
|
22.11.2017, 23:21
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
Включили. Температура 25, уставка 190, ошибка 165, умножаем на 30 - пропорциональная компонента дает вклад в выходной сигнал аж 4950.
|
У меня пид включится только со 145 градусов и первое умножение, которое он сделает, будет 20х30! Где 20 это ошибка рассогласования.
|
|
|
|
22.11.2017, 23:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от stalkernet
|
а это как понимать. тамже должно быть +=
|
Ну не огорчайте меня. Просто обратите внимание на написанное за знаком "=". Там еще должно быть, что из текущей ошибки вычитается предыдущая. Но они поменяны местами, потому и знак изменен.
Записи
control -= (PID_prev_err - PID_curr_err)*(int32_t)EE_PID_D;
и
control += (PID_curr_err - PID_prev_err)*(int32_t)EE_PID_D;
абсолютно тождественны.
Сообщение от stalkernet
|
или это как понимать???
тоесть пока накоплненная ошибка в градусах меньше двойного времени в секундах то мы накапливаем интегратор. както интересно сравнивать градусы с секундами.
|
Если бы переменная EE_PID_TIME называлась EE_BIG_ASS, мы бы сравнивали градусы с жопами?
Нет там внутри ПИД-алгоритма ни градусов, ни секунд. Это просто безразмерные значения, вы сами об этом упоминали.
Сообщение от stalkernet
|
Далее еще интереснее - когдаже всетаки интегратор будет реагировать на перерегулирования. а получается НИКОГДА потому что как только перестанет выполнятся условие (integral_err‹(EE_PID_TIME*2000)) прибавлятся к нему НИЧЕГО не будет.
|
Не будет, верно подмечено. Вы тут первый, кто это заметил))
Рассказывать, зачем оно так - не буду, только замечу, что это имеет непосредственную связь с тоже, наверное, непонятным делением на 1000 интегральной компоненты))) Но скажем так, с точки зрения рассмотрения отвлеченного PID-алгоритма не в контексте некоторых программных хитростей в другом коде, это косяк)
Последний раз редактировалось AR_Favorit; 22.11.2017 в 23:36.
|
|
|
|
22.11.2017, 23:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 02.07.2009
Сообщений: 1,119
Сказал спасибо: 1,248
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
AR_Favorit, звыняюсь без вопросов. недоглядел. темболее си давно в руки не брал (лет 7 ). все на паскале реализую.
Что по другим вопросам?
AVP94 можно и так. тоже абсолютно верно. но слишком упрощенно.
|
|
|
|
22.11.2017, 23:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от stalkernet
|
AR_Favorit
Что по другим вопросам?
|
Дополнил тот пост
|
|
|
|
22.11.2017, 23:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 02.07.2009
Сообщений: 1,119
Сказал спасибо: 1,248
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
очень хорошо и доступно расписано. рекомендую почитать. раз уж Сокольников не курится.
Во всяком случае на тему размерностей. интов и флоатов тоже.
https://habrahabr.ru/post/145991/
|
|
|
|
22.11.2017, 23:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
У меня пид включится только со 145 градусов и первое умножение, которое он сделает, будет 20х30! Где 20 это ошибка рассогласования.
|
Это ты про пропорциональную компоненту, а мы об интегральной. Я понимаю, что тебе трудно отличить эти слова, но ты уж постарайся.
ЗЫ на твоем графике пид включался не со 145 градусов, а со 172,5.
Но все равно он при этом с двух итераций забивал интегральную компоненту (17,5*9)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:26.
|
|