Design of Embedded Motion Controller Based on ARM and DSP

Publisher:红尘清梦Latest update time:2011-06-27 Keywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

introduction

Motion control systems are widely used in the field of industrial control, but the application of embedded technology in the field of industrial control is not yet mature. In recent years, industrial control has placed higher and higher requirements on motion control systems. In order to meet the various performance requirements of the new generation of motion control systems, embedded motion controllers have emerged. The new generation of motion control systems based on the combination of ARM and DSP motion control chips give full play to the respective characteristics of ARM microcontrollers and professional motion control chips MCX314As, and can easily form a high-performance embedded motion control system.

Motion control chip MCX314As

MCX314As is a DSP motion control chip produced by NOVA Electronics Co., Ltd. of Japan. It is a motion control chip that controls 4-axis pulse sequence output to drive servo motors and stepper motors. It can be used in industrial automation equipment, industrial robots, measuring equipment, office equipment and household appliances. It can perform independent positioning control and speed control on each axis. On the other hand, it can also select 2 or 3 axes from the 4 axes to perform arc, straight line and bit pattern interpolation. The output pulse frequency is as high as 4MHZ, the error is less than ±0.5 minimum interpolation unit, and the magnification is 1 to 500. Each axis has a servo feedback input terminal, four input points and 8 output points. It can be independently set to constant speed, linear, asymmetric S curve addition/subtraction control, asymmetric trapezoidal addition/subtraction control, and has 2 32-bit logic, actual position counters and status comparison registers to achieve closed-loop position control [1].

The MCX314As motion control chip can interface with 8/16-bit data bus, and realizes 4-axis 3-link position, speed, acceleration and other motion control and real-time monitoring through registers such as command, data and status. In actual application, all extremely complex real-time motion control tasks can be handled by the MCX314As chip, and the host CPU only needs to send a series of control instructions to the MCX314As chip to realize various complex movements.

2 ARM microprocessor S3C2410

S3C2410 is a 32-bit RISC embedded processor from Samsung Electronics of South Korea. This processor provides a cost-effective, low-power, high-performance solution for handheld devices and general applications. The chip is based on the ARM920T core, adopts a five-stage pipeline and Harvard structure, and has a main frequency of up to 200MHz[3]. ARM920T has a full-performance memory management unit MMU, independent 16KB instruction and data caches, and a high-speed AMBA bus interface. In order to reduce the cost of application system design, S3C2410 integrates a large number of commonly used resources, such as LCD controller, NANDFlash controller, SDRAM controller, system chip select logic, and some commonly used communication interfaces, making it widely used in the field of industrial control.

The basic structure of motion controller

The motion controller is composed of S3C2410 and MCX314As. The development board S3C2410 is designed with a system bus reserved interface, which reserves the signal lines based on the general IO port on the S3C2410 chip, including 16-bit data lines, 12-bit address lines, chip select signals and some read-write control signal lines, so as to facilitate users to expand the application circuit. The connection between the motion control chip MCX314As and the S3C2410 processor is through this standard system bus interface circuit, connecting the data lines, address lines, read-write control lines, chip select signals and interrupts of the two. The SN74ALVC164245 chip is added between the signal connections to realize level conversion and drive the signal at the same time. It should also be noted that we use the transmission of 16-bit data lines, so the H16L8 pin of the MCX314As chip must be connected to a high level.

Figure 1 Interface circuit diagram of S3C2410 and MCX314As [page]

The processing process of the embedded motion control system is actually the process of transmitting data from the ARM host computer to the MCX314As slave computer. The control process is as follows:

(1) When the machining program starts running, the MCX314As chip is initialized first. The initial speed, acceleration, deceleration, acceleration change rate, forward and reverse rotation mode, logical position counter clearing, actual position counter clearing, etc. are set for the MCX314As chip.

(2) Select the axis to be processed. The MCX314As chip has four axes: X, Y, Z, and U. They all have the same functional capabilities and can achieve four-axis three-linkage.

(3) Set the selected axis mode and operating parameters, including linear constant speed mode, single-step interpolation output mode, and interrupt request.

(4) Initialize the position counter, that is, write the row number in the database into this counter for subtraction calculation, and reduce it by one after each row of data is processed.

(5) Carry out command and data transmission, check the status register after sending data, send a signal after processing a section and then send the next set of data, until the processing is completed. Once an interruption occurs during the processing, first read the data in each register and save it, wait for the processing to resume, and then read and write it out. After the entire database file is output, save the data information after the running system is completed and the status information of the system in preparation for the next part processing, and the processing is completed.

Application of motion controller in XY two-axis CNC servo worktable

