Imaj yaratma

Merhaba,

Hadi gelin PC imajı yaratalım. Bunu yaparken de Microsoft kaynaklarını kullanalım. Öyle yapalım ki SID ler değişsin. Aynı zamanda donanıma bağlı kalınmasın. Kolay ve olabildiğince hızlı yüklensin. Kısacası hem sağdan hem cam kenarı hem de en ön sıradan olsun. :))

Third party yazılım kullanarak disk görüntüsü alma işlemi yıllardır var. Bilgisayarınızı evde kullanacaksanız, domaine bağlanmıyorsanız ve/veya networkten çalışan bir programınız falan yoksa ofiste de bu yöntemi kullanmaya devam etmenizde sakınca yok aslında. Ancak aksi durum söz konusu ise uygulamalarınız çalışmayabilir. Önce SID in ne olduğu ile başlayalım.

SID (Security IDentifier) bilgisayarlara, kullanıcılara ve security gruplara verilen bir nevi kimlik numarasıdır. NT 4.0 den beri var olan SID, oluşturulan user-computer ve group’ları benzersiz olarak tanımlayan bir numaradır. Objeleri unique (eşsiz) kılar. SID, İşletim sistemi kurulurken oluşturulur. Domain’e üye yapılan her bir computer hesabının ayrı bir SID kaydı/bilgisi mevcuttur. Active directory de yaratılmış bir objeye izin ve/veya hak verildiğinde o objenin ismiyle yada tanımlamasıyla değil SID numarası ile ilişkilendirilir. Bilgisayarı domaine eklediğinizde, çıkardığınızda veya ismini değiştirdiğinizde SID değişmez. Kaba bir benzetme yapmak gerekirse işletim sisteminin MAC adresi gibi bir şey kısacası.

 Peki bunların imaj ile ne alakası var? Bilgisayarın disk imajını klonladığınızda SID i de klonladığınız için unique olması gerektiği halde birden fazla makine aynı SID e sahip olduğundan domain e eklendiğinde sorun yaşarmanız kaçınılmazdır. Ama bu bizi durduramaz değil mi? 🙂

Yukarıda yazdığım sorunun önüne geçebilmek için Microsoft un toolları var. 2003 server zamanında bunları eklenti olarak alabiliyorduk ancak 2008 den itibaren entegre olarak geliyor. İstemci bilgisayarında da benzer durum mevcut. Evet sysprep ten bahsediyorum. 😉

İşletim sistemini kurdunuz, kullanmak istediğiniz programları yüklediniz, hatta Windows un özelliklerini de tek tek ayarladınız. Sadece imajın yedeğini almak istiyorsanız, işiniz kolay. Acronis poweriso vs vs bir sürü imaj programı var. Bunlardan birini kullanabilirsiniz. Ancak eğer domain e ekli bir bilgisayarsa o imajı sadece tek bilgisayarda kullanabilirsiniz. Amacınız o imajı birden fazla bilgisayara kurup yüklemeyi kısaltmaksa o zaman yapmanız gerek işler var demektir. İşte bu yazı bununla alakalı. İsterseniz öncelikle ihtiyaçlarımızı belirleyelim.

1- Bilgisayarlarımız domaine bağlı olacak. Dolayısı ile her bilgisayarın benzersiz SID i olması lazım.

2- Çeşitli marka ve modellerde bilgisayarlarımız var. Her birinin driverlarını tek tek yüklemek istemiyoruz. Tümü için tek imaj kullanılmalı.

3- Malum işletim sistemi release edildiği gibi durmuyor. Microsoft gerek patch gerekse servicepack ler ile sürekli bir şeyleri güncelliyor. Bizim kullandığımız bilgisayarlarda tümünün yüklenmesi gerekli olmayabilir ya da sorun yaşamamıza neden olabilir. Yüklenecek paketleri seçmemiz gerekebilir. Her yeni yüklenen bilgisayarda bunları tek tek yapmak ya da network üzerinden güncellemek de çözüm ama hem pratik değil hem de gereksiz iş yükü. Bunları imaja ekleyelim.

