Share this

Design of a Multi-Axis Motion Controller for Robots Based on DSP and Voltage Feedback

2026-04-06 05:30:40 · · #1

introduction

For robot control technology, real-time performance and stability are key research areas. Currently, the main method for robot control involves offline gait planning and real-time compensation of the robot's motion on the main controller. This approach places high demands on the processor's processing speed and capabilities. Traditional robot controllers mostly use the 80C196 series microcontroller as the processor. When using a 12MHz crystal oscillator, its state cycle is 167ns and its machine cycle is 1ms, which cannot meet the requirements of robot control.

DSP chips can achieve processing speeds of several nanoseconds or even higher, making them ideal for robot control. Therefore, this paper selects a DSP to replace the original microcontroller and, with the help of underlying voltage feedback technology, designs a distributed multi-axis motion controller for robots.

Control System Structure and Function

The robot control system is a typical "PC + motion controller " architecture. The main control computer requires small size and high processing speed, typically an embedded industrial computer. It is mainly responsible for online motion planning, motion-level control, voice interaction control, vision-guided control, and human-machine interaction. The underlying control unit, centered on the controller, uses voltage feedback to control each motion axis, as shown in Figure 1. The controller and main control computer are connected via a CAN bus. This communication method reduces wiring complexity, increases communication speed, and enhances system stability. Furthermore, the structure is highly flexible due to the use of only two wires for communication.

The controller is the core of the entire control system. It receives control commands from the main control computer to control the axes of each joint, and simultaneously feeds back low-level information to the main control computer to achieve large-loop feedback, facilitating coordinated planning and unified management by the main control computer. The controller's control performance directly affects the robot's motion capabilities. This paper specifically designs a multi-axis motion controller based on DSP and voltage feedback.

Controller Design

The various movements of a robot are accomplished by its joint axes, each with one degree of freedom, capable of rotation in a specific direction. When all axes work in coordination, relatively complex movements can be achieved. All axes studied in this paper are driven and controlled by PWM pulse signals.

The structure of this multi-axis motion controller is shown in Figure 2. The entire controller is based on a DSP and is divided into four main parts: the DSP main processor module mainly completes information processing and various control functions; the A/D conversion module provides the main processor with the position information of the motion axis system; the peripheral circuit completes functions such as voltage monitoring, parameter storage, circuit decoding, and opto-isolation; and the communication module is responsible for information interaction with the main control computer.

DSP main processor module

The DSP main processor is the core of the entire controller, responsible for processing various information and communicating with the main control computer. Its processing speed and information processing capabilities directly affect the controller's performance. This paper selects the TI TMS320LF2407A chip, which integrates real-time processing capabilities and controller peripherals, making it very suitable for industrial control.

In the controller designed in this paper, the TMS320LF2407A operates at 3.3V and has a system clock of 40MHz. The data bus is connected to the A/D conversion module to receive the A/D conversion results; the address bus and control bus are connected to the decoding section in the peripheral circuit to complete various decoding and control functions; the PWM output port provides control signals to the motion axis system; the communication interface is connected to the communication module to interact with the main control computer; the interrupt interface is connected to the decoding circuit to receive external interrupts triggered by the A/D conversion completion signal; the reset interface is connected to the external watchdog circuit to reset the main processor when the external voltage exceeds the specified range; and the serial interface is connected to the external memory to read the parameters required by the control algorithm from the external memory.

A/D conversion module

An external voltage sensor converts the position information of the moving shaft system into a voltage signal. The A/D conversion module performs A/D conversion on this voltage signal to provide a recognizable digital signal to the main processor. The A/D conversion circuit designed in this paper is shown in Figure 3. The ADG508A is an 8-to-1 multiplexer that selects one of the multiple input voltages and sends it to the converter. The AD622 is a voltage amplifier with filtering function, which can amplify the input -5V to +5V voltage to -12V to +12V to improve the accuracy of A/D conversion. The AD976 is a 16-bit A/D converter that converts the amplified voltage into a +5V digital signal. The 74LVTH245 is an 8-bit level converter that converts the +5V digital signal into a +3.3V digital signal that the main processor can accept and sends it to the TMS320LF2407A. Two of these need to be connected in parallel to form a 16-bit level converter.

Peripheral circuit module

The peripheral circuit module is mainly responsible for the controller's voltage monitoring, parameter storage, circuit decoding, and opto-isolation functions. Voltage monitoring is handled by an external watchdog circuit; this paper uses the DS1834A chip. This chip can simultaneously monitor both +5V and +3.3V voltages on the circuit board, with an adjustable voltage safety range and a manual reset function. If the voltage exceeds the safety range, a low-level reset signal is generated on the corresponding pin, and the reset pin returns to a high level only after the voltage returns to normal and 350ms have elapsed. For manual reset, both reset pins generate reset signals simultaneously.

The parameters required by the DSP main processor to execute the control algorithm are stored in the external memory X25650. The DSP connects to the X25650 through the serial peripheral interface (SPI port) module to read the required parameter data.

The circuit decoding function is implemented by a CPLD, whose main functions include providing port selection signals for ADG508A, providing conversion start signals for AD976, providing output enable signals for 74LVTH245, receiving conversion end signals from AD976 and providing A/D conversion end interrupt signals for the DSP, receiving reset signals from DS1834A and providing reset pulse signals for the DSP, etc.

The opto-isolator selected is the high-speed optocoupler 6N137, which mainly provides isolation between the controller and the external environment, including isolation of PWM pulse control signals and CAN bus communication.

Communication module

The communication module primarily communicates with the main control computer, receiving commands and providing necessary data. Since the TMS320LF2407A has an internal CAN bus communication module, only an external CAN transceiver is needed for communication. The transceiver used is the SN65HVD230 chip, which is compatible with the traditional CAN transceiver PCA82C250 and supports 3.3V voltage, allowing direct connection to the TMS320LF2407A. Optical couplers are used for isolation to improve communication quality.

Control Process and Analysis

This controller can provide control functions for 8 shaft systems simultaneously. Its workflow is shown in Figure 4. The functions enclosed by the dashed line in the figure are performed by the controller.

The specific working process is as follows: The system starts running and completes initialization; the voltage sensor converts the position information of the actuator axis into a voltage signal; the DSP main processor sends a selection signal to the ADG508A, selecting one voltage signal, which is amplified by the AD622 amplifier and then sent to the AD976 for A/D conversion. The selection of which voltage channel is used is controlled by the main processor's address lines after decoding, controlling the port selection bits of the ADG508A; typically, all eight channels are selected in turn. The start of the AD976 conversion is also controlled by the main processor, and an end signal is issued when the conversion ends. After decoding, this signal is provided to the main processor to generate an external interrupt. The main processor reads the converted data in the interrupt subroutine by activating the level conversion circuit. The AD976's maximum conversion rate is 100KSPS. At this rate, with all eight channels converting simultaneously, each channel has a conversion rate of 12.5KSPS, which fully meets the control requirements.

Conclusion

The controller designed in this paper uses a method of first selecting the path, then amplifying, and finally converting to provide the required position information to the DSP main processor. The entire controller has a simple and flexible structure, stable and reliable operation, and is very suitable for robot control. Practice has proven that this method is effective. This controller can control up to 8 axes simultaneously, which can be selected according to actual needs, with a single-path conversion rate of up to 100KSPS. Furthermore, this design can be easily ported to other similar control mechanisms to control various PWM pulse driven axes, making it a multi-functional and general-purpose controller.

Read next

CATDOLL 135CM Tami

Crafted with attention to detail, this 135cm doll offers a well-balanced and realistic body shape that feels natural in...

Articles 2026-02-22