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

26 Şubat 2024 Pazartesi

ESP32 ile Kristal veya Osilatör Kullanmadan RMII Üzerinden Ethernet Haberleşmesi ve İpuçları

İnternette gördüğüm ESP32 ve ethernet uygulamalarının çoğunda ethernet chipine kristal takarak uygulama çalıştırılmış. Bunun sinyal kalitesi açısından faydası olabilir ancak tek çözüm bu değil. ESP32 modüllerinden de ethernet için gerekli clock çıkışını alabilirsiniz.

Bunun için örnek devrede de gösterildiği gibi ESP32 ile ethernet chipinin clock uçlarını birleştirmek yeterli. Burada frekans 50 MHz mertebesinde olduğu için mümkün oldukça yakın olması önemli.

Benim yaptığım uygulamadan hat boyu yaklaşık 44 mm ve 2 adet via kullanılıyor. Buna rağmen sorunsuz bir şekilde sistemin çalıştığını gördüm.



ESP32 clock çıkışı için GPIO0, GPIO16, GPIO17 pinleri kullanılabilir.


Arduino arayüzünde varsayılan olarak clock ESP32'ye girecek şekilde tanımlanmıştır. Ethernet clock çıkışını tanımlamak için aşağıdaki satır kullanılabilir. Bu begin fonksiyonu üzerinden ethernet chipi, clock yönü ve pini seçilebilir.

ETH.begin(0,-1,23,18,ETH_PHY_LAN8720,ETH_CLOCK_GPIO17_OUT);

Kaynaklar;

  • https://docs.espressif.com/projects/esp-idf/en/release-v3.1/api-reference/ethernet/esp_eth.html
  • https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf

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 0,35 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 1,05 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ı



31 Aralık 2023 Pazar

CAN Bus Temel Özellikler, Avantajları ve Dezavantajları

Temel Özellikler

  • Bükümlü çift yapısında iki kablo
  • Hat baş ve sonra 2 direnç ile sonlandırılır
  • ~40 metre kablo için 1 Mbps veri iletim hızı vardır
  • Bir mesaj paketinde azami 8 byte veri gönderilir
  • Mesaj gönderme alma prosedürü hatalara dirençli (robust) bir şekilde çalışır
  • Mesaj ID'sine göre önceliklendirme yapısı vardır
  • İki sistem aynı anda mesaj paketi iletmek istese bile ID önceliklendirme yapısı hatayı engeller
  • Mesajlar hat üzerindeki tüm sistemlere iletilir
  • Mesaj iletilmeme durumunda yeniden gönderme yapısı CAN kontrolcüsü üzerinde gerçekleştirilir
  • Sabit/Sürekli bir hata durumunda CAN kontrolcüsü kendini belli durumlarda durdurur

Avantajlar

  • Düşük kablolama karmaşıklığı
  • Araç kablolama işlemlerinde kolaylık
  • Hatta yeni bir sistem eklemek veya hattan bir sistemi kaldırmakta kolaylık
  • Kapalı bir sistem hattı etkilemez
  • Çoklu yönetici, her bir sistem hatta veri basabilir ve hat üzerinde bulunan veriyi okuyabilir
  • Elektromanyetik yayılımdan etkilenmesi halinde emniyetlidir
  • Hata tespit yapıları vardır
  • Arıza durumunda teşhis ve bakım kolaylıkla yapılır
Dezavantajlar
  • Veri iletişim hızı ~1Mbps hızında sınırlıdır
  • Basit protokollere göre uygulaması daha maliyetlidir
  • Siber ataklara karşı açıktır. Kolaylıkla hatta erişilip veriler manipüle edilebilir




23 Aralık 2023 Cumartesi

CAN Bus Temelleri ve Bir Mesajının Yapısı

CAN (Controller Area Network) Bus Robert Bosch GmbH tarafından oluşturulmuştur. 1986'da RB GmbH tarafından SAE'de yayınlanmıştır. Takip eden yıllarda CAN Bus'ın farklı versiyonları yayınlanmıştır ve ISO tarafından standardize edilmiştir. CAN Bus günümüzde içten yanmalı ve elektrikli bir çok araç tipinde aktif olarak kullanılan ve temel kontrol yetenekleri dolayısı ile sıklıkla tercih edilen bir haberleşme protokolüdür.

