Analysis etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Analysis etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

26 Haziran 2022 Pazar

Kapasitör Dolum Eğrisi ve Ölçüm Metodu

Kondansatör (capacitor) üzerinde elektrik depolayabilen bir pasif elektronik elemandır. Kondansatörün kapasite değeri Farad birimi üzerinden değerlendirilir.

Kondansatörün dolum eğrisi aşağıdaki gibidir. Kontansatör herhangi bir t anında bir R1 direnci üzerinden enerjilendirildiğinde (step input) üzerindeki voltaj değişimi Vout gibi davranır. Vout'un herhangi bir andaki değerini hesaplamak için aşağıdaki görselde verilen ilk formül kullanılır. Bu formülde belli bir zamandaki voltajı hesaplarken Vin, e, R, C ve t sait olacağı için ilgili zamandaki voltaj değeri bulunabilir.

Aynı formülde t ifadesini çekerek kutu içerisindeki ifade elde edilir. Bu ifade bize şunu söyler. R, Vin sabit ve Vout belirlenen bir değer ise, dolum eğrisinin Vout değerine ne kadar sürede geldiğini ölçebilirsek gömülü bir sistem üzerinde kapasitör ölçümü yapılabilir. Vout değeri Vin/2 veya Vin/e seçilebilir. Çok yüksek veya düşük Vin değerleri ölçüm açısından sağlıklı olmayabilir.


Osiloskop üzerinden alınmış bir kapasitör dolum görseli aşağıdaki gibidir. Bu görselde;

  • Sarı: Kapasitör dolumunu tetikleyen sinyal.
  • Turkuaz: Kapasitör dolum voltaj grafiği.
  • Pembe: Kapasitör ile 1.65 V luk sabit bir değer üzerinden kurulan karşılaştırıcı devresinin çıkışı.
Algoritma tarafında tetikleme sinyalini verdikten sonra karşılaştırıcının düşen kenarına kadar geçen süre bize kapasitör değerini hesaplamak için gereken zaman bilgisini verir. Aşağıda görseli verilen testte R=1kOhm, C=470nF seçilmiştir. Bu durumda kapasitör voltajının 1.65 V'a gelmesi 325us sürecektir. Aynı süreyi osiloskop görselinden de görebilirsiniz. (Cursorlar ile işaretlememek eksiklik olmuş)


Son söz olarak, kondansatör ölçümü için daha farklı ölçüm yöntemleri de mevcuttur. Bu yöntemlere örnek olarak kondansatörlere belirli frekans değerlerinde sinyal uygulanır. Bu sinyallerin değişimi üzerinden kondansatör değerine karar verilir. Ölçüm yöntemlerinin tamamında zaman tabanlı işlemler olduğu için kondansatör ölçümü zamana bağımlıdır ve direnç ölçümüne nispeten uzun sürer.

Kaynaklar:

  • https://www.elektrikde.com/kondansator-ve-cesitleri-nelerdir/

9 Şubat 2022 Çarşamba

Safety ve Security Kavramları

Bu yazıda safety ve security kavramlarını inceleyeceğiz. Türkçede emniyet ve güvenlik şeklinde yer yer ifade edilse de net bir karşılık olmadığı için bu yazıda ingilizce terimler kullanılacaktır.

Safety, emniyette olma ve potansiyel tehlikelerden korunma durumudur. Safety, kabul edilebilir bir risk düzeyine ulaşmak için bilinen tehlikelerin kontrolünü de ifade eder. Safety, genellikle sistemlerin kendileri kaynaklı oluşabilecek tehlikeli durumlarını ve bu durumlardan kaçınmayı ifade eder.

Security, sistemin dışından gelecek, sistemin doğal işleyişini bozmak veya sistem içerisinde tutulması gereken her türlü bilginin, sistemin izni haricinde alınması/erişilmesi durumudur. Security açısından sistemler değerlendirilirken riskler, tehdit modelleri ve saldırı yöntemleri analiz edilir. Sonrasında sistem security açısından da güvenli bir noktaya gelmesi gereken aksiyonlar planlanır ve devreye alınır.

5 Ekim 2021 Salı

Coupling ve Cohesion Kavramları

Yaızlım geliştirme süreçlerinde belli bir metedoloji veya tekniği takip etmediğiniz zaman işin sonunda veri yapıları ve fonksiyonların fazlaca birbirine girmesi kaçınılmaz bir durumdur. Özellikle OOP odaklı olmayan C gibi dillerde bu konu daha bariz şekilde kendini göstermektedir. C++ gibi OOP odaklı bir dilde mecburen de olsa bazı düzenlemeler doğal olarak kendiliğinden gelişiyor ancak C gibi dillerde özellikle planlanmadığı zaman gerçekten düzenli ve sistematik kod yazmak zor oluyor.

Bu yazıda, yazılımda genel kavramlardan olan coupling ve cohesion kavramları hakkında temel bilgileri paylaşacağım. Bu kavramları zihninizde canlandırmak için aşağıdaki görsel iyi bir örnektir. Burada birbirine benzer yapıların bir grup şeklinde durduğunu ve bu gruplar arası geçişlerin basit birkaç yol/arayüz vasıtası ile olduğunu görüyoruz.


