http://www.forum.getchip.net/ |
|
Подскажите как написать ПИД-регулятор на АВ http://www.forum.getchip.net/viewtopic.php?f=16&t=122 |
Страница 14 из 14 |
Автор: | anatoliy [ 18 апр 2012, 21:37 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Попробую описать алгоритм словами. Входные данные: Сигнал и необходимое значение. Алгоритм работает за некоторое количество интеграций получаем данные рассчитываем ошибку вычитаем из полученных данных необходимое значение получаем текущию ошибку рассчитываем пропорциональную компоненту пропорциональная компонента = текущая ошибка * на коэффициент пропорциональности рассчитываем дифференциальную компоненту дифференциальная компонента = текущая ошибка - прошлая ошибка * диф коэффициент рассчитываем интегральную компоненту интегральная компонента = (текущая ошибка + прошлая ошибка)/2 * интегральный коэффициент делаем текущию ошибку прошлой ошибкой рассчитываем управляющие воздействие управляющие воздействие = пропорциональная компонента + дифференциальная компонента + интегральная компонента проверяем на допустимый диапазон и принимаем меры выдаем управляющие воздействие делаем новую интеграцию алгоритм описанный в файле выше сильно упрощён но как пример пойдёт |
Автор: | GetChiper [ 20 апр 2012, 22:37 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Автор: | anatoliy [ 21 апр 2012, 01:43 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Автор: | SVN [ 22 апр 2012, 15:11 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Автор: | anatoliy [ 22 апр 2012, 15:25 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
в не упрощённом алгоритме происходит коррекция коэффициентов. по признакам пере регулирования. В данной реализации интеграл рассчитывается слишком по короткой истории. те всего 2 значения. ИМХО нужно историю длиннее. но для задачи терморегулирования должно подойти. поиграйтесь с коэффициентами |
Автор: | SVN [ 22 апр 2012, 15:51 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Спасибо. |
Автор: | mcmega [ 29 ноя 2013, 18:02 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Всем здрасти) Что то не могу понять, тема заглохла или что то получилось? Очень интересный проект. |
Автор: | Гость [ 15 дек 2013, 12:29 ] |
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ |
Автор: | dimtex [ 11 апр 2017, 15:14 ] | ||
Заголовок сообщения: | Re: Подскажите как написать ПИД-регулятор на АВ | ||
Вот мой вариант PID регулятора температуры в данной программе использованы фрагменты кода выложено на данном ресурсе за что всем авторам большое спасибо Теперь по теме: в моём варианте УВ равно 1 сек /100% что позволяет равномерно регулировать инерционные объекты с разной интегральной состовляющей для облегчения расчётов десятичных знаков входные данные умножены на 10 на пример температура 25,6 С = 256 коэфф также задаются с умножением на 10 после расчётов УВ делится на 10 и усредняется до ближайшего целого числа и нормируется от 0-100% Как пользоваться данной библиотекой : Необходимо в разделе констант установить нужную температуру и подобрать коэффициенты через равные промежутки времени измеряем температуру копируем текущую температуру умноженую на 10 в регистр Tek_Tx10 и вычисляем PID пп OBR_PID в регистре Rez_PID получаем число от 0-100 % с помощью которого регулируется температура Если возникнут вопросы пишите
|
Страница 14 из 14 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |