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

25 Haziran 2025 Çarşamba

CAN Bus Fiziksel Katmanı Nedir?

Otomotiv endüstrisinden endüstriyel otomasyona kadar pek çok alanda yaygın olarak kullanılan CAN Bus (Controller Area Network), güvenilirliği ve dayanıklılığıyla ön plana çıkar. Ancak bu protokolün arkasındaki en temel yapı taşı fiziksel katmanıdır. Bu yazıda, CAN Bus'ın fiziksel katmanını detaylı şekilde ele alacağız. 😊

Diagram showing the CAN Bus physical layer with twisted pair wiring, terminator resistors, and transceiver between microcontroller and bus lines

📚 Fiziksel Katman Neyi İfade Eder?

OSI modelinde "Fiziksel Katman" (Physical Layer), verilerin elektriksel ve fiziksel taşıma biçimidir. CAN Bus özelinde bu, veri hattının nasıl sinyal taşıdığı, hangi kabloların kullanıldığı, napaj (power supply) düzenlemeleri ve elektriksel gürültüye karşı önlemleri içerir.

📏 CAN Bus Fiziksel Katman Bileşenleri

İyi bir CAN haberleşmesi için, aşağıdaki temel bileşenlerin doğru şekilde yapılandırılması gerekir:

  • Diferansiyel Hatlar (CAN_H ve CAN_L): İletim sırasında voltaj farkı üzerinden veri taşır. Bu sayede elektromanyetik parazitlere karşı dirençlidir.
  • Transceiver (Alıcı-Verici): Mikrodenetleyici ile CAN hattı arasında köprü görevi görür.
  • 120 Ohm Sonlandırıcı Dirençler: Veri hattının her iki ucuna bağlanır. Yansıma (refleksiyon) engellenir.
  • Bükümlü Çift Kablo (Twisted Pair): Gürültüye karşı koruma sağlar.
  • Topraklama (Ground): Gerilim farklarını dengelemek için ortak referans noktasıdır.

🧪 Voltaj Seviyeleri ve Sinyal Yapısı

CAN haberleşmesinde kullanılan iki temel voltaj seviyesi şunlardır:

Durum CAN_H CAN_L Diferansiyel Voltaj (Vdiff)
Recessive (Boşta) ~2.5V ~2.5V 0V
Dominant (Aktif) ~3.5V ~1.5V ~2V

Bu diferansiyel sinyal yapısı sayesinde, CAN Bus oldukça sağlam bir iletişim sunar.

🛡️ Elektromanyetik Uyumluluk ve Koruma

CAN Bus kabloları, dış ortamda oluşabilecek elektromanyetik gürültüye karşı bükümlü çift (twisted pair) olarak döşenir. Gerekirse bu kablolar shielding (ekranlama) ile daha da korunabilir.

🔌 Kablolama Kuralları

Aşağıdaki kurallar CAN hattının sağlıklı çalışması için oldukça kritiktir:

  • Kablolama lineer (doğrusal) olmalıdır, dallanmalardan kaçınılmalıdır.
  • Hattın iki ucunda 120Ω sonlandırma mutlaka olmalıdır.
  • Toplam kablo uzunluğu 500m’yi geçmemelidir (10kbps için).
  • Bağlantı noktaları 1m’den uzun olmamalıdır.

⚙️ Hız ve Kablo Uzunluğu İlişkisi

Veri Hızı (kbps) Maksimum Kablo Uzunluğu
1000 kbps 40 m
500 kbps 100 m
250 kbps 250 m
125 kbps 500 m
50 kbps 1000 m

🔧 CAN Transceiver Seçimi

CAN transceiver’lar, mikrodenetleyiciler ile CAN hattı arasında fiziksel bağ kurar. Aşağıdaki özelliklere dikkat etmek gerekir:

  • ISO 11898-2 uyumluluğu
  • EMI performansı
  • Çalışma sıcaklık aralığı
  • Standby ve düşük güç modları

Popüler transceiver örnekleri: TJA1050, SN65HVD230, MCP2551.

❓ CAN Bus Fiziksel Katmanı Sık Sorulan Sorular

  • CAN_H ve CAN_L ters bağlanırsa ne olur? Genellikle sistem çalışmaz, ama transceiver zarar görmez.
  • Tek direnç yeterli mi? Hayır, her iki uçta 120 ohm olmalı. Aksi halde yansıma oluşur.
  • Toprak bağlantısı olmazsa ne olur? Gerilim farkları iletişimi bozabilir. Ortak ground önerilir.

🔖 Terimler Sözlüğü

Terim Açıklama
CAN_H Yüksek seviyeli CAN hattı
CAN_L Düşük seviyeli CAN hattı
Transceiver Veri alışverişini gerçekleştiren alıcı-verici devre
Diferansiyel Sinyal İki hat arasındaki voltaj farkına dayalı iletişim
Sonlandırma Direnci Veri hattı ucuna takılan 120Ω direnç

📌 Ekstra Kaynaklar

22 Haziran 2025 Pazar

Steer-by-Wire Nedir? 🚗 Elektronik Direksiyonun Geleceği

Steer-by-Wire Nedir? 🚗 Elektronik Direksiyonun Geleceği

Otomotiv teknolojisi her geçen gün daha dijital ve daha akıllı hale geliyor. Bu dönüşümün en dikkat çekici parçalarından biri ise “Steer-by-Wire” yani elektronik kontrollü direksiyon sistemleri. Peki bu sistemler nasıl çalışır? Neden giderek daha fazla araçta tercih ediliyor? Güvenli mi, pratik mi, pahalı mı? Tüm detaylara bu yazımızda değiniyoruz.

