You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the servo board adjusts the pulse width in 5µs steps for each step of the input control value (in the range ±100 if #1 is not yet implemented - although #1 will not result in the increment changing from 5µs). From some quick Googling it seems that that 1-2ms of pulse range, which we get with a control value in the range ±100, will result in most servos rotating 90°. This means that our current 5µs step gives 0.45° of rotation.
The servo board is easily capable of much finer control than this. I think it's reasonable to increase the frequency of the timer used to control the pulse widths from 200kHz to 800kHz; reducing the step size to 1.25µs (0.1125°). To be able to take advantage of this the control values will need to quadruple in range. Since this breaks backwards compatibility with existing libraries I think the servo board should default to its current resolution (have the timer running at 800kHz and multiply all control values by 4) and change to the high resolution mode if explicitly requested over the USB interface via a new 'enable high res' command. If high res is enabled then the control values will change to ±400 (or ±800 if #1 is implemented).
The text was updated successfully, but these errors were encountered:
Currently the servo board adjusts the pulse width in 5µs steps for each step of the input control value (in the range ±100 if #1 is not yet implemented - although #1 will not result in the increment changing from 5µs). From some quick Googling it seems that that 1-2ms of pulse range, which we get with a control value in the range ±100, will result in most servos rotating 90°. This means that our current 5µs step gives 0.45° of rotation.
The servo board is easily capable of much finer control than this. I think it's reasonable to increase the frequency of the timer used to control the pulse widths from 200kHz to 800kHz; reducing the step size to 1.25µs (0.1125°). To be able to take advantage of this the control values will need to quadruple in range. Since this breaks backwards compatibility with existing libraries I think the servo board should default to its current resolution (have the timer running at 800kHz and multiply all control values by 4) and change to the high resolution mode if explicitly requested over the USB interface via a new 'enable high res' command. If high res is enabled then the control values will change to ±400 (or ±800 if #1 is implemented).
The text was updated successfully, but these errors were encountered: