您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于STM32的PT100温度测量
基于STM32的PT100温度测量目录一、前言.................................................................1二、系统描述.............................................................12.1综述.............................................................12.2系统框图..........................................................12.3功能实现..........................................................1三、硬件设计.............................................................23.1STM32微控制器....................................................23.2PT100温度传感器电路..............................................33.31602液晶屏.......................................................4四、软件设计.............................................................44.1ADC程序..........................................................44.21602LCD显示程序..................................................54.3主程序............................................................5五、性能测试.............................................................5六、课程设计心得.........................................................6参考文献.................................................................6附录1:系统实物图........................................................7附录2:系统主要程序......................................................7第1页一、前言Cortex-M3是ARM公司为要求高性(1.25DhrystoneMIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。STM32系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。本系统是基于Cortex-M3内核的STM32微控制器与PT100温度传感器的温度测量,在硬件方面主要有最小系统板、1602LCD液晶屏以及PT100温度传感电路,在软件方面主要有1602LCD液晶屏的驱动,ADC功能的驱动,及滤波算法设计。整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。二、系统描述2.1综述本系统是基于STM32微控制器所设计的多功能画板,该画板具有基本的绘画功能及画布颜色的选择,触摸屏校正等功能。整个系统模块分为三个模块:ALIENTEKMiniSTM32开发板、液晶显示。MiniSTM32开发板是ALIENTEK开发的是一款迷你型的开发板,小巧而不小气,简约而不简单。上面有芯片工作需要的资源,时钟控制电路、复位电路、JTAG控制口以及与外围电路相连的接口。液晶屏采用的是1602LCD液晶屏。2.2系统框图图2-1系统电路总体设计框图本设计采用STM32F103RBT6作为微控制器,其外围硬件模块主要包括电源模块﹑微处理器模块﹑按键及JAIG等。电源采用USB供电,在设计过程中用PC供电。其系统框图如图2-1所示。2.3功能实现PI100温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,温度变化导致它的电阻变化,在电路中它的电阻变化会导致电压变化,STM32微控制器的ADC将电压换成数字信号,通过处理运算以及PT100温度与电阻的函数关系,得到一个温度值,并将温度值输入1602液晶屏显示。PT100温度传感器STM32微控制器1602LCD液晶屏第2页三、硬件设计3.1STM32微控制器STM32微控制器最小系统包括晶振电路,电源模块,JTAG接口模块,串口ISP下载模块,系统复位模块。本次课程设计采用的是ALIENTEKMiniSTM32开发板。STM32F103RBT6管脚图STM32微控制器的部分工作电路图第3页3.2PT100温度传感器电路铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温范围的温度测量中。PT100是一种广泛应用的测温元件,在-50~600℃范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将PT电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。常用的PT电阻接法有三线制和两线制,其中三线制接法的优点是将PT100的两侧相等的的导线长度分别加在两侧的桥臂上,使得导线电阻得以消除。常用的采样电路有两种:一为桥式测温电路,一为恒流源式测温电路。本设计采用的是三线制桥式测温电路,电路如图所示测温原理:电路采用TL31和电位器VR1调节产生4.096V的参考电源;采用R1、R2、VR2、RPT构成测量电桥(其中R1=R2,VR2为100Ω精密电阻),当RPT的电阻值和VR2的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放LM3放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。差动放大电路中R3=R4、R5=R6、放大倍数=R5/R3,运放采用单一5V供电。设计及调试注意点:1.同幅度调整R1和R2的电阻值可以改变电桥输出的压差大小;2.改变R5/R3的比值即可改变电压信号的放大倍数,以便满足设计者对温度范围的要求4.VR2为电位器,调节电位器阻值大小可以改变温度的零点设定,测量电位器的阻值时须在没有接入电路时调节,这是因为接入电路后测量的电阻值发生了改变。5.理论上,运放输出的电压为输入压差信号×放大倍数,但实际在电路工作时测量输出电压与输入压差信号并非这样的关系,压差信号比理论值小很多,实际输出信号为VO=4.096*(RPT/(R1+RPT)-VR2/(R1+VR2))式中电阻值以电路工作时量取的为准。4.096为基于源电压。第4页6.电桥的正电源必须接稳定的参考基准,因为如果直接VCC的话,当网压波动造成VCC发生波动时,运放输出的信号也会发生改变,此时再到以VCC未发生波动时建立的温度-电阻表中去查表求值时就不正确了,这可以根据式进行计算得知。3.31602LCD液晶屏1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD。引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3V0对比调整电压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602与STM32连接说明:四、软件设计4.1ADC程序STM32F103RBT6内部有3个ADC,实际上我们只需要软件设置就可以正常工作,不过我们需要在外部连接其端口到被测电压上面。本系统通过ADC1的通道0(PA0)来读取外部电压值。测量电压不能超过3.3V。程序步骤1)启开启PA口和ADC1时钟,设置PA0为模拟输入。2)复位ADC1,同时设置ADC1分频因子。开启ADC1时钟之后,我们要复位ADC1,将ADC1的全部寄存器重设为缺省值之后我们就可以通过RCC_CFGR设置ADC1的分频因子。分频因子要确保ADC1的时钟(ADCCLK)不要超过14Mhz。这个我们设置分频因子位6,时钟为72/6=12MHz。3)初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。设置单次转换模式、触发方式选择、数据对齐方式等都在这一步实现。同时,我们还要设置ADC1规则序列的相关信息,我们这里只有一个通道,并且是单次转换的,所以设置规则序列中通道数为1。5)使能ADC并校准。第5页在设置完了以上信息后,我们就使能AD转换器,执行复位校准和AD校准,注意这两步是必须的!不校准将导致结果很不准确。每次进行校准之后要等待校准结束。这里是通过获取校准状态来判断是否校准是否结束。6)读取ADC在上面的校准完成之后,ADC就算准备好了。接下来我们要做的就是设置规则序列1里面的通道,采样顺序,以及通道的采样周期,然后启动ADC转换。在转换结束后,读取ADC转换结果值就是了。7)多次读取ADC值,求平均求平均使获得的ADC值稳定。4.21602LCD显示程序程序步骤必要的声明定义等;写入指令数据到LCD;写入字符显示数据到LCD;写字符串函数;写数字函数;GPIO配置;LCD初始化设定;4.3主程序各子函数初始化(SystemInit();delay_init(72);NVIC_Configuration();uart_init(9600);LED_Init();LCD_Init();Adc_Init();)while循环(获取ADC值,转换成电压值,写字符串,写数据值,LED闪烁)。五、性能测试硬件调试比较简单,主要是调试PT100温度传感器电路,首先检查电路的焊接是否正确,然后用万用表测试,首先检测PT100传感器的电阻值是否随温度变化,并测量其在0°C和100°C的电阻值;然后在测量基准电压,将其调试到合适值(4.960V);然后测量电桥输出的最大电压差Umax,并确定运算放大器的放大倍数(放大器的输出电压不能大于3.3V,倍数A=R5/R3=3.3/Umax,调试过程中可改变R5电阻值);最后测量运算放大器实际的输出电压,与电桥输出电压,计算实际放大倍数与理论放大倍数比较;调试完后可连接STM32进行软件编写。软件调试可以先编写1602显示程序并进行硬件的正确性检验,然后分别进行ADC程序和主程序的编写和调试。第6页最后进行整体系统测试六、课程设计心得经过将近一段时间的设计、焊接、编程、调试,我们终于完成了温度测量的设计,基本能够达到设计要求,此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际应用结合了起来,而且使我们对电子电路、电子元器件等方面的知识有了更进一步的认识,同时在软件编程、焊板调试、相关调试仪器的使用等方面得到较全面
本文标题:基于STM32的PT100温度测量
链接地址:https://www.777doc.com/doc-4938745 .html