CAN Bus, mesaj tabanlı bir haberleşme protokolüdür. Hat üzerinde bulunan bütün noktalar hatta veri basabilir ve veriyi okuyabilir. Fiziksel olarak CANH, CANL şeklinde isimlendirilen iki fiziksel hat üzerinden iletilir. Fiziksel hat üzerinde bulunan voltaj farkı üzerinden çalışır.

CAN Bus ile haberleşen bir ağın fiziksel bağlantısı aşağıdaki gibidir. Bir hat boyunca bir çok sistem bağlanabilir. Her bir sistem ağa mesaj gönderebilir ve okuyabilir.

CAN Bus'a bağlantı için transreceiver yapılarına ihtiyaç duyulur. Mikrodenetleyiciler ile CANH, CANL hatları arasında aşağıdaki gibi transreceiver yapıları kullanılır. Mikrodenetleyiciler tarafında Rx, Tx hatları ile iletişim kurulur.

Aşağıda verilen görselde CANH, CANL hatlarındaki değişim ve bu değişimin CAN Rx ucundaki karşılığını gözlemleyebilirsiniz. CANH, CANL aynı seviyede iken CAN Rx 1'dir. Aksi durumda CAN Rx 0 olur. 0 değeri CAN Bus için baskın bit olarak ifade edilir.

Bir önceki görsel üzerinden CAN Bus mesajını inceleyecek olursak;

  • Start of frame: Bir CAN Bus mesajı 0 biti ile başlar.
  • ID-Arbitration: Takip eden bitler mesaj ID sini ifade eder. Mesaj ID'si aynı zamanda paketin önceliğini de ifade eder. Örneğin aynı anda iki sistem hatta veri basmak isterse CAN Bus'ın önceliklendirme yapısına göre değerlendirilir. Çok basitçe ifade etmek gerekirse Veri gönderimi başladığı anda bir mesajın ID'si ne kadar 0 ile başlarsa o kadar baskındır. Görseldeki sıraya göre "00001xx" ve "00100xx" başlayan iki mesaj paketi gelirken birinci paket önceliklendirilir ve ikinci paketi gönderen sistem gönderimi durdurur.
  • RTR: Remote transmission request olarak geçer. Bir mesaj paketini başka bir sistemden talep etmek için kullanılır.
  • Control: Bu kısımda mesaj ile ilgili ek bilgiler yer alır.
    • IDE: ID Extend olarak geçer. 1 olması durumunda 18 bitlik daha ID kısmı aktif olur. Mesaj paketi toplamda 29 bitle ifade edilir.
    • DLC: Data length code olarak geçer. Mesaj paketinin kaç byte olduğunu ifade eder.
  • Data: Veri aktarma kısmıdır. Kullanıcının iletmek istediği veri tam olarak buradadır.
  • CRC: Veri paketinin doğruluğunu teyit etmek için kullanılır.
  • ACK: Gönderilen paketin en azından bir sistem tarafından alındığını ifade eder. Bu kısım Herhangi bir alıcı sistem üzerinden sürülür. Eğer CAN Bus üzerinde başka bir sistem yoksa bu bit 0 olmaz ve gönderici mesajın iletilemediğini anlar.
  • End of frame: Mesaj paketi sonunda 7 bit 1 gönderilir.

.

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

12 Aralık 2023 Salı

STM32 Serisi İşlemcilerde Timer/Sayaç Modülünü Interrupt/Kesme Modunda Başlatma #STM32Tips

STM32F ve STM32G serisi mikrodenetleyicilerde Device Configurator Tool ve HAL kütüphanesi ile oluşturulan yazılımlarda timer modülleri için gereken ayarlar yapılır. Bu kapsamda timerların prescaler ve counter period gibi seçenekleri ayarlanır. Bunlarla beraber timer interruptları enable edilir.

Bu şekilde konfigürasyon yapıldıktan sonra kod oluşturulur.

Oluşturulan kodda timer başlatılmamış şekilde bir yapı kullanıcıya sunulur. İlgili timerları interrupt modunda başlatmak için aşağıdaki fonksiyon kullanılır. Bu fonksiyonda altı çizili htimX ilgili timerı ifade eder ve X yerine timer numarası yazılır.

HAL_TIM_Base_Start_IT ( &htimX );

Timerlar için yapılan konfigürasyona göre bu fonksiyonun çağrılma yapısı değişiklik gösterir. Auto-Reload edilmiş bir timer için bu fonksiyonu bir defa çalıştırmak yeterlidir.

Belli bir duruma göze özellikle tetiklenecek bir yapı var ise bu fonksiyon her tetiklemede tekrar çağrılır. Şart değil ancak bu modda genellikle auto-reload disable edilmiştir.



20 Nisan 2023 Perşembe

Otomotivde Pasif ve Aktif Emniyet Kavramları (Active Safety/Passive Safety)

Otomotiv sektörü, araçların güvenliği ve emniyeti için sürekli olarak çalışmaktadır. Bu çalışmalar sonucunda otomotiv sektöründe Pasif ve Aktif Emniyet kavramları ortaya çıkmıştır.

Pasif Emniyet, araç kazası durumunda oluşabilecek zararları en aza indirmeyi amaçlayan bir sistemdir. Aktif Emniyet ise, araç kazasını önlemeyi amaçlayan bir sistemdir.

Pasif Emniyet Sistemleri, araç kazası durumunda yolcuların zarar görme riskini en aza indirmek için tasarlanmıştır. Bu sistemler, araç içi ve dışı güvenlik sistemlerini içerir. Örneğin, araç içi emniyet sistemleri arasında; kemerler, hava yastıkları, koltuk başlıkları, koltuk kemeri hatırlatıcıları, çocuk koltukları ve emniyet kafesleri gibi sistemler bulunur. Araç dışı emniyet sistemleri arasında ise; çarpışma anında aracın enerjisini emen ve yavaşlatan kasa yapısı, kaporta ve önemli parçaların çarpışma sonrası deformasyonu sonucunda yolcuların zarar görmesini önleyen sistemler yer alır.

Aktif Emniyet Sistemleri, araç sürüşü esnasında kazaları önlemek için tasarlanmıştır. Bu sistemler arasında, ABS (Anti-Blokaj Fren Sistemi), ESP (Elektronik Stabilite Programı), akıllı hız kontrolü, şerit takip sistemi, park asistanı ve uzaktan kumandalı acil durum freni gibi sistemler bulunur.

Günümüzde, otomotiv sektörü sürekli olarak Pasif ve Aktif Emniyet sistemlerini geliştirmektedir. Bu sistemler, araçların güvenliği ve emniyeti için çok önemlidir.



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


24 Ağustos 2022 Çarşamba

Unit Step Response (Birim Adım Cevabı)

Birim adım cevabı (step response), kontrol sistemlerinin dinamik performansını analiz etmek için önemli bir araçtır. Bu cevap, bir kontrol sistemi için birim adım girdisi (step input) uygulandığında, çıkışın nasıl davrandığını tanımlar. Birim adım girdisi, zamanda sıfır olan bir girdi sinyalidir ve zaman sıfırından sonra aniden bir değer alır. Bu nedenle, birim adım cevabı, kontrol sistemi çıkışının zamana bağlı olarak nasıl değiştiğini gösterir.

Birim adım cevabı, bir kontrol sistemi tasarlarken veya bir kontrol sistemi için performans değerlendirmesi yaparken çok önemlidir. Birim adım cevabı, kontrol sistemi çıkışının kararlılık, hız ve doğruluk gibi özelliklerini analiz etmek için kullanılır.

Birim adım cevabının analizi, bir dizi anahtar kelimeyi içerir. Bunlar arasında, kararlılık (stability), hız (speed), doğruluk (accuracy), yükselme zamanı (rise time), kararlı durum hatası (steady-state error), durulma süresi (settling time), aşım (overshoot) ve zirve zamanı (peak time) yer alır.

Kararlılık, bir kontrol sisteminin istikrarlı olup olmadığını ifade eder. Birim adım cevabı, bir kontrol sisteminin kararlılık özelliğini analiz etmek için kullanılır. Eğer birim adım cevabı kararlı bir çıkış sağlıyorsa, kontrol sistemi kararlıdır.

