STVA Bypass/Simulation - GSXR.com
 
LinkBack Thread Tools Display Modes
post #1 of 4 (permalink) Old 01-16-2016, 12:33 AM Thread Starter
Squid
 
Join Date: Jan 2016
Posts: 5
Garage
STVA Bypass/Simulation

Hi everybody. This is going to be a long post so I apologize in advance. I've spent around a year researching and messing around with the STVA on my K7 600, and I've just about made it to the point where I've got the computer tricked 100% of the time. Right now it's about 80% effective, so I'll sometimes have to cycle the shutoff switch off/on once or twice until it works. But I figure it's working well enough that I should tell people about it, because motorcycles are dangerous and stuff, and also because one of you might have a better idea to get it working 100%. So, lets start with what the STVA actually is.

The STVA

In this post I'm talking about the STVA on the K7 (and whichever other years have the same setup). The STVA is composed of 2 items. There is a 4 wire bipolar stepper motor to rotate the throttle valves, and a potentiometer to sense the position of the throttle valves.


Stepper Motor

The stepper motor has 4 wires coming out of it. Internally, there are 2 separate coils, and each of the wires connects to an end of a coil. In this way the wires form pairs. A pair of wires for one coil, a pair for the other coil. To make the motor rotate, the wires are supplied with + and ground voltage in a particular order. The pattern in which the wires receive the voltage determines which way the motor rotates. In fairly common stepper motors, there are 200 steps per revolution, so the polarity of the wires has to switch 200 times to spin the motor all the way around. I've probably messed something up in my explanation so I'll just go ahead and say the wikipedia article on stepper motors does a much better job explaining it than I do. The motor itself should never actually wear out, but apparently some bikes (mostly the earlier years?) had issues with the solder joints on the connector.

The bike's computer has a stepper driver (aka electronic circuitry) that is looking for several things. The driver needs to see that the correct pairs of wires are connected together. If it sees that they are not, it assumes an internal coil on the stepper motor has broken or there is a short between coils, and it throws a code. I expect that the stepper driver is looking to see if the wires have appropriate current consumption to tell whether there is an internal short between wires of the same coil, but I do not know for sure. Finally, the driver is looking to see a voltage spike from when the coils switch polarity. This has to do with the fact that the coils of wire form inductors. Failure to see this voltage spike makes the driver think the coils are messed up, and it throws a code. Like I said above, I wouldn't expect the motor itself to ever break. It's built pretty solid, and there are no brushes to wear out on these motors.


The Potentiometer

The position sensor is a 3 wire potentiometer (basically, a variable resistor). Mine became worn out so I don't know what the correct resistance is, but it is set up to function as a voltage divider so it doesn't really matter for our purposes. Anyway, 5 volts are applied to one wire, the opposite wire is connected to ground, and as the potentiometer rotates with the throttle valves the voltage measured on the middle wire reads between 0.15 and 4.85 volts. The computer knows what voltage reading associates with what position, and can therefore command the stepper motor to rotate the throttle valve in the correct direction. If the measured voltage gets outside of that range, or if the computer sees that it cannot get the throttle valves/potentiometer to the correct position, it will throw a code. The potentiometer WILL wear out. The electronic contact points slide across each other and wear down, so it's just a matter of when, not if.

The Bypass

There are 2 parts to this. First, the stepper driver has to be tricked into thinking the motor is intact. This is fairly easy to accomplish. We simply need a pair of resistor+inductor to simulate the pair of coils. The resistors will cause the wires to flow the correct current, and the inductors will cause the voltage spike just like the stepper motor would.

Second, the computer must see the correct voltage coming from the potentiometer (indicating the throttle valves are in the correct position). This is where I cheated a little. The computer allows a certain amount of time for the potentiometer to move into the correct position, so what I did was make a circuit that generates a sawtooth waveform at a moderate speed in place of the potentiometer. The computer ends up seeing the fake "potentiometer" briefly at the correct position but that soon passes. The computer then commands the simulated "stepper motor" to move (which does nothing), and eventually the sawtooth pattern repeates and the computer briefly sees the "potentiometer" at the correct position again. The cycle repeats over and over. The computer is never completely happy with the positioning for more than a moment, but since the circuit simulates the potentiometer in the correct position on occasion, the computer decides that nothing is actually broken. And since the voltage range of the sawtooth pattern is from 0.15 to 4.85 volts, every possible position is represented.

Last edited by sniporbob; 01-16-2016 at 07:49 PM.
sniporbob is offline  
Sponsored Links
Advertisement
 
post #2 of 4 (permalink) Old 01-16-2016, 08:13 PM Thread Starter
Squid
 
Join Date: Jan 2016
Posts: 5
Garage
The proof you've been waiting for: https://www.youtube.com/watch?v=zd3a19dnWbE

Here's a PCB diagram of the circuit that replaces the position sensor (aka potentiometer):



D1 & D2 = diodes.
C1 & C2 & C3 & C4 = 10000pf capacitors.
The IC is a 555 timer.
The blue wire from the bike ties in to Jumper1 somewhere.
The black wire from the bike ties in to Jumper 2 somewhere.
The yellow wire from the bike goes to the spot labeled J1.
I'm still messing around with the various resistor values.

Here's the actual circuit board on my bike. It's ugly now because I keep swapping out components, so there's solder and flux all over the place lol.




The little black square at the bottom left-ish (with green, black, red wires) is what I connect the oscilloscope probes to for monitoring the circuit.




Jumpers are on the back, as well as the wires from the bike.


And here's the output from the circuit that goes to the yellow wire:




I believe the peak voltage is too low. My understanding is that it should be somewhere closer to 4.85 volts. I'm also debating whether or not I should slow down the frequency...

The stepper motor simulator is really simple, so I didn't even bother with a circuit diagram. You just need 2 resistors and 2 inductors. A resistor + inductor in series needs to have 7 ohms of resistance and approximately 7 mH of inductance.

Here's the actual board I have on my bike:





Note that I did not have the correct value resistors, so I put 2 in parallel per circuit (which makes 4 in total) to get the resistance down to 7 ohms.

And I just realized I need to take a picture of which wire from the stepper simulator go to which pin on the connector...

Imgur album with all the pictures: GSXR STVA Bypass - Album on Imgur
sniporbob is offline  
post #3 of 4 (permalink) Old 01-17-2016, 08:09 AM
Racer
 
Chuckster's Avatar
 
Join Date: Feb 2006
Location: Indianapolis, IN
Posts: 700
Very interesting. I think you're the first to think of just cycling the STPS feedback. Have you played with the frequency or a sine wave doing the same? It would be interesting to see if the frequency would create a sampling problem with the ECU clock. Interestingly enough, my findings on the 06 and newer Mikuni units has shown one of three things cause the failure. An ECU issue is pretty frequent, so a bypass wouldn't work. Second is loose connectors at the ECU/harness connection. Again, a bypass circuit wouldn't work. Third is the sensor going bad. These sensors are expensive, but also restore the SDTV system to proper function. I'm not a big fan of bypasses, but I think you've done a fantastic job with this.

There are a lot of people who question me about the availability of a bypass. The last bypass created for the older DC units was eventually taken and turned into the "servo buddy". I'd encourage you to remove your design and look into having it manufactured for retail sale. You'd make a killing. I also think you could throw some additional design time and compact the design greatly. That would be really important for retail. Your design would work on any Mikuni unit, but the 1000cc bikes use Keihin. I wish I had a scope. I'd throw it on both my 600 and my 1k and feed you the data. Wouldn't take much to modify it since the logic is the same.

