一种采用GPIO控制的单ADC多路温度监测电路的制作方法

文档序号:19413396发布日期:2019-12-14 00:40阅读:218来源:国知局
一种采用GPIO控制的单ADC多路温度监测电路的制作方法

本发明涉及温度监测电路技术领域,具体涉及一种采用gpio控制的单adc多路温度监测电路。



背景技术:

测温的应用到处可见,高温报警可以防范可能的材料损耗,电器损坏甚至火灾的发生。在很多场合,有时同一处地方就要进行多个温度点的测量。比如高楼大厦里传送电力用的母线槽,通常有三条火线和一条零线都需要进行温度监测,否则母线槽结合处非常容易损坏从而缩短母线槽的寿命。一栋大楼通常需要有几十个结合处,这样需要的温度测量器件也很多,造成测试设备体积偏大,成本居高不下也妨碍了母线槽温度监测装置的普及应用。

经常用的温度测量的方式:一是采用模拟温度计测量,因为不是数字信号,所以没法直接传输;二是直接使用数字化温度计,温度数据通过i2c接口直接送到单片机,但这种方式因为使用贴装在pcb电路板上的温度测量芯片,很难和被测量点直接接触。而且数字化温度芯片价格都非常高,在单点多路温度测量时成本更是一个首要考虑的因素。在单点多路温度测量应用如母线槽温度监测时,最通常的做法是,针对每一路温度测量点,采用pt100或pt1000温度计,将温度的变化转为电压或电流的变化,然后经过adc采样,结果送入单片机。

如果每一路温度测量都使用一个adc,在母线槽应用的情形下,同时需要四个adc。而目前大多数单片机内部只有一个或两个adc,所以pcb板上得额外贴装两个或更多的adc芯片,而且单片机和adc的端口数目也得增加到多个,加上相应的偏置和单端/差分转换电路,使得pcb的元器件显著增加,单片机程序也更复杂,从而使得成本也成倍增加。

基于此,本发明设计了一种采用gpio控制的单adc多路温度监测电路,以解决上述问题。



技术实现要素:

本发明的目的在于提供一种采用gpio控制的单adc多路温度监测电路,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种采用gpio控制的单adc多路温度监测电路,包括pt100温度计、第一分压电阻、单片机、第二分压电阻、adc输入端口和通信模块,所述单片机至少包括一个adc输入端口,所述单片机的gpio端口包括gpio0端口、gpio1端口、gpio2端口、gpio3端口和gpio4端口,所述单片机的gpio1端口、gpio2端口、gpio3端口和gpio4端口分别电性连接有一组pt100温度计,所述单片机的gpio0端口为gpio0参考电压测试端口,所述gpio0参考电压测试端口电性连接有第一分压电阻,所述第一分压电阻的另一大端与四组所述pt100温度计及adc输入端口之间并联后与所述第二分压电阻串联,所述第二分压电阻的另一端接地,所述单片机与通信模块电性连接。

优选的,所述单片机的gpio0端口、gpio2端口、gpio3端口和gpio4端口和所述单片机的i/o电源电压vio之间均电性连接有高阻,所述单片机的gpio1端口所述单片机的i/o电源电压vio之间电性连接有低阻,所述单片机的gpio0端口高阻的一端与所述第一分压电阻电性连接,所述单片机的gpio1端口低阻和所述单片机的gpio2端口、gpio3端口、gpio4端口高阻的另一端分别与对应所述pt100温度计电性连接,所述单片机的i/o电源电压vio和所述单片机的gpio0端口、gpio1端口、gpio2端口、gpio3端口和gpio4端口之间分别并联有上拉电阻。

优选的,所述第一分压电阻和第二分压电阻的阻值均为100欧姆。

优选的,所述通信模块可以采用近距离的有线或无线通信方式,所述近距离的有线或无线通信方式包括zigbee,bluetooth,ethernet或光纤等,也可以采用远距离的无线通信方式,所述远距离的无线通信方式包括gprs,lora,nb-iot或4g/5g等,可以和单片机集成在一起的同一块芯片,也可以是单独的通信芯片。

优选的,具体监测步骤如下:

第一步,校准温度电压公式

step1,按大致相同间隔选取4-10个温度点,记录相应adc测得电压值;

step2,按测得的温度电压参数对进行高阶曲线拟合,生成温度电压公式;

step3,将所述adc输入端口电压乘以相应的电源电压校正系数,然后写入所述单片机程序;

第二步,测量温度

按所述单片机程序流程在各个gpio端口输出1.8v电压,测得相应的adc电压输出值,计算温度。

