AntennaTracker 1.0 Tuning - CR Servo Deadband?

All,

I am currently using a highly geared-down pan/tilt unit (7:1) in conjunction with high torque, relatively low-speed continuous rotation servos (HSR-264CRH) in both yaw and pitch. A Pixhawk 1 is driving the assembly, running AntennaTracker 1.0.

My antenna tracker configuration is “functional”, but I am having difficulty tuning the PID for yaw, to obtain sufficient response rate. Part of this is an apparent issue in which the tracker points within 20 degrees of target, such that the PWM output to the CR servos is very close to neutral (~1550-1450), for which the servos sit there and buzz without effecting any movement. And so, while there is no true electrical deadband, there is an effective deadband from 1450-1550us (as the servos do no provide significant torque at such a low input). This primarily influences the Yaw axis, as Pitch appears to track sufficiently well.

I have attempted to correct for this by tuning the yaw PID, but as of yet have not found the right combination of sufficient response rate, damping of over/undershoot, and system stability (lack of oscillation).

Aside from the standard approach to iterative PID tuning, has anyone had similar difficulties with slow tracking and steady-state error, and overcome them? I am willing to modify the source code if necessary, but the current Github source is quite ahead of the latest AT release (1.0).

I have included my parameter file.

TrackerParamPost.param (4.0 KB)

Thank you.

1 Like

As an aside, compiling the current state of Antenna Tracker (GitHub source) results in an apparently broken build, that will not arm. Tracker is stuck in (SAFE) mode.

Does anyone know where I can find the source code for Antenna Tracker per the 1.0 release?

Hi Evan, have you figured out how to tune the yaw? as I’m having issues with it too.
The Tracker documentation only has these two sentences about tuning which weren’t helpful.

I concur. When the tracker points slightly away from target I can see the yaw PWM change by small amounts which are not enough to move the servo.
My continuous rotation servo seems to have about 200us dead band where it doesn’t have enough torque to rotate the tracker.
There should be an option to set servo dead zone but it doesn’t seem to exist.