当前位置:首页 期刊杂志

C8051F320在转轴状态测量中的应用

时间:2024-08-31

(中国人民解放军95483部队,成都611430)

C8051F320在转轴状态测量中的应用

刘鑫

(中国人民解放军95483部队,成都611430)

转轴角加速度是旋转机构转动时的一项重要参数,旋转体的角加速度在实践中有着广泛和重要的应用。对角加速度的测量原理、方法进行了研究,寻求一种高精度连续测量角加速度可行的方法。设计了基于C8051F320的USB数据采集设备。利用这款单片机具有信号上升或下降沿自动捕获比较的功能,为转速信号周期的连续测量提供了便利;这款单片机自带USB模块,简化了USB数据采集系统的组成和提高了系统的可靠性。

转轴角加速度测量方波脉宽USB数据采集C8051F320

1 前言

随着工业与故障诊断技术的发展,大型机械设备的故障诊断和监控中,通过对转轴转动状态的测量来反映设备的运行状态变得逐渐普遍起来。其中对旋转机械转速和角加速度的测量是常见的两种方法,对这两个参数的测量可以反映设备运行的瞬时状态和性能情况。

而目前在国内成熟的转轴角加速度测量产品不多,这方面的技术还不成熟。原因在于转轴一般是高速转动的旋转体,转速高,测量瞬时角加速度必须在很短的时间内不断地对瞬时转速信号采样,而且要求采用非接触测量。这样对测量系统的硬件和软件的要求很高,在实现上存在一定的难度。

本文将从原理,结构上阐述一种理论简单、方便实现的、基于USB数据采集的转轴角加速度测量系统。

2 系统原理

2.1 系统组成

转轴转动参数的测量包括瞬时转速和角加速度的测量,这二者都是轴转动的参数,而转速的测量是角加速度测量的基础。系统采用磁电式转速传感器检测轴转动的信号,用单片机C8051F320作转速信号的采集和传输单元,同时完成转速的实时显示。系统原理框图如图1所示。

系统主要任务有:(1)单片机接收上位机PC通过USB总线发送的命令,完成系统工作参数的设置;(2)采集转速信号,测量转速信号的周期;(3)将采集到的信号通过单片机的USB接口上传到上位机;(4)驱动LED显示瞬时转速。转速信号前处理模块对采集到的转速信号进行必要的处理,如过零比较整形。上位机实现各种图形界面的操作和角加速度计算与图形显示功能。

2.2 测量机理

现代的转速传感器可以方便地测量齿轮的转速信号,如磁电式转速传感器。安装磁电式传感器时,使其探头平面正对齿轮,离开齿轮很小距离,确保齿轮在转动时不碰到转速传感器。当齿轮转动时,由于齿轮是磁性材料,当每个齿牙在接近和离开转速传感器时做切割磁力线运动,改变了转速传感器探头的磁通量,在转速传感器的输出端以电压或电流的形式反映出来,这类信号经过信号调理和整形后成为反映转速的方波信号。这些方波信号的周期与转速成反比,齿轮在转动过程中,转速的变化将反映在转速信号脉冲宽度上。所以,通过测量每个转速信号的脉冲宽度,就可以间接地测量齿轮的转速,也可以进一步测量齿轮转动时的角加速度,方波信号的波形见图2。

图2 方波信号示意图

设转轴上齿轮圆盘的齿轮分布均匀,其齿数为N,每相邻两齿之间的角度差为=2π/N,设第到i+1齿之间所用的时间为Ti,设第i+1到i+2齿之间所用的时间为+1,在期间飞轮的转动角速度为=θ/,在+1期间飞轮的转动角速度为+1=θ/+1,则飞轮在这这段时间的平均角加速度为:

式中,

Ti——第i个方波的周期;

θ——任意两个齿之间的角度差,为一定值。

3 系统硬件设计

系统硬件组成:磁电式转速传感器、单片机C8051F320、通用PC、安装在转轴上与轴同轴的标准齿轮圆盘。磁电式转速传感器检测转轴的转速信号。齿轮圆盘上的齿轮分布均匀且等高,当轴转动时齿轮改变转速传感器处的磁阻,使磁电式传感器输出大小不断变化近似于正弦波的电信号。

