Closed dany93 closed 9 years ago
You've seen the c172s POH? It has 180hp and while the prop etc might vary, it has perf tables for climb and takeoff etc.
The new planes are just heavier with all the leather seats and sound insulation so useful load is less.
I will try to test this - the extra 30 horsepower are really needed on the float version, it is really really easy to get to the "too slow" flight regime and just sink into the trees if you really are not careful - 160HP is quite dangerously underpowered for the floats.
The propeller on OH-CTL's STC says either Hartzell HC-C2YX-1A/7666A-O which is a constant-speed propeller, or a McCauley 1A200-DFA, the fixed pitch propeller that OH-CTL has.
Google says this: "Has anyone put a McCauley 1A200/DFA prop (82" diameter by 42" pitch) on a Lycoming O-360 A1A engine. I realize that Penn Yan has an STC for this prop in their 180 HP conversion for Cessna 172's, but the problem for me is it doesn't cover my model Cessna (E, 1964) or my engine (the A1A variety)."
This is the Penn Yann "Superhawk" conversion that CTL has, so there might be your pitch and diameter? Is 82" and 42" pitch acting weird? Sorry that I don't know enough of the fdm stuff to be able to test effectively myself :-/
Thank you tigert, for your POH for 180hp and your following.
I have tested a bit more with the propeller which is currently in my branch. By default in my file, the propeller is a 76" diameter, 20° pitch (which should do 62.5" pitch at 75% diameter if no mistake). That is, same diameter as your 552SP POH above.
My results: Default gear, 2550 lbs, basic weather (about 20°C SL)
Finally. compared with your POH, it is not as far as I thought at first view.
If you feel interested at doing tests, I can make a prop file with kind of a variable pitch propeller (manually variable by entering values in the Properties, "set"). No need to know the FDM technique. Moreover, by opening the prop file, you could also enter other diameters (one value to change in a line).
I am sceptical about higher diameters. They imply lower pitch, which limits the cruise velocity. This (FG) aircraft is kind of "swiss knife" (cannot be realistic everywhere), not only for floats. My opinion is "default-gear" performance priority. 78" diameter with 18 or 19° pitch, maybe...
Do you know if we if there is a mechanism for switching the FDM properties such as HP on the fly, can we do it on the changeover to floats? I really hope there is a way, as this along with the "water" FDM changes would give some meat to the float plane.
I think the float verdion should be a separate -set.xml, it takes work to switch the gear to floats. Handy to switch for testing, but less realistic. Then the HP could be different?
I don't think there should a separate -set.xml file. I find it annoying if you have to go back to the launcher, shutdown and restart FG just to get floats.
Although we could decide to disable the radio buttons in the aircraft dialog while the aircraft is in the air.
I agree with onox, we have managed to make "everything" contained to one and switchable "by design". I would really hate to loose that. I don't even see the necessity to limit when you switch. If I am flying for hours on wheels and see a lake I want to land on (real or not) I want to be able switch.
"Then the HP could be different?' So you saying, you don't think it can be implemented "on the fly"?
Do you know if we if there is a mechanism for switching the FDM properties such as HP on the fly, can we do it on the changeover to floats?
No. I asked the question for changing engine and propeller by the properties, in order to have two motorisations with one FDM, selected by two -set.xml files. AndersG answered that it was impossible for one and very difficult for the other. I do not not remember his exact words, and I can't retrieve his message.
@dany93 How about defining two engines in c172p.xml
? That would be like having a twin prop, except we only run one of the engines.
Two engines and two propellers. No problem to have two sets in the FDM. Currently, I have this in the file that you can test, I have not deleted the lines which give the original engine and prop files. But I know no mean to switch from Nr1 to Nr2, other than comment / uncomment the lines. AndersG is the best for this.
EDIT: I realize that I had not well understood your suggestion. To be thought of. You will need the controls for changing and controlling the engines. I do not know if we can have two different propeller files.
What about /fdm/jsbsim/propulsion/active_engine
?
And perhaps properties like or /fdm/jsbsim/propulsion/engine[i]/set-running
/fdm/jsbsim/propulsion/engine[i]/friction-hp
?
Yes, there has to be a way, if we can simulate twin engines and isolate their individual properties, then we should be able to cheat by positioning them at the same coords and zeroing out the one we are not using. There may be some trickery on weight adjustments necessary.
The first thing would be to look at an aircraft like the Piper SenecaII. It has two engines, which can be started and controled separately. Propellers too. The FDM has the two engines and two propellers, but with only one engine file and one propeller file (common file for each). The two engines can be at the same place, they do not add weight (although we would have to take into account the extra weight from the 180 hp, like with the floats). I do not know what it does if we put two different file names for the two engines and propellers. The most difficult by far is probably to replace and condition the controls for each motorization by something like "wheels"=1 or "float"=1, and make this "transparent" for the pilot (same levers, buttons,....). If you wish, I can do a FDM file with these two sets. The difficulty is later. If it worked, it would be a very elegant solution. But the risk (even if you succeed) is to make this aircraft more and more complicated by dint of trying to have it doing so many functions. And discouraging for future maintainers. This said, I am admiring that you succeeded at sticking to this principle up to now.
Otherwise, having two c172-set and two FDMs would much more simple, but at the price of maintaining two FDMs (and loosing wlbragg's pleasure to decide a landing on an unexpected lake). Possible for rare and small changes, quickly hard for important changes. With the risk of priority on one FDM at length for the improvements. Advantage: much more flexibility.
Also, why not a single 180 hp motorization? Even if optimized for the default wheels, it would not be so bad with floats.
Could we just do that trick with the mixer lever again? Create functions for the throttle, mixture, etc. for each engine. And use a property to toggle between the two engines.
Hmm.. I see properties like fcs/mixture-primer
, but I don't understand how a difference is made between the two engines in the FDM. I'm too tired now :sleepy:
@onox, fair points for keeping it in one, too. Kind of "one aircraft, many roles", which is true.
The bush tires are a bit of a fantasy I think, but they sure are fun too. :-)
on the other hand, this doed look absolutely beautiful :-)
http://farm2.staticflickr.com/1136/4729783882_525e9e6502_z.jpg
"Texas Taildragger" conversion of a C172. For 3.8? ;)
"The bush tires are a bit of a fantasy I think" How do you figure? https://www.google.com/search?q=c172+bush+tires&tbm=isch&tbo=u&source=univ&sa=X&ved=0CCkQ7AlqFQoTCMCvx6q0icYCFQQ3rAodaCsAQQ&biw=1416&bih=886#imgrc=JI3iOPLwOQEMRM%253A%3BMZ-m1-Xzm4XoPM%3Bhttp%253A%252F%252Fhitchcockaviation.com%252Fimages%252FFreemans182AZ.jpg%3Bhttp%253A%252F%252Fhitchcockaviation.com%252Fdetail.php%253Fitem%253D6%2526cat%253DAirglas%252520Nose%252520Forks%3B500%3B374
Definitely, taildragger, consider it done for 3.8 :)
Could we just do that trick with the mixer lever again? Create functions for the throttle, mixture, etc. for each engine. And use a property to toggle between the two engines.
Good idea. These controls (like magnetos and throttle) can be made to act separately on each engine Close to this, we might use magnetos to deactivate one engine. But mixture and magnetos commands interfere with the animations already done. Because upstream, the magnetos, throttle and mixture commands act simultaneously on both engines, their use would necessitate to have the corresponding animation conditional.
I would prefer using a second float chamber (tank[3]. No interference neither with current animations, nor with usual controls.
An engine with propulsion/tank[3]/priority = 0
would merely get the commands but do nothing.
Only instruments animations like RPM, oil pressure, Temperature, (... ?) would have to be made conditional.
Let me some time, I will see if it can work, at least for the feasibility (I wonder for the propeller).
Would a windmilling propeller create drag in the case of two virtual engines?
I hope that it would not be windmilling, that the engine would remain stopped. It was like this at my test with the usual config (single engine) up to ~ 160 KIAS..
Isn't it easier to just add two tubes from the chamber tank to the two engines? And open/close the tubes. I don't know if JSBSim supports tubes and valves though :stuck_out_tongue_winking_eye:
It was not my preference but I just finished to do this system because I had difficulties to manage the logic for this double float chamber. Easier because I keep the same float chamber, which feeds both engines. To select the active engine, the magnetos ( = 0 or > 1) work as well as a double chamber tank. A drawback is that both magnetos are simultaneously controlled by the keys "{" and "}" (unless set differently, which is not the case currently). Thus, if someone activates by "{", the other engine may start (in fact not so easily, the starter can also be declared as selective).
About "opening/closing the tubes" (valves) I do not know how to do it, even whether it is possible or not. For me that will not be easier than having the second float chamber working (I guess). I think that is contradictory with the fact that you need a tank to be assigned to directly feed an engine in the FDM. If you cut the feeding, it is upstream or by declaring "this tank does not feel the engine" (priority=0).
I have implemented this "selectivity by magnetos" rather to be able to quickly test the possibility of two separate engines and propellers.
The good news is that it is possible, I have the power and the prop for each configuration, and I select the set engine + propeller. If you want, I can push this into a branch. It is enough for you to start solving the animations and controls for the second engine (see below).
Not very pleasant: the "s" starts only the original engine, I have to manually set the engine[1]/starter
properties to start the other one. I cannot find why, the magnetos, throttle and mixture properties are controlled by the keyboard simultaneously (not selectively) for both engines. But I guess you are able to solve that.
Differently from I hoped, the second engine is not controlled by the levers (throttle, mixture) and magneto key on the dashboard. Extra bindings will have to be done for these objects.
The engine instruments do not work with the second engine, but that was expected.
Unless you feel that is enough, I am working on having a second float chamber, at least because of this magneto control (too easy access). But it can be avoided if you make the starter selective for the active engine and feel the selection by magnetos is enough. Anyway if I succeed, you will have both systems available for selecting an engine + propeller.
@dany93 Where do you set engine[1]/starter
? I see engine[0]/starter
is set in Nasal/electrical.nas
.
I also see there is a second property systems/electrical/outputs/starter[0]
.
I think it's best to remove the setprop()
calls for engine[0]/starter
in Nasal/electrical.nas
and instead check the voltage in an .xml file and then start the current engine. Look at Systems/als-lights.xml
to see what I mean.
Or do the voltage checking + starting the current engine in JSBSim if you think that's better.
@dany93 Look in Nasal/controls.nas
in fgdata. It defines adjMixture
and adjThrottle
, which both use adjEngControl
, which shows you need to toggle /sim/input/selected/engine[0]
and /sim/input/selected/engine[1]
.
Where do you set engine[1]/starter?
Internal Properties, /controls/engines/engine[1]/starter = false or true (bool)
Ctrl-click for ON, second Ctrl-click for OFF, or "set" 0 or 1.
It toggles only for an engine which is not already controlled by the starter key (e.g. engine[1]).
Look in Nasal/controls.nas in fgdata. It defines adjMixture and adjThrottle, which both use adjEngControl, which shows you need to toggle /sim/input/selected/engine[0] and /sim/input/selected/engine[1].
Thanks, it helps. I had seen this controls.nas, but I hardly understand all his nasal language.
I had not found the /sim/input/selected/engine[0]
and /sim/input/selected/engine[1]
. I had looked for it, but buried in the /sim/ is not the best place...
Which was clear for me: Help > Common Aircraft Keys / ! / @ / # / $ / ~ / select one or every engine.
But every engine is selected at start. The magnetos, throttle, mixture are controlled selectively as expected from the selected engine(s), but "s" triggers only the engine[0] starter, whatever the engine which is selected.
I think it's best to remove the setprop() calls for engine[0]/starter in Nasal/electrical.nas
You are right, it should come from here.
I have implemented the bases for a two-engine-with-propeller version (160 hp or 180hp at choice from the simulator). On a dany93 branch: https://github.com/dany93/c172p-detailed/tree/c172-eng160-180hp
Redone the float chamber (fuel.xml) for this.
At choice:
In this current version (testing), the engine selection for 180 hp (engine[1]) is completely manual, done from the Internal Properties.
/controls/engines/engine[1]/magnetos = 3
(Set),controls/engines/engine[1]/starter = 1
then back to 0, or Ctrl-click on starter =
until the engine is running, Ctrl-click again to stop the starter (otherwise it goes on!).Do not wonder, the tachometer does not work, neither the propeller animation, nor the sound. Look at the properties engines/engine[1]/rpm = ...
to check the engine starting.
Not convenient, but my aim was to give the necessary files for a two-engine version. The bindings, animations, conditions, option menu,... remain to be done. I leave you for this. I will have a look at the files if I can, but more to see and trying to understand how it is done. I am rather not familiar or ignorant in this management.
Files and folders involved:
In the future, the engine activation can be done by one or the other of the properties:
/controls/engines/engine[0 or 1]/magnetos = 0 or 3
(engine[0] for 160 hp, [1] for 180 hp)fdm/jsbsim/propulsion/tank[2 or 3]/priority = 0 or 1
(tank[2] for 160 hp, [3] for 180 hp).@dany93, I just finished reading this and it sounds really promising. I just pulled it and will see what I can do to help this along. I think it is an absolute necessity to get this working in master.
@dany93, I have a couple of questions.
If I start with engine[0]/mags = 0 then use engine[1]/starter to 1 and back to 0, I am effectively using the 180 HP engine, correct? Then if I press s at that point and crank the engine to get the prop to spin and the sound , am I still running engine 1 =180 HP or is that now both engine or is it back to the 160HP, because the engine[0]/mags are still set to 0.
Much better performance with the 180 HP, I think "WHEN" we implement this we should add a menu choice for either 160 or 180 HP and leave it up to the user which one to use, even for the float plane. If the user wants a challenge using the 160HP with floats, so be it. :smile: If the user wants a 180HP with wheels or bush, so be it This is exciting and I think we all need to push to get this finished.
do not use "s" (it would trigger the engine[0] starter, 160 hp. Which will not start if its magnetos = 0),
If you toggle /sim/input/selected/engine[0]
and /sim/input/selected/engine[1]
then starter, throttle, and mixture should control the correct engine.
@dany93 You have 1 commit in your branch. When you do your git pull
(with the usual extra parameters you need), you could add --rebase
. git will then put your commit ("engine and propeller for 160 or 180 hp, test version") on top of everything else again. It will avoid adding a merge commit.
@wlbragg Wouldn't it be better to automatically select the 180hp engine for pontoons and amphibious, and 160hp for default/26"/36"?
I would rather have the option, or do they not upgrade the c172p to 180 for anything other than floats?
do they not upgrade the c172p to 180 for anything other than floats?
Isn't that what I'm saying? :open_mouth:
Isn't that what I'm saying?
I don't know, is that a fact, is that the only reason they upgrade to a 180 HP engine?
Having an option gives you a more powerful wheeled aircraft if you want it. But if the only reason in RL that you see a 180 HP c172p is for a float plane, then I guess I am OK with that. But there is no down side to giving the user an option.
@onox wrote:
If you toggle /sim/input/selected/engine[0] and /sim/input/selected/engine[1] then starter, throttle, and mixture should control the correct engine.
No, it would have been more simple but it does not work. engine[0] starts (not [1]) but throttle does nothing on [0]. Every engine is selected by default at start, only engine[0] is started and controlled.
@wlbragg
If I start with engine[0]/mags = 0 then use engine[1]/starter to 1 and back to 0, I am effectively using the 180 HP engine, correct?
No. Please follow the procedure I've written. https://github.com/Juanvvc/c172p-detailed/issues/273#issuecomment-111828903 (unless you find a more simple one). Check (at least) the properties, for each engine:
(start the right engine ([1] for 180 hp) by the procedure above).
/engines/engine[N]/running
/engines/engine[N]/rpm
/engines/engine[N]/thrust-lb
Check: Stopped with the parking brake, full throttle
engine[1]
:
engine[0]
(160 hp):
If you give people the ability to fly default tires with 180 HP engine, then everybody will use the 180 HP engine :laughing:
Sure. I've seen that with the DR400 (120 or 180 hp) !!! Let's take advantage of it, currently fuel is not expensive.
I don't have a problem with users having that choice. Who are we to limit it? I have never been one to put arbitrary limits on something. But if you really feel it will take away something, I guess I am OK with it. I think it might still be used by users that want a challenge or merely realistic sim. But then again, I probably would use the 180 most of the time.
@dany93, I did follow those procedures, what I failed to type was the /controls/engines/engine[1]/magnetos = 3 for [1], 0 for [0] step, which I did do.
I really was wondering what was happening after I did that and was running on the 180HP when I then hit the starter. I guess your saying it started the 160HP but doesn't actually do anything at that point because I am already on the 180hp? It didn't seem to change any power but it did give me prop animation and sound, that is why I asked.
If you have switched to the 180HP engine, then using the starter would mean trying to start the 180HP engine. That would be useless of course if your 180HP engine is already running.
Have you seen https://github.com/Juanvvc/c172p-detailed/issues/273#issuecomment-113718221?
@wlbragg Currently, if you have prop animation and tachometer working, you are on 160 hp.
@dany93 Assuming you would normally do git pull upstream master
, could you do git pull --rebase upstream master
in your https://github.com/dany93/c172p-detailed/commits/c172-eng160-180hp branch?
Have you seen https://github.com/Juanvvc/c172p-detailed/issues/273#issuecomment-113718221?
Have you seen my response? https://github.com/Juanvvc/c172p-detailed/issues/273#issuecomment-113734466
Yes.
Yes I saw the comment, but I was in the air, in the 180 config and I hit the starter and it started and gave me prop animation and sound, so I was just wondering what it actually was doing. engine[0]/mags were still at 0 and I didn't notice any drop in performance, so I assumed it just gave me the animation and sound for the 180. No big deal, I got to feel the power of the 180 and I really like it. It makes the float config work for sure.
Well my day (and night) is over :cry: See ya' all later!
Assuming you would normally do git pull upstream master, could you do git pull --rebase upstream master?
From my branch: "master?
As several people noticed, the 160 hp-powered c172p is under-powered, which makes it "lazy" at full load. Floats and amphibious worsen everything (added drag). I tried to fiddle the propeller pitch angle, at no avail. The original one is not far from the best.
I have a test version with a 180 hp engine. On my c172-180hp branch https://github.com/dany93/c172p-detailed/tree/c172-180hp
Easy for the engine.
The propeller is much more questionable. It is the result of compromise between climbing rate, short field takeoff, and cruise or max velocity. For the propeller, I use the NACA 640 data http://naca.central.cranfield.ac.uk/reports/1938/naca-report-640.pdf. They worked rather well for DR400, DC3, Cap10B. But everything is never certain... And I refuse to cheat the values. I check their consistency, I (re-)calculate the efficiency when I extract them from the curves.
Positive:
No so positive:
My reasoning is that, even if this propeller is still questionable, the result is better than with the 160 hp engine. More pleasant.