中 药 多 糖 醇 沉 过 程 自 动 控 制 系 统

2019-05-24 00:45段洪君相龙普孙建新薛建国
实验室研究与探索 2019年4期
关键词:蠕动泵碱液离心泵

段洪君, 相龙普, 孙建新, 薛建国

(东北大学秦皇岛分校 控制工程学院,河北 秦皇岛 066004)

0 引 言

中医是我国的历史瑰宝,是中国文化的重要组成部分,与之密不可分的自然是中药的生产制作,其中中药多糖的醇沉过程是中药生产中的关键环节[1]。在中药多糖析出过程中,pH值的控制至关重要,而pH与其他添加量之间存在着复杂的非线性关系,基于机械的模型通常非常耗时,难以在线优化[2],传统的线性方法也难以建立预测模型,得到满意的结果[3-4]。近年来,作者对此做了大量的研究工作,取得了一定的研究成果[5-9]。

人工神经网络智能算法具有高度的非线性映射能力,在非线性预测领域较为常用[10-11],径向基(RBF)神经网络是一种全局收敛非线性学习算法的前馈网络,具有逼近精度高,网络规模小,学习速度快和不存在局部最小问题等特点[12-13]。STM32系列单片机片内集成了大量外设,具有低功耗、体积小等特点,在电机驱动,电力电子技术领域应用广泛[14]。

本文基于STM32F103芯片设计了中药多糖醇沉自动控制系统,实现了中药多糖分离过程中乙醇和碱液的自动加入,控制量由遗传神经网络求得,解决了中药多糖醇沉过程自动控制的问题。

1 总体设计方案

中药多糖醇沉过程中多糖的提取率受pH值的影响,而pH值与药液、乙醇、碱液三者之间存在复杂的非线性关系。首先为了找出pH值与三者的关系,应用RBF神经网络进行预测;之后;对于给定的药液量和pH值,根据RBF神经网络训练后形成的固定网络,引入遗传算法作为负反馈环节计算出乙醇和碱液的添加量,通过串口发送给STM32单片机,STM32单片机控制蠕动泵和离心泵输送乙醇和碱液。该系统分为硬件和算法两个部分,系统总体框图如图1所示。

图1 系统总体框图

2 硬件设计

系统由乙醇储存罐、碱液储存罐、醇沉罐、离心泵、变频器、蠕动泵、流量计、I/U转换模块、单片机控制系统、按键、显示屏、继电器等部分组成。系统中所用到的多糖提取方法是碱解醇沉法,为提高多糖的析出率,碱液和乙醇的添加量由遗传RBF神经网络算出最优值,同时永磁直流电动机同步搅拌,使多糖析出。

2.1 主控模块

STM32程序流程图如图2所示。为了通过累加运算来获取碱液和乙醇的实际添加量,对其进行控制,系统设定STM32计数定时器中断20 ms作为A/D采样周期和PID控制周期。

图2 STM32程序流程图

2.2 碱液添加量控制模块

在多糖提取过程中,碱液所需的量较少,但对pH的影响巨大,需要精确控制,选用可以使输送流量很快达到恒速,且能够直接通过外控模块进行外部控制的液体输送泵——蠕动泵来输送碱液。由于所选用蠕动泵有较高的控制精度且小流量,高精度的流量计成本较高,采用简单的开环控制即可完成控制要求。控制框图如图3所示。

图3 碱液控制系统框图

选用BT100-2J蠕动泵,能提供0.000 2~380 mL/min的流量。为实现碱液的自动添加,使用外控端口进行自动控制。因为DAC(数字/模拟转换模块)的输出电压范围为0~5 V,选择0~5 V外控模块。碱液添加控制的方法为:单片机和上位机通信确定要添加的碱液量,将添加量对应的数字量经D/A转换输出0~5 V电压输出控制蠕动泵的转速,蠕动泵启停由继电器控制。

2.3 乙醇添加量控制模块

