Board logo

Non-linear TPS for megasquirt
matt_gsxr - 27/10/09 at 09:59 AM

Hi there chaps,

Has anyone any experience of non-linear throttle position sensors. By this I mean sensors that give proportionally larger changes in their output for small throttle openings that at larger throttle openings.

I am aware of logarithmic ( Webcon sell a part ) and TPS with two-regions of linearity ( Ducati use these on some of their models, as do BWM bikes ).

This should help to address a couple of problems:
1) resolution at low throttle openings (presently I can rev to 4k before my gsxr600 throttle bodies shift of an ADC of 58). This doesn't seem to matter, but I am a control freak.
2) Acceleration enrichment. I need more at low TPS, and using TPSdot with a non-linear TPS would give me more enrichment low down (which is what my engine needs).



I know this is all a bit technical. But the MS forums are dead quiet (unless its a v8), and I know you guys have a lot of knowledge.

Anyway here are some links:


TBI's.Bosch TPS two linear outputs
Webcon alpha logarithmic TPS
I think that the Ducati (Non Linear: 748, 851, 888, 916, S4, ST4, 996, S4R (Desmoquattro), ST4S.) use a Weber PF09, which has two linear regions.

One quick note: you have to ensure that you get the right non-linear potentiometer (i.e. clockwise versus anti) as you can't just switch the electrical connections over like you can with a linear one.

Anyway, if anyone in internet land has some useful information on all this then I'd appreciate some help on what bits might fit what I have.

Matt


p.s. MS1, running MSextra, on a GSXR1100 with GSXR600. And it runs fine, its just I am obsessed with getting it perfect.


SeaBass - 27/10/09 at 10:24 AM

Dave Walker seems to have a real bee in his bonnet about using bike throttle bodies on a car engine but I seem to have been lucky using ZX12 bodies on my Zetec. I still don't fully understand his arguments relating the angle of the throttle plates.

Are you saying the TPS reading isn't changing when you initially press the throttle? I'd investigate the alignment of the TPS to shaft so that it reads as soon as the throttle moves.

I'm used to the Emerald ECU software but you can calibrate the TPS easily through its range.


turbodisplay - 27/10/09 at 10:55 AM

The idea is that you have more resoloution at lower throttle movments.
On an 8 bit a/d design like the megasquirt you have 0 - 255 representing throttle movement (in reality is is probally more like 50 - 200)
So 1 degree of throttle movment at just passt closed throttle results in a 5 change (good resoloution) yet 1 degree just before wot may only give a change of 2 (less resoloution).
You get more presices data near closed which is what you want.

Darren


02GF74 - 27/10/09 at 10:56 AM

will this really sovle your problem?

I have't given it a lot of thought but a small throttle openings you have very little movement.,

It won't make much different if say you go in steps: 1-2-3-4-5 (linear) or steps: 1-2-5-10-20 (log) since the software should take care of that?

If you want more resolution, then you need some sort of cam to amplify the movement at low throttle openings.

How come you are having this issue and none else?

Like I said, not given it much thought so ....


matt_gsxr - 27/10/09 at 11:09 AM

I will check that there is no slop. Very good point that. It is all stock, so I will be surprised (but not for the first time!!!).


Yes, there is something to do with initial throttle plate angles. I have plotted the area as a function of spindle angle for plates at 6deg and 12deg and you can see that the higher angle lets lots more air in for small openings (the maths is just a difference of cosines).

Graph_of_throttle_plate_effect
Graph_of_throttle_plate_effect


I suspect it could all be solved with an appropriate linkage. Also (interestingly) Webcon use logarithmic pots, so there is some "magic" in the aftermarket car throttle-bodies. The bike throttle bodies use different magic (i.e. secondary throttle plates) but we just remove that!!!!


In my case its GSXR600 throttle bodies on a GSXR1100 engine. So I don't have bike bodies on a car engine!



Anyway. The issue that I have is that I have only 8-bit resolution on the TPS ADC. And for the first 0.5deg (or so) of throttle opening, I get quite a lot of air, but only at the end of this do I get an increment in the adc (i.e. from 58 to 59). Interestingly looking at the cars that have non-linear TPS it seems (to me) that this was a problem on some high performance bikes/cars before EFI got clever enough to work around this stuff (i.e. use MAP and TPS efficiently, or read the TPS to more bits). Interesting.


