1.3 - Mikrodenetleyici Çeşitleri ve Uygun Mikrodenetleyiciyi Seçme

Mikrodenetleyiciler amaca yönelik üretilen bilgisayarlar olarak kullanım alanlarına göre bazı farklı özelliklere sahip olabilmektedir. Üreticiler genel maksatlı mikrodenetleyiciler üretmenin yanında dar bir kullanım alanına yönelik daha pahalı mikrodenetleyiciler de üretebilir. Mikrodenetleyicilerin bazıları iletişim yönüyle, bazıları performans yönüyle bazıları da analog özellikleriyle ön plana çıkmaktadır. Aşağıda belli başlı mikrodenetleyici çeşitleri ve özellikleri kısaca açıklanmıştır.

Bir zamanların en çok kullanılan mikrodenetleyicilerinden PIC16F877A

Genel maksatlı mikrodenetleyiciler: Genel maksatlı mikrodenetleyiciler herhangi bir özelliği ile ön plana çıkmayan, pek çok uygulama için gerekli performans ve çevre birimlerine sahip ve ortalama fiyata sahip olan mikrodenetleyicilerdir. Bu mikrodenetleyiciler pek çok farklı alanda ortalama işler için kullanılabilir. Eğitimlerde genellikle bu kategorideki mikrodenetleyiciler kullanılmaktadır. Kullanıcı kitlesi en fazla olan mikrodenetleyiciler bunlar olduğu için hakkında bilgi, kod ve kütüphane bulmanız kolaydır. En bilinen örnekleri olarak AVR ATmega328P, PIC16F877 ve STM32F103C8T6 mikrodenetleyicilerini sayabiliriz. Genel maksatlı mikrodenetleyici ailelerinde pek çok model yer alsa da bunlardan belli başlı modeller göz önüne çıkmaktadır. Bunların genel maksatlılar arasında en genel maksatlı mikrodenetleyicilerdir diyebiliriz.

Giriş Seviyesi Mikrodenetleyiciler: Bu mikrodenetleyiciler diğerlerine kıyasla basit özelliklere sahip olup genellikle uygun fiyatıyla ön plana çıkmaktadır. Mikrodenetleyicilerin kısıtlı özelliklere sahip olmasından dolayı basit uygulamalarda ve birkaç sentin önemli olduğu seri üretimlerde genel maksatlı mikrodenetleyiciler yerine kullanılmaktadır. Bu tarz mikrodenetleyiciler öğrenciler için sınırlayıcı olduğu için eğitim için çok tercih edilmemektedir. Bu mikrodenetleyicilere örnek olarak AVR ATtiny serisi, PIC 12F serisi ve STM32F0 serisini gösterebiliriz.

Karışık Sinyal (Mixed-signal) Mikrodenetleyiciler: Bu mikrodenetleyiciler analog tarafıyla ön plana çıkan mikrodenetleyicilerdir. Üzerinde bulundurdukları zengin analog çevrebirimlerini diğer mikrodenetleyicilerde kolay kolay görmeniz mümkün değildir. Kendi içlerinde genel maksatlı, sensör okuma ve dijital güç elektroniği üzerine ayrışan serilere sahip olabilirler. Buna ne iyi örnek olarak STM32F3 serisini gösterebiliriz. STM32F303 serisi genel maksatlı analog uygulamalar için üretilmişken, STM32F334 serisi dijital güç elektroniği, STM32F373 ise hassas algılayıcı okuma uygulamaları için geliştirilmiştir. Burada uygulama için doğru mikrodenetleyiciyi tercih etmeniz büyük önem arz etmektedir.

Bunun için şöyle bir örnek gösterebiliriz. STM32F303 serisi analog tarafı ağır basan genel maksatlı uygulamalar için yeterli olsa da günümüz standartlarında bir dijital güç elektroniği uygulaması için asla yeterli değildir. Bunun sebebi dijital güç elektroniği uygulamalarında yüksek frekansta yüksek çözünürlük veren HRTIM zamanlayıcısı kullanılmaktadır. STM32F303’de yer alan zamanlayıcılar diğer genel maksatlı alt modellerde göremediğimiz saat hızının iki katı hızda çalışma gibi bazı özelliklere sahip olsa da yapacağımız uygulama için yine oldukça genel ve yetersiz kalmaktadır.

Eğer hassas analog ölçüm yapmak istiyorsak STM32F373 serisini kullanmamız gerekir. Bu seride diğer serilerde görülmeyen 16-bit sigma delta ADC birimi bulunmaktadır. STM32F303 ile de algılayıcı okuma işlemi yapabilsek ve çoğu işte de yeterli olsa da hassasiyetin çok önemli olduğu yerlerde bunu en iyi şekilde yaptığımızı iddia edemeyiz.

Karışık sinyal mikrodenetleyicilere Analog Devices’ın CM4xx ailesini, Texas Instruments’in MSP430F6 ailesini örnek gösterebiliriz.C2000 ise Texas Instruments’in dijital güç elektroniği ve motor kontrol uygulamaları için özelleştirilmiş yüksek performanslı ailesidir.

