# An Improved Deviation Coupling Control Method for Speed Synchronization of Multi-Motor Systems
## 4 System Testing  
In order to verify the effect of the multi-axis synchronous control method, a six-axis control platform is built for experimental testing. As shown in Figure 8, the experimental platform consists of a PC, a motion controller (self-developed in the laboratory, using ARM + FPGA architecture), six servo drives (Invt SV-DA200 series, Shenzhen INVT Electric Co., Ltd., Shenzhen, China), and six servo motors (Invt SV-ML06-0R4G-2-1A0, Shenzhen INVT Electric Co., Ltd., Shenzhen, China).  
All six motors are commanded to run at 600 rpm. An oscilloscope (GDS-2202A, Good Will Instrument Co., Ltd., Suzhou, China) is used to observe the running status of the motors, recording the waveforms between each of two adjacent axes and measuring the time difference \(\Delta T\) between the initial rising edges of two signals within a complete cycle, as well as the running cycle \(T_{i}\) of each motor. The experiment employs the EtherCAT bus for signal transmission between the motion controller and individual motors. Due to  
Figure 8: Six-axis synchronous control experimental platform.  
\begin{table}
\begin{tabular}{c c c c} \hline  & **Deviation Coupling** & **Improved** & **Compare** \\ \hline Maximum synchronization error & 18.88 rpm & 9.81 rpm & \(-\)48\% \\ Synchronization error adjustment time & 5.59 ms & 3.78 ms & \(-\)32\% \\ \hline \end{tabular}
\end{table}
Table 3: Comparison of simulation data with fuzzy PID.  
the distributed clock mechanism, the system-generated jitter is markedly below 1 us, rendering transmission delays during time measurements negligible. The time difference \(\Delta T\) between the two adjacent axes is used to reflect the system's synchronization under different control methodologies. The actual motor speed can be calculated from the pulse period and pulse/revolution of the motor. The pulse period refers to the time required for the motor to generate a pulse, which is the period \(T_{i}\) measured by the oscilloscope. The pulses/revolutions represent the number of pulses required for each revolution of the motor. In this experiment, the motor employed has a pulse/revolution value of 2500 P/R, yielding the motor speed \(n_{i}\) as follows:  
\[n_{i}=(60\times f)/2500=3/(125\times T_{i}) \tag{10}\]  
where \(f\) is the motor frequency, which is inversely related to the period.  
The measurement results of the waveforms after implementing different control algorithms are presented in Figure 9. It is evident that the improved deviation coupling control algorithm significantly reduces the time difference between each pair of adjacent axes, leading to a remarkable improvement in axis synchronization. When compared to the without synchronization control algorithm, as depicted in Figure 10a, the average time difference between axes is shortened from 9.23 ms to 5.42 ms, marking a 41% reduction. Moreover, it demonstrates a 12% improvement over the deviation coupling control algorithm. Furthermore, the speed variation between multiple axes is analyzed, as shown in Figure 10b. After incorporating the improved deviation coupling control algorithm based on fuzzy PID, the speed synchronization error between axes is greatly diminished. In comparison to the control algorithm without synchronization implementation, the average rotational speed synchronization error between axes is reduced by 33%, from 64.07 rpm to 42.37 rpm. Similarly, when compared to the deviation coupling control algorithm, it also achieves a 16% enhancement. Overall, the fuzzy PID improved deviation coupling control method optimizes the system's synchronization performance, thereby improving the welding accuracy of the six-degrees-of-freedom robotic arm.  
Figure 9: Experimental waveforms of adjacent two axes with different methods. (**a**) Without synchronization control; (**b**) deviation coupling control; (**c**) improved deviation coupling control. In the figure, the red dotted line illustrates the time difference \(\Delta T\) between two adjacent axes.