一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高精度步进式电子膨胀阀控制方法和系统与流程

2022-03-08 20:05:13 来源:中国专利 TAG:


1.本发明涉及智能交互技术领域,特别是一种高精度步进式电子膨胀阀控制方法。


背景技术:

2.步进式电子膨胀阀是通过控制步进电机的正反向转动,控制阀门的开启角来控制制冷剂的流量的节流元件,分为直动型电子膨胀阀和减速型电子膨胀阀两种。目前常见的步进式电子膨胀阀的控制方式有四相八拍、四相四拍、二相四拍等。
3.在制冷系统中,通常采用蒸发器过热度控制的方法调整电子膨胀阀的开度,控制算法有pid算法、遗传算法、神经网络算法等。控制算法根据采样数据,周期性计算出电子膨胀阀的开度,并根据计算结果调整电子膨胀阀,达到控制蒸发器过热度的目的。
4.目前,电子膨胀阀的控制算法,其计算结果为浮点数,一般既有整数部分又有小数部分。而受电子膨胀阀控制电路精度的限制,计算结果在执行的时候存在精度损失。例如计算结果为68.63步,而执行电路只能输出近似值69步,输出误差为0.37步。
5.尽管电子膨胀阀具有很高的调节精度,直动型电子膨胀阀的总步数为500步左右,减速型电子膨胀阀的总步数为2000步左右,但如果能进一步提高控制精度,将进一步提升电子膨胀阀的精确性,对制冷系统的调控产生积极作用。例如,在低环境温度温制热工况下,电子膨胀阀的开度一般只有几十步,每增大或减小一步,流量的调节比例占到1%甚至2%以上。制冷系统电子膨胀阀的调节周期一般为数秒至数十秒,累积的误差会对蒸发器过热度会产生较为明显的波动,容易造成吸气压力过低的情况。并且蒸发器温度的波动使系统更容易结霜,降低制冷系统的性能。
6.现有技术中,针对电子膨胀阀的驱动方式,大多采用如下几种:
7.(1)四相八拍、四相四拍控制方式,多采用四组三极管或复合三极管作为驱动电路,分别驱动四个电磁线圈。采用现有技术控制,直动型电子膨胀阀的控制精度为1步,减速型电子膨胀阀由于采用了减速齿轮组,相当于直动型电子膨胀阀的1/4步。减速型电子膨胀阀缺点是电子膨胀阀的价格相对较高。
8.(2)二相四拍控制方式,多采用步进电机用驱动芯片,分别驱动控制两个电磁线圈的电流大小及电流方向。某些步进电机驱动芯片具有微步距功能,例如st公司的l6258和ti公司的drv8846等,通过分配两相电流的大小,使电子膨胀阀的转子移动到两个定子磁极的中间位置,其控制精度相当于1/8步,但缺点是专用驱动芯片不适用于四相电子膨胀阀,且驱动芯片成本相对较高,占用主控制器芯片的资源较多。
9.因此,在控制成本的前提下,提出一种能够提升电子膨胀阀的调控精度的技术方案,亟具需要。


技术实现要素:

10.针对上述提出的需要在控制成本的前提下,提出一种能够提升电子膨胀阀的调控精度的技术方案的技术问题,本发明旨在提供一种高精度步进式电子膨胀阀控制方法和系
统。
11.本发明的目的采用以下技术方案来实现:
12.第一方面,本发明示出一种高精度步进式电子膨胀阀控制方法,应用于步进式电子膨胀阀驱动电路的主控模块,其中主控模块中内置有计时器,该方法包括:
13.s1初始化电子膨胀阀参数,包括初始化计时器的起始时间t0,设置电子膨胀阀的励磁周期t1和微调周期t2,设置电子膨胀阀的目标开度km,初始化当前开度序列q,其中开度序列用于记录由起始时间起各时刻的电子膨胀阀开度变化;
14.s2根据电子膨胀阀的当前开度kn和目标开度km计算开度偏差k
p
,根据当前时间tn和上次调阀时间t
k-1
计算当前时间间隔tn;
15.s3判断开度偏差k
p
是否小于设定的调节阈值k
z1

16.s4若开度偏差k
p
小于设定的调节阈值k
z1
,进一步判断当前时间间隔tn是否大于或等于微调周期t2;
17.s5若当前时间间隔tn大于或等于微调周期t2,则计算第一平均开度和第二平均开度开度其中kq表示开度序列中各时刻的开度总和,int(km)表示目标开度的整数部分;nq表示开度序列的长度;
18.s6分别计算第一平均开度和第二平均开度与目标开度km的接近程度;
19.s7如果第一平均开度更接近目标开度km,即则记当前开度kn=int(km),并将电子膨胀阀调整至开度为int(km);如果第二平均开度更接近目标开度km,即则记当前开度kn=int(km 1),并将电子膨胀阀调整至开度为int(km 1),其中int(*)表示取整数部分函数;
20.s8更新上次调阀时间为t
k-1
=tn;将当前时刻tn对应的开度kn更新至当前开度序列q中,并跳转至步骤s2。
21.一种实施方式中,步骤s1之前还包括:
22.sb1执行硬件初始化,包括初始化系统始终、gpio和串口。
23.一种实施方式中,其特征在于,步骤s1具体包括:
24.接收由制冷系统控制器传输的串口指令,根据接收到的串口指令更新并保存电子膨胀阀的励磁周期t1和微调周期t2;以及根据接收到的串口指令更新电子膨胀阀的目标开度km。
25.一种实施方式中,步骤s2中,根据电子膨胀阀的当前开度kn和目标开度km计算开度偏差k
p
,具体包括:开度偏差k
p
=|k
n-km|。
26.一种实施方式中,步骤s3中,设定的调节阈值k
z1
=1。
27.一种实施方式中,步骤s4还包括:
28.若开度偏差k
p
大于或等于设定的调节阈值k
z1
,进一步判断当前时间间隔tn是否大于或等于励磁周期t1;
29.其中,该方法还包括:
30.s9若当前时间间隔tn大于或等于励磁周期t1,进一步判断当前开度kn是否大于目标开度km;
31.s10若当前开度kn大于目标开度km,则记当前开度kn=k
n-1,并将电子膨胀阀调整至开度为kn;若当前开度kn小于目标开度km,则记当前开度kn=kn 1,并将电子膨胀阀调整至开度为kn;
32.s11更新上次调阀时间为t
k-1
=tn;将当前开度序列q清空,并跳转至步骤s2。
33.一种实施方式中,步骤s5包括:若当前时间间隔tn小于微调周期t2,则跳转至步骤s2。
34.第二方面,本发明示出一种高精度步进式电子膨胀阀控制系统,包括步进式电子膨胀阀和与步进式电子膨胀阀连接的驱动电路,其中驱动电路中有主控模块,主控模块中设置有计时器;
35.该主控模块用于执行如第一方面中任一种实施方式所示的高精度步进式电子膨胀阀控制方法。
36.本发明的有益效果为:本发明提出了一种针对步进式/直动型电子膨胀阀的控制方法,能够在驱动电路及电子膨胀阀成本不增加的前提下,提高电子膨胀阀的控制精度,使控制精度超过减速型电子膨胀阀和采用专用驱动芯片驱动电子膨胀阀的方式。
37.同时,通过电子膨胀阀的调控精度提高,有助于使制冷系统的控制更加精准,系统更加稳定。减少低制冷量/制热量工况(例如超低环境温度下的制热工况)下的系统波动,降低出现吸气压力故障的风险。减少制冷系统的蒸发器温度波动,降低蒸发器结霜的速度。使用低成本的控制电路和电子膨胀阀,能够超过现有技术使用高成本器件的性能。
附图说明
38.利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
39.图1为本发明提供的一种步进式电子膨胀阀驱动电路示意图;
40.图2为本发明公开的一种高精度步进式电子膨胀阀控制方法的初始化程序流程示意图;
41.图3为本发明公开的一种高精度步进式电子膨胀阀控制方法的电子膨胀阀控制方法流程示意图。
具体实施方式
42.结合以下应用场景对本发明作进一步描述。
43.本实施例以微控制器(mcu)作为主控模块控制四相八拍直动型步进式电子膨胀阀为例,提供一种步进式电子膨胀阀驱动电路示意图如图1所示,其中步进式电子膨胀阀驱动电路包含微控制器(u1)、电源芯片(u2)、rs485通信芯片(u3)和复合三极管芯片(u4)。微控制器(mcu)为控制电路的中央处理器(主控模块),通过嵌入式软件实现rs485通信及电子膨胀阀的控制功能。电源芯片把外部提供的12v电压转换为3.3v电压,为微控制器及rs485通信芯片等提供电源。rs485通信芯片的作用是和制冷系统的主控制器通信,实现电子膨胀阀
参数初始化、电子膨胀阀目标开度设置等功能。
44.一种场景中,微控制器采用msp430g2553芯片,电源芯片采用ams1117-3.3芯片,rs485通信芯片采用max3485芯片,复合三极管芯片采用uln2003芯片,以满足驱动电路的需要。
45.需要说明的是,除了上述提出的步进式电子膨胀阀驱动电路意外,本技术提出的控制方法,还能够基于其他形式的现有的步进式电子膨胀阀驱动电路中的主控模块(mcu微控制器)来实现,本技术在此不做具体限定。
46.一种实施方式中,微控制器(mcu)中内置有定时器,微控制器通过软件控制的方式实现电子膨胀阀的高精度输出控制,其中在驱动电路初始化阶段,微控制器执行的初始化程序如图2所示;
47.其中,上述初始化程序包括:
48.①
执行硬件初始化,包括系统时钟、gpio general-purpose input/output,通用输入/输出口)和串口等。
49.②
初始化定时器,使软件可以在程序中获取当前时间,并能够计算两个时间值之间的间隔。
50.③
初始化电子膨胀阀参数,从系统中保存的参数表中读取电子膨胀阀的[励磁周期]参数及[微调周期]参数等参数,并使用这些参数初始化电子膨胀阀。初始化系统全局变量数值。
[0051]

判断是否从rs485接口接收到串口指令。
[0052]

如果否,则返回步骤


[0053]

如果是,则判断接收到的串口指令是否是“设定参数”指令。
[0054]

如果是,则更新并保存电子膨胀阀[励磁周期]参数及[微调周期]参数,然后返回步骤


[0055]

如果否,则判断接收到的串口指令是否是“设定开度”指令。
[0056]

如果是,则更新[目标开度]变量,此处[目标开度]为一浮点数,存在小数部分,然后返回步骤


[0057]

如果否,则根据指令执行其它操作,然后返回步骤


[0058]
当接收到串口指令后,则根据串口指令完成电子膨胀阀参数的初始化设置:
[0059]
s1初始化电子膨胀阀参数,包括初始化计时器的起始时间t0,设置电子膨胀阀的励磁周期t1和微调周期t2,设置电子膨胀阀的目标开度km,初始化当前开度序列q,其中开度序列用于记录由起始时间起各时刻的电子膨胀阀开度变化。
[0060]
其中,设置的目标开度km可以包含小数部分。
[0061]
一种实施方式中,微调周期t2=n
×
t1,其中n为大于1的自然数,即n∈{2,3,4,...}。
[0062]
一种场景中,微控制器接收由制冷系统控制器传输的串口指令,根据接收到的串口指令更新并保存电子膨胀阀的励磁周期t1和微调周期t2;以及根据接收到的串口指令更新电子膨胀阀的目标开度km。
[0063]
初始化完成后,微控制器进一步对电子膨胀阀进行控制,具体控制流程如图3所示:
[0064]
s2根据电子膨胀阀的当前开度kn和目标开度km计算开度偏差k
p
,根据当前时间tn和上次调阀时间t
k-1
计算当前时间间隔tn;
[0065]
一种场景中,开度偏差k
p
=|k
n-km|。
[0066]
其中,步骤s2中,当初始化计时器的起始时间t0后,记上次调阀时间t
k-1
=t0。
[0067]
s3判断开度偏差k
p
是否小于设定的调节阈值k
z1
;,其中,设定的调节阈值k
z1
=1,调节阈值的单位为步进式电子膨胀阀的开度跳数。
[0068]
s4若开度偏差k
p
小于设定的调节阈值k
z1
,进一步判断当前时间间隔tn是否大于或等于微调周期t2并跳转至s5;若开度偏差k
p
大于或等于设定的调节阈值k
z1
,进一步判断当前时间间隔tn是否大于或等于励磁周期t1并跳转至s9。
[0069]
s5若当前时间间隔tn大于或等于微调周期t2,则计算第一平均开度和第二平均开度并跳转至s6,其中kq表示开度序列中各时刻的开度总和,int(km)表示目标开度的整数部分,nq表示开度序列的长度,若当前时间间隔tn小于微调周期t2,则跳转至步骤s2。
[0070]
s6分别计算第一平均开度和第二平均开度与目标开度km的接近程度;
[0071]
其中,第一平均开度与目标开度km的接近程度为第二平均开度与目标开度km的接近程度为
[0072]
s7如果第一平均开度更接近目标开度km,即则记当前开度kn=int(km),并将电子膨胀阀调整至开度为int(km);如果第二平均开度更接近目标开度km,即则记当前开度kn=int(km 1),并将电子膨胀阀调整至开度为int(km 1),其中int(*)表示取整数部分函数;其中,电子膨胀阀只能执行整数的开度值。
[0073]
一种场景中,根据实际的应用场景的需要,s7也可以将判断关系设置为:如果第一平均开度更接近目标开度km,即则记当前开度kn=int(km),并将电子膨胀阀调整至开度为int(km);如果第二平均开度更接近目标开度km,即,即则记当前开度kn=int(km 1),并将电子膨胀阀调整至开度为int(km 1),其中int(*)表示取整数部分函数。
[0074]
s8更新上次调阀时间为t
k-1
=tn;将当前时刻tn对应的开度kn更新至当前开度序列q中,并跳转至步骤s2。
[0075]
s9若当前时间间隔tn大于或等于励磁周期t1,进一步判断当前开度kn是否大于目标开度km并跳转至s10;若当前时间间隔tn小于励磁周期t1,则跳转至步骤s2。
[0076]
s10若当前开度kn大于目标开度km,则记当前开度kn=k
n-1,并将电子膨胀阀调整至开度为kn;若当前开度kn小于目标开度km,则记当前开度kn=kn 1,并将电子膨胀阀调整至开度为kn;
[0077]
s11更新上次调阀时间为t
k-1
=tn;将当前开度序列q清空,并跳转至步骤s2。
[0078]
其中,微控制器在每个时刻对电子膨胀阀进行调控检测和逻辑控制,当当前的电子膨胀阀的开度还没接近目标开度的时候,通过步骤s9-s11控制电子膨胀阀的开度向目标开度调控;当电子膨胀阀的当前开度与目标开度接近时,则通过步骤s4-s8实现电子膨胀阀开度的精确微调,以使得电子膨胀阀的平均开度贴近目标开度,提高电子膨胀阀调控的精准性。
[0079]
本发明使用软件手段实现电子膨胀阀的高精度输出控制,不受控制算法以及驱动电路的影响,即可以和任何控制算法以及驱动电路匹配。
[0080]
一种场景中,把控制算法执行周期间隔,分为若干个励磁时间段。以pid算法举例,如果pid的执行周期为10s,每个励磁时间段为0.1s,则10s的时间可以分为100个励磁时间段。
[0081]
根据控制算法计算得到的电子膨胀阀目标开度,产生一个开度序列,开度序列为与目标开度相邻的两个整数。开度序列的数值,满足等效开度接近目标开度的要求。举例说明:如果目标开度为68.39步,则开度序列为:66、67、66、67、66、66、67、66、67、66......
[0082]
电子膨胀阀的等效开度,为开度序列所有数值的平均数。以上述开度序列为例,等效开度=(66*6 67*4)/(6 4)=66.4。由此可看出,励磁时间段的分段数量越多,控制精度越高。
[0083]
一种场景中,电子膨胀阀的当前开度kn取值62,通过制冷系统控制器传输的指令设置的目标开度km为66.39,励磁周期t1为50ms,微调周期t2为100ms。以当前时刻为零点计算时间:
[0084]
第一阶段,连续调整,每个周期经过上述步骤s3、s4的判断后,会跳转至s9-s11完成电子膨胀阀开度的调控至接近目标开度,其中电子膨胀阀在各时刻的开度变化如下表所示:
[0085]
时间当前开度目标开度执行开度0.00s6266.39630.05s6366.39640.10s6466.39650.15s6566.3966
[0086]
第二阶段,连续调整,每个周期经过下述文档中的步骤s3、s4的判断,会跳转至s5-s8完成电子膨胀阀的微调。每次循环中,开度1为int(km),数值为66,开度2为int(km 1),数值为67,其中电子膨胀阀在各时刻的开度变化如下表所示:
[0087][0088][0089]
通过实例可以看出,随着时间的推进,电子膨胀阀的等效开度,逐渐趋近目标开度km,通过原理和实际数据可得出,在调控周期为10s、励磁周期50ms、微调周期100ms、wei调控时间为10s的情况下,控制误差小于0.01步。
[0090]
电子膨胀阀驱动电路多使用微控制器(mcu)作为主控芯片,利用mcu的定时器功能可实现时间分段功能。其它的控制器如plc、工控机等也具有完善的时间处理能力,可以很容易实现此功能。
[0091]
本发明采用“等效开度法”提高直动型电子膨胀阀的控制精度,能够在驱动电路及电子膨胀阀成本不增加的前提下,提高电子膨胀阀的控制精度,使控制精度超过减速型电子膨胀阀和采用专用驱动芯片驱动电子膨胀阀的方式。
[0092]
同时,通过电子膨胀阀的调控精度提高,有助于使制冷系统的控制更加精准,系统更加稳定。减少低制冷量/制热量工况(例如超低环境温度下的制热工况)下的系统波动,降低出现吸气压力故障的风险。减少制冷系统的蒸发器温度波动,降低蒸发器结霜的速度。使用低成本的控制电路和电子膨胀阀,能够超过现有技术使用高成本器件的性能。
[0093]
需要说明的是,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以是两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件功能单元/模块的形式实现。
[0094]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解应当理解,可以以硬件、软件、固件、中间件、代码或其任何恰当组合来实现这里描述的实施例。对于硬件实现,处理器可以在一个或多个下列单元中实现:专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、设计用于实现这里所描述功能的其他电子单元或其组合。对于软件实现,实施例的部分或全部流程可以通过计算机程序来指令相关的硬件来完成。实现时,可以将上述程序存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包
括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。计算机可读介质可以包括但不限于ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
[0095]
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当分析,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献