3.1 信号调理

转速传感器输出的信号经过一定距离传输后会受到一些干扰,会使原信号出现一些毛刺。为了消除这些毛刺,对转速信号整形,以便于单片机测量转速信号的周期。在本系统中设计了一个过零比较电路,详见图3。

图3 转速信号整形原理图

3.2 C8051F320接口设计

单片机C 8051F320是Cygnal公司的一款高性能的混合信号单片机。它实际上是一款小型片上系统(SOC)集成芯片,集成了传统的8051内核和全速USB控制器。它具有与MCS-51内核及指令集完全兼容的微控制器,高速的流水线操作,使大部分指令能够在一个或两个周期内完成,带有USB收发器,完全遵循USB协议2.0,支持12Mbps的全速传输或1.5Mbps的低速传输,可时钟恢复,不需额外的晶振,提供有8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。另外,它还集成有1 KB的USB SRAM和USB收发器,内置的16 KB的在系统(ISP,In-System Programming)Flash存储器和256 B的内部RAM,还可以访问外部数据存储器RAM,即XRAM。它还可以为固件提供足够的存储空间,不需要再扩展外部存储器。

角加速度测量系统用到了C 8051F320的16位可编程计数器/定时器阵列(PCA)的特殊功能模块——捕获/比较模块,每个模块都可配置为独立工作,有六种工作方式:边沿触发捕获、软件定时器、高速输出、频率输出、8位脉宽调制器和16位脉宽调制器。在设置为边沿触发捕获时,对应模块的CEXn引脚上出现某种电平跳变(可设置为上升沿或下降沿)时,触发PCA捕捉中断,这时由硬件自动完成将PCA计数器/定时器的值装入到对应模块的16位捕捉/比较寄存器(PCA0CPLn和PCA0CPHn)。利用这种自动捕获的功能来测得转速信号的周期,为角加速度的测量做好准备。在本系统中,只使用一个捕获比较模块CEX0。

在C8051F320单片机内部,有可编程数字I/O和交叉开关,数字交叉开关允许将内部数字系统资源映射到端口I/O引脚。可通过设置交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚丰富的I/O资源。由于这一特点,在设计硬件系统时须结合系统需要来配置端口I/O和交叉开关,通过设置I/O交叉开关寄存器、I/O端口输入、输出设置寄存器、跳过寄存器和各种功能I/O的接线优先级来确定各端口的设置。在本系统中设置XBR0=00000011b,XBR1=01100001b,允许UART、CEX0、T2、SPI和/INT,开放交叉开关。其余的I/O端口作通用I/O接口,P2.0-7作LED的数据接口。CEX0接整形后的方波信号,T2也接整形后的方波信号,SPI接口作单片机的调试编程接口。

图4 单片机接口设计

4 系统软件设计

系统软件设计包括C8051F320程序设计、USB固件设计、USB驱动程序设计和上位机应用程序设计。

4.1 C8051F320程序设计

单片机的主要任务是初始化、管理单片机的各种资源,在系统上电或复位操作后,主程序初始化I/O端口、写I/O端口设置寄存器来配置I/O,开放全局中断,清单片机数据存储区,接收上位机应用程序发出的各种命令,在上位机发出测量角加速度指令时,启动角加速度测量程序;若发出测量转速指令时,启动转速测量程序,并在LED上按照一定的刷新率显示实时转速。在开始测量角加速度时,由开放CEX0引脚的捕获中断,在主程序中建立事件标志,以结合中断标志控制转速信号周期的连续测量,主程序CEX0对应的捕获寄存器的值送到USB的FIFO寄存器对应端口的数据缓冲区,当缓冲区满时产生一次传输中断,向上位机传送数据。而这个过程对转速信号周期的测量没有影响。单片机大部分时间运行转速的测量,速度测量采用定时1 s,计算每秒钟之内测得的方波信号的数量来确定的。主程序的流程见图5。

图5 主程序流程示意图

4.2 USB固件设计

