0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于PIC16F877 CD4051 PT1000 太阳能热水器温度采集和温差循环控制系统的设计方案

基于PIC16F877 CD4051 PT1000 太阳能热水器温度采集和温差循环控制系统的设计方案

来源: elecfans
2020-09-02
类别:工业控制
eye 91
文章创建人 拍明

原标题:基于太阳能热水器温度采集和温差循环控制系统的设计方案

  太阳能热水器以其安全、经济、适用、无污染等特点逐渐被城乡居民所接受,而其温度采集系统又是设计的关键。常用的温度传感器包括:热电偶、热敏电阻、集成式温度传感器,热电阻等。由于铂电阻在氧化介质和高温下的物理化学性能极其稳定,而且太阳能热水器置于室外,工作环境恶劣,所以本设计采用铂电阻作为太阳能热水器的温度传感器。

  1 系统工作原理

  由于太阳能热水器的工作环境限制,将下位机(PIC16F877)置于集热现场,主要实现温度采集功能,温差循环控制功能,即控制循环泵、上水阀、辅助电加热器、伴热带的启停,并与上位机(PIC16F877)进行485通信,将采集的温度水位信息送到上位机去显示。

  系统的整体框图如图1所示。

  

基于太阳能热水器温度采集和温差循环控制系统的设计

  2 硬件电路设计

  温度采集处理电路的主要功能是将铂电阻传感器采集的温度信号,经桥式信号检测电路转换为电压信号,再经弱信号仪表放大器MCP602进行两级放大,及非线性A/D转换,转换成能够识别的数字量,暂存在单片机的存储器中。

  2.1 温度采集电路设计

  温度采集电路是将单片机的RA2、RA3、RA4连接多路选择芯片CD4051的地址位A、B、C端口,由单片机设定采集哪一路温度信息,将RA0设定为模拟通道。

  2.2 放大倍数的计算

  本设计放大电路选用MCP602作为放大器,由其构成的放大电路图如图2所示。其中:VREF=0 V,R1=300 kΩ,R2=10 kΩ,这是一个简单的2级放大电路,通过调节可变电阻RG可以改变其放大倍数,便于以后的调试。两级放大后的输出电压VOUT:

  

  

  通过电桥电路采集来的信号比较微弱,需要进行适当的放大,才能转换成单片机所能识别的0 V到5 V的信号。为此,要合理地设定可变电阻RG的值来选择合适的放大倍数。选择过程如下:

  当RG=20 kΩ,放大倍数约为61倍。在温度T=99℃时,PT1000的阻值为R=1381.26Ω,则得到VOUT=2.806 V。尽管VOUT在界限0~5 V之内,但灵敏度较小,故将RG调整到10 kΩ。

  当RG=10 kΩ,放大倍数为91倍。在温度T=99℃时,PT1000的阻值为R=1381.26Ω时:VOUT=4.186 V。此时,在0~99℃温度范围内电桥的输出是0~4.186 V,VOUT在0~5 V范围内,符合设计要求。因此设计中选择尺RG=10 kΩ,放大倍数为91倍。

  2.3 温度测量中的误差分析及解决办法

  当用铂电阻传感器进行温度测量时,存在一定的误差。它的误差主要有4个来源:铂电阻自身的非线性;铂电阻电桥输出的非线性;铂电阻的引线电阻;测温电路本身带来的影响。

  1)铂电阻的非线性

  对于铂电阻PT1000,在0~650℃温度范围内其阻值与温度的关系为:

  

  此时,铂电阻阻值与温度是线性关系。在100℃时,若只记线性值Rt*=1 390.8 Ω,而R1=1 385.0Ω,绝对值误差为5.8Ω,相对误差为4.2%,回代到式(2)中,温度误差超过1.4℃。显然铂电阻的非线性给测量带来了误差。

  

  2)铂电阻电桥输出的非线性

  

  3)铂电阻的引线电阻

  因为测温电路是不平衡电桥。铂电阻作为电桥的一个桥臂电阻,其连接导线(从铂电阻到控制单元)也作为桥臂电阻的一部分,这一部分电阻是未知的且随环境温度变化,造成测量误差。但由于铂电阻PT1000的阻值较大,所以这个因素可以忽略。

  4)测温电路本身的影响

  由于电源电压的抖动、外界于扰,AD通道的互相干扰等都会造成温度测量的不确定性,因此必须通过合理的电路设计才能消除这些因素的影响。

  考虑到铂电阻阻值和温度的非线性以及电桥电路本身的非线性,本文提出两种方案,下面分别加以介绍。

  方案1:查表法

  由铂电阻的电阻-温度分度表查出每一度对应的电阻值Ri,带入式(3)中可以得到电桥对应的输出电压△U(i),再根据式(4)就可以得到对应的A/D转换值AD(i)。

  