乙醇添加量采用闭环控制系统。通过控制器控制乙醇实际添加量等于遗传神经网络计算得到的最优值,并且调节PID控制器各参数,使输出稳定。对流量计检测到的流量进行积分作为被控量的实时反馈值。执行机构为离心泵,需要调节带动离心泵三相异步电动机的转速,从而达到控制乙醇添加量的目的。利用单片机控制变频器,实现对变频器电压模拟量输入端的控制,进而实现调速, 以达到控制离心泵出口流量的目的。反馈的实际添加量信号与给定添加量比较后,经PID计算及D/A变换后,输出模拟量到变频器的模拟量电压信号输入端,从而控制离心泵原动机的转速,使实际添加量恒定且等于给定添加量。控制框图如图4所示。

图4 乙醇流量控制系统框图

使用的流量计为LWGB-4L涡轮流量变送器,其输出电流4~20 mA,输出流量范围为0~0.25 L/h。后面需要电流/电压转换模块,4~20 mA电流信号输入,0~5 V电压信号输出。变频器型号为:台安E310-401-H,电源电压330 V,功率为0.746 kW,适用电动机容量为0.75 kW,经计算离心泵电动机的容量S≈0.70 kW,离心泵电动机容量小于变频器容量,该变频器满足本次设计所选用的离心泵。变频的频率通过外部AVI模拟输入信号设定,设定变频器的S1端子控制变频器的启停。通过单片机驱动1路带光耦隔离的继电器通断,进而控制变频的启停,避免变频器电源对单片机控制电路的干扰。系统实物图如图5所示。

图5 系统实物图

3 控制算法

3.1 RBF神经网络预测

网络拓扑结构如图6所示。在RBF网络训练中,隐层神经元数的确定是一个关键问题,过去的做法是使用正则化网络,使其与输入矢量数相等,然而当输入训练样本数目N很大时,网络的计算量是惊人的,故导致其效率过低难以实现。为保证中药提取过程中的实时性,本文引用了改进方法,原理是从0个神经元开始训练,通过检查输出误差使网络自动增加神经元,训练样本每循环计算1次后,用使网络产生最大误差所对应的训练样本作为权值向量产生一个新的隐层神经元,然后重新计算并检查新网络的误差,重复此过程,直到达到误差要求或最大隐层神经元数为止[15]。该训练算法由Matlab 2016b 中的 NEWRB函数实现。NEWRB调用格式为:

图6 RBF神经网络结构

net=newrb(P,T,goal,spread,MN,DF)

其中:P为输入矩阵;T为输出矩阵;goal为指定均方误差,默认值为0;spread表示径向基函数的扩散速度,默认值为1;MN指定隐含节点的最大个数,默认值为输入数据个数;DF表示2次现实之间所添加的神经元个数,默认值为25。newrb函数中径向基网络的性能主要受隐含节点MN和扩散速度spread的影响。在不超过训练样本个数的情况下,MN的值越大,训练精度越高,但迭代次数也越来越大,在保证精度的前提下,MN取100。spread值越大,函数拟合越平滑,但是逼近误差会变大,需要的隐藏神经元也越多,计算量也越大;spread值越小,函数逼近会越精确,但是逼近过程会不平滑,网络的性能差,会出现过适应现象。为保证控制精度,用遗传算法对spread的值进行优化,在MN取100时,spread取1.373。

3.2 遗传神经网络对pH值的控制

在实际生产过程中,药液量为定值,需要调节乙醇和碱液的量去调节pH值。前文通过RBF神经网络找出了pH与药液、乙醇、碱液三者间的关系,接下来通过遗传算法结合RBF神经网络计算在给定药液量和pH值下乙醇和碱液的添加量,遗传算法作为网络的负反馈回路,通过不断进化得到给定pH值下所需的乙醇和碱液添加量。

遗传算法控制碱液和乙醇添加量基本步骤如下:

(1) 定义决策变量和约束条件。由工程实际可知,决策变量为乙醇的值B和碱液的值C,在药液量A固定(如:5 mL)的情况下,B和C的取值范围分别为(10,40)和(0.6,0.8)。

(2) 确定适应度函数

fitness=min[pH-net(A,B,C)]2

