![]() So, to make a servo move slowly, we have to tell it to move slowly, and the way to do that is to move the target slowly. All we get to do is to manipulate the target line, and trust that the servo will get us there. As I hope I have belabored by now, we do not get any feedback from a servo: we do not know what its target is or what its output position is or how hard the servo is trying to achieve what we are telling it to do. This red target line represents the servo’s understanding of what we told it to do via the command pulses: as soon as the first pulse of length t 2 arrives, the target is changed, and the servo begins its task of actually making the position match the target. I have added it to the diagram as a dotted red line: At this point, we should add to our mental model the idea of a servo’s target position. Therefore, any discussion about servo speed control can only be about making a servo move more slowly than it would on its own. In reality, it takes time to accelerate to that speed, and the servo needs to slow down (decelerate, or accelerate in the negative direction) before it gets to the new position, so the picture you should have is more like this:Įverything so far has just been about the intrinsic properties of a servo: when you tell it to go from one position to another, it’s going to do that at the fastest speed it can, and there is nothing you can do to increase that. ![]() However, since I also want to include some discussion of acceleration, the diagram is still too simplistic in that it suggests that our servo can instantly get up to full speed. The diagram now makes explicit that the servo cannot begin moving until after we have given it a new position command and that it takes some time to move from one position to another. ![]() I hope you noticed that the diagram also suggests that our servo can see into the future, moving to the new position before the pulse commanding it there even finished. We know that our servos are not infinitely fast, so we can improve the drawing by explicitly showing that it takes our servo some time to move from one position to another. The problem with this representation is that it suggests that our servo can instantly move from one position to another. I have deliberately shortened the space between control pulses so that we can see several pulses at once. A simple first attempt might look like this: To get a good understanding of what is going on, it is helpful to picture the position of your servo in relation to the commands you are sending it. You might also have an idea of what you want your servo to do without knowing what to call it or how to describe it or how to implement it. Understanding your options can be confusing since there are various speeds involved, many similar terms are used, and the terms are not used consistently by different companies or end users. It is often desirable to control the speed and acceleration of hobby RC servos.
0 Comments
Leave a Reply. |