智慧能源4——Temperature Control Lab

Temperature Control Lab (TCLab)

什么是TCLab

TCLab是一款即插即用的Arduino设备,用于教授编程、传热、机器学习、数据科学、过程动力学和真实数据控制。

课程视频:TCLab Dynamics and Control - YouTube
网页:Temperature Control Lab
课程目录:Course Schedule
TCLab有两个彼此相邻的执行器加热器和两个温度传感器。

基本语法形式(伪代码):

1
2
3
4
5
6
lab = TCLab; %加载TCLab
lab.LED(80); %将LED灯打开并将亮度设置为80%
disp(lab.T1); %显示当前温度
disp(lab.T2);
lab.Q1(50); %将加热器调整到50%
lab.Q2(0);

Python中使用:import tclab
编程时同时也能使用语言中的特性,如数组、输入输出、画图等,这些基本函数并不随着TCLab的引入而失效。

ODEINT

ODEINT是Python中SciPy库的一部分,用于解决常微分方程(ODE)。它通过数值方法来求解ODE,特别是无法或难以找到解析解的方程,使用时需要提供一个定义ODE的函数、初始条件和自变量的值。
导入:

1
from scipy.integrate import odeint

使用方法示例:

1
2
3
4
5
6
7
8
9
10
11
# simulation
def labsim(TC,t):
U = 10.0
A = 0.0012
Cp = 500
m = 0.004
alpha = 0.01
Ta = 23
dTCdt = (U*A*(Ta-TC)+alpha*50)/(m*Cp)
return dTCdt
Tsim = odeint(labsim,23,tm)

GEKKO

GEKKO是一个用于机器学习和优化的Python软件包,专门研究微分代数方程(DAE)系统的动态优化。它与大型求解器APOPT和IPOPT结合使用,可用于线性、二次、非线性和混合整数规划。功能包括机器学习、离散或连续状态空间模型、模拟、估计和控制。GEKKO支持多种问题类型,包括线性规划(LP)、二次规划(QP)、非线性规划(NLP)、混合整数线性规划(MILP)、混合整数二次规划(MIQP)、混合整数非线性规划(MINLP)、差分代数方程(DAEs)、具有互补约束的数学规划(MPCCs)、数据回归/机器学习、移动视界估计(MHE)、模型预测控制(MPC)和实时优化(RTO)等。

导入:

1
from gekko import GEKKO

使用方法示例:

1
2
3
4
5
6
7
8
m = GEKKO() %创建模型
m.time = np.linspace(0,n,n+1)
U = 10.0; A = 0.0012; Cp = 500
mass = 0.004; alpha = 0.01; Ta = 23
TC = m.Var(23)
m.Equation(mass*Cp*TC.dt()==U*A*(Ta-TC)+alpha*50)
m.options.IMODE = 4 #模式4是dynamic simulation
m.solve(disp=False)
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020-2024 Minato Xeon Microsoft
  • Visitors: | Views:

别和金钱过不去。

支付宝
微信