gastonanthony
New Member
is it possible to make the servo motor move precise angles besides 90,0 and 180 by using pwm signal width in between the waveforms of full right/left and the neutral position?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
gastonanthony said:is it possible to make the servo motor move precise angles besides 90,0 and 180 by using pwm signal width in between the waveforms of full right/left and the neutral position?
hehe, its because I need to control the precise angle of the servo for tracking an object with 2 cameras and the application requires very precise angles to be able to compute the exact distance of the objectDirtyLude Posted: Wed Sep 21, 2005 1:42 pm Post subject:
--------------------------------------------------------------------------------
Trying to make it a little more clear, like they said, it's an analogue device. Theoreticly you can have inifinite number of steps between far laft turn and far right turn. The resolution is limited by the mechanical servo itself, and most hobby servos, there's no real point going beyond 127 step resolution.
gastonanthony said:nigel, is your tutorial "Using the PWM hardware" meant to be a tutorial for controlling a servomotor?
gastonanthony said:do you know any good tutorial about the microcontrollers?
Hi,
A normal servo has a 1-2ms pulse interval repeated every 20ms(more or less.)
The midpoint is at 1.5 ms.
If you make use of a microcontroller and its timer to generate a clock pulse every 4 us, you could make a counter with 255 divisions / steps between 1 and 2 ms. This would give you complete control of the position of the servo. In fact it's more than complete because the servo does not recognise all steps due to the mechanical lag.
127 pulses is more than enough, so if you increase the input clock period to 8 us, you could use a value from 128 to 255 for the variable pulse. This is about 1 to 2 ms pulse width interval. This is then repeated every 20 ms.
Hope I made some sense
TOK![]()