TPS Effect on Ignition Timing

Reply

  #1  
Old 03-17-15, 02:00 PM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
TPS Effect on Ignition Timing

I'm trying to determine how much effect the TPS position/reading has on the ignition timing of a Honda dirt bike. According to the manual, the reading at idle should be between 13% and 15% of the full reading (4.4k ohms) in this case). My nephew's bike is at about 20% (900 ohms) and the sensor is set as low as it can go (it is adjusted by loosening a screw and rotating the body of the sensor and cannot be rotated further). As-is, the ECU thinks the throttle is open slightly when in fact it is in the idle position. I'm wondering how much this is affecting the timing. I am thinking of adding a series resistor in-line with the TPS to bump the full reading from 4.4k to 6k (upper limit of TPS spec), which would make the current idle reading 15% of the full reading--the upper end of the recommended range.
 
Sponsored Links
  #2  
Old 03-17-15, 04:12 PM
PJmax's Avatar
Group Moderator
Join Date: Oct 2012
Location: Northern NJ - USA
Posts: 45,112
The throttle position sensor tells the computer where the throttle is. The computer uses this value, along with others, to compute the timing.

I'm not quire following what you are trying to do. Do you actually have a problem or are you just supposing ? I didn't realize that dirt bikes had become so sophisticated with TPS sensors and computerized electronic ignition.

Putting a resistor in line with a sensor doesn't usually help since the resistor is linear and the sensor is not. The sensor changes the amount of resistance based on where it is in it's travel. A fixed resistor in that mix will defeat the upper and lower resistance readings.
 
  #3  
Old 03-17-15, 05:04 PM
Member
Join Date: Nov 2007
Location: MI
Posts: 2,527
Hmmm...I think if you put the resistor on the ground side of the TPS sensor it will raise your idle (and timing) by raising the ground reference. If you put it on the high side of the TPS it will have the effect of limiting your max throttle by lowering the Vmax out (don't want to limit the fun pedal!). And if you put it in line with the TPS output it might do BOTH.

Maybe the manual is describing "nominal" values but there's a wide tolerance. Does the throttle body have an idle air set screw?
 
  #4  
Old 03-17-15, 06:11 PM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
I don't think Vmax is an issue because the full scale of the TPS is not used. I believe it tops out around 3k or so, so that leaves enough travel. Even if it did, I won't be getting anywhere near WOT.

Yes, there is an adjustable idle screw. The procedure is to first set the idle to the specified range (2200 +/- 100 RPM for my nephew's bike), then adjust the TPS (by loosening the screw and rotating the sensor body) until a reading of 13% to 15% of the full reading is obtained. Problem is I have reached the lower limit of the adjustment range (dictated by the screw and slot), which has me at 20% (900/4400). I am proposing increasing the full resistance reading--and thus the reference voltage--by putting a resistor in series with the plus side of the TPS. The full reading can be as high as 6k, which would put me at 15% (lowest attainable reading at idle/2200 RPM is 900 ohms).
 
  #5  
Old 03-18-15, 06:41 AM
Member
Join Date: Nov 2007
Location: MI
Posts: 2,527
No harm in trying what you propose. I've only tinkered with a couple ECU-controlled systems and those put the TPS across a stable 5V so ultimately it didn't matter what the actual sensor resistance was since the output was 0-5VDC. Things didn't go well for me when I followed the manual on a 800cc Polaris twin and tried to "improve" the idle. The idle air bleed screw and TPS adjustment overlapped and affected the ECU control and I never quite got it right. It idled at spec and was stable but my fuel economy was noticeably worse and now I'm always the first guy who needs to gas up on group rides.

I found out later the throttle body is factory adjusted on a flow bench and although it wasn't mentioned in the service manual (there IS a step-by-step procedure) you should never attempt to change the settings. Not saying this is your case--I don't know--but it's worth considering and looking into at a specialized forum.
 
  #6  
Old 03-18-15, 07:10 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
No harm in trying what you propose. I've only tinkered with a couple ECU-controlled systems and those put the TPS across a stable 5V so ultimately it didn't matter what the actual sensor resistance was since the output was 0-5VDC.
I believe the Honda CRF is similar. Whatever voltage is supplied to the ECU (5V) is also the reference voltage for the TPS circuit. Then it's a simple voltage divider between the TPS and an internal resistor (or resistors) that dictates what the voltage is at a given throttle position, which in turn determines what voltage is read by the ECU, which determines the ignition timing (in combination with the CKP reading). My take on things anyway. Considering the TPS on the CRF is a potentiometer, the reading is likely higher than it should be because the wiper contacts inside are dirty. Since it is a sealed unit, there is no way to clean it. And since I have plenty of travel to work with on the high end, I don't see why adding a resistor to bump the full reading upwards wouldn't work. Guess I'll find out.
 
  #7  
Old 03-18-15, 08:26 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
Here are a couple diagrams to clear up any confusion. I didn't fill the degrees of ignition in because this is just an example and I don't know what the actual numbers are supposed to be. Notice how adding the 1.5k resistor (R2) in the proposed circuit (right) raises the reference voltage used by the ECU from 4.070 volts to 4.275 volts and lowers the TPS voltage at idle from 0.833 volts (20%) to 0.650 volts (15%), which is where it should be in order for the ignition map to be correct.

Left = Existing Circuit, Right = Proposed Circuit
Name:  TPS Circuit.jpg
Views: 1512
Size:  19.7 KB

Existing Ignition Map (timing off because of higher than normal TPS reading at idle - 20%):
Name:  TimingMap_Bad.jpg
Views: 1483
Size:  51.2 KB

Correct Ignition Map (addition of 1.5k resistor brings timing vs. TPS position back to acceptable range):
Name:  TimingMap_Good.jpg
Views: 1562
Size:  50.2 KB


Sorry for the crappy resolution. The first table shows what the current ignition mapping is. Highlighted in red is the 20% TPS reading of 0.833 volts that results from the 900 ohm reading at idle. This shifts the ignition timing and the incorrect timing is used. The second map is the corrected map after adding the 1.5k resistor, which brings the TPS reading at idle to 15% (0.650 volts).
 
Attached Images  

Last edited by mossman; 03-18-15 at 09:55 AM.
  #8  
Old 03-19-15, 10:05 AM
Member
Join Date: Nov 2007
Location: MI
Posts: 2,527
Ahh--the presence of R1 makes a difference! The ECU will never see the full 5V so you have plenty of wiggle room to modify the TPS range. I can't wrap my mind around what effect it will have on performance to change the TPS range from 0-4.1V to 0-3.2V. The butterfly will still be operating at 0-100% of flow but the throttle feedback now won't match and you will be operating in a different area of your map when above idle. You might fix the idle and really mess up the mid- to high-range.
 

Last edited by guy48065; 03-19-15 at 10:23 AM.
  #9  
Old 03-19-15, 12:59 PM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
It shouldn't mess anything up. It will have the affect of shifting things back to where they should be. For instance, as-is (left schematic), the ECU thinks the throttle is open 20% because the TPS reading is 900 ohms / 0.833 volts when it should be 0.650 volts / 660 ohms. As such, the ECU is using the timing in the red highlighted boxes, which are not the appropriate numbers for those throttle positions and RPMs. All the resistor does is raise the reference voltage and shift all the TPS voltages proportionally thereby making the 900 ohm/0.650V reading equal to 15% of the full reference voltage, which is where is needs to be, and the ECU will then use the timing number from green highlighted boxes. The ECU doesn't know the difference and doesn't care. All it knows is that it has a reference voltage (set by the full TPS reading) that it needs to divide into 256 steps (assuming an 8-bit A/D) and looks up the correct timing degree from the map based on what the TPS voltage is. The exact voltage isn't critical--it simply needs to be within a certain range to fall within the operating parameters of the ECU.

I highlighted some more cells in the example maps to hopefully make my point more clear. In the first map (no resistor added), shows the ignition timing values that would be used. The second map (resistor added) shows what values would be used if the resistor were added, which are the correct values. If I were to instead put a brand new TPS on the carb that had a total resistance of 4.4k and I was able to adjust it so that it read 660 ohms at idle (which I should be able to do with a perfectly good TPS), these same timing values would be used. The reference voltage would remain the same as my first schematic, but being able to adjust down to 660 ohms would get me to the 15% range, which is where I need to be. Since I won't be spending $70 for a new TPS, a 50 cent resistor will do just fine.

As-is (no resistor):

Name:  TPS Chart-Existing.jpg
Views: 1413
Size:  51.4 KB

Corrected (with resistor):

Name:  TPS Chart-New.jpg
Views: 1617
Size:  51.7 KB


Perhaps an analogy will clear things up. In order for an engine to run, it needs to have a certain air-to-fuel ratio from the carburetor. If there is too much fuel/not enough air, it will run rich. If there is too much air/not enough fuel, it will run lean. Neither a rich or lean condition is desirable as it will cause the engine to not run at its peak efficiency. My air/fuel mixture without the resistor is lean because I have too much air (900 ohms) for the fixed amount of fuel (4.4k ohms). Therefore, in order to correct my mixture, I need to either reduce the amount of air (which isn't possible because 900 ohms is the lowest I can go in this case) or increase the amount of fuel (which IS possible because the manufacture spec says up to 6k is okay). By adding the resistor, I am increasing the amount of fuel (4.4k to 5.9k) which brings me to the proper air/fuel mixture. Clear as mud?
 

Last edited by mossman; 03-19-15 at 01:39 PM.
  #10  
Old 03-20-15, 06:21 AM
Member
Join Date: Nov 2007
Location: MI
Posts: 2,527
Your example still doesn't address the drop in max voltage at the R2-TPS junction caused by adding R2. Original had 0-100% air = 0-4.1V (100%TPS) but after your mod you will have 0-100% air = 0-3.2V (80%TPS). I think the result is you will be lean at all points above idle.

Name:  map.jpg
Views: 1584
Size:  49.8 KB
 
  #11  
Old 03-20-15, 08:50 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
The reference voltage (what you are calling max voltage) increases from 4.070 volts to 4.275 volts when adding R2. Again, the ECU doesn't know/care what the actual reference voltage is as long as it is within a certain range. In my example (which assumes R1 is 1k), the acceptable range is 4 volts - 6 volts, which comes from a fixed TPS resistance between 4kΩ and 6kΩ, respectively. All R2 is doing is making the ECU think a TPS with 5.9kΩ total resistance is connected, when in fact a 4.4kΩ TPS with series 1.5kΩ resistor is connected. It doesn't know the difference--it's reading the voltage drops caused by the resistances. Adding R2 creates an additional voltage drop so that the voltage at the current throttle position is decreased, thereby bringing it back to within the proper range as expected by the ECU. The A-to-D converter inside the ECU takes the reference voltage and divides it into so many steps, then determines what the throttle position is based on the voltage detected by the center arm of the TPS sensor, which is a percentage of the full voltage.

Another example:

TPS reference voltage 4.070V
4.070V / 256 steps = 0.016V per step (8 bit A-to-D)
Vtps (idle) = 0.833V (20% of full throttle) = Step 52
Binary representation of 0.833V/Step 52 = 0011 0100
Expected reading at idle (15%) = 0.611V/Step 38 = 0010 0110

At idle without R2, the ECU will grab the ignition timing figure corresponding to value/address 0011 0100, which is not the proper timing for idle. The proper timing for idle is located at value/address 0010 0110

Now add R2:
TPS reference voltage 4.275V
4.275V / 256 steps = 0.017V per step (8 bit A-to-D)
Vtps (idle) = 0.652V = 15% of full throttle = Step 38
Binary representation of 0.652V/Step 38 = 0010 0110

As you can see, adding R2 corrects the mapping so that the proper timing is used. The voltage expected at idle (15% throttle) from the first instance is 0.611V and the 38th binary value/address, whereas the voltage expected at idle for the second instance is 0.652V, yet even though the voltages are different, they correspond to the same 38th binary number of 0010 0110. The added voltage drop across R2 decreases the TPS reading at a given throttle position and shifts things back to where they need to be.
 

Last edited by mossman; 03-20-15 at 10:59 AM.
  #12  
Old 03-20-15, 10:58 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
Crap, don't think it will work at other throttle positions. Taking another look...
 
  #13  
Old 03-20-15, 11:58 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
Post deleted. Need more time to think.
 

Last edited by mossman; 03-20-15 at 12:18 PM.
  #14  
Old 04-09-15, 06:41 AM
Member
Join Date: Nov 2007
Location: MI
Posts: 2,527
Did you ever get this sorted out?
 
  #15  
Old 04-09-15, 10:40 AM
Member
Thread Starter
Join Date: Mar 2009
Location: Northern Virginia
Posts: 3,416
Did you ever get this sorted out?
No. I came to the realization that no combination of resistors is going to correct the error at all throttle positions. Guess my nephew will need to buy a new TPS or disconnect it if it starts giving him problems.
 
Reply

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Thread Tools
Search this Thread
Display Modes