Control MG90S 180 degree servo without hard stop

I bought a 4DOF robot arm kit from KeyStudio (KS0488X). It comes with rebranded MG90S servo. I think it is a 180 degree servo although it does not seem to have a hard-stop to make it stop rotation at it's limits. However, manually by hand you can make it rotate full 360 degree.

I confirmed this using the default Sweep program and modifying it to use servo.writeMicroseconds() like so:

for (pos = 500; pos <= 3000; pos += 1) {  // goes only half a circle.
    Serial.println(pos);
    myservo.writeMicroseconds(pos);   // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }

Questions:

  1. Why does it not have a hard-stop when it is clearly a 180 degree servo? Is that normal? Is there a purpose to it?
  2. When I manually move the horn beyond the 0-180 degree arc, how do I predict the direction it chooses to turn to return to the 0 position? Because when I place this inside the robot, the robot ends up hitting itself, which is not a nice thing

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.