Coaxial Two-Axis Servo Platform Using a Spiral Bevel Gear Differential

Radar antenna servos must hold a line of sight, scan a sector at a controlled rate, and do so within a fixed envelope and mass budget. A conventional two-axis pedestal stacks an elevation axis inside an azimuth axis. The elevation motor, encoder, and antenna load are carried by the azimuth structure. This serial layout is mechanically straightforward and can achieve high structural precision, but it increases the moving mass and complicates cable routing when the available space is small.

A different layout places both drive motors, both encoders, and the main bearings on a common axis in the base and generates elevation through the relative motion of two coaxial members. A spiral bevel gear pair supplies the intersecting-axis transmission for this differential action. The arrangement shortens the axial stack, simplifies the harness path, and reduces the mass that the azimuth axis must move. Its cost is a kinematic coupling between the two axes: the elevation output depends on both motor positions, so the controller must decouple the commands before the servo loops close. The host commands either a constant scan rate or a fixed pointing angle.

Spiral bevel gear pair
A spiral bevel gear pair transmits motion between intersecting shafts with a curved tooth trace and gradual meshing.

Mechanical Layout and Differential Kinematics

The platform is built around a common base axis. The azimuth motor, elevation motor, azimuth encoder, elevation encoder, azimuth bearing, and elevation bearing are mounted coaxially. Both axes use torque motors for direct drive; the elevation path passes through a Gleason spiral bevel gear stage. The azimuth motor drives an azimuth adapter, and the elevation motor drives an elevation cantilever. Relative rotation between these coaxial members moves the bevel pinion against the driven gear and turns the output turntable that carries the antenna.

Let the bevel pinion have \(z_1\) teeth and the driven gear \(z_2\) teeth. The gear ratio is

$$i_G=\frac{z_2}{z_1}=\tan 35^\circ=0.7.$$

Because \(i_G<1\), the bevel stage is speed-increasing: one revolution of the output turntable corresponds to 0.7 revolution of the driving member. Rotating the elevation motor alone by \(\theta_1\) produces an output rotation \(\theta_2=\theta_1/i_G\). Rotating the azimuth motor alone by \(\theta_3\) also changes the elevation output by an amount of magnitude \(\theta_3/i_G\), because the bevel mesh is common to both inputs. To hold elevation fixed during an azimuth rotation, the elevation motor must follow by the same angle, \(\theta_5=\theta_3\).

With a consistent sign convention, the output azimuth \(\psi\), output elevation \(\phi\), azimuth motor angle \(\theta_A\), and elevation motor angle \(\theta_E\) satisfy

$$\psi=\theta_A,\qquad \phi=\frac{\theta_E-\theta_A}{i_G}.$$

The command law used by the controller is the inverse of this relation:

$$\theta_A=\psi,\qquad \theta_E=\psi+i_G\phi.$$

The elevation motor therefore receives both the azimuth motion and the geared elevation offset. This is the origin of the coupling: a position error or zero offset in either motor appears in the output elevation. To keep the decoupling in one place, both axes are controlled by a single DSP-and-FPGA driver. Cross-axis information is exchanged inside the DSP rather than between two independent drives, which reduces communication delay and preserves real-time decoupling.

Acceleration and Torque Sizing

Acceleration sizing considered two requirements: velocity-loop bandwidth and system response time. A 40 Hz small-signal velocity-loop bandwidth at a sinusoidal amplitude of 0.5°/s requires

$$\varepsilon_{bw}=A_m(2\pi f_{bw})=0.5^\circ/\mathrm{s}\times2\pi\times40\,\mathrm{Hz}=125.66^\circ/\mathrm{s}^2.$$

An engineering reference of 20°/s² was also noted for maximum acceleration where no explicit requirement was stated. The value used in the integrated torque calculation, after combining bandwidth and response-time considerations, was 150°/s².