4- Kullandığımız bilgisayarlara yüklediğimiz belli programlar var. Hepsine tek tek yüklemek istemiyoruz. Bunlar yüklü gelirse zaman kazanırız.

5- Kullanıcıların kısayolları desktop görüntüleri vs herkeste aynı olsun istiyoruz. Bunu DC den de yapabiliriz ancak ilk yüklemede de hazır gelebilir.

vs vs vs. Daha uzar bu liste ama bu kadarı da yeterli şimdilik.

İşte bu gibi durumlarda işimizi kolaylaştırması için microsoft sysprep yardımcısını çıkarttı. Bu ne yapıyor? bilgisayar kurulduktan sonra kullanıcı hesapları ve SID gibi PC ye tanımlanan veri ve dosyaları silip başa sarıyor. Bir nevi reenkarnasyon ancak bun yaparken yaptığımız güncellemeler, Windows bileşenlerindeli özelleştirmeler ve yüklediğimiz programları vs silmiyor. Bunları olduğu gibi koruduğu için bilgisayar tekrar yüklendiğinde (bu yüklenme sıfırdan yüklenme değil anlaşılacağı üzere) bunlar hazır gelmiş oluyor. Peki nasıl yapıyoruz? Hadi süreci alt alta yazalım.

1- Örnek bilgisayarımızı sıfırdan kuruyoruz. Eğer birden fazla partition kullanacaksanız bu aşamada ayarlayabilirsiniz.

2- Windows bileşenlerindeki özelleştirmelerimizi yapıyoruz. Örneğin oyunları vb gibi uygulamaları kaldırabilirsiniz. Klavye ve dil ayarlarını yapabilir saat dilimini seçebilirsiniz.

3- Güncelleştirme paketlerimizi yüklüyoruz.

4– Gerekli ve herkeste kullanılacak olan programlarımızı yüklüyoruz. (Office vs vs gibi)

5- c:\windows\system32\sysprep klasöründeki sysprep uygulamasını çalıştırıyoruz. (cmd promptan ilgili klasöre gidip admin olarak açıp yapabilirsiniz ya da start>run>sysprep)

6- Açılan ekranda “Enter System Out-of-Box Experience (OOBE)” seçip “Generalize” kutucuğunu seçiyoruz. Alttaki seçenği de “shutdown” olarak seçin.

Sysprep gerekli ayarlamaları yapıp verileri sildikten sonra bilgisayarınızı kapatacaktır. elimizde güncellemelerimizin ve programlarımızın yüklü olduğu, özelleştirilmiş ve donanımdan bağımsızlaştırılmış bir Windows diskimiz var. Hadi bunun imajını alalım.

 

Bundan sonra iki ayrı yolumuz var.

Birincisi USB stick ya da DVD ye (halâ kaldı mı bunlardan?) yüklü PE ile bilgisayarı açıp herhangi bir third party programla diskin imajını almak.

Bu yöntemin avantajı hızlı olması ve disk ile ilgili herhangi bir değişiklik yapmamızın (partition vs gibi) gerekli olmaması. Ancak iki önemli dezavantajı var. Birincisi sonradan ekleme yapılamıyor olması ve değişikliğe izin vermemesi. Yani yeni bir makine geldiğinde driver gerekiyorsa imajı yazdıktan sonra elle yüklemelisiniz ya da yukarıdaki süreci tekrar etmelisiniz. İkincisi bence dezavantajı ise esnek olmaması. Disk tipinde değişiklik olursa (SSD kullanımına geçilmesi vs gibi) ya da boyutu örnek bilgisayarınızdakinden küçük olursa çalışmaz.

Diğeri ise gene USB den PE ile açıp wim dosyası oluşturmak. Bu Microsoft un çözümü ve oldukça kullanışlı. Ancak yavaş. Sonradan ekleme ve değişiklik yapılabildiği için kullanışlı. Donanımdan tümüyle bağımsız.

İlkini anlatmaya gerek yok sanırım PQDI ya da Acronisle imaj alıp klonlayarak yolunuza devam ediyorsunuz. Oysa ikincisi biraz daha eğlenceli [evet garip eğlence anlayışım var 🙂 ] bir süreç. Ancak WDS kullanıyorsanız bu daha çok işinize yarar. Dahası kurulumu otomatize edebilirsiniz. Domaine kendi join olabilir mesela. Özel bazı uygulamaları sonradan ekleyebilirsiniz ya da herkes tarafından kullanılmayan ancak bazı makinelerde ortak olan çevrebirimlerin sürücülerini ekleyerek kurulum esnasında opsiyon olarak tanımlayabilirsiniz vs vs gibi. Ya da 32 ve 64 bit iki ayrı işletim sistemi arasından seçim yapılmasını sağlayabilirsiniz. Sınırsız esneklik söz konusu kısacası. Ama bunları bir sonraki gönderide anlatalım. O başka bir iş.

Görüşmek üzere.

 

 

 

 

Reklamlar

İ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);

 

Başladık bakalım

İlk denemeler başarılı.
İki tane potansiyometre alıp adruino uno nun analog girişlerine bağladım. Bunlar temsili sensörlerim olacak. 🙂 Bunlardan gelen verilere göre 4 boyutlu haritalarımdan uygun değeri seçerek PC nin comport’una gönderiyorum. Evet daha yolun başında bile sayılmam belki ama yıllar önce öğrencilik yıllarımda öğrendiğim C’yi yeniden keşfetmem gerektiği hesaba katılınca aslında fena da yol almadım hani. 🙂

Neyse Sketch ime kısaca göz gezdirirsek; Öncelikle haritaları tanımlamakladım.

int fuel_Map[4][10][12] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1, 10, 10, 12, 12, 12, 12, 13, 12, 12, 10, 0,
2, 10, 11, 20, 13, 15, 15, 20, 25, 15, 10, 0,
3, 10, 12, 14, 18, 18, 18, 30, 25, 15, 10, 0,
4, 10, 15, 18, 20, 22, 35, 30, 25, 15, 10, 0,
5, 10, 22, 20, 22, 25, 35, 30, 25, 15, 10, 0,
6, 10, 20, 22, 25, 28, 35, 30, 25, 15, 10, 0,
7, 10, 22, 25, 30, 30, 35, 30, 25, 15, 10, 0,
8, 10, 15, 20, 33, 35, 35, 32, 25, 15, 10, 0,
9, 10, 15, 25, 35, 40, 40, 35, 25, 15, 10, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
2, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
3, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
4, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
5, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
7, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
8, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
9, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
2, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
3, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
4, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
5, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
7, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
8, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
9, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
2, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
3, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
4, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
5, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
6, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
7, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
8, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0,
9, 147, 147, 147, 147, 147, 147, 147, 140, 135, 130, 0};
Buna göre 4 ayrı yüzey, 10 satır ve 12 sütundan oluşan 4 boyutlu harita hazırlanmış oldu. Değerler tamamen afaki tabi.

Daha sonra analog portlardan gelen veriyi okumaya geldi sıra.

int fuel_Value = 0;
int MapSensorVal = analogRead(A0);
int RpmSensorVal = analogRead(A1);
// int TpsSensorVal = analogRead(A2); Üçüncü potansiyometreyi alana kadar buna sabit değer atamak durumunda kaldım. 🙂
int TpsSensorVal = 0 ;

Malum 8 bit ADC kullanılan portlarda 0-1023 arası değer çevrimi yapılabiliyor. Yani sizin porta gönderdiğiniz 5 ya da 3.3V u 8 bit data olarak çevirdiğimiz için öncelikle bunu scale etmek gerekiyordu. Bunun için map fonksiyonunu kullandım ki faydalı bir eser zira ara değerlerde kendi yuvarlama yaptığı için çok fazla gereksiz veri girişine gerek kalmıyor.

