Wreszcie jakiś ciekawy artykuł z teorii sterowania. Takie pytanie czemu w matlabie dobierasz nastawy dla regulatora dyskretnego a w programie stosujesz wzór dla ciągłego , w ogóle nie odejmujesz poprzedniej wartości sterowania ani nie uwzględniasz czasu próbkowania we wzorze?
http://images.slideplayer.pl/2/840379/slides/slide_4.jpg
Czy to trik polegający na tym, że wywołujesz przerwanie co okres próbkowania i wówczas można użyć regulatora ciągłego? Napisz z czego wynika wartość makra do antiwindup?
#define ERR_SUM_MAX 1000
I ostatnie najtrudniejsze patrząc na model matematyczny silnika DC można zauważyć, że sterowaniem jest napięcie zasilające wirnik i moment obciążenia. Natomiast ty w swoim artykule jako wyjście z regulatora PID czyli sterowanie używasz wartości PWM, która najoględniej mówiąc steruje prędkością kątową(liczbą obrotów w jednostce czasu). I tu moje pytanie czy nie należy wyjścia z regulatora jakoś przeliczyć na prędkość i dopiero podać na obiekt?
X1=Iw
X2=omega
U1=Uz
U2=Mobc
X2'=km/J*X1-B/J*X2+0*U1-1/J*U2;
i z tego całka, otrzymujemy wartość prędkości wymaganej do zrealizowania sterowania, którą przeliczasz na PWM.
Chodzi mi o to, czy wyjście regulatora może być czymkolwiek jest to wartość bez jednostki, za którą podstawiasz co ci pasuje?