Showing posts with label Uart. Show all posts
Showing posts with label Uart. Show all posts

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.

URDF Link origin test