Jump to content
SAU Community

Vct Controller For Rb20 And Non Vct Enabled Ecus On Rb25s, Anyone Interested?


Rolls
 Share

Recommended Posts

I haven't written the code yet so they won't do anything. What I meant by working is the boards are functional and can turn FET on and off to control a solenoid. I have no idea how much current is needed however and what kind of voltage so that needs to be tested along with actually writing the code. Shouldn't be too much work but until then unless you can program C for a dsPIC microcontroller they wont be much use.

Link to comment
Share on other sites

edit: Once I have something working I will be sure to let you know though. I'm going to hard code the rpm points for turning on/off initially but might add a DIP switch to change the lower/upper points in 500rpm increments finally.

Link to comment
Share on other sites

If your after some basic circuit idea's that might help the project...

You can use a 741 op amp as a comparitor, allowing an adjustable reference voltage to be input with a POT (0-5V), compared to say an TPS input voltage, and the output of the IC will swing high or low. http://www.technologystudent.com/elec1/opamp3.htm

As for driving the solenoid, using a BUK456 TO220 package mosfet with a 5 watt 60v zener diode setup reverse bias from the gate to ground is the easiest method ive found to switch big currents (up to 20amp). No heatsync required to. And the input of the mosfet just needs an input pulled high to 5V with a 100ohm resistor. Ive used these for driving fuel injectors and they work great. The zener is needed to stop the voltage spike the solenoid generates from cooking the mosfet.

With RPM sensing, had you though of using an outside RPM detection method like an RPM activated switch such as Autometer/MSD sell? That way you can just change rpm pills to alter the activation RPM's of your circuit and the output is either high or low. Makes it a simple "no brainer" adjustment method.

Good effort on having a go at this. Im with you in that there is a lot of satisfaction to be had from making something like this yourself. You'd be amazed what you can make when you start applying some of your trade knowledge to something you actually have passion about!

Edited by GTRNUR
Link to comment
Share on other sites

I have something on the go aswell was just hoping your's was finished before mine.

Using an Amtel processor, reading RPM signal from ecu it will the ground the VTC wire.

Also looking at at using it as a boost controller and a datalogging device to send real time data via serial

Link to comment
Share on other sites

Thanks for the suggestion GTRNUR on what config to use to drive the solenoid, I will definitely give that a shot. Do you know how many volts the solenoid needs to run? save me testing. Pulling the mosfet high via a digital IO pin will be much easier than using an opamp as well, will add all of that to the next board revision.

With the RPM sensing that is definitely a possibility but as I want to keep it as low cost as possible and I want to be able to easily change rpm ranges. A DIP switch with a few pre set rpm points is the easiest way, however I could add some pots with an LCD or a COM port to set it that way. Leaning towards the DIP switches as there is unlikely to be much gain from changing the rpm points from standard much.

Link to comment
Share on other sites

Crans what do you mean it will ground the VTC wire? Is the solenoid already wired to the battery and just needs the ground wire to be switched? I had just assumed it needed the active wire switched as it could just use any of the chassis for the ground, would save running two wires, I guess Nissan might have had their reasons if that is the way it is wired up though.

Also using a 741 as a comparator that would certainly work but I am more of a software guy and this way I can easily add more features to the project.

Link to comment
Share on other sites

As far as i know the vct is activated by grounding the wire that goes to the ecu

Correct. The VCT valve works the same as an ignition coil or injector (no resistor pack to limit current though). +12V is always present on one side of the injector, and the activation requires just pulling to ground.

The BUK456 mosfet is an N-channel fet. Gate is your +5v trigger with a 100 ohm input to limit activation current. Source connects to the solenoid grounding wire and the zener diode anode end, and the drain connects to chassis ground and the zener diode cathode end.

Most RPM/frequency comparing circuits ive seen (that can then result in a boolean trigger) that used dip switches use the switches to turn on/use different RC circuits. Ie.... Time=Resistance*Capacitence. These circuits would switch in different RC combinations to a frequency comparitor IC. You can actually get all kinds of cool IC's developed to do just this sort of thing. Saves you having to design all your own circuits. The accuracy of these methods isnt necessarily very good though as component tolerances vary a fair bit. Entirely microprocessor is much more accurate.

If you want to go entirely down the microprocessor path there is a far more accurate method of calculating RPM. A few years ago I made a whole efi computer. I developed a method of calculating RPM by using reciprical maths and counting micro seconds between ignition pulses. Basically I used an 8253 IC programed to operate as a micorsecond counter(uS not mS). Every igntion event it would stop the clock, read the counter of elapsed uS, reset the clock and start it again. The equation was something like this...

RPM = 1/((timer count in uS+fudge factor constant to account for calculation and data aquistion time) * ignition pulses per 360 degrees )

The downside of this method was the processing overhead would also take a few micro seconds... thus the need to add a fudge factor. Even then it was extremely accurate as the calculation fudge factor is a constant, not variable. Once identified with bench testing it was a set and forget value.

With the last version of my efi computer I did as much in hardware as was possible. I used 74LS373 IC's to operate as a buffer stage between analogue to digital hardware, and the 8354 timer. External triggering would trigger a circuit that would stop the counters, load the value into the 373 buffers, reset the counter, and start it again. The microprocessor could then read the values at their leisure, or when an interrupt was detected when a new value was loaded into the buffer that related to the 8253.

I hope I havent geeked out too much here, but your a programmer with some hardware knowledge so Im sure you might find some of this useful.

Link to comment
Share on other sites

No problem at all with the details, I work as an Electronic/Computer Systems engineer so I work with this stuff everyday.

Whilst the method you mentioned would be very accurate I am happy with +-50rpm accuracy and a few ms delay on switching the solenoid as it does not need to be very accurate.

Polling the RPM signal and then firing the IO pin to the mosfet should be effective enough. I might add a fudge factor to the rpm as well to account for any delay when firing the mosfet/solenoid/calculation time as you said you did.

Thanks for the info though, appreciate it. Always good to find someone else who knows what they are talking about.

Link to comment
Share on other sites

Bit of info for ya,

A mate got his rb30/25 tuned by a well know tuner/drifter in nz and he set the vct to operate between 1300 - 4300 AND only with 30% throttle or higher

His words were 'at light throttle you will get better economy and emissions and with some throttle the cam will advance and make some more torque to accelerate'

If you can make it trigger off rpm and tps it could be more versatile

Edit - possibly 20% throttle. I forget

Edited by fletch rb30
Link to comment
Share on other sites

Yeah TPS should be pretty simple to add in.

My system is going to be tunable via USB and some windows software.

Its awhile off being done tho that is why i wanted to test your's out Rolls

Link to comment
Share on other sites

  • 5 months later...

Due to my eboost street having a window auxiliary controller built in I've discontinued this, I have the schematic available but no real code if anyone wants to continue it, just don't have time with work to finish it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...