Bench top Engine Simulator for the P01/P59 Pcm
Bench top Engine Simulator for the P01/P59 Pcm
Hi all,
What does it take to make a P01/P59 think it's happily running an engine on the bench??
This post will get edited for the next searching soul as things move along on this endeavor.
What does it take to make a P01/P59 think it's happily running an engine on the bench??
This post will get edited for the next searching soul as things move along on this endeavor.
Intelligence is in the details!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
Re: Bench top Engine Simulator for the P01/P59 Pcm
I see several folks have done things like this on here, none that I saw provide any information.
I hope to change that!
First of all, What type of signal does the Pcm expect for CKP and CMP??
In searches I find conflicting info ... Some say the CKP is VR and the CMP is Hall, some say they are both VR, others say they are both Hall and yet again others say they both produce a ON/OFF signal.
So WTF are they??
JimStim looks interesting, probably going to get one.
In the mean time, playing with Ardu-Stim, It looks like it'll do the CKP and CMP just fine as is if the sensors are Hall type, if VR some electronics will be needed.
Have not been successful in finding any documentation or the like.
The web site: Arduino based crank/cam wheel simulator has a 'Database Error' when trying to connect.
It looks like there may be some info on Facebook, don't have access, never been there, never will!
The code is here: LibreEMS Suite
I finally did get it to compile and upload, with
Arduino IDE v1.6.13 <- Newer may work.
SerialUI v2.1.6 <- Newer versions do not work!
However, I am not confident in the hookup, and there is very little info on it's use and or requirements.
The Pcm has two pins for each Sensor,
Blue 12: CKP Sensor Signal Pin "A"
Blue 21: CKP Low Reference Pin "B"
Blue 73: CMP Sensor Signal Pin "A"
Blue 61: CMP Low Reference Pin "B"
On the Arduino, there are three pins.
Pin 8: CKP Output
Pin 9: CMP Output
Ground
I _assume_
Pcm Blue 12 -> Arduino Pin 8
Pcm Blue 73 -> Arduino Pin 9
Pcm Ground -> Arduino Ground
What I am not sure of is the Pcm Low Reference, where do they go??
2. How can one tell if the Pcm thinks it is running an engine??
Ignition Control is +0-5v??, so a resisted LED to ground would do that, correct??
Injector Signal is to ground??, so a resisted LED to +power would handle that, correct??
I do not have an O-scope, Yea I know, essential equipment ... I'll get one when I figure out what I need, that's been my excuse for many years!
Been drooling over this one here of late: Siglent Technologies SDS1202X-E 200 mhz Digital Oscilloscope 2 Channels, Grey
Thanks
I hope to change that!
First of all, What type of signal does the Pcm expect for CKP and CMP??
In searches I find conflicting info ... Some say the CKP is VR and the CMP is Hall, some say they are both VR, others say they are both Hall and yet again others say they both produce a ON/OFF signal.
So WTF are they??
JimStim looks interesting, probably going to get one.
In the mean time, playing with Ardu-Stim, It looks like it'll do the CKP and CMP just fine as is if the sensors are Hall type, if VR some electronics will be needed.
Have not been successful in finding any documentation or the like.
The web site: Arduino based crank/cam wheel simulator has a 'Database Error' when trying to connect.
It looks like there may be some info on Facebook, don't have access, never been there, never will!
The code is here: LibreEMS Suite
I finally did get it to compile and upload, with
Arduino IDE v1.6.13 <- Newer may work.
SerialUI v2.1.6 <- Newer versions do not work!
However, I am not confident in the hookup, and there is very little info on it's use and or requirements.
The Pcm has two pins for each Sensor,
Blue 12: CKP Sensor Signal Pin "A"
Blue 21: CKP Low Reference Pin "B"
Blue 73: CMP Sensor Signal Pin "A"
Blue 61: CMP Low Reference Pin "B"
On the Arduino, there are three pins.
Pin 8: CKP Output
Pin 9: CMP Output
Ground
I _assume_
Pcm Blue 12 -> Arduino Pin 8
Pcm Blue 73 -> Arduino Pin 9
Pcm Ground -> Arduino Ground
What I am not sure of is the Pcm Low Reference, where do they go??
2. How can one tell if the Pcm thinks it is running an engine??
Ignition Control is +0-5v??, so a resisted LED to ground would do that, correct??
Injector Signal is to ground??, so a resisted LED to +power would handle that, correct??
I do not have an O-scope, Yea I know, essential equipment ... I'll get one when I figure out what I need, that's been my excuse for many years!
Been drooling over this one here of late: Siglent Technologies SDS1202X-E 200 mhz Digital Oscilloscope 2 Channels, Grey
Thanks
Intelligence is in the details!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
-
- Posts: 397
- Joined: Wed Jul 05, 2017 8:30 am
- cars: 2001 Pontiac Grand AM SE
LD9 2.4l I4, 4T40E
2005 Chevrolet Venture
LA1 3400 V6, 4T65E - Location: North TX, USA
Re: Bench top Engine Simulator for the P01/P59 Pcm
Hi all,
Gampy, I too tried to access the link you provided without success.
HOWEVER, I WAS able to access THIS:https://www.libreems.org/
So perhaps it may be of some use.
Mike.
P.S. the Blog Articles link is the one that doesn't work. Also, if I am not mistaken, the LOW REF is a ground.
Gampy, I too tried to access the link you provided without success.
HOWEVER, I WAS able to access THIS:https://www.libreems.org/
So perhaps it may be of some use.
Mike.
P.S. the Blog Articles link is the one that doesn't work. Also, if I am not mistaken, the LOW REF is a ground.
Re: Bench top Engine Simulator for the P01/P59 Pcm
Low ref always means ground, if you wanna check if pcm thinks engine is running run leds off the injector wires(they are the grounds from pcm)
Re: Bench top Engine Simulator for the P01/P59 Pcm
I'm using a JimStim that I had from my days playing with Megasquirt.
Yeah I just tied all of the LOW References to PCM Ground.
The way I tell the PCM thinks the engine is running is with a logger that I already have (HP Tuners/EFI Live).
There are many things that you will likely have error codes for, namely VATS which will disable the injectors/coils from working. So you'll likely need to disable that with some tuning software if you are looking to get the outputs working.
Yeah I just tied all of the LOW References to PCM Ground.
The way I tell the PCM thinks the engine is running is with a logger that I already have (HP Tuners/EFI Live).
There are many things that you will likely have error codes for, namely VATS which will disable the injectors/coils from working. So you'll likely need to disable that with some tuning software if you are looking to get the outputs working.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
Re: Bench top Engine Simulator for the P01/P59 Pcm
p01
cmp is a digital on/off 5v signal. one half rotation off half rotation.
ckp is also digital on/off 5v signal 24 pulse per revolution.
i dont have the pulse timing for the 24pulses
p59
cmp is a 4 pulse
ckp is 58 pulse
cmp is a digital on/off 5v signal. one half rotation off half rotation.
ckp is also digital on/off 5v signal 24 pulse per revolution.
i dont have the pulse timing for the 24pulses
p59
cmp is a 4 pulse
ckp is 58 pulse
Re: Bench top Engine Simulator for the P01/P59 Pcm
That's incorrect. P01 and P59 both use 24x crank trigger and 50/50 cam trigger.
I have used a 24x crank and 50/50 cam square wave output (Hall type signal) for my testing on a P59 and have had no issues.
I have used a 24x crank and 50/50 cam square wave output (Hall type signal) for my testing on a P59 and have had no issues.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
-
- Posts: 469
- Joined: Thu May 03, 2012 10:50 pm
- cars: HZ One Tonner
VE Ute - Location: Castlemaine, Vic
Re: Bench top Engine Simulator for the P01/P59 Pcm
Here is the 24x signal structure. Degrees of crankshaft rotation marked in the picture
I'm not so sure the 24x signal is 5v. The notes I have say it's 12v. They also say the sensor includes a pull-up resistor (so the sensor drives the signal both high and low). That could be wrong.
Also attached is the "60-2" signal (ie 58 pulse as you put it). Its a pretty simple 60 pulse signal with 2 "missing teeth" so the full signal isn't shown.
I'm not so sure the 24x signal is 5v. The notes I have say it's 12v. They also say the sensor includes a pull-up resistor (so the sensor drives the signal both high and low). That could be wrong.
-
- Posts: 469
- Joined: Thu May 03, 2012 10:50 pm
- cars: HZ One Tonner
VE Ute - Location: Castlemaine, Vic
Re: Bench top Engine Simulator for the P01/P59 Pcm
Here is also an Arduino sketch I put together some time ago to "bit bang" crank signals out on the digital pins. It does a 50% duty cycle square wave for delco's, as well as both the 24x and 60-2 signal for LS engines. You can adjust the output speed (RPM) by using a pot to change the 0-5v input into arduino pin A1.
I intended to wire up a simple transistor and pull-up resistor circuit to the required output pin to create the signal output for testing ecu's on the bench. I have never got around to using it. I cant remember which digital pins were which signal outputs off the top of my head, I used direct port manipulation to speed things up, but you should be able to work it out fairly easy. I did test it with an oscilloscope when I had access to one and the signals looked pretty good despite being bit banged in software. I don't think I got around to adjusting the "delay times" to make the RPM adjustment range into a logical RPM range. Theres obviously an upper limit to how fast it will work being bit banged (maybe a couple of thousand RPM).
I intended to wire up a simple transistor and pull-up resistor circuit to the required output pin to create the signal output for testing ecu's on the bench. I have never got around to using it. I cant remember which digital pins were which signal outputs off the top of my head, I used direct port manipulation to speed things up, but you should be able to work it out fairly easy. I did test it with an oscilloscope when I had access to one and the signals looked pretty good despite being bit banged in software. I don't think I got around to adjusting the "delay times" to make the RPM adjustment range into a logical RPM range. Theres obviously an upper limit to how fast it will work being bit banged (maybe a couple of thousand RPM).
Code: Select all
/*
* PMAN92'S CRANK SIGNAL GENERATOR, INCLUDES:
* 50% DUTY CYCLE SQUARE WAVE - SUIT DELCO ECU/PCM
* 24X SIGNAL - SUIT GEN 3
* 60-2 - SUIT GEN 4+
*/
//Delay times are the microseconds delay between each loop (between each 3 degrees of crankshaft rotation)
#define FASTEST_SPEED_DELAY 0
#define SLOWEST_SPEED_DELAY 800
byte output[] = {
B0000000, //3 => signal state after 3 degrees of crankshaft rotation
B0000000, //6 => (there are 120 values, 120x3 = 360 degrees total)
B0000000, //9
B0000010, //12
B0000000, //15
B0000011, //18
B0000010, //21
B0000011, //24
B0000010, //27
B0000001, //30
B0000010, //33
B0000011, //36
B0000010, //39
B0000011, //42
B0000100, //45
B0000111, //48
B0000110, //51
B0000111, //54
B0000110, //57
B0000101, //60
B0000110, //63
B0000111, //66
B0000110, //69
B0000111, //72
B0000100, //75
B0000111, //78
B0000110, //81
B0000111, //84
B0000110, //87
B0000001, //90
B0000000, //93
B0000001, //96
B0000000, //99
B0000011, //102
B0000000, //105
B0000011, //108
B0000010, //111
B0000011, //114
B0000010, //117
B0000001, //120
B0000010, //123
B0000011, //126
B0000010, //129
B0000011, //132
B0000100, //135
B0000111, //138
B0000110, //141
B0000111, //144
B0000110, //147
B0000101, //150
B0000100, //153
B0000101, //156
B0000100, //159
B0000111, //162
B0000100, //165
B0000101, //168
B0000100, //171
B0000101, //174
B0000110, //177
B0000001, //180
B0000010, //183
B0000011, //186
B0000010, //189
B0000011, //192
B0000000, //195
B0000011, //198
B0000010, //201
B0000011, //204
B0000010, //207
B0000001, //210
B0000000, //213
B0000001, //216
B0000000, //219
B0000011, //222
B0000100, //225
B0000101, //228
B0000100, //231
B0000101, //234
B0000110, //237
B0000101, //240
B0000100, //243
B0000101, //246
B0000100, //249
B0000111, //252
B0000100, //255
B0000111, //258
B0000110, //261
B0000111, //264
B0000110, //267
B0000001, //270
B0000000, //273
B0000001, //276
B0000000, //279
B0000011, //282
B0000000, //285
B0000011, //288
B0000010, //291
B0000011, //294
B0000010, //297
B0000001, //300
B0000000, //303
B0000001, //306
B0000000, //309
B0000011, //312
B0000100, //315
B0000101, //318
B0000100, //321
B0000101, //324
B0000110, //327
B0000101, //330
B0000100, //333
B0000101, //336
B0000100, //339
B0000111, //342
B0000100, //345
B0000101, //348
B0000100, //351
B0000101, //354
B0000110, //357
B0000001 //360 => the signal state switches to this after 360 degrees (IE. this is the first 3 degrees of the pattern)
};
void setup() {
DDRD = B11111111; //set digital pin 0 - 7 as outputs
pinMode(13, OUTPUT); //LED Pin
pinMode(A1, INPUT);
}
void loop() {
static boolean LEDstate = true;
static byte currentPosition = 119; //there is 120 values (0-119)
PORTD = output[currentPosition];
currentPosition++;
if(currentPosition >= 120){
currentPosition = 0;
LEDstate = !LEDstate;
digitalWrite(13, LEDstate);
}
int speedRequest = analogRead(A1);
int delayTime = map(speedRequest, 0, 1024, SLOWEST_SPEED_DELAY, FASTEST_SPEED_DELAY);
delayMicroseconds(delayTime);
}
Re: Bench top Engine Simulator for the P01/P59 Pcm
Thanks Folks
Just realized why I am not getting expected results ...
My Pcm's are from V6's, P01 is off an L35, P59 is off an LU3.
So I need to decide the path I want to take to change that.
Other then VATS what else is likely to shut it down?
Just realized why I am not getting expected results ...
My Pcm's are from V6's, P01 is off an L35, P59 is off an LU3.
So I need to decide the path I want to take to change that.
Other then VATS what else is likely to shut it down?
Intelligence is in the details!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!