Yüksek Performans Mikrodenetleyiciler: Bu alandaki mikrodenetleyiciler bilgisayarlar ile yarışacak dereceye varan performansa sahiptir. Pek çok zaman mikroişlemci ve mikrodenetleyici arasındaki farkın belirsizleştiği noktada yer alırlar. Bir üst seviye olarak ise mikroişlemcileri görürüz. STM32F4 giriş seviyesi yüksek performanslı mikrodenetleyiciler olup üst seviye için STM32F7, STM32H7 gibi mikrodenetleyicileri örnek gösterebiliriz. Bu mikrodenetleyiciler diğer mikrodenetleyicilerden farklı mimariye sahip olup komut kümeleri daha gelişmiştir. Örneğin STM32F1 serisi ARM Cortex-M3 mimarisini kullanırken STM32F7 Cortex-M7 mimarisini kullanmaktadır. En üst seviyedeki mikrodenetleyicilerin saat hızları 500–800MHz arasındadır. Pek çoğuna harici olarak hafıza birimi takılabilir ve içinde yapay zekâ, grafik hızlandırıcı gibi üst seviye çevre birimleri yer almaktadır. [9]

Kablosuz (Wireless) Mikrodenetleyiciler: Bu mikrodenetleyiciler kablosuz iletişim özellikleri ile ön plana çıkmaktadır. STM32WB ve STM32WL serisi buna örnektir. Bu mikrodenetleyiciler Bluetooth, LoRa, ZigBee gibi kablosuz ağ protokollerini desteklemektedir.

Wi-Fi Mikrodenetleyiciler: Wi-Fi mikrodenetleyiciler kablosuz mikrodenetleyicilerden farklı olarak Wi-Fi bağlantısını sağlamakta ve bu sayede nesnelerin interneti uygulamalarının önemli bir parçasını oluşturmaktadır. Bu mikrodenetleyicilerin bir kısmı aynı zamanda Wi-Fi modülü olarak da görev görmektedir. Texas Instruements’in CC3200, Microchip’in ATSAMW25 mikrodenetleyicileri buna örnek gösterilebilir. Genellikle diğerlerine göre oldukça pahalı olduğu için belli başlı işler hariç tercih edilmeyen bu mikrodenetleyiciler ESP8266’nın piyasaya girmesiyle beraber 1–2 dolara Wi-Fi bağlantısı sağlama imkanı tanımıştır. Kitapta ele alınan ESP32 mikrodenetleyicisi ise Espressif firmasının ürettiği gelişmiş ve uygun fiyatlı Wi-Fi mikrodenetleyicidir.

Bunun dışında otomotiv mikrodenetleyicileri, USB mikrodenetleyiciler, LCD mikrodenetleyiciler, düşük güçlü mikrodenetleyiciler, Ethernet mikrodenetleyiciler, gerçek zamanlı mikrodenetleyiciler gibi çeşitli isimlerle pazarlanan mikrodenetleyici çeşitleri mevcuttur.

En Uygun Mikrodenetleyiciyi Seçmek

Günümüzde ondan fazla firmanın onlarca farklı mikrodenetleyici ailesini görmemiz mümkündür. Bu aileler içerisinde ise yine onlarca seri ve binlerce model yer almaktadır. Bütün bunlar arasında büyük kullanıcı kitleleri ve öğrenciler tarafından belli başlı modellerin tercih edildiğini görebilirsiniz. Günümüzde bir mikrodenetleyicinin popüler olmasının ardında belli başlı nedenler söz konusudur. Bunlar pek çoğumuz için gayet makul nedenlerdir.

Donanım: Mikrodenetleyicinin güncel mikrodenetleyiciler arasında sayılması için belli başlı donanım özelliklerine, hafıza miktarına ve performansa sahip olması gereklidir. Günümüzde yapılan pek çok uygulamayı yürütemeyecek derecede zayıf bir mikrodenetleyici tercih edilmemelidir.

Erişebilirlik: Bir mikrodenetleyiciyi kolayca elde etmek hem öğrenirken hem de proje yaparken gayet önem arz etmektedir. O yüzden piyasadan kolayca temin edebileceğimiz mikrodenetleyiciler arasından seçim yapmak zaman ve maliyet tasarrufu sağlamaktadır.

Maliyet: Bir mikrodenetleyicinin, geliştirme ortamının, programlayıcının ve geliştirme kartlarının ucuz olması gereklidir. Öğrenciler tarafından rahatça karşılanabilecek ve temin edilebilecek donanımlar eğitimcilerin de ilgisini çekmektedir. Donanımın ucuz olmasının yanında geliştirme ortamının ücretsiz olması da pek çok geliştirici için önemli bir kriterdir.

Yazılım Desteği: Bazı mikrodenetleyiciler için C derleyicisi bile mevcut olmayabilir veya mevcut geliştirme ortamları güncelliğini yitirmiş olabilir. Hakkında açık kaynak örnek ve kütüphane bulunmayan mikrodenetleyicilerde her şeyi sıfırdan sizin yazmanız gerekecektir. Bazı geliştirme ortamlarının destekledikleri donanımlar sınırlıdır. Örneğin MicroPython kullanarak mikrodenetleyici programlayacaksak belli başlı donanımlar arasında en uygununu seçmemiz gereklidir.

Eğitim Kaynakları: Bir mikrodenetleyiciyi öğrenirken sadece datasheet okuyarak öğrenmek ileri seviyede olmayanlar için pek çok zaman zorlayıcı olmaktadır. Hakkında örneklerin yer aldığı, eğitim makalelerinin olduğu, uygulama notlarının yayınlandığı ve kitapların yazıldığı mikrodenetleyiciler öğrenme aşamasını kolaylaştırdığı için yeni öğrenenler tarafından tercih edilmektedir.

Bu kitapta yapılacak uygulamalar için en uygun mikrodenetleyicilerden biri olarak ESP32 tercih edilmiştir. Bu mikrodenetleyici için geliştirme kartı olarak da herkesin kolayca bulabileceği ve en ucuz geliştirme kartı olarak Çin üretimi “ESP-WROOM-32” modülünü kullanan NodeMCU-32S geliştirme kartının 38 pinli sürümü kullanılmıştır.

--

--