高精度温度芯片Si7051在热电偶补偿中的应用

  作者:王昌世 时间:2019-12-26来源:电子产品世界

  王昌世(南昌温度测控实验室,南昌 330002)

  摘 要:热电偶(TC)测温是温控仪必备的功能。TC测温需进行冷端温度补偿,补偿的精度决定着TC的测温精度。本文要介绍的就是用Si7051所测量的TC冷端温度,来对TC进行温度补偿,使TC的测温精度能达到或接近0.1度℃。重点是讲述用STM32F103CBT6单片机从I 2 C总线读取Si7051芯片中的温度编码值,即编程。涉及TC补偿原理、Si7051与STM32单片机的I 2 C接口电路与和程序流程。

  关键词:高精度热电偶补偿;Si7051;STM32F103;I 2 C总线;程序流程

  Si7051是一款较新的、性价比较高的器件,虽批量价仅为10 元/片,可经试用,其对TC补偿的作用却很大,很有效。但目前,在国内未见相关应用介绍(经网上检索)。想必,此文的创新应用,会助力国内TC测温技术的进步。

  1 补偿原理

  把TC的两端分为冷端(接入线路的那一端)和热端(测温对象所在端)。令TC冷端温度为 Ct ,TC的输出温为 Tt ,则TC的热端温度(即测量温度)Mt Ct Tt = + 。补偿的关键在于冷端和Si7051感温尽可能做到同温。假如不完全相同,则应注意这个温差校正。

  此前,我们用LM75A温度芯片测量 Ct 。但由于它的精度较低(在-20 ℃~+100 ℃全量程范围,最大误差达2 ℃,分辨率为0.5 ℃(即,其小数位只能是0或0.5)),使得Mt值不仅包含同样的误差,而且时常有0.5℃的跳变。这使得温控仪达到0.1℃的控温精度变得不可能。

  2 Si7051介绍 [2]

  此芯片由美国Silicon Labs(即芯科科技)公司生产,已先后发布8个版本,最新的1.15版,在2018-09发布。

  2.1 主要性能特征

  1)高精度。测温精度分3段:

  ±0.1 ℃: +35.8 ℃~41 ℃(人体温度范围);

  ±0.13 ℃: 20.0 ℃~70.0 ℃(准环境温度范围);

  ±0.25 ℃: –40 ℃~+125 ℃(全量程)。

  第2段是温控仪(TC冷端)所在环境最常见的温度范围。

  2)体积小,引脚少;

  3 mm × 3 mm × 0.8 mm,DFN(Dual flat No-lead,即双平面,无引线)封装。6个引脚,见图1。它的小的体积使其在用做温度补偿用时,易于在电路板(即PCB)上和TC的冷端一起放置;而在做人体(或其他对象)温度计时,整体的体积可以很小。

微信截图_20200106104255.jpg

  3)接口电路的外围元件少,接口简单;

  仅有1个去偶电容和2个上拉电阻。虽有6个引脚,但对外连线只有4根。DNC引脚可悬空或连到VDD脚。见电路图2。

微信截图_20200106104302.jpg

  4)背面有感温金属平面;

  大小为1.5 mm × 2.4 mm,见图3。这个面能使它很好地感受TC冷端的温度,达到与之同温的目的。

微信截图_20200106104308.jpg

  3 电路设计

  单片机选用STM32F103CBT6,它自带有I 2 C总线,这使得相关接口(包括编程)相对简单。见图2。原理图虽不复杂,但作为TC 补偿元件,要做到它和TC冷端准确同温,却并非易事,我们也是经过多次改进,才达到的。具体做法是:①单独做一块小的PCB板(双面,11 mmx7 mm,见图3),通过插针与主板相连。在小板上,Si7051背面的感温面下要开孔, 使感温面能和冷端相对、相通。孔的大小稍小于感温面。注意看图3。②此小板和和TC冷端并立在一起放置,并且要远离板上的其他热,见图4。图中,3线(棕、红和黑3色)插头是TC的冷端线,左边立着的就是Si7051小板。③小板和TC冷端附近约30 mmx7 mm的PCB板区域内不敷铜,以免多传热。

