嵌入式系统
&’()*’+ ,-.’*/ 0 122+/
《电气自动化》
!""# 年第 $% 卷 第 $ 期
基于 !"#$%&’ 的温度测控系统设计!
"()*(+,-.+( /(,0.+()(1- ,12 341-+45 %60-() 7,0(2 41 !"#$%&’
武汉工程大学电气信息学院 !武汉 "#$$%" & 杨 帆 王 烨 李国平 赵党军
! !"#$% &%’()*+’,- ./ 0%1’%))*’%12 !"#$% 3"4)’ "#$$%#& ’()*+ , -+*. /+* 0+*. -1 2) 3456)*. 7(+5 8+*.94*
湖北国土资源职业学院 !荆州 "#"$$$ & 张敬泉
7(+*. :)*;4+*
! 3"4)’ 5$%1 $%6 7)+."*8)+ 9.8$,’.%$:2 ;’%1<#." 3"4)’ "#"$$$& ’()*+ ,
摘 要:设计了一种基于单片机和虚拟仪器的温度控制系统,主要实现对给定点的温度控制。系统由两大部分构成,温度采集控制部分和
温度显示部分。温度采集控制部分的核心是单片机 <=>?@AB,分为四个模块进行设计:测温电路、模数转换电路、输出控制电路、
串口通讯电路。温度显示部分用虚拟仪器实现,不仅显示温度的历史波形,还显示实时温度值,方便对被测信号分析、处理。经测
试该测温系统性能稳定,在 "AC 的精度可达 D EC 。
关键词:温度测控系统 单片机 虚拟仪器
’()*+,-*:=()F G1F).* )*HI5G4J1F + H1K61I+H4I1 K1+F4I1K1*H +*G J5*HI5L FMFH1K N+F1G 5* 2+NOPQ0 +*G F)*.L1 J()6 K)JI5J5K64H1I& J5*HI5LL)*.
H(1 5H(1I )F H(1 G)F6L+M
R)S1GT65)*H H1K61I+H4I1U =(1I1 +I1 HV5 K+95I 6+IHF )* H(1 G1F).*& 5*1 )F H(1 H1K61I+H4I1 +J;4)F)H)5* +*G J5*HI5L&
5R H1K61I+H4I1U P* H(1 H1K61I+H4I1 +J;4)F)H)5* +*G J5*HI5L& H(1 J5I1 J()6 )F H(1 @’W <=>?@ABU 81F).* )F G)X)G1G )*H5 R54I K5G4L1FY H(1
J)IJ4)H 5R G1H1JH)*. H1K61I+H4I1& +*+L5.TG).)H+L J5*X1IF)5* J)IJ4)H& 54H64H J5*HI5L J)IJ4)H R5I H(1 J5*HI5L& F1I)+L J5KK4*)J+H)5* J)IJ4)HFU
01 4F1 X)IH4+L )*FHI4K1*H H5 G)F6L+M H(1 H1K61I+H4I1& *5H 5*LM F(5V H(1 ()FH5IM 5R H1K61I+H4I1 V+X1& +LF5 I1+LTH)K1 H1K61I+H4I1U PH )F
J5*X1*)1*H H5 +*+LMZ1 +*G 6I5J1FF1F H(1 K1+F4I1G F).*+L )* H(1 V+X1R5IK G)F6L+MU =(1 H1K61I+H4I1 K1+F4I1K1*H +*G J5*HI5L FMFH1K
N+F1G 5* 2+NOPQ0 +*G F)*.L1 J()6 K)JI5J5K64H1I (+F + FH+NL1 61IR5IK+*J1& +H "A G1.I11F ’1LF)4F H(1 +JJ4I+JM I1+J(+NL1 D EC U
./012+3)Y H1K61I+H4I1 K1+F4I1K1*H +*G J5*HI5L FMFH1K F)*.L1 J()6 K)JI5J5K64H1I
[ 中图分类号 \ =]#^>
[ 文献标识码 \ _ [ 文章编号 \ E$$$T#>>^ ! B$$? , $#T$$A#T$#
X)IH4+L *FHI4K1*H
由于单片机具有集成度高、功能强、体积小、价格低、抗干扰能
力等优于一般 ’]‘ 的优点,因此,在要求较高控制精度和较低成
本的工业测控系统中,往往采用单片机作为数字控制系统取代模
拟控制系统 [ E \。本文介绍了一种基于 <=>?@AB 的温度测控系统设
计方法。组建的实际系统经运行测试,性能良好。
8 系统的组成及工作原理
系统由温度采集控制和温度显示两大部分构成 [B a # \,用虚拟仪
器实现对被控温度的显示 [ " a A \。下位机的核心是 <=>?@AB单片机,
W
器,关键在于计算可调电阻 7EE
。图中 ’ 点提供 BU AO 参考电压
源。假如设定温度范围为 $ e >$C ,放大后温度数据取值范围为
$ e BO;则单片机显示温度数据等于单片机采样结果乘上 >$ 后再
除去 B$"。差分电压信号 9=>
放大成为预采样为 $ e BO 的标准信
!基金项目:基于虚拟仪器的现代集成测控装置研制 ! B$$^$B%E ,
号的增益为:? f
B$$$
>$
f BA
!"#$%&’$(" )*%+,(%’+- . /0
《电气自动化》
!""# 年第 $% 卷 第 $ 期
嵌入式系统
&’()*’+ ,-.’*/ 0 122+/
由 !"#$% 特 性 可 知 ! &
’() ’*!
"!
+ ,, 这 样 可 求 出 ",, &
输出控制模块、串口通讯模块以及用 9:;8<=> 设计的波形显示模
块,下面介绍主控模块的设
$%-.) /// 欧姆。
!" ! 输出控制电路设计
输出控制电路主要目的是使温度控制在设定值,本次用风扇
和灯泡模拟整个控制过程,灯泡用于加热,使小环境内的温度升
高,风扇用于散热使小环境内的温度降低。
本设计使用三极管作驱动灯泡和风扇的放大电路。由于风扇的
驱动电流为 %) ,-!,而灯泡的驱动电流为 %) -#!,而单片机引脚的输
出电流约 ,% 0 $%1!2 而且 .(3-$ 芯片 4, 口的引脚串联了 $%5 的电
阻,所以根据不同的情况,每个驱动电路都必须接上拉电阻,这样单
片机才能驱动风扇和灯泡。其输出控制电路如图 ’ 所示。
计。系统软件设计框图如图
- 所示。
#" $ 系统主控程序设
计
设 计 选 用 的 是
!B.(3-$ 单片机,采用 ? 语
言进行编程,其中 CD1E 中保
存的是采集到的实际温度,
给定值为’-6 。系统初始化阶
段,将单片机的定时器 B, 设置
为工作方式 $,用于产生串行
通信 所需 的波 特率 ,$%%; F G,
串行口设置为方式 ,。
首先将采集到的温度信息
保存到全局变量 CD1E,然后与
给定值 ’- 度进行比较,在此基
础上,启动 F 暂停 4,) % 或 4,) ,
口的风扇和灯泡 。进而对温度
进行实时控制。主程序框图如
图 # 所示。
" 结果及分析
将单片机测温系统通过串
口与 4? 通讯,用 9:;8<=>.) %
设计的波形显器显示温度。可
以直观的看到温度控制的变化
设当前的给定值为 ’-6 ,当温度小于 ’-6 时,4,) % 输出低电
平“
”,三极管 7, 截止,4,) , 输出高电平“
”,三极管 7$ 导通,灯
,
%
泡两端的电压为 -8,小灯泡发光,即加热;反之控制过程与上述过
程相反。由此可将温度控制在 ’-6 。
! 系统软件设计
系统软件设计包括两部分,一部分是单片机程序设计,用于实
现实时温度信号调理、检测、报警等控制功能;另一部分是基于
9:;8<=> 的虚拟仪器软件设计,用于再现历史温度曲线、实时温
度以及单片机与 4? 机的 ?@A 通讯程序。系统的软件主要由以下
几个模块组成,即系统的主控模块、数据采集模块、数据处理模块、
!" # $%&’()*’+% ,-(./+(*.0
应用电路设计
!""#$%& ’$()*$+ ,%-$./
《电气自动化》
0112 年第 34 卷 第 3 期
在双向协议的设计方案中,首先必须确定信息传输的设置方
式,主要包括对地址发送寄存器和数据发送寄存器中键入目标地址
及待发数据,通过对 ! " ! 矩阵键盘进行定义;当首次键入目的地址
值给地址发送寄存器,第二次键入待发数据的高 ! 位,第三次键入
待发数据的低 ! 位,这样两次键入的数据可组成一个待发的八位二
进制数,再通过可控分时 #$% 串行通信一次多数据的发送。
在项目设计中,仅采用一个八位二进制数来表示发送者及接
收者的身份识别码,但理论上地址位的长度是可以通过多个八位
二进制数无限扩充的,即理论上这样的通信方式可以通过地址寄
存器及分时多数据发送的设置挂接任意台从机。当然,数据信息也
同样可以按用户所需要的任意长的方式发送。
! 双向通信的框架结构及具体实现
双向通信的框架结构主要包括发送端和接受端,发送端又包
括对数据的采集,数据的整合处理及一次 #$% 发送多个数据三个
过程。接收端包括数据的接收,接收后对长数据的拆分及对拆分
后的地址和数据的判断处理应用。
本文研究的关键在于解决一主机多从机结构中多台从机与主
机之间的控制关系,尽管主机的绝对控制地位不可变更,但可以通
过 #$% 双向数据线的变换有效解决 #&’ 方向调整和和数据冲突
等问题。在控制关系上,引入了接下拉电阻使能线 ()*,每一台单
片机 + 主机或从机 , 想要发送数据只需拉高本机的使能线 ()*,从
而抢占发送数据的权限,其它所有单片机都会侦测到使能线 ()*
电平的变化。一般可分为是主机拉高还是从机拉高,可去实现不
同的功能。
处理后改变使能线 ()* 为输出 + 在常态下使能线 ()* 都为输入,
仅当有发送要求后改为输出 , 并拉高 ()*,让每一台从机都侦测到
()* 从而进入被动接收 + 常态下每一台从机的 #&’ 线都设置为输
入,#&% 线也为输入 , ,主机发出有用数据接收无用数据并抛弃,从
机都可接收到主机有用数据并进行身份识别和相应处理,这样就
实现了主机发出功能。
如果是从机要定向发送信息给主机或另一台从机,从机都是先
把数据发送给主机,在经过数据采集和处理后改变使能线 ()* 及
#&’ 线 + 常态下每一台从机的 #&’ 线都设置为输入 , 为输出并拉高
()*,主机侦测到从机动作后进行接收与前面数据发送一样,只是将
无效数据去交换有用数据 + 这时只有发送数据的从机的 #&’ 线是输
出,其它从机的 #&’ 线及主机的 #&% 线都是输入,这样在主机交换
数据时就能保证待发从机的数据能有效地送给主机而不是像主机
主动发出那样接收的只是无效数据 , 。在主机接收到从机发送来的
数据后分析地址位,如果是发送给自己的就进行数据应用并结束接
收状态而进入常态;如果分析完地址位是要转发,此时主机只需重
复执行发送程序,就能将数据发出到指定从机,从而实现从机与从
机之间的通信,而主机仅仅起到数据监控的目的。
" 结论
基于 #$% 通信的结构模型,本文提出一个单片机网络化协议规
范,在构建模拟时序状态下实现数据的有效传送和发、收身份识别。
通过双向 #&’ 及 #&% 的数据互换,以及 #)- 的时序控制和下拉电
阻使能线 ()*,实现了 $%) 单片机系统间主从式可控定向数据传
送,从而为实现单片机网络化管理和数据交换奠定技术基础。
参 考 文 献
. / 0 李荣正1 $%) 单片机原理及应用 + 第2版 , . 3 0 1 北京:北京航空航天大学
出版社,4**51 /*
. 4 0 李荣正1 $%) 单片机实验教程 . 3 0 1 北京:北京航空航天大学出版社,
4**51 /
. 2 0 李学海1 $%) 单片机实用教程 6 提高篇 . 3 0 1 北京:北京航空航天大学
出版社,4**41 7
. ! 0 刘和平1 单片机原理及应用 . 3 0 1 重庆:重庆大学出版社,4**41 /
如果是主机要定向发送信息给从机,主机在经过数据采集及
. 作者简介 0 王诚杰,工程师,计算机控制技术。
!上接第 "# 页 $过程如图 8 所示。
初始实验室环境温度为249 ,等待片刻,灯泡“亮”给 :&;7*
加热,到 : 点时系统检测的温度值已接近!;9 ,设计要求是一旦
超过!;度时灯泡就熄灭,风扇启动。< 段为系统的调节阶段,这个
过程约为/*秒,此时灯泡和风扇交替启停,所以系统检测到的温度
值振动的比较厉害。) 点之后系统将温度值稳定在!;9 ,即系统达
到稳定的过程需要5;秒,控制过程如图8 = /。
又人为的将环境温度提高到 5*9 ,这时启动系统得到的温度
控制的显示曲线如图 8 = 4 所示。这个过程中,只有风扇启动,给
:&;7* 降温。可以看出这时系统达到稳定的时间较短只要 4* 秒。
# 结语
实验证明,无论当环境温度高于还是低于 !;9 ,系统都可以
将温度最终控制在 !;9 ,其中降温的过程较快。控制效果较好。该
系统通用性较强 1 特别适用于实验教学,让学生亲临整个控制过
程,明白如何组建一个实际的控制系统,明确控制算法的作用,为
仪器规模,具有良好的灵活性、扩展性与友好的显示界面。
参 考 文 献
. / 0 张毅刚1 新编 3)# = ;> 单片机应用设计 + 第4版 , . 3 0 1 哈尔滨工业大学
出版社,4**2
. 4 0 杨帆,赵世平,黎会鹏1 基于单片机和虚拟仪器的温度测控系统设计 . ? 0
1 武汉化工学院学报,4**;,48 + ; , :5; @ 58
. 2 0 ABC DBCEF GHIJKCE LKF MHKJNCE LK 1 &NOKEC P &NQN>IJRNCS ’T : (NRISN
UNRJNVBSHVN 3ICKSIV #DOSNR ’T WNX YOKCE ZKVSHB> %COSVHRNCSO1 . ? 0 1 B[QBC\NO
KC \IRJHSNV,KCTIVRBSKIC,BC[ ODOSNRO O\KNC\NO BC[ NCEKCNNVKCE1 4**5 :!!7 @
!;4
. ! 0 &N]VB MKC^OICF )>BH[N 3BVO_B>>F #_BR (IXKCOICF
“
&NOKEC P [NQN>IJ6
RNCS IT B HONV KCSNVTB\N SI VNRISN>D \ICSVI> B VB[KI SN>NO\IJN HOKCE QKVSHB> KC6
”
OSVHRNCSOF
. ; 0 U #HC[K\,# 3BV\IF ? #BRKSKNV NS B>1 ‘>N\SVICK\ UICEHN BC[ ‘>N\SVICK\
KC $VI\1 %‘‘‘ #IHS_NBOS\IC 4**4F JJ1 487 @ 4a4
bION &BSB AHOKIC KC )>BOOKTK\BSKIC cKS_ bNHVB> bNScIV^O BC[ AH]]D LIEK\
O . ? 0 1
%‘‘‘ UVBCOB\SKICO IC #DOSNRO 3BC BC[ )DXNVCSNSK\OF
今后的实际工作奠定基础。与同类系统相比,极大地缩减了测试
/777F 42 + 2 , d /!8! @ /!87
!"#$%&’$(" )*%+,(%’+- . /0