Mühendislik Bitirme Tezi – 1.Bölüm – “Çok Kötü Bir Fikir!”

  • 5 ay önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 517 Kişi Okudu

Bu yazı dizisine başlarken sizlere direk olarak son sahneyi söylemek istiyorum. “Sonsuza dek mutlu yaşadılar…” cümlesi kulağa oldukça güzel geliyor dimi ? Tabiki böyle bir şey olmayacak. Kim bilir bu bitirme tezi başka hangi projelerin kapısını açacak ve kaç farklı başarısız fakat tecrübe dolu sonuçla karşılaşmamızı sağlayacak. Bu yazı dizisinde hem teknik hemde kitap okurcasına bir hava yaratmak adına yazım dilini sohbet tadında tutacağım. Ayrıca bu çalışmanın bir “Elektronik ve Haberleşme Mühendisliği Öğrencisinin Tezi” olarak değil, “Bölüm Sonu Canavarı” olarak isimlendirmek daha doğru olacaktır. Bu bölüm sonu canvarını için son sınıfta olduğuma göre hazırım ve tez fikrini belirlemem gerekiyor. Fikir aslında uzun zamandır aklımda fakat oldukça fazla bileşen olacağından ve daha önce hiç fiziksel olarak gerçeklemediğim bir alan olduğundan dolayı kafamda çok fazla soru işareti var diyebilirim. Aslında bu konuda biraz ilerleme kaydettim hatta kaydettik. Şimdi yazarken fark ettimde anlatacak o kadar çok şey birikmiş ki oldukça uzun bir hikaye olacak gibi duruyor. Neyse en iyisi siz bir bardak çay yada kahve hazırlayın bende size henüz yeni başlamış fakat uzun ve heyecanlı bir hikaye anlatayım.
(Devamını Oku)

Açık Kaynak ARM Geliştirme Ortamı – VS Code/CMake/GCC/OpenOCD/Nuvoton

  • 1 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.759 Kişi Okudu


Uzun süre çeşitli MCU’lar IDE’ler ve çeşitli derleyiciler kullanmış biri olarak geliştirme ortamının mikrodenetleyici programlayan biri için en önemli şey olduğunu söyleyebilirim. Özellikle 8-biti hariç tutup 32-Bit ARM tabanlı mikrodenetleyiciler ile çalıştığınızda farklı geliştirme ortamları ve derleyiciler ile çalışmak platform bağımsızlınızı ve esnekliğinizi kısıtlıyor. Uzun süre çeşitli geliştirme ortamlarını kullandıktan sonra Visual Studio Code önerisi almam üzerine bu editörde geliştirme ortamı kurmaya karar verdim. VS Code aslında kapsamlı bir Editör olsa da bazı eklentiler ve harici derleyici kurulumu ile hem bir derleme ortamı hem de hata ayıklayıcı özelliği kazanabiliyor. Bu  yazıda VS Code ve GCC kullanarak ARM tabanlı mikrodenetleyiciler ile geliştirme ortamı kurulumunu tamamlayıp sonuçlar üzerinden karşılaştırma yapalım. O halde lafı daha fazla uzatmadan kuruluma geçelim. (Devamını Oku)

IAR ile STM8S – SPI

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 3 Yorum
  • 3.049 Kişi Okudu

Özellikle sensör ve çeşitli modülleri kullanmaya çalıştığınızda görmekten kusacağınız 2 haberleşmeden biri olan SPI, ufak tefek detaylarıyla başımızı çok ağrıttığını söyleyebilirim. Merak etmeyin ağrı kesiciniz bu yazıda. Yüksek hızları, çoklu cihaz haberleşebilme özelliği ile çok yaygın hale gelip her denetleyicinin içinde yer alan bu protokol, ufak ama önemli detaylar ile dolu. Fazla dikkate alınmayan 4 farklı modu yüzünden çalışmayan haberleşmenin kullanıcılara çok fazla zaman kaybettirdiğini söyleyebilirim. Genellikle PCB üstü kurulan bu haberleşme ile sensör ve çeşitle modülleri rahatlıkla kullanabiliriz. Birazdan SPI’ın aslında bir Shift Register olduğunu göreceksiniz. Hazırsanız başlayalım. (Devamını Oku)

IAR ile STM8S – UART

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 3 Yorum
  • 3.493 Kişi Okudu

UART/USART asla elimizin altından düşürmediğimiz bir protokol. Gerek özel haberleşmelerimiz gerek sensör okuma olsun bir çok yerde kullanılmasıyla birlikte uzun zamandır RS-232 olarak da çevremizde görüyoruz. Burada RS232 sadece daha farklı gerilim sevilerinde olmasının yanı sıra büyük port olması ve artık bilgisayarlarımızda bulunmaması nedeniyle sanal Com Port’lar bu eski dinazorların yerini çoktan aldı. FT232, CPxxx serisi gibi USB/Seri Çeviriciler hem az yer kaplaması hem USB den çalışması hemde düşük gerilim seviyeleri ile deneleyicilere uygun seviyede çıkış vermesinden ötürü bir hayli yaygınlaştı. Lafı daha fazla uzatmadan STM8S serisinde bu işleri nasıl yaptığımızı inceleyelim. (Devamını Oku)

IAR ile STM8S – PWM

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 2.986 Kişi Okudu

