24 Ağustos 2022 Çarşamba

Unit Step Response Grafiği Hakkında (Birim Adım Cevabı)

Bir sistemin unit step cevabı, ilgili sistemin girişine unit step fonksiyonu uygulandığında, sistem çıkışının davranışını ifade eder. Unit step fonksiyonu ise kısaca, t=0 anına kadar 0, t>=0 için 1 şeklinde kabul edilir.  


Bir sistemin unit step cevabı bize sistem ile ilgili bir çok bilgi verir. Bu bilgiler üzerinden sistem tanımlama yapılabileceği gibi sistemi kontrol etmek için nasıl bir kontrolcü gerektiği konusunda da fikir edinilebilir.

İkinci dereceden bir sistemin unit step cevabı aşağıdaki grafiğe benzer şekilde davranır. Bu grafik bir underdamped sisteme aittir. İkinci dereceden olan sistemler undamped, underdamped, critically dapmed ve overdamped şeklinde dört ayrı sınıfa ayrılabilir.


Bu grafikte işaretlenen ifadeler;
  • Max. Overshoot: Sistem çıkışının çıktığı maximum değer.
  • Rise Time: Sisteme step input uygulandıktan sonra, sistem çıkışının %10 dan %90 a kadar ulaşması için geçen süre. Burada ifade edilen yüzde değeri set pointi %100 kabul ederek hesaplanır.
  • Peak Time: Sisteme step input uygulandıktan sonra, sistemin max. overshoot noktasına ulaşma süresi.
  • Settling Time: Sisteme step input uygulandıktan sonra, sistemin set pointe +-%2 hata ile ulaşma süresi. %2 değeri genel kabuldur. Farklı bir değer de kabul edilebilir.
  • Steady State Error: Sistemin osilasyona girdiği, set pointe yakınsadığı alanda % kaç hata ile salındığını ifade eder. Örnek olarak sıcaklık 50 dereceye ayarlanmış olsun ve sistem çıkışı 45-55 derece arasında salınırsa steady state error +-%10 olarak ifade edilir.

Referanslar

  • https://lpsa.swarthmore.edu/Transient/TransInputs/TransStep.html
  • https://www.researchgate.net/figure/Unit-step-response-of-the-2nd-order-system_fig2_221347190

11 Ağustos 2022 Perşembe

Circular Buffer (Dairesel Buffer)

Gömülü sistemlerde veri toplama, kaydetme veya depolama için çeşitli veri yapıları kullanmak gerekir. Bu uygulamanın tipine göre farklılık gösterebilir. Özellikle gateway ve benzeri projelerde circular buffer tercih edilebilir. RAM kaynağı sınırlı olduğu için en verimli yöntem ile bu kaynağı kullanmak gerekir. FIFO, LIFO şeklinde davranış gösteren farklı veri yapıları vardır. Bu yazı, circular buffer nedir, nasıl çalışır, hangi durumlarda kullanılmalı gibi konular üzerine olacak.

Circular buffer adından da anlaşılacağı gibi hafızayı dairesel bir formatta kabul ederek/soyutlaştırarak hafıza alanını kullanmaya imkan sunan bir veri yapısıdır. Dairesel bufferın özelliklerinden biri veri yazma ile veri okuma indexlerinin bağımsız kontrolüdür. Tüm bufferın boyutu sabittir.

Görsel üzerindeki end()/item n yazma pointerını ifade eder. begin()/item 1 okuma pointerını ifade eder. Okuma ve yazma pointerları birbirine eşit olduğunda buffer empty flagi set olur. Bu bufferın tamamen boş olduğunu ifade eder. Yazma pointerı okuma pointerının bir eksiğine eşit olduğunda ise buffer full flagı set olur. Bu bufferın tamamen dolu olduğunu ifade eder. Bu yapının kullanıldığı yerin gereksinimlerine göre half full gibi farklı seviyeler için de flag tanımlanabilir.

Circular buffer rutin bir çalışma durumunda full durumuna gelmeyecek şekilde kurgulanmalıdır. Bunun için okuma hızı/sıklığı her zaman yazma okuma hızı/sıklığından daha yüksek olmalıdır. Böylece bufferda saklanan verinin belli bir değeri geçmeyeceği garanti edilir. Yine de beklenmedik durumlar ortaya çıkabilir. Bu durumlarda circular bufferlarda farklı stratejiler uygulanabilir. Birincisi üzerine yazma, ikincisi ise bloklama yaklaşımıdır.

Üzerine yazma yaklaşımında circular buffer full olsa bile yeni gelen veri bir sonraki yazma adresine yazılır. Bu durumda bir önceki data kayıp olmuş olur.

İkinci yöntem olan bloklama yaklaşımında da eğer circular buffer full ise yeni gelen veri olsa bile en sondaki veri okunmadan yeni bir yazmaya geçilmez.

Örnek bir repository olarak https://github.com/Roen-Ro/CircularBuffer incelenebilir.

Referanslar:

  1. https://www.boost.org/doc/libs/1_78_0/doc/html/circular_buffer.html

3 Ağustos 2022 Çarşamba

Otomotivde ECU Nedir?

Electronic Control Unit/Elektronik Kontrol Ünitesi (ECU) araçlar üzerindeki çeşitli görevleri/fonksiyonları gerçekleştirmek üzere geliştirilmiş sistemlerdir. ECU genel bir isimlendirmedir. VCU, BMS, BCM gibi ünitelerin elektronik kontrol birimleri de ECU olarak anılır.

Araç üzerindeki ECU'lar görevlerine göre farklı tip, özellik ve boyutlarda olabilir. Örneğin bir VCU genel olarak yatay ve ince bir metal yuvaya sığarken, EDS/MCU/Inverter gibi güç süren sistemler daha hacimli ve geniş soğutucu bloklu yuvalara ihtiyaç duyar.

Örnek Bir VCU Görseli


Örnek Bir EDS/MCU/Inverter Görseli


Günümüzde araçlar 100 civarında farklı ECU içerebilir. Örneğin 4 kapı camı elektrikli bir araçta sadece bu camların aç/kapa fonksiyonundan sorumlu 4 farklı motor ve bu motorları süren ECU'lar vardır. Bu ECU'lar tek bir ana fonksiyonu (cam aç/kapat) gerçekleştirse bile araç networkü ile haberleşen akıllı sistemlerdir. Araç networkü üzerinde bir fonksiyon bir veya birden fazla elemanın entegrasyonu ile gerçekleşebilir. İlgili sistemler her zaman birbiri ile konuşarak senkron bir şekilde çalışacak topolojide tasarlanır.

Her ECU genel olarak kendisinden sorumlu bir işlemci barındırır. Bu işlemciler çoğunlukla otomotiv sektörü için özelleşmiş, kendi üzerinde 12 V regülatörü, haberleşme alıcı/vericileri gibi önemli yapıları entegre edilmiş bir şekilde barındırırlar. Böylece birim maliyet, yer kaplama, hata yapma gibi konularda avantaj sağlanır.

Referanslar:

  1.  https://www.aptiv.com/en/insights/article/what-is-an-electronic-control-unit
  2. https://www.bosch-mobility-solutions.com/en/solutions/vehicle-computer/vehicle-control-unit/
  3. https://automotivepowertraintechnologyinternational.com/news/electric-powertrain-technologies/mclaren-applied-targets-automotive-with-800v-sic-inverter.html



Unit Step Response Grafiği Hakkında (Birim Adım Cevabı)

Bir sistemin unit step cevabı, ilgili sistemin girişine unit step fonksiyonu uygulandığında, sistem çıkışının davranışını ifade eder. Unit s...