k.JPG

  式中,K为MCP602的放大倍数。本文选择91。UREF为单片机内部A/D转换的参考电压,等于5 V。

  将计算得到的A/D转换值是按照温度大小做成表格存放在单片机的存储器中。当测量温度时,先读取A/D转换值,然后采用对分查找的算法用单片机的A/D转换结果AD(t)与EEPROM中存放的表格值AD(i)作比较,每次取表格的中间值AD(m),如果AD(t)》AD(m),则下次比较时取表格的后半部的中间值做比较,如果AD(t)《AD(m),则下次比较时取表格的前半部的中间值做比较,直到AD(n)≤AD(t)≤AD(n+1)时停止,得到了温度的整数部分M(t)=n。接着采用线性插值法计算温度的小数部分,由AD(t)-N(t)除以AD(n+1)-AD(n)的值得到小数部分。由于本设计对温度要求不高,因此不用计算小数部分,可以将此方法用于其他应用领域中。

  方案2:最小二乘法

  由于铂电阻阻值和温度的非线性以及电桥电路本身的非线性,使得温度和电桥输出电压之间的关系变得很复杂,而且也没有一个相应的函数来描述它们之间的关系,下面就介绍最小二乘法,利用最小二乘参数估计理论来建立温度传感器的数学模型。

  对太阳能热水器的水箱温度在标定点进行温度实测(可用标准电阻箱或电位器来模拟铂电阻在各个标定点实测),得到几组数据,即(V1,T1),…(Vi,Ti),…(Vn,Tn)。其中输入量为电桥输出电压Vi,输出量为温度Ti。

  设有一个m次多项式:

  

  求解采用计算机递推法求解,先设m=1,将测量值带入矩阵公式中计算A。逐点计算误差△i=Ti-T(Vi),看是否超差,如果超差则升阶,令m=2,重新计算A,直到不超差为止,此时多项式模型即为传感器数学模型。

  此方法的优点是能够实现所建立的数学模型整体优化,适合非线性较大的传感器模型的建立。但应用于本文时需要拟合出高阶的数学模型,其运算量较大。另外,在以主频为4MHz的单片机上做运算,其速度较慢(多次加、乘运算),所以本文采用方案1。

  3 系统软件实现

  温度采集处理的软件流程如图5所示,其中包括了启动温度电路、寄存器的配置、转换数据读出、查找得温度等部分。首先进行A/D初始化设置,将点电源电压VCC作为比较电压,同时设定RA0作为模拟输入通道,开启入水口温度采样通道之后,启动A/D转换。当A/D转换允许位GO/DONE=1时,将得到的采样值送入到折半查找程序中,得出其温度的整数部分M(t),从而求出温度t的数值。计算完毕后返回。

  

  4 实验结果与讨论

  使用标准电阻箱模拟铂电阻温度传感器,每一个电阻值对应着一个温度,构成测温电桥的桥臂,得到差动电压,通过万用表测量。经过MCP602放大后,送入单片机进行A/D转换。由于单片机内部的A/D转换是十位的,因此分别存储在寄存器ADRSEH和ADRSEL中,再通过对分查表法,将对应的温度值事先在触摸屏上显示出来。采集的温度和实际的温度对照如表1所示。

  

  由表可知,在10~80℃温度范围内,温度测量的误差最大是±1℃。能够满足太阳能热水器的采暖和洗浴的要求。

  5 结论

  本设计采用铂电阻作为太阳能热水器的温度传感器。实际研究结果表明,该传感器和以往的类似传感器相比温度控制精度高、使用方便和性能稳定等优点,提高了我国太阳能应用领域控制水平。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