If i want to increase the speed of servo to reach the desired position, what is the more efficient way to do it?
1) Is it by doing faster increment of signal divrel ?
2) However, i don't see considerable increase in the speed if i do method 1). I checked my servo using servo tester board and it is capable of rotating at a faster rate. But I could not achieve the same in the code.
3) or there is any other approach?
1) What should be the max increment we can give to divrel? How we decide that, by trial and error?
2)If I modify the program as below, it is supposed to reach the desired position with the maximum speed?.
Code:
process begin
wait until rising_edge(CLK50M);
if(ms10='1') then
if BTN(0)='0' then divrel <= 500; end if;
if BTN(1)='0' then divrel <= 1000; end if;
if BTN(2)='0' then divrel <= 1500; end if;
if BTN(3)='0' then divrel <= 100; end if;
It's possible to change the RC servo setpoint immediately from left to right stop. Question is if the connected hardware likes it. Also the servo lifetime might be affected.
Standard pulse width range for servos is 500 to 2500 µs, it's not fully used in the example. Digital servos may be interpreting out of range pulse widths as disable command, check the documentation of your servo.