Illustration of a modern steer-by-wire system with electronic steering wheel and actuator-based wheel control.

🧩 Steer-by-Wire Ne Demek?

Steer-by-Wire, geleneksel mekanik direksiyon sistemlerinde bulunan direksiyon mili, dişli kutusu ve bağlantı çubukları gibi mekanik bağlantıların yerini elektronik bileşenlerin aldığı bir sistemdir. Yani direksiyon simidi ile tekerlekler arasında artık fiziksel bir bağlantı bulunmaz.

Bu sistemde sürücünün direksiyonu çevirme hareketi sensörlerle algılanır, kontrol ünitesi (ECU) bu veriyi işler ve tekerleklere gerekli dönüş komutu, elektrik motorları aracılığıyla iletilir.

⚙️ Steer-by-Wire Nasıl Çalışır?

Steer-by-Wire sistemi genel olarak şu bileşenlerden oluşur:

  • Direksiyon Açısı Sensörü: Sürücünün çevirdiği direksiyon açısını ölçer.
  • ECU (Elektronik Kontrol Ünitesi): Alınan veriyi işler, gerekli komutları üretir.
  • Aktüatörler: Tekerleklerin açısını değiştiren elektrik motorlarıdır.
  • Geri Bildirim Mekanizması: Direksiyon simidine yapay kuvvet hissi verir (örneğin yol direncini hissettirme).

🛡️ Güvenlik Ne Durumda?

Direksiyon gibi kritik bir sistemin elektronikleştirilmesi doğal olarak bazı güvenlik endişelerini de beraberinde getiriyor. Ancak otomotiv sektörü, bu tür sistemlerin ISO 26262 gibi fonksiyonel güvenlik standartlarına uygun olarak tasarlanmasını zorunlu kılıyor.

Steer-by-Wire sistemlerinde yaygın olarak aşağıdaki güvenlik önlemleri alınır:

  • Çift yedekli sensörler
  • Çift işlemcili ECU’lar
  • Acil durumlarda kontrolü sürücüye veren fail-operational yapılar
  • Batarya veya enerji kesintisinde geçici mekanik kontrol opsiyonu (hibrit sistemler)

🚀 Avantajları Neler?

Steer-by-Wire sisteminin sunduğu avantajlar oldukça dikkat çekicidir:

  • Ağırlık Azalması: Fiziksel bağlantılar ortadan kalktığı için sistem hafifler.
  • Daha Az Yer Kaplama: Direksiyon miline ihtiyaç kalmadığı için tasarım esnekliği artar.
  • Kişiselleştirilebilir Sürüş: Direksiyon sertliği, dönüş açısı gibi parametreler yazılımla ayarlanabilir.
  • Otonom Sürüş Uyumlu: Elektronik sistem, otonom sürüş algoritmalarına kolayca entegre edilebilir.

🔧 Dezavantajları da Var mı?

Elbette. Her teknolojide olduğu gibi Steer-by-Wire sistemlerinin de bazı dezavantajları mevcut:

  • Maliyet: Gelişmiş elektronik bileşenler nedeniyle ilk yatırım maliyeti yüksektir.
  • Algısal Güven: Sürücüler fiziksel bağlantı olmayışını ilk etapta garipseyebilir.
  • Enerji Bağımlılığı: Sistemin düzgün çalışması için sürekli elektrik beslemesi gerekir.

🔄 Geleneksel Direksiyon ile Farkları

Özellik Geleneksel Direksiyon Steer-by-Wire
Fiziksel Bağlantı Var Yok
Geri Bildirim Doğal, mekanik Yapay (force feedback)
Yedeklilik Genelde yok Elektronik yedeklilik
Tasarım Özgürlüğü Kısıtlı Yüksek

📈 Gelecekte Nerelerde Kullanılacak?

Şu anda Steer-by-Wire sistemleri çoğunlukla premium segmentte veya elektrikli araçlarda karşımıza çıkıyor. Ancak teknolojinin yaygınlaşmasıyla birlikte aşağıdaki alanlarda daha fazla görmemiz bekleniyor:

  • Otonom Araçlar
  • Ağır vasıtalar (otobüs, kamyon)
  • Tarım ve inşaat araçları

🛠️ Hangi Markalar Kullanıyor?

Steer-by-Wire sistemlerini uygulayan bazı öncü üreticiler:

  • Infiniti: Q50 modelinde Direct Adaptive Steering teknolojisi
  • Tesla: Cybertruck için yoke-style steer-by-wire planı
  • Nissan: Otonom test araçlarında yaygın kullanım

🧠 Yazılım ve Kalibrasyonun Rolü

Steer-by-Wire sistemlerinde yazılım; sürücü geri bildirimi, dönüş sertliği, direksiyon davranışı gibi pek çok unsuru belirler. Bu nedenle yazılım kalibrasyonu hem güvenlik hem sürüş keyfi açısından kritik rol oynar.

Yapay zeka destekli sistemlerde, sürücünün sürüş stiline göre adaptif davranışlar bile mümkün hale gelmektedir.

🔮 Sonuç: Direksiyonun Geleceği Burada mı?

Steer-by-Wire sistemleri otomotiv endüstrisinin dijitalleşmesinin önemli bir parçası. Hem otonom sürüşe hazırlık, hem de kullanıcı deneyimini artırmak açısından ciddi potansiyel taşıyor.

