你好 我想问下如果建立一个发酵罐的液位控制系统数学模型,液位上升时只有进水,出水进水不能同时进行的话,要怎么建立呢?公式用哪些呢?
液位控制系统的数学模型可以使用质量守恒方程和质量平衡方程来描述。假设发酵罐的液位为h,进水流量为qin,出水流量为qout,则质量守恒方程可以表示为:
d(hA)/dt = qin - qout
其中A为发酵罐的横截面积,d(hA)/dt表示液位的变化率。
液位上升时只有进水,出水进水不能同时进行,可以使用分段函数来表示进水和出水的流量。假设当液位低于一定高度h1时,进水流量为qin1,出水流量为0;当液位高于h1时,进水流量为qin2,出水流量为qout2,则进水和出水的流量可以表示为:
qin = qin1 (h < h1)
qin = qin2 (h >= h1)
qout = 0 (h < h1)
qout = qout2 (h >= h1)
将进水和出水的流量代入质量守恒方程中,可以得到:
d(hA)/dt = qin1 - qout2 (h < h1)
d(hA)/dt = qin2 - qout2 (h >= h1)
根据液位控制系统的定义,我们可以将进水流量qin2作为控制输入,将液位h作为输出,因此可以得到传递函数:
G(s) = H(s)/U(s) = qin2(s)/h(s)
其中,s为复变量,H(s)为输出h(s)的拉普拉斯变换,U(s)为输入qin2(s)的拉普拉斯变换。
将控制输入qin2(s)代入质量守恒方程中,可以得到:
d(hA)/dt = qin2 - qout2
对上式进行拉普拉斯变换,可以得到:
sHA(s) = Qin2(s) - Qout2(s)
将Qin2(s)和Qout2(s)表示为H(s)和U(s)的函数,可以得到:
sHA(s) = U(s)G(s) - H(s)F(s)
其中,F(s)为出水流量qout2(s)的拉普拉斯变换。
整理上式,可以得到:
H(s)/U(s) = G(s)/(s + F(s)/A)
因此,传递函数为:
G(s)/(s + F(s)/A)
其中,A为发酵罐的横截面积。
我们点击按钮是LED灯向前传递一格。
代码:
void LEDMove() {
LED <<= 1;
if (LED != 0xfe) {
LED += 1;
}
}
int main() {
LED = 0xfe;
while (1) {
keypros(LEDMove);
}
}
运行效果: