Thursday, August 16, 2018

How to Reduce Serial Communication Delay in Windows OS (Com port)

Problem


I felt some annoying latency when I tried to communicate with a smart actuator (AX12) through Serial Communication. A single round trip time takes around 15 ms. As I wanted to make a robot with 21 motors, the total latency is so much for the project. 15 * 21 = 315 ms. It is under 4 FPS. The main reason why I do the project is recording motions from the robot. So, FPS is so important for me but it was too less than I expected. I faced a big problem. 
I tested and tried this and that, I've found a solution at last. 

Following result shows frequency only for 1 motor. It is around 60 Hz. It is too slow. If I use 20 motors, it would be lower than 4 Hz


 (Consider I use windows 10)

Solution





I reduced the latency value in 

Device Manager - Ports (Com & LPT) - USB Serial Port (COMxx) - Port Settings - Advanced... - BM Options - Select lower setting to correct response problem - Latency Timer (msec): - Select 1 

And DONE!

Result



It goes higher! 500 Hz!!! I am so happy with this frequency. I don't know why windows set the latency default as 16 ms.

No comments:

Post a Comment

URDF Link origin test