How to determine servo motor angle?
1 Answer
1️⃣ Using the Built-In Feedback Device (Most Accurate Method)
Most industrial servo motors (like the ones you handle in repair environments) use:
- Incremental encoders
- Absolute encoders
- Resolvers
A) Incremental Encoder
An incremental encoder provides pulses per revolution (PPR).
Formula:
θ=NNtotal×360∘\theta = \frac{N}{N_{total}} \times 360^\circθ=NtotalN×360∘
Where:
- NNN = counted pulses
- NtotalN_{total}Ntotal = pulses per revolution (PPR × 4 if quadrature)
- θ\thetaθ = mechanical angle
Example:
Encoder = 2500 PPR
Quadrature decoding → 2500 × 4 = 10,000 counts/rev
If counted pulses = 2500
θ=250010000×360=90∘\theta = \frac{2500}{10000} \times 360 = 90^\circθ=100002500×360=90∘
B) Absolute Encoder
Absolute encoders directly provide position value.
For n-bit encoder:
Resolution=360∘2n\text{Resolution} = \frac{360^\circ}{2^n}Resolution=2n360∘
Example:
17-bit encoder:
360131072=0.00275∘ per count\frac{360}{131072} = 0.00275^\circ \text{ per count}131072360=0.00275∘ per count
Angle:
θ=Encoder Value×Resolution\theta = \text{Encoder Value} \times \text{Resolution}θ=Encoder Value×Resolution
C) Resolver (Common in Industrial Servo Motors)
Resolver outputs sin/cos signals:
θ=tan−1(VsinVcos)\theta = \tan^{-1} \left( \frac{V_{sin}}{V_{cos}} \right)θ=tan−1(VcosVsin)
This gives electrical angle. Drive converts to mechanical angle.