Circuit design of robot positioning system using MSP430

Publisher:baiyuguojiLatest update time:2016-10-21 Source: ofweekKeywords:MSP430 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
  For mobile robots working in outdoor environments, inertial navigation/satellite combined navigation is usually used. The inertial navigation system has the advantages of complete autonomy, strong anti-interference, good concealment ability and comprehensive output parameters, but its robustness is extremely low, and the error will continue to accumulate and diverge over time. The satellite navigation system has the advantages of high accuracy, wide positioning range and no error accumulation over time, but it has the disadvantages of poor autonomy, susceptibility to external occlusion and interference, and low receiver data update frequency. Therefore, in engineering, the two are often used in a complementary combination to form a satellite/inertial combined navigation system.

  This paper takes the low-power MSP430F149 as the core, designs a navigation system that can simultaneously realize the high-speed acquisition and high-speed combined transmission of navigation information such as satellite navigation (GNSS) receivers, inertial measurement units (IMUs), and air pressure altitude, and perform preliminary navigation and positioning information fusion. It can provide direct navigation services for outdoor mobile robots, and can also be used as a high-speed acquisition system for raw measurement information of high-precision combined navigation systems. The key to the system design is to use the limited interface resources of the microcontroller to realize the parallel acquisition of multi-sensor information, design an effective data synchronization method, solve the problem of inaccessibility caused by omissions in the pressure sensor data manual, and provide a basic method for robot combined positioning. The system makes full use of the capabilities of the MSP430F149 microcontroller and has the advantages of simple structure, low power consumption, and universal applicability to sensors.

  The system consists of a power supply, a barometer interface, an IMU interface, a GNSS receiver interface, an SPI to UART module and an MSP430F149. The system composition is shown in Figure 1. The functional implementation of the integrated navigation system is divided into five parts: IMU data reception and analysis, GNSS data reception and analysis, barometer data reception and analysis, integrated navigation solution and data output. The IMU data reception and analysis function is used to obtain the acceleration and angular velocity information required for navigation solution; the GNSS data reception and analysis function is used to obtain the position and velocity information (loosely coupled combination) or GNSS pseudorange and pseudorange rate (tightly coupled combination) required for navigation solution; the barometer data reception and analysis function is used to obtain altitude information; the integrated navigation solution function is the core of the system and is used for integrated navigation solution; the data output includes the integrated output of the original data packet and the output of the solution result.

  Circuit design of robot positioning system using MSP430

  Figure 1 System composition diagram

  The inertial devices and GNSS receivers used in this article are both RS-232 level UART interfaces, which are universal, and users can consider devices of different accuracy based on cost. The barometer uses the MS5803-02BA produced by the American MEAS company, which has been solidified in the circuit.

  Microcontroller interface

  The entire integrated navigation and positioning system requires three UART interfaces and two SPI interfaces. Two of the UART interfaces are provided by the UART resources of the 430 microcontroller, and the other UART interface is converted by the GPIO simulating SPI through the MAX3111E chip; the two SPI interfaces are simulated by GPIO. In addition, an external interrupt pin is required to capture the pulse per second signal (PPS) and an external interrupt pin is required to capture the MAX3111E interrupt signal. The pin resource allocation of MSP430F149 is shown in Table 1.

  Power Circuit

  The power supply requirement of this system is 3.3V, so the AMS1117 voltage regulator chip is used. When connected to a 5V power supply, it can output a 3.3V stable voltage and provide 1A current to meet the power supply requirements of the system. The circuit design is shown in Figure 2.

  Circuit design of robot positioning system using MSP430

  Figure 2 Power supply circuit
 

  IMU device and GNSS receiver interface circuit

  Both the IMU device and the GNSS receiver are connected via the UART interface and use the RS232 protocol. Therefore, the two UART interfaces on the 430 microcontroller can be used, but the TTL level and RS232 level conversion is required. The common MAX3232 chip is used here, and the circuit design is shown in Figure 3.

  Circuit design of robot positioning system using MSP430

  Figure 3 IMU and GNSS interface circuit

  Barometer MS5803-02BA interface circuit

  MS5803-02BA[3] is a digital pressure sensor produced by MEAS with a resolution of 10cm. The chip contains a high-linearity pressure sensor and an ultra-low-power 24-bit ΔΣ ADC with internal factory calibration coefficients. This chip has two interface modes: SPI and I2C. The PS pin of the chip is configured to select different interface modes (when PS is low, SPI working mode is used; when PS is high, I2C working mode is used). The positioning system described in this article configures the barometer to work in SPI mode. The interface circuit design between MS5803-02BA and the microcontroller is shown in Figure 4.

  Circuit design of robot positioning system using MSP430

  Figure 4 MS5803-02BA interface circuit

  The control commands of MS5803-02BA include reset command, temperature ADC command, pressure ADC command, ADC read command, and PROM read command. The control commands are shown in Table 2. The control command is shifted input through the SDI port, and the response result is shifted output from SDO. The input level is determined on the rising edge of the clock signal, and the output level is determined on the falling edge of the clock signal. The output pressure value can be temperature compensated, which needs to be compensated using the coefficient in the PROM inside the chip. After the ADC reads the command input, it outputs the 24-bit ADC result; after the PROM reads the command input, it outputs the 16-bit compensation coefficient.

This paper designs an outdoor mobile robot combined navigation and positioning system   based on the MSP430F149 single-chip microcomputer . Through the expansion of the interface, this positioning system can access three channels of information, namely, IMU, GNSS receiver, and barometer, to complete the initial navigation and positioning service function. At the same time, it can be used as a multi-channel data acquisition device to integrate multiple channels of data into a high-speed output interface for further high-precision navigation and solution. The system can be connected to devices of different costs and precisions according to different user needs, as long as they meet the RS-232 protocol. The author puts it into practical use. The entire system makes full use of the resources of this single-chip microcomputer, has a simple structure, low power consumption, and a wide range of applications. It can not only be used as a device for initial navigation and positioning services, but also as a multi-channel data acquisition device.

Keywords:MSP430 Reference address:Circuit design of robot positioning system using MSP430

Previous article:Design and application of temperature measuring instrument using MSP430F247 and TMP275
Next article:Design of Intelligent GPS Controller

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号