Я пытаюсь написать программу микроконтроллера для контроля температуры в системе со следующими характеристиками:
- Выход может быть только вкл. или выкл. с фиксированными частотами цикла (~ 2-10 в час)
- Растение реагирует медленно (измеримые изменения температуры занимают много времени> 10 минут).
- Растение теряет температуру в зависимости от условий окружающей среды.
- уставка может изменяться большими шагами в зависимости от потребностей пользователя.
Я пишу контроллер, целью которого является минимизация ошибок, а также соблюдение тактовой частоты, представленной в качестве входных данных.
Это можно легко сделать с помощью ПИ-контроллера, и его выходной сигнал преобразуется в рабочий цикл. Проблема заключается в том, что программе необходимо выполнить автонастройку и выбрать правильные константы Kp, Ki и адаптироваться к меняющимся условиям окружающей среды и изменениям в теплопроизводительности. Поэтому предварительная настройка ПИ-регулятора не слишком полезна.
Использование фактического PI или PID не является обязательным требованием. Я открыт для использования Fuzzy-Logic, если он помогает, также у меня есть алгоритм машинного обучения на чипе, который моделирует отклик системы и потери тепла (линейные прибл.), Который предлагает информацию об измеренном отклике шага . Просто не знаю, что делать с этой информацией.
Несколько постов предполагают, что я мог бы использовать данные моделирования для настройки PI on-line, а также руководство по лабораторному просмотру, в котором предлагается использовать Fuzzy-Logic для настройки PI.
Мой вопрос заключается в том, каков наилучший подход для такого сценария (например, PID, fuzzy-pid, свертка и т. Д.) И как бы я мог реализовать его в программном обеспечении / на практике.
Я не EE, поэтому любой вклад будет принята с благодарностью.