Hi All, I’m new to the Arduino world. A wealth of knowledge here so I have plenty more reading to do.
I’m looking to use an Arduino uno r3 with a can bus shield and a 1 channel relay in a Vehicle transmission application. My goal is to take over some of the control of when my cars torque convertor locks up, however more precisely I want to delay when the torque convertor currently locks up. Any guidance on how to achieve this or if I'm on the wrong path please let me know.
The torque convertor locks up immediately after shifting into 3rd gear during light throttle at approximately 32km’s ground speed, once the TC is locked it is reluctant to unlock in that gear despite applying more throttle. It creates unnecessary vibration through the car and with the TC locked at such low speed and low engine rpm, the engine is often not sitting in its peak torque window so when planting your foot down with the transmission in 3rd, it takes some time for the engine rpm to increase before the turbo starts making boost again. Temporarily I had disconnected and added a toggle switch to the TC lockup solenoid circuit to compare the cars driving characteristics with an unlocked TC. When the TC cannot lock there is no more vibrations, the engine rpm can flare freely up to 2600rpm and be in its peak torque window. This allows the car to accelerate effortlessly instead of lugging at 1700rpm with a locked torque convertor. The only time the torque convertor will unlock is during gear changes, eg when shifting from 3rd gear into 4th gear the TC clutch will unlock briefly during the gear change, and will re engage shortly after. The TC solenoid also uses a PWM signal which ramps during engagement to reduce the harshness feeling of a lockup clutch engaging.
My intention is to “delay” by diverting the transmission TCM PWM lock up signal from reaching the solenoid until the transmission has shifted into 5th gear, so instead of locking in 3rd gear at 32km’s, it wouldn’t lock until approximately 65-70km’s.
How I exactly achieve the end result is still a little unknown, but my idea is to hack the canbus system first and reverse engineer some of the messages. The dash whilst driving in D mode always display’s the current gear selected, D1, D2, D3, D4, D5, D6, D7, D8.
Once I am able to identify these canbus messages, I would like to program the Arduino so when ever D1, D2, D3 and D4 is selected and see’s that retrospective canbus message, it will close the relay so the torque convertor lock up solenoid wiring / PWM signal is now diverted to a 50w load resistor to mimic a load on the TC solenoid circuit so a fault and open circuit isn’t flagged. As soon as the transmission shifts into any other gear other than D1, D2, D3, D4 (and the Arduino isn’t receiving of those canbus messages), the relay opens and allow the original TCM torque convertor solenoid wiring to pass through directly to the solenoid instead of the load resistor.
I understand it would be much easier to use ground speed alone as the trigger for the relay instead of having to hack the canbus system to retrieve the "gear selected" messages however to maintain a smooth torque convertor lockup engagement, it will be best for the hand over from the load resistor back to the original TC solenoid would during/immediately after a gear shift has taken place.
Any input or feedback on my project would be great! Thanks