It is currently Mon May 21, 2018 5:00 am



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 41 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: MAP sensor emulator... of sorts
PostPosted: Sun Aug 18, 2013 2:53 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Still in development but looks promising.

Attachment:
CXT2S_Opt2.jpg
CXT2S_Opt2.jpg [ 100.32 KiB | Viewed 17796 times ]


Possible uses include:
- compensating for swapping in a camshaft that changes manifold vacuum
- splitting one MAP between two systems, i.e. a piggyback system
- replacing obsolete MAP sensors
- drive up to two external devices based on pressure, i.e. (with external drivers of course) drive a variable pressure pump for methanol injection such that the volume of methanol injected increases with pressure or drive a cooling fan blowing over an intercooler
- not limited to MAP: as it's operation is basically transform one voltage to another, it could adapt any 5v system to another 5v system

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Sun Aug 18, 2013 9:53 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Version with through-hole MPX:

Attachment:
CXT2S_Opt1.jpg
CXT2S_Opt1.jpg [ 124.01 KiB | Viewed 17785 times ]


A little creative routing and I could bring at least 3 GPIO out to do pressure related things into that copper pour area to the left of the chip near the center.

Or leave off the MPX and add your own 5v MAP sensor... ;)


/me goes to the corner to hide from Mark.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Aug 20, 2013 1:26 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
The Eagle library I used for that MPX lies! The leads were not bent at all.

It calls that a horizontal orientation for the MPX sensor, but that is only if the MPX was mounted below the board and bent over 90!!!
... oddly enough, a bit erotic, actually....


Okay. I'm going to my room now.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Aug 20, 2013 2:47 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:45 am
Posts: 729
Location: PA, USA
No need to hide from me.

Is the plan/intent that it's programmable with a conversion curve/table of some kind?


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Aug 20, 2013 6:20 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
mk e wrote:
No need to hide from me.
I know. I was only making a tongue-in-cheek joke since I am doing this and not working on O5E.

Quote:
Is the plan/intent that it's programmable with a conversion curve/table of some kind?

Yes.

I was thinking of a 3x128 or 3x256 array.
Columns representing MAP / input sensor, output 1 and output 2.
Rows representing increasing kPa.

The first column would be populated with values calculated from the transform function presented in the datasheet for the MPX4250A sensor. The second and third columns would be populated with values derived from equations used to correlate the outputs to the input.

In my case, the service manual test procedure for the sensors specifies a kPa value and Volt output, and I used the average of the range- i.e. if it said 80 kPa = 4.6-5.0, I used 4.8. I then used the two kPa/V values from the service manual to derive an equation representing all possible points along the line based on varying kPa.

For example:
MPX4250A = 5.1 * ((0.004 * kPa) - 0.04)
P1 = (0.036 * kPa) - 0.103
P2 = (0.020 * kPa) - 0.83

The software tuning the system, as the default configuration related to my motorcycle and its sensors, will iterate from the input sensor minimum rating to the maximum and do calculations based on the above formulae with the kPa value used in the calculations scaled according to the number of cells in the table. For 128 entries in each table and a 0-250 kPa sensor, it will go from 0 to 250 in steps of ~ 1.95 kPa and put the results in cells.

Bounds limits will also be done so that no value < 0 or > 5 will be put in any cell.

Using the equations above, and also one for the 'old' MPX4250 gives graphs looking like the graph below. Please note I restricted P2 to kPa above 60, and limited P1 to kPa below 110, as those are the bounds of sensors used on my motorcycle, and I did extend the volts out to 6v, but that was only to show the trend for the MPX sensors.

Image

The curious thing, to my eye, is the difference between MPX4250 and 4250A.
Note the red and green lines in the image above have different slopes.

From their datasheets:
MPX4250A transfer function: Vout=Vs(P*0.004-0.04)
MPX4250 transfer function: Vout=Vs*(0.00369*P+0.04)
Where P = kPa, and Vs = supply voltage.

Anyone using an MPX4250 when a 4250A is expected, or vice-versa, and is experiencing issues with MAP calibrations might want to check which unit they have.


Beyond that, each cell for each sensor can be edited independently of other cells. The only limitations will be that an individual cell cannot hold a value less than the cell below it, nor higher than the cell above it.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Aug 20, 2013 6:50 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
To add,

Calculations will be used which will determine the relation of the ADC sample to the nearest cells, and apply that to the output values. For instance if the ADC output was between cells, and its value was 2/3 between the next lower and higher cells, the output would be scaled accordingly.

Since, with 128 cells, we have 0.04v resolution between cells; if we go to 256 we have 0.02v between cells, I don't see a little bit of interpolation as a problem.

Even my motorcycle's ECU and service manual has a margin of error of +/- 0.2v. 10x larger than our cells target, and at least 10x greater than the error of the DAC I'm looking at using.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Wed Aug 21, 2013 2:49 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
I thought the MPX sensors would be a bit bigger than they are... they're not much bigger than a quarter-dollar coin.

... waiting for the eeprom, op amp and DAC to arrive, then I can start coding in earnest.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Wed Aug 21, 2013 8:22 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:45 am
Posts: 729
Location: PA, USA
abecedarian wrote:
mk e wrote:
No need to hide from me.
I know. I was only making a tongue-in-cheek joke since I am doing this and not working on O5E.


hmmm...yeah...why are you working on this instead of 05e? ;)





abecedarian wrote:
mk e wrote:
Is the plan/intent that it's programmable with a conversion curve/table of some kind?

Yes.

I was thinking of a 3x128 or 3x256 array.
Columns representing MAP / input sensor, output 1 and output 2.
Rows representing increasing kPa.


Those are BIG tables that will be a huge pain in the butt to setup.

MAP sensor outputs are pretty linear so a straight conversion real only needs 2 points. So this is easy and doesn't need a table at all.

To do a "tuned output" of some kind to act like a piggy back you need a 2d table that has load (MAP) and RPM.....you can't do it with just MAP and have it actually work I don't think. Here I'd say 8x16 or 16x 32 (loadxrpm) would be good choices if you can figure out how to read rpm.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Wed Aug 21, 2013 4:32 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
I agree tuning 128 cells could be fun for the user. ;)

We intend for the software to be flexible and intelligent. Initial table configuration will be like I mentioned earlier, either by inputting the transfer function directly or by giving two kPa / Volt pairs and deriving the function from those. We're looking at various ways for the tables to be edited once created using click-and-drag parts similar to how many graphics editing programs have Beziers and other functions that connect segments like rubber bands.

We're still working on it, so go easy on us.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Thu Aug 22, 2013 6:01 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Played a bit- set up an MCU similar to what we're using and a display and wrote a few lines of code to test the equations we're looking at using to set up the tables. Sampled a potentiometer into the ADC; need some chips to show up before I can hook it up to the truck for some testing. I'm using a 2.5v reference across the potentiometer and for the ADC which works nice converting from ADC results to kPa since the MPX is a 250 kPa unit.

Here's the P2 sensor target output voltages at 66 kPa / -34 kP relative and 200 kPa / +100 kP relative; permissible are 0.4-0.6 volts and 2.9-3.5 volts respectively:
Attachment:
P2_66kPa.jpg
P2_66kPa.jpg [ 18.24 KiB | Viewed 17724 times ]

Attachment:
P2_200kPa.jpg
P2_200kPa.jpg [ 11.66 KiB | Viewed 17724 times ]


Not shown were MAP readings at various kPa because the equation used is from the datasheet and it's readings matched that.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Aug 26, 2013 10:38 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Decided to do this 'open source' and started a topic at the link below because it's based around a TI MSP430 MCU.

http://forum.43oh.com/topic/4301-absolu ... re-cooker/

Go ahead and tease me but the MSP made sense because I was drawing power to operate the unit from the pressure sensors' connections and few MCU's draw less than 1mA per MIPS ;)

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Sep 02, 2013 2:30 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Have the MCU talking to the eeprom, and doing some work. This is the initial calibrations being applied, and are only relevant to the CX500TC and CX650T motorcycles. Alternate calibrations can be applied if I am provided with proper equations. ;)

Sorry for the length of the post.
This is a serial attach to the prototype while booting.