Ancak yaygınlaşması için hem maliyetlerin düşmesi hem de kullanıcı güveninin artması gerekiyor. Önümüzdeki yıllarda bu sistemin daha fazla modelde karşımıza çıkması oldukça muhtemel. 🚘

🔖 Terimler Sözlüğü

Terim Açıklama
ECU Electronic Control Unit, kontrol birimi
Aktüatör Elektriksel komutla mekanik hareket üreten bileşen
Force Feedback Geri bildirim için uygulanan yapay direnç hissi
ISO 26262 Otomotiv için fonksiyonel güvenlik standardı

📌 Ekstra Kaynaklar

9 Haziran 2025 Pazartesi

C Dilinde Moving Average Filter (Hareketli Ortalama Filtresi) Nedir, Nasıl Uygulanır?

Hareketli Ortalama Filtresi (Moving Average Filter), sinyal işleme ve veri analizi alanlarında en çok tercih edilen basit ve etkili filtrelerden biridir. Gürültülü verilerin pürüzsüzleştirilmesi, ani değişimlerin yumuşatılması ve sensör okumalarının stabilize edilmesi gibi birçok uygulama alanında kullanılır. Özellikle gömülü sistemlerde, mikrodenetleyicilerde ve gerçek zamanlı uygulamalarda, C dili ile kolayca uygulanabilir olması sayesinde oldukça popülerdir.

Hareketli Ortalama Filtresi Nedir?

Kısaca, hareketli ortalama filtresi, belirli bir pencere (örneğin N örnek) içerisindeki verilerin aritmetik ortalamasını alarak yeni bir çıktı üretir. Böylece, kısa süreli gürültüler ve ani değişimler filtrelenmiş olur.

Matematiksel olarak:
Y[n] = (X[n] + X[n-1] + ... + X[n-(N-1)]) / N
Burada:

  • Y[n]: Filtrelenmiş çıktı

  • X[n]: En yeni giriş değeri

  • N: Pencere boyutu (window size)


Avantajları ve Dezavantajları

Avantajlar:

  • Basit ve hızlı algoritma

  • Bellek ve işlemci gereksinimi düşük

  • Gerçek zamanlı uygulamalara uygun

Dezavantajlar:

  • Ani değişimleri geciktirir (faz kayması)

  • Büyük pencerelerde tepki yavaştır

  • Herkese uyan tek boyutlu çözüm değildir; pencere boyutu dikkatle seçilmelidir


C Dilinde Moving Average Filter Nasıl Uygulanır?

Aşağıda, hareketli ortalama filtresinin C dilinde farklı şekillerde uygulanışı anlatılmaktadır.

1. Temel Uygulama: Döngüyle Ortalama Alma

Kullanımı:

Eksisi:

Her yeni örnekte tüm pencereyi toplar, bu da işlemciyi yorar.


2. Kayan Pencere ile Optimizasyon (Dairesel Buffer Kullanımı)

Dairesel (circular) buffer ve kayan toplam yaklaşımıyla işlem yükü azaltılabilir.

Kullanımı:

Avantajı:

  • Her örnek için sadece iki toplama/çıkarma işlemi gerekir.

  • Özellikle gömülü sistemlerde çok daha hızlıdır.


3. Uygulama Alanları

  • Sensör verilerinin düzeltilmesi (ör. sıcaklık, ivmeölçer)

  • Finansal zaman serilerinde veri yumuşatma

  • Gürültülü sinyal filtreleme (ör. ADC verisi)

  • Otomotivde, tıbbi cihazlarda, endüstriyel kontrol sistemlerinde


Pencere Boyutu (Window Size) Nasıl Seçilmeli?

  • Küçük pencere (örn. 3–5): Ani değişimlere daha duyarlı, az gecikme.

  • Büyük pencere (örn. 20–50): Daha yumuşak sonuç, daha fazla gecikme.

Kullanım amacınıza ve verinizin doğasına göre pencere boyutunu dikkatli seçmelisiniz.


Kodun Tamamı: Basit Moving Average Filter Kütüphanesi

Sonuç

Hareketli ortalama filtresi, basitliği ve etkililiğiyle öne çıkan bir filtreleme yöntemidir. C dilinde uygulanması da oldukça kolaydır. Kodunuzu ve pencere boyutunuzu ihtiyacınıza göre optimize ederek, birçok gerçek zamanlı uygulamada başarılı sonuçlar elde edebilirsiniz.

Sen de uygulaman için yukarıdaki örnekleri kolayca entegre edebilirsin!

8 Nisan 2025 Salı

STM32CubeIDE’de Canlı Değişken Takibi: Debug Sürecini Güçlendiren İpucu

STM32CubeIDE, STM32 mikrodenetleyici projelerinde hem geliştirme hem de hata ayıklama süreçlerini kolaylaştıran güçlü bir araç. Ancak çoğu kullanıcı, debug sürecini sadece breakpoint koyup değişkenleri tek tek kontrol ederek geçiriyor. Oysa ki “Live Expressions” (canlı ifadeler) özelliği ile, debug sırasında gerçek zamanlı değişken değişimlerini izleyerek çok daha verimli bir şekilde sorunları analiz edebilirsiniz.

Bu yazıda, STM32CubeIDE’de canlı değişken takibi nasıl yapılır, ne gibi avantajlar sağlar ve bunu bir örnek proje üzerinden nasıl kullanabileceğinizi adım adım anlatacağım.


