单片机温度采集电路的设计与虚拟仿真
扫描二维码
随时随地手机看文章
0 引言
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而大大提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经常会遇到的控制问题。
目前应用的温度检测系统大多采用由模拟温度传感器、多路模拟开关、A/D转换器及单片机等组成的传输系统。这种温度采集系统需要大量的测温电缆,才能把现场传感器的信号送到采集卡上.安装和拆卸繁杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也比较大,不利于控制者根据温度变化及时做出决定。针对这种情况,本文提出一种采用数字化单总线技术的温度采集系统,并利用Proteus和KeilμVision 3软件对设计电路进行综合虚拟仿真,实现了温度实时测量和显示。
1 方案论证
1.1 DS18B20简介
DS18B20是美国DALLAS半导体公司最新推出的一种数字化单总线器件,属于新一代适配微处理器的改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55℃~125℃,在-10~+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字量方式串行输出,大大提高了系统的抗干扰性。因此,数字化单总线器件DS18B20适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率等方面都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
1.2 Proteus和KeilμVision 3简介
Proteus是英国Labeenter electronics公司研发的EDA工具软件。Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界最先进、最完整的多种型号微控制器系统的设计与仿真平台。它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整电子设计与研发过程。Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。
KeilμVision 2是Keil公司关于8051系列MCU的开发工具,可以用来编译C源码、汇编源程序、连接和重定位目标文件和库文件、创建HEX文件、调试目标程序等,是一种集成化的文件管理编译环境。它集成了文件编辑处理、编译连接、项目管理、窗口、工具引用和软件仿真调试等多种功能,是相当强大的开发工具。
1.3 Proteus与Keil的连接设置
(1)检测TCP/IP。
(2)复制Proteus安装目录下的MODELS文件夹里的vdm51.dll到keilc/C51/bin目录。
(3)修改Keil安装目录下的tools.ini,添加TDRV4=BIN\VDM51.DLL。
(4)在Proteus中画好原理图,在“Debug”菜单中选择“Use Remote Debug Monitor”。
(5)在Keil中打开一个工程,右击Target1,选择Op-tions for Target‘Target 1’。在打开的对话框中选择“De-bug”选项卡,选择使用Proteus VSM Emulator仿真(如图1所示),单击“Ok”完成Debug设置。
这样Proteus和Keil就连接好了,仿真结果可以在Pro-teus或者Keil中看到。
2 电路仿真
该电路系统采用“一线总线”数字传感器DS18B20实现温度的采集,采用LM016L液晶显示器进行数据显示。首先启动Proteus并从Proteus元件库中选择需要的元件绘制电路图并设置相应元件的参数值,接口电路原理图如图2所示。
电路绘制完成以后,打开KeilμVision 2新建一个项目,命名为cewen.uv2。选择Project菜单下的Select Device forTarget选择AT89C51。然后单击Project菜单下的Optionfor Target‘Target1’项,选择Debug,使用Proteus VSM Em-ulator仿真。然后新建一个源文件cewen.c,写入源程序(只给出读取温度函数):
最后将该源程序文件加入到当前工程项目中进行编译,编译通过后单击Debug菜单下的Start/Stop Debug Ses-sion,这时切换至Proteus界面会发现电路已经启动仿真,并可以看到仿真结果。图3,图4分别是对温度传感器进行示波器显示的接口电路和显示结果。
3 结论
本文设计了一种新的温度采集系统,该系统能通过扩展对多点温度进行实时巡检,各个测试模块能各自实现自己的功能。同时采用Proteus和Keil结合仿真的方法对设计的单片机测温系统进行了虚拟仿真和性能检测,得到了比较好的仿真结果和分析结果。结果证明采用Proteus和Keil结合仿真的可以大大简化硬件电路的设计过程,可以降低单片机系统的开发成本、提高效率和开发速度,具有很好的实际应用和指导意义。