Quote:
Booting....
Leaving Setup()
In loop().
Calibration loading for P1/Pb sensor. Please wait.
EEPROM address:0, calculated kPa: 0.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:4, calculated kPa: 1.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:8, calculated kPa: 2.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:12, calculated kPa: 3.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:16, calculated kPa: 4.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:20, calculated kPa: 5.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:24, calculated kPa: 6.00; sensor voltage out: 0.11; DAC out: 92
EEPROM address:28, calculated kPa: 7.00; sensor voltage out: 0.15; DAC out: 122
EEPROM address:32, calculated kPa: 8.00; sensor voltage out: 0.18; DAC out: 151
EEPROM address:36, calculated kPa: 9.00; sensor voltage out: 0.22; DAC out: 181
EEPROM address:40, calculated kPa: 10.00; sensor voltage out: 0.26; DAC out: 210
EEPROM address:44, calculated kPa: 11.00; sensor voltage out: 0.29; DAC out: 240
EEPROM address:48, calculated kPa: 12.00; sensor voltage out: 0.33; DAC out: 269
EEPROM address:52, calculated kPa: 13.00; sensor voltage out: 0.37; DAC out: 299
EEPROM address:56, calculated kPa: 14.00; sensor voltage out: 0.40; DAC out: 328
EEPROM address:60, calculated kPa: 15.00; sensor voltage out: 0.44; DAC out: 357
EEPROM address:64, calculated kPa: 16.00; sensor voltage out: 0.47; DAC out: 387
EEPROM address:68, calculated kPa: 17.00; sensor voltage out: 0.51; DAC out: 416
EEPROM address:72, calculated kPa: 18.00; sensor voltage out: 0.55; DAC out: 446
EEPROM address:76, calculated kPa: 19.00; sensor voltage out: 0.58; DAC out: 475
EEPROM address:80, calculated kPa: 20.00; sensor voltage out: 0.62; DAC out: 505
EEPROM address:84, calculated kPa: 21.00; sensor voltage out: 0.65; DAC out: 534
EEPROM address:88, calculated kPa: 22.00; sensor voltage out: 0.69; DAC out: 564
EEPROM address:92, calculated kPa: 23.00; sensor voltage out: 0.72; DAC out: 593
EEPROM address:96, calculated kPa: 24.00; sensor voltage out: 0.76; DAC out: 623
EEPROM address:100, calculated kPa: 25.00; sensor voltage out: 0.80; DAC out: 652
EEPROM address:104, calculated kPa: 26.00; sensor voltage out: 0.83; DAC out: 682
EEPROM address:108, calculated kPa: 27.00; sensor voltage out: 0.87; DAC out: 711
EEPROM address:112, calculated kPa: 28.00; sensor voltage out: 0.90; DAC out: 741
EEPROM address:116, calculated kPa: 29.00; sensor voltage out: 0.94; DAC out: 770
EEPROM address:120, calculated kPa: 30.00; sensor voltage out: 0.98; DAC out: 800
EEPROM address:124, calculated kPa: 31.00; sensor voltage out: 1.01; DAC out: 829
EEPROM address:128, calculated kPa: 32.00; sensor voltage out: 1.05; DAC out: 859
EEPROM address:132, calculated kPa: 33.00; sensor voltage out: 1.08; DAC out: 888
EEPROM address:136, calculated kPa: 34.00; sensor voltage out: 1.12; DAC out: 918
EEPROM address:140, calculated kPa: 35.00; sensor voltage out: 1.16; DAC out: 947
EEPROM address:144, calculated kPa: 36.00; sensor voltage out: 1.19; DAC out: 977
EEPROM address:148, calculated kPa: 37.00; sensor voltage out: 1.23; DAC out: 1006
EEPROM address:152, calculated kPa: 38.00; sensor voltage out: 1.26; DAC out: 1036
EEPROM address:156, calculated kPa: 39.00; sensor voltage out: 1.30; DAC out: 1065
EEPROM address:160, calculated kPa: 40.00; sensor voltage out: 1.34; DAC out: 1095
EEPROM address:164, calculated kPa: 41.00; sensor voltage out: 1.37; DAC out: 1124
EEPROM address:168, calculated kPa: 42.00; sensor voltage out: 1.41; DAC out: 1154
EEPROM address:172, calculated kPa: 43.00; sensor voltage out: 1.44; DAC out: 1183
EEPROM address:176, calculated kPa: 44.00; sensor voltage out: 1.48; DAC out: 1213
EEPROM address:180, calculated kPa: 45.00; sensor voltage out: 1.52; DAC out: 1242
EEPROM address:184, calculated kPa: 46.00; sensor voltage out: 1.55; DAC out: 1272
EEPROM address:188, calculated kPa: 47.00; sensor voltage out: 1.59; DAC out: 1301
EEPROM address:192, calculated kPa: 48.00; sensor voltage out: 1.62; DAC out: 1331
EEPROM address:196, calculated kPa: 49.00; sensor voltage out: 1.66; DAC out: 1360
EEPROM address:200, calculated kPa: 50.00; sensor voltage out: 1.70; DAC out: 1390
EEPROM address:204, calculated kPa: 51.00; sensor voltage out: 1.73; DAC out: 1419
EEPROM address:208, calculated kPa: 52.00; sensor voltage out: 1.77; DAC out: 1449
EEPROM address:212, calculated kPa: 53.00; sensor voltage out: 1.80; DAC out: 1478
EEPROM address:216, calculated kPa: 54.00; sensor voltage out: 1.84; DAC out: 1508
EEPROM address:220, calculated kPa: 55.00; sensor voltage out: 1.88; DAC out: 1537
EEPROM address:224, calculated kPa: 56.00; sensor voltage out: 1.91; DAC out: 1567
EEPROM address:228, calculated kPa: 57.00; sensor voltage out: 1.95; DAC out: 1596
EEPROM address:232, calculated kPa: 58.00; sensor voltage out: 1.98; DAC out: 1626
EEPROM address:236, calculated kPa: 59.00; sensor voltage out: 2.02; DAC out: 1655
EEPROM address:240, calculated kPa: 60.00; sensor voltage out: 2.06; DAC out: 1685
EEPROM address:244, calculated kPa: 61.00; sensor voltage out: 2.09; DAC out: 1714
EEPROM address:248, calculated kPa: 62.00; sensor voltage out: 2.13; DAC out: 1744
EEPROM address:252, calculated kPa: 63.00; sensor voltage out: 2.17; DAC out: 1773
EEPROM address:256, calculated kPa: 64.00; sensor voltage out: 2.20; DAC out: 1803
EEPROM address:260, calculated kPa: 65.00; sensor voltage out: 2.24; DAC out: 1832
EEPROM address:264, calculated kPa: 66.00; sensor voltage out: 2.27; DAC out: 1862
EEPROM address:268, calculated kPa: 67.00; sensor voltage out: 2.31; DAC out: 1891
EEPROM address:272, calculated kPa: 68.00; sensor voltage out: 2.35; DAC out: 1921
EEPROM address:276, calculated kPa: 69.00; sensor voltage out: 2.38; DAC out: 1950
EEPROM address:280, calculated kPa: 70.00; sensor voltage out: 2.42; DAC out: 1980
EEPROM address:284, calculated kPa: 71.00; sensor voltage out: 2.45; DAC out: 2009
EEPROM address:288, calculated kPa: 72.00; sensor voltage out: 2.49; DAC out: 2038
EEPROM address:292, calculated kPa: 73.00; sensor voltage out: 2.52; DAC out: 2068
EEPROM address:296, calculated kPa: 74.00; sensor voltage out: 2.56; DAC out: 2097
EEPROM address:300, calculated kPa: 75.00; sensor voltage out: 2.60; DAC out: 2127
EEPROM address:304, calculated kPa: 76.00; sensor voltage out: 2.63; DAC out: 2156
EEPROM address:308, calculated kPa: 77.00; sensor voltage out: 2.67; DAC out: 2186
EEPROM address:312, calculated kPa: 78.00; sensor voltage out: 2.71; DAC out: 2215
EEPROM address:316, calculated kPa: 79.00; sensor voltage out: 2.74; DAC out: 2245
EEPROM address:320, calculated kPa: 80.00; sensor voltage out: 2.78; DAC out: 2274
EEPROM address:324, calculated kPa: 81.00; sensor voltage out: 2.81; DAC out: 2304
EEPROM address:328, calculated kPa: 82.00; sensor voltage out: 2.85; DAC out: 2333
EEPROM address:332, calculated kPa: 83.00; sensor voltage out: 2.89; DAC out: 2363
EEPROM address:336, calculated kPa: 84.00; sensor voltage out: 2.92; DAC out: 2392
EEPROM address:340, calculated kPa: 85.00; sensor voltage out: 2.96; DAC out: 2422
EEPROM address:344, calculated kPa: 86.00; sensor voltage out: 2.99; DAC out: 2451
EEPROM address:348, calculated kPa: 87.00; sensor voltage out: 3.03; DAC out: 2481
EEPROM address:352, calculated kPa: 88.00; sensor voltage out: 3.06; DAC out: 2510
EEPROM address:356, calculated kPa: 89.00; sensor voltage out: 3.10; DAC out: 2540
EEPROM address:360, calculated kPa: 90.00; sensor voltage out: 3.14; DAC out: 2569
EEPROM address:364, calculated kPa: 91.00; sensor voltage out: 3.17; DAC out: 2599
EEPROM address:368, calculated kPa: 92.00; sensor voltage out: 3.21; DAC out: 2628
EEPROM address:372, calculated kPa: 93.00; sensor voltage out: 3.25; DAC out: 2658
EEPROM address:376, calculated kPa: 94.00; sensor voltage out: 3.28; DAC out: 2687
EEPROM address:380, calculated kPa: 95.00; sensor voltage out: 3.32; DAC out: 2717
EEPROM address:384, calculated kPa: 96.00; sensor voltage out: 3.35; DAC out: 2746
EEPROM address:388, calculated kPa: 97.00; sensor voltage out: 3.39; DAC out: 2776
EEPROM address:392, calculated kPa: 98.00; sensor voltage out: 3.43; DAC out: 2805
EEPROM address:396, calculated kPa: 99.00; sensor voltage out: 3.46; DAC out: 2835
EEPROM address:400, calculated kPa: 100.00; sensor voltage out: 3.50; DAC out: 2864
EEPROM address:404, calculated kPa: 101.00; sensor voltage out: 3.53; DAC out: 2894
EEPROM address:408, calculated kPa: 102.00; sensor voltage out: 3.57; DAC out: 2923
EEPROM address:412, calculated kPa: 103.00; sensor voltage out: 3.61; DAC out: 2953
EEPROM address:416, calculated kPa: 104.00; sensor voltage out: 3.64; DAC out: 2982
EEPROM address:420, calculated kPa: 105.00; sensor voltage out: 3.68; DAC out: 3012
EEPROM address:424, calculated kPa: 106.00; sensor voltage out: 3.71; DAC out: 3041
EEPROM address:428, calculated kPa: 107.00; sensor voltage out: 3.75; DAC out: 3071
EEPROM address:432, calculated kPa: 108.00; sensor voltage out: 3.78; DAC out: 3100
EEPROM address:436, calculated kPa: 109.00; sensor voltage out: 3.82; DAC out: 3130
EEPROM address:440, calculated kPa: 110.00; sensor voltage out: 3.86; DAC out: 3159
EEPROM address:444, calculated kPa: 111.00; sensor voltage out: 3.89; DAC out: 3189
EEPROM address:448, calculated kPa: 112.00; sensor voltage out: 3.93; DAC out: 3218
EEPROM address:452, calculated kPa: 113.00; sensor voltage out: 3.97; DAC out: 3248
EEPROM address:456, calculated kPa: 114.00; sensor voltage out: 4.00; DAC out: 3277
EEPROM address:460, calculated kPa: 115.00; sensor voltage out: 4.04; DAC out: 3307
EEPROM address:464, calculated kPa: 116.00; sensor voltage out: 4.07; DAC out: 3336
EEPROM address:468, calculated kPa: 117.00; sensor voltage out: 4.11; DAC out: 3366
EEPROM address:472, calculated kPa: 118.00; sensor voltage out: 4.14; DAC out: 3395
EEPROM address:476, calculated kPa: 119.00; sensor voltage out: 4.18; DAC out: 3425
EEPROM address:480, calculated kPa: 120.00; sensor voltage out: 4.22; DAC out: 3454
EEPROM address:484, calculated kPa: 121.00; sensor voltage out: 4.25; DAC out: 3484
EEPROM address:488, calculated kPa: 122.00; sensor voltage out: 4.29; DAC out: 3513
EEPROM address:492, calculated kPa: 123.00; sensor voltage out: 4.32; DAC out: 3543
EEPROM address:496, calculated kPa: 124.00; sensor voltage out: 4.36; DAC out: 3572
EEPROM address:500, calculated kPa: 125.00; sensor voltage out: 4.40; DAC out: 3602
EEPROM address:504, calculated kPa: 126.00; sensor voltage out: 4.43; DAC out: 3631
EEPROM address:508, calculated kPa: 127.00; sensor voltage out: 4.47; DAC out: 3661
EEPROM address:512, calculated kPa: 128.00; sensor voltage out: 4.50; DAC out: 3690
EEPROM address:516, calculated kPa: 129.00; sensor voltage out: 4.54; DAC out: 3719
EEPROM address:520, calculated kPa: 130.00; sensor voltage out: 4.58; DAC out: 3749
EEPROM address:524, calculated kPa: 131.00; sensor voltage out: 4.61; DAC out: 3778
EEPROM address:528, calculated kPa: 132.00; sensor voltage out: 4.65; DAC out: 3808
EEPROM address:532, calculated kPa: 133.00; sensor voltage out: 4.68; DAC out: 3837
EEPROM address:536, calculated kPa: 134.00; sensor voltage out: 4.72; DAC out: 3867
EEPROM address:540, calculated kPa: 135.00; sensor voltage out: 4.76; DAC out: 3896
EEPROM address:544, calculated kPa: 136.00; sensor voltage out: 4.79; DAC out: 3926
EEPROM address:548, calculated kPa: 137.00; sensor voltage out: 4.83; DAC out: 3955
EEPROM address:552, calculated kPa: 138.00; sensor voltage out: 4.86; DAC out: 3985
EEPROM address:556, calculated kPa: 139.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:560, calculated kPa: 140.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:564, calculated kPa: 141.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:568, calculated kPa: 142.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:572, calculated kPa: 143.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:576, calculated kPa: 144.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:580, calculated kPa: 145.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:584, calculated kPa: 146.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:588, calculated kPa: 147.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:592, calculated kPa: 148.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:596, calculated kPa: 149.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:600, calculated kPa: 150.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:604, calculated kPa: 151.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:608, calculated kPa: 152.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:612, calculated kPa: 153.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:616, calculated kPa: 154.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:620, calculated kPa: 155.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:624, calculated kPa: 156.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:628, calculated kPa: 157.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:632, calculated kPa: 158.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:636, calculated kPa: 159.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:640, calculated kPa: 160.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:644, calculated kPa: 161.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:648, calculated kPa: 162.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:652, calculated kPa: 163.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:656, calculated kPa: 164.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:660, calculated kPa: 165.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:664, calculated kPa: 166.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:668, calculated kPa: 167.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:672, calculated kPa: 168.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:676, calculated kPa: 169.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:680, calculated kPa: 170.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:684, calculated kPa: 171.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:688, calculated kPa: 172.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:692, calculated kPa: 173.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:696, calculated kPa: 174.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:700, calculated kPa: 175.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:704, calculated kPa: 176.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:708, calculated kPa: 177.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:712, calculated kPa: 178.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:716, calculated kPa: 179.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:720, calculated kPa: 180.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:724, calculated kPa: 181.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:728, calculated kPa: 182.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:732, calculated kPa: 183.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:736, calculated kPa: 184.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:740, calculated kPa: 185.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:744, calculated kPa: 186.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:748, calculated kPa: 187.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:752, calculated kPa: 188.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:756, calculated kPa: 189.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:760, calculated kPa: 190.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:764, calculated kPa: 191.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:768, calculated kPa: 192.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:772, calculated kPa: 193.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:776, calculated kPa: 194.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:780, calculated kPa: 195.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:784, calculated kPa: 196.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:788, calculated kPa: 197.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:792, calculated kPa: 198.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:796, calculated kPa: 199.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:800, calculated kPa: 200.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:804, calculated kPa: 201.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:808, calculated kPa: 202.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:812, calculated kPa: 203.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:816, calculated kPa: 204.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:820, calculated kPa: 205.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:824, calculated kPa: 206.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:828, calculated kPa: 207.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:832, calculated kPa: 208.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:836, calculated kPa: 209.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:840, calculated kPa: 210.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:844, calculated kPa: 211.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:848, calculated kPa: 212.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:852, calculated kPa: 213.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:856, calculated kPa: 214.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:860, calculated kPa: 215.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:864, calculated kPa: 216.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:868, calculated kPa: 217.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:872, calculated kPa: 218.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:876, calculated kPa: 219.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:880, calculated kPa: 220.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:884, calculated kPa: 221.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:888, calculated kPa: 222.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:892, calculated kPa: 223.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:896, calculated kPa: 224.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:900, calculated kPa: 225.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:904, calculated kPa: 226.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:908, calculated kPa: 227.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:912, calculated kPa: 228.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:916, calculated kPa: 229.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:920, calculated kPa: 230.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:924, calculated kPa: 231.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:928, calculated kPa: 232.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:932, calculated kPa: 233.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:936, calculated kPa: 234.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:940, calculated kPa: 235.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:944, calculated kPa: 236.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:948, calculated kPa: 237.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:952, calculated kPa: 238.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:956, calculated kPa: 239.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:960, calculated kPa: 240.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:964, calculated kPa: 241.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:968, calculated kPa: 242.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:972, calculated kPa: 243.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:976, calculated kPa: 244.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:980, calculated kPa: 245.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:984, calculated kPa: 246.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:988, calculated kPa: 247.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:992, calculated kPa: 248.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:996, calculated kPa: 249.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1000, calculated kPa: 250.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1004, calculated kPa: 251.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1008, calculated kPa: 252.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1012, calculated kPa: 253.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1016, calculated kPa: 254.00; sensor voltage out: 4.90; DAC out: 4014
EEPROM address:1020, calculated kPa: 255.00; sensor voltage out: 4.90; DAC out: 4014

Calibration loading for P2/Pign sensor. Please wait.
EEPROM address:1024, calculated kPa: 0.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1028, calculated kPa: 1.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1032, calculated kPa: 2.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1036, calculated kPa: 3.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1040, calculated kPa: 4.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1044, calculated kPa: 5.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1048, calculated kPa: 6.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1052, calculated kPa: 7.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1056, calculated kPa: 8.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1060, calculated kPa: 9.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1064, calculated kPa: 10.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1068, calculated kPa: 11.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1072, calculated kPa: 12.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1076, calculated kPa: 13.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1080, calculated kPa: 14.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1084, calculated kPa: 15.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1088, calculated kPa: 16.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1092, calculated kPa: 17.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1096, calculated kPa: 18.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1100, calculated kPa: 19.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1104, calculated kPa: 20.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1108, calculated kPa: 21.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1112, calculated kPa: 22.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1116, calculated kPa: 23.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1120, calculated kPa: 24.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1124, calculated kPa: 25.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1128, calculated kPa: 26.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1132, calculated kPa: 27.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1136, calculated kPa: 28.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1140, calculated kPa: 29.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1144, calculated kPa: 30.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1148, calculated kPa: 31.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1152, calculated kPa: 32.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1156, calculated kPa: 33.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1160, calculated kPa: 34.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1164, calculated kPa: 35.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1168, calculated kPa: 36.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1172, calculated kPa: 37.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1176, calculated kPa: 38.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1180, calculated kPa: 39.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1184, calculated kPa: 40.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1188, calculated kPa: 41.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1192, calculated kPa: 42.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1196, calculated kPa: 43.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1200, calculated kPa: 44.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1204, calculated kPa: 45.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1208, calculated kPa: 46.00; sensor voltage out: 0.10; DAC out: 81
EEPROM address:1212, calculated kPa: 47.00; sensor voltage out: 0.11; DAC out: 90
EEPROM address:1216, calculated kPa: 48.00; sensor voltage out: 0.13; DAC out: 106
EEPROM address:1220, calculated kPa: 49.00; sensor voltage out: 0.15; DAC out: 122
EEPROM address:1224, calculated kPa: 50.00; sensor voltage out: 0.17; DAC out: 139
EEPROM address:1228, calculated kPa: 51.00; sensor voltage out: 0.19; DAC out: 155
EEPROM address:1232, calculated kPa: 52.00; sensor voltage out: 0.21; DAC out: 172
EEPROM address:1236, calculated kPa: 53.00; sensor voltage out: 0.23; DAC out: 188
EEPROM address:1240, calculated kPa: 54.00; sensor voltage out: 0.25; DAC out: 204
EEPROM address:1244, calculated kPa: 55.00; sensor voltage out: 0.27; DAC out: 221
EEPROM address:1248, calculated kPa: 56.00; sensor voltage out: 0.29; DAC out: 237
EEPROM address:1252, calculated kPa: 57.00; sensor voltage out: 0.31; DAC out: 253
EEPROM address:1256, calculated kPa: 58.00; sensor voltage out: 0.33; DAC out: 270
EEPROM address:1260, calculated kPa: 59.00; sensor voltage out: 0.35; DAC out: 286
EEPROM address:1264, calculated kPa: 60.00; sensor voltage out: 0.37; DAC out: 303
EEPROM address:1268, calculated kPa: 61.00; sensor voltage out: 0.39; DAC out: 319
EEPROM address:1272, calculated kPa: 62.00; sensor voltage out: 0.41; DAC out: 335
EEPROM address:1276, calculated kPa: 63.00; sensor voltage out: 0.43; DAC out: 352
EEPROM address:1280, calculated kPa: 64.00; sensor voltage out: 0.45; DAC out: 368
EEPROM address:1284, calculated kPa: 65.00; sensor voltage out: 0.47; DAC out: 385
EEPROM address:1288, calculated kPa: 66.00; sensor voltage out: 0.49; DAC out: 401
EEPROM address:1292, calculated kPa: 67.00; sensor voltage out: 0.51; DAC out: 417
EEPROM address:1296, calculated kPa: 68.00; sensor voltage out: 0.53; DAC out: 434
EEPROM address:1300, calculated kPa: 69.00; sensor voltage out: 0.55; DAC out: 450
EEPROM address:1304, calculated kPa: 70.00; sensor voltage out: 0.57; DAC out: 466
EEPROM address:1308, calculated kPa: 71.00; sensor voltage out: 0.59; DAC out: 483
EEPROM address:1312, calculated kPa: 72.00; sensor voltage out: 0.61; DAC out: 499
EEPROM address:1316, calculated kPa: 73.00; sensor voltage out: 0.63; DAC out: 516
EEPROM address:1320, calculated kPa: 74.00; sensor voltage out: 0.65; DAC out: 532
EEPROM address:1324, calculated kPa: 75.00; sensor voltage out: 0.67; DAC out: 548
EEPROM address:1328, calculated kPa: 76.00; sensor voltage out: 0.69; DAC out: 565
EEPROM address:1332, calculated kPa: 77.00; sensor voltage out: 0.71; DAC out: 581
EEPROM address:1336, calculated kPa: 78.00; sensor voltage out: 0.73; DAC out: 598
EEPROM address:1340, calculated kPa: 79.00; sensor voltage out: 0.75; DAC out: 614
EEPROM address:1344, calculated kPa: 80.00; sensor voltage out: 0.77; DAC out: 630
EEPROM address:1348, calculated kPa: 81.00; sensor voltage out: 0.79; DAC out: 647
EEPROM address:1352, calculated kPa: 82.00; sensor voltage out: 0.81; DAC out: 663
EEPROM address:1356, calculated kPa: 83.00; sensor voltage out: 0.83; DAC out: 679
EEPROM address:1360, calculated kPa: 84.00; sensor voltage out: 0.85; DAC out: 696
EEPROM address:1364, calculated kPa: 85.00; sensor voltage out: 0.87; DAC out: 712
EEPROM address:1368, calculated kPa: 86.00; sensor voltage out: 0.89; DAC out: 729
EEPROM address:1372, calculated kPa: 87.00; sensor voltage out: 0.91; DAC out: 745
EEPROM address:1376, calculated kPa: 88.00; sensor voltage out: 0.93; DAC out: 761
EEPROM address:1380, calculated kPa: 89.00; sensor voltage out: 0.95; DAC out: 778
EEPROM address:1384, calculated kPa: 90.00; sensor voltage out: 0.97; DAC out: 794
EEPROM address:1388, calculated kPa: 91.00; sensor voltage out: 0.99; DAC out: 811
EEPROM address:1392, calculated kPa: 92.00; sensor voltage out: 1.01; DAC out: 827
EEPROM address:1396, calculated kPa: 93.00; sensor voltage out: 1.03; DAC out: 843
EEPROM address:1400, calculated kPa: 94.00; sensor voltage out: 1.05; DAC out: 860
EEPROM address:1404, calculated kPa: 95.00; sensor voltage out: 1.07; DAC out: 876
EEPROM address:1408, calculated kPa: 96.00; sensor voltage out: 1.09; DAC out: 892
EEPROM address:1412, calculated kPa: 97.00; sensor voltage out: 1.11; DAC out: 909
EEPROM address:1416, calculated kPa: 98.00; sensor voltage out: 1.13; DAC out: 925
EEPROM address:1420, calculated kPa: 99.00; sensor voltage out: 1.15; DAC out: 942
EEPROM address:1424, calculated kPa: 100.00; sensor voltage out: 1.17; DAC out: 958
EEPROM address:1428, calculated kPa: 101.00; sensor voltage out: 1.19; DAC out: 974
EEPROM address:1432, calculated kPa: 102.00; sensor voltage out: 1.21; DAC out: 991
EEPROM address:1436, calculated kPa: 103.00; sensor voltage out: 1.23; DAC out: 1007
EEPROM address:1440, calculated kPa: 104.00; sensor voltage out: 1.25; DAC out: 1024
EEPROM address:1444, calculated kPa: 105.00; sensor voltage out: 1.27; DAC out: 1040
EEPROM address:1448, calculated kPa: 106.00; sensor voltage out: 1.29; DAC out: 1056
EEPROM address:1452, calculated kPa: 107.00; sensor voltage out: 1.31; DAC out: 1073
EEPROM address:1456, calculated kPa: 108.00; sensor voltage out: 1.33; DAC out: 1089
EEPROM address:1460, calculated kPa: 109.00; sensor voltage out: 1.35; DAC out: 1105
EEPROM address:1464, calculated kPa: 110.00; sensor voltage out: 1.37; DAC out: 1122
EEPROM address:1468, calculated kPa: 111.00; sensor voltage out: 1.39; DAC out: 1138
EEPROM address:1472, calculated kPa: 112.00; sensor voltage out: 1.41; DAC out: 1155
EEPROM address:1476, calculated kPa: 113.00; sensor voltage out: 1.43; DAC out: 1171
EEPROM address:1480, calculated kPa: 114.00; sensor voltage out: 1.45; DAC out: 1187
EEPROM address:1484, calculated kPa: 115.00; sensor voltage out: 1.47; DAC out: 1204
EEPROM address:1488, calculated kPa: 116.00; sensor voltage out: 1.49; DAC out: 1220
EEPROM address:1492, calculated kPa: 117.00; sensor voltage out: 1.51; DAC out: 1236
EEPROM address:1496, calculated kPa: 118.00; sensor voltage out: 1.53; DAC out: 1253
EEPROM address:1500, calculated kPa: 119.00; sensor voltage out: 1.55; DAC out: 1269
EEPROM address:1504, calculated kPa: 120.00; sensor voltage out: 1.57; DAC out: 1286
EEPROM address:1508, calculated kPa: 121.00; sensor voltage out: 1.59; DAC out: 1302
EEPROM address:1512, calculated kPa: 122.00; sensor voltage out: 1.61; DAC out: 1318
EEPROM address:1516, calculated kPa: 123.00; sensor voltage out: 1.63; DAC out: 1335
EEPROM address:1520, calculated kPa: 124.00; sensor voltage out: 1.65; DAC out: 1351
EEPROM address:1524, calculated kPa: 125.00; sensor voltage out: 1.67; DAC out: 1368
EEPROM address:1528, calculated kPa: 126.00; sensor voltage out: 1.69; DAC out: 1384
EEPROM address:1532, calculated kPa: 127.00; sensor voltage out: 1.71; DAC out: 1400
EEPROM address:1536, calculated kPa: 128.00; sensor voltage out: 1.73; DAC out: 1417
EEPROM address:1540, calculated kPa: 129.00; sensor voltage out: 1.75; DAC out: 1433
EEPROM address:1544, calculated kPa: 130.00; sensor voltage out: 1.77; DAC out: 1449
EEPROM address:1548, calculated kPa: 131.00; sensor voltage out: 1.79; DAC out: 1466
EEPROM address:1552, calculated kPa: 132.00; sensor voltage out: 1.81; DAC out: 1482
EEPROM address:1556, calculated kPa: 133.00; sensor voltage out: 1.83; DAC out: 1499
EEPROM address:1560, calculated kPa: 134.00; sensor voltage out: 1.85; DAC out: 1515
EEPROM address:1564, calculated kPa: 135.00; sensor voltage out: 1.87; DAC out: 1531
EEPROM address:1568, calculated kPa: 136.00; sensor voltage out: 1.89; DAC out: 1548
EEPROM address:1572, calculated kPa: 137.00; sensor voltage out: 1.91; DAC out: 1564
EEPROM address:1576, calculated kPa: 138.00; sensor voltage out: 1.93; DAC out: 1581
EEPROM address:1580, calculated kPa: 139.00; sensor voltage out: 1.95; DAC out: 1597
EEPROM address:1584, calculated kPa: 140.00; sensor voltage out: 1.97; DAC out: 1613
EEPROM address:1588, calculated kPa: 141.00; sensor voltage out: 1.99; DAC out: 1630
EEPROM address:1592, calculated kPa: 142.00; sensor voltage out: 2.01; DAC out: 1646
EEPROM address:1596, calculated kPa: 143.00; sensor voltage out: 2.03; DAC out: 1662
EEPROM address:1600, calculated kPa: 144.00; sensor voltage out: 2.05; DAC out: 1679
EEPROM address:1604, calculated kPa: 145.00; sensor voltage out: 2.07; DAC out: 1695
EEPROM address:1608, calculated kPa: 146.00; sensor voltage out: 2.09; DAC out: 1712
EEPROM address:1612, calculated kPa: 147.00; sensor voltage out: 2.11; DAC out: 1728
EEPROM address:1616, calculated kPa: 148.00; sensor voltage out: 2.13; DAC out: 1744
EEPROM address:1620, calculated kPa: 149.00; sensor voltage out: 2.15; DAC out: 1761
EEPROM address:1624, calculated kPa: 150.00; sensor voltage out: 2.17; DAC out: 1777
EEPROM address:1628, calculated kPa: 151.00; sensor voltage out: 2.19; DAC out: 1794
EEPROM address:1632, calculated kPa: 152.00; sensor voltage out: 2.21; DAC out: 1810
EEPROM address:1636, calculated kPa: 153.00; sensor voltage out: 2.23; DAC out: 1826
EEPROM address:1640, calculated kPa: 154.00; sensor voltage out: 2.25; DAC out: 1843
EEPROM address:1644, calculated kPa: 155.00; sensor voltage out: 2.27; DAC out: 1859
EEPROM address:1648, calculated kPa: 156.00; sensor voltage out: 2.29; DAC out: 1875
EEPROM address:1652, calculated kPa: 157.00; sensor voltage out: 2.31; DAC out: 1892
EEPROM address:1656, calculated kPa: 158.00; sensor voltage out: 2.33; DAC out: 1908
EEPROM address:1660, calculated kPa: 159.00; sensor voltage out: 2.35; DAC out: 1925
EEPROM address:1664, calculated kPa: 160.00; sensor voltage out: 2.37; DAC out: 1941
EEPROM address:1668, calculated kPa: 161.00; sensor voltage out: 2.39; DAC out: 1957
EEPROM address:1672, calculated kPa: 162.00; sensor voltage out: 2.41; DAC out: 1974
EEPROM address:1676, calculated kPa: 163.00; sensor voltage out: 2.43; DAC out: 1990
EEPROM address:1680, calculated kPa: 164.00; sensor voltage out: 2.45; DAC out: 2007
EEPROM address:1684, calculated kPa: 165.00; sensor voltage out: 2.47; DAC out: 2023
EEPROM address:1688, calculated kPa: 166.00; sensor voltage out: 2.49; DAC out: 2039
EEPROM address:1692, calculated kPa: 167.00; sensor voltage out: 2.51; DAC out: 2056
EEPROM address:1696, calculated kPa: 168.00; sensor voltage out: 2.53; DAC out: 2072
EEPROM address:1700, calculated kPa: 169.00; sensor voltage out: 2.55; DAC out: 2088
EEPROM address:1704, calculated kPa: 170.00; sensor voltage out: 2.57; DAC out: 2105
EEPROM address:1708, calculated kPa: 171.00; sensor voltage out: 2.59; DAC out: 2121
EEPROM address:1712, calculated kPa: 172.00; sensor voltage out: 2.61; DAC out: 2138
EEPROM address:1716, calculated kPa: 173.00; sensor voltage out: 2.63; DAC out: 2154
EEPROM address:1720, calculated kPa: 174.00; sensor voltage out: 2.65; DAC out: 2170
EEPROM address:1724, calculated kPa: 175.00; sensor voltage out: 2.67; DAC out: 2187
EEPROM address:1728, calculated kPa: 176.00; sensor voltage out: 2.69; DAC out: 2203
EEPROM address:1732, calculated kPa: 177.00; sensor voltage out: 2.71; DAC out: 2220
EEPROM address:1736, calculated kPa: 178.00; sensor voltage out: 2.73; DAC out: 2236
EEPROM address:1740, calculated kPa: 179.00; sensor voltage out: 2.75; DAC out: 2252
EEPROM address:1744, calculated kPa: 180.00; sensor voltage out: 2.77; DAC out: 2269
EEPROM address:1748, calculated kPa: 181.00; sensor voltage out: 2.79; DAC out: 2285
EEPROM address:1752, calculated kPa: 182.00; sensor voltage out: 2.81; DAC out: 2301
EEPROM address:1756, calculated kPa: 183.00; sensor voltage out: 2.83; DAC out: 2318
EEPROM address:1760, calculated kPa: 184.00; sensor voltage out: 2.85; DAC out: 2334
EEPROM address:1764, calculated kPa: 185.00; sensor voltage out: 2.87; DAC out: 2351
EEPROM address:1768, calculated kPa: 186.00; sensor voltage out: 2.89; DAC out: 2367
EEPROM address:1772, calculated kPa: 187.00; sensor voltage out: 2.91; DAC out: 2383
EEPROM address:1776, calculated kPa: 188.00; sensor voltage out: 2.93; DAC out: 2400
EEPROM address:1780, calculated kPa: 189.00; sensor voltage out: 2.95; DAC out: 2416
EEPROM address:1784, calculated kPa: 190.00; sensor voltage out: 2.97; DAC out: 2433
EEPROM address:1788, calculated kPa: 191.00; sensor voltage out: 2.99; DAC out: 2449
EEPROM address:1792, calculated kPa: 192.00; sensor voltage out: 3.01; DAC out: 2465
EEPROM address:1796, calculated kPa: 193.00; sensor voltage out: 3.03; DAC out: 2482
EEPROM address:1800, calculated kPa: 194.00; sensor voltage out: 3.05; DAC out: 2498
EEPROM address:1804, calculated kPa: 195.00; sensor voltage out: 3.07; DAC out: 2514
EEPROM address:1808, calculated kPa: 196.00; sensor voltage out: 3.09; DAC out: 2531
EEPROM address:1812, calculated kPa: 197.00; sensor voltage out: 3.11; DAC out: 2547
EEPROM address:1816, calculated kPa: 198.00; sensor voltage out: 3.13; DAC out: 2564
EEPROM address:1820, calculated kPa: 199.00; sensor voltage out: 3.15; DAC out: 2580
EEPROM address:1824, calculated kPa: 200.00; sensor voltage out: 3.17; DAC out: 2596
EEPROM address:1828, calculated kPa: 201.00; sensor voltage out: 3.19; DAC out: 2613
EEPROM address:1832, calculated kPa: 202.00; sensor voltage out: 3.21; DAC out: 2629
EEPROM address:1836, calculated kPa: 203.00; sensor voltage out: 3.23; DAC out: 2646
EEPROM address:1840, calculated kPa: 204.00; sensor voltage out: 3.25; DAC out: 2662
EEPROM address:1844, calculated kPa: 205.00; sensor voltage out: 3.27; DAC out: 2678
EEPROM address:1848, calculated kPa: 206.00; sensor voltage out: 3.29; DAC out: 2695
EEPROM address:1852, calculated kPa: 207.00; sensor voltage out: 3.31; DAC out: 2711
EEPROM address:1856, calculated kPa: 208.00; sensor voltage out: 3.33; DAC out: 2727
EEPROM address:1860, calculated kPa: 209.00; sensor voltage out: 3.35; DAC out: 2744
EEPROM address:1864, calculated kPa: 210.00; sensor voltage out: 3.37; DAC out: 2760
EEPROM address:1868, calculated kPa: 211.00; sensor voltage out: 3.39; DAC out: 2777
EEPROM address:1872, calculated kPa: 212.00; sensor voltage out: 3.41; DAC out: 2793
EEPROM address:1876, calculated kPa: 213.00; sensor voltage out: 3.43; DAC out: 2809
EEPROM address:1880, calculated kPa: 214.00; sensor voltage out: 3.45; DAC out: 2826
EEPROM address:1884, calculated kPa: 215.00; sensor voltage out: 3.47; DAC out: 2842
EEPROM address:1888, calculated kPa: 216.00; sensor voltage out: 3.49; DAC out: 2859
EEPROM address:1892, calculated kPa: 217.00; sensor voltage out: 3.51; DAC out: 2875
EEPROM address:1896, calculated kPa: 218.00; sensor voltage out: 3.53; DAC out: 2891
EEPROM address:1900, calculated kPa: 219.00; sensor voltage out: 3.55; DAC out: 2908
EEPROM address:1904, calculated kPa: 220.00; sensor voltage out: 3.57; DAC out: 2924
EEPROM address:1908, calculated kPa: 221.00; sensor voltage out: 3.59; DAC out: 2940
EEPROM address:1912, calculated kPa: 222.00; sensor voltage out: 3.61; DAC out: 2957
EEPROM address:1916, calculated kPa: 223.00; sensor voltage out: 3.63; DAC out: 2973
EEPROM address:1920, calculated kPa: 224.00; sensor voltage out: 3.65; DAC out: 2990
EEPROM address:1924, calculated kPa: 225.00; sensor voltage out: 3.67; DAC out: 3006
EEPROM address:1928, calculated kPa: 226.00; sensor voltage out: 3.69; DAC out: 3022
EEPROM address:1932, calculated kPa: 227.00; sensor voltage out: 3.71; DAC out: 3039
EEPROM address:1936, calculated kPa: 228.00; sensor voltage out: 3.73; DAC out: 3055
EEPROM address:1940, calculated kPa: 229.00; sensor voltage out: 3.75; DAC out: 3072
EEPROM address:1944, calculated kPa: 230.00; sensor voltage out: 3.77; DAC out: 3088
EEPROM address:1948, calculated kPa: 231.00; sensor voltage out: 3.79; DAC out: 3104
EEPROM address:1952, calculated kPa: 232.00; sensor voltage out: 3.81; DAC out: 3121
EEPROM address:1956, calculated kPa: 233.00; sensor voltage out: 3.83; DAC out: 3137
EEPROM address:1960, calculated kPa: 234.00; sensor voltage out: 3.85; DAC out: 3153
EEPROM address:1964, calculated kPa: 235.00; sensor voltage out: 3.87; DAC out: 3170
EEPROM address:1968, calculated kPa: 236.00; sensor voltage out: 3.89; DAC out: 3186
EEPROM address:1972, calculated kPa: 237.00; sensor voltage out: 3.91; DAC out: 3203
EEPROM address:1976, calculated kPa: 238.00; sensor voltage out: 3.93; DAC out: 3219
EEPROM address:1980, calculated kPa: 239.00; sensor voltage out: 3.95; DAC out: 3235
EEPROM address:1984, calculated kPa: 240.00; sensor voltage out: 3.97; DAC out: 3252
EEPROM address:1988, calculated kPa: 241.00; sensor voltage out: 3.99; DAC out: 3268
EEPROM address:1992, calculated kPa: 242.00; sensor voltage out: 4.01; DAC out: 3284
EEPROM address:1996, calculated kPa: 243.00; sensor voltage out: 4.03; DAC out: 3301
EEPROM address:2000, calculated kPa: 244.00; sensor voltage out: 4.05; DAC out: 3317
EEPROM address:2004, calculated kPa: 245.00; sensor voltage out: 4.07; DAC out: 3334
EEPROM address:2008, calculated kPa: 246.00; sensor voltage out: 4.09; DAC out: 3350
EEPROM address:2012, calculated kPa: 247.00; sensor voltage out: 4.11; DAC out: 3366
EEPROM address:2016, calculated kPa: 248.00; sensor voltage out: 4.13; DAC out: 3383
EEPROM address:2020, calculated kPa: 249.00; sensor voltage out: 4.15; DAC out: 3399
EEPROM address:2024, calculated kPa: 250.00; sensor voltage out: 4.17; DAC out: 3416
EEPROM address:2028, calculated kPa: 251.00; sensor voltage out: 4.19; DAC out: 3432
EEPROM address:2032, calculated kPa: 252.00; sensor voltage out: 4.21; DAC out: 3448
EEPROM address:2036, calculated kPa: 253.00; sensor voltage out: 4.23; DAC out: 3465
EEPROM address:2040, calculated kPa: 254.00; sensor voltage out: 4.25; DAC out: 3481
EEPROM address:2044, calculated kPa: 255.00; sensor voltage out: 4.27; DAC out: 3497

Initial calibration complete.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Sep 02, 2013 2:32 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Loading the data to the eeprom only took a few milliseconds; outputting data to serial terminal took around 12 seconds. :(

Fortunately, that's because the device I used has a max 9600 baud transmit rate. The final device won't have that limitation and is more in line with USB hi-speed rates.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Thu Sep 19, 2013 3:25 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
I don't know if anyone noticed but we're pre-programming the DAC to limit the output voltage to be between the rails. The MPX4920A saturates at 20 & 240kPA, which correlate to 0.2v and 4.9v respectively, including +/- error, so the outputs are constrained similarly, though we've chosen 0.1v and 4.9v for the moment... and might push the top end to 5.0v. Reminder: this is the default configuration, presets based on my motorcycle; other vehicles may need something different so the tuning software will allow outputs to be edited and the edits may allow a sensor to output an invalid value but in no way can the output be below ground or exceed the supply voltage without intentional modification to the circuitry.


This gives us some headroom to implement fault detection where we could either take the DAC output to 0v or disable the DAC output which should trip ECU sensor open and short detection error modes and cause limp modes.


The MPX4920A sensor has an approximate settling time of 1ms. The DAC updates within 5 microseconds after receiving data. Accessing the eeprom for reads is similarly fast; writes are another story though so live editing may not be possible in the initial version.

We're looking into a more appropriate MCU, at least with regards to requiring external storage / eeprom and providing a native USB interface to the PC. The intent is to have a 'working set' in SRAM and a 'permanent set' in flash so we can update the working set 'live' and then commit changes to SRAM to FLASH when the tune is acceptable since SRAM can be updated near instantaneously but FLASH has a few extra cycles for the erase and program parts.

The 'new' MCU has 8K SRAM vs. the 512B the original has. Trying to do live on the original MCU would be a complex ballet of swapping things around and could adversely impact performance. So now, we should be able to DMA transfer from UART to SRAM and go- the unit would get the new values as fast as they can be sent and run with it. And if there's a problem with the new values requiring immediate shut down- just kill it. The unit will load the values from FLASH the next time it starts up, and provided the user didn't commit the bad values to FLASH, those bad values will be gone.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Oct 15, 2013 10:48 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Just a small update- this isn't dead. ;)

We're looking at using an MSP430F5529 for the MCU as it has built-in USB PHY support, 12 bit analog to digital conversion (the previous MCU I was considering was 10 bit), has 128KB flash and 10KB SRAM (8K + 2K for USB buffering), a bunch of GPIO, built-in 'watch dog' and can run up to 25 MHz- much faster than the my bike's ECU runs. At 8 MHz, it draws less than 300 micro-Amperes so is quite power-friendly.

In all actuality, this little chip could probably "entirely" replace the ECU of many 80's/90's vehicles' EFI systems, with power to spare.

The 'plan' is using this as a jumping-off point for development; can't complain much as this kit is less than $15 USD. It provides most everything needed with the exception of the MAP sensor and DAC output- those would be a daughter card, or as TI calls them, "Booster Pack". The BP would mount below that kit so as to allow access to the buttons- particularly "RST" and "BSL" as those are 'reset' and 'bootstrap loader', and the latter would provide an easy way to update the firmware.

So, get something working, duplicate the circuitry and make a stand-alone.

I have some electrical issues to sort through, such as if the unit is connected to USB how does the ECU give power to the system simultaneously among other small issues.

Ideally, the unit would be operating under its own power and thus completely isolated from a computer attached to it, but it's a possibility that the vehicle may be on a battery tender or similar and thus may share a common power source and ground with the computer and this may introduce ground loop issues and possible over-voltage problems.



But anyhow, that's were I am with this.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Nov 04, 2013 7:18 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Here is the little experimenters board I'm working around. This board may or may not be part of the final product, but the MCU itself will be. I like the proposition of using this as it provides for USB out of the box but am not a fan of using headers to connect boards together so I might remove the headers and use something more permanent to mate boards together... vibration being what it could be.

I might add a BMP085 or similar for barometric measurement since I don't like the idea of 'sample and hold' the MAP sensor prior to the engine running since that would mean a unit providing barometric would need periodic power cycling if elevation changes significantly.

Attachment:
MAPBP_1.jpg
MAPBP_1.jpg [ 367.44 KiB | Viewed 17142 times ]


By the way, this is meant to mount below the above mentioned kit.
Also, Eagle board and schematic attached in the zip file.


Attachments:
CX_Single.zip [86.35 KiB]
Downloaded 366 times

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.
Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Nov 04, 2013 10:51 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:45 am
Posts: 729
Location: PA, USA
abecedarian wrote:

I might add a BMP085 or similar for barometric measurement since I don't like the idea of 'sample and hold' the MAP sensor prior to the engine running since that would mean a unit providing barometric would need periodic power cycling if elevation changes significantly.
.


Yes, sample and hold is one of the worse ideas ever to enter the ECU world...which is of course why whether or not a barometric sense reading is provided O5E doesn't do that :)


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Fri Nov 08, 2013 1:05 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
mk e wrote:
abecedarian wrote:

I might add a BMP085 or similar for barometric measurement since I don't like the idea of 'sample and hold' the MAP sensor prior to the engine running since that would mean a unit providing barometric would need periodic power cycling if elevation changes significantly.
.


Yes, sample and hold is one of the worse ideas ever to enter the ECU world...which is of course why whether or not a barometric sense reading is provided O5E doesn't do that :)
I understand that completely.
It is still baffling to me and others why Honda would provide a sensor ported to the duct next to the air filter, and even rather subtle changes in elevation on the order of a few thousand feet would result in ECU faults which would be cleared with a power cycle.

I will admit this thing I'm doing is a product looking for a market.

On the up side, I have plenty of room on the board to add a baro sensor.
On the down side, I have to figure out how to implement it in the firmware.

And again, on the up side, I'm able to pull 2 ADC conversions, perform boundary checks and do two lookup table references within 240 microseconds.

Recent tests on a breadboard show I'm able to achieve better than +/- 0.08v accuracy using the tables I have. At most, a calculated 'index' to the tables drifts 1-2 cells up or down, and that doesn't drift outside of the ECU's allowable margin of error, and is actually much better- ECU / factory permits +/- 0.20v deviation.

Considering the advances in ADC sampling and such, I'm actually considering bringing all of the sensors into the unit where I can provide 12 bit sampling and output conversion.

Yes, my delusions of grandeur run rampant, but if it weren't for the silver linings around the clouds, why look to the sky? ;)

And with that, I go back to my corner doing 'over here' things. :D

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Mon Nov 11, 2013 7:55 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
For those afraid to click, here's an image of the little dev board:
Image

Some of its features:
- built in USB support: out of the box, this is routed through an on board USB hub and exposed to a computer as a serial device. It can also be accessed through the headers.
- support for mass storage class, human interface device and communications device class: out of the box, the demo software enumerates as a flash storage drive and keyboard.
- 12 bit SAR ADC
- on board debugger / programmer which can program / debug most any MSP430 chip which exposes and uses Spy By Wire (SBW) for its programming interface.



There is intent for this project to graduate from a dev kit / expansion board to a single board unit, but I want to get the kinks worked out first.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Tue Nov 12, 2013 2:53 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Though I'm using Energia, an Arduino IDE fork, for those playing with Arduino, this should be relatively easy to adapt.

Information available in the sketch.

Code:
/****************************************************************
 *                                                              *
 *          Manifold Absolute Pressure Sensor Emulator          *
 *              Reads 1 sensor and gives 2 outputs              *
 *                                                              *
 *         Texas Instruments' MSP-EXP430F5529 LaunchPad         *
 *           http://www.ti.com/tool/msp-exp430f5529lp           *
 *                                                              * 
 *        Microchip MPCP4922 Digital to Analog Converter        *
 *  http://ww1.microchip.com/downloads/en/DeviceDoc/22250A.pdf  *
 *                                                              *
 *     Arduino library AH_MCP492x for DAC control over SPI      *
 *         http://www.alhin.de/arduino/index.php?n=8            *
 *                                                              *
 *   * This is in development and specifications may change *   *
 *                  Completely open source.                     *
 *               Do what thou will if it harms                  *
 *            none shall be the whole of the law.               *
 *                                                              *
 ****************************************************************/

#include <AH_MCP4922.h>

/* Constructors take the following parameters:
 * SDI/MOSI pin
 * SCK/SCLK pin
 * CS pin
 * DAC selection:
 * - LOW = DACA, HIGH = DACB
 * GAIN selection:
 * - HIGH = 1x, LOW = 2x
 *
 * Note: in the circuit I'm using, 4922 pins are:
 * 1 = Vdd (5v0)
 * 2 - NC
 * 3 - CS(0) on LaunchPad (Pin 8 / P2.7))
 * 4 - SCK (0) on LaunchPad (Pin 7 / P3_2)
 * 5 - MOSI (0) on LaunchPad (Pin 15 / P3_0)
 * 6,7 - NC
 * 8 - !LDAC pin is wired to GND to support immediate updates
 * 9 - !SHDN pin is wired to 5v0 to inhibit shut down
 * 10 - VoutB - no connection / checked with multimeter
 * 11 - VREFB - Vdd (5v0)
 * 12 - Vss (GND)
 * 13 - VREFA - Vdd (5v0)
 * 14 - VoutA - no connection / checked with multimeter
 */

// define DACA for UCB0, DAC_A, Gain=1x
AH_MCP4922 DACA(P3_0,P3_2,P2_7,LOW,HIGH);

// define DACB for UCB0, DAC_B, Gain=1x
AH_MCP4922 DACB(P3_0,P3_2,P2_7,HIGH,HIGH);   


// allocate look up tables and miscellaneous variables
// MPX and REF variables are initialized to other than
// zero: set to calculated values at sea level to help
// minimize error when the device starts up

unsigned int mapOutA[256];                              // MAP lookup table A
unsigned int mapOutB[256];                              // MAP lookup table B
unsigned int MPX = 0;                                   // Result from ADC for MAP
unsigned int REF = 0;                                   // Result from ADC for Reference
unsigned int index = 0;                                 // used for generic indexing
unsigned int indexA = 1024;                             // used for array A old index
unsigned int indexB = 1024;                             // used for array B old index


void setup(){
  Serial.begin(115200);                                 // Initialize Serial over LP USB back-channel
  pinMode(GREEN_LED, OUTPUT);                           // initialize GREEN LED for status indicator
  pinMode(RED_LED, OUTPUT);                             // initialize RED LED for status indicator 
  digitalWrite(GREEN_LED, HIGH);                        // turn GREEN LED on to indicate power
  digitalWrite(RED_LED, LOW);                           // RED LED off- will indicate 'activity'
  analogReference(DEFAULT);                             // Use internal 3V3 for analog reference
  DACA.setValue(2864);                                  // Bring DACA up midscale output
  DACB.setValue(958);                                   // Bring DACB up midscale output
  configArray(false,false);

}


void loop(){                             
  getIndex(false);
  if (abs(mapOutA[index] - mapOutA[indexA])>50){        // A table check for amount of change
    setDacA(true);
  }
  if (abs(mapOutB[index] - mapOutB[indexB])>35){        // B table check for amount of change
    setDacB(true);
  }
}


/* user defined functions below */


void configArray(boolean debug, boolean detail) {
  if (debug) {
    Serial.println("Starting....");                       // Simple terminal broadcast status update

    Serial.println("Configuring arrays.");                // Status update
  }
  for (int i = 0; i<256; i++){                          // Populating MAP output tables
    digitalWrite(RED_LED, HIGH);                        // Visual status indicator something's up
    mapOutA[i] = (constrain((0.036 * i) - 0.103, 0.10, 4.85) * 100) / 500 * 4095;
    mapOutB[i] = (constrain((0.020 * i) - 0.830, 0.10, 4.85) * 100) / 500 * 4095;
    if (debug) {
      if (detail) {
        Serial.print("Index ");
        Serial.print(i);
        Serial.print(". A=");
        Serial.print(mapOutA[i]);
        Serial.print(". B=");
        Serial.print(mapOutB[i]);
        Serial.println(".");
      }
      else
      {
        Serial.print(i);
        Serial.print(mapOutA[i]);
        Serial.println(mapOutB[i]);
      }
    }
    digitalWrite(RED_LED, LOW);
    if ((debug) && !(detail)) {
      Serial.println("Array's configured. Entering main program.");
      delay(500);
    }
  }
}

void getIndex(boolean debug){ 
  MPX = ((MPX + analogRead(A5)) / 2);                   // read MAP sensor and 'smooth'
  REF = ((REF + analogRead(A6)) / 2);                   // read REF voltage and 'smooth'
  if (MPX > REF){                                       // boundary check: jitter may
    MPX = REF;                                          // cause MAP to read above REF
  }                                                     // so constrain that.

  index = map(MPX, 0, REF, 0, 255);                     // calculate current tables' index

  if (debug) {
    Serial.print("Index ");
    Serial.print(index);
    Serial.print(". MAP=");
    Serial.print(MPX);
    Serial.print(". REF=");
    Serial.print(REF);
    Serial.println(".");
  }
}

void setDacA (boolean debug) {
  digitalWrite(RED_LED, HIGH);                        // if so light the red led and
  DACA.setValue(mapOutA[index]);                      // update DACA with the new value

  if (debug) {
    Serial.print("Index = ");
    Serial.print(index);
    Serial.print(" A= ");
    Serial.print(mapOutA[index]);
    Serial.print(" = ");
    Serial.println(mapOutA[index] * 5.00 / 4095);       // debug write value to terminals */
  }

  indexA = index;                                     // store index for future use
  digitalWrite(RED_LED,LOW);                          // turn the LED off
}

void setDacB (boolean debug) {
  digitalWrite(RED_LED, HIGH);                        // if so light the red led and
  DACB.setValue(mapOutB[index]);                      // update DACB with the new value

  if (debug) {
    Serial.print("Index = ");
    Serial.print(index);
    Serial.print(" B= ");
    Serial.print(mapOutB[index]);
    Serial.print(" = ");
    Serial.println(mapOutB[index] * 5.00 / 4095);       // debug write values to terminal */
  }

  indexB = index;                                     // store the index for future use
  digitalWrite(RED_LED,LOW);                          // turn the LED off
}

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Wed Nov 13, 2013 12:39 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Another little update....
I've dropped an MPX4250 on the breadboard and am sampling that now.

Measured output from the DAC matches calculated values within +/- 0.01v and fluctuates with variations of pressure / vacuum. :)

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Sun Dec 01, 2013 11:37 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Recent testing using the unit's built in timers has shown the unit is able to process at least 16K samples per second... about what I expect since it's bit-banging SPI to the DAC instead of utilizing the MCU's built-in SPI peripheral and DMA transfers. This will be investigated but I also want to add a baro sensor: the unit has two SPI / I2C capable peripherals but Energia only lets me address one so I am waiting for those Devs to bake in support.

