datasheet

基于MSP430的低功耗便携式测温仪设计

2016-10-09来源: eechina关键字:MSP430  低功耗  便携式  测温仪
便携式测温仪采用16位超低功耗单片机MSP430F435和热电阻传感器铂1000实现温度的信号处理和采集。采用MSP430系列单片机的一个最大优势是它具有低功耗和高集成度,非常适合于电池供电和空间受限的工作环境以及便携式应用场合。作为一个便携式应用系统,功耗是整个系统的功耗,不仅是处理器的功耗。比如处理器输入端口的漏电流对系统的耗电影响就较大,MSP430单片机输入端口的漏电流最大为50 nA,远低于其他系列单片机(一般为1 μA~10μA)。该测温仪适合高炉热负荷水温测量,或者需要连续测量多点温度和温差的测量场合。
  1系统硬件设计
  便携式测温仪主要由处理器、传感器接口、键盘、LCD(液晶显示器)、数据存储、打印和电源等模块组成。系统硬件组成框图如图1所示。
  1.1处理器模块
  MSP430F435是测温仪的控制中心,完成传感器数据结果处理、键盘的识别、串口通信的管理等。美国得州仪器(TI)公司的MSP430F435单片机是Flash类型单片机,内嵌16 kB Flash程序存储器和512 B数据存储器。其主要特点是:超低功耗、16位指令、内置A/D转换器、串行通信接口、硬件乘法器、LCD驱动器及高抗干扰能力等。因此,MSP430单片机特别适合应用在智能仪表、防盗系统、智能家电、电池供电便携式设备等产品中。该芯片性能特点如下:低工作电压(1.8 V~3.6 V);超低功耗(工作模式4下耗电仅为0.1μA);16位RISC(精简指令集计算机结构);150 ns指令周期。
  1.2电源模块
  整个电路由1个AA电池供电,通过电压转换芯片获得处理器和外围电路所需电源。为保证测温仪正常工作,电源电路中还配有电池电量检测装置,在电池电量比较低、可能会影响到测温仪正常工作的情况下及时报警,提醒更换电池。采用MSP430F435内置比较器模块,无须外加专门的电池检测芯片,只需2个电阻就可以完成此功能。
  1.3传感器接口模块
  传感器接口模块电路见图2。传感器输出毫伏级的应变信号,通过高稳定度电桥变换,经由运算放大器MAX492组成的减法放大电路,然后经调零、滤波处理后,送至NSP430F435的A/D转换接口ADC0,实现对温度信号的检测。单片机根据处理结果的值和范围进行查表,实现分段线性化,将传感器信号与温度对应。


  系统所采用的传感器是热电阻传感器铂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系统软件设计
  整个系统软件设计主要由温度采集、低功耗设计、LCD显示、读写E2PROM和打印处理5部分组成。本系统的工作流程图如图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的值,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,3min后就会自动关机,从而实现降低功耗的目的。
  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时,用于确认打印。
 
  仪表分辨率可达0.1℃,测量误差小于±0.1℃。MSP430系列单片机均为工业级器件,运行环境温度为-40℃~85℃运行稳定,可靠性高,所设计的产品适用于各种民用和工业环境。所以该测温仪可以用于测量高炉热负荷水温差测量,或者需要对连续多点的温度测量场合。
  4结束语
  本文研制的便携式低功耗便携式测温系统克服了传统测量系统存在的不足,具有结构简单、工作稳定可靠、测量精度高、功耗低、便携性好、功能齐全、适用场合广泛等优点。与其他测温仪的突出不同之处在于,本系统采用新型低功耗16位单片机MSP430 F435作为整个系统的控制核心。由于采用了功能强大的MSP430单片机,本系统设计的硬件电路与以往有较大差异。MSP430 F435有着丰富的外围模块,因此比较容易实现温度信号的采集、处理、显示、存储及打印,从而使整个硬件电路得到极大的简化。实际使用证明该测温仪完全符合工厂应用的需要,性能稳定,可靠性高,设备操作简单方便。

关键字:MSP430  低功耗  便携式  测温仪

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2016100930272.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于MSP430的变频伺服系统设计
下一篇:基于MSP430的FSK 调制与解调制技术

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Nokia LCD 5110 移植(基于MSP430F5529)

头文件nokia_5110.h#ifndef __nokia_5110_h_#define __nokia_5110_h_#include <msp430.h>#define LCD_5110_DIR            P3DIR#define LCD_5110_OUT        P3OUT#define   LCD_RST    2#define   LCD_CE    3#define   
发表于 2019-05-11

SPWM波在单片机上的实现与调节(基于MSP430F5529)

);extern void SPWM_2Way_Init(void);extern void SPWM_2Way_Set_Freq(unsigned int freq);#endif /* PWM_H_ */头文件include.h/* * include.h * *  Created on: 2016-8-18 *      Author: Flyskyr */#include <msp430.h>#include"PWM.h"unsigned int spwm_i,spwm_j;unsigned int
发表于 2019-05-11

按键的长按与短按(基于MSP430F5529)

长按与短按的区别只是加上一个适当的延时然后再去判断引脚状态。定义:#define KEYDIR P2DIR#define KEYIN P2IN#define KEYIFG P2IFG#define KEYIE P2IE#define KEYIES P2IES#define KEYREN P2REN#define S1 BIT0extern unsigned char key_key;在中断中处理长按与短按:#pragma vector=PORT2_VECTOR  //声明中断向量地址__interrupt void GPIOIntHandler(void){unsigned int IntState,vextend,cv
发表于 2019-05-11

关于MSP430的ADC中断相关问题

在进行MSP430ADC相关代码操作的时候,遇到一个百思不得其解的问题,我们按照要求设置好ADC通道,ADC中断,程序始终无法进入到ADC中断中去,本人一次又一次确认通道选择是否出错,中断是否设置,但是依然无法进入中断,经过试验和搜索,终于找到了问题所在。MSP430的ADC12IE寄存器虽然是用来使能各个ADC中断的,但是在单通道转换模式下,无论你使用的是哪个ADC通道,ADC12IE对应的中断只能是0x01,对应的中断标志位为ADC12IFG0,并且只能在ADC12MEM0中读取ADC的值。下面给出一个单通道转换的实例:#include "msp430x54x.h"unsigned int adc;void
发表于 2019-05-07

基于MSP430内部10位ADC的模数转化并通过串口发送

//******************************************************************************//  MSP-FET430P140 Demo - ADC12, Using the Internal Reference////  Description: //////                MSP430F149//             ---------------// 
发表于 2019-05-07

msp430学习笔记之定时器A

下一事件发生的时间在当前中断程序中加到CCRx中,如图4,下次发生中断的时间等于在CCR0a发生中断时刻,CCR0 = CCR0a + Δt图 4 连续计数模式下中断与CCRx关系4 增减计数模式(产生两个中断标志)当计数器计数到跟TACCR0一样的之后,然后从TACCR0开始又减少,直到为零,然后又开始增。当计数跟TACCR0一样的时候产生一个中断标志CCIFG,当减到为零的时候又产生一个中断标志TAIFG。如图:图 5 增减计数模式时序图相关寄存器这里就不一一介绍了,可以翻阅数据手册2 代码实现//本平台 msp430f149#include <msp430f149.h> volatile unsigned
发表于 2019-05-07
msp430学习笔记之定时器A

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved