Design of The Data Acquisition System Based On STM32: Information Technology and Quantitative Management (ITQM2013)
Design of The Data Acquisition System Based On STM32: Information Technology and Quantitative Management (ITQM2013)
Design of The Data Acquisition System Based On STM32: Information Technology and Quantitative Management (ITQM2013)
com
Department of Computer Science and Technology, Hunan University of Science and Technology, Xiangtan 411201, China
Abstract
Early detection of failures in machinery equipments is one of the most important concerns to industry. In order to
monitor effective of rotating machinery, we development a micro- system of signal acquisition system
based on STM32 in this paper. we have given the whole design scheme of system and the multi-channel vibration signal in
axis X, Y and Z of the rotary shaft can be acquired rapidly and display in real-time. Our system has the character of simple
structure, low power consumption, miniaturization.
TheAuthors.
Authors.Published
Published
Elsevier
2013
2013 The
byby
Elsevier
B.V.B.V.
Selection
and peer-review
the organizers
organizersofofthe
the2013
2013International
International
Conference
on Information
Selection and/or
peer-reviewunder
underresponsibility
responsibility of
of the
Conference
on Computational
Technology
and Quantitative Management
Science
Keywords: STM32; data acquisition; embedded system;
- ;
1. Introduction
The real-time acquisition of vibration in rotating machinery can effectively predict, assess and diagnose
equipment operation state, the industry gets vibration data acquisition Rapidly and analysis in real-time can
monitor the rotating machinery state and guarantee the safe running of the equipment. In order to prevent
failure, reduce maintenance time, improve the economic efficiency, The purpose of fault diagnosis system can
detect these devices through the vibration signal acquisition of rotating machinery, and process the data
acquisition, then it will make timely judgment of running state of equipment .While the data acquisition module
is the core part of the fault diagnosis system [1-4].The practical application in the industrial field, is the
equipment operating parameters will be acquired to monitor equipment operating state. In traditional data
acquisition systems, the data from acquisition card are generally send into the computer, and specific software
will be developed for the data acquisition. The main contribution of this paper has designed the STM32
platform with ARM technology, that has become a traditional mainstream technology in embedded systems,
and the collecting data toward the direction of high real-time, multi-parameter, high-precision, while data
storage become large capacity, more miniaturization and portable, and the development of multicommunication mode and long-distance for data transmission. So as to meet the actual acquisition system
* Corresponding author. Tel.: 086-0731-15073230255.
E-mail address: [email protected]
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
RS232
Lcd touchscreen
USB
FLASH
670)9(7
&RUWH[0
Reset
circuit
Ethernet
RTC
circuit
Power
circuit
JTAG
MMA7455L
A/D
223
224
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
time and low-cost. The processor includes: 512K FLASH, 64K SRAM, and it will communicate by using five
serial ports which contain a CAN bus, a USB2.0 SLAVE mode and a Ethernet interface, what s more two
RS232 ports are also included. The system in our paper extend the SST25VF016B serial memory through the
SPI bus interface, that will regard as the temporary storage when collect large number of data, furthermore, we
have the A/D converter with 12 bits resolution, and the fastest conversion up to 1us, with 3.6 V full-scale of the
system. In addition to design of the system power supply circuit, the reset circuit, RTC circuit and GPIO port to
assurance system needs and normal operation.
ep(e)de 0
2
2
n
S
N
S
( )dB
N
While
e is average error,
q2
(e e) p(e)de
V max 2
e2
2
n
V max 2
q2
12
(1)
e2
2
1
de
q
q2
12
(2)
12(
V max
) 12 x22 n
q2
6n 10.8
(3)
(4)
S
is SNR.
N
The designed STM32 could built at most three 12-bit parallel ADC in this paper , which theoretical index is
72dB and the actual dynamic range is between 54 to 60dB while 2 or 3 bits is impacted by noise, the dynamic
range of measurement can up to 1000 times with 60dB. For the vast majority of the vibration signal, the
maximum sampling rate of 10kHZ can meet actual demand, and the higher frequency of collection is generally
used in the 8-12 bits AD, therefore one of contribution of this work is to choose a built-in 12-bit A/D to meet
the accuracy of vibration signal acquisition and lower cost in this experiment.
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
C/OS-
In order to ensure real-time and safety data collection requirements, in this system, a kind of RTOS whose
source code is open and small is proposed. It also can be easily to be cut down, repotted and solidified, and its
basic functions including task management and resource management, storage management and system
management. The RTOS embedded system could support 64 tasks, with at most 56 user tasks, and four tasks of
the highest and the lowest priorities will be retained in system. The
- assigns priorities of the tasks
according to their importance, the operation system executive the task from the priority sequence and each task
have independent priority. The operating system kernel is streamlined, and multi-tasking function is well
compared with others, it can be transplanted to processors that from 8-bit to 64-bit.The transplant in the system
are to modify the three file system structure: OS_CPU_C.H OS_CPU.C, OS_CPU_A.ASM. Main
transplantation procedure is as follows:
A. OS_CPU_C.H
It has defined the data types, the length and growth direction of stack in the processor. Because different
microprocessors have
C/OS - II transplantation include a series of type definition
to ensure its portability, and the revised code as follows:
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 processor defines the OS_ENTER_CRITICAL () and OS_EXIT_CRITICAL () as opening and
closing interrupt, and they must set to 32 bit of the stack OS_STK and CPU register length. In addition, that has
defined the stack pointer OS_STK_GROWTH stack growth direction from high address to lower address.
B. OS_CPU.C
To modify the function OSTaskStkInit() according to the processor, the nine remaining user interface
functions and hook functions can be null without special requirements, they will produce code for these
functions only when the OS_CPU_HOOKS_EN is set to 1 in the file of OS_CFG.H. The stack initialization
function OSTaskStkInit () return to the new top of the stack pointer.
225
226
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
OS_CPU_A.ASM
Most of the transplant work are completed in these documents, and modify the following functions.
OsStartHighRdy() is used for running the most priority ready task, it will be responsible for stack pointer SP
from the highest priority task of TCB control block, and restore the CPU, then the task process created by the
user start to control the process.
OSCtxSw () is for task switching, When the current task ready queue have a higher priority task, the CPU
will start OSCtxSw () task switching to run the higher priority task and the current task stored in task stack.
OSIntCtxSw () has the similar function with OSIntSw (), in order to ensure real-time performance of the
system, it will run the higher priority task directly when the interrupt come, and will not store the current task.
OSTickISR () is use to handle the clock interrupt, which needs interrupt to schedule its implementation
when a higher priority task is waiting for the clock signal.
OS_CPU_SR_Save () and OS_CPU_SR_Restore () is completed to switch interrupt while entering and
leaving the critical code both functions implement by the critical protection function OS_ENTER_CRITICAL ()
and OS_EXIT_CRITICAL ().
- can run on the processors.
3.2. Software architecture
Fig.2 shows the system software architecture, so as to display the data visualized,
and
is transplanted in the system, our system contains six tasks such data acquisition, data transmission, LCD
display, touch screen driver, key-press
interface. First of all, we should set the task
priority and the task scheduling based on the priority. It needs complete the required driver design before the
data acquisition, such as A/D driver, touch panel driver and system initialization, while the initializations
include: hardware platform initialization, system clock initialization, interrupt source configuration, GPIO port
configuration, serial port initialization and parameter configuration, and LCD initialization. The process is that
the channel module sent sampling command to the AD channel, then to inform the receiver module it has been
sent the sample start command, the receiver module is ready to receive and large data will store in the storage
module, after the completion of the first sampling, channel module will send the complete command of
sampling to the receiver module, the receiver sends an interrupt request to the storage module to stop the data
storing, then the data will display on the LCD touch screen. The data acquisition process shown in Fig.3
227
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
System
Initialization
Drive Initialization
Create Sampling
Task
Sampling Task
Time
Y
Data
acquisition
Kiss-press
management
Touch screen
drive
Lcd display
Start Sampling
Data
transmission
C/GUI
interface
AD Start
DMA Start
Channel
module
Receiving
module
Ethernet
Storage
module
USB
USAT
Sampling
Completed
LCD Display
4. Experiments
The experiment of the embedded system has been done and data acquisition comes from the acceleration of
MMA7455L, which is installed on the bench of rotating machine. The data acquisition have displayed as
shown in Fig.4 and Fig.5, the system can select three channels to collect the vibration signal from the three
directions of X, Y and Z-axis , and in this paper the sampling frequency is 5KHZ and we have collect the
vibration signal from normal state of unbalanced state at the same channel. The result shows that our system
can display real-time data acquisition and predict the preliminary diagnosis rapidly.
Fig.4 Normal Data Acquisition
Fig.5 Unbalance Data Acquisition
228
Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 228
5. Conclusion
This paper has designed an embedded signal acquisition system for real time according to the mechanical
failure occurred with high frequency of in the rotating machines. The system is based on a low cost
microcontroller, Vibration signals is picked by the three axis acceleration sensor which has the performance of
low cost and high sensitivity, and the acquisition data from axis x, y, and z. We have designed the system
hardware structure, and analyses the working principle of data acquisition module. The proposed system of
C/OS- realize the data task management and scheduling, and it is compacted with structure and low cost,
what's more the system collects the vibration signal and analysis in real-time of the rotating machines, and then
quickly gives diagnostic results.
Acknowledgements
This work was supported by The National Natural Science Foundation of China (51175169); China Nation
al Key Technology R&D Program(2012BAF02B01); Planned Science and Technology Project of Hunan Pr
ovince(2009FJ4055);Scientific Research Fund of Hunan Provincial Education Department(10K023).
References
[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] Yu, C., Zhong, Ou., Zhen, D., Wei, F., .Design and Implementation of Monitoring and Management Platform in Embedded Fault
Diagnosis System, Computer Engineering, vol. 34 , Issue: 8, page 264-266, 2008.
[3]Bi, D., Gui, T., Jun, S., Dynam . Behavior of a High-speed Hybrid Gas Bearing-rotor System for a Rotating ramjet, Journal of Vibration
and Shock, vol. 28, Issue: 9, page 79-80, 2009.
[4] Hai, L., Jun, S., Research of Driver Based on Fault Diagnosis System Data Acquisition Module, Machine Tool& Hydraulics, vol. 38 ,
Issue: 13, page 166-168, 2011.
[5] Hao, W., Qin, W., Xiao, S., Optimized. Design of Embedded Parallel Data Acquisition System, Computer Engineering and Design, vol.
32, Issue: 5, page 1622-1625, 2011.
[6] Lei, S., Ming, N., Design and Implementation of High Speed Data Acquisition System Based on FPGA, Computer Engineering, vol. 37,
Issue: 19, page 221-223, 2011.
[7] Chao, T., Jun, Z., Ru, G., Design of remote data acquisition and control system based on Window CE, Microcomputer& Its
Applications , vol. 30, Issue: 14, page 21-27, 2011.
[8]Xiao, W., Bin, W., SMS controlled information collection system based on
/OS- , Computer Application, vol. 12, Issue: 31, page
29-31, 2011.
[9]Ting,Y., Zhong, C., Construction of Data Collection& Release in Embedded System, Computer Engineering, vol. 33, Issue: 19, page
270-272, 2007.
[10]Yong, W., Hao, Z., Peng,D., Design and Realization of Multi-function Data Acquisition System Based on ARM, Process Automation
Instrumentation, vol. 32, Issue: 1, page: 13-16, 2010.
[11] Betta, G., Liguori, C., Paolillo, A., A DSP-Based FFT Analyzer for the Fault Diagnosis of Rotating Machine Based on Vibration
Analysis, IEEE Transaction on Instrumentation and Measurement, vol. 51, Issue: 6, 2002.
[12] Contreras-Medina LM., Romero Troncoso RJ., Millan Almarez JR., FPGA Based Multiple-Channel Vibration Analyzer Embedded
System for Industrial Application in Automatic Failure Detection, IEEE transactions on International and measurement, vol. 59, Issue:
1, page 63-67, 2008.
[13]Chon, W., Shuang, C., Design and implementation of signal detection system based on ARM for ship borne equipment, Computer
Engineering and Design, vol. 32, Issue: 4, page: 1300-1301, 2011.
[14]Miao, L., Tian, W., Hong, W., Real-time Analysis of Embedded CNC System Based on
/OS- , Computer Engineering, vol. 32,
Issue: 22, page 222-223, 2006.