Nedir Bu "Live Expressions"?

Live Expressions penceresi, kodunuz çalışırken belirli değişkenleri (ya da ifadeleri) sürekli gözlemlemenizi sağlar. Kod breakpoint’te durmasa bile, değişkenlerin değerleri anlık olarak güncellenir. Bu, özellikle zamanla değişen sayıcılar, PWM duty cycle’ları veya sensör değerleri gibi dinamik verileri takip etmek için çok faydalıdır.


Neden Kullanmalısınız?

Live Expressions ile şunları kolaylıkla yapabilirsiniz:

  • Kod kesintiye uğramadan değişkenleri takip edebilirsiniz.

  • Belirli bir algoritmanın anlık çıktısını grafiksel ya da sayısal olarak izleyebilirsiniz.

  • Delay’lerle uğraşmadan, breakpoint koymadan performans sorunlarını veya mantıksal hataları yakalayabilirsiniz.

  • Gerçek zamanlı sistemlerde, kod akışını bozmadan değerlerin nasıl değiştiğini görme imkânı sağlar.


Uygulamalı Örnek: ADC ile Sıcaklık Ölçümü

Diyelim ki bir STM32F103RB mikrodenetleyici ile dahili sıcaklık sensöründen ADC kullanarak sıcaklık değeri okuyoruz. Kodumuz şöyle:

c
#include "main.h" ADC_HandleTypeDef hadc1; float temperature = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if (hadc->Instance == ADC1) { uint32_t adc_val = HAL_ADC_GetValue(&hadc1); temperature = ((float)adc_val) * 3.3f / 4096.0f; // Voltaj temperature = ((temperature - 0.76f) / 0.0025f) + 25; // Sıcaklık (yaklaşık hesap) } } int main(void) { HAL_Init(); SystemClock_Config(); MX_ADC1_Init(); HAL_ADC_Start_IT(&hadc1); while (1) { HAL_Delay(500); // Sıcaklık değerini yarım saniyede bir güncelliyoruz } }

Adım Adım: Live Expressions Kullanımı

1. Debug Moduna Geçin

Projeyi build ettikten sonra Debug moduna geçin (F11 veya üstteki bug ikonuna tıklayarak).

2. Live Expressions Panelini Açın

Debug görünümüne geçtikten sonra:

  • Menüden Window > Show View > Expressions yolunu izleyin.

  • Açılan panelin ismi "Expressions" olabilir ama bu panel canlı güncelleme desteği sunar.

3. Değişken Ekleyin

  • Expressions paneline sağ tıklayın ve Add Watch Expression seçeneğine tıklayın.

  • Açılan kutuya temperature yazın.

  • Enter’a bastığınızda, değişken panelde belirecek.

4. Canlı Güncellemeyi Görüntüleyin

  • Kod hala çalışırken (pause durumda değilken!) temperature değerinin saniyede iki kez güncellendiğini göreceksiniz.

  • Değer sürekli güncelleniyorsa, sisteminizde herhangi bir kesinti olmadan anlık sıcaklık verisini izleyebiliyorsunuz demektir.


İleri Seviye: İfade Takibi (Expression Tracking)

Bu panelde sadece değişken değil, ifade de yazabilirsiniz. Örneğin:

temperature > 30

şeklinde yazarsanız, bu ifade true veya false olarak sürekli değerlendirilir. Bu da debug sürecinde koşul kontrollerini anında görmek için ideal bir yöntemdir.


İpuçları & Dikkat Edilmesi Gerekenler

  • Optimization seviyeleri yüksekse (-O2, -O3) bazı değişkenler derleyici tarafından optimize edilebilir ve debug sırasında görünmeyebilir. Geliştirme aşamasında -O0 (optimizasyon kapalı) kullanmanızı öneririm.

  • Eğer değişken global değilse, yani fonksiyon içindeyse ve static değilse, Live Expressions’da gözükmeyebilir. Bu durumda değişkenin kapsamını değiştirin.

  • volatile tanımlaması, anlık değişen donanım temelli değişkenlerde kritik öneme sahiptir. Bu sayede değer her seferinde RAM’den okunur.


Sonuç: Canlı Takiple Daha Akıllı Debug

Live Expressions, STM32CubeIDE’nin az bilinen ama çok etkili bir özelliği. Özellikle gömülü sistemlerde, zamanla değişen verileri izlemek ve mantıksal hataları tespit etmek için oldukça kullanışlıdır.

Her debug seansında breakpoint koymak yerine, bu özelliği kullanarak sisteminizi çalışır haldeyken analiz edebilir, daha kısa sürede daha isabetli çözümler üretebilirsiniz.


Eğer bu özelliği daha önce kullanmadıysanız, bir sonraki debug seansınızda denemenizi kesinlikle tavsiye ederim. STM32CubeIDE’nin sunduğu bu ve benzeri küçük araçlar, geliştirme sürecinizde büyük farklar yaratabilir.

5 Ocak 2025 Pazar

STM32 Mikrodenetleyicilerde HR Timer Kullanımı ve Avantajları #STM32Tips

STM32 mikrodenetleyiciler, geniş özellik yelpazesiyle hem basit uygulamalar hem de endüstriyel seviyede karmaşık projeler için ideal çözümler sunar. Bu özellikler arasında yer alan HR (High-Resolution) Timerlar, özellikle yüksek hassasiyet gerektiren uygulamalarda öne çıkar. Bu yazıda, HR timerların işlevleri, avantajları ve kullanım alanları hakkında bilgi edineceksiniz.

