Поиск
Показаны результаты для тегов 'теория и практика'.
-
теория и практика Несколько вопросов по ПИД регулятору
ivainc1789 опубликовал тема в В помощь начинающему
Возникла необходимость и желание ознакомиться с ПИД регуляторами. Проблемы не заставили себя долго ждать... Предположим, нужно сделать простой регулятор для паяльника. Берем ATmega8 и определяем 16р. OCR1A для управления нагревателем. OCR1A=0 и нагреватель выключен, OCR1A=65535 и нагреватель включен на полную мощность. Естественно, программируем 16р. ШИМ. Также я сделал измерение температуры жала. Итак, каждые 8ms программа получает данные о текущей температуре, рассчитывает ПИД и определяет новое содержимое OCR1A, выдавая на нагреватель соотв мощность... А вот и проблемы: 1. Рассмотрим работу P регулятора. I и D выключены. Вроде все должно быть просто: OCR1A = OCR1A + Kp * E, где E = Tu - T; (Tu - уставка, T - текущая температура). Такая формула работает только в том случае, если T находится вблизи уставки. Т. е. задача сделать предварительный нагрев должна рассматриваться как отдельная задача... Тогда почему теория говорит о некоем смещении, которое свойственно P регулятору в установившемся режиме? Лично я его не наблюдаю! Температура у меня четко держится на уровне уставки с небольшими отклонениями на 1 градус максимум. Все соответствует вышеприведенной формуле, если преднагрев уже сделан. Если же не сделан, то имеем очень сильный "перелет" уставки, после чего все устаканивается... Вместе с тем, моя BGA паяльная станция построенная на ПИД контроллере REX100 (нижний подогрев) при выключенных I, D компонентах ведет себя несколько мудро: она предугадывает приближение к уставке, причем как сверху так и снизу и соответствующим образом управляет релейным выходом. Конечно, наверное я так тоже могу сделать, но вот вопрос - где тут заканчивается теория и начинается творчество разработчика? Где долбаное смещение? Как его увидеть? Уже потратил несколько часов, собрал макет, но есть ощущение, что теорию я не понимаю... 2. Попытки использовать интегральную (I) составляющую также ни к чему хорошему не привели. Малейшее ее влияние сильно замедляет систему и реакция на изменения температуры становится вялой. Она как бы не нужна здесь... 3. Чудо под названием D дифференциальная составляющая практически не может работать: с таким малым периодом (8ms) температура не успевает измениться значительно и соотв эта компонента если и влияет то очень слабо... Если увеличить период, то проигрываем в быстрой реакции из-за снижения частоты управления.. Итак, получается что проблема регулятора паяльника тупо вырождается в простой П регулятор с аккуратным преднагревом до уставки... И вот я думаю, прав ли я?