Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 99 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.64 * inHg, (12.7 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [
    (5800 * RPM, 173 * OZF * STD), (5700 * RPM, 168 * OZF * STD),
    (5050 * RPM, 137 * OZF * STD), (4590 * RPM, 105 * OZF * STD),
    (3960 * RPM, 80 * OZF * STD)
]

Arm = 19.5 * IN * STD
Prop.TorqueData = [(5670 * RPM, (10.1 * Arm * OZF)),
                   (4984 * RPM, (7.7 * Arm * OZF)),
                   (4450 * RPM, (6.1 * Arm * OZF)),
                   (3950 * RPM, (4.8 * Arm * OZF))]

################################################################################
Prop.AlphaStall = 20 * ARCDEG
Prop.AlphaZeroCL = 0 * ARCDEG
Prop.CLSlope = .0770 / ARCDEG  #- 2D airfoil lift slope
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 86 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#Standard correction
STD = STDCorrection(30.26 * inHg, (27.2 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(2500 * RPM, 21 * OZF * STD), (3500 * RPM, 46 * OZF * STD),
                   (4500 * RPM, 81 * OZF * STD), (5430 * RPM, 122 * OZF * STD)]

###################################################
# TORQUE DATA NOT YET TAKEN - not from this prop.
###################################################
STD2 = STDCorrection(29.95 * inHg, (28 + 273.15) * K)

Arm = 19.5 * IN * STD2
#                    RPM          TORQUE
Prop.TorqueData = [(6250 * RPM, (7.6 * Arm * OZF)),
                   (6000 * RPM, (7.4 * Arm * OZF)),
                   (5520 * RPM, (6.1 * Arm * OZF)),
示例#3
0
Motor.Imax = 85*A
Motor.ThrustUnit = LBF
Motor.ThrustUnitName = 'lbf'

Motor.xRm = 1000000 
Motor.Pz  = 0.0 

Motor.Weight = 304*GRAM*gacc
Motor.LenDi = [60.2*MM, 48.9*MM] 
Arm=10.5*IN
Arm2=19.5*IN
#
# This data has been corrected for standard day
#
#            RPM,        Torque     Current   Voltage
STD = STDCorrection(30.29*inHg, (9.4 + 273.15)*K)
STD2 = STDCorrection(30.29*inHg, (9.8 + 273.15)*K)
STD3 = STDCorrection(30.25*inHg, (12 + 273.15)*K)
STD4 = STDCorrection(30.2*inHg, (6.667 + 273.15)*K)
STD5 = STDCorrection(30.31*inHg, (-9 + 273.15)*K)
TestData = [(6759  *RPM, (11.1*Arm*OZF)*STD,    53.62*A,    14.8*V),
            (7097  *RPM, (9.8*Arm*OZF)*STD,    42.7*A,    14.8*V),
            (6973  *RPM, (12.35*Arm*OZF)*STD,    54.51*A,    14.8*V),
            (7104  *RPM, (9.78*Arm*OZF)*STD,    43.18*A,    14.8*V),
            (7034  *RPM, (10.99*Arm*OZF)*STD2,    47.68*A,    14.8*V),
            (7166  *RPM, (9.29*Arm*OZF)*STD2,    40.30*A,    14.8*V),
            (6825  *RPM, (11.76*Arm*OZF)*STD2,    51.33*A,    14.8*V),
            (7086  *RPM, (9.41*Arm*OZF)*STD2,    41.61*A,    14.8*V),
            (6776  *RPM, (7.98*Arm2*OZF)*STD3,    63.11*A,    14.8*V),
            (5592  *RPM, (11.0*Arm2*OZF)*STD3,    72.56*A,    14.8*V),
            (5753  *RPM, (9.90*Arm2*OZF)*STD3,    74.31*A,    14.8*V),
Prop.CDCurve    = 2.2          #- 2D curvature of the airfoil drag bucket
Prop.CDp        = .02          #- Parasitic drag

Prop.Weight     = 99*GRAM*gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W 
Prop.PowerUnitName = 'watt' 
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.95*inHg, (17 + 273.15)*K)

#                 RPM,        Thrust
Prop.ThrustData = [(5580 *RPM, 174*OZF*STD),
                   (5010 *RPM, 138*OZF*STD),
                   (4500 *RPM, 111*OZF*STD),
                   (4020 *RPM, 86*OZF*STD),
                   (3540 *RPM, 54*OZF*STD),
                   (2970 *RPM, 45*OZF*STD)]

Arm = 19.5*IN*STD

Prop.TorqueData = [(5520  *RPM, (9.3*Arm*OZF)),
                   (4980  *RPM, (7.3*Arm*OZF)),
                   (4440  *RPM, (5.5*Arm*OZF)),
                   (3990  *RPM, (4.4*Arm*OZF)),
示例#5
0
Prop.CLSlope    = .22/ARCDEG  #- 2D airfoil lift slope .76
Prop.CDCurve    = 2.2          #- 2D curvature of the airfoil drag bucket
Prop.CDp        = .02          #- Parasitic drag

Prop.Weight     = 240*GRAM*gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W 
Prop.PowerUnitName = 'watt' 
Prop.MaxTipSpeed = None



### These are corrected for a standard day
STD = STDCorrection(29.4*inHg, 293.7*K)

Prop.ThrustData = [(2427 *RPM, 202*OZF*STD),
                   (2322 *RPM, 182*OZF*STD),
                   (2102 *RPM, 146*OZF*STD),
                   (1678 *RPM, 93*OZF*STD),
                   (1387 *RPM, 63*OZF*STD),
                   (98 *RPM, 29*OZF*STD)]






################################################################################
if __name__ == '__main__':
示例#6
0
Prop.name = 'Prop 13.5x6'
Prop.D = 13.5 * IN
Prop.Thickness = 5 / 8 * IN
#Prop.PitchAngle = 12*ARCDEG
Prop.Pitch = 5. * IN
Prop.dAlpha = 4. * ARCDEG
Prop.Solidity = 0.014
Prop.RD = 3 / 8
Prop.AlphaStall = 14 * ARCDEG
Prop.CLSlope = 0.07 / ARCDEG

Prop.Weight = 1.25 * OZF

#
# These are corrected for standard day
STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K)

#                  RPM,        Thrust
Prop.ThrustData = [(3200 * RPM, (1 * LBF + 6 * OZF) * STD),
                   (5610 * RPM, (3 * LBF + 2 * OZF) * STD),
                   (7380 * RPM, (3 * LBF + 13 * OZF) * STD),
                   (8640 * RPM, (5 * LBF + 7 * OZF) * STD),
                   (9250 * RPM, (6 * LBF + 11 * OZF) * STD),
                   (10320 * RPM, (7 * LBF + 3 * OZF) * STD),
                   (10410 * RPM, (7 * LBF + 2 * OZF) * STD),
                   (3600 * RPM, (1 * LBF + 2 * OZF) * STD),
                   (4470 * RPM, (1 * LBF + 14 * OZF) * STD),
                   (5580 * RPM, (2 * LBF + 10 * OZF) * STD),
                   (6510 * RPM, (3 * LBF + 8 * OZF) * STD),
                   (7470 * RPM, (4 * LBF + 5 * OZF) * STD),
                   (8280 * RPM, (5 * LBF + 5 * OZF) * STD),
Prop.AlphaZeroCL = 0 * ARCDEG
Prop.CLSlope = .078 / ARCDEG  #- 2D airfoil lift slope
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 4.05 * OZF

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

# These are corrected for standard day
# (Second set of data taken - concern about first set since taken at night)
STD = STDCorrection(30.48 * inHg, (7.22 + 273.15) * K)
STD2 = STDCorrection(30.10 * inHg, (12.7 + 273.15) * K)
Prop.ThrustData = [
    (5700 * RPM, 204 * OZF * STD), (5400 * RPM, 175 * OZF * STD),
    (4800 * RPM, 131 * OZF * STD), (4000 * RPM, 98 * OZF * STD)
]  # this point taken after initial points on Hacker A50. Used to verify good data.

Arm = 19.5 * IN * STD
Arm2 = 19.5 * IN * STD2  # Took torque data in closet with known prop to observe difference between temp
Prop.TorqueData = [
    (5490 * RPM, (9.8 * Arm * OZF)),
    (5000 * RPM, (8.2 * Arm * OZF)),
    (4560 * RPM, (6.5 * Arm * OZF)),
    (4000 * RPM, (4.7 * Arm * OZF)),
    (3525 * RPM, (3.4 * Arm * OZF)),
    # begin 2nd taking of torque data in closet
# Set Propeller properties
Prop = ACPropeller()
Prop.name = 'Prop 14x12'
Prop.D = 14 * IN
Prop.Thickness = 5 / 8 * IN
#Prop.PitchAngle = 12*ARCDEG
Prop.Pitch = 6 * IN
Prop.dAlpha = 0.8 * ARCDEG
Prop.Solidity = 0.021  #0.0125 seems to match the old data better...
Prop.RD = 3 / 8
Prop.AlphaStall = 16 * ARCDEG

Prop.Weight = 100 * LBF

#Standard correction for 2:00 pm for the test day
STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K)
#
# These are corrected for standard day
#
#                  RPM,        Thrust
Prop.ThrustData = [(2370 * RPM, (0 * LBF + 10 * OZF) * STD),
                   (4140 * RPM, (3 * LBF + 2 * OZF) * STD),
                   (5160 * RPM, (4 * LBF + 14 * OZF) * STD),
                   (5880 * RPM, (6 * LBF + 0 * OZF) * STD),
                   (5970 * RPM, (5 * LBF + 10 * OZF) * STD)]

#                   RPM,        Torque
#Prop.TorqueData = [(11000 *RPM, 114.768*IN*OZF)]

################################################################################
if __name__ == '__main__':
Prop.CDCurve = 2.0  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 99 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(30.48 * inHg, (7.22 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [
    (4500 * RPM, 193 * OZF * STD), (4000 * RPM, 178 * OZF * STD),
    (3600 * RPM, 144 * OZF * STD), (3400 * RPM, 130 * OZF * STD)
]

Arm = 19.5 * IN * STD

Prop.TorqueData = [(5520 * RPM, (9.3 * Arm * OZF)),
                   (4980 * RPM, (7.3 * Arm * OZF)),
                   (4440 * RPM, (5.5 * Arm * OZF)),
                   (3990 * RPM, (4.4 * Arm * OZF)),
                   (3450 * RPM, (3.1 * Arm * OZF))]
示例#10
0
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 99 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.93 * inHg, (25 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(5580 * RPM, 170 * OZF * STD),
                   (4920 * RPM, 132 * OZF * STD),
                   (4410 * RPM, 109 * OZF * STD), (3960 * RPM, 85 * OZF * STD),
                   (3480 * RPM, 64 * OZF * STD), (3090 * RPM, 48 * OZF * STD)]

STD2 = STDCorrection(29.92 * inHg, (24 + 273.15) * K)
Arm = 19.5 * IN * STD2

Prop.TorqueData = [(5580 * RPM, (9.3 * Arm * OZF)),
                   (4980 * RPM, (7.1 * Arm * OZF)),
                   (4500 * RPM, (5.7 * Arm * OZF)),
                   (3930 * RPM, (4.5 * Arm * OZF)),
                   (3450 * RPM, (3.4 * Arm * OZF))]
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 115 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Second set of data taken - concern about first set since taken at night
STD = STDCorrection(30.00 * inHg, (22 + 273.15) * K)
STD2 = STDCorrection(29.63 * inHg, (21.1 + 273.15) * K)
STD3 = STDCorrection(30.10 * inHg, (12.7 + 273.15) * K)
Prop.ThrustData = [
    (5520 * RPM, 176 * OZF * STD), (5040 * RPM, 139 * OZF * STD),
    (4590 * RPM, 116 * OZF * STD), (4110 * RPM, 91 * OZF * STD),
    (3540 * RPM, 66 * OZF * STD), (5862 * RPM, 187 * OZF * STD2)
]  # this point taken after initial points on Hacker A50. Used to verify good data.

Arm = 19.5 * IN * STD
Arm3 = 19.5 * IN * STD3  # Took torque data in closet with known prop to observe difference between temp
Prop.TorqueData = [
    (5490 * RPM, (8.3 * Arm * OZF)),
    (5000 * RPM, (6.8 * Arm * OZF)),
    (4560 * RPM, (5.5 * Arm * OZF)),
    (4000 * RPM, (4.3 * Arm * OZF)),
示例#12
0
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 111 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.83 * inHg, (16 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(5142 * RPM, 211 * OZF * STD),
                   (4320 * RPM, 137 * OZF * STD), (3540 * RPM, 93 * OZF * STD)]

Arm = 19.5 * IN * STD

Prop.TorqueData = [(5010 * RPM, (10.8 * Arm * OZF)),
                   (4350 * RPM, (7.8 * Arm * OZF)),
                   (3930 * RPM, (6.6 * Arm * OZF)),
                   (3450 * RPM, (5 * Arm * OZF))]

################################################################################
if __name__ == '__main__':
示例#13
0
Prop.AlphaZeroCL = 0 * ARCDEG
Prop.CLSlope = .065 / ARCDEG  #- 2D airfoil lift slope
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .04  #- Parasitic drag

Prop.Weight = 159.89 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

# These are corrected for standard day
# (Second set of data taken - concern about first set since taken at night)
STD = STDCorrection(30.13 * inHg, (-5 + 273.15) * K)
STD2 = STDCorrection(30.10 * inHg, (12.7 + 273.15) * K)

Prop.ThrustData = [
    (4250 * RPM, 209.2 * OZF * STD), (4250 * RPM, 195.2 * OZF * STD)
]  # this point taken after initial points on Hacker A50. Used to verify good data.

Arm = 19.5 * IN * STD
Arm2 = 19.5 * IN * STD2  # Took torque data in closet with known prop to observe difference between temp
Prop.TorqueData = None

#==============================================================================#
# VISUALIZATION & RESULTS
#==============================================================================#
if __name__ == '__main__':
示例#14
0
#Arm = 19.5*IN

#                   RPM,        Torque
#Prop.TorqueData = [(4290 *RPM, (0.03*Arm*LBF)*STD),
#                   (5790 *RPM, (0.05*Arm*LBF)*STD),
#                   (6330 *RPM, (0.07*Arm*LBF)*STD),
#                   (7650 *RPM, (0.09*Arm*LBF)*STD),
#                   (9220 *RPM, (0.13*Arm*LBF)*STD),
#                  (11920 *RPM, (0.24*Arm*LBF)*STD),
#                  (12750 *RPM, (0.28*Arm*LBF)*STD),
#                   (13600 *RPM, (0.32*Arm*LBF)*STD),
#                   (13800 *RPM, (0.34*Arm*LBF)*STD)]
################################################################################
# Marietta GA
STD = STDCorrection(30.3 * inHg, (21.1 + 273.15) * K)
#                  RPM,        Thrust
Prop.ThrustData = [
    (13440 * RPM, (10 * LBF + 8 * OZF) * STD),
    (12340 * RPM, (10 * LBF + 5 * OZF) * STD),
    (11750 * RPM, (9 * LBF + 0 * OZF) * STD),
    (10650 * RPM, (8 * LBF + 6 * OZF) * STD),
    (10500 * RPM, (6 * LBF + 12 * OZF) * STD),
    (10180 * RPM, (6 * LBF + 0 * OZF) * STD),
    (9630 * RPM, (5 * LBF + 6 * OZF) * STD),
    (8025 * RPM, (4 * LBF + 3 * OZF) * STD),
    (7290 * RPM, (3 * LBF + 4 * OZF) * STD),
    (4070 * RPM, (2 * LBF + 6 * OZF) * STD),
    (2840 * RPM, (1 * LBF + 3 * OZF) * STD),
]
Motor.Kv = 310 * RPM / V  #320

Motor.Vmax = 23.5 * V
Motor.Imax = 55 * A
Motor.ThrustUnit = LBF
Motor.ThrustUnitName = 'lbf'

Motor.xRm = 100000
Motor.Pz = 0.0

Motor.Weight = 445 * GRAM * gacc
Motor.LenDi = [46.8 * MM, 59.98 * MM]

#
# This data has been corrected for standard day
STD = STDCorrection(29.9 * inHg, (23.9 + 273.15) * K)
STD2 = STDCorrection(30.32 * inHg, (5 + 273.15) * K)  #1/14/2015
Arm = 19.5 * IN
#            RPM,        Torque     Current   Voltage
TestData = [(6210 * RPM, (7.5 * Arm * OZF) * STD, 34.8 * A, 23.0 * V),
            (5910 * RPM, (8.7 * Arm * OZF) * STD, 39.0 * A, 21.9 * V),
            (5610 * RPM, (9.9 * Arm * OZF) * STD, 44.2 * A, 21.5 * V),
            (5640 * RPM, (9.3 * Arm * OZF) * STD, 40.5 * A, 21.4 * V),
            (5640 * RPM, (11.9 * Arm * OZF) * STD, 48.2 * A, 21.5 * V),
            (6034 * RPM, (8.9 * Arm * OZF) * STD, 35.8 * A, 22.06 * V),
            (5802 * RPM, (11.1 * Arm * OZF) * STD, 45.2 * A, 21.9 * V)
            ]  #this is actual test data from a test stand

Motor.TestData = TestData

if __name__ == '__main__':
示例#16
0
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 87 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(30.32 * inHg, (5 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(5661 * RPM, 167 * OZF * STD),
                   (5010 * RPM, 128 * OZF * STD),
                   (4500 * RPM, 102 * OZF * STD), (4088 * RPM, 85 * OZF * STD),
                   (3514 * RPM, 61 * OZF * STD)]

Arm = 19.5 * IN * STD
Prop.TorqueData = [(5802 * RPM, (11.1 * Arm * OZF)),
                   (5050 * RPM, (8.4 * Arm * OZF)),
                   (4580 * RPM, (6.85 * Arm * OZF)),
                   (4024 * RPM, (5.3 * Arm * OZF)),
                   (3557 * RPM, (4.1 * Arm * OZF))]

################################################################################
示例#17
0
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket (started at 2.2)
Prop.CDp = 0.02  #- Parasitic drag (started at 0.02)

Prop.Weight = 99 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.79 * inHg, (29.79 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(5460 * RPM, (154 + 18) * OZF * STD),
                   (4500 * RPM, (99 + 18) * OZF * STD),
                   (3990 * RPM, (74 + 18) * OZF * STD),
                   (3540 * RPM, (51 + 18) * OZF * STD),
                   (2970 * RPM, (34 + 18) * OZF * STD),
                   (2520 * RPM, (15 + 18) * OZF * STD)]

STD2 = STDCorrection(29.92 * inHg, (24 + 273.15) * K)
Arm = 19.5 * IN * STD2

Prop.TorqueData = [(5580 * RPM, (9.3 * Arm * OZF)),
                   (4980 * RPM, (7.1 * Arm * OZF)),
                   (4500 * RPM, (5.7 * Arm * OZF)),
示例#18
0
Motor.xRm = 100000
Motor.Pz = 0.0

Motor.Weight = 450 * GRAM * gacc
Motor.LenDi = [48.8 * MM, 64.9 * MM]

# Assign objects to weight classes
Motor.Battery.WeightGroup = 'Electronics'
Motor.SpeedController.WeightGroup = 'Electronics'

Motor.WeightGroup = 'Propulsion'

#
# This data has been corrected for standard day
STD = STDCorrection(30.2 * inHg, (16.1 + 273.15) * K)
Arm = 19.5 * IN
#            RPM,        Torque     Current   Voltage
TestData = [(6030 * RPM, (7.3 * Arm * OZF) * STD, 32.0 * A, 22.8 * V),
            (5670 * RPM, (8.3 * Arm * OZF) * STD, 36.0 * A, 22.2 * V),
            (5430 * RPM, (9.3 * Arm * OZF) * STD, 39.5 * A, 21.5 * V),
            (5340 * RPM, (9.0 * Arm * OZF) * STD, 38.7 * A, 21.1 * V),
            (5370 * RPM, (8.3 * Arm * OZF) * STD, 35.3 * A, 20.9 * V)
            ]  #this is actual test data from a test stand

Motor.TestData = TestData

if __name__ == '__main__':
    import pylab as pyl

    print "V to Motor : ", AsUnit(Motor.Vmotor(Ib=3.75 * A), 'V')
示例#19
0
Prop.CDCurve = 2.2  # - 2D curvature of the airfoil drag bucket
Prop.CDp = .02  # - Parasitic drag

Prop.Weight = 150 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
# Second set of data taken - concern about first set since taken at night
STD = STDCorrection(30.00 * inHg, (22 + 273.15) * K)

Prop.ThrustData = [
    (2179 * RPM, 19.28 * OZF * STD), (2459 * RPM, 91 * OZF * STD),
    (3124 * RPM, 147 * OZF * STD), (3505 * RPM, 187 * OZF * STD),
    (3693 * RPM, 205 * OZF * STD), (3952 * RPM, 235 * OZF * STD)
]  # this point taken after initial points on Hacker A50. Used to verify good data.

# Torque is calculated from motor kv and RPM
# Took torque data in closet with known prop to observe difference between temp
Prop.TorqueData = [(2072 * RPM, (47 * STD * OZF * IN)),
                   (2730 * RPM, (81 * STD * OZF * IN)),
                   (3182 * RPM, (132 * STD * OZF * IN)),
                   (3659 * RPM, (200 * STD * OZF * IN)),
                   (4414 * RPM, (331 * STD * OZF * IN))],
Motor.Kv = 355 * RPM / V

Motor.Vmax = 23.5 * V
Motor.Imax = 55 * A
Motor.ThrustUnit = LBF
Motor.ThrustUnitName = 'lbf'

Motor.xRm = 100000
Motor.Pz = 0.0

Motor.Weight = 445 * GRAM * gacc
Motor.LenDi = [46.8 * MM, 59.98 * MM]

#
# This data has been corrected for standard day
STD = STDCorrection(29.9 * inHg, (23.9 + 273.15) * K)
Arm = 19.5 * IN
#            RPM,        Torque     Current   Voltage
TestData = [(6210 * RPM, (7.5 * Arm * OZF) * STD, 34.8 * A, 23.0 * V),
            (5910 * RPM, (8.7 * Arm * OZF) * STD, 39.0 * A, 21.9 * V),
            (5610 * RPM, (9.9 * Arm * OZF) * STD, 44.2 * A, 21.5 * V),
            (5640 * RPM, (9.3 * Arm * OZF) * STD, 40.5 * A, 21.4 * V)
            ]  #this is actual test data from a test stand

Motor.TestData = TestData

if __name__ == '__main__':
    import pylab as pyl

    print "V to Motor : ", AsUnit(Motor.Vmotor(Ib=3.75 * A), 'V')
    print "Efficiency : ", Motor.Efficiency(Ib=3.75 * A)
Prop.dAlpha = 6.25 * ARCDEG
Prop.Solidity = 0.012

Prop.AlphaStall = 18 * ARCDEG
Prop.AlphaZeroCL = 0 * ARCDEG  #- 2D curvature of the airfoil drag bucket
Prop.CLSlope = 0.09 / ARCDEG  #- 2D airfoil lift slope (default 0.068/deg)
Prop.CDCurve = 2.5  #- 2D curvature of the airfoil drag bucket
Prop.CDp = 0.01  #- 2D parasite drag

Prop.Weight = 1.80 * OZF
Prop.WeightGroup = 'Propulsion'

#
# These are corrected for standard day
#Standard correction for 2:00 pm for the test day
STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K)
#
#                  RPM,        Thrust
Prop.ThrustData = [(4110 * RPM, (1 * LBF + 0 * OZF) * STD),
                   (7770 * RPM, (2 * LBF + 8 * OZF) * STD),
                   (8850 * RPM, (3 * LBF + 10 * OZF) * STD),
                   (9750 * RPM, (4 * LBF + 8 * OZF) * STD),
                   (9960 * RPM, (4 * LBF + 9 * OZF) * STD),
                   (10950 * RPM, (5 * LBF + 12 * OZF) * STD),
                   (11610 * RPM, (6 * LBF + 9 * OZF) * STD),
                   (11910 * RPM, (7 * LBF + 13 * OZF) * STD),
                   (12330 * RPM, (8 * LBF + 8 * OZF) * STD),
                   (12780 * RPM, (9 * LBF + 7 * OZF) * STD),
                   (12870 * RPM, (9 * LBF + 13 * OZF) * STD),
                   (12900 * RPM, (9 * LBF + 15 * OZF) * STD)]
示例#22
0
Prop.name = 'APC 13x4'
Prop.D = 13 * IN
Prop.Thickness = 5 / 8 * IN

Prop.Pitch = 3.5 * IN
Prop.dAlpha = 4.9 * ARCDEG
Prop.Solidity = 0.015

Prop.AlphaStall = 15 * ARCDEG
Prop.CLSlope = 0.065 / ARCDEG
Prop.CDCurve = 2.2
Prop.CDp = 0.01

Prop.Weight = 1.80 * OZF

STD = STDCorrection(30.16 * inHg, (1.667 + 273.15) * K)
#                  RPM,        Thrust
ThrustData1 = [(12080 * RPM, (10 * LBF + 4 * OZF) * STD),
               (11650 * RPM, (9 * LBF + 6 * OZF) * STD),
               (10980 * RPM, (8 * LBF + 13 * OZF) * STD),
               (10280 * RPM, (8 * LBF + 0 * OZF) * STD),
               (9630 * RPM, (6 * LBF + 12 * OZF) * STD),
               (8400 * RPM, (5 * LBF + 3 * OZF) * STD),
               (7215 * RPM, (3 * LBF + 14 * OZF) * STD),
               (6900 * RPM, (3 * LBF + 9 * OZF) * STD),
               (6510 * RPM, (3 * LBF + 2 * OZF) * STD),
               (5610 * RPM, (1 * LBF + 12 * OZF) * STD)]

Prop.ThrustData = ThrustData1

STD = STDCorrection(30.34 * inHg, (15.55 + 273.15) * K)
示例#23
0
Prop.CDCurve    = 2.2          #- 2D curvature of the airfoil drag bucket
Prop.CDp        = .02          #- Parasitic drag

Prop.Weight     = 50*GRAM*gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W 
Prop.PowerUnitName = 'watt' 
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(30.05*inHg, (16 + 273.15)*K)

#                 RPM,        Thrust
Prop.ThrustData = [(5910 *RPM, 138*OZF*STD),
                   (5550 *RPM, 117*OZF*STD),
                   (5010 *RPM, 97*OZF*STD),
                   (4530 *RPM, 80*OZF*STD),
                   (3960 *RPM, 60*OZF*STD),
                   (3450 *RPM, 46*OZF*STD)]

STD2 = STDCorrection(29.90*inHg, (24 + 273.15)*K)
Arm = 19.5*IN*STD2

Prop.TorqueData = [(5920  *RPM, (7.7*Arm*OZF)),
                   (5550  *RPM, (6.6*Arm*OZF)),
                   (4980  *RPM, (5.3*Arm*OZF)),
示例#24
0
Prop.CLSlope = .22 / ARCDEG  #- 2D airfoil lift slope
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 240.9 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None
#
# These are corrected for standard day
#
#Second set of data taken - concern about first set since taken at night
STD = STDCorrection(28.14 * inHg, (294.16) * K)

Prop.ThrustData = [
    (2414 * RPM, 193 * OZF * STD), (2205 * RPM, 161 * OZF * STD),
    (2003 * RPM, 131 * OZF * STD), (1848 * RPM, 108 * OZF * STD),
    (1622 * RPM, 82 * OZF * STD), (1283 * RPM, 50 * OZF * STD),
    (2386 * RPM, 203 * OZF * STD), (2233 * RPM, 177 * OZF * STD),
    (2006 * RPM, 145 * OZF * STD), (1991 * RPM, 141 * OZF * STD),
    (1632 * RPM, 94 * OZF * STD), (1363 * RPM, 68 * OZF * STD)
]  # this point taken after initial points on Hacker A50. Used to verify good data.

################################################################################
if __name__ == '__main__':

    print " D     : ", AsUnit(Prop.D, 'in')
    print " Pitch : ", AsUnit(Prop.Pitch, 'in')
示例#25
0
Prop.CDCurve = 2.2  #- 2D curvature of the airfoil drag bucket
Prop.CDp = .02  #- Parasitic drag

Prop.Weight = 56 * GRAM * gacc

Prop.ThrustUnit = LBF
Prop.ThrustUnitName = 'lbf'
Prop.PowerUnit = W
Prop.PowerUnitName = 'watt'
Prop.MaxTipSpeed = None

#
# These are corrected for standard day
#
#Standard correction
STD = STDCorrection(29.74 * inHg, (16.1 + 273.15) * K)

#                 RPM,        Thrust
Prop.ThrustData = [(2605 * RPM, 9 * OZF * STD), (3071 * RPM, 14 * OZF * STD),
                   (3579 * RPM, 21 * OZF * STD), (4252 * RPM, 33 * OZF * STD),
                   (4927 * RPM, 47 * OZF * STD), (5437 * RPM, 61 * OZF * STD),
                   (6219 * RPM, 86 * OZF * STD)]
#                   (3900 *RPM, 11.25*OZF*STD),
#                   (3720 *RPM, 10.2*OZF*STD),
#                   (3570 *RPM, 9.55*OZF*STD),
#                   (3420 *RPM, 8.8*OZF*STD),
#                   (3210 *RPM, 7.85*OZF*STD),
#                   (3060 *RPM, 7.1*OZF*STD),
#
#                   (4170 *RPM, 11.8*OZF*STD),
#                   (3840 *RPM, 10.3*OZF*STD),