英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
基于STM32的数据采集系统设计
Department of Computer Science and Technology, Hunan University of Science and Technology, Xiangtan 411201, China
摘要
能够在早期发现机械设备故障是行业中最重要的问题之一。 为了有效的监控机械的旋转状态,我们开发了一个基于STM32的micro;C/OS-II信号采集系统。在本文中,我们给出了整个系统的设计方案,可以快速获取多通道振动信号旋转轴的X轴,Y轴和Z轴并实时显示。我们的系统具有以下的特点:结构紧凑,功耗低,小型化。
@2013作者,由Elsevier B.V发表.通过CC BY-NC-ND许可证开放访问。2013年国际信息会议主办单位负责选拔和技术与量化管理同行评议
关键词:STM32; 数据采集; 嵌入式系统;micro;C/OS-II
1介绍
旋转机械振动的实时采集可以有效预测,评估和诊断设备运行状态,行业获得振动数据采集并且快速分析实时可以监控旋转机械状态,保证设备安全运行。为了达到阻止故障,减少维护时间,提高经济效益,诊断故障系统的目的,可以通过旋转机械的振动信号采集来检测这些设备,并处理数据采集后,就可及时判断设备运行状态。数据采集模块是故障诊断系统的核心部分[1-4]。在工业领域的实际应用是将采集设备运行参数来监控设备运行状态。在传统的数据采集系统中,采集卡的数据一般发送到计算机,开发具体软件用于数据采集。本文的主要贡献是设计了STM32采用ARM技术的平台,已经成为嵌入式系统的传统主流技术,并收集数据向高实时,多参数,高精度数据方向传输存储变得容量大,更小型化和便携式,以及多通信的发展模式和长距离数据传输。以满足实际的采购制度。 因此,为了满足实际采购系统的多任务要求,本文新颖的设计了基于STM32的微信号采集系统。
2数据采集系统架构
数据采集是监控设备的关键技术,近期已经做了很多工作。一个基于FPGA的嵌入式并行数据采集系统经过优化设计,可以实现合理分配高速低速A / D [5]。相反,它使用高速A / D转换器和Stratix II系列FPGA进行数据采集和处理,其中主要贡献是使用紧凑型外围设备互连,系统具有模块化的特点,坚固可扩展性[6]。在特殊条件下需要进行遥控,本文介绍基于Windows CE的嵌入式操作系统平台和 - 设计远程采集和控制系统采用GPRS无线技术[7-8]。为了实现多用户的数据共享,构建了嵌入式动态网站,用于与ARM9进行数据采集管理和传播和Linux操作系统[9]。数据采集终端设备是基于ARM7微处理器设计的LPC2290和嵌入式实时 - 解决多通道的实时采集小信号和多通道传输[10]。另一方面,两个并行基于DSP的系统专门用于旋转机器上的数据采集,内信号调节器用于适应传感器输出到采集的输入范围,然后由设计软件进行信号后处理,而最频繁的结构是使用DAS和基于FPGA的,而这些程序也依赖于DAS成本。为了满足低功耗,低成本和移动性的市场需求,本文采用图1介绍了数据采集系统的设计总体结构图。通过SPI接口,系统得到数据采集采用三轴加速度传感器转换为STM32控制器内部A / D转换模块具有12位,这个过程是非干扰并行采集。我们的系统使用240x400 LCD和触摸屏模块实时显示实时收集的数据.
图1 系统的硬件框架
2.1 STM32微控制器
一个32位RISCSTM32F103VET6,用作我们系统中的处理器,与同类产品相比STM32F103VET6工作在72MHZ,性能强劲,功耗低,实时和低成本。 处理器包括:512K FLASH,64K SRAM,它将通过五个通讯包含CAN总线,USB2.0 SLAVE模式和以太网接口的串行端口,还有两个还包括RS232端口。 本文中的系统通过SST25VF016B串行存储器扩展SPI总线接口,在收集大量数据时将被视为临时存储,此外,我们具有12位分辨率的A / D转换器,最快的转换高达1us,具有3.6 V满量程系统。 除了设计系统电源电路,复位电路,RTC电路和GPIO端口保证系统需求和正常运行。
2.2数据采集
机器状态是否正常主要取决于振动信号。 在本文中,要获得旋转机械转子的振动数据,我们使用了振动加速度传感器MMA7455L可以从自由规模公司的x,y轴和z轴收集数据。 振动加速度的种类传感器具有成本低,体积小,灵敏度高,动态范围小的优点干扰。 MMA7455L主要由重力感应单元和信号调理电路组成,并且该传感器将在信号预处理之前放大微小的数据。在我们系统的数据采集过程中,采样阶段的误差主要是由量化造成的当我们将最大电压视为V max时,误差取决于A / D转换器的位AD转换器位为n,量化Q = V max / 2n,则量化误差被服从均匀分布在[ - q / 2,q / 2] [13]。
(1)
(2) (3)
(4)
While is average error, is error variance,andis SNR.
本文设计的STM32最多可以构建三个12位并行ADC,理论指标为72dB,实际动态范围在54到60dB之间,而2或3位则受噪声影响测量范围可达1000次,60dB。对于绝大多数振动信号,10kHZ的最大采样率可以满足实际需求,采集频率越高用于8-12位AD,因此这项工作的一个贡献是选择一个内置的12位A / D来满足,本实验振动信号采集的精度较高和成本较低。
2.3存储和显示
存储和显示需要实时数据采集,我们设计了具有64K * 12bit芯片容量的系统SRAM。 该过程是三轴加速度传感器系统与控制器连接SPI接口,接收到采集请求时将开始收集数据,然后通过数据传输DMA并存储在SRAM芯片中,直到数据缓冲区已满,它向CPU和CPU发送一个中断信号从FIFO读取所有通道数据,然后直接在LCD中显示结果。 我们的系统有能力快速,实时和高效地收集原始数据和视觉显示。
3软件设计
3.1移植micro;C/OS-II
为了保证实时和安全的数据收集要求,在本系统中,一种RTOS源代码是开放和小的提出。 它也可以容易地被削减,重新固定和固化基本功能包括任务管理和资源管理,存储管理和系统管理。 RTOS嵌入式系统可以支持64个任务,最多56个用户任务,以及4个任务系统中将保留最高和最低优先级。分配任务的优先级根据其重要性,操作系统执行任务从优先顺序和每个任务有独立优先。 操作系统内核精简,多任务功能良好与其他人相比,它可以移植到从8位到64位的处理器。系统中的移植是修改三个文件系统结构:OS_CPU_C.H OS_CPU.C,OS_CPU_A.ASM。 主要移植手术如下:A. OS_CPU_C.H它已经定义了数据类型,处理器中堆栈的长度和增长方向。因为不同微处理器有C / OS-II移植包括一系列类型定义确保其可移植性,修改后的代码如下:
typedef unsigned char BOOLEAN;
typedef unsigned char INT8U;
typedef signed char INT8S;
typedef unsigned short INT16U;
typedef signed short INT16U;
typedef unsigned int INT32U;
typedef signed int INT32S;
typedef float FP32; typedef double FP64;
typedef unsigned int OS_STK;
typedef unsigned int OS_CPU_SR;
Cortex-M3处理器将OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()定义为打开和关闭中断,并且它们必须设置为堆栈OS_STK和CPU寄存器长度的32位。另外,也有定义堆栈指针OS_STK_GROWTH堆栈增长方向从高地址到较低地址。B. OS_CPU.C要根据处理器修改OSTaskStkInit()函数,剩下的九个用户界面函数和钩子函数可以在没有特殊要求的情况下为空,它们将为这些生成代码仅在OS_CFG.H文件中将OS_CPU_HOOKS_EN设置为1时才起作用。堆栈初始化函数OSTaskStkInit()返回到堆栈指针的新顶部。
B. OS_CPU.C
大部分移植工作都在这些文件中完成,并修改了以下功能。OsStartHighRdy()用于运行最优先的就绪任务,它将负责堆栈指针SP从TCB控制块的最高优先级任务中恢复CPU,然后由任务进程创建用户开始控制进程。OSCtxSw()用于任务切换,当当前任务就绪队列具有较高优先级任务时,CPU将启动OSCtxSw()任务切换,以运行较高优先级的任务以及存储在任务堆栈中的当前任务。OSIntCtxSw()与OSIntSw()具有相似的功能,以确保实时性能系统,当中断到来时,它将直接运行较高优先级的任务,并且不会存储当前任务。OSTickISR()用于处理时钟中断,它需要中断来安排其实现当优先级较高的任务正在等待时钟信号时。OS_CPU_SR_Save()和OS_CPU_SR_Restore()完成以在进入时切换中断,通过关键保护功能OS_ENTER_CRITICAL()使关键代码两个功能实现,和OS_EXIT_CRITICAL()。在这些工作完成后,micro;C/OS-II可以在处理器上运行。
3.2软件架构
图2显示了系统软件体系结构,以显示数据可视化,在系统中移植,我们的系统包含数据采集,数据传输,LCD等六项任务显示屏,触摸屏驱动程序,按键界面。首先,我们应该设定任务优先级和任务调度的优先级。它需要完成所需的驱动程序设计之前数据采集,如A / D驱动,触摸屏驱动和系统初始化,同时进行初始化包括:硬件平台初始化,系统时钟初始化,中断源配置,GPIO端口配置,串口初始化和参数配置,以及LCD初始化。这个过程是这样的通道模块向AD通道发送采样命令,然后通知接收机模块发送样品启动命令,接收器模块准备好接收,大数据将存储在存储器中模块,完成第一次采样后,通道模块将发送完整的命令对接收器模块进行采样,接收器向存储模块发送中断请求以停止数据存储,则数据将显示在LCD触摸屏上。数据采集过程如图3所示
图2系统的软件架构
图3数据采集流程图
4.实验
嵌入式系统的实验已经完成,数据采集来自于加速MMA7455L,安装在旋转机台上。 数据采集显示为如图4和图5所示,系统可以选择三个通道来收集三个振动信号方向为X,Y和Z轴,本文采样频率为5KHZ,并收集振动信号来自同一通道的不平衡状态的正常状态。 结果表明我们的系统可以显示实时数据采集并快速预测初步诊断。
图4正常数据采集
图5不平衡数据采集
5.结论
本文针对旋转机械高频故障,设计了一种嵌入式实时信号采集系统。该系统基于低成本微控制器,振动信号由具有性能的三轴加速度传感器拾取低成本和高灵敏度,以及从x,y和z轴的采集数据。 我们设计了这个系统硬件结构,分析数据采集模块的工作原理。 提出的制度micro;C/OS-II实现数据任务管理和调度,结构紧凑,成本低,系统还可以实时收集振动信号和旋转机器的分析数据快速给出诊断结果。
致谢
这项工作得到了中国国家自然科学基金(51175169)的支持。中华民族重点技术研发计划(2012BAF02B01);湖南省计划科技攻关项目ovince(2009FJ4055);湖南省教育厅科研基金(10K023)。
参考文献
[1] Cheng,L.,Yu,H.,Research on intelligent maintenance unit of rotary machine,Computer Integrated Manufacturing Systems,vol. 10,Issue:10,page 1196-1198,2004
[2]俞,C.,钟旭,甄振,D.,Wei,F.,“嵌入式故障监控与管理平台设计与实现”诊断系统,计算机工程,Vol。 34,Issue:8,第264-266页,2008。
[3] Bi,D.,Gui,T.,Jun,S.,Dynam。高速混合气体轴承 - 转子系统用于旋转冲压喷气机的行为,振动学报和Shock,vol。 28,Issue:9,第79-80页,2009年。
[4] Hai,L.,Jun,S.,Resear
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[28445],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。