Hız, bir kontrol sisteminin ne kadar hızlı cevap verdiğini ifade eder. Birim adım cevabı, bir kontrol sisteminin hız özelliğini analiz etmek için kullanılır. Yükselme zamanı, bir kontrol sisteminin belirli bir yüzde değerindeki çıkışa ne kadar sürede ulaştığını ifade eder. Birim adım cevabı, yükselme zamanını belirlemek için kullanılır.

Doğruluk, bir kontrol sisteminin ne kadar doğru çalıştığını ifade eder. Birim adım cevabı, bir kontrol sisteminin doğruluk özelliğini analiz etmek için kullanılır. Kararlı durum hatası, bir kontrol sisteminin belirli bir yüzde değerindeki istenen çıkışa ulaşamama derecesini ifade eder. Birim adım cevabı, kararlı durum hatasını belirlemek için kullanılır.

Durulma süresi, bir kontrol sisteminin belirli bir yüzde değerindeki çıkışın istenen değere ulaşması için ne kadar süre gerektiğini ifade eder. Birim adım cevabı, durulma süresini belirlemek için kullanılır.

Aşım, bir kontrol sisteminin istenendeğerden fazla çıkmasıdır. Aşım, birim adım cevabı grafiği üzerinde zirve zamanı ve zirve değeri ile belirtilir.

Zirve zamanı, bir kontrol sistemi çıkışının en yüksek değere ne kadar sürede ulaştığını ifade eder. Birim adım cevabı grafiği üzerinde, zirve zamanı aşımın gerçekleştiği zamana denk gelir.

Birim adım cevabı, bir kontrol sistemi tasarlarken veya performansını değerlendirirken kullanılan bir araçtır. Birim adım girdisi uygulandığında, çıkışın nasıl değiştiğini gösterir ve kararlılık, hız ve doğruluk gibi özellikleri analiz etmek için kullanılır.

Kontrol sistemleri tasarımında ve performans analizinde kullanılan diğer anahtar kelimeler arasında frekans cevabı (frequency response), kök-ünite çevrimi (root locus), kutup-günüm gösterimi (pole-zero plot) ve Bode diyagramı yer alır.

Frekans cevabı, bir kontrol sistemi için girdiye verilen belirli bir frekansta çıkışın nasıl tepki verdiğini ifade eder. Frekans cevabı analizi, bir kontrol sisteminin frekans aralığında nasıl davrandığını analiz etmek için kullanılır.

Kök-ünite çevrimi, bir kontrol sisteminin kararlılık özelliğini analiz etmek için kullanılan bir yöntemdir. Kök-ünite çevrimi, köklerin (poles) ve kutupların (zeros) birim çember üzerinde nasıl yerleştiğini analiz eder.

Kutup-günüm gösterimi, bir kontrol sisteminin transfer fonksiyonunu kutuplar ve sıfırların yerlerini kullanarak gösteren bir yöntemdir. Kutup-günüm gösterimi, bir kontrol sisteminin kararlılık ve performans özelliklerini analiz etmek için kullanılır.

Bode diyagramı, bir kontrol sistemi için frekans cevabının bir grafiksel gösterimidir. Bode diyagramı, bir kontrol sisteminin frekans tepkisini analiz etmek için kullanılır.

Sonuç olarak, birim adım cevabı, kontrol sistemleri tasarımı ve performans analizinde önemli bir araçtır. Kararlılık, hız ve doğruluk gibi kontrol sistemleri özelliklerinin analizi için kullanılan bir dizi anahtar kelimeyi içerir. Frekans cevabı, kök-ünite çevrimi, kutup-günüm gösterimi ve Bode diyagramı gibi diğer yöntemler de kontrol sistemleri analizinde kullanılan önemli araçlardır.

İkinci dereceden bir sistemin birim adım 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

ESP32 ile Kristal veya Osilatör Kullanmadan RMII Üzerinden Ethernet Haberleşmesi ve İpuçları

İnternette gördüğüm ESP32 ve ethernet uygulamalarının çoğunda ethernet chipine kristal takarak uygulama çalıştırılmış. Bunun sinyal kalitesi...