固件负责辅助硬件让设备双向交换数据,其主要功能是,接收并处理USB驱动程序的请求及应用程序的控制指令。Cygnal公司为C8051F32X系列的单片机提供了一个含有固件库(Firmware Lib)和固件框架(Firmware Frame)的USBXPress工具包,能用Keil C51集成开发环境开发,在固件库中提供了一些常量、数据结构、宏定义、函数来简化用户对芯片开发和使用。用户只需在程序中包含进USB_API.h,并且把USB_API.lib添加进项目即可,在工具包提供USB_MAIN.c的基础上,使用C8051F320.h的头文件。根据本系统传输数据的实际需要,选择适合的传输方式,使用端点0和端点2,即采用控制传输和块传输。在USB系统中,一共有4个端点,即端点0、1、2、3,分别也对应着控制传输、中断传输、块传输以及同步传输。这里用到的控制传输用来实现位于上位机的USB总线驱动程序以及编写的功能驱动程序对设备的各种操作;而块操作用来完成主机与设备间的大量数据传输即采集的数据上传使用。

4.3 USB驱动设计

Cygnal提供的USBXPress工具包里一个通用的设备驱动程序CygF32x.sys,可用于C8051F32X系列芯片,完成基本的USB通信任务。在本系统中用DDK对上述驱动程序进行了修改,将不常用的函数删除,同时根据需要添加了自己定义的函数。

4.4 上位机应用程序设计

上位机应用程序实现数据采集处理系统间的USB通信、向系统发送控制命令以及接收发送控制命令,以及接收系统传过来的数据并进行存储、处理与显示。在Win32系统中,各个设备被抽象为文件,应用程序通过文件操作API函数实现驱动程序中某个设备的通信。在本系统的应用程序中使用CreateFile()、W riteFile()、ReadFile()、CloseFile()、DeviceIOControl()等函数。在应用程序中,只需将上述函数添加到相应的功能模块中便可完成应用程序对USB器件即单片机的操作。主程序在VC6.0的环境中开发,其开发参照了USBXPress工具箱中提供的例子。使用了CygF32xUSB.h和CygF32xUSB.lib文件。应用程序流程图见图6。

图6 应用程序流程图

5 总结

本文介绍了一种转轴状态测量的方法,包括器件的选用和系统的搭建,提供了一套完整的方案。在试验室调试时,对函数发生器输出的10 Hz到10 kHz的方波的周期进行了测量,测量的精度可达99.4%。对本文的角加速度测量系统稍加改进,可用于发动机的故障诊断中,特别是在大中型柴油机的故障自动检测中有较大的应用前景。

1陈中新.角速度和角加速度连续测量的理论分析[J].天津成人高等学校联合学报,2002,4(2):96-97.

2潘琢金.C8051F320/1混合信号ISPFLASH微控制器数据手册[M].深圳:新华龙电子公司,2004.

3马彦,田作华.采用单片机实现的角加速度测量电路[J].计算机自动测量与控制,2001,9(2):15-16.

4周立功等.PDIUSBD 12 USB固件编程与驱动开发[M].北京:北京航空航天大学出版社,2003.

5 CYGNAL.Readme of]USBXpressRelease Version 1.2 CYGNAL Integrated Products,Inc.(C)2002

6萧世文.USB硬件设计[M].北京:清华大学出版社,2002.

7武安河,周利莉.W indows设备驱动程序(VxD与WDM)开发务实[M].北京:电子工业出版社,2001.

Application ofC8051F320 in MeasurementofRotating Shaft

Liu Xin
(The People's Liberation Army 95483 Troops,Chengdu 611430,China)

Shaft angular acceleration is one of themost important parameters to indicate the state of rotation.Ithasawideand importantapplication.The theory andmethod ofmeasuringangularacceleration is researched.An approach to highly accurate and successive angular accelerationmeasurement is sought.A USB dataacquisition equipment isdeveloped based onmicrocontroller C8051F320.Themicrocontrollerhas unique function of automatically capturing the rising or falling edges of a square wave,which supplies convenience to measure the width of rotary speed signal.Furthermore,the USB module of the microcontroller simplifies thearchitectureofUSB dataacquisition system and enhances its reliability.

shaft,angular acceleration,measurement,squarewave width,USBdata acquisition,C8051F320

10.3969/j.issn.1671-0614.2010.04.009

来稿日期:2010-07-08

刘鑫(1973-),男,工程师,主要研究方向为机械制造及其自动化。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!