
Everything posted by Me78569
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
Alright, I think I got it working for you. Go ahead and load this up #include <SPI.h> #include <can.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> // Defines for setting up the CAN Bus #define mode NORMAL // define CAN mode #define bitrate 250 // define CAN speed (bitrate) MCP CAN1 (10); //Create CAN Channel LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address unsigned int last_vane_position = 40; unsigned int DesiredPosition; unsigned int vane_position; int VanePos = 0; void setup() { // Initialize Serial communications with computer to use serial monitor Serial.begin(115200); lcd.begin(20, 4); // initialize the lcd for 20 chars 4 lines and turn on backlight // Set CAN mode and speed CAN1.begin(NORMAL, bitrate); lcd.setCursor(0, 0); lcd.print("CM^2 = "); } void loop(){ if(DesiredPosition > 800){ DesiredPosition = 100; } else{ DesiredPosition += 1;} // Set the Turbo Position SendTurboPosition( DesiredPosition ); // Delay for Processor delay(5); VanePos = constrain(map(DesiredPosition,40,960,3,25), 3, 25); String TurboPos = String(String(VanePos, DEC) + " "); lcd.setCursor(6, 0); lcd.print(TurboPos); } void SendTurboPosition( int TurboPosition ) { last_vane_position = DesiredPosition; int FinalPosition = map( TurboPosition, 0, 1023, 960, 40 ); byte lobyte = lowByte(FinalPosition); byte hibyte = highByte(FinalPosition); unsigned long ID = 0x0CFFC600; // Random Extended Message ID byte length = 8; // Data length byte data[] = { lobyte, hibyte, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; // data message with an added counter CAN1.send ( ID, extID, length, data ); // Load message and send } I Think it will walk the turbo out and then reset, butI can only hear the turbo resetting ( so I am assuming it is moving) the screen should also show you the cm position. Here is the board layout post from lilbb.com http://community.lilbb.com/hardware/through-hole-fun/msg104/#msg104 You will need a 10k on the shaft speed wires, then also a cap or something connecting them. My thread on his site goes into that detail, or you can compare is build list vs the layout. Feel free to ask quesitons when you get to that point. Pretty much pin out the 9924 like so pin 1. turbo speed wire in 10+k resistor pin 2.turbo speed wire in 10+k resistor pin 3. NC pin 4. NC pin 5. ground pin 6. 5v pin 7. output to pin 8 on arduino 10k resitor pin 8. nc pin 9. 5v pin 10. 5v You can find the datasheet info for the 9924 in the article for the code. It has the modes vs which pins are connected. You want mode A1 I think.
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
I might have had a typo. There was ";;" rather than just ";" I updated the code section in the above post. Anyways I dont have my truck today at work so I can't test until later.
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
I will check this code when I get home tonight, but it should cycle the turbo slowly. PM your phone number and I will get you a call tonight at some point.
-
Cooking for a small army
haha the last of the meat finally got thrown out a couple days ago. thanks!
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
Give this a go this should do the typical startup loop ( message) then it will loop adding 10 to the position. It should also print the turbo position in CM. #include <SPI.h> #include <can.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> // Defines for setting up the CAN Bus #define mode NORMAL // define CAN mode #define bitrate 250 // define CAN speed (bitrate) MCP CAN1 (10); //Create CAN Channel LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address unsigned int last_vane_position = 0; unsigned int final_vane_position; unsigned int vane_position = 0; int VanePos = 0; void setup() { // Initialize Serial communications with computer to use serial monitor Serial.begin(115200); lcd.begin(20, 4); // initialize the lcd for 20 chars 4 lines and turn on backlight // Set CAN mode and speed CAN1.begin(NORMAL, bitrate); //-------- Write characters on the display ---------------- // NOTE: Cursor Position: CHAR, LINE) start at 0 lcd.setCursor(2, 0); lcd.print("Starting HE351VE"); lcd.setCursor(5, 1); lcd.print("Controller"); lcd.setCursor(4, 2); lcd.print("Will Display "); lcd.setCursor(0, 3); lcd.print("Boost,Drive,Position"); delay(2000); lcd.clear(); lcd.setCursor(4, 0); //Start at character 4 on line 0 lcd.print("Cycling Vein"); lcd.setCursor(6, 1); lcd.print("Position"); lcd.setCursor(3, 3); lcd.print("Wait To Start!"); delay(250); lcd.clear(); vane_position = 960; SendTurboPos(); lcd.clear(); lcd.setCursor(4, 0); //Start at character 4 on line 0 lcd.print("Cycling Vein"); lcd.setCursor(6, 1); lcd.print("Position"); lcd.setCursor(3, 3); lcd.print("Wait To Start!"); delay(250); vane_position = 960; SendTurboPos(); lcd.clear(); lcd.setCursor(4, 0); //Start at character 4 on line 0 lcd.print("Cycling Vein"); lcd.setCursor(6, 1); lcd.print("Position"); lcd.setCursor(3, 3); lcd.print("Wait To Start!"); delay(250); vane_position = 960; SendTurboPos(); lcd.clear(); lcd.setCursor(4, 0); //Start at character 4 on line 0 lcd.print("Cycling Vein"); lcd.setCursor(6, 1); lcd.print("Position"); lcd.setCursor(3, 3); lcd.print("Wait To Start!"); delay(250); lcd.clear(); lcd.setCursor(8, 2); lcd.print("Done!"); delay(500); lcd.clear(); vane_position = 500; SendTurboPos(); lcd.setCursor(0, 0); lcd.print("CM^2 = "); } void loop(){ vane_position = last_vane_position + 10; if (vane_position > 960);{ vane_position = 100; } SendTurboPos(); } void SendTurboPos(){ vane_position = final_vane_position; last_vane_position = final_vane_position; byte lo_byte = lowByte(final_vane_position); byte hi_byte = highByte(final_vane_position); byte data[] = { lo_byte, hi_byte, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; // data message with an added counter // data[2] = 0x02 for recalibrating gearbox // Load message and send CAN1.send(0x0CFFC600, extID, 8, data); VanePos = constrain(map(final_vane_position,960,40,3,25), 3, 25); String TurboPos = String(String(VanePos, DEC) + " "); lcd.setCursor(0, 6); lcd.print(TurboPos); } He351ve_Test.zip
-
Hello From Texas
I am thinking about doing something dumb and keeping the 47re haha. I gotta first get some money in the bank, the wedding pretty much drained me.
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
I will write you a simple program to test the movement in the am.
-
Hello From Texas
Haha the mopar pos will hopefully not be holding my engine for much longer. 94-97 crew cab obs ford is in its future.
-
He351ve stand alone Arduino controller code for 2nd Gen Cummins
Do you see the startup message on the screen? Can you take video on the controller screen when you apply power? When you put power to the turbo is tself do the vanes "jump"?
-
The time has come to produce the Mopar1973Man High Idle & MPG fooler switches again.
Little teaser
-
found a chip in my truck
I have a few hours....well days....worth of crimping to do
-
Apples to oranges comparisons is a wide spread issue!
can't help but to think that Ram pays more to autoguide.com than ford does haha.
-
found a chip in my truck
- found a chip in my truck
- found a chip in my truck
I would remove the pp as the supercharged can read codes etc. Other than that they won't be different- He351ve stand alone Arduino controller code for 2nd Gen Cummins
Great!! Good luck. The setup page should cycle the vanes on the turbo from open to closed. Ensure you have a good power source for the turbo. It will need at least 10 amps- He351ve stand alone Arduino controller code for 2nd Gen Cummins
Also you might have to verify the address (on the first page of the code near the top)of the screen when it is connected. I will quote what I mean in the am.- He351ve stand alone Arduino controller code for 2nd Gen Cummins
So the sda and scl should be on pins a4 and a5 I think I had that issue when I had the sda and scl backwards- He351ve stand alone Arduino controller code for 2nd Gen Cummins
Are you bench testing or is this in your truck? What screen? Have you adjusted the contrast of the screen? How do you have it connected and to what pins on the arduino?- My Love affair with BMW
As much as I wanna stick a couple of he341vgt's on that v12 I kinda doubt it would ever happen. The point of the car is more so to keep me busy with cheap stupid things like Plasti dipping the car, and painting a pin up girl on the door..... If I don't spent my free time doing something that is time comsuming ( without money consuming) I find myself bored and doing something stupid.- what are my options
Nope it is plug and play.- My Love affair with BMW
Lets just say there is more than one reason for all the work I did on the he351ve controller If things ever slow down for me and I get a couple grand into the project...- What Soldering Station?
Well the order is in for the fx 888d I can't wait to get started on this thing.- My Love affair with BMW
Heck ill deliver the car to you.- My Love affair with BMW
CSM, I'll sell you this project for $1,000 haha. Runs great now, just needs about 6/8 more cans of plasti dip. I got my eye on a 96 f 350 CCLB roller in denver that I can't afford right now hahaha. this 750il is a rocket ship waiting for a speeding ticket. - found a chip in my truck