HR Timer Nedir?

HR timer, geleneksel timer birimlerine kıyasla çok daha yüksek çözünürlükte zamanlama ve sinyal oluşturma yeteneği sunan bir bileşendir. Standart timerlar genellikle mikrodenetleyicinin saat frekansı ile sınırlıyken, HR timerlar ek interpolasyon teknikleri kullanarak daha hassas kontrol sağlar.

HR Timerların Özellikleri

  • Yüksek çözünürlük: Nano saniye seviyesinde hassas PWM (Pulse Width Modulation) çıkışı.
  • Esnek PWM yapılandırması: Çeşitli sinyal frekanslarında ve genişliklerinde hassas sinyal üretimi.
  • Senkronizasyon yetenekleri: Birden fazla timer birimi ile senkronize çalışarak karmaşık kontrol döngüleri oluşturma.
  • Geniş uygulama desteği: Motor kontrolü, güç elektroniği ve hassas veri toplama sistemlerinde kullanıma uygun.

Kullanım Alanları

  1. Motor Kontrolü: FOC (Field Oriented Control) algoritmaları gibi hassas kontrol tekniklerinde HR timerlar kritik bir rol oynar.
  2. Güç Elektroniği: Anahtarlamalı güç kaynaklarında veya inverter tasarımlarında hassas zamanlama sağlanır.
  3. Hassas Sensör Kontrolü: Lidar ve benzeri uygulamalarda yüksek çözünürlüklü zamanlama gereksinimleri karşılanır.
  4. Ses İşleme ve Modülasyon: Audio DAC kontrolü ve yüksek kaliteli modülasyon işlemlerinde kullanılır.

STM32 Ailesinde HR Timerlar

HR timerlar genellikle STM32'nin STM32G4 ve STM32H7 serisi gibi performans odaklı modellerinde bulunur. Bu serilerdeki HR timerlar, mikrodenetleyicilerin DSP ve motor kontrol özellikleriyle entegre çalışarak yüksek hassasiyetli uygulamalara imkan tanır.

HR Timer Kullanımı

HR timerları kullanmak için STM32CubeIDE gibi geliştirme araçları tercih edilir. STM32CubeMX yardımıyla timer yapılandırması yapılabilir. Örneğin:

  • PWM modunun seçimi.
  • Timer frekansı ve periyodunun ayarlanması.
  • HR timer interpolasyon modunun aktif edilmesi.

Sonuç

STM32 mikrodenetleyicilerde HR timerlar, hassasiyetin ön planda olduğu projelerde önemli avantajlar sunar. Motor kontrolünden güç elektroniğine kadar geniş bir uygulama yelpazesinde kullanılabilen bu timerlar, tasarımcılara zamanlama ve sinyal oluşturma konusunda büyük esneklik sağlar.

31 Mayıs 2024 Cuma

Diyot Tipleri, Kullanım Alanları

Bu yazıda diyot tipleri ve ana kullanım alanları listelenmiştir.

  • P-N Junction-General Purpose Diode: Akımın tek yönde iletilmesini sağlar. İletim yönünde üzerine ~0.7V gerilim düşer. Genellikle doğrultucu olarak kullanılır. Aynı zamanda devre güç girişlerinde ters kutuplamadan/polariteden korunmak için de kullanılır.


  • Schottky Diode: Genel kullanım diyot ile benzer özelliklerdedir. Farklı kılan kısmı İletim yönünde üzerine daha düşük gerilim düşer. Bu sayede yüksek hızlı anahtarlama devrelerinde hızlı geri toparlama özelliği sayesinde sıklıkla kullanılır. Bu uygulamalarda üzerinde harcanan güç daha düşük olduğu için verimi daha yüksektir.

  • Zener Diyot: Belirli bir ters gerilimde iletime geçer ve gerilimi sabitlemeye yarar. Bu özelliği sayesinde gerilim regülatör devrelerinde, referans gerilim üreteçlerinde ve aşırı gerilim koruma devrelerinde kullanılır.

  • Transient Voltage Suppression Diode (TVS): Ani ve yüksek gerilim yükselmelerine karşı koruma sağlar. Elektronik cihazları yıldırım düşmesi, elektrostatik deşarj veya endüktif yüklerin sebep olduğu ani gerilim yükselmelerinden korur.


  • Light-Emitting Diode (LED): İleri yönde akım geçtiğinde ışık yayan yarı iletken diyottur. Farklı yarı iletken malzemeler kullanılarak farklı dalga boylarında (renklerde) ışık üretebilir. Aydınlatma, gösterge, sinyalizasyon ve haberleşme gibi birçok alanda kullanılır.


  • Fotodiyot: Üzerine düşen ışık miktarına bağlı olarak akım üreten diyottur. Işığı elektrik sinyaline dönüştürdüğü için ışık sensörleri, otomatik aydınlatma sistemleri, kamera pozometreleri ve tıbbi görüntüleme cihazlarında kullanılır.


  • Varaktör Diyot (Varikap): Uygulanan ters gerilime bağlı olarak kapasitans değeri değişen diyottur. Bu özelliği sayesinde radyo ve televizyon alıcılarında frekans ayarlama, osilatör devrelerinde frekans kontrolü ve parametrik yükselteçlerde kullanılır.


  • Tünel Diyot: Kuantum tünelleme etkisiyle çalışan özel bir diyot türüdür. Çok hızlı anahtarlama özelliği sayesinde yüksek frekanslı osilatör ve yükselteç devrelerinde kullanılır.


  • Lazer Diyot: Uyarılmış ışık emisyonu ile ışık üreten özel bir diyot türüdür. Ürettiği ışık, tek renkli, tutarlı ve yönlüdür. Optik fiber iletişim sistemleri, barkod okuyucular, lazer yazıcılar, lazer işaretleyiciler ve tıp alanında kullanılır.