The XY two-axis worktable is a cross worktable (X and Y axes are perpendicular) driven by ball screws and rolling guides. There is a limit switch at each end of the X and Y axes. A Panasonic AC servo motor (model MSMA022A1C, power 200W, rated speed 3000r/min, rated torque 0.64Nm) is used to drive the worktable. The motor driver uses Panasonic servo driver MSDA023A1A. A photoelectric encoder is used as a position feedback device (an 11-line 2500P/r incremental encoder is coaxially installed on the servo motor)[3]

Figure 2 is the X-axis drive schematic diagram of the platform [1]. The Y-axis drive circuit is the same as the X-axis drive circuit. In the figure, M is the servo motor and EC is the encoder. Set the "control mode" of the servo drive to "position control" and set the command pulse to CW/CCW mode. S3C2410 operates MCX314As according to the flowchart, sets the corresponding motion parameters, and writes the function command to complete the motion trajectory control of the platform.

Figure 2 Interface block diagram of a single-axis signal drive system

Conclusion

Motion control systems are widely used in industrial control. MCX314As is a highly integrated motion control chip that can realize position, speed, acceleration control of four-axis three-linkage and continuous interpolation and position closed-loop control of three modes: linear, circular, and bit. The ARM processor has powerful 32-bit RISC performance, small size, and low power consumption. Using ARM and professional motion control chips to design motion controllers can greatly reduce R&D tasks, speed up R&D, and obtain an embedded motion control system with excellent control performance in a relatively short time.

Keywords:ARM Reference address:Design of Embedded Motion Controller Based on ARM and DSP

Previous article:Design of high-speed data acquisition system based on ARM and CPLD
Next article:Embedded Network Interface Based on ARM9 AT91RM9200T

Recommended ReadingLatest update time:2024-11-16 20:36

ARM Getting Started Notes (4)
Keyboard input - I/O input experiment I. Experimental purpose To correctly read the pin status of PIO, so that when a key is pressed, the LED lights up, otherwise it goes out. II. Experimental procedure and parameter settings 1> The connector option settings and startup code are the same as the previous
[Microcontroller]
Design of high-speed data acquisition system based on ARM and CPLD
With the development of people's interest in high altitude and the need for research, more and more scientific experiments have been moved to the air by researchers, and balloon sounding and drone experiments are relatively typical methods. These scientific experiments often need to trigger a specific experimental p
[Microcontroller]
Design of high-speed data acquisition system based on ARM and CPLD
How did the Arm architecture become the cornerstone of global computing step by step?
In the past, when people mentioned Arm, they thought more about mobile phones and embedded systems. However, since 2018, Arm announced the launch of Neoverse and entered the high-performance computing market. Four years have passed. Now, Arm architecture infrastructure has become an obvious trend. As Arm CEO Rene Haas
[Network Communication]
How did the Arm architecture become the cornerstone of global computing step by step?
Nvidia CEO's letter to employees: The company will maintain Arm's open licensing model and customer neutrality
Yesterday (14th), Nvidia officially announced that it would acquire Arm from SoftBank for US$40 billion. According to Sina Technology, Nvidia founder and CEO Jensen Huang sent an email to all employees, saying that Nvidia will continue to build a leading computing company in the era of artificial intelligence together
[Mobile phone portable]
ARM assembly instruction MCR/MRC learning
The MCR instruction transfers the data in the register of the ARM processor to the register of the coprocessor. If the coprocessor cannot successfully perform the operation, an undefined instruction exception interrupt will be generated. The syntax format of the command is: MCR{} p15, 0, , , {,} MCR2 p15, 0, , , {
[Microcontroller]
ARM concept review: Architecture, Core, CPU, SOC
1 Introduction This article briefly sorts out the concepts related to ARM, including ARM architecture, ARM core, ARM CPU (or MCU) and ARM Soc. We embedded engineers who mainly use ARM platform deal with these concepts almost every day, and we seem to understand them very well. But when we think about it carefully, w
[Microcontroller]
ARM core board - level conversion circuit (Part 1)
  During the circuit design process, electronic engineers often encounter the problem that the I/O level of the processor MCU is different from the I/O level of the module. In order to ensure normal communication between the two, level conversion is required. Below, we will make a detailed analysis of the level conver
[Power Management]
ARM core board - level conversion circuit (Part 1)
Digital control system of brushless DC motor for energy storage flywheel based on DSP
1 Introduction The so-called flywheel energy storage (FES) technology is to use a high-speed rotating flywheel to store energy in the form of kinetic energy. When energy is urgently lacking or needed, the flywheel slows down and releases the stored energy. Flywheel energy storage technology has attracted incre
[Embedded]
Digital control system of brushless DC motor for energy storage flywheel based on DSP
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号