How to calculate arm angles?


I want to know for how long should the motor work in order for the arm to move one degree.

You could use a protractor to measure the angle change from your initial starting position to where you want it. Then if you have a potentiometer or encoder on the arm, you could also measure the change in the potentiometer reading or the number of encoder “clicks” That would map angle change to a sensor feedback :wink:


We have a GTS, but we want to check this way - how can i check the time in which the arm move for one degree using the program running time

Due to varying motor speed/power at the different battery levels, different loop execution times because of calculations and various little things like that you can’t do it the way you wish.

Depending on the gear that the GTS is reading you should know the resolution of the movement ie. How many teeth per 1 rev. Knowing that data if you want the time for 1 degree figure out how many pulses form the sensor you get over 1 degree then use a clock to figure out the time it takes for “x” amount of pulses.

A standard variable resistor, also known as a “pot” or potentiometer can be attached to the axle upon which your arm rotates.

The output of the pot can then be hooked up to an analog input on the RC to show… well… not exactly what ANGLE your arm is at, but certainly how far your resistor has been turned, which is essentially the same thing.

While there are custom pots built specifically for this purpose that offer greater precision and durability, we used a standard, everyday one that you can find at any electronics store on our 2005 robot and it worked (and continues to work) like a charm.

Just make sure that you get a “linear taper” instead of an “audio” or “logarithmic” taper. That way when the pot is turned all the way in one direction your analog input will read “0” (or pretty close to it), halfway around it will read 512, and at the other end of the rotation it will read 1024.

Then you can just tell your motors to turn until the analog input from the pot reaches a certain value that corresponds to the angle you are seeking.

In fact, with a bit of programming you can essentially turn your arm into one big servo motor.