Kaynaklar

  • https://www.globalspec.com/learnmore/semiconductors/discrete/diodes/general_purpose_diodes
  • https://www.build-electronic-circuits.com/schottky-diode/
  • https://www.build-electronic-circuits.com/zener-diode/
  • https://uk.rs-online.com/web/content/discovery/ideas-and-advice/tvs-diodes-guide
  • https://www.electrical4u.com/led-or-light-emitting-diode/
  • https://elektrikbilim.com/1009-fotodiyotlar.html
  • https://diyot.net/diyot-cesitleri-1/
  • https://www.derstagram.com/tunnel-diyot-nedir-nasil-calisir/
  • https://tekfaz.com/lazer-diyot-nedir-yapisi-ve-calisma-prensibi.html

19 Mart 2024 Salı

CAN Bus Frame Tipleri

Yazıya başlamadan önce CAN Bus temelleri ve mesaj yapısının temellerini incelemek için bu linkte yer alan blog yazısını inceleyebilirisiniz.

CAN Bus hattında kullanılan 4 tip frame (çerçeve, yapı) vardır.

  • Data Frame: Data framei, temelde data/veri taşımak için kullanılan ana yapıdır. CAN Bus sistemleri arasında veri transferi için kullanılır. Tek bir data framei üzerinden minimum 1 maksimum 8 byte veri transferi tek seferde gerçekleştirilebilir.
  • Remote Frame: Remote frame, veri talep etme frameidir. Remote framede tanımlanan ID CAN Bus ağına basılır. İlgili mesaj paketini barındıran sistem bu ağa ilgili data frameini basar. Remote frame, bir sistemin, bir veriye özellikle ihtiyaç duyduğu zamanda kullanılır.
  • Error Frame: SOF ile CRC arasında 6 veya 12 bit boyunca aynı seviye (High/Low, Recessive/Dominant) veri gönderilmesiyle error framei tanımlanmış olur ve hattaki sistemler ilgili framei error frame olarak işaretler. Error frame istemli gönderilen bir frame değildir. Bir sistem bir paketi göndermeye başladıktan sonra bir hata tespit edilirse ilgili frame error frameine çevrilir.
  • Overload Frame: CAN Bus peripheralı meşgul olduğu durumlarda hattı meşgul tutmak için overload frame hatta basar. Bu bilgi hattın durdurulması için kullanılır. Günümüzde genellikle kod üzerinden kontrol edilmez. CAN Bus peripheralları bu durumu kendisi tespit eder ve gerektiği kadar hattı meşgulde tutar, sonrasında bırakır.



Kaynaklar
  1. https://medium.com/@mohammednumeir13/can-protocol-types-of-can-frames-51c8444176bb
  2. https://www.researchgate.net/publication/340883976_Cyberattacks_and_Countermeasures_For_In-Vehicle_Networks/figures?lo=1

6 Mart 2024 Çarşamba

POWERB Alkaline LR03 AAA 1.5 Volt Pil Değerlendirmesi @250mA

Bu yazıda testimizi 250 mA seviyesinde gerçekleştirdik. 250 mA sabit akımda voltaj grafiği 800 mV'u yaklaşık 2,4 saatte kesiyor. Bu durumda POWERB Alkaline LR03 AAA pilin kapasitesi 2,4 h*250 mA hesabından 600 mAh olarak bulunur.

Test düzeneği ve ölçüm ile ilgili konulara buradaki yazıdan ulaşabilirsiniz.









Label order: Row ID | Time Stamp (Millisecond) | Voltage (mV) | Current (mA) | Set Current (mA)

Veri seti

Pil Kıyaslama Yazıları

1 Mart 2024 Cuma

CAN Bus Fiziksel Katmanı

CAN (Controller Area Network) Bus CANH, CANL şeklinde isimlendirilen ikili hat üzerinden birden çok sistemin konuşabildiği, aynı anda tek bir sistemin konuştuğu (half-dublex), yüksek hızlı uygulamalara izin veren bir ağ yapısıdır.

Haberleşme yapılarında farklı seviye katmanlar ve uygulama tipleri vardır. Bu kapsamda CAN Bus'ın fiziksel katmanı üzerine detaylı bir inceleme gerçekleştirilmiştir.

Bu konuya giriş yaparken donanım seviyesinden işi ele alıp elektriksel seviyeye ilerlemek mantıklı olacaktır.

Öncelikle yazı  kapsamında kullanılacak tanımlardan bahsetmek gerekirse, sistem ifadesini CAN Bus hattına bağlanabilen ve haberleşebilen her şey olarak düşünebiliriz. Otomotiv üzerinden örnek verecek olursak VCU, BMS, Inverter gibi CAN Bus ile haberleşen yapılara sistem diyebiliriz.