I can calibrate the TPS and vary the bin sizes, and all that stuff in MS but only within the limits of the ADC output.


Matt


matt_gsxr - 27/10/09 at 11:30 AM

Dear O2,

Fair comments.

Why do I have this problem?
1) I am too cheap to get MS2 that allows blended TPSdot MAPdot acceleration enrichment.
2) I am obsessed with AFR


This was a problem on the Ferrari F40, Ducati bikes, BMW bikes, and Escort and Sierra Cosworths, and Webcon alpha systems. I am not ashamed of sharing that company.


I should have explained the issues.

Angle ADC_linear ADC_logarithmic
0 58 1
0.2 58 1.5
0.4 58 2
0.6 58 3
0.8 58 4
1.0 59 6
1.2 59 9
1.4 59 13
etc.

I'm bored of numbers now,but I guess you see what I mean.

so if you see what I mean I will get the values in-between.




Matt


flak monkey - 27/10/09 at 11:38 AM

Sounds like it may be a workable solution.

The issue is that the throttle plates are very close to vertical in bike throttle bodies so there is a massive change in airflow for very small spindle angle change around idle. Car throttle bodies will generally have a shallower angle on the throttle plates when close which will lead to a more linear response.

The only real solution is use car throttle bodies, but there are several work arounds which exist where by you can use the ignition timing to slow the rpm at idle and keep the throttle open enough to be past the trouble spot. Its not ideal, but seems to work. You literally only need to be open a degree or 2 further than normal to get past the problem

David


matt_gsxr - 27/10/09 at 11:47 AM

flaky,

are you sure you have those the angles the right way around? bike vs car.

My little graph suggests that it is the other way around.


There are two issues:
1) air vs throttle position.
2) How the ECU deals with it all

I am working on (2) at the moment. You are right that (1) can be an issue, but I don't think it is a big deal (and can't do much about it anyway!). For me I would like to have nice acceleration enrichment using TPSdot.


Matt


02GF74 - 27/10/09 at 11:58 AM

quote:
Originally posted by matt_gsxr
I should have explained the issues.

Angle ADC_linear ADC_logarithmic
0 58 1
0.2 58 1.5
0.4 58 2
0.6 58 3
0.8 58 4
1.0 59 6
1.2 59 9
1.4 59 13
etc.

I'm bored of numbers now,but I guess you see what I mean.

so if you see what I mean I will get the values in-between.




I see what you mean but hwat Iwas trying to get across that the movement is so small, that you may not get the intermediate values, your table, using my values would look like this:

Angle ADC_linear ADC_logarithmic
0 1 1
0.2 2 2
0.4 3 5
0.6 4 10
0.8 5 20
1.0 6 50
1.2 7 100
etc.


matt_gsxr - 27/10/09 at 12:39 PM

It certainly requires careful choice of TPS to avoid all the bins appearing at the bottom end!!!

Offsetting the angle of the TPS has a massive effect on non-linear TPS. There are a number of pages explaining how to set these up on Ducati's as it becomes important (unlike with a linear TPS where it is just an ADC offset).


Some TPS just have two linear regimes, a steep (e.g. 5ADC/deg, and less steep 2ADC/deg)

All good fun,

Matt


02GF74 - 27/10/09 at 12:56 PM

Have you considered using an an optical shaft encoder?


brianthemagical - 27/10/09 at 01:02 PM

Do you have any kind of MAP compensation enabled? That'll really bve the only way. The main problem is due to the low pressure behind the throttle plate, so it kind of sticks, so no matter what else happens, the throttle plate movement will be less then desirable.

I find the easiet way around it is to just stamp on the pedal and go fast. Either that or give it a little throttle when changing gear/dip the clutch when coming back on the throttle.

Over run cut off can also amplify the problem.


matt_gsxr - 27/10/09 at 02:03 PM

I don't think I can do MAP compensation without more powerful hardware (I only have the basic MS1 running Extra). I agree with you that this would help, and I can get a daughterboard upgrade I suppose. I quite like the simplicity of my set-up.

Stamping on the accelerator certainly works! And I don't see any problem with full throttle gearchanges either ;-)

Matt


clairetoo - 27/10/09 at 06:27 PM

