When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
The canbus protocol looks to hold 17 bits for the period value, and it seems to have a resolution of 0.01ms. That is good for an input range from 100KHz to 0.762Hz, but the kicker is the high side of the resolution absolutely tanks. 100KHz would be 0x1, and 50KHz would be 0x2, 33.33KHz is 0x3...
Searching on the internet and I find that the IO box has a max input frequency of 300Hz. Not entirely true, but that is where the resolution really starts to dive. With much higher input frequencies the timer resolution starts decaying really fast, so that around 70MPH off a miata VR sensor the resolution will start jumping pretty good, 70mph, 72mph, 78mph etc. If you wanted to send a speed sensor that runs above 300Hz to the Haltech (like a turbo speed sensor or wheel speed sensor) using their IO format you'd want a divider or prescaler first.
I think I will make a board that uses the 350Z canbus format for 4 wheel speed sensors plus the transmission speed input. Then I can run them off a 1MHz clock frequency so the resolution around 2KHz doesn't suck and the MPH readings keep at least tenth a MPH resolution to above 170MPH. I know the offsets for the nissan stuff, but don't know the format. Have to wait till I get my ECU and start poking bits in manually to see if I even get any more resolution into the thing...
Searching on the internet and I find that the IO box has a max input frequency of 300Hz. Not entirely true, but that is where the resolution really starts to dive. With much higher input frequencies the timer resolution starts decaying really fast, so that around 70MPH off a miata VR sensor the resolution will start jumping pretty good, 70mph, 72mph, 78mph etc. If you wanted to send a speed sensor that runs above 300Hz to the Haltech (like a turbo speed sensor or wheel speed sensor) using their IO format you'd want a divider or prescaler first.
I think there is someone on here running 4 wheel speed sensors through their I/O expander but not sure if they are miata VR or hall effect - think its the BMW E46 ABS system. I don't know if they have any issues.
Please keep us updated - You may be able to help a dummy like myself once I start expanding as I will probably go expander at some point.
Now that I've pulled that from my map, I can't honestly say that is any different than default with the 500hz frequency. I didn't screenshot it but PIDs are:
P: 500
I: 350
D: 0
I don't have a specific log saved that shows the difference between target and actual but my tuner did remark that they were almost spot-on. Better than any of the Toyotas or Nissans he regularly tunes.
Originally Posted by dan91
Count me as part of the Haltech crew. Got a 1500, PnP adapter, and wideband controller. Time to un-Hydra my wiring
Fair warning, assuming this is an NB, Grab an NA8 alternator if you don't already have one. The PnP adapter doesn't control the voltage well. You can mess with settings to get the spikes under control, but if keeping an exact voltage output is important to you, you'll be better off bringing voltage regulation outside the ECU. External voltage regulator is an alternate option, the one that the MS crowd uses will work perfect.
Originally Posted by msmola2002
Nice. I have a Google doc I have been compiling for all the haltech connectors. I also have the Tyco plugs that are used on the pnp units as well as mating females and they are also used on the io expander boxes. I need to clean up the formatting and post it here somewhere. Cos 75 bucks for a 24 pin plug and pins vs <10 from mouser sounds like a win.
Yeah, can't blame you. Although I believe by the time you piece together both connectors and all the pins, you're closer to $40 for the setup from Mouser. Still a good savings.
Originally Posted by Mr Plow
I think there is someone on here running 4 wheel speed sensors through their I/O expander but not sure if they are miata VR or hall effect - think its the BMW E46 ABS system. I don't know if they have any issues.
We were running 4-wheel traction control through an I/O Expander on James Houghton's 900hp ITR using a bolt-on (third party) hall effect sensor setup that read the 5 lug studs. It worked well for him.
I bet someone who used the haltech io expander on the 44 tooth ABS reluctors would have no problem with traction control since the resolution at low speeds is fine, but the logging resolution of speed would get pretty bad the faster you go. Decreasing the output frequency would certainly help, and I think less pulses per rev would do that well.
But you can't pipe in a turbo speed sensor over an IO box, the software won't let you. The borg warner sensor (and most, I assume) has a built in prescaler, but it still runs above 300Hz most of the time. I found a post over on the haltech forum where the input resolution is the cause for this restriction.
For alternator control, only two of the digital pulsed outputs seem to be useable. I think DPO1 will let you set any pullup voltage you want, and DPO2 is fixed to 5V pullup, all others are fixed to 12V. You would want to use DPO2 to exactly emulate what most do on MS3, and since I think the OEM ECU uses a 1.5V field control signal DPO1 with a 1.5V pullup might give better control (more resolution) over alternator control.
Am I crazy for wanting to switch to a DBW throttle body? I get to ditch the timebomb that is the miata throttle body, and I wouldn't have to deal with a skunk throttle body and it's wacky throttle curve. Make it whatever I want it to be...
Am I crazy for wanting to switch to a DBW throttle body? I get to ditch the timebomb that is the miata throttle body, and I wouldn't have to deal with a skunk throttle body and it's wacky throttle curve. Make it whatever I want it to be...
Also, greatly simplifies idle control (set it and forget it) and would allow tunable auto-blip (With brake and clutch switch input)
I did it on the 1.6 and the 1.8. Bonus, the NB throttle body top two stud already line up perfectly with a 58mm Bosch throttle body. Drill them out and tap them for the next larger size.
The bottom two stud holes need to plug welded and re-drilled/tapped but easy enough if you've already got the top two holes ready to align your drill template (aka 1.8t VW TB gasket...)
I think I may go to the local junkyard and pick through their throttle bodies to see if anything fits closer. I assume the VW hole pattern crosses the miata pattern, so plugging is necessary? I need a tig welder...
I think I see how to make cruise control work, too. Would be nice to get that ugly crap out of the engine bay, but I'm not getting rid of cruise.
I bet someone who used the haltech io expander on the 44 tooth ABS reluctors would have no problem with traction control since the resolution at low speeds is fine, but the logging resolution of speed would get pretty bad the faster you go. Decreasing the output frequency would certainly help, and I think less pulses per rev would do that well.
But you can't pipe in a turbo speed sensor over an IO box, the software won't let you. The borg warner sensor (and most, I assume) has a built in prescaler, but it still runs above 300Hz most of the time. I found a post over on the haltech forum where the input resolution is the cause for this restriction.
I haven't gotten into setting mine up yet, but Haltech advertises 4 synchronized pulsed inputs directly into the ECU. Would those work for wheel speeds or 3 wheel speeds and a turbo speed? Or are those four consumed by something else already?
Those are your only 4 inputs without getting into canbus hardware or eating into ADC inputs. And, those are the only 4 that will reliably read above 300Hz. Sadly, there's not much that can be done to get around that right now, except for VSS/WSS by emulating a vehicle's canbus abs module. Really need open canbus...
For wheel speed sensors you should probably use the inputs directly on the ECU unless it's a transmission speed sensor because those are slower frequency. You can use the canbus IO box for wheel speed but it will start to lose resolution around 70mph. You cannot use a turbo speed sensor over canbus, it must be on one of the ECU SPI inputs.
I'm making something that will let you bring 4 wheel speed sensors plus a transmission speed sensor in over the OBD2 canbus without any input resolution shenanigans. I am using a 10MHz timer clock frequency and 32bit counter values so I can represent some really fine changes in frequency even at 2KHz. Updated at 50Hz, maybe faster if the ECU will take it...
My SPIs are currently:
SPI 1: Flex fuel;
SPI 2: Drivetrain speed sensor;
SPI 3: Clutch Switch;
SPI 4: Left front wheel speed sensor.
I've used all my inputs as I have one rotary switch and 2 aux switches also taking up inputs. I'll most likely swap the clutch switch onto an AVI and put the front right wheel speed sensor onto SPI 3.
I'm currently running traction control but it is slightly more sensitive to left hand corners than right hand corners due to the single front sensor input and the arc of the turns. It is clear just how effective the TC can be from playing with different levels on the rotary switch in the wet. It really wants the average of the front wheels to equal out the slip error in turns.
I think I may go to the local junkyard and pick through their throttle bodies to see if anything fits closer. I assume the VW hole pattern crosses the miata pattern, so plugging is necessary? I need a tig welder...
I think I see how to make cruise control work, too. Would be nice to get that ugly crap out of the engine bay, but I'm not getting rid of cruise.
I can't wait for this thing to show up!
The VW hole pattern is square. The OE Mazda NB throttle body is pretty wonky. The top two studs are level and the correct distance apart to make a match with the 60mm Bosch TB, but the bottom two studs are pretty far off. Easy enough to plug weld and redrill/tap. If you don't have access to a tig welder yourself, It should be something any decent welder that does aluminum can do for you. The drilling and tapping you can do after the holes are filled.
I think I came up with a schematic that should work for cruise. Looks a little weird, but with the two button NB cruise switch I think it might be necessary.
The N mosfet is switched on by the 12V cruise control main switch, it turns on the P mosfet which enables a pullup to 5V on the cruise line. The 4K resistor makes a divider that gives a resting 4V while cruise is on. When either switch is tripped, you get different output voltages.
So, enable/disable signal is 0V, resting position is 4V, resume is 2V, and set is 1V.
My ECU is already here! Dang, wasn't expecting that so soon! I haven't even ordered connectors yet.
Fair warning, assuming this is an NB, Grab an NA8 alternator if you don't already have one. The PnP adapter doesn't control the voltage well. You can mess with settings to get the spikes under control, but if keeping an exact voltage output is important to you, you'll be better off bringing voltage regulation outside the ECU. External voltage regulator is an alternate option, the one that the MS crowd uses will work perfect.
How accurate are you looking for on alternator voltage?
Mine was sluggish at targeting on the base settings until I pumped up the P and I in the function settings page. It is now pretty reactive to change (e.g. fan, lights etc. turning on and off) and sits within 0.1v of target. Say targeting 13.15v - It will sit between 13.12v and 13.18v.
My ECU is already here! Dang, wasn't expecting that so soon! I haven't even ordered connectors yet.
Did Haltech send you tracking or did it just show up? I'm away for a couple weeks over the holiday and I don't want mine sitting on the stoop while I'm away
I got a ups tracking notification before it shipped, no signature required though. It was quick, only two days in transit. I'm sure if you email them they can delay the shipment a little bit, or maybe add a signature request.
Finally got my harness built. I used a molex 063811-1000 crimping tool, seems to have worked out OK.
Here's my pinout, I made this harness out of an old MS3 adapter I made. Only temporary while I figure all this stuff out, I'll make an adapter PCB later once I have my final wiring and addon boards fixed like I like them. Matches my MS3 pretty much perfectly, so I can swap between ms3 and haltech if I need to. I chopped up my stock harness a good bit. Stuff like flex, oil pressure, oil temp and stuff are all ran on old VTCS/purge/egr wiring. I used 18gauge wiring, on the 20gauge terminals. If the crimp is not flawless (perfectly round insulation crimp) it will not fit.
Also about finished with my 350z canbus adapter. 5 total speed sensor inputs, 4 VR vss inputs, 4 digital inputs (vss, brake, AC in, traction on/off) 4 digital outputs (fan1, fan2, AC clutch, CEL) and two ADC inputs (brake pressure, steering angle) It will have a few settings, I think I am going to set it up so it's configured via tunerstudio over USB. Things like teeth per VR sensor, tire size, analog or digital brake input, etc...
I still haven't ordered them yet. I try and run a bunch of projects together so I can pack all the solder stencils on one sheet. Still working on a display or two, plus a few 3d printer things.