Bir CAN Bus hattı CANH ve CANL hatlarının burulmuş çifti (twisted pair) ile birbirine bağlanır. Bu yapı ethernet kablolarında da benzer şekilde kullanılır. Bu bağlantı elektromanyetik yayılıma karşı hattın güçlü olmasını sağlar. Bu yapıda hat üzerinde indüklenen gürültü akımları her iki hatta neredeyse ortak seviyede etkileyeceği için CANH, CANL arasındaki fark neredeyse sabit kalır. 

Örnek bir burulmuş çift (twisted pair) görseli aşağıda görebilirsiniz.

CANH, CANL twisted pair kablo üzerinden iletildikten sonra elektronik devre üzerindeki yapılar ile karşılaşıyoruz. Burada temel yapıyı anlamak için CAN Bus dönüştürücüler ile anlatıma devam etmek faydalı olacaktır. Sektörde de sıklıkla kullanılan SN65HVD1050 entegresini örnek olarak ele alabiliriz. Bu yapılar mikrodenetleyicilerden çıkan CANTX, CANRX pinlerini CANH, CANL seviyesine dönüştürür. CAN Bus dönüştürücü entegrelerinin ana görevi budur. Tamamen analog yapılar bu dönüşüm için yeterlidir. Bununla birlikte hat ile ilgili temel elektriksel kontrolleri yapabilir. Entegre özelinde sıcaklık kontrolü ve koruması yapabilir. ESD korumaları sağlayabilir. Bublar zorunlu fonksiyonlar değildir.

SN65HVD1050'nin iç yapısı aşağıdaki gibidir.

CAN Bus dönüştürücüleri giriş tarafında CANH, CANL değerlerinin elektriksel farkına göre RXD ucuna 1/0 bilgisi gönderir. CANH, CANL aynı değerlerde ise lojik 1, aradaki fark 2.5 V ise lojik değer 0'dır.


Gönderici taraftan bakacak olursak TXD pini üzerinden bir sürücü kısım aktifleşir ve çıkış anahtarlarını sürer. Bu anahtarlar TXD lojik 0 iken aktif çalışır ve CANH, CANL hattını 2.5 V farka çeker. Aksi durumda aynı değerde tutar.

CAN Bus'ın özelliklerinden biri hattı sürerken aynı zamanda aktif olarak okumaya devam etmesi ve CAN mesaj paketi içerisinde belli bitleri takip ederek karşı alıcının mesajı sağlıklı bir şekilde alıp almadığını doğrulamasıdır. Bu sayede gönderilen mesajların en az bir alıcıya ulaşıp ulaşmadığından gönderici taraf emin olur.

Ek ve büyük bir katkısı da veri gönderirken okumaya devam etmesi sayesidne herhangi bir durumda önceliği yüksek bir mesaj paketi başka bir sistem üzerinden gönderilirse, hattı her sistem sürekli okuyarak çalışmaya devam ettiği için ilgili yüksek öncelikli mesaja diğer tüm sistemler izin/öncelik verir.

Kaynaklar:

  1. https://www.ti.com/lit/an/sloa101b/sloa101b.pdf

Duracell Alkaline LR14 1.5 Volt Pil Değerlendirmesi @250mA

Bu yazıda testimizi 250 mA seviyesinde gerçekleştirdik. 250 mA sabit akımda voltaj grafiği 800 mV'u yaklaşık 19,8 saatte kesiyor. Bu durumda Duracell Alkaline LR14 pilin kapasitesi 19,8 h*250 mA hesabından 4950 mAh olarak bulunur.

Test düzeneği ve ölçüm ile ilgili konulara buradaki yazıdan ulaşabilirsiniz.









Label order: Row ID | Time Stamp (Millisecond) | Voltage (mV) | Current (mA) | Set Current (mA)

Veri seti

Pil Kıyaslama Yazıları

20 Şubat 2024 Salı

Panasonic General Purpose Zinc Carbon R6BE AA 1.5 Volt Pil Değerlendirmesi @250mA

Bu yazıda testimizi 250 mA seviyesinde gerçekleştirdik. 250 mA sabit akımda voltaj grafiği 800 mV'u yaklaşık 1,4 saatte kesiyor. Bu durumda Panasonic General Purpose Zinc Carbon R6BE AA pilin kapasitesi 1,4 h*250 mA hesabından 350 mAh olarak bulunur.

Test düzeneği ve ölçüm ile ilgili konulara buradaki yazıdan ulaşabilirsiniz.







Label order: Row ID | Time Stamp (Millisecond) | Voltage (mV) | Current (mA) | Set Current (mA)

Veri seti

Pil Kıyaslama Yazıları


3 Ocak 2024 Çarşamba

Panasonic Alkaline Power LR6 AA 1.5 Volt Pil Değerlendirmesi @500mA

Bu yazıda testimizi 500 mA seviyesinde gerçekleştirdik. 250 mA standardına göre yapılmadığı için katalog değeri olan kapasite değeri değildir ancak 500 mA sabit akımda Panasonic Alkaline Power LR6 AA pilin kapasitesi 1050 mAh'dir. 250 mA için daha yüksek olması gerekmektedir. İlgili grafikler ve veri setleri aşağıdadır.

Test düzeneği ve ölçüm ile ilgili konulara buradaki yazıdan ulaşabilirsiniz.




Label order: Row ID | Time Stamp (Millisecond) | Voltage (mV) | Current (mA) | Set Current (mA)

Veri seti

Pil Kıyaslama Yazıları



16 Aralık 2023 Cumartesi

Batarya Test Düzeneği ve Meganit LR6 AA alkalin 1.5 Volt Pil Değerlendirmesi @250mA

Çeşitli veri toplama işleri için tasarladığım esdaq ve elektronik yük olarak kullandığım Pratic Load Bank kartlarını kullanarak batarya değerlendirmesi yapabilmek adına bir düzenek ve LabVIEW ortamında demo bir program oluşturdum. Demo programına buradaki link üzerinden erişebilirsiniz (Özel bir amaca tasarlanmadığı için düzen problemleri vardır). Kullandığım pil yuvası da 3D yazıcıdan çıkartılmış bir yuvadır. Düzeneğin bir görseli aşağıda verilmiştir.


Oluşturulan yapının şema gösterimi de aşağıda verilmiştir.


Bu çalışmadaki amaç bataryaların farklı durumlarda gösterdiği davranışı kayıt altına almak ve SoC, SoH gibi hesaplamalar için girdi vermeyi sağlayabilmek.

Öğrendiğim kadarıyla kalem pil diye adlandırdığımız AA boyutta 1.5 V piller 250 mA sabit akımda 0.8 V a kadar geldiği süre üzerinden standard kapasite ölçümü yapılır. Bu şekilde bakınca örneğin 250 mA sabit akıma ayarlanmış bir pil 10 saat boyunca 250 mA akımı sağlarsa 10*250 hesabı üzerinden 2500 mAh kapasiteye sabittir denir.

Aşağıda verilerini paylaştığım pil testinde sabit 250 mA akım altında yaklaşık 6 saatlik bir deney gerçekleştirilmiştir. Pil gerilimi ~6. saatte 800 mV a gelmiştir. Bu verilerin ışığında pilin kapasitesini 6 h*250 mA=1500 mAh olarak hesaplayabiliriz. Bu hesap çekilen akım değerine göre değişecektir. Örneğin testi 500 mA ile yaparsak kapasite <1500 mAh olacaktır. Test 100 mA ile gerçekleştirilirse de kapasite >1500 mAh olacaktır.



İlerleyen süreçlerde farklı pillerin farklı akım değerlerinde testlerini girmeye çalışacağım. Yine de belki işe yarar diye yaptığım testin tüm verisini ham olarak aşağıdaki link üzerinden paylaşıyorum.

Label order: Row ID | Time Stamp (Millisecond) | Voltage (mV) | Current (mA) | Set Current (mA)

Veri seti

2 Nisan 2023 Pazar

Birim Adım Cevabına Göre İkinci Dereceden Sistemlerin Sınıflandırılması

Tabii, şimdi birim adım cevabına göre ikinci dereceden sistemlerin sınıflandırılmasını açıklayan bir blog yazısı yazacağım.

İkinci dereceden sistemler, bir giriş sinyaline karşılık olarak bir çıkış sinyali üreten sistemlerdir. Bu sistemlerin matematiksel modelleri ikinci dereceden diferansiyel denklemlerle ifade edilir. Bu denklemlerin genel formu şöyledir:

adt2d2y+bdtdy+cy=f(t)

Burada, $y$ çıkış sinyalini, $f(t)$ giriş sinyalini, $a$, $b$ ve $c$ ise sistem parametrelerini temsil eder.

İkinci dereceden sistemler, genellikle aşağıdaki şekilde sınıflandırılır:

  • Aşırı sönümlü sistemler (Overdamped Systems):

Bu sistemlerin karakteristik denklemi, gerçel, farklı ve negatif köklere sahiptir. Bu durumda, sistem çıkışı, giriş sinyalinin istenen değerine kararlı bir şekilde yaklaşırken, aşırı sönümlü sistemlerin çıkış sinyali, birkaç kez aşım yapabilir ve daha sonra giriş sinyalinin istenen değerine kararlı bir şekilde yaklaşabilir. Bu sistemler, aşırı sönümlü sistemler olarak adlandırılır.

  • Kritik sönümlü sistemler (Critically Damped Systems):

Bu sistemlerin karakteristik denklemi, çift köklüdür ve bu köklerin değeri eşittir. Bu durumda, sistem çıkışı, giriş sinyalinin istenen değerine kararlı bir şekilde yaklaşırken, kritik sönümlü sistemlerin çıkış sinyali, aşırı sönümlü sistemlerin çıkış sinyalinden daha hızlı bir şekilde istenen değere yaklaşır.

  • Aşırı sönümsüz sistemler (Underdamped Systems):

Bu sistemlerin karakteristik denklemi, karmaşık köklere sahiptir. Bu durumda, sistem çıkışı, giriş sinyalinin istenen değerine kararlı bir şekilde yaklaşırken, aşırı sönümsüz sistemlerin çıkış sinyali, aşırı sönümlü sistemlerin çıkış sinyalinden daha hızlı bir şekilde istenen değere yaklaşırken, sürekli olarak salınır. Bu sistemler, aşırı sönümsüz sistemler olarak adlandırılır.

Bu sınıflandırmalar, sistem davranışının analizi için kullanışlı bir araçtır ve birim adım cevabına göre ikinci dereceden sistemlerin davranışını anlamak için kullanılabilir.


Referans ve Kaynaklar
  1. https://www.quora.com/What-are-over-damped-critically-and-under-damped-systems


Otomotiv Ethernet vs CAN FD: Hangisi Otomotivin Geleceği?

🚗 Otomotiv Ethernet vs CAN FD: Hangisi Otomotivin Geleceği? Günümüzde otomotiv elektroniği baş döndürücü bir hızla gelişiyor. Otonom sürü...