微信截图_20200106104314.jpg

  4 编程

  编程本文的要点。

  4.1 理解图4的时序

  文献[2]给出了读取Si7051芯片的温度编码的I²C时序图(经英译中)。此时序图从左到右,分成了19个段(数字所示)。

  此图所涉及的相关技术术语参见文献[3-7]。几点说明如下:

  1)图中的“主”是指主设备;从是指从设备(下同)。

1578278796686426.jpg

  2)第2段是“从地址”,指的是Si7051的从地址0x40;

  3)第3段是“主将要写操作”,指的是,在I²C总线上,出现Si7051的从地址0x40后,主设备是要发送一个字节数据(第5段的0xf3)。注意这一段是一个位(bit)段且为0值,它附在第2段的0x40后面(100000B+0B= 10000000B)形成最终的0x80写地址字节(与0x81的读地址(如,第8、9段组合)对应。这一点很重要,编程时不要误写为0x40。

  4)第9段是“主将要读操作”,指的是.在I²C 总线上,出现Si7051的从地址0x40后,主设备是要从设备里读取数据。这也是一个位段,但值为1,它附在第8段的0x40后面(100 0000B+1B=10000001B)形成最终的0x81读地址字节。

  5)第10段是“非应答(即NACK)”。对Si7051来说,这是一个特殊的位信号,它会一直持续高电平,直到片内的A/D转换结束。从这个信号发出算起,Si7051开始一次测温的A/D转换过程,具体转换时间见参考文献[2]的第4页的表2。 本程序用12ms延时来处理。程序在12毫秒后,继续到第11段。

  6)完成这个时序的全部操作后,得到的紧紧是2个字节(14位,最低2位不用)编码,而不是温度的实数值。实数温度(℃)= (175.72×温度编码 / 66636)-46.84(式1) [2]

  4.2 流程图

  用IAR7.2.05工具及ST(即意法半导体)公司在2011年发布的3.5.0的库函数(一直未变)。该库函数包含了32个I²C相关函数和诸多变量定义,可选择使用,本程序用了其中的10个函数。

  图6是依据图5的时序来编制的。有3点须说明:*相关函数注解详见3.2.1。**限于篇幅,只用了一个菱形判断图作为示例,其他判断处未用,但包含的流程相同,即如果不成功,则反复调用判断函数,直到成功。***延时程序一般是自编的,不调库函数,以便准确控制延时时间。

  4.2.1 图6相关库函数说明

  这里的序号即是图6中的中函数编号一致。

  1) void I2C_GenerateSTART(I2C_TypeDef*I2Cx, FunctionalState NewState);

  2)ErrorStatus I2C_CheckEvent(I2C_TypeDef*I2Cx, uint32_t I2C_EVENT);

  3)void I2C_Send7bitAddress(I2C_TypeDef*I2Cx, uint8_t Address, uint8_t I2C_Direction);

  4)void I2C_SendData(I2C_TypeDef* I2Cx,uint8_t Data);

  5)uint8_t I2C_ReceiveData(I2C_TypeDef*I2Cx);

  6)void I2C_GenerateSTOP(I2C_TypeDef* I2Cx,FunctionalState NewState);

  7)void I2C_AcknowledgeConfig(I2C_TypeDef*I2Cx, FunctionalState NewState);

  8)I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef*I2C_InitStruct);

  9 ) I 2 C _ C m d ( I 2 C _ T y p e D e f * I 2 C x ,FunctionalState NewState);

  10)void I2C_DeInit(I2C_TypeDef* I2Cx);

  另外,图中的函数I2C_Configuration()通常是根据需要自编的,不是库函数。

  (1) 主程序Void Read_Si7051_Temperature(void);

  (2) 子程序 读Si7051温度编码并计算摄氏温度u8 I2C_Read(I2C_TypeDef *I2Cx,u8 I2C_Addr,u8 data,u8 *buf,u16 num)

   1578278823806092.jpg1578278823648238.jpg

