Buduję maszynę, która działa na ponad 20 rzędach wielkości z logarytmicznymi właściwościami procesu. Próbowałem zwykłego PID, a także różnego rodzaju PID i nie uzyskałem dobrych wyników. Jakie mam inne alternatywy dla PID?
Zaczynam od 21% tlenu w zamkniętym naczyniu (w wysokiej temperaturze) i wypompowuję go jon po jonie do log10 (pO2) = - 20 pierwotnej ilości. Mam na to dość czujnika, pompy i zasilacza. Ta część działa doskonale, jeśli ustawię ręcznie prądy pompy lub opiekę nad dzieckiem. Aby zwiększyć stężenie, po prostu obniżam prąd pompy, a przeciek dba o dodanie tlenu.
Ale jak widzisz, w kontekście próby zautomatyzowania sterowania za pomocą PID, to, co działa dobrze w jednym regionie, jest całkowicie nieodpowiednie w innym regionie. Nie pomaga to, że pełna pętla pomiarów zajmuje około 10 sekund.
Ograniczyłem prąd używany do 500mA, aw najgorszych warunkach prąd potrzebny do poradzenia sobie z upływem wynosi 700µA, więc zakres prądu nie jest tak duży. Nie ma również zakresu napięcia czujnika, który wynosi około 100 mV do -1 V.
Może mógłbym kontrolować napięcie pompy zamiast prądu pompy. Bieżące wyniki bezpośrednio do zmiany ilości tlenu (która jest logarytmiczna). Rezystancja pompy zależy od temperatury, a przede wszystkim od gradientu tlenu, i dałaby znacznie bardziej liniową i automatycznie regulowaną odpowiedź.
źródło
Odpowiedzi:
Alternatywą dla PID jest Model Predictive Control (MPC) [1] , [2] , [3] , [4] .
Ponieważ twój system jest wysoce nieliniowy, poleciłbym użycie NMPC) [5] , [6] , [7] .
Model kontrolera predykcyjnego, przewiduje przyszłą dynamikę systemu i podejmuje działania przed ręką. Ten kontroler wykonuje optymalizację online przy każdym czasie próbkowania i obsługuje jawnie ograniczenia systemu.
źródło