基于VB的计算机温度采集系统设计与实现
1 系统功能及特点
本系统用单片机对整个测量电路进行管理和控制,使得整个系统智能化、体积小、功耗低、使用电子元件较少,内部配线少,成本低,制造、安装、调试及维修方便。该系统中单片机作为下位机,完成测温任务,测量结果可在本地显示,也可通过下位机与上位机(PC机)通讯,给出结果和提示信息。而上位机与下位机大多是通过PC机的RS-232串行接口实现通信。Visual Basic是可视化面向对象的采用事件驱动技术的结构化程序设计语言,本系统上位机是在Windows环境下利用Visual basic开发微机通信程序。
2 系统基本原理
系统结构如图1所示,其中,计算机要求能够运行Windows98或更高版本)操作系统和开发环境VB6.0,具有标准的RS232串口,主要功能为数据采集处理和系统控制,是人机交互的平台。
现场温度采集点共有4路,采用AD590采集温度送到单片机的A/D转换器转入端,测量范围最大值为50度,单片机定时采集温度信号,并按串行通信协议打包构成数据帧。在微机中采用VB6.0编程,并选用MSCOMM控件进行串行口通讯。MSComm控件是Microsoft提供的扩展控件,用于支持VB程序对串口的访问,同时支持查询方法和事件驱动通讯的机制。事件驱动通讯是交互方式处理串口事务的一种非常有效的方法,特别适合Windows程序的编写。因此用其实现微机串口的数据通讯相当简单,以很少的程序代码就可以轻松实现串口的访问和数据通讯。
3 硬件设计
3.1 测量电路设计
AD590将温度转换成相应的电流后,需要有电流电压转换电路(如图2),其中电容C起滤波作用。该电路中,考虑到测温范围是0度―50度,而ADC0809输出电压范围为0-5V,故电阻R2取3.3千欧,R3取15千欧,其中R2是滑动变阻器,精度高于R3,电阻R4取100,R5取50千欧,R4是滑动变阻器,精度高于R5,电阻R6取33千欧。运放是温度电压变换电路,为了测试方便,设计时将0度时的输出电压定为0V,每升高一度输出电压上升100mV,与电压之间的关系为:U=K(T-T0)V式中,K为比例系数,K=0.98V/度,T为环境温度,单位为度,T0―测温下限0度。当T=+50度和T=0度时,变换电路输出电压上限为Umax=5V,电压下限为Umin=0V,实现的办法是:首先调整R2,使得I1=273.2uA,当温度为0度时,通过AD590的电流I2=273.2uA,此时I3=0uA,R4、R5上无压降,即输出电压为0V;当环境温度为50度时,流过AD590的电流为323.2uA,此时,I3=I2-I1=50uA,调整R4,使R4+R5=98千欧,有(R4+R5)*I3=4.9V。同样,可以计算出其余各温度所对应的输出电压。
3.2 模数转换接口电路设计
本系统以89C51芯片作为主芯片,管理和控制整个系统。该芯片集成度高,兼容8051单
处机,不同的是片内有4KB的ROM,为PEROM(FLASH存储器)。A/D转换器的种类很多,目前
评论