1578278860299835.jpg

  5 结论

  Si7051装在线路板上,精度高、运行稳。下面是一组实测数据(表3):

  测试条件说明:①地点:办公室,对环境温度测试;②工具:实验室开发的SCTC温控仪;RKC CH402图6. 读Si7051温度编码的程序流程图(1) 主程序Void Read_Si7051_Temperature(void);(2) 子程序 读Si7051温度编码并计算摄氏温度u8 I2C_Read(I2C_TypeDef *I2Cx,u8 I2C_Addr,u8 data,u8 *buf,u16 num)

  日本产温控仪,其上无小数显示(对热电偶)。测试分析:仪器每秒对Si7051和热电偶同步采样一次,数据记录间隔是2 min。在18 min内,Si7051测温仅变化31.53-31.47=0.06(℃),多数时间,只在小数点后第2位上有变。表明其精准、稳定。SCTC测温也仅变化30.53-30.20=0.33(℃)。这里,Si7051的测量的温度要高于SCTC仪及RKC仪的测量温度是因为PCB板上的气温要高于一般环境温度。

  以后还将一如既往地关注、实施温度测控领域的新元件的应用,并把相关的研发成果及时在专业刊物上发表,为我国自动化仪表的发展出一分力。

  参考文献

  [1] Measuring Temperature Accurately with Semicondutor [EB/OL], Silicon Laboratories, [2019-06-2].https://www.silabs.com/documents/public/white-papers/ measuring-temperature-accurately-with-semiconductor-sensors.pdf.

  [2]Si7050-1-3-4-5-A20-1398033D[EB/OL],2018-09,Revision1.15,Silicon Laboratories,pp:1-27 (2018-09)[2019-05-27]:1-27.https://www.silabs.com/documents/public/data-sheets/Si7050-1-3-4-5-A20.pdf

  [3]AN607:Si70XX HUMIDITY AND TEMPERATURE SENSORDESIGNER’S GUIDE [EB/OL], Revision 2.0 ,SiliconLaboratories, P6, (2016-07)[2019-06-02].https://ww.silabs.com/documents/public/application-notes/AN607.pdf.

  [4]AN1026: Si70xx Temperature Sensor Designer’s Guide[EB/OL], Rev. 0.1, Silicon Laboratories,[2019-06-03]. https://www.silabs.com/documents/public/application-notes/AN1026-Si70xx-Temp-Sensor-Designers-Guide.pdf.

  [5] I²C[EB/OL], Wikipedia ,Retrieved, 2019-6-3.https://en.wikipedia.org/wiki/I%C2%B2C.

  [6]UM10204-I2C-bus specification and user manual[EB/OL].Rev.6,NXP,(2014-04-04)[2019-06-06].https://www.nxp.com/docs/en/user-guide/UM10204.pdf.

  [7]VALDEZ J,BECKER J. Slva704-ApplicationReport-Understanding the I2C Bus [EB/OL]. TexasInstrumentsIncorporated, PP.5-8,(2015-06)[2019-06-06].http://www.ti.com/lit/an/slva704/slva704.pdf.

  [8]I2C_bus_specifications_V2_0[EB/OL],V2.0,2016:p.6.https://espace.cern.ch/CMS-MPA/SitePages/Documents.aspx.

  [9]MARK W Si7051 Temp Sensor[EB/OL].(2017-01-10)[2019-06-12].https://www.matrixtsl.com/mmforums/viewtopic.

  php?t=19613.

  [10]STM32F10x_StdPeriph_Lib_V3.5.0[CP/OL],V3.5.0,STMicroelectronics,(2011)[2019-06-01].https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32054.html

  本文来源于科技期刊《电子产品世界》2020年第01期第69页,欢迎您写论文时引用,并注明出处。

关键词: 202001 高精度热电偶补偿 Si7051 STM32F103 I 2 C总线 程序流程

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版