基于MSP430的低功耗便携式测温仪设计 |
2008-5-12 9:46:00 默少丽 邓鹏 供稿 |
| 0、引言 便携式测温仪采用16位超低功耗单片机MSP430F435和热电阻传感器铂1000实现温度的信号处理和采集。采用MSP430系列单片机的一个最大优势是它具有低功耗和高集成度,非常适合于电池供电和空间受限的工作环境以及便携式应用场合。作为一个便携式应用系统,功耗是整个系统的功耗,不仅是处理器的功耗。比如处理器输入端口的漏电流对系统的耗电影响就较大,MSP430单片机输入端口的漏电流最大为50 nA,远低于其他系列单片机(一般为1 μA~10μA)。该测温仪适合高炉热负荷水温测量,或者需要连续测量多点温度和温差的测量场合。 1、系统硬件设计 ![]() 图1 系统硬件组成 ![]() 图2 传感器接口模块电路 系统所采用的传感器是热电阻传感器铂1000。铂电阻是目前广泛使用的精度高、稳定性好、性能可靠的测温元件。但是,铂电阻温度传感器使用时也有不便之处,比如,输出信号非线性、信号弱、正负温度的分辨率不同、模拟量输出不能与单片机直接相连等。由于铂电阻的非线性,在应用时必须考虑非线性校正;由于仪表工作在小信号状态,抗干扰措施和合理电路工艺设计对整个仪表精度影响较大。设计时,严格将数字地与模拟地分开连接,再选一点共地,适当地增加数字滤波,这样可以提高抗干扰能力。 1.4显示、键盘模块 LCD和键盘显示是进行人机交互的重要手段。MSP430内部有LCD驱动模块,最大可驱动160段的LCD。采用4位8段低功耗模块,这种LCD非常适合于要求功耗低的仪表(如电子水表、电表、煤气表等)以及便携式系统中。测温仪面板上设置有2个手动键,1个功能键,1个确认键,以完成实时显示、保存测量值和打印等功能。在按功能键的同时,LCD会有相应的数值显示,用户可以读出相关的信息,或者按确认键执行相应的功能。 1.5数据存储模块 MSP430F435外扩了2 kB的E2PROM,E2PROM通过I2C总线与单片机连接,用于保存采集的温度值,以备打印机打印。 1.6打印机模块 打印机选用北京炜煌科技的汉字微型打印机,与单片机串口直接相连,接口电路相对简单,通过用软件使其按指定的格式打印出温度值。 1.7键盘模块 便携式测温仪面板上设置了2个键,以完成实时显示测量值和打印等功能。使用按键与单片机的I/O口线直接连接的方法构成,采用查询方式获得按键值。 2、系统软件设计 ![]() 图3 主程序流程 硬件初始化后,开始采集当前温度值,检测是否有按键按下。如果有按键按下,则执行按键相对应的功能,然后由LCD显示程序显示不同功能所对应的信息。如果没有任何按键按下,则显示当前实测温度值,等待用户的下一步操作。如需打印测得的数据,则进入打印处理程序。 2.1温度采集 温度数据采集采用单片机MSP430F435自带的A/D转换器,A/D转换的精度可达12位。MSP430单片机内部提供了方便的A/D转换器初始化寄存器,只需简单地设置几个A/D转换器控制寄存器,就可完成对A/D转换器的初始化。软件设计的重点是温度与热电势间非线性关系的线性化标度变换算法和关于传感器温度数据噪声干扰的滤波算法。其中标度变换采用分段(每10 ℃分段)线性化的方法,提高了系统的测温精度;而滤波采用中位值滤波算法。算法的具体实现过程是:首先连续采集15次,然后把15个温度数据按由小到大的顺序排列,取中位值作为本次采样值。中位值滤波能有效地克服因偶然因素引起的波动干扰。对温度、液位等缓慢变化的被测参数,采用此方法能收到良好的滤波效果。实际使用证明这样的滤波算法可保证小数点后1位数据保持稳定。 2.2低功耗 对于便携式设备,设计时应尽量降低功耗,使系统尽可能长时间停留在低功耗状态。因此,考虑设备在适当的时候自动关机。这里采用了一个定时器。当定时器大于0时,系统处于开机状态;当定时器倒数到0时,系统进入休眠状态并且关掉LCD模块和A/D模块。当处理器处于休眠状态时,键盘程序就不好用了,处理器不会主动去扫描键盘。而键盘接在P1口,P1口具有外部中断的功能,当处理器进入休眠状态时打开按键中断。当有按键按下时,CPU响应外部中断,系统被唤醒,回到正常工作模式。具体操作是:开机时,对定时器初始化一个大于0的值,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,3 min后就会自动关机,从而实现降低功耗的目的。 2.3 LCD显示 LCD显示部分的实现要与键盘处理程序相配合,根据不同功能显示不同的信息。要实现LCD的正常显示至少需要下面几个重要步骤:选择LCD驱动模式、制定相应驱动模式下LCD的BCD码显示存储表、设置LCD时钟、设置通用I/O端口属性和更新LCD显示缓存区。本仪表选择静态LCD驱动模式,制定了0~F的BCD码显示存储表,采用1 024 Hz的时钟频率,设置通用I/O口属性为输出,根据不同功能实时更新LCD显示缓存区的内容。 2.4其他部分 E2PROM模块用于保存测量的温度值和测量点。串行通信模块用于实现测温仪与打印机连接,打印测量的温度值。这两部分程序较简单,这里不再叙述。 3测温仪功能及主要技术性能测温仪功能如表1所示。当功能号为0、1时,用于确认保存当前测量点温度值,然后自动转到下一个测量点位置测量;当功能号为2时,用于显示和保存记录已经测量的测量点位置;当功能号为3时,用于显示已经测量的测量点位置和清除上次测量的记录;当功能号为4时,用于确认打印。 ![]() 表1 测温仪功能表 仪表分辨率可达0.1℃,测量误差小于±0.1℃。MSP430系列单片机均为工业级器件,运行环境温度为-40℃~85℃运行稳定,可靠性高,所设计的产品适用于各种民用和工业环境。所以该测温仪可以用于测量高炉热负荷水温差测量,或者需要对连续多点的温度测量场合。 4、结束语 |




