ETPU Spark Function Accuracy Problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

ETPU Spark Function Accuracy Problem

跳至解决方案
1,202 次查看
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

标签 (1)
1 解答
966 次查看
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 项奖励
回复
2 回复数
966 次查看
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.

967 次查看
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 项奖励
回复