Load torque includes inertia and bearing friction. The inertia term combines motor inertia and reflected load inertia obtained from the 3D model. Friction was estimated from \(M_f=\mu P d/2\), with \(\mu=0.0015\), \(P\) evaluated at 2g, and \(d\) the bearing bore. The resulting axis values are listed in Table 1.

Table 1. Torque sizing for the two axes.
Axis Load inertia J (kg·m²) Inertia torque (N·m) Friction torque (N·m) Load torque used (N·m) Motor torque with 2.0 factor (N·m)
Elevation 0.03 0.0785 0.00294 0.1079 0.216
Azimuth 0.07 0.183 0.00183 0.185 0.370

The azimuth axis requires the larger motor torque because its load inertia is larger. The elevation axis has the smaller inertia but also carries the bevel stage and the differential error path. These torque values set the current ratings and the loop gains used in the drive.

Three-Loop Servo and Current Control

The controller uses a classical three-loop structure. The position and velocity loops are PID controllers; the current loop is a PI controller. Velocity and acceleration feedforward reduce dynamic lag during scanning. The host controller sends output-axis commands over RS422. The decoupling module converts those commands into azimuth- and elevation-motor coordinates before the position loops execute, so the servo closes on motor position while the host continues to command antenna pointing.

Current control uses stator-field-oriented control. The d- and q-axis PI regulators include active damping, back-EMF and cross-coupling feedforward, and vector anti-windup. A seven-segment SVPWM stage drives the inverter. Current sampling uses two shunt resistors with delay-free sampling and current prediction. Rotor position comes from a resolver. Because the motors operate mainly at low speed relative to their maximum speed, field weakening is not used and SVPWM remains in its linear range. The vector limiter is applied jointly in the synchronous frame with a limiting radius of \(V_{dc}/3\), rather than as independent d- and q-axis limits.

With \(K_p=L_a\omega_c\) and \(K_i=R_a\omega_c\), the simplified current loop behaves as

$$\frac{i_a}{i_a^*}=\frac{\omega_c}{s+\omega_c}=\frac{1}{T_c s+1},$$

where \(T_c=1/\omega_c\). In the simplified model, this tuning gives a first-order response without overshoot or steady-state error. The bandwidth is \(\omega_c\), and the design value was \(f_c=500\) Hz. Current-loop bandwidths in such drives commonly range from 500 Hz to 2 kHz, with small low-inductance drives reaching 3–5 kHz. The 500 Hz choice matches the motor electrical time constant and the required loop stiffness.

The two-axis driver uses a DSP for host communication and servo algorithms and an FPGA for signal routing and acquisition. Its main parameters are listed in Table 2.

Table 2. Two-axis driver parameters.
Parameter Unit Value
Supply voltage V 18–36
Rated current A 6
Peak current A 12
Motor channels — 2
Communication — RS422/485, CAN, PWM
Feedback — resolver, SSI, BiSS-C, Hall
Mass kg 0.25
Dimensions mm 120 × 80 × 16

The control software handles host communication and command parsing, kinematic decoupling, encoder acquisition and zero correction, position and velocity loop calculation, current-loop control and SVPWM, and fault handling. Protection functions cover communication faults, encoder faults, position and velocity exceedance, current exceedance, overcurrent, open circuit, overvoltage, undervoltage, and overtemperature.

Encoder Interface and State Estimation

Each axis uses an absolute encoder with an SSI interface. The link runs at 2 Mbps with a 10 kHz data period. The 24-bit frame contains 22 bits of position, one parity bit, and one alarm bit (Table 3).

Table 3. SSI frame fields.
Bit field Name Meaning
D23–D2 PD[21:0] Binary position. If the resolution is below 22 bits, the most significant bit is zero; the least significant bit is at D2. Undefined when the alarm bit is 1.
D1 P Parity: 0 for an even number of ones in D23–D2, 1 for an odd number.
D0 A Alarm: 0 normal, 1 error.