与现有技术相比,本发明的有益效果是:本发明通过每个测温的gpio端口输出先经过一个pt100温度计,然后并联后串接到一个100欧姆的第二分压电阻到地,另外一个gpio0作为参考电压测试端口,其输出先连接到一个100欧姆的第一分压电阻,然后和别的pt100温度计并联接到同样的100欧姆第二分压电阻到地,其中的分压点直接接到adc输入端口,这样单个adc的输入实际上连接了多个gpio的分压输出,另外按单片机程序,每个gpio端口按顺序轮流工作,gpio在工作时输出高电平1.8v,而其余不工作的gpio则进入高阻floating状态,从adc轮流取样的结果可以计算出每一路监测到的温度值,方案简单高效成本极低,特别适合于母线槽和开关柜等需要单点多路同时测温的场合。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明单adc多路温度监测电路连接图。

图2为本发明gpio端口分压测量的非理想电路模型示意图。

图3为本发明从校准过程中获得的温度电压关系的高阶拟合曲线图。

图4为本发明单adc多路温度监测校准和测量流程图。

附图中,各标号所代表的部件列表如下:

101-pt100温度计,102-第一分压电阻,103-单片机,104-第二分压电阻,105-adc输入端口,106-通信模块,201-上拉电阻,202-高阻,203-低阻。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-4,本发明提供一种技术方案:一种采用gpio控制的单adc多路温度监测电路,包括pt100温度计101、第一分压电阻102、单片机103、第二分压电阻104、adc输入端口105和通信模块106,单片机103至少包括一个adc输入端口105,单片机103的gpio端口包括gpio0端口、gpio1端口、gpio2端口、gpio3端口和gpio4端口,单片机103的gpio1端口、gpio2端口、gpio3端口和gpio4端口分别电性连接有一组pt100温度计101,单片机103的gpio0端口为gpio0参考电压测试端口,gpio0参考电压测试端口电性连接有第一分压电阻102,第一分压电阻102的另一大端与四组pt100温度计101及adc输入端口105之间并联后与第二分压电阻104串联,第二分压电阻104的另一端接地,单片机103与通信模块106电性连接。

其中,单片机103的gpio0端口、gpio2端口、gpio3端口和gpio4端口和单片机103的i/o电源电压vio之间均电性连接有高阻202,单片机103的gpio1端口单片机103的i/o电源电压vio之间电性连接有低阻203,单片机103的gpio0端口高阻202的一端与第一分压电阻102电性连接,单片机103的gpio1端口低阻203和单片机103的gpio2端口、gpio3端口、gpio4端口高阻202的另一端分别与对应pt100温度计101电性连接,单片机103的i/o电源电压vio和单片机103的gpio0端口、gpio1端口、gpio2端口、gpio3端口和gpio4端口之间分别并联有上拉电阻201。

第一分压电阻102和第二分压电阻104的阻值均为100欧姆。

通信模块106可以采用近距离的有线或无线通信方式,近距离的有线或无线通信方式包括zigbee,bluetooth,ethernet或光纤等,也可以采用远距离的无线通信方式,远距离的无线通信方式包括gprs,lora,nb-iot或4g/5g等,可以和单片机集成在一起的同一块芯片,也可以是单独的通信芯片。

具体监测步骤如下:

第一步,校准温度电压公式

step1,按大致相同间隔选取4-10个温度点,记录相应adc测得电压值;

step2,按测得的温度电压参数对进行高阶曲线拟合,生成温度电压公式;

step3,将adc输入端口105电压乘以相应的电源电压校正系数,然后写入单片机103程序;

第二步,测量温度

按单片机103程序流程在各个gpio端口输出1.8v电压,测得相应的adc电压输出值,计算温度。

本实施例的一个具体应用为:

每个测温的gpio端口(gpio1--gpio4)输出先经过一个pt100温度计101,然后并联后串接到一个100欧姆的第二分压电阻104到地。另外一个gpio0作为参考电压测试端口,其输出先连接到一个100欧姆的第一分压电阻102,然后和别的pt100温度计101并联接到同样的100欧姆第二分压电阻104到地。其中的分压点直接接到adc输入端口105。这样单个adc的输入实际上连接了多个gpio的分压输出。

另外按单片机程序,每个gpio端口按顺序轮流工作,gpio在工作时输出高电平1.8v,而其余不工作的gpio则进入高阻floating状态。从adc轮流取样的结果可以计算出每一路监测到的温度值。