(1)

式中:pH为希望达到的pH值;A,B,C分别为药液、乙醇和碱液的值;net为RBF神经网络经125组实验数据后形成的网络,即给定任意一组A、B、C,可以训练得到一个pH,在所有训练得到的pH中取最接近pH的值,即fitness的值最小,得到与之对应的B和C,即为要达到该pH值所需加入的乙醇和碱液的量。

(3) 编码和解码。采用二进制方式进行编码,十进制的值用M表示,其n位二进制数用b表示,则有:

M=Mmin+b(Mmax-Mmin)/(2n-1)

(2)

b=(M-Mmin)(2n-1)/(Mmax-Mmin)

(3)

(4) 设计遗传算子。基本遗传操作包括选择、交叉、变异3种运算:①选择。根据计算当前群体中每一个个体的适应度值,用轮盘赌法选择出个体遗传到下一代;②交叉。将群体中个体随机配对,每个个体以某个概率交换部分染色体,本文中交叉概率设为0.7;③变异。以一定概率改变某一个或一些基因上的等位基因,一般变异概率在0.001~0.1之间,为避免遗传算法陷入局部最优,本文取0.1。

(5) 确定遗传算法运行参数。本文中遗传算法的运行参数如下:群体大小N=40;最大遗传代数G=20;个体长度P=20。算法流程图如图7所示。

图7 pH控制算法流程图

4 实验结果

4.1 神经网络预测精度

通过设计离线实验,在醇沉的最优工艺条件附近通过离线的方法精确测得pH值与麦冬药液、无水乙醇和碱液三者的实验数据共150组[16],将前125组数据作为训练,后25组数据作为测试、预测pH值。RBF神经网络仿真结果如图8所示。由图可知,RBF神经网络最大误差为0.6%,其中只有3个测试数据误差在0.4%以上,其余数据误差均小于0.4%,预测精度满足控制要求。

图8 RBF神经网络误差曲线图

4.2 系统性能

当pH=12时,通过遗传神经网络求得乙醇、药液、碱液三者之间的关系为3.75∶1.00∶0.15,设定药液的流速为定值300 mL/min,则药液和碱液流速的理论值应分别为1 125 mL/min和45 mL/min。

实验测得,碱液在1 min内的平均流速为46 mL/min,相对误差为2.2%。碱液的实时流量可由流量计直接测得,从启动开始以20 ms间隔取碱液的流量值绘制响应曲线如图9所示。由响应曲线图可知,随着时间的推移,乙醇流量最终稳定在1 150 mL/min,稳态误差为2.2%。系统的动态性能指标为:超调量为24%,上升时间570 ms,峰值时间821 ms,取误差范围为±5%,则调节时间1 041 ms。

图9 乙醇流量响应曲线

由乙醇稳态误差及动态性能指标可知,乙醇的控制精度在允许误差之内,启动后迅速达到稳定,达到稳态后仍然有轻微波动。由于控制的目标是一段时间内各成分比例恒定,所以在稳态值周围的瞬时波动对多糖分离过程影响不大。

5 结 语

基于STM32F103芯片设计了一个中药多糖醇沉控制系统,其中碱液量为开环控制,由蠕动泵直接控制,乙醇添加量为闭环控制,由STM32内部的PID算法实现,被控对象的量由遗传神经网络求得,通过串口发送给单片机。本系统实现了中药多糖醇沉过程中的添加量的自动控制,实验结果验证了算法的精度和系统的的快速性,准确性与稳定性,具有工程应用价值。

猜你喜欢
蠕动泵碱液离心泵
液化气深度脱硫系统对液化气脱后硫含量的影响
一种改善离心泵运行状态的方法
大型立式单级引黄离心泵轴向力平衡的研究
离心泵流场外特性及激励数值计算
高比速离心泵的高效设计研究
水肥一体化灌溉装置蠕动泵结构优化
新型药剂在废碱液焚烧系统的工业应用
浅析超重力法循环碱液再生新技术
双效低温浓缩碱液热泵系统的构建与性能模拟分析