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)),
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)),
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__':
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))]
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)),
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__':
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__':
#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__':
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))] ################################################################################
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)),
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')
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)]
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)
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)),
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')
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),