基于DS18B20的嵌入式温度控制系统研究
摘要:介绍了用温度传感器DS18B20和嵌入式系统RCM2100构成的温度测控装置,DS18B20不需要复杂的信号调理电路和A/D转换电路就能直接与微处理器完成数据采集和处理。该装置具有操作方便、精度高、抗干扰能力强的优点,可根据不同需要满足于各种场合。
关键词:DS18B20嵌入式数据采集处理温度测控
1 引言
控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比仍然有着较大的差距。目前,我国在这方面总体技术水平处于 20 世纪90年代中后期水平,控制参数大多靠人工经验及现场调试来确定。
2 系统的功能
利用RCM2100嵌入式系统实现水温的智能控制,使水温能够在1-100 摄氏度之间实现控制调
节。利用仪器读出水温,显示在温度显示模块上,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或制冷),还可以在环境温度降低时实现自动控制,以保持设定的温度基本不变。
系统模块分为CPU模块(RCM2100中的Rabbit2000)、DS18B20模块,显示模块,继电器控制模块,键盘输入模块五个基本模块(图1)。DS18B20可以被编程,所以箭头是双向的,CPU首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过CPU来处理数据。数据处理后的结果就显示到显示模块的数码管上。
3 系统硬件设计
3.1RCM2100简介[1]
美国Z-WORLD公司的RCM2100(图2)系列嵌入式开发系统核心由8位微处理器硬件和嵌入式软件构成,片内资源相对较少,相应的软件可以完成所需的网络通信和控制功能。RCM2100开发板由5V直流供电,温度范围为-40度到+70度,非常适合应用于工业控制环境。它集成了速度达30MHz的Rabbit2000微处理器,512K Flash RAM,512K SRAM和RJ-45以太网接口。有5个8位并行口,分别以PA、PB、PC、PD、PE表示,可分别用于和以太网卡控制芯片、RS485、RS232串行口进行数据通信,图3显示了RJ-45以太网口J4的引出线。注意用在这里的连接器间的编号方式有两种标准,编号是相反的。
3.2 温度传感器DS18B20特性与原理[2]
由DALLAS半导体公司生产的DS18B20型单线智能温度传感器(图4),属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集,传感器与微处理器连接时仅需要一条口线即可实现二者的双向通讯,不存在并行线的干扰,整体上提高系统的可靠性,简化了电路的复杂度!
从DS18B20得到的温度值是HEX码,需要转换成能输给译码器显示的BCD码。首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度复制到单片机的RAM中,里面已经是温度值的HEX码了,然后转换HEX码到BCD码,分别把小数位,个位,十位,百位的BCD码存入RAM中。
3.3键盘部分分析:
这一部分多用到软件设计,从而简化了键盘电路,其实质是单线调节,不但使抗干扰能力增强、传输距离远,也减少了键盘设计的造价,这样特别适合应用于工业厂房内等恶劣工作环境和农业生产中扰动特别大的环境中。
设计按键功能介绍
⑴“INPUT” PE2,按下INPUT键,数码管温度显示停止,显示的数字变的比以前亮。调节好后,按INPUT退出。这时数字变的又暗了,数码管继续显示当前温度。
⑵“HIGH” PE3,按HIGH键来调高当前所需温度值,即调高控制值。
⑶“LOW” PE4,按LOW键来调低当前所需温度值,即调低控制值。
3.4继电器
由于继电器在控制电路中有独特的电气、物理特性,以及断态的高绝缘电阻和通态的低导通电阻,我们选用继电器来控制加热/制冷电路。
4 软件程序设计
本设计采用动态C语言和Rabbit2000环境下的汇编语言编写程序。
动态C语言是基于Windows95/98/NT及Linux平台的Rabbit应用软件的完整开发系统,它作为应用程序运行于IBM.PC兼容机上,是Z.World公司为基于Rabbit微处理器的嵌入式系统而设计的专门的C编译系统,具有非常快的编译和事实环境的交互调试特征。动态C包含了所有底层的I/O驱动函数库,大大减轻了软件开发的工作量。它具有实时多任务内核,提供socket级TCP/IP编程,支持各种网络协议(如HTTP、FTP、SMTP、PPP等)。应用动态C进行软件开发,无需仿真器和编程器,开发成本大大降低。另外,动态C直接对存储器编译,函数及库都是被动态地编译与连接的,因此具有极大速度优势。动态C的编译窗口见图5所示。华为linux和windows的区别[3]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论