-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mag calibration never succeeds with pan reduction gear #126
Comments
For a better understanding about mag calibration, please read first pan servo calibration document. Automatic pan servo calibration proccess first calibrate mag and then continues tryning to figure out the best the stop pulse. But you always can first manually configure the stop pulse using the arrows or writting dwon the value, an then calibrate de mag. Onces the stop pulse si properly configured every time you calibrate de mag it shoudl stop. Finally, from the doc you can deduct mag calibration process is based on spinning time. There are many u360grs based antenna tracker running out there and they work great, no more calibration spinning time seems to be necesary by experience. |
Thanks for your reply. I will take videos to demonstrate the problem. |
Here you find videos showing the behavior when performing a calibration run, and commanding the tracker to turn to main directions north, east, south and west respectively. 01 calibration (around) north: 01calnorth Findings: |
Accidentally I found a way to calibrate the magnetometer. Guess what? Absolute angle accuracy now is better than 3°. Thank you Raul and all others for the great design u360gts. Please include this finding in your documentation as a solution. The problem took a lot of time, not to be supposed to happen any once more. Settings now are: PS: The dependency of both calibrations from the Starting Calibration Pulse possibly is the solution to my initial observation of mag calibration never succeeds versus pan calibration does it - somehow. Must have been a different "Starting Calibration Pulse" width. |
Calibrating mag is really confusing, and must be implemented in a better way that doesn't ever require to adjust anything in the configurator. I also had a lot of troubles with that. |
I ran into exactly the same issue. Starting calibration pulse needs to be smaller (higher rate) to complete the full 360o for mag calibration, but larger for correct pan calibration. I'm making compass code changes to detect a full tracker turn, versus the current 10 second (fix) mag calibration interval regardless of speed. |
@AlexC176 Have You finished the changes? |
I'm actively working on (and testing) the revised pan calibration code, it is not ready for a merge yet. Thank you for asking. |
Can you please post the line from the code with current 10 second (fix) mag calibration interval |
It should be line 115 in src/main/sensors/compass.c
|
The design uses a 3:1 pan reduction gear.
When invoking a mag calibration, the calibration run turns the tracker's turret some 180° only. After that, the configurator reports mag calibrated. However, this incomplete run leaves the calibration in an unusable state.
Only a pan calibration does the job, somehow. In case, the calibration start value is short enough, the pan calibration run does make it by turning the turret over more than a full round. However, there typically remains an anglular range, where pan angle error is max and a positioning overshoot happens. The latter working perfectly on most of the other angular range. u360gts reports remaining errors of +/- 2° at max.
I suspect the mag calibration to not perform optimally when done whilst a servo calibration run. Rather, the mag calibration should take care for the geared operation.
Since I have no idea, how the mag calibration run is ruled, I'd like to make two suggestions on probable improvements.
Suggestion 1
In case, calibration is just ruled by a time-constraint, increase time of calibration run. Best was to introduce a pan gear ratio as supposed in #40
Suggestion 2
In case, the calibration run is ruled by a sophisticated algorythm, introduce a finish constraint by just detecting two full 360° turns or on full turn at least for the sake of "mission completed". I suggest the criteria to be the second occurrence of all magnetometer axe's maximum whilst turning.
The text was updated successfully, but these errors were encountered: