Best settings for ST-1 and HT-1 for high position accuracy at low RPM

Hi, I am after advice for what settings would be best on the ST-1 and HT-1 servos for low RPM movement (1-5RPM) and giving best position accuracy. The situation is a Pan and Tilt Unit, we were using belt driven geared steppers, and were wanting to try direct drive smart servos. In the testing done so far, we have found up to a 0.8-1 degree discrepancy between the Position in Degrees command I am sending via the LSS Config Software and what the encoder position is showing. Whereas the specifications say the position accuracy should be more like 0.3 degrees for the St-1 and 0.2 degrees for the HT-1. Interestingly we have found the HT-1 less suited for low RPM, very jerky with out of the box settings, unless changing the Angular Stiffness Value down to -0.6 or lower. Which makes the accuracy worse. Any ideas would be much appreciated!

@Charlie618 Welcome to the RobotShop Community. We’re here to help. High accuracy at very low speeds is quite hard to accomplish, especially under load. The results you are seeing are not uncommon for very low speed applications for the LSS.

  1. Have you updated the firmware to v370 for all servos?
  2. You can vary the Angular Holding Stiffness, Angular Acceleration and Angular Deceleration. These all affect the motion as well as the end position accuracy. LSS - Communication Protocol
  3. You can try tweaking the code to when the final position is reached, that the angular holding stiffness is increased
  4. To confirm, you’re using a 12V power source which can provide sufficient current?
  5. There is also another option to have your program send all intermediate positions from start angle to end angle, effectively bypassing the onboard motion controller. The LSS Config software doesn’t have that built-in. This is done using the EM command below (disabling the motion profile). We have found this method works best for low speed applications as the servo provides full torque between each intermediate position (allowing for higher accuracy). To smooth this motion out, there is a Filter Position Count (FPC) command which averages the values.
    LSS - Communication Protocol
    LSS - Communication Protocol
1 Like

Hi @cbenson many thanks for your help much appreciated.

What I have found is I can achieve the accuracy levels we require (0.1-0.2 degrees) by changing to EM0, and setting the program so it heads to a point 1-2 degrees prior to the intended position, then doing the final movement to the intended position. Very happy with that!

2 Likes

@Charlie618 That’s great news! Feel free to post about your project here if you feel like it. I’m certain many other roboticists would enjoy the read and possibly learn new ideas & tricks from your efforts!

1 Like