Micro-electromechanical sensors (MEMS) inertial sensors have developed rapidly in recent years and have been widely used. As an important MEMS, micro-inertial sensors are composed of micro-gyroscopes, micro-accelerometers, application-specific integrated circuits (ASICs), embedded microprocessors and corresponding software. The output can contain a variety of information such as angular velocity, acceleration, and attitude. In addition, they are small in size, highly integrated, and easy to use. They are widely used in military and civilian fields.
CRSl0 is a high-precision MEMS single-axis gyroscope from Silicon Sensing. It has digital output and outputs the angular velocity of the sensor's motion process and the ambient temperature of the sensor's operation.
In terms of angle measurement, the traditional method is to use an angle sensor to measure the angle value at the start time, and then compare it to get the angle of rotation. Here, according to the principle of kinematics, a angular velocity and angle measurement system is designed using the CRSl0 gyroscope. The system is equipped with a data output interface and a liquid crystal display interface.
1 CRS10 Function Introduction and Usage
CRSl0 is a high-precision digital angular rate gyroscope with high integration, wide operating temperature (-40 ~ 80 ℃), high bandwidth and wide frequency range, extremely low angular rate random drift, standard 5 V voltage supply, SPI data output and analog port output 2 output modes to meet the different needs of various applications. The default configuration of CRSl0 is 75 Hz bandwidth, ±375 (°) / s angular rate measurement access. Users can set the angular rate measurement range and bandwidth as needed. For example, the measurement range of ±75 (°) / s can be set, and the bandwidth can also be set to 5, 10, 25, 40, 50, 60 and 100 Hz.
CRSl0 adopts 23 mmx17 mmx10 mm package. It can be surface mounted on PCB either vertically or with horizontal bracket. It is small in size, highly integrated and easy to install. It can be widely used in automotive yaw rate determination, guidance and control, platform stabilization, image stabilization, inertial measurement unit, robotics and navigation.
1.1 CRS10 Function Introduction
Figure 1(a) and Figure 1(b) are the physical diagram and functional block diagram of CRS10 respectively. As shown in Figure 1(b), in CRS10, the MEMS gyroscope first senses the external signal and outputs the signal to the data acquisition ASIC, which then outputs the processed signal to the microcontroller. The microcontroller stores the obtained data result in the output register. Through the SPI bus, the external SPI master controller
The software sends control instructions to CRS10 or reads. CRS10 has control registers set inside, and the registers have default values. By modifying and writing the control registers, the control effects of angular rate measurement range frequency and output bandwidth can be changed.
CRSl0 measures the angular rate parallel to the PCB plane. CLK_N, SPI_IN, SPI_OUT and pins are the SPI interface of the sensor, and pin is the reset pin of the sensor. A-NL_OUT is the analog output port of the angular rate.
The digital output of the CRS10 also includes the temperature of the environment it is operating in. If the gyroscope performs poorly under uncompensated conditions, this temperature can be used for modeling and compensation.
1.2 How to use CRS10
1.2.1 CRS1O Hardware Connection
The connection between the SPI interface of CRS10 and various microprocessor SPI master control devices is shown in Figure 2. The clock frequency of the SPI bus can reach up to 2.5 MHz, and 1 MHz is recommended.
1.2.2 CRS10 data reading, writing and data processing
CRSl0 can be read and written through the SPI bus. The control register value can be set according to the design requirements to achieve the control effect, or the default setting of the register can be used. The control instruction consists of 1 byte status bit, 4 bytes of data bits and 1 byte of check bit, a total of 6 bytes. When writing a control instruction to CRSl0, just send the instruction string to CRSl0 through the SPI bus.
When reading the data output by CRSl0, 6 bytes of data are read from the bus, which are: 1 byte of status bit, 2 bytes of angular rate data bits, 2 bytes of temperature data bits and 1 byte of check bit.
The data formats of the angular rate value (RATE_OUT) and the temperature value (TEMP_OUT) are both 16-bit binary complement codes, which can be solved using formula (1):
In the formula, DATA_VALUE is the output data of the register, VALUE is the actual measured value after conversion, Scale is the smallest unit represented by the minimum value of the register value, and n is the number of data bits of the corresponding register.
Here is a little trick. Since the data is a 16-bit binary complement type, you can use the data type of integer (int) to store the data, which can also omit the data processing process.
2 Angular rate and rotation angle measurement system design
Here the principle and design of the inclination measurement system based on LMS8962 and CRSl0 are given.
2.1 Principle of rotation angle measurement
CRSl0 measures the angular velocity of the PCB plane. According to the principle of kinematics, the angle is equal to the integral of the angular velocity over time. Therefore, the relationship between the angle and the angular velocity can be obtained:
Where θ is the current angle, θo is the initial angle at the beginning of the motion, ω is the angular velocity, to is the initial time, and t is the current time.
In digital systems, the discrete equation is used:
Wherein, θ, θo, and ω have the same meanings as in equation (2), and △t represents the time interval of sampling data.
According to the above principle, the angle measurement system is designed using CRS10. It only needs to ensure that the sampling frequency is fast enough, the angle platform is stable, and the noise is small.
2.2 Hardware Circuit Design
The inclination measurement system is built using LMS8962 and CRS10. LMS8962 is a high-performance 32-bit Cortex-M3 core microprocessor. It has rich on-chip peripherals, such as analog-to-digital conversion (ADC), PWM, CAN and serial bus (SSI), etc. It is powerful and easy to integrate.
The hardware design block diagram of the angular rate and angle measurement system composed of LMS8962 and CRS10 is shown in Figure 3. LMS8962 communicates with CRS10 through the SSI bus. The collected data is stored in the SD card, and the calculated results are displayed in real time on the LCD module. The data storage of the SD card provides a good data acquisition platform for future data analysis. SSI is a serial communication bus, which is compatible with the SPI bus.
2.3 Software Design
Figure 4 is the software design flow of the system. The program starts to enter the system initialization, then writes control instructions to CRSl0 to set CRSl0 to work in the required mode, then reads the returned data and performs calculations, and finally stores the data in the SD card and displays it on the LCD module.
3 Test results
In order to verify the effectiveness of the system in measuring angular rate and angle, the attitude and heading reference system AHRS500GA-226 sensor was used as a reference for testing. AHRS500GA-226 is a high-precision IMU from Crossbow Technology. The two systems were fixedly installed on the same platform so that the angular rate plane measured by CRSl0 was consistent with the YAW plane (the heading angular rate and heading angle measurement plane) of AHRS. The angular rate and angle data output by the two systems were compared, and the results shown in Figure 5 were obtained.
As can be seen from Figure 5, the angular rate measured by CRSl0 is consistent with the trend of the angular rate movement measured by AHRS, and the result of AHRS is relatively smooth. CRSl0 is noisy and locally steep. When stationary and moving at a small angular rate, the measurement results of the two are basically consistent, with an error of about 0.1 (°)/s. When moving at a large angle and rotating rapidly, the coincidence effect of the two is not good, and the error is large, reaching 7 (°)/s. This is because the data obtained by AHRS is filtered and fused. The trend of angle measurement is consistent, and the local coincidence is relatively good. However, the error of angle measurement is relatively large. The reason lies in the angle calculation method used in this article: 1) The original angular rate data is used, the angular rate is not filtered, the noise is large, and the deviation obtained by integrating and superimposing on the angle is also large; 2) A simple integral is used to calculate the angle, without compensation and smoothing. In summary, the angular rate measurement effect is relatively good, the angle measurement is feasible, but the algorithm needs to be improved.
4 Conclusion
The angular rate and rotation angle measurement system based on LMS8962 ARM microprocessor and CRSl0 gyroscope has an average angular rate measurement error of 0.550 (°)/s and a maximum of 7 (°)/s, which is better when measuring small angular rates. The average rotation angle measurement error is 2.5°, and the measurement accuracy needs to be further improved. The main reason for the angle measurement error is that the obtained angular rate is not filtered and the data is not fused. The use and improvement of filtering algorithms and fusion algorithms are the main tasks to be improved in the future. Judging from the measurement results, it is feasible to improve the accuracy of the system as long as the filtering and fusion processing are done well.
Previous article:Design of smart home terminals in smart grid
Next article:STM32 MCU GPIO register
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- ESP32-C3 porting has begun
- 【TI recommended course】#Lecture on Basic Knowledge of Electronic Circuits - Power MOSFET#
- How to get 9V/12V from PD charger to power products for fast charging? Overview of Lederui PD power chip
- Modifying the L3 RAM distribution on IWR1642/AWR1642
- Is OpenRF the future? Let's discuss it together.
- DLSM in DSP Core Architecture
- GaN Memory Sticker
- Functions and applications of MS90C386B and MS90C385B
- STM32F429DISC runs DOOM game
- About Water Meter 188 Agreement