Custom stimulator with VVT!
#1
Elite Member
![](/mt2011/images_td/ranks/supporter1.gif)
Thread Starter
iTrader: (10)
Join Date: Jun 2006
Location: Athens, Greece
Posts: 5,987
Total Cats: 359
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
I asked Jean of jbperf.com fame some time ago, if he could implement a VVT emulation function in the JimStim cpu. Specifically, I wanted to be able to change the phase between the cam and crank signals by using the spare pot on the stim. He said that it is not possible right now because the spare pot is not brought over to the cpu, but he would put it on his to-do list. Well, now that I have my MS2 running on the stock sensors rather than on the NA CAS back when I had the MS1, its time to do closed loop VVT control. Being a microcontroller guy, I like to do things because a) its fun and b) because I can.
Recently, my JimStim died on me, so I needed to build one from scratch. I took the liberty of building one with features not found on the JimStim:
1) proper CKP/CMP signals for my 2002 Miata w/VVT
2) VVT phasing
3) Coolant fan LED
4) A/C request w/LED
5) A/C relay and A/C fan LED
6) clutch & neutral switch emulation and LED
7) power steering switch emulation and LED
8) VREF check (red/green LED)
9) VSS emulation
10) CEL led
11) battery light LED
12) alternator field control LED
13) tachometer LED
14) system voltage potentiometer.
On the bench:
VVT phasing as seen on the scope:
Dimitris
Recently, my JimStim died on me, so I needed to build one from scratch. I took the liberty of building one with features not found on the JimStim:
1) proper CKP/CMP signals for my 2002 Miata w/VVT
2) VVT phasing
3) Coolant fan LED
4) A/C request w/LED
5) A/C relay and A/C fan LED
6) clutch & neutral switch emulation and LED
7) power steering switch emulation and LED
8) VREF check (red/green LED)
9) VSS emulation
10) CEL led
11) battery light LED
12) alternator field control LED
13) tachometer LED
14) system voltage potentiometer.
On the bench:
VVT phasing as seen on the scope:
Dimitris
Last edited by y8s; 08-24-2010 at 10:15 PM. Reason: only the stuff after "=" goes in the youtube tags.
#14
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
J_Man wrote a program that runs on a Windoze PC. (Just the cam and crank signals, with any pattern you like, and a means of changing the VVT phase). It outputs on the parallel port. I tried it, it works.
I had one in an ancient PC running under DOS (minus VVT), for the NB sensors.
I suggest also coding for a 12+1 crank trigger wheel (a la Honda K20 / RSX) for increased crank angle resolution / accuracy.
I had one in an ancient PC running under DOS (minus VVT), for the NB sensors.
I suggest also coding for a 12+1 crank trigger wheel (a la Honda K20 / RSX) for increased crank angle resolution / accuracy.
#15
Elite Member
![](/mt2011/images_td/ranks/supporter1.gif)
Thread Starter
iTrader: (10)
Join Date: Jun 2006
Location: Athens, Greece
Posts: 5,987
Total Cats: 359
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
There is absolutely no reason at all to go for a 12+1 crank trigger wheel when you can go for a 36-1 or a 60-2, if accuracy is what you want.
Last edited by Reverant; 08-25-2010 at 08:43 PM.
#17
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
As long as all the sensors work and the crank/cam signals and phasing are exactly like the stock miata, I'll use that stim and get it working.
One thing that would be nice is if the stim had some way of telling me what cam angle it thinks its commanding WRT its base position so I can compare that to what my code thinks the angle is.
I can calculate that looking at the signals on the scope, but if your code is already calculating it, having some way of seeing it would be cool. If it takes too much coding to make that possible though then forget it.
This is going to be an ms3 1.1 feature which means we'll probably start doing alpha releases in the next month or so as we start working on the features that are going in that release.
Ken
One thing that would be nice is if the stim had some way of telling me what cam angle it thinks its commanding WRT its base position so I can compare that to what my code thinks the angle is.
I can calculate that looking at the signals on the scope, but if your code is already calculating it, having some way of seeing it would be cool. If it takes too much coding to make that possible though then forget it.
This is going to be an ms3 1.1 feature which means we'll probably start doing alpha releases in the next month or so as we start working on the features that are going in that release.
Ken
#18
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
So for really fast accelerating turbo engines, 36-1 is good, 60-2 is great, but for an NA 1.6-2.0L engine, it's not really going to acclerate fast enough to cause major accuracy problems, so you can safely go with 12+1, and save some time on the ms2/ms3 CPU for doing other things.
12+1 at 8000 rpm is 1600 interrupts per second, 36-1 is 4800 interrupts per second, 60-2 is 8000 interrupts per second. Every time the CPU has to process an interrupt, it's not calculating a new pulse width or looking up a new ignition timing, etc... We can handle those numbers of teeth, but like I said, I'd go with only as much as you need.
Ken