I got round the problem by spacing the lower bins close together , worked out by drawing the opening rate as a curved graph - starting as a gradual curve rising in rate towards full throttle (if that makes sense ?)
I have near perfect response from closed throttle , I also use RPM based accel (seems to improve response at any opening)
Short video here - thats ticking over at 550 rpm , pulling away in second gear at about 1000 rpm , and pulling clean all the way up to near 8000 rpm........


MikeRJ - 27/10/09 at 06:55 PM

You can make a standard TPS give a non-linear control function by simply putting a fixed resistor between the wiper and one end of the potentiometer. I'm surprised this isn't done more often to be honest.

I made an excel spreadsheet to show the effect of this, you are welcome to a copy if you are interested.


matt_gsxr - 27/10/09 at 09:28 PM

Dear Mike,

You sir are a bloody genius.

Here is a plot of a 5k pot, with an additional 2k between the 1v and the wiper (I know this should all be scaled up by 5volts, but I have already made the picture now!). I had to build the spreadsheet, but what's the point in having a PhD if you don't use it! (although I know next to nothing about electronics I am sorry to say)

Graph_of_TPS_voltage_with_mod
Graph_of_TPS_voltage_with_mod


This is exactly what I needed. It also explains why there are not many non-linear TPS around, you just don't need it if you have this trick.

Wow, and this is truly locost (1x 2k resistor), if only I weren't already over the £250 budget ;-)


Matt


MikeRJ - 27/10/09 at 10:15 PM

I uploaded my spreadsheet to my webspace, might be useful to someone. One of the things included is to show throttle degrees per ADC LSbit, so you can actually see what kind of resolution improvement you get.

[Edited on 27/10/09 by MikeRJ]


matt_gsxr - 27/10/09 at 10:36 PM

The only minor fly in the ointment on this (and it is minor) is that my TPS (GSXR600) run from 58 to 225 in ADC units (i.e. 256ths) in this range you struggle to gain the gain that is needed.

Actually the best improvement is about 25%.

So to get the full benefit I need to adjust the TPS so that it reads to quite low values. For the GSXRs this is easily accomplished with a bit of dremeling. Then I get the benefit of the left-hand-side of this curve.

Thanks again for this.

Matt


chasmon - 31/10/09 at 08:13 PM

I've been looking into this too. Not really had the time to do anything with my other commitments but my solution was to use a non linear operational amplifier on the input into the MS. There's a space on the main board for extra hardware. This would essentialy allow you to use the full 0-255 and also out more gain on lower opening...

HTH


coozer - 31/10/09 at 08:29 PM

I understand DaveWalkers argument with bike TB's

Generally they have to flow real fast up to mega revs.. thats the reason for the angle...

Forget that, what happens is because of the butterfly angle, say, at tickover MAP is 50kpa, raise the throttle just off tickover, say 5%, and the MAP goes up to 90kpa.. then for the remaining 95% of the travel the MAP only goes up to 95kpa..

TPS works much better as you then have a range from 0-100%

Don't forget I may be talking total horlicks, but thats my understanding of the way bike TB's work and DW's dislike of them. I suspect his dislike is down to the poor setup of them on home brewed installs.


chasmon - 2/11/09 at 10:39 PM

Can anyone confirm that the MSII has a 16bit ADC on the TPS input?

This would help things greatly...

And sorry to high jack but if anyone has a GSXR TPS going spare I'd be interested in buying it!


chasmon - 3/11/09 at 12:14 PM

quote:
Originally posted by chasmon
Can anyone confirm that the MSII has a 16bit ADC on the TPS input?

This would help things greatly...

And sorry to high jack but if anyone has a GSXR TPS going spare I'd be interested in buying it!


Just done some digging and it appears that the MSII has 10 bit resolution the TPS input.

Thats 0-1023 rather than 0-255 an increase of 4 times...

Now looking at getting a MSII upgrade.

[Edited on 3/11/09 by chasmon]


matt_gsxr - 7/11/09 at 09:20 PM

Just as an update on this. I am a fan of closure!

The TPS resistor seems to have given me a bit more dynamic range at the bottom end and doesn't seem to have any disadvantages. I have adjusted the VE table and went for a great run today.

I did have a little slop in the linkages (the TPS is on one end for 4 TB's and the cable pulls on the other end) so any slightly slop in any of the connections causes this effect. Adjusting this and re-balancing makes it run much nicer. I think this was part of my problem.

Matt