Jump to content
Posted

So I have been mulling over a way to pull fueling when smoke is being blown out the tailpipe.  

 

This is going to take a few revisions, but my basic plan is to put an arduino between the apps and the ecm then read input voltage from the APP's while watching for smoke out the tailpipe, then adjust the APPS voltage to the ECM to reflect less TPS input if smoke is detected.

 

 

couple of issues,

 

1. keeping the sensor clean

2. version 1 won't work at night, since there is no natural light

3. placing the sensor at the end of the tailpipe may cause too much of a delay due to the time between stabbing the throttle and the time it takes for the plume of smoke to reach the end of the tailpipe.  

4. If I place it in the downpipe I will reduce the lag time before I sense smoke, but I also then have to deal with heat, and also have to include a light source, which would fix issue #2, but adds complexity.  ( guessing this is the route I will go)

5. Need to figure out a good way to output a given V to the ecm.  I dont know if I can use PWM from the arduino or not.

 

 

Ordered Parts.

 

6 pin Deutsche Plugs:

http://www.ebay.com/itm/331678354561?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT

 

Arduino light sensor:

http://www.ebay.com/itm/Adafruit-ALS-PT19-Analog-Ambient-Light-Sensor-Breakout-Arduino-I2C-5v-3v-RoHS-/181959945589?hash=item2a5da86d75:g:2lQAAOSwbdpWbK9m

 

Some light source:

Uknown but looking for a 14v LED that can put up with heat.  Need to think of a way to protect

 

Arduino:

http://www.ebay.com/itm/Arduino-Mini-USB-Nano-V3-0-ATmega328-CH340G-5V-16M-Micro-controller-board-DIY-/322100994176?hash=item4afeb72080:g:KbwAAOSw2x1XLoTl

 

 

 

Now for the basic code thoughts.

 

input V from the APP's should be betwee .5v and 4.5v ( I think)  On a timer I need to watch for the analog input of V from the apps, then output the inputted voltage to the ecm.  This can be done once ever few ms.   Really just code that acts as a passthrough.

 

Next I watch the input V from the light sensor,   again .5v to 4.5v depending on how much light is visible.  In the middle of the above loop I need to watch the input V form the sensor, then negate the output V to the ecm by the % based upon the smoke levels in the exhaust.  IE: if there is a %5 reduction in visible light in the tailpipe then I need to reduce APPS V to the ecm by %5.  

 

 

 

 

 

In terms of big picture it would be like torque management, but based upon smoke output.  

 

