Я хочу научиться ПИД-регулированию (Пропорционально-Интегрально-Производная) в основном для температуры.
Я хотел бы учиться предпочтительно через простой проект.
Не могли бы вы порекомендовать что-то, что займет несколько недель, чтобы изучить?
Изменить: я хочу контролировать температуру резервуара для воды. Нагрев осуществляется резистором.
microcontroller
control-system
pid-controller
Даниэль Грилло
источник
источник
Ответы:
Контролировать температуру (это зависит от вашей среды) не очень сложно. Это был мой первый проект, когда я начал. Простите, если я повторю то, что вы уже знаете.
Я предполагаю, что у вас уже есть способ управления системой (т. Е. Нагревателем или холодильником) и способ получения обратной связи от системы (датчик температуры, такой как термистор или что-то в этом роде). Вам понадобится и то, и другое, чтобы реализовать цикл PID, который является типом управления с обратной связью. Все, что вам действительно нужно сделать после этого, это написать немного программного обеспечения для отправки команд управления, чтения отзывов и принятия решений на основе этих отзывов.
Я бы начал с чтения PID без докторской степени . Это статья, которую я использовал, когда мне впервые пришлось регулировать температуру в научном эксперименте. Он предоставляет несколько простых для понимания изображений и хороший пример кода (базовый цикл, который вы можете настроить, нужно всего 30 строк), который объясняет, как управлять вашим «растением» - в данном случае, то, что вы хотите контролировать температуру ,
Суть PID - Пропорционально-интегрально-дифференциальное - управление состоит в том, чтобы использовать мгновенные, прошлые и прогнозируемые будущие характеристики (соответственно) системы, чтобы определить, как управлять системой в данный момент времени для достижения заданной уставки. Во многих случаях вам придется настраивать коэффициенты усиления алгоритма, чтобы получить желаемую производительность, которая вам нужна - как быстро температура поднимется, насколько вы хотите избежать перерегулирования и т. Д. Вы можете даже обнаружить, что вам не нужен дифференциал или даже встроенный контроль, чтобы получить, где вы хотите быть!
источник
Да. Получить термистор и резистор. Выберите сопротивление, которое может тянуть прилично большой ток (> 100 мА).
Используйте термопасту между ними и склейте их вместе с лентой. Подключите терморезистор к микроконтроллеру через АЦП. Используйте транзистор для управления резистором и управления им с помощью ШИМ.
Разработайте PID, который позволит вам контролировать температуру с помощью циферблата, и попрактикуйтесь в создании PID, который выходит за пределы температуры и звонит по ней. Сделайте его чрезмерно демпфированным и потратьте целую вечность, чтобы достичь температуры, и постарайтесь получить его критическое демпфирование и достичь максимальной температуры.
Дайте мне знать, если подробности помогут.
После того, как вы это сделаете, уменьшите их теплопроводность, попробуйте добавить ступень, которая задержит распространение температуры, и постарайтесь, чтобы она хорошо контролировалась.
Это также можно сделать с помощью светодиода и фототранзистора.
источник
Помимо очевидного приложения для контроля температуры, здесь есть прекрасный проект, который требует ПИД-регулирования. Создайте себе бота, следующего за строкой: http://elm-chan.org/works/ltc/report.html
источник
Хороший симулятор PID доступен для Scilab.
источник
Просто добавляю свои 2 цента к хорошим ответам уже.
Практическое использование ПИД-регулятора для регулирования температуры часто имеет нелинейный характер, если обнаружение ошибки температуры ограничено (усиление операционного усилителя насыщает выходной сигнал), а мощность, доступная для управления температурой, является фиксированной.
Рассмотрим двухпозиционный контроллер. Система будет иметь задержку с момента подачи тепла и обнаружения изменения температуры. В отсутствие петли ПИД, эта задержка создает колебание неустойчивой петли, и если есть какой-либо гистерезис, циклы мощности с шумом (вкл-выкл-вкл) Однако очень высокий коэффициент усиления (например, компаратор) приводит к небольшой остаточной ошибке температуры. Задержка влияет на время цикла и превышение.
Если имелось внешнее возмущение, такое как лампа в баке, которое может привести к значительному нагреву, то регулятор нагревателя должен сработать, как только будет обнаружено повышение температуры из-за нагрева лампы. Если ваша лампа не является частью контура ПИД-регулятора, она не может «предвидеть» эффект (усиление обратной связи по производной). Очевидно, что если лампы генерируют слишком много тепла, то температура не может регулироваться и будет превышать заданное значение.
Возможно, ваш регулятор нагрева с ПИД-регулятором должен иметь вход для состояния переключателя лампы и управления выходом, чтобы регулировать мощность света в качестве вторичного источника тепла, опять же, если он слишком велик.
Определение требований к абсолютной погрешности управления,% перерегулирования и времени отклика - вот некоторые входные данные, необходимые для оптимизации цикла ПИД. Не менее важно определить системные помехи и включить их в свою систему управления для ввода и вывода. например. Тепловая мощность лампы и выбор датчика (ов) и местоположения.
Помимо опыта.
Мой первый опыт использования водонагревателя был в эпоху водяного дна 70-х годов, когда я был студентом, я разработал свой собственный временный контроллер, используя термистор, схему управления и симисторный выключатель с переходом через ноль к нагревателю. Я начал с контроля компаратора и обнаружил необычный ответ от прыжка в постели. Поэтому я добавил пропорциональное управление, используя нефильтрованный шум на датчике, чтобы дать мне пропорциональные «пропущенные циклы», когда триак ZCS был включен вблизи порога. Я мог регулировать температуру в пределах 0,1 ° С. Реакция была более мягкой, но результат был таким же.
В моем случае всякий раз, когда я прыгал в кровать, тепловое сопротивление слегка падало от добавленного давления, и индикатор питания светился диммером в течение одной или двух минут, пока температура не упала на одну десятую градуса или не соответствовала бы очевидному повышению температуры от дополнительного веса и давления водяное постель против термостата.
источник