RpmSensorVal = map(RpmSensorVal, 0, 1023, 0, 11);
MapSensorVal = map(MapSensorVal, 0, 1023, 0, 9);
TpsSensorVal = map(TpsSensorVal, 0, 1023, 0, 4);

 

Hadi şimdi sensörlerden gelen verilere göre haritamızdan uygun değeri çekip com
portuna gönderelim. Veri sıralaması [yüzey][satır][sütun] olacak şekilde

fuel_Value = fuel_Map[TpsSensorVal][MapSensorVal][RpmSensorVal];
Serial.print(“MAP value : “);
Serial.println(MapSensorVal);Serial.print(“RPM value : “);
Serial.println(RpmSensorVal);

Serial.println(” “);
Serial.print(“PWM value : “);
Serial.println(fuel_Value);
Serial.println(” “);
Serial.println(“—————– “);

ComPort görüntüsü şöyle bir şey oldu.

 

map1

Genel strateji

Başlangıçta sadece yakıt kontrolünü yapabilmeyi planlıyorum. Bunun için çok kullanılan üç ayrı yöntem var.

Birincisi motorun hacimsel verimliliğinin haritasını çıkartıp kaydederek sensörlerden gelen veriye göre püskürtme süresini hesaplayarak enjektör sinyalini oluşturmak. Bunun kendine göre kolaylıkları ve kısıtlamaları var. Avantaj kısmında çok fazla bir şey bilmeye gerek kalmaksızın temel bir V E (Volumetric Efficiency = Hacimsel verimlilik) haritası ile bile marşa basabiliyor olmanız.  Tabi bu büyük kolaylık sağlıyor. En önemli sıkıntısı ise her döngüde tek tek tüm verileri kontrol edip hesaplama yapması nedeni ile işlemci ve RAM kaynaklarına ihtiyaç duyuyor olması. Gerçi işlemcilerin üç otuz paraya satılmaya başlandığı şu günlerde bu pek sıkıntı değil artık ama en büyük dezavantajı bu. Megasquirt ve benzeri ECU lar

İkinci yöntem ise basit haritalar hazırlayarak, kullanılan sensörlere göre bunların değerlerini el ile girerek statik püskürtme süreleri ile çalışmak. Genelde Piggy-back ve LPG ECU ları falan bu tip püskürtme yapıyor.

Üçüncü yöntem ise (ki bu OEM üreticilerin kullandığı yöntem) sabit haritalar kullanarak sabit değerler verip ek olarak sensörlerden gelen verilerle hesaplama yapıp tablodaki hazır değerler ile karşılaştırılarak püskürtmenin sağlanması ve trimler kullanarak sürekli sistem kontrolünün sağlanması.

Benim yapmak istediğim üçüncü yöntem elbette ancak daha henüz işin ABC sinde olduğum için ikinci yöntem ile başlayıp sonrasında birincisi ile hibritleyerek üçüncüye ulaşmak. Tabi bu noktada closed loop correction stratejisini oluşturabilmem feedback interfacelerini hazırlamam ve scripte onları da dahil etmem gerekiyor. Acelem yok elbet bitecek. Başladık…

Yolum uzun hadi tutmayın beni. :))

 

Enjektör kontrolü

Merhaba,

Epeydir aklımda olup bir türlü başlamadığım, elimin varmadığı, zaman bulamadığım kısacası yapmadığım enjektör kontrol devresi projeme başladım. Başlangıçta C ile firmware i hazırlayıp arduino ile test ettikten sonra gerekirse başka bir işlemci kullanıp onun için compile etmeyi planlıyorum. Ama temelde strateji belirlemem gerekiyor. Onun içinde ABC den başlayacağım.