gpio0参考电压测试端口,用于检测非理想条件下(单片机工艺,电源电压和温度)对gpio电压的变化,并将该变化补偿到其余测温gpio端口的计算过程中。因为通常单片机的gpio电压都是由同一电压源或ldo产生的i/o电压,如果gpio0的电压变化,其余的gpio端口电压也会同样变化。

从adc轮流取样的结果可以计算出每一路监测到的温度值的过程包括:首先对每一路gpio端口在由高精度温度计测得的不同的温度点(按大致相同的间隔选取直到覆盖整个测温范围)对应的adc取样的电压值,然后该电压温度结果用于产生计算最终温度值的高阶拟合曲线,来精确考虑测试电路中一些非线性因素的影响。测温结果由该拟合曲线中adc测试的电压点对应的温度值生成。

通常gpio端口都会有上拉(pull-up)或下拉电阻(pull-down),下面以所有gpio接上拉电阻为例来说明gpio端口的电路模型。如图2所示,每个gpio端口和i/o电源电压vio之间要么处于导通(连接低阻203,低阻203通常只有几欧姆或十几欧姆)状态或floating(连接高阻202,高阻202通常为兆欧姆)状态。除此之外,每个gpio端口通过上拉电阻201连接到i/o电源,上拉电阻201通常为几十k欧姆。当gpio1进入测量状态时,gpio1端口和i/o电源处于导通低阻连接,而其余四个gpio端口(gpio0,gpio2--gpio4)都处于floating高阻连接状态。这意味着这时adc输入端电压主要受gpio1和i/o电源之间的低阻连接影响,而别的gpio端口支路的高阻连接影响很小。

假设上拉电阻为10k欧姆,gpio1处于测量状态时和io电源电压之间的低阻为10欧姆,同时假设gpio1端口处于测量状态时另外几路gpio的电阻相等,可以有如下等式

vadc/100=(vio-vadc)/(10k+100)*4+(vio-vadc)/(100+10)

=(vio-vadc)/2525+(vio-vadc)/110

其中,vadc是adc输入端口的电压,vio是io电源电压,上述等式右边第一项为除了gpio1之外的gpio端口对adc输入端口的电压的影响,而第二项为gpio1端口对adc输入端口电压的影响。很显然,第一项远小于第二项。

在上述公式中,为了估算别的支路的影响假设pt100的阻值是100欧姆,实际上pt100的阻值是随温度线性变化的,变化系数通常是α=0.00392/c,则pt100温度计的电阻值rpt100随温度变化t的关系为rpt100=100+0.00392*t

按前面公式去掉第一项后计算,

vadc/100=(vio-vadc)/(rpt100+10)

=(vio-vadc)/(110+0.00392*t)

这就是每一路gpio支路温度和adc端口输入电压之间的一一的对应关系。

根据上述原理,当gpio1处于测温状态时,adc输入端口的电压基本上是io端口电压经过低阻和pt100电阻及接地100欧姆电阻之间的线性分压。当然,这个分压的大小还受到io电源电压的影响。后面的校准算法会考虑到这一点。

假设温度和电压之间的非线性关系可以用一个高阶拟合曲线来代表,为了确定高阶拟合曲线的系数,首先选取一系列温度点进行实际测量(按大致相同的温度间隔来选取),记录相应的adc的电压值。这样得到一系列温度电压数据之后进行拟合,可以得到相应的温度电压曲线如图3。

接下来为了考虑单片机芯片本身非理想特性的影响,比如工艺或温度造成生成io电压vio的值偏离1.8v.首先把这个io电压vio偏离1.8v的幅度通过gpio0直接测量出来,比如是1.7v,那么在接下来的测得的adc输入电压值,都乘以相应的电源电压校正系数1.8/1.7,这样把在io电压在非1.8v时adc转为相应的io电压为理想1.8vadc测得的电压值。

通过上述数据处理后,将该高阶拟合曲线公式包括电源电压校正系数写入单片机程序,作为实际温度采集时使用。

如图4,单adc多路温度监测电路的实施流程主要分为两部分:

(1)校准温度电压公式,写入单片机程序;

a.按大致相同间隔选取5-15个温度点,记录相应的adc测得电压值。

b.按测得的温度电压参数对进行高阶曲线拟合,生成温度电压高阶曲线的系数及公式。

c.将adc输入端口电压乘以相应的电源电压校正系数,然后将上述温度电压高阶曲线公式写入单片机程序。

(2)实际温度测量

a.单片机程序自动轮流在各个gpio端口输出高电平,读取相应的adc电压输出值,单片机程序会自动计算并输出温度数值。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1