Öncelikle coupling ve cohesion kavramlarının genel tanımını yapalım.

Coupling, modüller arasındaki karşılıklı bağımlılık derecesinin ölçüsüdür. Couplingin düşük olması kodun taşınabilirliğini arttırır. Platformlar arası geçiş rahatlıkla sağlanır.

İyi bir yazılımda bu ölçü düşük olmalıdır. [2]

Cohesion, modül öğelerinin işlevsel olarak ilişkili olma derecesinin bir ölçüsüdür. Bunu OOP bir dilde class olarak, C dilinde ise bir *.c ve *.h dosya çifti olarak düşünebilirsiniz. Tek bir görevi yerine getirmeye yönelik tüm unsurların bileşende yer alma derecesidir. Temel olarak cohesion, modülü bir arada tutan içsel ilişkidir. 

İyi bir yazılım tasarımı, yüksek bir bütünlüğe sahip olacaktır. 

Örnek olarak inputlara göre bir hesabı gerçekleştiren fonksiyon sadece o işi yapmalıdır. Bu fonksiyonun içerisine bir de print fonksiyonu eklemek veya gömülü yazılım tarafında kullanılan bir haberleşme protokolü üzerinden göndermek cohesion açısından olumsuz bir örnektir.

İkinci bir örnek verecek olursak, örneğin bir arayüz tasarımı yapıyorsanız ve arka planda çeşitli hesaplar yapılıyorsa bu hesaplar arayüz fonksiyonları içerisinde yer almamalıdır. Bu tarz hatalı kurulmuş düzenler uzun vadede yazılımı kontrol edilebilirlikten çıkartan etkenlerdir.

Referanslar:

[1] https://enterprisecraftsmanship.com/posts/cohesion-coupling-difference/
[2] https://www.geeksforgeeks.org/software-engineering-coupling-and-cohesion/
[3] https://stackoverflow.com/questions/3085285/difference-between-cohesion-and-coupling

6 Şubat 2021 Cumartesi

Accuracy, Precision & Resolution Kavramları (Doğruluk, Hassasiyet, Çözünürlük)

Accuracy, Precision ve Resolution kavramları ölçüm sistemlerinde sıklıkla karşımıza çıkan ifadelerdendir. Aynı zamanda bu sistemler için kullanılan sensörlerde de benzer ifadelere rastlayabilirsiniz.

[1]


Bir ölçüm sisteminin performansı sistemin aynı şartlarda aynı sonucu vermesi ile ölçülebilir. Bu durumu başlıkta yer alan kavramlarla açıklayabiliriz.

Accuracy, doğru ölçüme ne kadar yakın olduğunuzu ifade eder.

Precision, arka arkaya alınan ölçümlerde ne kadar tutarlı olduğunu, aynı veya yakın değeri verdiğini ifade eder.

Resolution, ölçümün adım aralığıdır. Örnek olarak 3.3V bir sistemde 12 bit ölçüm alacaksanız çözünürlüğünüz (3.3/4095)V kadardır.

Bu kavramların anlatımını güçlendirmek için aşağıdaki görsel oldukça faydalıdır. Görselde hedefin orta noktası olması gereken ölçüm değeridir. Etrafındaki yıldızlar ise ölçüm değerleridir. Bu 4 görseli sınıflandıracak olursak;

  • Sol Üst: Yüksek accuracy, düşük precision. (Tolere edilebilir)
  • Sağ Üst: Yüksek accuracy, yüksek precision. (En iyi durum)
  • Sol Alt: Düşük accuracy, düşük precision. (En kötü durum)
  • Sağ Alt: Düşük accuracy, yüksek precision. (Tolere edilebilir)



Biz tasarladığımız ölçüm sistemlerinde yüksek accuracy ve precision bekleriz. Bu ölçüm sistemimizin performansını yüksek seviyede tutmamızı sağlar ancak bunun mümkün olmadığı durumlarda çeşitli tolerans metotları geliştirmek gerekir. Çünkü geliştirilecek uygulamaya uygun ölçüm sistemini tasarlamak için fiyat/performans kriterinden dolayı en iyi durumu oluşturacağınız sistemi oluşturamayabilirsiniz.

Bu durumda accuracy durumunu tolere etmek için sistem karakteristiğine uygun bir offset değeri veya dinamik bir sistem için offset fonksiyonu oluşturulur. Böylece ölçüm istenilen noktaya çekilebilir.

Precision konusunda bir iyileştirme yapmak için de dijital ve analog filtreler yardımı ile bu kriter arttırılabilir.

Resolution değeri sistemin karakteristiği ile direkt ilgilidir ve üzerinde herhangi bir işlem yapamayız. Precision iyileştirme için yapılacak filtreleme fonksiyonları resolutiondan oluşacak kayıpları da bir ölçüde iyileştirebilir.

Referanslar:
[1] https://keydifferences.com/difference-between-accuracy-and-precision.html

12 Aralık 2020 Cumartesi

Inbox Zero

