In precision laser processing, semiconductor packaging, multi axis robotic arms, and gantry synchronization systems, the requirements for bandwidth, flexibility, and hybrid output capability of motion control far exceed those of ordinary point-to-point control. Linghua PCI-8254 (4-axis) and PCI-8258 (8-axis) are high-end motion controllers based on DSP architecture, which break through the integration of ± 10V analog commands and pulse commands on the same platform. With a hardware PID servo update rate of up to 20kHz and 20MHz encoder feedback, they achieve micrometer level interpolation accuracy. However, powerful performance also means a more complex parameter system - from second-order filter configuration to feedforward compensation, from analog bias calibration to high-speed position comparison triggering, any negligence in any link can lead to trajectory distortion or system oscillation. This article is based on the hardcore technology features of this series of control cards, and constructs a complete methodology from initialization and debugging to deep fault diagnosis, to help engineers cope with unexpected situations on the production line with ease.
Interpretation of Hardware Architecture and Hybrid Control Mode
1.1 Dual domain control core
The PCI-8254/8258 adopts a dual core DSP (digital signal processor) as the computing center, which is independent of the main CPU to complete real-time trajectory planning and closed-loop adjustment. Its core highlight lies in the ability to simultaneously output pulse commands (6.55Mpps) and analog commands (± 10V, 16 bit DAC) on each axis - the former is compatible with stepper or pulse type servos, while the latter directly drives analog type servos (such as linear drives), and supports the mixed use of two modes, making it easy to transform old and new mixed production lines.
1.2 Key Signal Links
Encoder input: differential A/B/Z, maximum input frequency 20MHz (in 4xAB mode), built-in digital filter can suppress high-frequency noise.
Universal I/O: PCI-8258 provides 24 isolated DI and 24 isolated DO (via DIN-825-GP4 terminal board), optocoupler isolation voltage withstand 2500Vrms, input supports 0-24V, and output is NPN open collector (voltage withstand 35V, current sink 90mA).
Trigger output: Each card has 2-4 hardware position comparison triggers, and both linear comparison and FIFO comparison support 1MHz pulse output with programmable pulse width (0.2 μ s~167ms).
Emergency Stop (IEMG): An independent hardware pin that immediately cuts off all axis outputs upon triggering, with a safety level higher than software emergency stop.
Initialization configuration and common pitfalls
2.1 Matching of servo update rate and trajectory period
The default servo update rate is 20kHz (50 μ s cycle), and the trajectory planning cycle is 1kHz (1ms). If the instruction speed issued by the upper computer is lower than 1kHz, it will cause DSP cache underload. Suggestion: Adjust the update rate using _825x_set-servouloop() and ensure that the loop time of the motion thread is ≤ 1ms (using RTX or Linux real-time kernel). If the axis motion is found to be stuck, first check the "Servo Load" curve in MotionCreatorPro2. If the load fluctuation is greater than 15%, the update rate needs to be reduced to 10kHz or a second-order low-pass filter needs to be enabled.
2.2 Analog output bias calibration
Due to the zero drift of the DAC, the analog output may deviate from 0V after prolonged operation, causing the motor to crawl. Calibration steps:
Disconnect the servo enable and use a high-precision multimeter to measure the analog output pins of each axis (such as ACH0+/-).
Call _825x_set1-ana_offset() to write the correction value (in mV), so that the output is measured to be ≤± 2mV when the instruction is 0.
Save calibration parameters to the onboard EEPROM to avoid resetting every time power is turned on.
2.3 Encoder Phase and Counting Direction
If the encoder feedback counting direction is opposite to the instruction direction, it will cause positive feedback oscillation. Need to adjust the phase polarity of A/B through _825x_set_inconer_polarity(). Rule of thumb: First, jog in an open-loop manner and observe whether the encoder count value increases with the direction of the instruction; If decreasing, take the opposite phase.
In depth analysis and handling of fault phenomena
3.1 Terminal vibration (resonance) during high-speed and high acceleration
Phenomenon: When performing acceleration of ≥ 1000 count/s ², there is a significant high-frequency vibration at the mechanical end, and the error curve shows a sinusoidal decay waveform.
Root cause: The differential term (D) in the PID parameters is too large or the cutoff frequency of the second-order filter is set too high, which excites the mechanical resonance frequency.
Solution:
Use MotionCreatorPro2's frequency response analysis tool (FRA) to measure the Bode plot of the system and identify resonance peaks (typically between 100-500Hz).
Set the cutoff frequency of the second-order low-pass filter to 0.7 times the resonant frequency, and set a notch filter to attenuate the gain in this frequency band.