APP下载

自动称重系统的设计与实现

2010-12-21李秉荣刘夫云王乔义蓝毓胜马永辉

电子器件 2010年2期
关键词:PC机串口电阻

李秉荣,刘夫云*,程 雄,王乔义,蓝毓胜,马永辉

(1.桂林电子科技大学机电工程学院,桂林 541004;2.右江矿务局, 桂林541004)

地磅是一种运用比较广泛的称重仪器,也称为汽车衡。目前,我国很多地方仍使用传统地磅,采用人工填写单据、报表的方式来记录数据。这种工作方式安全性差,容易出错,效率低下,难以满足现代生产经营的要求。因此,针对国内地磅称重系统自动化程度不高的现状,本文设计了一套地磅称重系统,将传感器、单片机、A/D转换芯片、计算机及数据库有效的结合起来,实现了称重数据的自动采集、自动处理和自动存储,为企业的现代化管理提高效率。

1 称重系统总体方案设计

首先,利用由电阻应变式传感器组成的测量电路测出压力信号,经过信号的放大、滤波,然后以模拟信号的方式传送到A/D转换器。其次,将经A/D转换后的的数字信号由单片机传送给上位机。最后,在上位机以MyEclipse6.0.1 为开发环境,构建一个地磅信息管理系统,用于接收、显示并存储相关信息。具体方案如流程图1。

图1 总体方案设计流程图

1.1 系统硬件设计

1.1.1 电阻应变式传感器的测量电路

电阻应变式传感器通常采用桥式测量电路。它由箔片式电阻应变片电阻R1、R2、R3、R4组成。电桥的一个对角线接工作电压E,另一个对角线接输出电压Uo。在测量重量之前,调节滑动式线性可变电阻器Rp1, 当载荷为0 时, 输出为零。测量电路如图2[1-10]所示。

图2 电阻应变式传感器的测量电路

1.1.2 差动放大电路

由于传感器输出的模拟信号比较微弱,需要放大一定的倍数才能满足A/D转换器的要求,这里采用一种典型的差动放大电路,它由UA741和电阻组成。差动放大电路如图3[2-11]所示。

图3 差动放大电路

1.1.3 单片机与PC机串口通信及A/D转换电路

(1)单片机与PC机的串口通信采用RS-232C串行通信标准接口, RS-232C总线接口芯片种类很多,这里使用MAXIM公司生产的MAX232 芯片实现TTL和EIA之间的电平转换,其接线电路如图4所示。需要注意的是由于该工作电路对电源噪声比较敏感,为了提高器件的抗干扰能力,这里采用了1.0 μF电容连接+5 V电源去耦。同时,在PCB布线时,电容应该尽可能的靠近芯片。

(2)A/D转换芯片采用ADC0832,这款芯片具有8位分辨率,双通道A/D转换,输入输出电平与TTL/CMOS兼容, 5 V电源供电时输出电压在0 ~5 V之间,工作频率为250 kHz,转换时间为32 ms,功耗为15 MW等优点。适合本系统的要求。其与单片机的连接电路图如图4[3-4]所示。

1.2 实验结果

实验采用mpx4115 压力传感器来测量系统的精度,该传感器承受压力的线性区间为15 kPa~115 kPa。测量时补偿值为9.3 kPa,即y=[(115-15)/(243-13)] *X+9.3。其中y—压力, X—经 A/D转换后的数字量。通过随机对10组数据进行测量,其实验数据如下表1所示。

表1 实验数据

图4 单片机与PC机串口通信及A/D转换电路

通过上述实验数据可知,该系统的测量精度在0.1 ~0.3之间。

1.3 系统软件设计

该系统采用RS-232C串口通信技术,以MyEclipse6.0.1为开发环境,通过Sun公司提供的Java中的comm.jar包,完成单片机与PC机的串口通信,编制出了地磅称重管理系统可视化软件。

1.3.1 RS-232串行通信接口

RS-232是目前最常用的一种串行通信接口,被定义为一种低速率串行通信标准,最大传输距离在50 m左右。采用RS-232串口通信能够满足设计的要求。

1.3.2 Java与COM口的串口通讯

Sun公司的J2SE中并没有直接提供任何一种串行通信协议的开发包,而是以独立的jar包形式发布在java.sun.com网站上的comm.jar,称之为Java Communication API,它是J2SE的标准扩展。comm.jar提供了对常用的RS-232串口通信的支持。与comm.jar包一起的还有两个重要的文件:win32com.dll和 javax.comm.properties。 comm.jar提供了通信用的java API, win32com.dll提供了供comm.jar调用的本地驱动接口, 而 javax.comm.properties是这个驱动的类配置文件[5]。

Java读写COM口主要是调用Javax..comm包中的comm.API函数。在初始化波特率、数据位、停止位和奇偶校验的同时,将输入输出数据流和该串口建立一个映射,串口的输入输出操作就直接反映在输入流和输出流上。通过CommPort类的get-InputStream()和getOutputStream()方法取得端口的输入流和输出流[6]。