The encoder is selected for medium resolution and medium accuracy. A full-order phase-locked-loop observer filters the position signal and estimates speed and acceleration. This reduces quantization noise in the velocity loop and supplies the acceleration signal used for feedforward.

Static Error Budget

The static measurement budget included encoder system accuracy, quantization, and machining and assembly misalignment. The root-sum-square error was

$$\Delta_{m-\mathrm{abs}}=\sqrt{\Delta_1^2+\Delta_2^2+\Delta_3^2}=\sqrt{40^2+1.236^2+5^2}=40.33”,$$

with \(\Delta_1\le40”\), \(\Delta_2=1.236”\), and \(\Delta_3=5”\). The position-control repeatability was bounded by

$$\Delta_{p-\mathrm{rpt}}\le4\times1.236=4.944”.$$

Because the repeatability bound is much smaller than the measurement root-sum-square error, the absolute position accuracy was estimated as approximately \(40.33”\). The error terms are summarized in Table 4. This budget describes the encoder and assembly chain; it does not include bevel-stage backlash or differential error accumulation.

Table 4. Static error budget.
Error source Value (arcsec)
Encoder system accuracy Δ1 ≤40
Resolution quantization Δ2 1.236
Machining and assembly Δ3 5
Root-sum-square measurement error Δm-abs 40.33
Position-control repeatability bound Δp-rpt 4.944
Estimated absolute position accuracy ≈40.33

Positioning Tests and Error Sources

Tests used a laser precision angle measurement platform and a graphical host interface. For azimuth, the elevation axis was locked and a photoelectric target ball was mounted on the azimuth load. The platform was commanded to set points from -50° to +50° in 5° steps. The azimuth axis mechanical range is ±90°, but the target-ball mounting limited valid collection to ±50°. For elevation, the azimuth axis was locked and the elevation axis was commanded from -90° to +90° in 5° steps.

Table 5. Positioning results.
Axis Test range Step Maximum absolute error Worst point Requirement
Azimuth -50° to +50° 5° 0.09° set -30°, measured -30.09° ≤0.1°, met
Elevation -90° to +90° 5° 0.16° set -75°, measured -75.16° ≤0.1°, not met

Azimuth positioning stayed within 0.09°, meeting the 0.1° pointing requirement. The worst azimuth point was a set value of -30° with a measured value of -30.09°, an error of -0.09°. Elevation reached 0.16°, exceeding 0.1°. The worst elevation point was a set value of -75° with a measured value of -75.16°, an error of -0.16°.

Three mechanisms explain the larger elevation error. First, the bevel stage is speed-increasing (\(i_G=0.7\)), so backlash and tooth-to-tooth transmission error at the pinion are magnified at the output by \(1/i_G\). Second, the output elevation is a differential function of both motor positions; encoder errors, servo errors, and zero offsets from the azimuth and elevation motors accumulate in the same output. Third, the lightweight structure and the target ball mounted at the outer edge of the elevation axis produce an eccentric moment that the elevation servo must resist. These effects also explain why the measured positioning errors are larger than the encoder-and-assembly error budget alone.

Design Implications

The coaxial spiral bevel gear layout meets the central mechanical objective: it replaces two orthogonal drive axes with two coaxial drives, shortens the axial stack, simplifies cable routing, and reduces moving mass. The cost is a servo plant in which elevation is generated by a geared difference, so transmission error and motor-position error are not isolated from the pointing output.

The platform demonstrated basic pointing capability. Azimuth met the 0.1° target, while elevation reached 0.16° and did not fully meet it. The low-speed servo design, with 22-bit position feedback, full-order observation, and feedforward, provides the basis for smooth scanning; the positioning tests establish the pointing baseline. Further improvement requires tighter gear manufacturing and backlash control, better compensation of the differential error, and attention to eccentric loading in the elevation structure. The coaxial arrangement is therefore most attractive where envelope and mass dominate, provided that the bevel-stage error is included in the servo error budget from the start.

Scroll to Top