Edited by Me78569

  • Replies 40
  • Views 6.1k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Sounds exactly the same, just acts like you have a laggy truck.

  • Alright I am ready to say that I have beta version 1.2 done.   changes, independant increasing TPS and decreasing TPS settings     1-2000 ms configure for TPS increase

  • Well the more I think about it the more I am leaning away from a Opacity sensor and more towards a throttle sensitivity buffer.     If you were to watch boost, ( already doing that with my t

Featured Replies

  • Author

Yea maybe we host it as a download and an article.....

  • Owner
3 hours ago, Me78569 said:

I dunno, makes me really nervous to sell a device that sits between the ecm and TPS input.    

 

Heaven forbid the unit freezes at a high TPS input or something.

 

1 hour ago, CSM said:

Totally agree with nick on that one.  Liability is nuts.  I won't have any part of it.  Shareware, mabe, but sale? nein.  

 

44 minutes ago, Me78569 said:

Yea maybe we host it as a download and an article.....

 

Point taken...

 

  • Author

Alright I am ready to say that I have beta version 1.2 done.

 

changes,

independant increasing TPS and decreasing TPS settings

 

 

1-2000 ms configure for TPS increase

 

nonlinear increasing TPS to increase TPS slower at low TPS input and faster when at high TPS input

1-20 % it will increase at 1/3 rate

20-40 % it will increase at 1/2 rate

40-60 % it will increase at 2/3 rate.

60-100 % it will increase at 1 rate

 

 

1-500 ms configure for TPS decrease

 

throttle decrease delay is linear.  

 

 

 

Things I still need to change,

 

The mode selection between showing TPS increase value, TPS decrease value, and input TPS vs output TPS is not "easy"  I use a if statement to show if value is x/1 x/2 or x/3  however increasing x value happens VERY quickly IE x+30 everytime you push the button to select a new mode.  

 

This is due to how the button works on the arduino.  I might use a while statement to increase an outside variable only once so liong as the button is pressed.  Not sure yet.  

 

  • Author

Menu system has been changed so it is easy to switch between menus and................................I might as well add a valet mode too huh? good cause I did

 

Now 

  Thraverage = constrain(map(Thraverage,0,100,0,MaxTps),0,100);

you can set MaxTps from 0 to 100,  and it will "map" the maxtps value as the new %100.  So if you set %20 as the max TPS input then it will limit the TPS output, but you will still have full range of throttle input so the driver will never know as TPS will scale up as they increase throttle.

 

IE: %20 TPS set means TPS outputted will be 1/5 what the driver inputs

 

%5 driver TPS = %1 ecm outputted

%25 driver TPS = %5 ecm outputted

%50 driver TPS =  %10 ecm outputted

%75 driver TPS = %15 ecm outputted

%100 Driver TPS = %20 ecm outputted.

 

Edited by Me78569

2 hours ago, Me78569 said:

Menu system has been changed so it is easy to switch between menus and................................I might as well add a valet mode too huh? good cause I did

 

Now 


  Thraverage = constrain(map(Thraverage,0,100,0,MaxTps),0,100);

you can set MaxTps from 0 to 100,  and it will "map" the maxtps value as the new %100.  So if you set %20 as the max TPS input then it will limit the TPS output, but you will still have full range of throttle input so the driver will never know as TPS will scale up as they increase throttle.

 

IE: %20 TPS set means TPS outputted will be 1/5 what the driver inputs

 

%5 driver TPS = %1 ecm outputted

%25 driver TPS = %5 ecm outputted

%50 driver TPS =  %10 ecm outputted

%75 driver TPS = %15 ecm outputted

%100 Driver TPS = %20 ecm outputted.

 

This would be awesome for someone looking to borrow my truck (hasn't happened yet, but I'm sure eventually it will).

Set it to 50% and not have to worry about them blowing the SOB up!

  • Author

I finally have some behind the wheel time with this.  some kinks need to be worked out still, but overall the base concept is working great.  You can plant your right foot and it just rolls into it smoke free.

 

Using PWM to send a Voltage to the ecm is not going to work though, It is not exact enough and tends to float, so you get some TPS jumping.  I have a arduino DAC coming to solve this issue.  

Edited by Me78569

Which specifically Digital To Analog converter you have in mind what's the resolution in bits and how are you going to communicate with it I2C or SPI?

Edited by Chris O.

  • Author

Alright,

 

I have finished bench testing the max TPS feature and it is working pretty nice.  It will output whatever your current TPS is * what you have set for max tps.

 

IE: max setting of 20 will give you 16% tps when you have the pedal at 80%

      max setting of 50 will give you 40% tps when you have the pedal at 80%

 

I have done some more smoothing on the TPS increase to slow it down more at low TPS values.  This will take some more seat time to figure out how to best handle it.

posting the current code in the download section for safe keeping 1.03 beta

You need the wife to take a video for you when it's on and when it's off. Show us the lack of smoke! :thumbup2: 

  • 2 weeks later...
  • Author

DAC is in and the code is adjusted to work on a 12 bit scale.  Seems to be working very well during the bench testing.  I still have to test the %100 TPS voltage to ensure I am writing a high enough V.  I think it was 3.6 volt for %100 throttle, but I have not messed with it in a week or so.

  • 4 months later...

Sounds also very interesting to use as a way to generate the TPS signal for the PCM on 98.5-99 trucks to avoid converter lock cycling and maybe also as a tuner to get the lockup right for non stock engines and non stock converters.. (Not that I want to insinuate that anybody here would use such things :whistle::bolt:)

 

Cheers

 

AlpineRAM

4 hours ago, AlpineRAM said:

Sounds also very interesting to use as a way to generate the TPS signal for the PCM on 98.5-99 trucks to avoid converter lock cycling and maybe also as a tuner to get the lockup right for non stock engines and non stock converters.. (Not that I want to insinuate that anybody here would use such things :whistle::bolt:)

 

Cheers

 

AlpineRAM

 

I just fixed mine again.  1st was a bad alternator 2 yr ago... then recently the problem  came back and i just went down this list. works great.  

 

http://www.dodgecumminsapps.com/page04.html

3 hours ago, CSM said:

 

I just fixed mine again.  1st was a bad alternator 2 yr ago... then recently the problem  came back and i just went down this list. works great.  

 

http://www.dodgecumminsapps.com/page04.html

Well I know that list.. but where I saw some problems was that with a slightly altered engine (cam, pistons, injectors, turbo, smarty) and a slightly altered transmission (TC, number of clutches, valvebody) it can get a bit difficult to tune the lockup system. (especially while driving in the mountains with a lot of bends and switchbacks)

  • 1 year later...

I'd like to incorporate this into my truck but I've never used an Arduino before. Any odds we could get a written statement or video on how go about incorporating the files in the downloads section onto an Arduino and onto the truck? Ie. Where & how did you mount your Arduino? I've downloaded the files but have never ran code on an Arduino before. Do I need to go Google basic steps and learn how with some simple code first or could you help me cut right to the chase?

  • Author

Youtube has a ton of videos covering all of that.   

 

 

I do use this anymore since I have the quadzilla.      I honestly dont remember much about this project other than it was a little scary to be intercepting tps using a $30 uno device.   Always in my mind, what if it freezes....

Oh boy I don't know why I didnt think of that. Since u say that I don't think I can run it, lol. No way I could trust someone's library's for that device with my life lol.

 

Basically today I stalled my truck by stomping it to maybe 50-75% (more like 50-60% I think) throttle, just 0 to 30mph, and I let out too quick bc I didn't think I was in it that hard and it died. No turbo flutter, but I had to crack the lines and bleed to resume driving. I've taught myself to let out slow, but it's pretty annoying .....