C8051F040单片机的数据采集与控制系统设计
2013-08-26史荣燕陈婉荣
史荣燕,许 晖,康 健,陈婉荣
(西北工业大学航海学院,陕西 西安 710072)
0 引言
集中供水系统要求能够采集到供水站现场的数据信息,通过通信接口将信息传输到控制中心,同时接受控制中心的数据指令,进行相应的输出来控制水泵。控制系统也可以根据供水现场相应的控制开关信号,控制水泵的运行。
以C8051F040单片机为核心构成供水数据采集和控制系统,通过对工业现场的实际需求进行分析,制定和设计完成相应的硬件和接口系统,采用GPRS[1]和串口将数据传输到控制中心。同时,根据环境适应性原理,提高产品的可靠性和安全性,系统经过测试能够很好地满足供水现场的使用需求,降低了工程成本。
1 系统总体设计
系统以C8051F040单片机[2-4]为核心,总体原理如图1所示。由A/D取样模块、I/O隔离输入模块、负载隔离驱动模块和串口通信模块组成。变送器采集供水管道中的压力、流量等参数,通过4~20 mA的电流信号传送到采集模块,取样电路处理成0~3.3V电压供给单片机模拟量采集口。I/O隔离输入模块将工业现场的控制开关量传送到单片机,隔离负载驱动模块是输出相应的水泵控制信号。单片机通过串口通信和GPRS上网相结合的方式,将采集到的信息传送到控制中心PC机上。
图1 系统总体原理
2 系统硬件
2.1 取样电路
现场变送器输出的压力、流量信号为4~20 mA的电流,电流信号可以通过较远的距离传输,减少供水现场的干扰对其影响,采样电路原理如图2所示。根据运算放大器的原理[5],可知:
又有Vp≈Vn=Ii×R4,代入上式中,通过取R1=18kΩ,R5=47kΩ,R4=150kΩ,调整Rw1和Rw2滑动变阻器,使Vf=7.94V,Rf=4.88kΩ,代入可得:
从而实现了将4~20mA的电流信号转换成0~3.3V的电压信号。
图2 采样电路原理
电路将输入电压转换为0~3.3V,很好地利用了单片机的A/D采样位数。R4就是4~20mA的I/V转换电阻,由于运放的作用,该电阻可以取较小的值,减轻了前方传感变送器的供电要求。考虑到传感变送器通过较远距离传输信号,为防止引入干扰信号,加有输入滤波电容器C1,同时二极管D1对输入信号可能出现的危险电压进行保护。
2.2 数字隔离输入
图3 隔离输入电路
外部供水现场输入的数字开关量,通过光耦TPL521进行隔离输入单片机,数字隔离输入电路如图3所示。外部输入的开关量高电压为24V,LED上压降为1.5V,原边流过的电流为5mA,原边限流电阻的大小为(24-1.5)/5=4.5kΩ,取一个常用电阻值4.7kΩ。光耦的电流转移比为50%,则隔离输出端的上拉电阻大小Rc=[(3.3-Vce)/2.39]kΩ,为三极管的饱和压降,近似为0V,得到Rc=1.38kΩ,考虑到三极管充分进入饱和状态,可以取Rc为2kΩ。经测试,该电路很好的实现对工业现场输入噪声的抑制,使单片机正常稳定工作。
2.3 中断响应电路
中断响应电路由DM7425连接外围输入构成,如图4所示。DM7425由2个4路异或门构成,当外部没有输入的时候,DM7425输出电压为高电平,当其中一个端口输入高电平,DM7425输出低电平,产生一个下降沿信号,单片机通过捕捉该下降沿信号,产生一个中断。
图4 中断响应电路
2.4 隔离输出电路
图5 隔离输出电路
单片机通过将采集到的工业现场信号传送到控制中心PC机上,最终由控制中心或工业现场操纵人员通过手动方式将命令发送给主控单片机,单片机通过光耦隔离后将信号传输给外围继电器,通过继电器的开闭来实现对水泵的现场控制 ,隔离输出原理如图5所示。输出隔离采用TPL521光耦,单片机相应输出端口接上拉电阻连接至光耦前端,增加光耦输入端电流,使转移到输出端的电流可以维持发光二极管正常发光,输出端通过连接IRF540 MOS管的门级,控制外围继电器的导通,LED灯指示相应的输出是否正常。
2.5 通信接口和防雷击设计[6]
工业现场采用RS232串行通信接口,连接相应的GPRS无线上网模块,通过设定GPRS模块的相应参数,将现场的信号传送到控制中心。考虑到工业现场环境恶劣,易受雷击等影响,将电路板进行合理敷铜设计,采用铁皮外壳进行屏蔽保护。同时,将电路板的电源地通过螺栓与基座相连接,实现接地保护。
3 系统软件设计
系统可以工作在手动、软手动和自动状态3种模式下,系统工作流程如图6所示。工作于手动模式下,控制板只进行数据信号采集,将其发送到控制中心PC机上,控制中心不能控制相应的输出,只能由工业现场操作人员手工操作按钮进行输出控制。
图6 系统工作流程
软手动控制主要用于系统调试和故障排查,当选择软手动状态的时候,系统正常运转,同时采集数据信息,此时,主要由上位软件主面板上的控制按钮进行输出控制。当选择自动状态时,上位软件根据采集到的信息,进行相应的逻辑判断并输出相应的控制信号,此时,系统处于自动工作状态,无需人工干预。
LabVIEW[7]是由NI公司开发的功能强大的图形化界面编程软件,上位界面采用LabVIEW编写,通过VISA读写串口的方式来进行数据采集和命令发送,并将采集到的数据信息进行存储,监控软件界面如图7所示。控制板程序在新华龙公司的Silicon Labs集成开发环境下编写和调试,加入了掉电保护和看门狗监控,确保运行过程的安全与稳定。
4 结束语
设计的集中供水监测和控制系统,完成了系统的硬件设计和相应上位软件的开发,同时结合工业现场的环境,进行了环境适应性和可靠性设计,经过长时间的测试,系统可以良好稳定地工作,达到了设计的性能指标。
[1]韩 冰,李芬华.GPRS技术在数据采集与监控系统中的应用[J].电子技术,2003,(8):26-29.
[2]童长飞.C805l系列单片机开发与C语言编程[M].北京:电子工业出版社,2006.
[3]潘琢金,施国君.C8051Fxxx高速SOC单片机原理及应用[M].北京:北京航空航天大学出版社,2002.
[4]万光教,孙九安,蔡建平.SoC单片机实验、实践与应用设计——基于C8051F系列[M].北京:北京航空航天大学出版社,2006.
[5]华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社,2006.
[6]李 静,陈广超.数据采集模块防雷击措施的改进[J].中氮肥,2000,(3):51-51.
[7]陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.