数字温度计的制作PPT演示课件_第1页
数字温度计的制作PPT演示课件_第2页
数字温度计的制作PPT演示课件_第3页
数字温度计的制作PPT演示课件_第4页
数字温度计的制作PPT演示课件_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于msp430单片机的数字温度计的制作,1,概述,这是一个实现比较简单任务的项目方案,通过此产品的制作,我们需要做到以下几点:1、了解美国德州TI公司的16位单片机msp430硬件内部结构,同时可以与我们现学的51单片机做个对比。2、了解测温传感器热敏电阻(NTC)的基本特性3、了解和掌握此方案的硬件电路设计、测温方案及软件流程4、练习一下贴片元器件的焊接,掌握贴片元器件的焊接方法5、了解msp430的开发环境,自己动手用仿真器调试数字温度计硬件,并单步运行一下内部程序(单片机C语言程序),观察一下C语言的一些相关变量。下面从项目开发流程介绍开始讲述:,2,大致开发流程框图:,方案论证和确定,选择主要器件,绘制电路sch图,绘制pcb图、做扳子,画出软件流程图,编程序,挑选、购买器件,焊接电路板,调试电路板,整机安装完成,3,1、方案论证和确定:主要是根据项目要求,提出可行性方案,通过讨论并确定下来,在我们的项目中,由于是电池供电(低容量)、低成本、数字显示等特性,那么我们就需要选择一个低功耗和低成本方案来实现这种功能,所有器件都需要低功耗。先找能实现我们要求的主cpu,选择单片机首先要知道它的直流特性,如电流、电压、各个模块的功耗等,大致了解它的主要功能(等到编程序时再去详细了解寄存器及寄存器配置,(选择单片机首先要知道它的直流特性,如电流、电压、各个模块的功耗等)因此我们选择带有液晶驱动超低功耗的主cpu来自实现(430单片机)和低成本的温度传感器(热敏电阻),因为430单片机:超低功耗、液晶驱动、斜边ad等,这些都能满足我们的要求。2、选择主要器件:msp430f413、热敏电阻、液晶片、纽扣电池(230ma),上网查询下载相关资料技术手册。,4,3、挑选、购买器件:主要是购买主要器件,联系可靠厂家,我们这主要是cpu、热敏电阻。4、绘制电路sch图:用制图工具(protel99或pads等工具)画出电路图5、绘制pcb图、做扳子:根据原理图画pcb图,pcb文件发到制板厂家制作,(大概需要7天)6、画出软件流程图:跟据实现功能,写出流程图7、编程序:跟据流程图,编制程序。8、焊接电路板:一般的小项目(像我们这个)在7天的做板周期内,6、7步都已完成,领取元器件焊接电路板,一般是制板,我们都做二块,以确定电路和软件的稳定性。,5,9、调试电路板:这一步最重要,也是时间最长的一步,在这一步中要调试软件,修改软件中的错误,还要调试硬件,修改电路错误。项目越复杂所需时间越长,又叫单板调测,。10、整机安装完成:在软件和硬件调试都完成的成况下,把它装起来,在测试一遍,没问题就完成了。在这个项目中,我们的大部分工作都由主控器件单片机来实现的,所以我们需要很详细的了解和掌握这一块单片机硬件结构,下面我们就介绍一下这一款单片机。,6,430单片机性能概述,美国德州仪器(TI)公司MSP430系列单片机是一款超低功耗类型的16位单片机,特别适合于电池应用的场合或手持设备中。同时,该产品将大量的外围模块整合到片内,也适合于设计片上系统;有丰富的不同型号的器件可供选择,让设计者根据自己的产品选择单片机所带的内部模块以最求最大的性价比,这样就给设计者带来很大的灵活性,合理利用片上的资源,现在在三表(家中智能电表、气表、水表(包括冷水表和热水表)上用得最多(90%),这是因为它具有最低功耗,可以让电池用上四、五年以上,后面将会介绍到。,7,MSP430单片机是一个16位精简指令构架(RSIC),有大量的工作寄存器和数据存储器,其RAM单元也可以实现运算,在运算速度方面,MSP430能在8MHZ的晶体驱动下实现125ns的指令周期(一条指令大部分是一个机器周期(单指令周期),时钟周期(振荡周期)是最小单元,机器周期=时钟周期,像标准51是机器周期=12时钟周期)。16位数据宽度、以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法,对比51我们知道,51是8位的单片机,同时一个指令周期等于12个时钟周期,有很多是双指令周期乃至四指令周期,所以运算速度就慢了很多。,8,自MSP430系列单片机99年进入中国市场以来,以其超低功耗,高性能深得广大工程师青睐。加之业界最小的开发工具EZ430(体积很小的一个盒子,也可以做在并口线中)的推出,采用JTAG口下载和仿真程序,其使得MSP430单片机在开发和应用当中更快速(我们在2003年接触这款单片机,用来开发热量表(暖气),他的硬件开发工具是300元,软件开发环境是5000元,但是他有4k代码限制和30天限制的二种版本,所以当初我们在开发时,用的是30天的,结果每到30天,9,需要重新卸载(注册表修改),安装,非常麻烦,而现在我们有了破译版,就方便好用多了,现在的仿真器市场价50元左右,还可以自己制作,更加便易,其实也就是一个并口线和一个74hc244(8位三态缓冲器起隔离电平和驱动作用),就可以了。我也做了二个,你们调试的时候可以看一下我们做的,有兴趣的同学用我们提供的图自己做做,而51的仿真器又大又贵。同时430单片机安全方面采用了BSL编程,还可通过熔丝熔断技术使定型的程序代码保护,无法读出破解。,10,11,低电压、超低功耗:电压:1.8V3.6V1)0.1uA的RAM保持模式2)0.8uA的实时时钟模式3)250uA的工作模式(默认时钟800khz)强大的处理能力:MSP430单片机具有丰富的寻址方式,但只需简洁的27条指令;片内寄存器数量多,存储器可实现多运算;有效的查表处理方法。这些特点保证了可以编出高效的程序。MSP单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只需6us。系统工作稳定:上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器控制位来确定最后的时钟频率。如果晶体振荡器在用作CPU时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。,12,丰富的片上外围模块:MSP430的各个成员集成了较多的片上外围资源。外围模块有:1)10/12/16位ADC2)精密模拟比较器(实现SLOPEAD)3)电源电压监控(SVS)4)UART/SPI异步/同步串行通讯接口(可以用定时器软件模拟串行通讯接口)5)硬件乘法器6)直接存取控制器(DMA,通过它可直接与I/O设备之间传送数据而不通过CPU)7)看门狗定/计时器(WDC)8)温度传感器(热敏二极管),13,9)12位DAC10)LCD驱动器11)运算放大器12)I2C总线13)红外线控制器(IRDA)14)16/8位计数器15)多达80个I/O口方便高效的开发方式:MSP430单片机具有FLASH存储器,这一特点使得它的开发工具相当简便。利用单片机本身具有的JTAG接口或片内的BOOTROM,可以在一台PC及一个结构小巧的JTAG控制器的帮助下实现程序的下载,完成程序的调试,开发语言有C语言和汇编语言。,14,多种存储器形式:MSP430的各个型号有性能相同而存储器不同的ROM型(掩膜)、OTP型(一次)、EPROM型(紫外线擦除)、FLASH型(在线反复编程),程序空间有大小不等,以适应产品在设计、开发、生产的各个不同阶段的需要。适应工业级运行环境:MSP430的运行环境温度范围为-40+85度,所设计的产品适合运行于工业环境下。我们在这个方案中用到的是msp430f413,它是msp430f41X系列的在这个系列中外围封装饰一样的,但一些内部硬件结构略有不同,下面的的型号硬件(包括程序存储空间和数据存储空间)有所增加,因此可以兼容上面的型号,下面就介绍一下单片机(msp430f413)的主要硬件结构:,15,16,MSPF430F413系列的主要硬件结构,17,18,第四章主要硬件结构介绍,一、基础时钟模块与低功耗:MSP430的由低速晶体、高速晶体、数字控制振荡器DCO、锁相环FLL以及锁相环增强板FLL+等部件构成,时钟模块输出3种不同频率时钟ACLK(辅助时钟)、MCLK(主系统时钟)、SMCLK(子系统时钟),送给不同需求的模块,如图:,19,正是由于有3种不同频率的时钟输出给不同的模块,才使得整个系统超低功耗成为可能。系统的功耗与系统工作的频率成正比。ACLK(铺助时钟):是由低频时钟信号经1,2,4,8分频后得到的。分频系数可选,由控制寄存器控制参数位控制。ACLK可由软件选做各个外围模块的时钟信号。此信号最稳定常用作定时器的时钟,由于有了低频时钟,所以这款单片机还可以做数字时钟,再通过软件做万年历,非常准确和时钟芯片(时钟芯片接的晶体和它是一样的,32.768khz)一样的,所以用它可以取代增加需要时钟系统的时钟芯片。MCLK(系统主时钟):由软件选择低频时钟信号、高频时钟信号、DCO时钟信号之一经1,2,4,8分频后得到的。分频系数可选,由控制寄存器控制参数位控制。主要用于CPU和系统。,20,SMCLK(子系统时钟):由软件选择低频时钟信号、高频时钟信号、DCO时钟信号之一经1,2,4,8分频后得到的。分频系数可选,由控制寄存器控制参数位控制。主要用于各外围模块。MSP430的每个系列系统的时钟都不太一样,MSP430F41X系列的时钟模块,主要是利用FLL+(锁相环增强型的模块)技术,把DCO与晶体组合使用,使系统更稳定、更快速,所以它只有ACLK(铺助时钟),高频是通过倍频技术来达到的,最大能到8Mhz,而有的系列可以接双时钟。,21,时钟具体如何配置参考它的技术手册,22,二、各种工作模式、时钟活动状态(主时钟为1M,电压为3V,25度,flash型)1)活动模式(AM):CPU、MCLK、SMCLK、ACLK活动,电流300350uA:功耗(电流):1)与主频关系(电压、温度一定):I(AM)=I(AM)1MHZf(System)MHZ);与频率是成倍增长,再看看51内核:飞利浦p87c51最低:I(AM)=0.9f(System)+1.1mA。2)与电压(主频、温度一定):I(AM)=I(AM)3V+140(uA/V)*(VCC-3V),关系相对不是很大。2)低功耗模式0(LPM0):CPU、MCLK禁止;SMCLK、ACLK活动,电流5570uA3)低功耗模式1(LPM1):CPU(如果DCO未用作MCLK或SMCLK,则直流发生器禁止,否则保持活动)、MCLK禁止;SMCLK、ACLK活动,电流92100uA4)低功耗模式2(LPM2):DCO、CPU、MCLK、SMCLK禁止;ACLK活动,电流1722uA5)低功耗模式3(LPM3):DCO、直流发生器、禁止CPU、MCLK、SMCLK禁止;ACLK活动,电流0.91.5uA6)低功耗模式4(LPM3):DCO、直流发生器、禁止CPU、MCLK、SMCLK禁止、ACLK禁止;电流0.10.5uA,23,下面主要介绍它的硬件结构:关于它如何用寄存器去实现的(这个很难在几个小时讲清楚的,因为他有很多寄存器,而一个寄存器又有8位,每位是干啥的,只有在编程时才仔细去看),可以去看一下他的技术手册,我们就不介绍了,我们只介绍一下它的主要硬件,我们都知道单片机所必需的硬件:实现逻辑电平的i/o口、定时器、运算器、时钟模块,中断,这四个是单片机必须有的,也称内核,这样单片机才能够工作。其它的外围模块就是不同的单片机和同一单片机不同的系列都是不一样的。下面就介绍一下我们用的单片机的硬件结构。,24,三、I/O口41X系列有P1P6共6个8位端口,都能用作输入和输出并可以通过软件设置,可以驱动电流达到6ma,其中P1,P2的位端口同时有中断能力,每个信号都可作为中断源。说到i/o口的结构,大家要一般知道二点1、开漏、内部上拉,2、拉电流,灌电流,1、如果是开漏的话,内部的集电极是悬空的,所以在设置电路,必需加上外部拉电阻(如果不加,在作为输入时,口线不稳定导致电流不稳定,功耗大),如果有内部上拉,一般也是弱上拉,也可以加上外部上拉电阻。2、拉电流,灌电流:我们用反向器为例,用图来说明这个概念,25,左边就是拉电流输出,电流方向是向其(反向器)外部流动的则是“拉电流”,一般的单片机输出电流是很少的,几十个ua,右边的是灌电流,如果电流方向是向其(反向器内部流动的则是“灌电流”,一般的单片机输出电流是很大的,几个mA以上,所以如果是驱动外围器件(如led灯),一般选用“灌,26,电流”的接法,如果是很大的电流,一般还得接上三极管(小电流)、coms(大电流)管去驱动。,27,430的单片机的i/o口,输出不管是灌还是拉,都可以最大达到6ma,但是一组口不能超过24ma所以驱动能力不是很强,驱动led灯(1ma左右)是没问题的,而它的输入是高阻抗(开漏),必须接上拉,所以悬空的口线必须设为输出,高低电平均可,否则会引起功耗不稳定而增加(这是在编程对口线初始化要特别注意的)。P1、2有7个字节访问的寄存器用于引脚控制:每条I/O口都可独立编程;可有各种输入、输出以及不同中断条件的组合;P3P6有4个字节访问的寄存器用于引脚控制,28,PXDIR:输入输出方向寄存器;0:相应的引脚为输入;1:相应的引脚为输出PXIN:输入寄存器;是CPU扫描I/O口引脚信号的只读寄存器;用户不能对它写入,只能通过读取该寄存器中的内容知道I/O口的输入信号,在PXDIR=0有效。PXOUT:输出寄存器;改变I/O的状态(低或高);在PXDIR=1有效PXSEL:功能选择寄存器;主要用于端口复用的I/O口;0:选择引脚为I/O口;1:选择引脚为外围模块功能。PXIE:中断使能寄存器(P1/2);0:禁止中断;1:允许中断;PXIES:中断触发沿选择寄存器(P1/2);0:上升沿触发;1:下降沿触发;在中断使能下有效。PXIFG:中断标志寄存器;0:没有中断;1:有中断请求;在中断使能下有效。可由软件清0;除6口外,其他口都有二种功能:一般i/o口和功能口,由功能选择寄存器控制,29,三、定时器:看门狗定时器、基本定时器、16位定时器A,1、看门狗定时器:特性:其主体是一个16位计数器;需要口令才能对其操作;有看门狗和定时器二种模式;有8种可选的定时时间。,30,1)看门狗:如果CPU执行程序正确,则看门狗计数器始终能在规定的时间内被用户程序清零(俗称喂狗);而当CPU执行程序跑飞(PC值指向用户程序以外),看门狗计数器得不到用户程序清零,发生溢出,导致CPU复位,这样CPU又会重新运行用户程序。所以使用看门狗时,要周期性的喂狗以防止超时复位。2)定时器模式当TMSEL=1时,WDT工作在定时器模式,这时设置好中断条件后,WDT将按设定的时间周期产生中断请求,得到中断服务后中断标志将自动清除。3)关闭看门狗定时器当系统不需要WDT时,可关闭定时器以节省功耗,HOLD=1时关闭WDT,31,基本定时器,主要用来产生驱动LCD的时钟信号,也可以用来定时,但是定时时间只能CLK2的2的1次幂到8次幂的数值,他没有专有的定时器,靠中断频率来产生中断定时的。,32,16位定时器A,33,34,捕获模式:是用来捕获一个事件(从高到低或从低到高)发生的时间或间隔,CCRX(比较器)记录他的值,只要事件发生便产生中断,如第一个从图中流程就是cci0accr0产生equ0信号控制rc触发器使定时器产生中断。比较模式,用来设定时间,其实就是定时器,但是他有固定的输出口,所以可以用来做pwm信号而不再用其他口线用软件来模拟,很方便。如第一个从图中流程就是16位定时器的值与比较器0值相等就产生equ0信号控制rc触发器使定时器产生中断。msp430f413的只有一个定时器timea,但有3个捕获比较寄存器,即TA0(P1.0),TA1(P1.2),TA2(P2.0)这些管脚做功能口时,设为输入则为捕获功能,设为输出则为比较输出,可以输出PWM信号,,35,定时器的四种工作模式(我们重点来讨论他的原理及PWM信号的产生)1)停止:定时器不计数2)增计数:定时器计数器增加到比较器0(CCR0)的值相等时,中断,重新计数。3)连续计数:定时器计数器增加到0XFFFF时,中断,重新计数。4)增/减计数:定时器计数器增加到比较器0(CCR0)值相等时,中断,再减到0。,36,TIMEA增计数模式,如图:,37,TIMEA连续模式,典型应用是产生多个独立的时序信号,38,39,TIMEA增减数模式,得到对称波形,40,Pwm输出模式(分为8种),输出模式0(输出):OTUx为决定OUTx又叫直通,也就是比较器x的输出位是啥就是啥,这个不举例子了(下面我们举例说明在增计数模式下比较器1(EQU1)其他模式的输出)输出模式1(置位):EQUx信号使OUTx置位输出模式2(翻转/复位):EQUx信号使OUTx翻转,EQU0信号使OUTx复位输出模式3(置位/复位):EQUx信号使OUTx置位,EQU0信号使OUTx复位输出模式4(翻转):EQUx信号使OUTx翻转输出模式5(复位):EQUx信号使OUTx复位输出模式6(翻转/置位):EQUx信号使OUTx翻转,EQU0信号使OUTx置位输出模式7(复位/置位):EQUx信号使OUTx复位,EQU0信号使OUTx置位,41,42,四、比较器,43,44,五、FLASH存储器模块,Msp430存储器采用冯.诺依曼的地址空间,所有存储器共用地址线,寻址空间为64k,其中代码段最大为60k,其他为特殊功能寄存器(sfr)、外围设备地址空间、数据存储器、引导存储器和信息存储器。代码段表现为偶地址,数据段可以按字或字节读取,下面就以msp430f41系列作了一个存储器的表格。,45,413的存储器,46,八、液晶驱动模块,47,48,3)3MUX驱动方式将使用3个引脚作为COM0,COM1,COM2,而每3段需要一个引脚驱动,则引脚数为引脚数=3+段数/34)4MUX驱动方式将使用4个引脚作为COM0,COM1,COM2,COM3而每4段需要一个引脚驱动,则引脚数为引脚数=4+段数/4,49,打个比方:假设图中的灯共阴极一个公共端:Com01脚要想灯亮,1脚只能置高吗也就是一个引脚只能点亮一个灯或一段。2:公共端:1脚置高吗,能点亮二个灯或二段。Com0灯11脚灯22脚Com1,50,51,从表中我们可以看出,它的二个引脚可以点亮4只灯,也就是一个引脚可以点亮二个灯或二段当然他们不能同时亮,如果分时亮,频率快就可以欺骗眼睛(这就是常说的视觉暂留,感觉是同时亮的),如果频率慢,就会发现段字闪。所以4个公共端就可以驱动4*n(引脚除公共脚)段,也就是每四段需要一个引脚(除公共脚),如果28个引脚(包括com端),就可以驱动(28-4)4=96段。,52,MSP430F413有24个段(S0S23),采用4个公共段则可以驱动4*24=96段,采用3个公共段则可以驱动3*24=72段。下面的图是MSP430F449的LCD显示寄存器和段的对应关系,实际上就是管脚连接与显示段的对应关系,MSP430F413的原理和它一样的,就是少了一些段和寄存器,先了解一下,我们在讲数字温度计的制作时,以比较简单的温度显示屏为例再详细介绍。,53,54,例如我们要驱动第一个数码管:要求显示一个5,则第一个数码管的a,f,g,c,d亮则对应的寄存器0 x91=0 xad,这就可以了。,55,有兴趣的可以去看看这本书430资料的网站:WWW.LIERDA.COM,56,四、数字温度计的原理,概述在设计温度测量系统时,通常需要采用电池供电的极低功耗模块,测温手段很多,有采用温敏二极管(pn结正向电压随温度变化)、热敏、铂电阻(电阻随温度变化,降低或增加)、热电偶(二端的温度变化,产生电压,一端要放在恒温下)、温度传感模块(数字或模拟量输出)等,我们的方案采用的是极低功耗、低成本的一种方案,通过软件和硬件来实现的一项功能,该方案使用一块超低功耗的、带,57,flash存储器的mcu(前面讲到的MSP430F413),以及热敏电阻、230mAh的纽扣电池、lcd玻璃片和一个32khz的晶体振荡器。省电原理:系统每隔10秒采样一次,一次采样的时间大概是0.2秒,系统休眠的电流为1uA,显示器显示的静态电流为3uA,采样的电流是200uA,每小时的平均功耗为电流=4uA+200*0.2/(10+0.2)=8uA,假设电池供电到90%,就不能再供出电了,那么这个系统的所用时间=220mAh*0.9/8uA=198*1000/8=24750(小时)=24750/24=1031(天)=1031/365=3年(理论时间)。由于电池的质量差异可能用到一年电压下降很多,显示器很暗了或者电池没电了也有可能的,这时就需要更换电池。这个电池很好买的,几毛钱到几块钱不等。这个测温系统不但要测温还要连续显示测量结果。,58,59,基于单片机的系统都是这种结构:电源部分+单片机最小系统+外围功能部分+存储部分,电源部分:重中之重,电源不好会导致整个系统运行不稳定,我们是用电池+滤波电容单片机最小系统:复位电路+单片机+晶振外围功能部分:像总线器件传、传感器等,我们这个产品就是温度传感器存储部分:存储大量数据的flash,像sd卡等存储器件,我们这数据小,由单片机的flash存储参数下面就是我们的产品的原理图,大家看一下,是否符合这种结构:,60,61,电路板正面,显示器,62,电路板背面,编程器接口,设置参数键,复位插座,温度传感器,32.768k晶振,预留口线,msp430f413,电池,测试用电源插座,电源滤波极性电容,参考电阻,充放电电容,仪表参考电阻,采样选择插座,显示驱动电压网路,63,整体样品图,64,硬件由电源、JTAG编程接口、CPU系统、LCD模块接口、按键扫描五部分组成。显示器:主要有数码的和液晶的(又分为段码式(显示数字和特定的字符)和点阵式(可以显示任何字符和图形),数码管功耗大,液晶功耗很低,我们的使用的液晶只有12个微安电流,系统采用2位半LCD来显示温度,3个公共端,7个段端,最多可显示=7*3=21个字符,而我们选择的CPU是MSPF413系列,最多可驱动96,这个专用温度、湿度显示玻璃片含有温湿度字符,3个公共端。共有19个字符,2个空缺。如下表格:,65,66,Lcdm0=(x,1a,1g,1d,x,1f,1e,T1)Lcdm1=(x,x,x,x,x,1b,1c,T0)Lcdm2=(x,2a,2g,2d,x,2f,2e,x)Lcdm3=(x,x,x,x,x,2b,2c,x)Lcdm4=(x,x,x,x,x,T2,T4,T3),67,我们现讲讲LCD显示的实现,图如下:我们知道S0,S1管脚由一个显示器寄存器控制,依次类推,为了编程方便,我们把二个8分别由不同寄存器控制,互不干扰,由于一个8有7段,而采用3个公共段一个控制寄存器只能显示6个段,所以我们用二个控制寄存器控制一个8,那么第二个控制器的高四位没用,即S3这个段没有接,即我们就接了S0、S1、S2、S4、S5、S6、S8,中间空了二个段。当然也可以连续接上S0S6,但是编程就得注意,二个8互相干扰,显示时不能送整个字节,只能送半个字节高四位或第四位也可以,由于我们的段很充足,我们就可以舍弃一些段。假设我们要在第一个8要显示5,第二8也显示5,则LCDM0=0X01110100LCDM1=0X00000010LCDM2=0X01110100LCDM3=0X00000010二个寄存器的内容一模一样,有利于显示数据。,68,温度传感器:我们选用了热敏电阻(NTC)作为数字温度计的温度传感元器件,NTC热敏电阻是指具有负温度系数的热敏电阻。是使用单一高纯度材料、具有接近理论密度结构的高性能陶瓷。因此,在实现小型化的同时,还具有电阻值、温度特性波动小、对各种温度变化响应快的特点,可进行高灵敏度、高精度的检测,为了适应液体温度测量,我们选用了带有套管的热敏电阻,由于套管的传热和散热缓慢,这样它的温度变化就显得很缓慢,所以当我们放到液体测温时,等几分钟读数才是正确的。我们采用5K(25度时的,69,值)的热敏电阻,由于它的温度变化值很大(测量范围-40119度,电阻为200176K),所以我们就可以利用430内部的精密比较器作为斜率A/D,什么叫斜率A/D,就是采用比较器的输入一端对电容的充放电,来比较电压来测量,它的温度特性是一个指数关系(曲线关系)下面看一下三种常用的ntc电阻的做不同用途封装形式图片。,70,ntc温度传感器(电子体温计用的,便宜,1元钱左右,不能防水),71,一般的ntc电阻(最便宜),跟电容形状差不多,测室温用,或做成封装其他产品,72,防水型的ntc传感器(要贵一些,几块钱一个),核心也是电阻,只是封装形式不一样,加了金属套管,73,Rt=R*EXP(B*(1/T1-1/T2)上面就是对上面的公式解释如下:Rt是热敏电阻在T1温度下的阻值;R是热敏电阻在T2常温下的标称阻值;B值是热敏电阻的重要参数(厂家提供);EXP是e的n次方;这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;例如我们用的是MF5e502F型号的热敏电阻MF5e型号封装502常温25度的标称阻值为5KF允许偏差为2%3935B值那它的R=5000,T2=273.15+25,3935RT=5000*EXP(3935*(1/T1-1/(273.15+25),这时候我们测得RT的阻值就可以求出相应的温度,我们采用另外一种方法,就是查表法,每一个温度(间隔1度)对应阻值,这种方法相对来说要好一些,但前提都是要测得该温度下的电阻。,74,75,76,77,在这里,我们就是采用上面的方法测电阻,即我们采用比较的方法测试放电时间,因为放电时间与电阻有直接关系,从而得到电阻。在电子电路的一阶电路中,在零输入响应下,通过电容对电阻放电,在放电过程中某一时刻的电压:U=VEXP(-T/RC),-(1)U-某一时刻电压V-电源电压EXP-E的次幂T,R,C-放电的时间、电阻、电容由(1)得:T=-R*C*ln(V/VCC),78,79,我们可以先对一个已知的参考电阻R1(已知)、C(共用)放电放到某一固定电压(我们每次都是从电源电压放电到某一设置的门槛电压值(我们设为0.75VCC),所以每次放电前必须先对电容充电),测试放电时间T1:T1=-R1*C*ln(V/VCC)-(2)再对被测热敏电阻R2(要测的当前温度下电阻)放电到某一固定电压,测试放电时间T2:T2=-R2*C*ln(V/VCC)-(3)由(3)/(2)则T2/T1=R2/R1,通过测得的二个状态下的时间就可以测的热敏电阻的电阻值R2,而且与电源电压无关,测试方法如下;利用P2口对参考电阻和热敏电阻控制采得的放电时间,测得电阻,再通过厂家提供的温度与电阻的表格,查表便求得温度。下面详细地介绍测试温度过程,80,首先要充电,必须每次都要充满到电源电压,由于我们用电池供电所以希望知道他的充电时间,否则时间短了,有可能充不满,时间长了又浪费电池,根据零状态相应,在充电过程中某一时刻的电压U=VEXP(-T/RC),V-电源电压,EXP-E的次幂,当T=4RC,可以认定一充满,我们用10K电阻和0.22UF。T=8.8MS,所以我们必须要充电8。8MS以上,才能开始放电,我们设置为30ms。1)首先给P2.1置为输入(高阻抗),P2.0置高给参考电阻上电,打开定时器定时给电容充电,时间到后,在重新清定时器设为捕获模式,读出初值,P2.0置低,电容放电当放电到参考电压时,定时器中断溢出,读出终值,则参考电阻放电时间=终值减初值。但是注意不要让定时器溢出,读初值前清零,和注意放电的最长时间不能超过定时器计时的最长时间(这也是我们选择参考阻和电容的依据)。2)同样,P2.0置高给参考电阻上电,电容充电,充满后,给P2.0置为输入(高阻抗),打开定时器捕获,读出初值,P2.1输出置低,电容放电,当放电到参考电压时,定时器中断溢出,读出终值,则参考电阻放电时间=终值减初值。然后再查表求得。,81,我们再来讨论一下放电电压和电阻电容的选取:放电时间越长,那么它的精度越好,时间长误差就小一些,定时器是65563,时间长,每一位对应的电压值就是1/65563,放电时间长的话,每一位对应的电压间隔就越大,就会越稳定,所以我们选取内部的0.75v,我们选取电容值是在定时器不溢出的最大范围(也就是希望在t接近65563即65.563ms),由于热敏电阻的最大值接近176k(-40度),用0.22uf时,t=54ms,因此这就够了,,82,温度修正:由通过按键对通道、参考电阻进行修正,由于通道存有阻抗,元器件也有一定误差,每块电路板上的可能都不一样,那么就需要对每一块数字温度计进行校验,写入校验参数放在CPU的FLASH存储器中永久保存。我们用二次曲线进行修正,把通道的变化看成是曲线变化,下一页我们通过图形来了解一下,曲线的修正过程及二次曲线比一次直线要好的原因。下面是一次曲线修正和二次曲线修正图坐标,83,84,85,(1)-一次曲线回归(2)-二次曲线回归Y坐标就是我们的理论值,间隔是5k,X坐标就是我们的实测理论值的值(也就是用单片机通过比较法测得的值,但间隔可能并不是5k,有可能大,也有可能小,而且各个点的值也与理论值有差异),修正方法就是我们采样多个理论值(我们用标准电阻箱代替被测电阻值),这样,我们的每个理论值都被采样出一个实测值,然后做一个参数,使我们的每个实测值与这个参数相乘或相加以后接近这个理论值,一次曲线是一条直线也就是y=kx+b,参数为二个(b,c)只要求得这个k和b,那么y就会接近理论值,二次曲线是y=ax2+bx+c,参数为三个(a,b,c),只要求得这个a、b、c,那么y就会接近理论值,由此可见二次比一次好,更接近理论值,而且二次还包括一次(a=0时),所以一般用二次去修正。,86,我们的方案是在104度到-12度,也就是300欧电阻到30.3k电阻之间选用7个间断相等点的标准阻值(从300开始依次增加5k,相当于校正了从104度到-12度)(Y),采样得到7个(X)再通过曲线函数求得A、B、C,由图可知我们采样的7个点与A.B.C相乘后,得到的值都与标准值一致,那么我们在采样NTC得到的电阻值就与实际的温度值保持一致,如果不这样做的话,有的电路板会相差几度,如果有兴趣的话,通过更改软件的方式。,87,由于我们的温度校验跟温度电阻是同一个通道,所以我们用了一个插针来选择是测试温度电阻还是温度校验,电路板图中通过J6采样选择座来选择温度校验还是测试温度电阻,电阻的温度测量值范围是-40度119度,显示分辨率和精度均为1度,功能扩充:1)软件扩充:实现此方案,大概需要5K字节FLASHROM,而CPU有8KFLSHROM,需要13个字节(A,B,C为浮点数,占有4字节和一字节写标志)信息FLASH,而本CPU有256字节可存储数据,掉电不丢失,用户可以用来存储一些历史数据,如最大温度,最小温度等。2)硬件扩充:PCB图预留了5个口线,和一个软件串口及调试仿真用的JTAG口,可供用户学习用口线驱动灯等实验及通过串口助手调试软件串口通讯实验等。因此,本系统不仅是一个产品,也是一个学习MSP430的不错的开发板。,88,误差来源和电阻电容的选取,一、误差来源:1)主要是干扰和元器件的温度特性(温漂),干扰可能会引起温度很乱(我们通过电路板排版:尽可能远离电源和布满地线),由于温度对应的电阻间隔很大(一般都有几十欧),所以电阻的温漂影响不大,如果温度对应的电阻间隔很小(几欧,如热量表用的铂电阻)的话,则要求电阻很高(主要是温漂,就是随温度变化而变化,一般的电阻都是百万分之几十,高的可能是千万分之几);2)传感器本身:由于对温度要求不高,我们选用的是2级(2%),如果要求高可选用高级别的二、电阻电容的选取:由于充电是的瞬间电流比较大(300UA),而这个电池可能瞬间抽不出这么多电,所以我们想让它缓慢充电,但是如果选的越大,则充电时间越长,功耗增加,故选了10K,电容的选取,我们采用的是1M时钟,而定时器最大为65536,也就是65MS左右,所以放电时间要少于65MS,而用电容0.22UF时,热敏电阻的放电时间55us(200)54MS(176K),范围比较大,比较适合。,89,六、软件讲解,讲解数字温度计的程序。下面是软件环境应用开发框图和主控CPU的主流程图,90,开发环境使用流程图,91,92,七、测试步骤,一、焊接完后(不要上电),待电路板干后,万用表打到二极管档测试,电源对地电阻(红笔接电源,黑笔接地),正常应显示为1000以上,否则检查是否短路,排除后方可往走下,二、接上仿真器,测试电源电压应为3V(2.53)左右,如相差很大,说明有元器件漏电,检查故障,三、下载程序并仿真程序,如下载不了,检查下载接口是否虚焊(没有,再短路一下复位座J8),下载完后单步(跳过子程序)调试程序,能否通过initregeit()函数,如通不过,说明晶振未起振,去维修岗位维修:检查晶振接口,是否有虚焊、短路现象,一直到修好后有显示后方可再进行电脑仿真。再接着往下走,通过int_disy(100),显示屏能否显示“100”,不能显示,去维修岗位维修:查一下显示相关接口。四、把跳线冒套在J6的2、3脚上,把断点设在wendu.c文件的caitemperature函数的喂狗命令WDTCTL=WDT_ARST_16处,等待采样,在变量框中看采样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论