Bir önceki yazıda Timer konusunu tamamladığımıza göre bu bölümde PWM’e geçebiliriz. Burada Timer’dan çok farklı bir şey olmayacak sadece Timer’ları ilgili çıkışlara yönlendireceğiz. STM8S de bulunan bir güzel özellik Timer’ın çıkışı almaktan ziyade bu çıkışlarını “Complement”‘ini almak da mümkündür. Bahsettiğim bu yapıyı genellikle 32-Bit MCU’larda görüyordum. 8 bit bir MCU’da bu özelliği görmez oldukça güzel. Bu sayede Half Bridge – Full Bridge uygulamalarını rahatlıkla gerçekleştirebileceğiz. Kafanızdaki soruya hemen cevap vereyim. Evet “Dead Time” özelliği bile var.  (Devamını Oku)

IAR ile STM8S – TIMER

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 2.854 Kişi Okudu

Bu yazıda Timer’lara giriş yaparak artık zamanlama sorunlarının üstesinden rahatça gelebileceğiz. Daha önce STM32F0 Derslerinde sayaçları incelemiştik. Kısaca özetleyecek olursak. Belirlenen değere kadar saydıkların da bize bir kesme üretirler böylece ana programdan bağımsız olarak periyodik bir kesme sinyalimiz olur. Bu MCU’lar da  zaman yönetimi konusunu çözerek bize bir hayli fayda sağlar. Bunun dışında PWM çıkışları, Capture girişleri, Encoder girişleri gibi bir takım ekstra özellikleri de vardır. Bunlar daha sonraki yazılarda değineceğiz. Şimdi STM8S’in içindeki sayaç bloğunu inceleyerek işe başlayalım. (Devamını Oku)

IAR ile STM8S – Beeper ve Timer

  • 7 sene önce, Baran EKREM tarafından yazılmıştır.
  • 5 Yorum
  • 4.028 Kişi Okudu

STM8S serisine kaldığımız yerden devam edecek olursak öncelikle hoşuma giden bir özelliği inceleyeceğiz. Sanırım sesi geldi bile BEEEP ! 🙂 Beeper modülü işlemci içerisinde bulunan bir buzzer kontrolcüsü gibi düşünülebilir. 3 farklı frekans da sinyal üreterek farklı ses ihtiyaçlarınızı oldukça hızlı bir şekilde karşılar. Normalde bu işi yapmak için bir tane Timer harcamak küçük işlemcilerde biraz fazla olabilir. Beeper 1, 2 ve 4kHz’lik çıkış sinyalleri mevcuttur. Kullanımı oldukça basit olan bu modül sadece kalibrasyon fonksiyonunu ihtiyaç duyar. Kalibrasyon işlemini bir kere yaptıktan sonra frekans’ı seçip modülü çalıştırabilirsiniz. Beeper kalibrasyon için bir tane Timer’a ihtiyaç duyar. (Devamını Oku)

IAR ile STM8S – Clock, CCO ve GPIO

  • 7 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 3.399 Kişi Okudu

Bir önceki yazıda proje oluşturmayı ve basit bir led örneğini tamamlamıştık. Bu yazıda Clock ayarlarının nasıl yapıldığını ve temel GPIO komutlarının nasıl kullanıldığını göreceğiz. Öncelikle şunu belirtmek gerekirse ST yayınladığını standart kütüphanesi ile işleri bir hayli rahatlatıp basite indirgemiş. Kullandığınız kütüphane fonksiyonları tamamen elinizin altında. Yapacağı işin dışınca herhangi bir şeye müdahale etmiyor. Bu sayede register’leri kontrollü bir şekilde takip ediyor ve olağan dışı durumlar ile karşılaşmıyorsunuz. CCS C kullananlar bu durumlardan bir kaçını tecrübe etmiştir. İlk olarak yapılması gereken işlem her zaman olduğu gibi Clock ayarlarıdır. (Devamını Oku)

IAR ile STM8S – Giriş

  • 7 sene önce, Baran EKREM tarafından yazılmıştır.
  • 19 Yorum
  • 7.917 Kişi Okudu

Bundan yaklaşık bir kaç ay önce STM8 programlamaya başlamak istiyordum fakat ST Visual Develop beni bu işten bir hayli soğuttu. Anlam verilemeyen derleme hataları ve eski IDE yapısı ile çok kullanışsız olduğunun farkına vardım. Kenarda duran STM8S leri denemek için IAR’I denemek istediğimde IDE rahatlığı, kod tamamlama, düzgün ve hızlı derleme, Debug yapma gibi özelliklerinin oldukça verimli olduğunu gördüm. Özelikle küçük projelerde kullanılan 8 Bit işlemciler fiyat konusunda kıyasıya yarışıyor. ST’nin STM32F1xx 32 bit olmasına rağmen çok ciddi fiyatlara satılıyor. Bu yüzden 8 bit kullanmak yerine daha ucuz olsun derseniz STM32 bile kullanabilirsiniz. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – ADC

  • 7 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.648 Kişi Okudu

stm32f0discoveryBu yazıda ADC örneği yapacağız.ADC ölçümü için potansiyometre ile gerilimi ölçüp USART ile bilgisayara aktaracağız. ADC bildiğiniz üzere Analog Dijital Converter. ADC de bilinmesi gereken özelliklerden biri çözünürlük. STM32F0 da 12-10-8-6 bit seçenekleri mevcut.Değerleri dijital olarak alacağımızdan olabildiğince hassas olarak alabilmek için 12 bit çözünürlük kullanıyoruz.Seçtiğimiz çözünürlük bize kaç adım(Step-ADC Value) verecek bunu hesaplayalım.Oldukça basit 2^(bit) 12 bit için 2^(12) = 4096 eder. (Devamını Oku)

12