Torque converter physics

Discussion in 'Ideas and Suggestions' started by mcheijink, May 13, 2016.

  1. mcheijink

    mcheijink
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    23
    Do you have any idea how the lock-up would work when changing gears?
     
  2. Superchu Frostbite

    Superchu Frostbite
    Expand Collapse

    Joined:
    Feb 8, 2016
    Messages:
    246
    In order to shift, the TC has to unlock. However, in most modern transmissions, the unlocking has been refined pretty well and is almost unnoticeable.
     
  3. mcheijink

    mcheijink
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    23
    Hmm, so then I would have to go back and use the auto-clutch for locking the TC. The clutch allows for slip when the torque on the clutch is higher then the torque-limit of the clutch. So that's what I have implemented right now, just shift without using the clutch. XD
    I also managed to get mode 1 and 2 working properly, although the graphs for the torqueratio and capacityfactor need some tuning.
    I attached the latest model to this post, for the Gavril Roamer it is working great!

    PHP:
    local speedratio
    local torqueratio
    local capacityfactor
    local tcmode 
    1
    local tclock 
    0

    --is torque converter ready for lockup?
    lockupgear math.ceil(engine.fwdGearCount 0.7)
    if 
    M.throttle <= 0.4 and M.gear >= lockupgear then
        tclock 
    1
    elseif (avgDiffAV engine.gears[3]) >= (engine.maxAV 0.4) and M.gear >= lockupgear then
        
    --40of max rpm
        tclock 
    1
    end

    if tclock == 1 then
        
    --lockup code
        torquediff 
    = (M.engineAV wheelBasedEngAV) * math.min(clutchTorque maxGearRatio, (engInertia obj:getPhysicsDt())) --min part is calculation for viscousCoupling in manual transmission
        torqueratio 
    1
        
    --doing the clutch slip when needed
        
    if math.abs(torquediff) > clutchTorque then
            torquediff 
    fsign(torquediff) * clutchTorque
        end
        
    print('tclock 1')
    else
        --
    getting operating mode of torque converter
        
    if wheelBasedEngAV <= M.engineAV then
            tcmode 
    --engine to gearbox
            
    print('tcmode 1')
        else
            
    tcmode -- gearbox to engine
            
    print('tcmode 2')
        
    end

        
    -- getting speed ratio for normal gearbox
        
    if wheelBasedEngAV 0 then
            speedratio 
    0
        
    else
            if 
    tcmode == 1 then
            speedratio 
    wheelBasedEngAV/M.engineAV
            
    else
            
    speedratio M.engineAV/wheelBasedEngAV
            end
        end
        
    print(speedratio)
        -- 
    modeling torque ratio
        
    if speedratio 0.9 then
            torqueratio 
    1.7 - ((0.7/0.9) * speedratio)
        else
            
    torqueratio speedratio
        end

        
    --modeling capacity factor
        
    if speedratio 0.9 then
            capacityfactor 
    1+speedratio*3
        
    else
            
    capacityfactor = -60+speedratio*69
        end
        capacityfactor 
    capacityfactor viscousCoupling 0.75

        
    if tcmode == 1 then
        torquediff 
    math.min((M.engineAV/capacityfactor)^2,torque)
        else
        
    torquediff = (M.engineAV/capacityfactor)^* -1
        end
    end

    M
    .engineAV max(M.engineAV dt * (torque torquediff M.engFriction M.brakingCoef M.engineAV) * invEngInertia0)

    M.torque torquediff
    M
    .torqueTransmission torquediff torqueratio engine.gears[M.gear]
    axleAV M.engineAV engine.gears[M.gear]
     

    Attached Files:

    #23 mcheijink, May 16, 2016
    Last edited: May 16, 2016
    • Like Like x 1
  4. Superchu Frostbite

    Superchu Frostbite
    Expand Collapse

    Joined:
    Feb 8, 2016
    Messages:
    246
    I would like to point out that I am not an expert on transmissions. I would also like to direct you to a fascinating website. According to said website, a TC will not lock at speeds below 40 mph.
     
  5. mcheijink

    mcheijink
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    23
    It would now lockup somewhere around 90 kmh. The speed where the engine would run at 40% of the rev limiter in 3rd gear.
    PHP:
    (avgDiffAV engine.gears[3]) >= (engine.maxAV 0.4)
     
  6. estama

    estama
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 7, 2012
    Messages:
    268
    Actually what is in drivetrain is closer to a torque converter than a clutch. More specifically what we simulate is a viscous clutch, which essentially is a torque converter without the locking. We also simulate reverse flow on the viscous clutch (so the wheels can speedup/slowdown the engine).

    The code for the viscous clutch in drivetrain.lua is this:

    torquediff = (M.engineAV - wheelBasedEngAV) * viscousCoupling

    To make it "lock" you could increase the viscousCoupling under specific conditions.

    Simulating a friction clutch is a lot more complex. We are researching it, so i cannot say if or when it'll be ready.
     
    #26 estama, May 16, 2016
    Last edited: May 16, 2016
    • Like Like x 1
  7. mcheijink

    mcheijink
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    23
    Generally using the viscous clutch is quite good, for normal driving it works good, but in off-roading (low speed, high torque) it will run into trouble delivering power to the wheels. It does allow for slip, but it doesn't do torque multiplication. Another issue is the non linear transfer of torque with slip that a torque converter has, the viscous clutch model lacks this. For lock-up I used the code you mentioned, but with the viscousCoupling value for a manual transmission.

    I can understand that, there are quite some variables involved. My gut feeling would be to approach the problem like the contact with a wheel with the ground. But then again, a tire model is also quite complex to simulate...
     
  8. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082
    @mcheijink

    Anymore improvements made to this?

    It would be cool (if all possible) make it into a separate file/mod, so In the future you are able to put it on the repo.

    (similar to how MFM mod is turning into.)

    Because as of right now, it would not be allowed to be on the repo as it modifies a core file for the base game.

    Future suggestions (for future versions)

    A config file to control said mod similar to the MFM config file.

    Where we can

    • Control what gear the torque converter starts to lockup in
    • What speed it will start to lock the torque converter.
    • Lockup "firmness"
    • Control base stall speed
    etc


    Currently I can control some of said parameters by editing the file but if this does turn into a "mod" I think it would be better to have a config file for it.

    So people may edit to their liking as they please.
     
  9. mcheijink

    mcheijink
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    23
    Nope, have been quite busy with my dayjob. When I have some more time I will try to let the code use a lookup table for the torqueratio and capacityfactor. I might even try to tackle the differential equations to generate these tables for different gearboxes. The purpose of the code i wrote, is to prove the concept. I am not planning to make it into a mod.

    Great idea to use a config file for these settings, but at the moment i haven't figured out how to make a mod with config files.

    We can lend the torque limit figure of the clutch, from the original jbeam file. I think a locked up torque converter can be seen as a engaged clutch, so we can use that code for lockup firmness.

    This should be based on the torqueratio and capacityfactor curves, and this really needs a bit of tuning when using it on different stock vehicles.
     
  10. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082

    I would love to see this advance more, this is what beam needs.

    Thanks for sharing.
     
  11. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082
    This is so fun to play around with.

     
  12. Salvatore-Hayes

    Salvatore-Hayes
    Expand Collapse

    Joined:
    May 29, 2016
    Messages:
    5

    This thread is quite old and i believe this is the proper thread for my idea/suggestion. I took a vehicle and fitted it with a auto trans with the "variable stage 3 turbocharger" i attempted to brake boost the vehicle in drive as i have done in my vehicle i drive (in real life). with my vehicle when i do this the boost slowly increases to max boost controller setting where it then opens the wastegate. as the boost psi increases the rpms also slightly increase. once brake is released the vehicle peels out at max boost. i feel that it has something to do with the torque converter in an auto trans as when i do this is beam ng the rpms stagnate, no boost builds and when brake is released the engine bogs as if u had not brake boosted.
     
  13. Michaelflat

    Michaelflat
    Expand Collapse

    Joined:
    Jul 10, 2014
    Messages:
    1,543
    yeah this happens, its when the auto logic thinks that it can hold it at say 2000rpm but the boost drops off as there is not much rpm and then the engine bogs down, try playing with the clutch torque as that can change it, set the clutchtorque to at least 10nm higher than the peak torque (use the torque curve to find this)
     
  14. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082
    @mcheijink

    Can you update this, for the latest version (5.6)?

    It sorta works but it makes the gauges freak out, I tired to copy and paste the code from the old drive train lua but it doesn't want to go into the modded mode.

    Thanks
     
  15. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082
    Got it working with 5.6 with no problems

    (for anyone who wants to use this, drag and drop into your mods folder.)

    it does modify the base (drivetrain.lua) so it might/will cause problems, use at your own risk.
     

    Attached Files:

    • Like Like x 2
  16. Josh

    Josh
    Expand Collapse

    Joined:
    Jul 21, 2013
    Messages:
    1,082
    @mcheijink

    Would it be possible to a torque converter lockup "switch" to the code?

    Press a predefined key and it will lock on command no matter what speed/gear the vehicle is in.

    I want this primary for high speed drag and for runs on the upcoming dyno.


    Below is a basic explanation with 2 videos.

    Introduction

    How many times have you followed a manual transmission equipped vehicle down a hill and watched him use only the compression of his engine to hold him back and wished you could do that? Manual transmissions use a clutch which does not slip when fully engaged, transferring all the power from the engine to the wheels, or vice-versa. Automatic transmissions, on the other hand, use a torque converter to multiply the engine's output allowing shifts while under full power, among other things. This slippage, however can also reduce the engine's holdback ability -- so you're more likely to accelerate downhill even with your tranny locked into first gear.

    Many manufacturers today use a locking torque converter on automatic transmission equipped vehicles. The reason this is done is to lower the operating temperature of the transmission, since slippage builds up heat, as well as to boost fuel economy. The on-board computer controls a solenoid which locks and unlocks the torque converter at the correct times on the highway. It doesn't, however, know how to use this neat capability in off-highway situations. There's no reason we can't use this great feature ourselves by simply installing a manual switch to toggle between locking the torque converter or letting the computer control it


    When the torque converter switch is in the off position there should be no change in vehicle operation. While the switch is turned on, however, the transmission will upshift as speed is increased but will not downshift until the converter is unlocked. It will also be possible to stall the engine if you fail to depress the clutch while coming to a stop with a manual transmission.










    Sorry I couldn't find any other things not pertaining to dodges lol.

    but its widely used and not harmful unless you lock the converter on a upcoming shift.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice