ETPU Spark Function Accuracy Problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ETPU Spark Function Accuracy Problem

Jump to solution
933 Views
turgay_kale
Contributor III

Hello,

I am working with MPC5644A/SPC5644A MCU and the spark function of NXP's engine control library. The problem is that, I can not maintain the spark end angle and dwell time correctly (as below, I am expecting a zero value spark end angle). Are these effects normal or something is wrong in spark function of NXP's engine control library ? Would you please share your suggestion for that problem?   

I am building sw for 2-stroke engine (thus engine cycle is 360 degree) with 35-1 crank teeth. My engine system configuration is as below;

pastedImage_4.png

API configuration for spark function is as below (I am not using multi pulses);

pastedImage_1.png

I also checked the pre-compiled etpu set in the new etpu function selector utility as below, and the effect was the same. 

https://www.nxp.com/webapp/etpu_cw/

Outputs for crank (in green) and spark (in yellow) signals are as below;

pastedImage_7.png

pastedImage_1.png

pastedImage_1.png

Thank you for your help !

Regards,

Turgay Kale

Labels (1)
1 Solution
697 Views
turgay_kale
Contributor III

Mikail merhaba,

Thank you for your help. I checked your suggestion its correct with a minor mistake. Positive values precede the TDC, negative go after TDC, therefore -340 or 20 degree end angle sets correct. My mistake was that I was testing the crank and spark functions with very high RPM value (ex. 40000). When I checked the software with the real upper limit RPM, the spark output is fine as I expected. Thank you again for your help.

tsSingleSparkConfig g_sSingleSparkConfig1 =

{

DEG2TRC2(20), //spark end angle: positive values precede the TDC, negative go after TDC

....

....

};

Regards,

Turgay

View solution in original post

0 Kudos
2 Replies
697 Views
mikailaltintas
Contributor III

Hi Turgay,

I think problem is about setting end angle. Last teeth before gap is not equal to ange of 0. Angle of this point is 360/36 *34 = 340.

Angle of 0 is first falling edge after gap. You can see this at https://www.nxp.com/docs/en/application-note/AN4907.pdf  document on page 5. 

If you change spark configuration as

tsSingleSparkConfig g_sSingleSparkConfig1 =

{

DEG2TRC2(340), //end angle

....

....

};

Problem will solve. Spark will work as you expected.

698 Views
turgay_kale
Contributor III

Mikail merhaba,

Thank you for your help. I checked your suggestion its correct with a minor mistake. Positive values precede the TDC, negative go after TDC, therefore -340 or 20 degree end angle sets correct. My mistake was that I was testing the crank and spark functions with very high RPM value (ex. 40000). When I checked the software with the real upper limit RPM, the spark output is fine as I expected. Thank you again for your help.

tsSingleSparkConfig g_sSingleSparkConfig1 =

{

DEG2TRC2(20), //spark end angle: positive values precede the TDC, negative go after TDC

....

....

};

Regards,

Turgay

0 Kudos