1.3.3 Java与串行口通讯的软件实现

串口读写数据的流程图如下图5所示。

图5 向串口读写数据流程图

串口读写程序如下所示:

/*打开并初始化串口程序*/

public void serialPortInitialize(){

portId=CommPortIdentifier.getPortIdentifiers(“COM 1”);//获取通信端口COM1

serialPort=(SerialPort)portId.open(“ serialComm”,2000);//打开端口

serialPort.setSerialPortParams(1200, //波特率1200

SerialPort.DATABITS_8, //数据位8位

SerialPort.STOPBITS_1, //停止位1位

SerialPort.PARITY_NONE);//无奇偶校验位

}

/*从端口读取数据*/

InputStream input=serialPort.getInputStream();

Input.read(…);

/*往端口写数据*/

OutputStream output=serialPort.getOutputStream();

Output.w rite(…);

1.3.4 单片机与PC机的通信协议

单片机端:单片机先发送0x00给PC机,并且等待PC机的回复,当接收到PC机发送来的数据是0x00时,单片机开始向PC机发送数据。当接收到PC机发送来的数据是0xff时,单片机不执行任何操作,并且重新发送0x00 给PC机,等待回复。PC机端:点击软件连接按钮,接收单片机发送来的数据,当接收到的数据是0x00时,向单片机发送0x00,并且开始接收单片机传发送的数据,同时PC机端通过设置数据校验来判断数据是否接收完整,当数据接收不完整时,向单片机发送0xff,丢失该数据,并且重新接收数据。

2 称重系统软件的结构、功能及界面

2.1 称重系统的结构

该系统主要包括5个模块,即串口通信模块、数据录入模块、查询打印模块、权限管理模块和数据统计模块[7-12]。

2.2 各模块的功能

(1)串行通信模块

该模块的功能实现了单片机与PC机的串口通信,实现了数据的传输。

(2)数据录入和网络通信模块

该模块用于记录编号、车号、空车时间、重车时间、货物名称、型号规格、毛重、皮重、净重、单价、过磅费、金额、供货单位、收货单位、司机、操作员和备注等数据。其中毛重、皮重是通过串口自动接收数据,不需要人工记录。同时,通过Java的socket类实现将记录的数据实时的传输给中心服务器,便于通过企业内部网或Internet查询相关数据。

(3)查询打印模块

该模块用于客户打印称重的相关数据。

(4)权限管理模块

该模块实现了不同的管理员对数据库操作的不同权限,其中超级管理员可以添加或者更改操作员,可以实现对数据库的任何操作,而操作员只有记录数据的功能。

(5)数据统计模块

该模块用于记录日统计数据,月统计数据和季度统计数据。

2.3 称重信息管理系统的软件界面

本系统的软件界面如图6所示。

图6 系统的软件界面

3 结论

本文系统的介绍了地磅称重系统的硬件和软件设计方法,其中硬件部分介绍了组成该系统的三个重要的电路,软件部分介绍了Java程序中的comm.jar包。通过 RS-232串口,实现了Java与单片机的串口通信。最后,笔者通过Java语言开发了一个地磅信息管理系统。整个系统实现了数据的采集、处理、传输、显示、通信、存储、查询和打印等功能,能够满足企业对称重的自动化需求。

[ 1] 祝常红.数据采集与处理技术[ M] .电子工业出版社.2008.1.

[ 2] 张红润,刘秀英,张亚凡,等.单片机应用设200例[ M] .北京航空航天大学出版社.2006.7.

[ 3] AT89系列单片机技术手册[ S] .北京威立电子技术有限公司.14-23.

[ 4] 张大明.单片机微机控制应用技术[ M] .机械工业出版社.2006.8.

[ 5] 张思民,梁维娜.Java程序设计实践教程[ M] .清华大学出版社.2006.8.

[ 6] 李良, 朱善安.基于Java的串口通信[ J] .电子器件, 2007(4):714-720.

[ 7] 李钟蔚,马文强,王殊宇.Java项目开发实例自学手册[ M].人民邮电出版社.2008.9.

[ 8] 吴桥.汽车称重管理信息系统的开发与应用[D] .浙江:浙江大学, 2006.

[ 9] 王华奎,马建芬,赵菊敏,等.电子电路设计[M].电子工业出版社.2004.8.

[ 10] 周广辉.基于无线网络与Internet的坏境监测系统[ D] .大连:大连理工大学, 2005.

[ 11] 童诗白,华成英.模拟电子技术基础[ M] .高等教育出版社.2001.1.

[ 12] 王立峰,延伟东,章华.软件工程理论与实践[M].北京:清华大学出版社.2002.

猜你喜欢

PC机串口电阻
浅谈AB PLC串口跟RFID传感器的通讯应用
电阻大小谁做主
巧测电阻
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
电阻焊
VC.NET下实现dsPIC单片机与PC机的通信
USB接口的多串口数据并行接收方法探索
基于multisim13.0负电阻在电源中作用的仿真
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信