Python script that helps rank RC servo motors against control surface requirements (aileron, rudder, elevator, flaps, tailwheel). Reads a config file and writes a ranked comparison to result.txt.
The script reads conf.txt, which defines:
- Surfaces (control surfaces with their minimum torque and weighting criteria).
- Servos (candidate motors with their specifications).
For each surface × servo combination, it computes a score per criterion (Reliability, GearType, Weight, TorqueNeed), applies the weighting, and writes the totals to result.txt for comparison.
{SurfaceName}={MinTorque}|Reliability={w}|GearType={w}|Weight={w}|TorqueNeed={w}
Where {w} is the weight of that criterion (0-100) and {MinTorque} is the minimum required torque in kg·cm.
Example:
Aileron=4,62|Reliability=70|GearType=80|Weight=90|TorqueNeed=100
{ServoName}={torque}|{weight}|{gearType}|{reliability}
Where:
torque= torque at 4.8V (N·cm)weight= servo weight (g)gearType= gear type rating (0-10)reliability= reliability rating (0-10)
Example:
CORONA DS-843MG=4,8|8,5|10|8
python3 servo-motor-sizing.pyThe script reads conf.txt from the current directory and writes to result.txt.
- Decimal separator in config values uses commas (
,), following the original BR/EU convention used when the script was built. The script handles the conversion internally. - Written in Python 3.
- Originally a one-off tool built to automate servo selection in an RC airplane project.
MIT.