"Inbox Zero" kavramı Marlin Mann tarafından ortaya atılmış, e-mail yönetimi ile ilgili bir yaklaşımdır. Amacı e-mail yönetimini doğru yönlendirerek kişilerin çalışma verimini arttırmaktır.


Mann'a göre gelen kutusunda bekleyen posta sayısı sadece posta sayısını değil, bunun yanında kişinin aklında, arka planda süreçli onu yoran bir iştir. Bu yüzden gelen kutusunda bekleyen posta sayısı ne kadar yüksekse, kişinin ilgisi o kadar düşük olur/olabilir. Bunun temelinde algı olarak mail kutusunun bir todo list gibi görülmesidir.


Mann bu problemin çözümü olarak bir öneri sunar. Bu öneride gelen mailler 5 aksiyonla değerlendirilir.
  1. Sil
  2. Yetkilendir/Delege et
  3. Yanıtlama (<=2 dakika)
  4. Erteleme (>2 dakika)
  5. Yapma (<=2 dakika)
Mann'ın e-mail yönetimini verimli bir şekilde işletme konusunda verdiği diğer ip uçları aşağıdaki gibidir.
  • E-mail programınızı açık tutmayın.
  • E-mail yoğunluğunuza göre gelen kutunuzu sadece belirli saatlerde kontrol edin. Yoğun mail kullanımı olan kişilerde saat başları seçilebilir. Daha az e-mail trafiği olan kişilerde ise günde iki defa yeterli olabilir.
  • İlk olarak silebileceğiniz mailleri silin veya arşivleyin
  • Sonrasında başkası tarafından yanıtlanabilecek olan e-mailleri ilgili kişilere iletin.
  • İki dakika veya daha kısa sürede cevaplanabilecek e-maillere hemen cevap verin.
  • Cevabı iki dakikadan uzun ama daha sonra cevaplanabilecek e-mailleri başka bir "yanıtlanacaklar" klasörüne taşıyın.
  • "Yanıtlanacaklar" klasöründeki e-maillere geri dönüş yapmak için gün içerisinde bir saat belirleyin ve o aralıkta tüm yanıt bekleyen maillerinize dönüş yapın.

Bu konu hakkında Mann'ın 2007 yılına ait yaklaşık bir saatlik konuşmasını da aşağıdaki videodan izleyebilirsiniz.


Referanslar:
[1] https://whatis.techtarget.com/definition/inbox-zero
[2] https://flow-e.com/inbox-zero/


4 Ağustos 2020 Salı

IEC 61508'e göre Hata Analiz Yöntemleri

Hata analizi, genellikle düzeltici eylemleri veya yükümlülüğü belirlemek amacıyla bir hatanın nedenini belirlemek için veri toplama ve analiz etme işlemidir. Hata analizi, doğru bir şekilde yapılır ve üzerinde iyileştirmeler yapılırsa para, hayat ve kaynak tasarrufu sağlayabilir. Yeni ürünlerin geliştirilmesinde ve mevcut ürünlerin iyileştirilmesinde kullanılan, ciddi bir gereksinimdir. Hata analiz yöntemleri uygulanacağı sektöre ve uygulamaya göre çeşitlilik gösterir.

Elektronik sistemlerde emniyet ile ilgili kurallar genel olarak 61508 standardında yer alır. Emniyetli elektronik ekipmanların geliştirme sürecinde hata analiz işlemleri önemli bir yer tutmaktadır. Bu kapsamda 61508 aşağıda verilen hata analiz yöntemlerini önerir.


IEC 61508–7:2010 dokümanında B.6.6 başlığı altında kullanılabilecek hata analiz yöntemleri 10 alt başlık altında sıralanmıştır. Başlıklar altında analiz yöntemleri ile ilgili bir kaç kısa açıklama, sonrasında standardlara ve çeşitli kitaplara referanslar vardır. IEC 61508 bu konu ile ilgili sadece yönlendirme niteliğindedir. Bu 10 alt başlık;

  • B.6.6.1 Failure modes and effects analysis (FMEA)-Hata modu ve etkileri analizi
  • B.6.6.2 Cause consequence diagrams-Neden-Sonuç Diyagramları
  • B.6.6.3 Event tree analysis (ETA)-Olay ağacı analizi
  • B.6.6.4 Failure modes, effects and criticality analysis (FMECA)-Hata modu, etkileri ve kritiklik analizi
  • B.6.6.5 Fault tree analysis (FTA)-Hata ağacı analizi
  • B.6.6.6 Markov models
  • B.6.6.7 Reliability block diagrams (RBD)-Güvenilirlik blok diyagramı
  • B.6.6.8 Monte-Carlo simulation-Monte Carlo simülasyonu
  • B.6.6.9 Fault tree models-Hata ağacı modeli
  • B.6.6.10 Generalised Stochastic Petri net models (GSPN)-Genelleştirilmiş stokastik petri ağı modelleri

Gelecek yazılarda hata analiz yöntemlerinden bir kaçının detaylı açıklamasını yapacağım. Bunların başında FMEA ve FTA gelecektir.

Emniyetle kalın!


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...