SOLVED Setting the right Gear Ratios (Overall)

Discussion in 'Car Modding' started by Marcel Rockenschuh, Nov 29, 2016.

  1. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    Hello everybody!

    First of all, I should post in the wrong area, please move into the correct area. Thank you!

    Okay, I'm going to convert a Nissan 300ZX mod from rFactor1 to rFactor2.

    Now I have a problem to adjust the correct Overall Gear Ratios. Here is the Gear Ratios from Automobil-catalog(dot)com for the Nissan 300ZX:

    Gear ratios (overall):
    I
    3.214 (11.87)
    II
    1.925 (7.11)
    III
    1.302 (4.81)
    IV
    1.000 (3.69)
    V
    0.752 (2.78)
    R
    3.369
    Final drive ratio std:
    3.692


    I've entered following into the Gears.ini:
    Code:
    // Nissan 300ZX Gear Ratio's.
    
    [GEAR_RATIOS]
    ratio=(?, ?)  //  R: 3.369
    ratio=(11, 87)   //  1: 3.214
    ratio=(7, 11)   //  2: 1.925
    ratio=(4, 81)   //  3: 1.302
    ratio=(3, 69)   //  4: 1.000
    ratio=(2, 78)   //  5: 0.752
    
    [FINAL_DRIVE]
    bevel=(1, 1)
    ratio=(?, ?)   // 3.692
    How do I know if the Gear Ratios Overall are correct? And how do I find out how the overalls ratios are, that are not specified, for example, Reserve and final drive?

    Is there a general table or a calculator for the Overall Ratios? And finally, how exactly (in what order) do I have to enter everything in the .ini?

    I have already searched the Internet for the Overall Ratios, but I have not found more.

    Sorry for my english, Google has translated for me! Thanks in advance!
     
  2. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    I have now found the Gear Ratio Calculator for rFactor1 and GTR and use it to create the correct gear ratios.
     
  3. lordpantsington

    lordpantsington Registered

    Joined:
    Oct 5, 2010
    Messages:
    849
    Likes Received:
    79
    Gear Ratio Calc is great but a 2, 3, and 4 tooth gear is highly unlikely. Likewise for high tooth counts of >60. Google for photos of actual parts and count, or find a manual. http://www.300zx-twinturbo.com/cgi-bin/manual.cgi?list=mt&slide=35

    (31/13)*(31/23)=3.214....
    Don't use 1,1 as your bevel, the box has/behaves like a drop gear. With so many prime numbers involved, you'll never find nice whole numbers for teeth counts without the second ratio.
    4th is undefined because it is just the inverse of the "drop" 23/31 * 31/23 =1.000.
    Reverse Calc: 30/22 * 22/12 * 31/23 Since the Idler (22) cancels use 12,30 for your counts.

    http://www.300zx-twinturbo.com/cgi-bin/manual.cgi?list=pd&slide=42
    48/13=3.692...

    The two sections in the gear.ini are separate and although the ratio definitions for each will self sort by ratio (something to note if your reverse is taller than 1st, you probably want to keep it as organized as possible.
     
    Last edited: Nov 30, 2016
    Marcel Rockenschuh likes this.
  4. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    @lordpantsington Thanks for your help! I have no idea of gearboxes and I will now take time to understand how this works. Thanks again!
     
  5. lordpantsington

    lordpantsington Registered

    Joined:
    Oct 5, 2010
    Messages:
    849
    Likes Received:
    79
    Pictures help.
    http://www.300zx.cl/ga2/300zx/images/gearbox1.jpg
    http://takakenr.web.fc2.com/car2/mtoh/mtoh.html specifically
    http://takakenr.web.fc2.com/car2/mtoh/06.jpg
    So the thing that bothered me is where is the secondary gearing to alter the ratios to their proper value? Why when looking for photos did I come across many people complaining about being locked into 4th?
    300zx.gif
    The shafts for 4th and the rest of the gear on the "main shaft" are two separate shafts with a coupling. I'm pretty sure 4th gear IS the drop gear. When 4th is selected the Output is just synced to the Input (Also why people are having problems with it sticking in 4th). Input=Output, so 1.000 Ratio. When not synced, the output travels from input, through the "4th" onto the counter shaft, then back over to the output shaft through the gear set that is selected.
     
    Marcel Rockenschuh likes this.
  6. Raintyre

    Raintyre Registered

    Joined:
    Jul 28, 2013
    Messages:
    228
    Likes Received:
    187
    Easy explanation for beginners: for your rfactor car you must enter a fraction which gives as result the ratio you are looking for.

    For example, for 1st gear you asked for:
    3.214 (11.87)

    You must enter a pair which fraction gives as result 3.214 or close. Perhaps you can use an approximate 24:77 (77/24 = 3.208). If you want 100% accurate ratio then you should enter a 299:961, perhaps rfactor still gets it despite using 961 teeth probably is not very common in real cars :D.
    11.87 on parenthesis is the result after applying the final drive ratio to the first gear: 3.214 * 3.692 = 11.87. Then you can ignore it, don't copy it on the gears.ini file!

    [GEAR_RATIOS]
    ratio=(24, 77) // 1: 3.208
    ratio=(13, 25) // 2: 1.923
    .....(etc)
    .....
    [FINAL_DRIVE]
    bevel=(1, 1)
    ratio=(13, 48) // 3.692

    Remember that your tires also must be same radius as real ones to obtain the same speeds vs rpms
     
  7. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    I think it is great of you that you are still dealing with my topic!

    I have a look at "Gear Ratio of a Gear Train", on the website http://www.wikihow.com/Determine-Gear-Ratio. In "More than Two Gears" I do not come with my understanding.

    Now I looked in the .HDV from the ISI Honda NSX Mod, the area, which defines the transmission.
    This looks as follows:
    Code:
    FinalDriveRange=(0,0,1)
    FinalDriveSpecial=(0,,,"16,65,10,10")
    FinalDriveSetting=0
    ReverseRange=(0,0,1)
    ReverseSpecial=(0,,,"1000,3186")
    ReverseSetting=0
    ForwardGears=5
    Gear1Range=(0,0,1)
    Gear1Special=(0,,,"1000,3071")
    Gear1Setting=0
    Gear2Range=(0,0,1)
    Gear2Special=(0,,,"1000,1952")
    Gear2Setting=0
    Gear3Range=(0,0,1)
    Gear3Special=(0,,,"1000,1400")
    Gear3Setting=0
    Gear4Range=(0,0,1)
    Gear4Special=(0,,,"1000,1033")
    Gear4Setting=0
    Gear5Range=(0,0,1)
    Gear5Special=(0,,,"1000,771")
    Gear5Setting=0
    Gear6Range=(0,0,1)
    Gear6Setting=0
    I have now adapted as follows:
    Code:
    FinalDriveRange=(0,0,1)
    FinalDriveSpecial=(0,,,"13,48,10,10")
    FinalDriveSetting=0
    ReverseRange=(0,0,1)
    ReverseSpecial=(0,,,"1000,3369")
    ReverseSetting=0
    ForwardGears=5
    Gear1Range=(0,0,1)
    Gear1Special=(0,,,"1000,3214")
    Gear1Setting=0
    Gear2Range=(0,0,1)
    Gear2Special=(0,,,"1000,1925")
    Gear2Setting=0
    Gear3Range=(0,0,1)
    Gear3Special=(0,,,"1000,1302")
    Gear3Setting=0
    Gear4Range=(0,0,1)
    Gear4Special=(0,,,"1000,1000")
    Gear4Setting=0
    Gear5Range=(0,0,1)
    Gear5Special=(0,,,"1000,752")
    Gear5Setting=0
    Gear6Range=(0,0,1)
    Gear6Setting=0
    I have then tested in-game, but each Gear lacking minimum 4 Kph.

    On http://www.automobile-catalog.com/c..._version_s_twin_turbo_2seater_t-bar_roof.html are the kilometers per hour for each gear indicated. Just click on "Full specifications". Can it be that the speeds given there are only theoretical values?
     
  8. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    Okay, thanks man! Can you perhaps tell me how I can calculate this (24, 77) when I have only "3.208"? Is there a formula that I can calculate it for each gear?
     
  9. lordpantsington

    lordpantsington Registered

    Joined:
    Oct 5, 2010
    Messages:
    849
    Likes Received:
    79
    HDV Special settings are optional and used to push values to the setup, I find their use brutish (especially when you can do a little legwork and find the actual tooth counts). I spent less time searching for the actual tooth counts for the 300zx than I would have spent reducing fractions. Sometimes you have no choice but to use special settings. Because you have the actual tooth counts and the reverse ratio is not between 1st and 2nd, I'd advise not using them. Stick to using a gear.ini

    You can take the lazy way (as did the NSX) and just use 1000, X. But know this: What you find listed for ratios is usually rounded. You will often be slightly off if you go the lazy way. Case in point: the ratio for 300zx's 3rd, if you use the actual tooth counts you end up with 1:1.3028985507246376811594202898551...
    Had you just used 1000:1302 you'd have the wrong ratio.
    Occasionally a manufacturer will just drop to 3 digits rather than round to the nearest like that. This is part of the speed differential you are seeing, but tire circumference also has a big part in that. Most speed charts don't factor in loaded tire radius reduction. None factor in Aero drag. So yes those are estimates/theoretical.

    There is no Formula. How to calculate? Start with 1000/1302 and start reducing by dividing top and bottom by the same whole numbers. Alternatively start with 1.000/1.302 and multiply until you get whole numbers. Do this for every ratio.
     
  10. lordpantsington

    lordpantsington Registered

    Joined:
    Oct 5, 2010
    Messages:
    849
    Likes Received:
    79
  11. Raintyre

    Raintyre Registered

    Joined:
    Jul 28, 2013
    Messages:
    228
    Likes Received:
    187
    >>>>>>>Can you perhaps tell me how I can calculate this (24, 77) when I have only "3.208"? Is there a formula that I can calculate it for each gear?

    I guess there are mathematical ways and of course algorythms to make it automatically. But you just need to create an excel table to generate fraction values, which you can create in 5 mins.
    Rows and columns numbers represent the number of teeth, and each cell of the table calculates row/column fraction. If you use gears with a minimum of 11 teeth and maximum 50 teeth, you generate around 1600 fraction values, if i am not wrong.
    Once you generate the table you just do a automatic search to find your number, or the most approximate. (you must select "values" on search options).
    In less then a minute you would find your best possible value.


    However, you can find the exact fraction you need for the Nissan 300X applying this formula for http://www.300zx-twinturbo.com/cgi-bin/manual.cgi?list=mt&slide=35 specifications:

    (Main gear x Counter drive gear) / (Main drive gear x Counter gear)

    For the 1st gear would be (31 x 31) / (23 x 13) = 961 / 299 =3.2140468227424749163879598662207
    For the 2nd gear would be (30 x 31) / (23 x 21) = 930 / 483 =1.9254658385093167701863354037267
    ....

    [GEAR_RATIOS]
    ratio=(299, 961) // 1: 3.2140468227424749163879598662207
    ratio=(483, 930) // 2: 1.9254658385093167701863354037267
    .....(etc)

    This way the fraction would be 100% accurate.

    If you still measure a lack of speed on every gear, i would bet your tyres are slightly too small.
     
  12. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
    Now I use this setting and seems to be correct.
    [​IMG]
    The fail was that the rev limit was not correct. On the website where I got the data, it was with 7000 rpm specified. This is however only the beginning of the red line and I have read, the engine rotates up to 7200 rpm.
    Now I have circa 1-2 kph too much per gear. This is due to the fact that I use the following tires from the Honda NSX: 215-45 R16 / 245-40 R17.

    Original tires are: 225-50 R16 / 245-45 R16.
     
    Last edited: Dec 3, 2016
    Raintyre likes this.
  13. lordpantsington

    lordpantsington Registered

    Joined:
    Oct 5, 2010
    Messages:
    849
    Likes Received:
    79
    The problem with an excel table is that it rounds, and often times manufacturer spec literature truncates and or rounds. This will introduce error. The exact tooth count info is out there, you just need to look.

    No need to over-complicate it with manual multiplying or special entries in the HDV, just use bevel.

    INI file
    Code:
    [GEAR_RATIOS]
    ratio=(12, 30)   // 2.500         R: 3.369
    ratio=(13, 31)   // 2.385         1: 3.214
    ratio=(21, 30)   // 1.429         2: 1.925
    ratio=(30, 29)   // 0.967         3: 1.302
    ratio=(31, 23)   // 0.742         4: 1.000
    ratio=(43, 24)   // 0.558         5: 0.752
    
    [FINAL_DRIVE]
    bevel=(23, 31)             //1.348
    ratio=(13, 48)   // 3.692
    
    HDV
    Code:
    FinalDriveSetting=0
    ReverseSetting=0
    ForwardGears=5
    Gear1Setting=1
    Gear2Setting=2
    Gear3Setting=3
    Gear4Setting=4
    Gear5Setting=5
    
     
    Last edited: Dec 3, 2016
    Marcel Rockenschuh and Raintyre like this.
  14. Marcel Rockenschuh

    Marcel Rockenschuh Registered

    Joined:
    Jul 16, 2013
    Messages:
    27
    Likes Received:
    2
  15. Raintyre

    Raintyre Registered

    Joined:
    Jul 28, 2013
    Messages:
    228
    Likes Received:
    187
    This is an algorithm to find a desired gear ratio or create an ordered list by ratio, for 2 given gears. I guess the code is ridiculously long and unefficient, sorry, not wide c++ knowledge here, just read half of the basic tutorials, but the result comes fast anyway.
    You can run it online, just copy the code here and press 'Run': http://cpp.sh/
    You must enter the ratio you are searching and teeth ranges (minimum and maximum). If you don't look for a specific ratio, a table and ordered list will be generated for the entered range. Don't enter weird numbers!


    #include <iostream>
    using namespace std;


    int gear1max, gear2max, gear1min, gear2min;
    int cont1,cont2, cont3, cont4, size;
    float mintemp=0.0;
    float mintemp2=0.0;
    float maximoposible;
    float ratio;
    int inside=0;

    float fixed_div (float g1, float g2)
    {
    return (g1/g2);
    }

    void list ();
    void search ();
    float absolute (float a);

    int main(){
    char entr;
    cout << "Search for a ratio? (y/any key) " << '\n';
    cin >> entr;
    if (entr=='y'){
    cout << "Enter ratio " << '\n';
    cin >> ratio;
    search ();}
    else
    list ();
    }

    float absolute (float a){
    if (a>0)
    return a;
    else
    return (a-(2*a)); }


    void search() {
    bool found=false;
    float close,closet,temp;
    int ind1, ind2;
    cout << "Enter gear 1 min teeth" << '\n';
    cin >> gear1min;
    cout << "Enter gear 2 min teeth" << '\n';
    cin >> gear2min;
    cout << "Enter gear 1 max teeth" << '\n';
    cin >> gear1max;
    cout << "Enter gear 2 max teeth" << '\n';
    cin >> gear2max;
    float tabla [gear1max+1] [gear2max+1];

    for (cont1=gear1min; cont1<=gear1max; cont1++)
    {
    for (cont2=gear2min; cont2<=gear2max; cont2++)
    {
    tabla [cont1] [cont2]=fixed_div(cont2,cont1);
    //cout << tabla [cont1] [cont2] << " >> " << cont1 << ":" << cont2 << '\n';
    }
    }

    closet=fixed_div(gear2max,gear1min);
    for (cont1=gear1min; cont1<=gear1max; cont1++)
    {
    for (cont2=gear2min; cont2<=gear2max; cont2++)
    {
    if (tabla [cont1] [cont2]==ratio)
    {
    cout<< "Found: "<< '\n' <<"ratio=("<<cont1 << ", " << cont2 <<")"<<" // " << ratio<<'\n';
    found=true;
    }
    else {
    close=absolute((tabla [cont1] [cont2])-ratio);
    if (close<closet) {
    ind1=cont1;
    ind2=cont2;
    temp=tabla [cont1] [cont2];
    closet=close;}
    }

    }
    }
    if (found!=true){
    cout<< "Not found. Closest option: "<< '\n'<< "ratio=("<< ind1 << ", " << ind2 <<")"<<" // " << temp<<'\n';
    }
    }

    void list ()
    {
    cout << "Enter gear 1 min teeth" << '\n';
    cin >> gear1min;
    cout << "Enter gear 2 min teeth" << '\n';
    cin >> gear2min;
    cout << "Enter gear 1 max teeth" << '\n';
    cin >> gear1max;
    cout << "Enter gear 2 max teeth" << '\n';
    cin >> gear2max;
    cout << '\n' << "Creating table and ordered list: " << '\n';

    float tabla [gear1max+1] [gear2max+1];

    for (cont1=gear1min; cont1<=gear1max; cont1++)
    {
    for (cont2=gear2min; cont2<=gear2max; cont2++)
    {
    tabla [cont1] [cont2]=fixed_div(cont2,cont1);
    cout << "ratio=("<<cont1 << ", " << cont2 <<")"<<" // " << tabla [cont1] [cont2] <<'\n';

    }
    }
    cout << '\n'<< '\n'<< '\n' << "List: " << '\n'<<'\n';
    mintemp2=0;
    size=((gear1max+1)-gear1min)*((gear2max+1)-gear2min);
    maximoposible=fixed_div(gear2max,gear1min);

    if (maximoposible<(fixed_div(gear2max,gear1min)))
    maximoposible=fixed_div(gear2max,gear1min);

    while (inside<size)
    {
    mintemp=maximoposible;
    for (cont1=gear1min; cont1<=gear1max; cont1++)
    {
    for (cont2=gear2min; cont2<=gear2max; cont2++)
    {
    if ((tabla [cont1] [cont2]<mintemp)&&(tabla [cont1] [cont2]>mintemp2))
    {
    mintemp=tabla [cont1] [cont2];
    cont3=cont1;
    cont4=cont2;
    }
    }
    }

    if (mintemp==maximoposible)
    {
    for (cont1=gear1min; cont1<=gear1max; cont1++)
    {
    for (cont2=gear2min; cont2<=gear2max; cont2++)
    {
    if ((tabla [cont1] [cont2]==mintemp))
    {
    cont3=cont1;
    cont4=cont2;
    }
    }
    }
    cout <<"ratio=("<<cont3 << ", " << cont4 <<")"<<" // " << mintemp<<'\n';
    //cout << "brk" << '\n' ;
    break;
    }

    mintemp2=mintemp;

    cout << "ratio=("<<cont3 << ", " << cont4 <<")"<<" // " << mintemp<<'\n';
    inside++;
    }

    cout << "end" << '\n';
    }
     
    Last edited: Apr 25, 2018
    Marcel Rockenschuh likes this.

Share This Page