September 8, 200916 yr Moderator I have a rather interesting problem, the solution to which has thus far escaped my grasp...For a gear driven prop with 1:1.67 gear reduction ratio...Depending on the power setting the propeller pitch is adjusted such that the required RPM will be obtained as shown in the following diagram (which I've changed to a table for the forum). Imagine an inverted bell curve with the lowest point centered at 1750 rpm. BTW, the following only applies while the a/c is airborne. On ground, normal prop rpm is in effect.Because it is direct drive, while flying even at flight idle (0% Load), the prop is effectively "spinning the engine", hence the odd curve. At around 25% Load, the engine returns to "spinning the prop" which is of course why the prop rpm begins increasing again.-------------------------------------------------------------------------------------------LOAD%...........RPM0...................210025.................175050.................188075.................2030100...............2300 For sim purposes, I've tied the prop pitch and throttle% together. This a/c has an automatic prop pitch that's directly proportional to power, which works well enough as I've coded it in my C gauge, but for "display purposes" I need to calculate a non-linear RPM value return based on the above criteria.While I can easily script ranges where a different offset value is applied, this means the offset value remains constant throughout the range of the condition. Passing from one range to another results in "jumps" of both the digital display and the tape display.For example, for the range 0 to 25, an offset of - 2716 will result in @PropRpm1 "scaling" smoothly from 2300 to 1750. For the range 25 to 50, an offset of 455 scales fairly smoothly from 1750 to 1880.The response begins to be increasingly "wonky" above 50% power though: <Macro Name="Throttle1">(A:GENERAL ENG THROTTLE LEVER POSITION:1, percent)</Macro> <Macro Name="Throttle2">(A:GENERAL ENG THROTTLE LEVER POSITION:2, percent)</Macro> <Macro Name="PropRpm1"> @Throttle1 26 < if{ 2716 (A:Prop1 RPM,RPM) - } @Throttle1 25 > @Throttle1 51 < and if{ (A:Prop1 RPM,RPM) 455 + } @Throttle1 50 > @Throttle1 76 < and if{ (A:Prop1 RPM,RPM) 160 + } @Throttle1 76 > if{ (A:Prop1 RPM,RPM) } </Macro> Has anyone an idea for a "better approach" to this? Fr. Bill AOPA Member: 07141481 AARP Member: 3209010556 Avsim Board of Directors | Avsim Forums Moderator
September 9, 200916 yr Bill, Maybe try a table using CASE for the PWR settings above 50%. @Throttle1 50 > @Throttle1 76 < and if{ 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 25 @Throttle1 50 - Near Case (A:Prop1 RPM,RPM) + } The values of the case example just represent the placement for the PWR setting offset. Just an idea thats all. Another thing to look at is the maximum case values available.. I know there is, just cannot remember.Roman FS RTWR SHRS F-111 JoinFS Little Navmap
September 9, 200916 yr I'm not sure that I've fully understood the problem nor how (A:Prop1 RPM,RPM) varies. However, there does seem to be a discrepancy between ranges as shown in the following table. I've attempted to work back to calculate what (A:Prop1 RPM,RPM) should be at the tops and bottoms of the ranges to give the required value for PropRpm1:@Throttle1...PropRpm1...Offset.....(A:Prop1 RPM,RPM)?..............0...........2100......2716............................616..........24.9..........1750.......2716............................966..........25.1 .........1750........455...........................1295..........49.9......... 1880........455...........................1425..........50.1..........1880........160...........................1720..........74.9..........2030........160...........................1870..........75.1..........2030...........0...........................2030...........100..........2300...........0...........................2300 In general if you have pairs of values (x0, x1) and (y0, y1) and given a value for x you want to interpolate linearly between them to get the corresponding value of y then the following should do it (E&OE): x x0 ≥ x x1 < and if{ y0 y1 y0 - x x0 - * x1 x0 - / + } Gerry Howard
September 10, 200916 yr Author Moderator Thank you both, gentlemen. You've given me some alternates with which to explore...I'll try out both and see which works out best and/or easiest. It's only the case from 75% and above that's given me a real problem... :(No matter what, I have to keep (A:Prop1 RPM,RPM) in the "formula" because it will allow the final value to "fluctuate" just a bit... :( Fr. Bill AOPA Member: 07141481 AARP Member: 3209010556 Avsim Board of Directors | Avsim Forums Moderator
September 10, 200916 yr If you want the curves to be really nice and smooth, I'd do a quadratic regression on your data points. There should be info online, probably even pages that'll do that for you. You'd probably have to combine two equations, however: one between 0 and 25, and one from 25 through 100, since the two sides of your distorted parabola sound nowhere near symmetrical. Still, this should not be hard, as you can just invent 1 extra point (if needed) in order to flatten each curve's slope out right around 25... meaning the two curves will fit your data very well, and will fit together nicely right at 25% load. In fact, hold on... Found an applet that does this. These two equations below meet at x=25 (25% load) pretty nicely, and they're nice smooth curves running through (or very close to) all of your data points.y = .56x^2 - 28x + 2100 [for 0 to 25]y = .056x^2 + 0.2x + 1715 [for 25 to 100]x is load %y is RPMThe only issue, really, is... is that much precision in the load/rpm relationship needed so badly as to justify the horsepower needed for those continual computations? Your call, obviously, but I'd be interested to see if that actually gets you what you're looking for.Oh, in case I copied a number wrong or whatever, you can redo the regression process at: http://science.kennesaw.edu/~plaval/applets/QRegression.htmlScott I have a rather interesting problem, the solution to which has thus far escaped my grasp...For a gear driven prop with 1:1.67 gear reduction ratio...Depending on the power setting the propeller pitch is adjusted such that the required RPM will be obtained as shown in the following diagram (which I've changed to a table for the forum). Imagine an inverted bell curve with the lowest point centered at 1750 rpm. BTW, the following only applies while the a/c is airborne. On ground, normal prop rpm is in effect.Because it is direct drive, while flying even at flight idle (0% Load), the prop is effectively "spinning the engine", hence the odd curve. At around 25% Load, the engine returns to "spinning the prop" which is of course why the prop rpm begins increasing again.-------------------------------------------------------------------------------------------LOAD%...........RPM0...................210025.................175050.................188075.................2030100...............2300 For sim purposes, I've tied the prop pitch and throttle% together. This a/c has an automatic prop pitch that's directly proportional to power, which works well enough as I've coded it in my C gauge, but for "display purposes" I need to calculate a non-linear RPM value return based on the above criteria.While I can easily script ranges where a different offset value is applied, this means the offset value remains constant throughout the range of the condition. Passing from one range to another results in "jumps" of both the digital display and the tape display.For example, for the range 0 to 25, an offset of - 2716 will result in @PropRpm1 "scaling" smoothly from 2300 to 1750. For the range 25 to 50, an offset of 455 scales fairly smoothly from 1750 to 1880.The response begins to be increasingly "wonky" above 50% power though: <Macro Name="Throttle1">(A:GENERAL ENG THROTTLE LEVER POSITION:1, percent)</Macro> <Macro Name="Throttle2">(A:GENERAL ENG THROTTLE LEVER POSITION:2, percent)</Macro> <Macro Name="PropRpm1"> @Throttle1 26 < if{ 2716 (A:Prop1 RPM,RPM) - } @Throttle1 25 > @Throttle1 51 < and if{ (A:Prop1 RPM,RPM) 455 + } @Throttle1 50 > @Throttle1 76 < and if{ (A:Prop1 RPM,RPM) 160 + } @Throttle1 76 > if{ (A:Prop1 RPM,RPM) } </Macro> Has anyone an idea for a "better approach" to this?
September 11, 200916 yr Author Moderator Thanks! Now that's an interesting applet...Here is the actual performance graph I need to emulate:These two equations seem like they will be a close enough "fit" to the curve......it will be simple enough to try out, in any case. I can add a <tag> to keep the update rate down to about 1 second, so it shouldn't be too much of a strain. ;)Shot at 2009-09-10 Fr. Bill AOPA Member: 07141481 AARP Member: 3209010556 Avsim Board of Directors | Avsim Forums Moderator
September 23, 200916 yr Thanks! Now that's an interesting applet...Here is the actual performance graph I need to emulate:These two equations seem like they will be a close enough "fit" to the curve......it will be simple enough to try out, in any case. I can add a <tag> to keep the update rate down to about 1 second, so it shouldn't be too much of a strain. ;)Shot at 2009-09-10Hello Bill,EXCEL will do the same. Create an X-Y diagram, add a trend (or however this is called in english version), use polynomic (3rd power) and tick to show the equation in the diagram. I've got y = -0,0019x3 + 0,432x2 - 22x + 2092Herbert
Create an account or sign in to comment