winstonusmc
Members-
Posts
451 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Events
Gallery
Downloads
Store
Everything posted by winstonusmc
-
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
I fabricated a throttle stay as well, looks way better than the one I made in Oki. I have had many years to think how to do it. Suck it Fugu Z, haha. Thats still a sweet car. -
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
I do, but not until I change the driveshaft. So a short R200 is in the plans. Got a Q45 diff for free, but the gear ratios aren't much better than stock S30. Although a Largo diff + Q45 would be fun. I still got buddies in Okinawa. -
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
I have a buddy that wants to buy my engine after he gets his tax return, so the L28ET had to com out. So this makes way for the other engine. Before I dropped it in, I pulled the pan and primed the oil pump by hand. Just poured oil into the pickup hole and cranked the engine till it drew it in. Set in on the mounts and bolted it in. Its sitting on stock R32 mounts in a slotted cross member. I mounted the transmission and bolted the stock 5-speed drive shaft. I just had to slot the bolt holes in the trans cross member to get it to fit. Not sure if this was necessary or due to the cross member being smashed from the "rock sliding" from before I bought it. I am running an R33 71C trans I picked up when I was in Japan. The shifter is in the front of the shifter hole in the tunnel. I bolted up the starter and cranked it to circulate the oil. Threw the intake on to check for clearance, not close to anything. Perfect space for some foam filters. Wish it could move back about two inches. Guess thats what McKinney mounts do, but then my drive shaft wouldn't fit. -
Someone wants to buy it, and I ultimately want to sell the NA and get a turbo RB. Can't sell the NA until I break it in. It's a fresh assembly.
-
The RB26 head doesn't bolt too well to the more popular R33 version RB25DE due to the front oil passage for the variable cam. It changes the shape of the front coolant passage. It kinda has to be RTV'd to get it to seal properly. I used the early version because the top of the block is identical to the RB26. Good luck finding one of those here in the US though. I bought mine while station in Japan. Using the RB26 head does make some minor concerns with the header due to its different flange pattern. There are examples of modifying the stock RB25 intake for ITB if you know a good aluminum welder.
-
I have run an RB25DE with ITBs. It was the R32 version due to its lack of variable cam timing. This made the RB26 head bolt on. I ran the same Megasquirt that's on my L28ET in ITB fueling mode. Look up my YouTube channel under the same name and watch the vids. This engine is about to go into my 240z after I return from Christmas Vacation. Fun Fact: it was the second engine ever to be run on the RB setting in Megasquirt, first was my Skyline. I worked with James Murray to get the settings correct back in 2012.
-
But the internal resistance of the Megasquirt will limit the current. The pull up is there to make the controller see a high. That pull up should never actually short to ground. I used 5v for my pull up though.
-
I used a 1/8 watt. A pull up resistor doesn't use much power. I have using my setup for about 5 years now.
-
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
Uses an arduino mega for the micro controller. It has CAN bus connection. Its standby current draw should be less than 20mA, thats less than the clock that doesnt work. It has 8 Analog in, 2 can support 12v. Those will mostly be used for multiplexed inputs, the 12v will be bat voltage and Ign on switch. It has 10 digital inputs, mostly for ground switches like buttons, door switches, etc. It can drive 8 relays or MOSFETs for turn signals or light relays, going to use one for the idiot buzzer. Got a case lined up for it, hints the extra width to slide into an extruded aluminum case. I tried to make it as generic as possible so this board can be used for multiple applications. Total dimensions with case will be 2" x 4" x 5" -
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
Wrapping up this wiring job.......HAHA. The fuse box is mounted and all circuits are tested. The Engine power is all on the fuse box relays now, so no more EFI fuse/relay panel inside. Took out about half of the wiring going through the firewall that deals with power. For some strange reason, the wideband controller got some moisture in it and fried itself. I like the 14point7 stuff, but I think the control board for the O2 shouldnt be in the engine bay. I am going to buy the OEM controller they offer and shove it in the Megasquirt. Also installed some fog lights in the front air dam holes. I got the cheap ones from Walmart, more for just to op check that circuit and make a hard mount extending off the air dam support I fabricated a while ago. I cant stand when people screw fog lights into a plastic bumper and they bounce as they drive. Anyway, on to more pics.... Can we play "spot the fuse box"? Rigid mount and recessed for the factory look -
'72 240z RB25DET, no more ITB
winstonusmc replied to winstonusmc's topic in S30 Series - 240z, 260z, 280z
A few weeks ago I decided to integrate an Intelligent Power Distribution Module (IPDM) from a G35 into the 240z. I chose the G35 IPDM because I could see how it functions on a running car due to its CAN Bus function. The IPDM runs all power in the engine bay to include headlights, parking lights, electric fans, and windshield wipers over CAN Bus and ECU, Fuel Pump, and engine sensors over conventional relay signal wires. I am using an Arduino to feed the CAN commands to the IPDM and currently have all CAN controlled circuits functional. The IPDM with the Arduino testing circuits Splicing in the engine bay harness and the fuseable link for the battery Next I picked up the wiper motor from the same G35 that the IPDM came from. For those who know, the 240z wiper motor can barely move the wipers on a dry windshield. Also, I wanted a motor that would work well on the IPDM. Old vs New, notice the size difference Armature difference, same length which is the important part Mount differences Now a video -
Has to be in between the throttle and MAF. What's happening is the IACV is sacking un metered air, kinda like a BOV on a turbo car. This causes a lean out. Need to have some sort of a fitting put on the pipe like stock.
-
More progress on the gauge setup. I have connected an Arduino to the CANBUS on my Megasquirt 3 to display things that the ECU knows. The whole idea is to run any gauges off of CAN that the ECU provides, like coolant temp, AFR, boost, even oil pressure. This way I simplify wiring and remove extra sensors on the engine. I have ordered an OLED display to insert into the gauge body and may upgrade to a high def color later. I have been working on coding to display the info from the CanBus on the Megasquirt this weekend and have setup a simple LCD displaying MAP and AFR to demonstrate the concept. Also the code is hosted on Github: https://github.com/winstonusmc/arduino/blob/master/arduino_megasquirt_afr_map_gauge #include <SPI.h> #include "mcp_can.h" #include <LiquidCrystal.h> LiquidCrystal lcd(9, 8, 7, 6, 5, 4); //raw readings int seconds = 0; int pw1 = 0; int pw2 = 0; int rpm = 0; int adv = 0; float afrtgt1 = 0.0; float baro = 0; float MAP = 0; float mat = 0; float clt = 0; int tps = 0; float bat = 1; float afr1 = 1; int cel_status = 0; unsigned long previousMillis = 0; unsigned char Flag_Recv = 0; unsigned char len = 0; unsigned char buf[8]; INT32U canId = 0x000; char str[20]; MCP_CAN CAN(10); // Set CS to pin 10 void setup() { Serial.begin(115200); lcd.begin(16, 2); lcd.setCursor(0,0); lcd.print("MAP "); lcd.setCursor(6,0); lcd.print("AFR"); CAN.begin(CAN_500KBPS); // init can bus : baudrate = 500k CAN.init_Mask(0,0,0x7ff); CAN.init_Mask(1,0,0x7ff); //CAN.init_Filt(0,0,0x5f0); //CAN.init_Filt(1,0,0x5f2); //CAN.init_Filt(2,0,0x5f3); //CAN.init_Filt(3,0,0x0); //CAN.init_Filt(4,0,0x0); //CAN.init_Filt(5,0,0x0); } void loop() { canRead(); //rpmSmoothing(); canDisplay(); } void canRead() { if(CAN_MSGAVAIL == CAN.checkReceive()) { // check if data coming CAN.readMsgBuf(&len, buf); // read data, len: data length, buf: data buf switch (CAN.getCanId()) { case 0x5f0: seconds = word(buf[0] , buf[1]); pw1 = word(buf[2] , buf[3]); pw2 = word(buf[4] , buf[5]); rpm = word(buf[6] , buf[7]); break; case 0x5f1: // Group 1 adv = word(buf[0] , buf[1]); afrtgt1 = buf[4]; //mat = word(buf[4] , buf[5]); //clt = word(buf[6] , buf[7]); break; case 0x5f2: // Group 2 baro = word(buf[0] , buf[1]); MAP = word(buf[2] , buf[3]); mat = word(buf[4] , buf[5]); clt = word(buf[6] , buf[7]); break; case 0x5f3: // Group 3 tps = ((buf[0] * 256) + buf[1]); bat = ((buf[2] * 256) + buf[3]); afr1 = ((buf[4] * 256) + buf[5]); //afr2 = (((buf[6] *256) + buf[7]); break; } } } void canDisplay() { const int interval = 50; unsigned long currentMillis = millis(); //refresh rate if (currentMillis - previousMillis >= interval) { //if time elapsed is greater than the signal interval previousMillis = currentMillis; //then reset time // Display to LCD and Serial lcd.setCursor (0,1); lcd.print((MAP/10), 1); lcd.setCursor (6,1); lcd.print(afr1/10, 1); lcd.setCursor (10,1); lcd.print("/1"); Serial.print(" Snds "); Serial.print(seconds); Serial.print(" RPM "); Serial.print(rpm); Serial.print(" PW1 "); Serial.print(pw1/1000, 2); Serial.print(" ADV "); Serial.print(adv/10, 1); Serial.print(" AFRtgt "); Serial.print(afrtgt1/10, 1); Serial.print(" AFR "); Serial.print(afr1/10, 1); Serial.print(" MAP "); Serial.print(MAP/10, 1); Serial.print(" CLT "); Serial.print(clt/10, 1); Serial.print(" TPS "); Serial.print(tps/10); Serial.println(" "); } }
-
~73 Turbo L28 to N/A RB25 240z Project~
winstonusmc replied to ~KnuckleDuster~'s topic in S30 Series - 240z, 260z, 280z
As plug and play as it could be. I cant wait to see pictures. -
~73 Turbo L28 to N/A RB25 240z Project~
winstonusmc replied to ~KnuckleDuster~'s topic in S30 Series - 240z, 260z, 280z
That's great news. Hope all was well with the wiring. -
~73 Turbo L28 to N/A RB25 240z Project~
winstonusmc replied to ~KnuckleDuster~'s topic in S30 Series - 240z, 260z, 280z
Thats weird that it hits the bell housing in that its made for the RB25. I could understand if it hit the frame rail or the floor board. -
~73 Turbo L28 to N/A RB25 240z Project~
winstonusmc replied to ~KnuckleDuster~'s topic in S30 Series - 240z, 260z, 280z
Heck Yeah! -
The RB25 computers are tuned to riches and retard after you go over stock boost levels. Also you need to check all yourights sensors, a bad coolant temp sensor will make your engine run rich and misfire under boost.
-
Working with megasquirt has shown me that a normal variable resistor type sensor like a temp sensor uses a 5v signal from the ECU in a voltage divider circuit the same way the Arduino would work. as long as I supply the voltage from the Arduino. In the Datsun gauges it is 12v, but the way I am going to tap into them will be similar to how an ECU does it.
-
Well if you look close, you will see a NPN transistor that has 12v on it and arduino is hooked into that. Those gauges wouldn't even move on 5v. Tried it with just the potentiometer on 5v. These gauges are crazy slow, so I am looking into alternatives for the third gauge hole, like a oled display.
-
const int tempPin = A0; const int batteryPin = A1; const int oilPin = A2; const int tempOutput = 9; const int oilOutput = 10; const int tempLed = 12; const int oilLed = 13; int oilPressure = 0; int coolantTemp = 0; float sourceVoltage = 0.00; void setup() { Serial.begin(9600); pinMode(tempLed, OUTPUT); pinMode(oilLed, OUTPUT); } void loop() { batteryVoltage(); tempGauge(); //oilGauge(); // print the results to the serial monitor: Serial.print(" "); Serial.print(sourceVoltage); Serial.print("V"); Serial.print(" "); Serial.print(coolantTemp); Serial.print("*F"); Serial.print(" "); Serial.print(oilPressure); Serial.println("psi"); delay(100); } void batteryVoltage() { sourceVoltage = analogRead(batteryPin) * 0.0198817038; } void tempGauge() { // gauge variables const int sensorCalMin = 0; //minimum sensor value const int sensorCalMax = 1023; //maximum sensor value const int valueMin = 15; //gauge value at 120* const int valueMax = 88; //gauge value at 250* const int warning = 220; // warning level value int tempSensor = 0; int outputValue = 0; tempSensor = analogRead(tempPin); // read the analog in value: coolantTemp = map(tempSensor, sensorCalMin, sensorCalMax, 0.00, 300.00); //calibration of temp sensor outputValue = map(coolantTemp, 120, 250, valueMin, valueMax); //calibration of temp gauge outputValue = constrain(outputValue, 0, 100); //Gauge limits analogWrite(tempOutput, outputValue); if (coolantTemp >= (warning)) // Low warning light { digitalWrite(tempLed, HIGH); } if (coolantTemp <= (warning - 5)) //Hysteresis for light off { digitalWrite(tempLed, LOW); } //Serial for DeBug //Serial.print(" Temp Sensor Value = "); //Serial.print(tempSensor); //Serial.print(" output = "); //Serial.print(outputValue); } void oilGauge() { // gauge variables const int sensorCalMin = 0; //minimum sensor value const int sensorCalMax = 1023; //maximum sensor value const int valueMin = 41; //gauge value at 0psi const int valueMax = 115; //gauge value at 90psi const int warning = 15; // warning level value int oilSensor = 0; int outputValue = 0; // read the analog in value: oilSensor = analogRead(oilPin); // map it to the range of the analog out: oilPressure = map(oilSensor, sensorCalMin, sensorCalMax, 0, 90); outputValue = map(oilPressure, 0, 90, valueMin, valueMin); outputValue = constrain(outputValue, 0, 120); //Gauge limits analogWrite(oilOutput, outputValue); if (oilPressure <= (warning)) // Low warning light { digitalWrite(oilLed, HIGH); } if (oilPressure >= (warning + 3)) //Hysteresis for light off { digitalWrite(oilLed, LOW); } } The code, feel free to critique. I am very new to coding, so I am open to suggestions.
-
Been working on some arduino integration into my Z for a little while. I have come with the idea of using an Arduino micro controller to give me a level of calibration to the gauges and give the ability to have warning lights that more modern cars have. I also want to broadcast the values on a sort of CANBUS to interact with other systems. I purchased a oil and temp gauge on eBay to mess with. I was going to try to repurpose it as a boost and afr gauge, but the bi-metal strips are not near fast enough to keep up with a boost or afr signal. starting out I have coded warning lights on both the oil and temp gauge. I havent designed a circuit yet for either sensors though. Still just playing around with it for now. I have ordered a few Arduino Pro Minis to mount on custom printed boards that will run the gauges.
-
I have mine in the cold start valve hole. its easily tapped.
-
RB26DETT individual throttle bodies on a L28
winstonusmc replied to ushio_kun's topic in S30 Series - 240z, 260z, 280z
http://www.viczcar.com/forum/topic/3847-l24-efi-itb-installationagain/ Search RB26 ITB DCOE, lot more comes up in the searches. Still have to get injector bosses welded in the weber style manifolds. -
Need Assistance: R33 GTS-T Rear Hub Removal
winstonusmc replied to V-Fib's topic in Brakes, Wheels, Suspension and Chassis
go get a hub puller from O'Reilly's and bolt it to the studs. It is just rusted in their, should come out come out with a few whacks from the slide hammer.