韦兴平,车 畅,宋春华
(西华大学机械工程与自动化学院,四川 成都 610039)
数显转矩扳手是各种加工组装和设备维修中必不可少的工具。它以一定的转矩拧紧各种螺栓螺钉,以保证机械设备的可靠联接和正常使用[1-4]。数显转矩扳手通常具有预置报警、峰值保持和示值跟踪3种工作模式。其中预置报警模式使用最为频繁,即预先设定需要的紧固转矩,在拧紧过程中,当紧固转矩达到预定的转矩值时,发出声光报警,提示停止加力。在实际使用中,由于操作人员反应的滞后,紧固转矩往往超过预定的转矩值。为更加准确地控制紧固转矩,需要把每次工作时超出预设值的最大转矩值上传到上位机进行统计分析,便于适当下调预设的转矩值。作为一种便携设备,数显转矩扳手的通信接口要求体积小、功耗低,因此,本文设计了一种基于CH341T芯片的USB通信接口,以实现数显转矩扳手与上位机的数据传输。文中介绍了数显转矩扳手测量系统的结构与工作原理,给出了通信接口的硬件电路和下位机及上位机的软件的设计思路与实现方法。实验结果表明,该通信接口电路硬件结构简单、体积小、功耗低,尤其适合于便携式设备,具有良好的应用前景。
系统结构如图1所示,数显转矩扳手测量系统首先通过传感器电桥把转矩的变化转化为电信号的变化,用信号调理电路对微弱的电信号进行放大、滤波,经A/D转换后送到单片机进行处理,算出对应的转矩值,并通过LCD显示出来。当转矩超过预定值时蜂鸣器和LED发出声光报警。
图1 系统结构图
当数显转矩扳手工作在预置报警模式时,把每次工作中超出预设值的最大转矩值存放在单片机的Flash存储器中。当存储器存满后发出提示信息,然后通过USB接口把数据上传到上位机,便于后续的分析处理。
下位机的硬件系统主要由转矩测量模块和通信模块组成。转矩测量模块把转矩值转化为电信号,经过信号放大、滤波、A/D转换后送到STC12LE5410AD单片机进行处理,得出对应的转矩值。USB通信模块的接口芯片采用CH341T实现USB口转串口的功能,将超出预设值的最大转矩值上传到上位机,实现下位机与上位机的数据传输。
2.1.1 转矩测量模块
转矩测量模块主要电路如图2所示。在设计中,传感器电桥每个桥臂上的基本电阻值为1 kΩ,采用全桥方式连接,放大器选用美国BB公司生产的INA122精密仪表放大器。该放大器具有非常低的静态电流和很宽的电压范围,在单电源供电时,电压范围为2.2~36 V,外围电路简单,只需加上1个电阻,可设定5~10 000倍的任意增益值。模/数转换选用12位的AD转换器ADS7822,其电源输入电压范围为2.7~3.6 V,8脚MSOP封装,采用串口方式与CPU相连。单片机选用STC12LE5410AD,工作电压范围为2.2~3.3 V,内部集成8路高速10位A/D转换器,自带10k的Flash存储器。为此,电路中的元件只需3 V电压即可正常工作。
图2 扭矩测量电路图
2.1.2 通信模块
USB通信模块的接口芯片选用的是CH341T[5-6]。CH341T是南京沁恒电子有限公司推出的USB转串口转接芯片,它能提供串口发送使能、串口接收就绪等交互式的速率控制信号及常用的MODEM联络信号,可为计算机扩展异步串口或者将普通的串口设备直接升级到USB总线,兼容USB V2.0,外围电路简单,只需晶振和电容,支持5 V电源电压和3.3 V电源电压,采用SSOP-20的无铅封装。
数显转矩扳手与PC机之间的USB接口电路如图3所示,J1表示上位机的USB端口,CH341T的VD+引脚、VD-引脚分别与USB总线的数据线VD+、VD-直接相连。MCU_RXD和MCU_TXD分别表示数显转矩扳手中单片机的RXD、TXD引脚,分别与CH341T的TXD引脚和RXD引脚相连。TEN#为串口发送使能引脚,低电平有效,当其为高电平时,CH341T将暂停从串口发送数据,在设计中直接连到地。CH341T的电源引脚与数显转矩扳手电源端连在一起,均为3 V。
图3 单片机与上位机的通信电路图
CH341T通信操作采用虚拟串口方式,通过USB总线可以提供异步串口。在Windows操作系统下,可以利用CH341T的驱动程序来直接仿真标准串口。该仿真串口与大部分串口应用程序完全兼容,通常在使用时,不需要修改任何程序,便可利用RS232通信协议对USB总线进行操作[7]。在设计中,采用单片机定时器/计数器T1来产生下位机波特率。将T1设置为定时器,工作方式2,即把定时器T1设置为2个8位的自动重装方式。波特率设置为9 600,单片机的晶振频率为11.0592 M,则T1定时器对应的初值为十六进制数0xFD。对单片机定时器和串口初始化主要程序如下:
void Serial_Initialization(void)
{
TMOD=0x20; //T1定时器工作方式2
TH1=0xFD; //波特率为9600;
TL1=0xFD;
SCON=0x50; //串口为工作方式1;
ET1=0; //打开T1中断
EA=1; //打开总中断
ES=1; //允许串口中断
TR1=1; //定时器T1开始定时
}
由于数显转矩扳手在工作时无须立刻将数据上传,只在Flash存储器满的时候发出报警提示,因此,连上USB线后,系统通过按键切换进入通信模式,从上位机发送一个开始通信的信号,把最大转矩值上传到上位机。系统的通信子程序流程图如图4所示。
从南京沁恒电子有限公司的网站[5]下载CH341T接口驱动程序包CH341SER,并将下位机通过USB线与计算机相连,然后按照软件提示步骤进行安装。驱动程序安装成功后,在上位机的“设备管理器”中除了正常的串口1和串口2外,增加了一个虚拟串口COM5,其显示信息如图5所示。
上位机软件采用VB6.0进行开发,利用VB提供的MSComm串行通信控件来完成。MSComm控件具有完善的串口数据发送和接收功能。通过该控件,PC 机可以利用串行口与单片机实现轻松连接,简单高效地实现设备之间的通信。MSComm不是内部控件,必须加载后才能使用[8-10]。该控件的事件响应有2种方式:事件驱动方式和查询方式。在设计中,按照与下位机的约定,对VB中的MSComm控件的主要属性设置如下:设置通信端口号为COM5(对应上位机的虚拟串口号) ;接收缓冲区的大小为512字节;波特率为9 600, 无校验位, 8位数据位,1位停止位;利用MSComm控件的OnComm事件捕获并处理通信事件。数据接收完毕后,算出转矩的平均值、最小值和最大值,并把各个数据以文件的形式写到计算机硬盘中,便于数据查询和打印。上位机的界面如图6所示。
图4 通信子程序流程图
图5 CH341T虚拟串口(COM5)
图6 上位机软件界面
通信时,上位机将收到的每一个字节数据先保存到一个数组中,待接收数据完毕后,软件自动对数据进行处理。实验时把数显转矩扳手设置为预置报警模式,预设转矩值为5 N·m ,利用数显转矩扳手对一螺栓进行30次紧固操作后,通过USB接口把每次紧固时超出预设值的最大转矩值上传到上位机,运行界面如图6所示。图6的上位机软件显示了转矩设定值、数据个数,并自动计算出转矩最小值、转矩最大值和转矩平均值。从图中可看出,每次紧固的实际转矩值均超出了设定转矩值5 N·m ,最小转矩值为5.11 N·m,最大转矩值为5.87 N·m,平均转矩值为5.51 N·m 。如果需要实际紧固的转矩值为5 N·m ,则考虑适当下调数显转矩扳手的预设转矩值。
为解决数显转矩扳手通信接口体积小、功耗低的问题,采用CH314T为接口转换芯片,利用USB接口实现了数显转矩扳手与上位机的通信。采用VB6.0开发上位机软件,对上传的数据进行分析处理,自动找出最大转矩值、最小转矩值及转矩平均值并显示出来。经系统实际运行结果表明,该通信接口数据传输可靠、功耗低、体积小,尤其适合于便携式设备,具有广泛的应用前景。
[1]陈小艳. 基于微处理器的数显扭矩扳手的研制[D]. 合肥:合肥工业大学, 2004.
[2]苏滨生,刘春红. 影响扭矩扳手准确性的因素分析[J]. 东方电机, 2007(3):51-55.
[3]文琪,韦兴平,宋春华. 锂电池在数显扭矩扳手中的应用[J]. 工业控制计算机, 2012(25):116-117.
[4]宋春华,毛小飞. 数显扭矩扳手的发展前景[J]. 装备制造技术, 2011(2):97-99.
[5]南京沁恒电子有限公司.USB_SER.PDF[EB /OL].[2013-12-25].http: / /www.wch.cn /download /list.asp? id =63.2011.
[6]杨凤彪,王超,张晨光. 基于CH341A的USB串口通信设计[J]. 电子设计工程, 2011,19 (3): 11-14.
[7]陈光建,何华平,贾金玲. 基于虚拟仪器的实时数据采集系统[J]. 仪表技术与传感器,2011(4):49-50.
[8]杨明广,王秀华. Visual Basic程序设计教程[M]. 北京:中国科学技术出版社,2006:25-56.
[9]刘凤声. 基于VB6.0的单片机与PC机通信的实现与应用[J]. 计算机技术与发展,2007(17):203-204.
[10]黄惟公,邓成忠,王燕. 单片机原理与应用技术[M]. 西安:西安电子科技大学出版社, 2007:123-156.