I'm also questioning the necessity of an op-amp / buffer on the output to the ECU. I'm powering the unit from the ECU so do I really need to buffer the output? I can see that being required if the ECU or other device draws more than 25mA from the device for each output- the limit on the DAC.

I've got the unit responding to simple commands via USB serial @ 115200 baud to facilitate data-logging and tuning, though this has been removed from my current firmware, which I haven't released so I'm talking out my ... .

I'm working on how to receive and commit changes to the tables to the unit's Flash memory as well as a bootstrap loader for applying firmware updates in an 'easy' manner.

Future tests will eventually involve OEM/COTS MAP sensors, but for now I'll be looking at doing conversions live, with the lookup tables being used as an offset / deviation from the conversion instead of representing the output directly.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Sun Dec 22, 2013 2:49 am 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Current 'prototype' design is still an add-on board for an experimenter's board based on the TI MSP430F5529. Nice chip, I've mentioned before so I'll skip that ceremony. ;)
Later revisions may

Design includes the aforementioned MPX4250AP and MPC4922 12bit, dual-channel, DAC, but is also provisioned to support a BMP085 module which, as of now, is a common eBay part.

Firmware for this is not available yet but the intent for the expansion board is:
- 5v interface to external devices such as ECU;
- one or two outputs with better than 0.01v accuracy;
- outputs updated at least every 10ms;
- optional 'inexpensive' barometric sensor sampled approximately every 10 seconds;
- live monitoring / tuning.

