CHT & EGT per cylinder
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
CHT & EGT per cylinder
Hi,
There are no datarefs in Xplane for CHT & EGT per cylinder. Only per engine.
Anyone done some code to simulate, that they are willing to share?
Or suggestions on method.
I want to get the "LEAN" working in the G1000
The Δ PEAK etc I can handle.
Keith
There are no datarefs in Xplane for CHT & EGT per cylinder. Only per engine.
Anyone done some code to simulate, that they are willing to share?
Or suggestions on method.
I want to get the "LEAN" working in the G1000
The Δ PEAK etc I can handle.
Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card
Re: CHT & EGT per cylinder
In the JPI EDM it used a random number. But in a aircraft there will probably be some physical things that determine this, like the position of the cylinder and the airflow (so airspeed I guess). But that'll be different for every aircraft type.
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
Re: CHT & EGT per cylinder
Hi Ralph,
je database is groot in je hoofd.
Yes, those are understood and explained in this short article.
https://www.researchgate.net/publicatio ... g/download
The whole lot
https://www.researchgate.net/figure/Lyc ... _310459698
I am more looking for a logarithm/random number that will vary each cylinder temp.
Xplane does have a mixture ratio dataref (per engine). If writing to it will change the CHT/EGT I have not determined yet.
Having done an apprenticeship with a stretched 1600cc VW engine to 1800cc with a rayjay turbo for the KR2 , I know that the left side of the beetle engines, normally cyl3, is the one to overheat when on dual carb setup the left carb is adjusted too lean.
This is going to be an interesting "side" project. Don't have time for it right now so will just make provision.
Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card
Re: CHT & EGT per cylinder
I did this with the second turbine of the EC135 VEMD:
-- Random
math.randomseed(os.time())
N1dev = (math.random(-12,13)/10) -- N1 of engine 2 will be between -1.2 and +1.3% different from engine 1
TOTdev = math.modf(N1dev*11) -- same with turbine temperature, a used engine has a higher RPM and will run hotter to produce the same power
-- example for turbine temperature
txt_set(VALUE_TOT1, string.format("%.0f", TOT[1])) -- just reading the array
txt_set(VALUE_TOT2, string.format("%.0f", TOT[2]+TOTdev)) -- adding the deviation to it
-- Random
math.randomseed(os.time())
N1dev = (math.random(-12,13)/10) -- N1 of engine 2 will be between -1.2 and +1.3% different from engine 1
TOTdev = math.modf(N1dev*11) -- same with turbine temperature, a used engine has a higher RPM and will run hotter to produce the same power
-- example for turbine temperature
txt_set(VALUE_TOT1, string.format("%.0f", TOT[1])) -- just reading the array
txt_set(VALUE_TOT2, string.format("%.0f", TOT[2]+TOTdev)) -- adding the deviation to it
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
Re: CHT & EGT per cylinder
Hi,
@frumpy awesome. Thanks for that. I will give it a try.
Just an update of how far I am with this.
Keith
@frumpy awesome. Thanks for that. I will give it a try.
Just an update of how far I am with this.
Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card
Re: CHT & EGT per cylinder
Very nice work Keith!
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
Re: CHT & EGT per cylinder
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
Re: CHT & EGT per cylinder
Hi,
Ok what am I doing wrong. I can get the highest value from a table but AM throws out an error using table.maxn to get the key
Ok this does the same thing. But I want to know what I am doing wrong with table.maxn.
Keith
EDIT: OK ignore FOUND OUT WHY.
table.getn was deprecated in lua 5.1
table.maxn was deprecated in lua 5.2
BTW @Corjan what level of lua is AM using? 5.4.1?
Ok what am I doing wrong. I can get the highest value from a table but AM throws out an error using table.maxn to get the key
Code: Select all
my_table={10,300,1,6}
High_val=math.max(table.unpack(my_table))
print(High_val)
highest_key=table.maxn(my_table)
--Returns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices. (To do its job this function does a linear traversal of the whole table.)
print(highest_key)
Ok this does the same thing. But I want to know what I am doing wrong with table.maxn.
Code: Select all
my_table={10,300,1,6}
local key, max = 1, my_table[1]
for k, v in ipairs(my_table) do
if my_table[k] > max then
key, max = k, v
end
end
print(key, max)
EDIT: OK ignore FOUND OUT WHY.
table.getn was deprecated in lua 5.1
table.maxn was deprecated in lua 5.2
BTW @Corjan what level of lua is AM using? 5.4.1?
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card
Re: CHT & EGT per cylinder
Your welcome, Keith. I like the crispness of your gauges!
Perhaps you would want to round the values, to simulate the resolution of the temperature sensor.
In the EC135 it's 5°C steps, which also makes the reading less jittery:
TOT1 = (math.floor(TOT[1] /5)*5) -- round to 5°C steps
TOT2 = (math.floor((TOT[2]+TOTdev) /5)*5) -- deviation added, rounded
txt_set(VALUE_TOT1, string.format("%.0f", TOT1))
txt_set(VALUE_TOT2, string.format("%.0f", TOT2))
Perhaps you would want to round the values, to simulate the resolution of the temperature sensor.
In the EC135 it's 5°C steps, which also makes the reading less jittery:
TOT1 = (math.floor(TOT[1] /5)*5) -- round to 5°C steps
TOT2 = (math.floor((TOT[2]+TOTdev) /5)*5) -- deviation added, rounded
txt_set(VALUE_TOT1, string.format("%.0f", TOT1))
txt_set(VALUE_TOT2, string.format("%.0f", TOT2))
- Keith Baxter
- Posts: 4685
- Joined: Wed Dec 20, 2017 11:00 am
- Location: Botswana
Re: CHT & EGT per cylinder
Hi
@frumpy I did try the random code you provided (thank you for that) but found that the random changing every second did not reflect a realistic event.
I did mod it a bit and changed the <seed>. However I am still not happy.
I will look into varying the <seed> based on a few factors like altitude,climatic conditions, air speed, hobbs , peek temp, duration of excess temp, oil temp, gearbox temp etc
A lot of these variables are not available from the sim so will have to be part of the AUX pages. <info> and <system setup page's>
The rounding to 5° increment's is something I will consider as the jumping is distinctive. I will try and see if i can find out how each air frame handles that aspect. Please keep the suggestions coming as they are definitely giving insight to many aspects and appreciated.
Keith
@frumpy I did try the random code you provided (thank you for that) but found that the random changing every second did not reflect a realistic event.
I did mod it a bit and changed the <seed>. However I am still not happy.
I will look into varying the <seed> based on a few factors like altitude,climatic conditions, air speed, hobbs , peek temp, duration of excess temp, oil temp, gearbox temp etc
A lot of these variables are not available from the sim so will have to be part of the AUX pages. <info> and <system setup page's>
The rounding to 5° increment's is something I will consider as the jumping is distinctive. I will try and see if i can find out how each air frame handles that aspect. Please keep the suggestions coming as they are definitely giving insight to many aspects and appreciated.
Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board, 32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card