王鹤霖 张艳鹏
(1.长安大学信息工程学院 陕西西安 710021;2.绥化学院电气工程学院 黑龙江绥化 152061)
基于MSP430单片机的通用温度测控系统研究
王鹤霖1张艳鹏2
(1.长安大学信息工程学院 陕西西安 710021;2.绥化学院电气工程学院 黑龙江绥化 152061)
该系统采用生活中常用的DS18B20温度传感器来采集温度,测量精度为0.5摄氏度。以MSP430F169为主控芯片驱动传感器,并配备LCD1602A液晶显示温度,并由微动开关设置所需要的温度。由PID算法开控制加温器件的工作,本系统具有结构简单容易操作等特点,适合应用于各种环境。
DS18B20;MSP430;温度测控;PID
该系统采用MSP430F169单片机为主控芯片,驱动DS18B20温度传感器采集温度并显示在LCD1602A液晶上,单片机采集数据之后进行处理并根据所设定的目标值控制升温装置,实现温度的控制[1]。系统包括DS18B20模块、液晶模块、继电器模块和按键模块,结构框图如图1所示。
图1 系统结构框图
(一)温度传感器模块。温度传感器模块采用的是广泛用于各种环境的DALLS公司生产的一线数字温度传感器DS18B20,DS18B20具有价格低廉,速度快,微型,强力抗干扰抗干扰,测量误差小等特点。最多在750ms内将温度转换为数字。[2]它的测温范围为-55℃到125℃,并且在常用温度范围内精度为±0.5℃。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。大大减小了硬件系统设计的难度。模块的电路结构如图2。
图2 温度传感器模块
(二)按键模块。为了设置温度方便,该系统采用了4×4的按键矩阵,按键除了包括0到9十个数字设置按键还包括小数点、归零、按位选择等功能按键来设置所需温度,按键识别方案采用的是软件全局扫描法。
(三)主控芯片。该系统采用的MSP430系列单片机是美国TI公司1996年开始销售的一种16位超低功耗的混合信号处理器(Mixed Signal Pocessor)。[3]具有比AT89C52单片机更强的数据处理能力。并且具有超低的功耗、高性能模拟技术、丰富的片上模块,集成了较丰富的片内外设。[4]有以下功能模块:看门狗 (WDT),模拟比较器A,定时器A (Timer_A),定时器B(Timer_B),串口0、1(USART0、I),硬件乘法器,液晶驱动器,10位,12,14位ADC,12位DAC,12C总线,直接数据存取(DMA),端口1-6(P1-P6),基本定时器(Basic Timer)等。用MSP430F169连续不断的采集温度并采用工业中成熟的PID自动控制算法控制继电器把温度控制在所设定的温度附近。采用PID算法可以超前控制,并且避免通用算法引起的继电器反复通断问题,减少继电器的损耗,延长系统的使用寿命,满足工业生产的需求。单片机外接8MHZ的高频晶振和32.768kHz的手表晶振,分别实现数据的快速处理和定时唤醒功能,配合MSP430系列单片机特有的省电模式可实现超长待机,后期可拓展RS232或RS485串行通信模块,配合上位机实现温度数据的实时显示和温度曲线的绘制。更加方便使用。
(四)温度控制模块。该温度控制电路中,单片机控制NPN型三极管的基级电压使三极管维持在导通或截止的状态,进而控制继电器的通断。当PID算法认定应该升温时,控制三极管导通,开始加热,系统升温。当温度过高时,单片机控制三极管截止,停止加热,系统降温。考虑到继电器在突然断电时会产生很大的反向电流,可能击穿三极管并对单片机产生不良影响,在三极管两端接上一个二极管将反向电流分流,达到保护三极管和单片机的作用。
(五)液晶显示模块。液晶显示模块采用生活中广泛应用的LCD1602A液晶,该液晶使用方便,连线简单,价格低廉,不需要复杂的外围电路,只需一个电位器调节液晶的对比度即可,液晶可以直接由5V电压供电,不像nokia5110液晶一样需要3.3V电压,大大简化了电源模块的设计,降低了系统成本,并在液晶模块设计了一个开关,方便设置温度后关闭液晶,配合MSP430的低功耗和多种省电模式以达到超长待机。
软件部分采用经典的模块化设计,面向过程,方便代码复用,使用IAR Embedded Workbench作为集成开发环境进行软件开发。温度传感器模块包括DS18B20初始化函数,DS18B20读函数,DS18B20写函数,温度转换函数,温度采集总体函数等;按键模块包括读按键函数;液晶显示模块包括液晶写数据函数,液晶写命令,液晶初始化函数,液晶显示总体函数等。总体程序框图如图3。
图3 整体程序框图
由于采用一般的阈值算法时如果温度处在阈值附近时会使继电器反复导通断开,缩短系统的使用寿命,所以该系统的温度控制算法采用的是工业生产中较常用且成熟的PID算法。PID算法三个参数分别为比例系数P、微分系数D、积分系数I。增大比例系数可以加快系统调节速度,增大积分系数可以减小系统无差度,实现对高阶系统的无差跟踪,增大微分系数则可以实现超前控制提前关闭继电器,防止过加热。合理调节这三个系数就可以实现温度控制的快速性,稳定性,准确性要求。算法框图如图4。
图4 PID算法框图
该系统采用MSP430F169为主控芯片,采用单总线的DS18B20温度传感器实时采集环境温度,采用矩阵键盘设置期望的温度范围,并将结果显示在LCD1602A液晶上。经实验表明,该系统的控制精度可达0.5摄氏度,控温范围为-50摄氏度到120摄氏度,可满足各个领域中对温度控制范围和精度的要求。
[1]朱定华,戴汝平.单片微机原理与应用[M].北京:北方交通大学出版社,2003.
[2]徐仁贵,廖哲智.单片机微型计算机应用技术[M].北京:机械工业出版社,2001.
[3]刘亚利,敬岚,乔卫民.基于MSP430F149型单片机的智能温度控制系统[J].计算机工程与设计,2006,27(6):1062-1065.
[4]马江涛.单片机温度控制系统的设计及实现[J].计算机测量与控制,2004,12(12):1219-1221.
[责任编辑 郑丽娟]
Researchon Universal Temperature Measurement and Control System Based on MSP 430 Single Chip Microcomputer
Wang Helin1Zhang Yanpeng2
(College of Information Engineering,Chang'an University,Xi'an 710021; 2.School of Electrical Engineering,Suihua University,Suihua,Heilongjiang 152061)
The system uses the commonly used DS18B20 temperature sensor in life to collect the temperature,the measurement accuracy of 0.5 degrees Celsius.Use MSP430F169 as the master chip driver sensor,and equip with LCD1602A liquid crystal displaying temperature,by the micro switch set the required temperature.By the PID algorithm to control the work of heating devices,the system has a simple structure easy to operate and so on,suitable for a variety of environments.
DS18B20;MSP430;temperature measurement and control;PID
TP368.1
A
2095-0438(2017)05-0153-03
2016-12-30
王鹤霖(1995-),男,黑龙江绥化人,长安大学信息工程学院电子信息工程专业2014级学生,研究方向:嵌入式系统;张艳鹏(1979-),男,黑龙江穆棱人,绥化学院电气工程学院副院长,讲师,研究方向:嵌入式技术、信号处理技术。