I'm going on memory here, but I'm pretty sure the steppers are .3 degree (1200 step). I know the number 3 is right, but 3 is 120 steps, and I recall these motors having a pretty fine resolution.
Chuckster is offline  
 
post #4 of 4 (permalink) Old 01-17-2016, 11:50 PM Thread Starter
Squid
 
Join Date: Jan 2016
Posts: 5
Garage
Hi Chuckster! I was kind of hoping you'd chime in here. I was interested in hearing what you had to say about this.

In the great tradition of scientific discovery, I stumbled across the idea of supplying the sensor wire with a continuous waveform by accident, and I was fortunate enough to learn what was going on and harness that information. I originally attempted to use a microcontroller with a bunch of fancy code to sense what the stepper motor was doing and adjust the voltage output being fed into the sensor wire, but that was a catastrophe. It's a long story of repeated failures that lead to the eventual discovery.

I have not tried a sine wave yet. I have modified the frequency somewhat though. It was actually substantially faster when I originally made it. I slowed it down and it has become more reliable in it's current version (pictured above). I suspect sampling rate issues were (are?) being encountered. That's why I'm considering an attempt to slow it down more. At the moment I just don't have the electronic components on hand to do so.

I too am generally of the opinion that things should be fixed instead of bypassed, but it seems like this is one of the components that is going to continually break so it's nice to have the option. I'm actually going to send my STVA to you in the near future to get it fixed, but leaving it broken motivates me to finish up this device.

Eventually, though, I think the community will need something like this bypass.

It's interesting to learn that the method for the older bikes turned into the Servo Buddy. I saw that thread a while back and it's actually one of the reasons I started on this project. I was looking for it recently but I couldn't find any copies of it anywhere. It's kind of a shame really, to remove knowledge from the community for profit. It gave me enough basic information to get started with this one, and without it I don't think I could have accomplished this.

So on that note, despite the fact that I could probably make some decent money from withholding this info, I think it's better to share it. Of course I have goals in life that require money to accomplish, but in this case I think it's better to post the info. There's a lot of secrecy around car and motorcycle electronics, and that makes it extraordinarily difficult for people such as myself to accomplish anything. Plus, I've learned a ton of info about the mechanical side of things from people on here and other forums, and it just feels like giving this info about the electronics to the community is the right thing to do. Besides, it's not a 100% reliable circuit right now, and even if it were, I've found (from other forums) the vast majority of people would opt to buy an assembled device instead of undertake building one on their own. I am thinking of potentially manufacturing these once they are reliable so if I go that route there's still money to be made, and hopefully people would choose to support me over the inevitable Chinese copies.

You're completely right about the size. I don't know if much can be done about the size of the inductors, but the circuitboard can be shrunk down to about the size of a penny. I used the very DIY-ish method of a sharpie, pool acid, and hydrogen peroxide to etch the circuit board. I made it large enough that I could swap out components if need be (and a good thing too!) and it is single sided for simplicity so it was intentionally a fair bit larger than necessary.

If you're interested in getting an oscilloscope but don't want to break the bank, the Hantek DSO5102 isn't a bad way to go. That's what I have. The price is reasonable and it can be DIY modified to function the same as the DSO5202.

Last edited by sniporbob; 01-18-2016 at 12:02 AM.
sniporbob is offline  
Sponsored Links
Advertisement
 
Reply

Quick Reply
Message:
Options

Register Now



In order to be able to post messages on the GSXR.com forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.

User Name:
Password
Please enter a password for your user account. Note that passwords are case-sensitive.

Password:


Confirm Password:
Email Address
Please enter a valid email address for yourself.

Email Address:
OR

Log-in









Human Verification

In order to verify that you are a human and not a spam bot, please enter the answer into the following box below based on the instructions contained in the graphic.



Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page
Display Modes
Linear Mode Linear Mode



Posting Rules  
You may post new threads
You may 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 On
Pingbacks are On
Refbacks are On

 
For the best viewing experience please update your browser to Google Chrome