İlk değişiklik

Dört boyutlu haritanın şimdilik gereksiz olduğuna karar verdim. Çok fazla veri vardı ve CPU utilizasyonunu arttırıyordu. Ben de daha basit bir yol seçmeyi düşündüm. (Şimdilik 🙂 )

Kafamdaki tam olarak şu;

Öncelikle yakıt için 3 boyutlu bir haritadan verileri MAP ve RPM e dayalı olarak veriyi çekecek. Daha sonra kendi hesapladığı süre ile karşılaştırıp OEM ECU ‘larda olduğu gibi trimler kullanarak püskürtme süresini ayarlayacak.

Bunun için taslak scriptte şöyle bir değişikliğe gittim.

  • Öncelikle global değişkenler tanımlamam gerekti.

int XCount;
float LTFTrim;
float Total_Trim;

  • Bir sayıcı eklemek zorunda kaldım

Adından da anlaşılacağı üzere XCount değişkeni sayıcım. Beş kez STFT değeri yüksek çıkarsa LTFT değerini %5 arttırıyor/eksiltiyor.

  • Trim değerleri için karşılaştırma satırları eklendi.

if (STFTrim <= -20)
{
STFTrim = -20;
XCount = ++XCount;
if (XCount > 5)
{
XCount = 0;
LTFTrim = LTFTrim – 5;
if (LTFTrim <= – 20)
{
LTFTrim = -20;
}
}
}
if (STFTrim >= 20)
{
STFTrim = 20;
XCount = ++XCount;
if (XCount > 5)
{
XCount = 0;
LTFTrim = LTFTrim + 5;
if (LTFTrim >= 20)
{
LTFTrim = 20;
}
}
}

    Buna göre kısa vadeli düzeltme değerine göre %5 lik dilimler halinde kalıcı değişkenin değeri değişiyor. Her beş veri okumanın sonunda artış/eksilme yapılıyor. Her iki değer de %20 ile sınırlı. İleride buna hata kodu eklemeyi planlıyorum.

 

  • Son PWM değerini hesaplamak için eklentiler yaptım. Osilaskopta okuduğum duty-cycle değeri hesapladığımla birebir örtüşüyor. 🙂
  Total_Trim = LTFTrim + STFTrim;
Inj_Value = fuel_Value + Total_Trim;

  pwmvalue = map(Inj_Value, 0, 99, 0 ,255);

analogWrite(11, pwmvalue);

 

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s