Announcement

Collapse
No announcement yet.

Prado Kakadu (2012 KDJ150) - Torque pro equations (including TC lock-up and current gear)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prado Kakadu (2012 KDJ150) - Torque pro equations (including TC lock-up and current gear)

    Hi all

    So I have done a crash course in the last week on the parameter identifiers (PID) and would like to share what I have managed to get working. First off, this will work typically with the people who have successfully used PID 21D9 (not 2182) when accessing ATF temps which I believe is for the A750 5-speed transmission transmission control module (TCM). The first thing I would like to point out, that the equations going around something like (((((E*246) +F)*(7/100)-400)/10) or any of the other iterations may actually be incorrect. It appears that the way the formula is written means that you are unnecessarily adding anywhere from 0 to 1 degC error by using the the second byte of information (F) it simply is E - 40 [ATF pan temp] and G - 40 [TC Temp]. Bytes E & G are definitely analogue sensors and range from -40 to 215 deg C (a byte consists of 8 bits of information and can represent 256 individual values, which is more than enough precision for the ATF temp sensors and the likes of the coolant sensor). Only when larger temp reading are required such as EGR and cat converters (> 255deg) will two bytes be used and is generally something like (256*A +B)/10-40. Essentially, using two bytes (or 16 bits) can give precision for up to 65536 individual values. The minus 40degC us used as this is a scaling point where both degC and degF are identical. It's worthy noting here that the 256*A + B part is literally just converting 16 bits of information into a decimal integer, this can also be achieved in Torque using int16(A:B). I found that bytes F and G seem to best represent discrete ratios of 0 to 7 [ (8/256)*F ] and jump around thus showing this is not an analogue sensor/signal. I was hoping it related to ATF valve positions but didn't appear to be the case.

    In summary, the 21D9 PID can be broken down as follows
    • A = Input shaft (turbine) speed sensor [(12750/255)*A] between 0 and 12750 rpm in 50 rpm increments
    • B = Output shaft speed sensor in km/h [ B ]
    • C and D = These two bytes give bit representations of the shift position (P, R, D, S, S+ and S-)
    • E = ATF pan temp [ E - 40] between -40 and 215 degC
    • F = ???
    • G = ATF TC temp [ G - 40] between -40 and 215 degC
    • H = ???
    Further more, the PID 21DA (byte A) gives the current gear and TC lock-up status of the gearbox! Yes, that's right... gear and TC lock-up! When I say lock-up, keep in mind that the ATF lock-up is kind of pressure regulated, but the bit as described later is when the lock-up valve is fully actuated and the clutch pack has locked the transmission. The A750 will only lock-up in D and S5 in 5th gear and S4 in 4th gear and is dependent on vehicle speed, load, throttle etc. hence why it is recommend to tow in 4th. It is also supposed to lock up when engine braking in lower gear, but I have not tested my code below in this situation yet. I have also added the main and sub fuel tank levels I have found on this site. All of the below is working on my particular vehicle. You will also note below the header for the TCM is 7E1 (CAN address).
    • PID: 21DA
    • Long name: [PRADO] Transmission Gear Lock-up
    • Short Name:TC Lock-up
    • Min value: 0
    • Max value: 1
    • Scale factor: x1
    • Unit Type:
    • Equation: BIT(A:4)
    • OBD header: 7E1
    • PID: 21DA
    • Long name: [PRADO] Transmission Gear Selection
    • Short Name:Trans
    • Min value: 0
    • Max value: 5
    • Scale factor: x1
    • Unit Type: Gear
    • Equation: BIT(A:0)*1 + BIT(A:1)*2 + BIT(A:2)*4
    • OBD header: 7E1
    • PID: 21D9
    • Long name: [PRADO] Transmission Turbine Speed
    • Short name: Turbine
    • Min value: 0
    • Max value: 6000
    • Scale factor: x1000
    • Unit type: rpm
    • Equation: (12750/255)*A
    • Header: 7E1
    • PID: 21D9
    • Long name: [PRADO] Transmission Shift Position
    • Short name: Shifter
    • Min value: 0
    • Max value: 65535
    • Scale factor: x1
    • Unit Type: Pos
    • Equation: LOOKUP(INT16(C : D)::16384='P':1024='R':128='N':4='D':20='S':84='S+ ':52='S-')
    • OBD header: 7E1
    • PID: 21D9
    • Long name: [PRADO] Transmission Temperature 1
    • Short Name: ATF
    • Min value: -40
    • Max value: 215
    • Scale factor: x1
    • Unit Type: degC
    • Equation: E-40
    • OBD header: 7E1
    • PID: 21D9
    • Long name: [PRADO] Transmission Temperature 2
    • Short Name: TCT
    • Min value: -40
    • Max value: 215
    • Scale factor: x1
    • Unit Type: degC
    • Equation: G-40
    • OBD header: 7E1
    • PID: 2129
    • Long name: [PRADO] Fuel Level Main
    • Short Name: Main
    • Min value: 0
    • Max value: 87
    • Scale factor: x1
    • Unit Type: Litres
    • Equation: AVG(20:A/2)
    • OBD header: 7C0
    • PID: 212A
    • Long name: [PRADO] Fuel Level Sub
    • Short Name: Sub
    • Min value: 0
    • Max value: 63
    • Scale factor: x1
    • Unit Type: Litres
    • Equation: AVG(20:A/2)
    • OBD header: 7C0

    Hopefully this helps some people out. I'm currently on the hunt for the input shaft and output shaft speed sensors to calculate show actual slip and confirm the lock-up.
    spencerm106
    Junior Member
    Last edited by spencerm106; 17-12-2019, 12:25 PM. Reason: Discovered byte A in PID 21D9 is the input shaft speed sensor (i.e. ATF turbine speed sensor)

  • #2
    Thanks for the effort to collate this info. Ive tried some formulas in the past with weird results.

    I'll have a go on my 2010 Kakadu (5 speed A750 gearbox) and let you know how it goes.

    Comment


    • #3
      Turns out the "throttle ratio" is actually probably the turbine speed sensor. This is a single byte of info in 50rpm increments as per below:
      • PID: 21D9
      • Long name: [PRADO] Transmission Turbine Speed
      • Short name: Turbine
      • Min value: 0
      • Max value: 6000
      • Scale factor: x1000
      • Unit type: rpm
      • Equation: (12750/255)*A
      • Header: 7E1
      ​​​​​​Got the info looking at the diagnostic info from the factory repair manual. Lines up perfectly with the lock up indication and rpm as it should.

      Comment


      • #4
        When compared to engine rpm it gives you the torque converter slip

        Comment


        • #5
          Nice work !

          Comment


          • #6
            will try them on 2014 model and see how it goes.

            Comment


            • #7
              Hi,

              I added all as per the first post in this thread and they arent showing any data. When I go into each new PID and click on test at the bottom, it says NO DATA. The prebuilt counters are all returning values as expected. I would have thought the 2010 and 2012 Prado's would be similar (Mine is a V6 not sure if that makes a difference)

              Comment


              • #8
                Originally posted by blw View Post
                Hi,

                I added all as per the first post in this thread and they arent showing any data. When I go into each new PID and click on test at the bottom, it says NO DATA. The prebuilt counters are all returning values as expected. I would have thought the 2010 and 2012 Prado's would be similar (Mine is a V6 not sure if that makes a difference)
                I'm not sure, I would have at least thought the fuel tank levels worked. The codes could be different as the V6 pumps out a lot more power and has different torque characteristics so it might use a different set of identifiers or entire TCM. Have you definitely entered the 7e1 header value? If you haven't it'll default to auto and poll the main ECU on 7e0 (as I understand it). I did have a 2011 GXL V6 before this and I do recall PID 21D9 not working, but I can't say 100%.

                All I can say is they are all 100% operational on my particular vehicle. I will need to update the shift position one though, found out that the 2nd start is part of the bit map table, will need to do more testing in low range too.

                Comment


                • #9
                  Hi

                  I have been trying a few different formulas and PID's and it seems that I cant get any data on PID 21d9. I can however get data on 2182. I have also found some nice and easy ways to import the formulas into Torque pro using csv files.

                  The formula that works for me is
                  Name ShortName ModeAndPID Equation Min Value Max Value Units Header
                  Transmission Temp (pan) Trans temp (pan) 2182 (((((A * 256) + B ) * (7/100)-400)/10)-32)/1.8 -40 215 C
                  Transmission Temp (Converter) Converter Temp 2182 (((((C * 256) + D ) * (7/100)-400)/10)-32)/1.8 -40 215 C

                  These are from the 4runner forums (v6 petrol), which work better than the FJ forums (also V6 petrol). My Prado is an Australian delivered 2010 Kakadu.
                  Last edited by blw; 19-12-2019, 09:38 AM.

                  Comment


                  • #10
                    Originally posted by blw View Post
                    Hi

                    I have been trying a few different formulas and PID's and it seems that I cant get any data on PID 21d9. I can however get data on 2182. I have also found some nice and easy ways to import the formulas into Torque pro using csv files.

                    ....
                    As stated in my original post, if you get success with the 2182 PID then the 21D9 won't work. However, any chance you can run an test for me? Can you just use the same information above (PID=2182) but instead of the equations you have entered and just use ATF degC = A-40 and TCT degC = C-40 and compare to the coolant temperature before starting the engine in the morning? These appear to be the correct equations as I'll hypothesize below (and touched on in my first post). As mentioned, my previous 2011 GXL V6 also used PID 2182 but my 2012 diesel Kakadu uses 21D9.

                    The equation you are using "(((((A * 256) + B) * (7 / 100) - 400) / 10) - 32) / 1.8" is assuming 16-bits of information, which I believe is wrong (represents 0 to 2^16 values i.e. decimal number between 0 - 65,535), you don't need this level of precision for oil temp in a car, CAT converters/exhaust temps yes, but not oil. The vehicles are Japanese, so I can assure you the sensors are calibrated to degrees Celsius. Breaking it down, the first part "(A*256)+B" is just converting two bytes of information (a string of 16 ones and zeros) into the equivalent decimal value in the torque app (this can also be achieved in Torque using "int16(A:B)". The next part where you multiply this by "..*(7/100)-400)/10" is just basically dividing back out by 256 (rendering the second byte of information, byte B and D, as insignificant) and then scaling the sensor value for degrees F before taking away the 40 (remembering both degF and degC read the same at minus 40). The final part ".. -32)/1.8" is just converting back to degC. So essentially in a nutshell, the formula you (and a lot of other people are using) basically is making the second byte of information insignificant (introducing an error of between 0 and 1 degC because it us unrelated to an analogue sensor value), converting a value already in degC to degF and then back to degC. For the yanks, the formula they probably would prefer is as simple as this "A*(9/5)-40" and "C*(9/5)-40" to read the sensor in degF.

                    Proof? The evidence is this, essentially what I am saying is this magical (7/100) figure is derived from (1/256)*(9/5) = 0.0703125 = approx. 7/100. There's nothing overly special regarding the equations, they are basic math, but it's important to understand the bytes of information retrieved in the torque app (A, B, C, D, etc.) are already converted into decimal form from 0 to 255. This is not to be confused with the information retrieved using scan tools which are represented in hexadecimal. Computers basically display information for us humans in easier to read formats such as hex or dec instead of ones and zeros. Basically, a typical IP address (as we all know what these are) for instance "192.001.001.34" written in decimal will look like this in computer language (binary) "11000000.00000001.00000001.00100010". In hex, this is simply "C0.01.01.22".

                    Hopefully this helps.

                    Comment


                    • #11
                      I tried the simplified formula as suggested
                      Name ShortName ModeAndPID Equation Min Value Max Value Units Header
                      Transmission Temp (pan) Trans temp (pan) 2182 A-40 -40 215 C
                      Transmission Temp (Converter) Converter Temp 2182 C-40 -40 215 C
                      The difference in temperatures is only 0.8 DegC. So I vote we stick with the simplified formula... Well done, BTW I wasn't suggesting that you were wrong, I was just offering the alternate PID for V6 drivers...

                      The next I would like to try and get the fuel tank level data from alternate PID's 2129 and 212A and the lock info on PID 21DA on the V6 working, those are currently showing as NO DATA on my ECU.

                      Comment


                      • #12
                        21DA won't work for you. The 0.8 difference is an error that's introduced due to the second byte of data that's unrelated to the sensor signal. People just haven't picked up on it yet because it "looks right".

                        The fuel tank levels should work, just ensure the header value is set to 7C0 and not left blank. If it's left blank it polls the main ECU (7E0) by default, you're trying to poll the combination metre control module to retrieve the data, not the main ECU.

                        When polling the CAN bus you need to ensure this address is correct. Each control module with have a different set of PIDs and header (the header is the CAN address). There is a way to find out which ones are active but it's too hard to explain. I use an excel spread sheet for this task. I'm currently trying to see if I can get the injector feedback values so I'm working my way through them all seeing what stands out.

                        Comment


                        • #13
                          Gray,
                          Thank you so much I was looking for those pid's for a very long time.

                          I have you got the chance to discover some more interesting pid's?

                          Also can you are from which guide did you got the pid's info?

                          Thanka

                          Comment


                          • #14
                            First of all thank you for the pid's it works great!!

                            Question, did you got the change of also finding the pid for the map sensor?
                            Or other interesting pid's?

                            Thanks

                            Comment


                            • #15
                              Are you looking for MAP (Manifold Air Pressure) or MAF (Mass Air Flow)? MAF is an OBDII standard PID: 0110. The formula is (256A+B)/100. I have not experimented with this one at all, so can't help much more than this. I got the above details from Wikipedia You're on a steep learning curve but it should be do-able!

                              Comment

                              canli bahis siteleri bahis siteleri ecebet.net
                              mencisport.com
                              antalya escort
                              tsyd.org deneme bonusu veren siteler
                              deneme bonusu veren siteler
                              gaziantep escort
                              gaziantep escort
                              asyabahis maltcasino olabahis olabahis
                              erotik film izle Rus escort gaziantep rus escort
                              atasehir escort tuzla escort
                              sikis sex hatti
                              en iyi casino siteleri
                              deneme bonusu veren siteler
                              casibom
                              deneme bonusu veren siteler
                              deneme bonusu veren siteler
                              betticket istanbulbahis
                              Working...
                              X