Neden arduino? Çünkü açık kaynak kodlu olduğu için internette zilyon tane kaynak var. Neredeyse her ne isterseniz bulabiliyorsunuz. Bulamasanız bile yazabiliyorsunuz. Bellek adreslemeleri falan binlerce kez paylaşılmış. O nedenle temelde onunla başlayıp gerekirse ileride işlemciyi değiştiririm diye düşündüm. Halihazırda Arduino Uno üzerinde ilk denemelerimi yapıyorum. Elimde hazırda Mega ve Due de var. Nihai hedef olarak Due üzerinde çalıştırmayı düşünüyorum. Mega ile çevrebirimleri kontrol edeceğim. Interface lerin I/O devreleri zaten daha önce başkaları tarafından geliştirildiği için sıkıntı yok. Sadece onları daughter board olarak kullanılabilmesi için yeniden hazırlamam gerekecek.

Neyse velhasıl-ı kelam bindik bir alamete gidiyoruz kıyamete bakalım. Umarım maymun iştahımın kurbanı olmaz bitiririm. 🙂

CBX750p

Benim CBX maceram ilanları araştırırken rastgelmemle başladı. İlk CBX i Aksaray’dan satın aldım. Yıllarca polis teşkilatında kullanıldıktan sonra emekliye ayrılmıştı. Bir süre kullandıktan sonra yenilemeye karar verdim. Ne de olsa 20 yaşını geçmiş bir motosikletti ve doğru dürüst bakım kaydı olmadığı içinde geçmişi hakkında bir bilgiye sahip değildim. Dolayısı ile yenilemek istedim. Tabi buna karar vermemde benim birşeyleri söküp takmaktan tuhaf bir zevk alıyor olmamda önemli bir etken oldu. CBX750p ye gelince;

Polis teşkilatlarında kullanılmak üzere Honda tarafından imal edilmiş, minimum bakım maliyeti ve uzun bakım aralıkları gibi özelliklerle beraber farklı teknik ayrıntıları olan bir motosiklet. Sivil versiyonlarındaın farklı olarak ön süspansiyonda anti-diving sistemi var. Ek olarak zincir yerine şaftla aktarım sözkonusu. Arka fren sistemi disk değil kampana. Ve gücü sivil versiyonlara göre daha yüksek. (CB750FE 71 hp, CBX750p 90 hp) Karbüratörleri daha büyük, overdrive 6 ileri vites kutusuna sahip.(Sivil ver 5 ileri vites kutusu) Tüm vites dişli oranları farklı ve motor ters yönde dönüyor. Dolayısı ile ateşleme sırasıda ters. Debriyajı hidrolik. (Sivil versiyonlarda telli)

CBX750 kullanılması çok keyifli bir motosiklet. Bunda ön lastiklerin 18 inç olması önemli etkenlerden birisi. Aynı zamanda ağırda bir motosiklet. (270 kg.) Hava soğutmalı 747 cc 91 hp motor bu ağırlıkla rahatlıkla başedebiliyor. Gerek performans gerekse sarsıntısız olması açısından sıralı 4 silindirli motor gayet başarılı. Tek handikapı hava soğutmalı olması bence. Zira sıcak havalarda trafikte dur kalk yapmak zorunda kalırsanız bacaklarınızın iç kısmı pişebilir.. 🙂 Keşke Honda buna bir çözüm bulabilseymiş. Ancak herşeye rağmen çift egzosttan çıkan ses insanı baştan çıkartmaya yetiyor.

HONDA CBX750PE, CBX750P2H (1991) Teknik Özellikler

BOYUTLAR
Uzunluj 2,290 mm
Genişlik 880 mm
Yükseklik 1,190 mm
Tekerler arası mesafe 1,515 mm
Sele yüksekliği 800 mm
Ayak pedalı yüksekliği 340 mm
GroYerden yükseklik 140 mm
Kuru ağırlık 229 kg
Tüm sıvılar ile ağırlık 248 kg
ŞASE
Tip Çift iskelet
Ön Suspansiyon , Taşıyıcı Teleskopik Çatal, 150 mm
Arka Süspansiyon, Taşıyıcı Kollu taşıyıcı/amortisör, 120 mm
Ön Süspansiyon Hava basıncı 0-40 kPa, 0-0.4 kg/cm2, 0-6 psi
Ön Lastik Ebad 110/90-18 61H Tubeless
Arka Lastik ebadı 130/90-16 67H Tubeless
Soğuk lastik havası(Ön) 250 kPa, 2.50 kg/cm2, 36 psi
Soğuk lastik havası(Arka) 250 kPa, 2.50 kg/cm2, 36 psi
Ön Fren Çift Disk, 904 cm2
Arka Fren Kampana, 245 cm2
Yakıt kapasitesi 20.5 Lite
Yedek depo kapasitesi 2.5 Lite
Kaster açısı 60o00′
İz 111 mm
Ön Çatal Yağ kapasitesi Sağ: 470 cc, Sol: 490 cc
MOTOR
Tip HAva soğutmalı 4-Zamanlı, DOHC
Silindir konumlandırması Dikine konumlandırılmış sıralı tip
Çap ve Strok 67.0 mm X 53.0 mm
Hacim 747 cm3
Sıkıştırma oranı 9.3:1
Süpap tahriki Zİncir aktarmalı DOHC, Silindir başına 4 Süpap
Maksimum Güç (DIN) 65.4 kW (89 ps) / 9,500 rpm
MaMaksimum Tork 69.8 N-m (7.12 kg-m) /8.000 rpm
Emme süpap açılma zamanı 10o BTDC @ 1 mm Lift
Emme süpap kapanma zamanı 40o ABDC  @ 1 mm Lift
Egzost süpap açılma zamanı 45o BBDC @ 1 mm Lift
Egzost süpap kapanma zamanı 5o ATDC @ 1 mm Lift
Motor kuru ağırlığı 82 kg
Rölanti deviri 1,000 +/- 100 rpm
YAKIT SİSTEMİ
Karburatör Tipi / Kelebek Çapı KEIHIN VE / 34 mm
Tanımlama Numarası VE65B
Pilot Vidası İlk Ayarı 2-1/8 Tur dışarıda
Taşma Sınırı (Gösterge Seviyesi) 18.5 mm
AKTARMA
Debriyaj Islak tip çoklu balata
Vites Kutusu 5-Vites  + O.D.
İlk çevrim oranı 1.780
Son dişli oranı 3.670
I nci vites dişlisi 2.235
II nci vites dişlisi 1.545
III nci vites dişlisi 1.240
IV nci vites dişlisi 1.037
V nci vites dişlisi 0.866
VI nci vites dişlisi 0.750
Vites sıralaması Sol ayak kontrollü, 1-N-2-3-4-5-O.D.
ELEKTRiK
Ateşleme Transistörlü elektronik ateşleme / Waste Spark
“F” noktasındaki ateşleme avansı 10o BTDC @ Rölanti
Full Avans 32o BTDC @ 3,150 rpm
Başlatma sistemi Marş motoru
Alternatör 280 W / 6,000 rpm
Akü 12 V – 14 AH
Standart Buji NGK-DPR8EA-9 / ND-X24EPR-U9
Buji (Soğuk Bölge (5oC altı ısı) NGK-DPR7EA-9 / ND-X22EPR-U9
Buji (Yüksek performans) NGK-DPR9EA-9 / ND-X27EPR-U9
Buji tırnak aralığı 0.8 – 0.9 mm
Ateşleme sırası 1-2-4-3
Sigorta/Ana sigorta 10A X 3, 15A X 3 / 30A
LAMBALAR
Far (Uzun/ Kısa Hüzme) 60/55W Halojen
Park/Stop Lambası 8/23W
Ön Sinyal 23W
Arka Sinyal 23W
Gösterge lambaları 3.4W
Vites Boş Gösterge lambası 3.4W
Sinyal Gösterge Lambası 3.4W
Uzun Hüzme Lambası 3.4W
Pozisyon Lambası 8W