The last one might be a point of contention unless I can figure out a way to run and tune then return to idle to commit.

Latest "Eagle" drawings:
Attachment:
MAP_Translator.zip [92.66 KiB]
Downloaded 345 times
Attachment:
MAP-DEC212013.jpg
MAP-DEC212013.jpg [ 382.63 KiB | Viewed 16708 times ]


External connections are on the upper right side:
1 is Out1
2 is Out2
3 & 4 are 5v0 from ECU
5 & 6 are ground from ECU

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Sat Dec 28, 2013 10:29 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Someone suggested the MCU sample the output voltages to verify accuracy. This turns it into a PID controller, it seems, and will likely change how lookup data is stored and interpreted.

Board itself is ~ 5cm x 5cm; MCU parent board is slightly wider and about 3" long.

So, here's the board set up to sample the outputs:
Attachment:
MAP-DEC282013-BRD.jpg
MAP-DEC282013-BRD.jpg [ 107.57 KiB | Viewed 16628 times ]

Attachment:
MAP-DEC282013-SCH.jpg
MAP-DEC282013-SCH.jpg [ 112.03 KiB | Viewed 16628 times ]


Should probably also mention the plug pins have changed:
1= OUT A
2= OUT B
3, 4 = GND
5, 6 = 5v from ECU.

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
 Post subject: Re: MAP sensor emulator... of sorts
PostPosted: Thu Jan 09, 2014 7:09 pm 
Offline
User avatar

Joined: Sat May 11, 2013 9:52 am
Posts: 304
Location: Over here, doing 'over here' things.
Getting a new toy to play with:
Image
Dual core / lockstep ARM R4 processor, 384KB + 16KB flash + 32KB SRAM ECC memory, 12 bit ADC, eQEP (quadrature) module, two CAN interfaces, LIN interface.

Much more appropriate for this project than the other MCU.
Appropriate for an ECU / controller actually; might give the 5634M a run for the money. ;)

_________________
/me goes off to the corner feeling like Jerry Springer with a mullet.

My O5E candidate: 1982 Honda CX500TC motorcycle.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 41 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Theme designed by stylerbb.net © 2008
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All times are UTC - 5 hours [ DST ]