‘Ders Notları’ Kategorisi için Arşiv

AdsızGelişmiş bilgisayarların çoğunda bulunan bir yapı olan doğrudan bellek erişimi (DMA), CPU’dan bağımsız olarak verileri bir yerden başka bir yere kopyalama işlemi yapılmasına olanak sağlayan bir yapıdır. Mikrodenetleyiciler de aslında komple bir bilgisayar oldukları için, gelişmiş mikrodenetleyicilerin içerisinde de DMA bulunmaktadır.  Özellikle yoğun işlemlerin yapıldığı bir projede CPU’nun bir de bellekteki verileri çevresel birimlere , çevresel birimlerdeki verileri başka çevresel birimlere, çevresel birimlerdeki verileri belleğe veya belleğin bir kısmından başka bir kısmına veri taşıma işlemleri ile uğraşması işlemcinin zaman kaybetmesine yol açacaktır.  Bu zaman kaybını önlemek ve işlemciyi veri kopyalama işlemleri ile uğraştırmamak amacıyla DMA kontrolcüsü kavramı ortaya çıkmıştır. Bu yapı mikrodenetleyiciler içerisinde bulunur ve kullanıcı istekleri doğrultusunda programlanarak verilerin istenilen kaynaktan, istenilen hedefe aktarılması işlemini gerçekleştirir. (daha&helliip;)

9 Bu yazıda hobiciler tarafından çok kullanılan RC servo motorların STM32F103C8 mikrodenetleyici ile kontrol edilmesini inceleyeceğiz. RC servo motorlar piyasada pek çok marka ve model altında bulunmaktadır. RC servo motorun içerisinde bir adet mikrodenetleyici bulunuyor ve bu mikrodenetleyici gelen sinyalleri değerlendirip motoru döndürüyor. Motorun ne kadar döndüğü bilgisini ise mile bağlı bir potansiyometrenin sağladığı geribesleme ile alıyor.  Ben de elime geçen Tower Pro SG90 isimli iki adet servo motoru kontrol etmek istedim. Bu motor 9g ağırlığında 1.8 kgf/cm güce sahip ve 0.1s/60 derece hıza sahip.  4.8~5V besleme ile çalışıyor. (daha&helliip;)

imagesPek çok uygulamada sıcaklık ve nem değerlerinin birlikte ölçülmesi gerekmektedir. Örneğin tarım işletmeleri, mantar üretim çiftlikleri, soğuk hava depoları, tütün, kağıt, hububat, baharat depoları, seralar, çimlendirme odaları, kuluçka makinaları gibi yerlerde sıcaklık ve nemin birlikte ölçülmesi gerekmektedir.

Sıcaklık ve nem ölçen sensörlerden belkide en popüler olanı Sensirion firmasının üretmiş olduğu SHT11 isimli sensördür. Bu sensörün ölçüm hassasiyeti yüksek olmakla birlikte fiyatı yüksektir. Bu sensöre alternatif olarak üretilmiş düşük fiyatlı fakat hassasiyet değerleri SHT11 kadar iyi olmayan çin ürünü DHT11 sensörü de piyasada kendisine oldukça yaygın bir kullanım alanı bulmuştur. (daha&helliip;)

admin-ajax.php Cihazların kendilerine ait benzersiz kimlik numaralarının var olması bazı uygulamalarda olmazsa olmaz bir özelliktir. Bu numaralar tasarımcı tarafından belirlenebileceği gibi, bazı çip üreticileri halihazırda ürünlerine benzersiz kimlik numaraları atamaktadırlar.

STM32 mikrodenetleyicilerin güzel donanım özelliklerinden birisi de 96 bitlik (12 byte) unique id’ye (benzersiz kimlik numarasına) sahip olmalarıdır.  Unique ID, nesnelerin interneti uygulamaları, uzaktan sayaç okuma işlemleri, akıllı ev sistemleri, telemetri sistemleri gibi uygulamalarda oldukça işe yarayacak şekilde kullanılabilirler.

STM32F407 mikrodenetleyicisine ait referans manuelinde Unique ID bilgisinin 0x1FFF7A10 adresinden başladığı ve her biri (daha&helliip;)

Adsız  Merhabalar. Uzun zamandır kendime ve bloğuma zaman ayıramadım. Yılbaşı tatilini fırsat bilerek daha önce yapmış olduğum çalışmalardan birini paylaşmak  istedim.

Boyutunun küçük olması, nadir bulunuşu gibi sebeplerle sağda solda görmeme rağmen hiç uğraşmadığım fakat DIY projecilerinin de sıkılıkla kullandığı bir grafik lcd ekran olan Nokia 3310-5110 ekranı ile biraz ilgilendim ve PIC-MikroC  için bir kütüphane oluşturdum.  Kütüphane dosyalarını paylaşmadan önce isterseniz bu ekranın nasıl çalıştığına biraz göz atalım.

PCD8544 isimli sürücüye sahip bu ekranlar 84×48 piksel (enlemesine 84, boylamasına 48 piksel) boyutlarındadır .  SPI arayüzüne sahip PCD8544 sürücüsü sayesinde az sayıda pin kullanılarak mcu bağlantısı yapılabilir. (daha&helliip;)

29069a52-4230-4af6-a20b-d34740856334  Özellikle analog değerlerin dijital değerlere dönüştürülmesinde, + ve – referans voltajları önem kazanmaktadır. Referans voltajlarının değerleri bütün ölçümü etkilemektedir. Yandaki karikatürde de görüldüğü gibi, ölçme işlemi sırasında neyi referans aldığımız çok önemlidir. PIC16f628A mikrodenetleyicisi içerisinde çok hassas olmamakla birlikte dahili bir voltaj referans modülü bulunmaktadır. Bu modül pek bilinmez/kullanılmaz. Şimdi voltaj referans modülünün kullanımına bir göz atalım. İlk olarak VRCON isimli registera bir göz atmakla işe başlayalım. (daha&helliip;)

shutterstock_18511663-578x385 CCP birimine ait bir diğer mod olan Compare (karşılaştırma) modunda 16 bit değerindeki CCPR1 register çiftinin değeri TMR1 sayıcı register çiftinin içeriği ile  sürekli karşılaştırılır. Karşılaştırma sonucunda bir eşitlik var ise bir kesme oluşur ve RB3/CCP1 pini high seviyeye / low seviyeye çekilir veya durum değiştirmez.  Kesme oluştuğunda yapılacak işleme CCP1CON registerının CCP1M<3:0> bitleri ile karar verilir.  Kesme oluştuğunda CCP1IF bayrağı 1 değerini alır. Eğer RB3 pini çıkış olarak kullanılacaksa “TRISB” registerının 3. biti 0 yapılmalıdır.  Compare kesmesinin olulşabilmesi için Timer1, senkron sayıcı veya  zamanlayıcı modunda çalıştırılmalıdır.  Aşağıdaki blog diyagramda Compare modu anlatılmaktadır. (daha&helliip;)

Adsız  PIC  mikrodenetleyicilerin çoğunda bulunan CCP biriminin 3 görevi bulunmaktadır. Bunlar Capture/Compare/PWM görevleridir. PWM konusunu daha önce incelemiştik. Şimdi Capture üzerinde duracağız. Capture birimi girişten (PIC16f628a’da RB3) gelen sinyaller arasındaki süreyi ölçmemizi sağlar. RB3 pininden gelen sinyalin her düşen kenarında, her yükselen kenarında, her 4 yükselen kenarında veya her 16 yükselen kenarında bir kesme oluşturur.  Kesmenin hangi aralıkta oluşacağına biz karar veririz.  Yani aslında dışarıdan gelen sinyalleri yakalamış ve aralarında geçen süreyi ölçmüş oluruz. Capture pek çok yerde kullanılabilir ve çok yararlı bir özelliktir. PIC16F628A mikrodenetleyicisinin kataloğunda bulunan blog diyagramı inceleyelim. (daha&helliip;)

Adsız  Mikrodenetleyiciler ile dc motorların hız kontrolü, ledlerin parlaklığının değiştirilmesi gibi uygulamaların yanısıra, PWM elektrik ve elektronikte birçok alanda, farklı amaçlar için kullanılmaktadır. Telekomünikasyon, güç, voltaj düzenleyiciler, ses üreteçleri veya yükselteçler gibi çeşitli uygulama alanları ve farklı uygulamaları bulunmaktadır. PWM tekniğinin mantığı mikrodenetleyicinin pininden dışarıya çıkan 5V değerini sürekli olarak değilde kesik kesik çıkışa aktarmaktır. Diyelimki mikrodenetleyicimizin bir pininden bir saniye boyunca 5V, 1 saniye boyunca 0V alınmakta ve bu böyle devam etmektedir. Bu sinyalin ortalama voltajı 2,5V olur. Frekansı ise  f=1/T formülünden (1/2 saniye) 0.5Hz olarak bulunur. Bu pinden yarım saniye 5V, birbuçuk saniye 0V geliyorsa frekans yine 0.5Hz olmakla birlikte çıkış geriliminin ortalaması 1,25V olur. Yani frekans sabit tutularak sinyalin 5V değerinde kalma süresinin değiştirilmesi, böylelikle çıkıştaki ortalama voltajın ayarlnamasına darbe genişlik modülasyonu denilmektedir. Sinyalin 5V seviyesinde kaldığı saykıla görev saykılı (duty cycle) denilir. MikroC Pro derleyicisinde bulunan PWM kütüphanesi sayesinde işler oldukça kolaylaştırılmıştır.  (daha&helliip;)

AdsızUltrasonik sensörler ilk defa ikinci dünya savaşında İngilizlerin, Alman uçaklarını ve denizaltılarını tesbit edebilmesi amacıyla geliştirilmişler ve günümüze kadar pek çok alanda kullanılagelmişlerdir. Çalışma prensipleri bir ultrasonik (insan kulağının duyamayacağı büyüklükte frekanslara sahip ses dalgaları) hoparlörden çıkan ses sinyalinin, bir cisme çarpıp geri dönmesi ve bu geri dönen sinyalin bir ultrasonik mikrofon tarafından algılanması arasında geçen sürenin ölçülerek mesafenin hesaplanması ilkesine dayanır.  Sesin atmosferdeki hızı 340m/sn’dir.  Yani bir kaynaktan çıkan ses 340 metre uzaklıktaki bir cisme 1 saniye sonra ulaşır ve bu cisimden yansıyıp geri dönmesi de 1 saniye alır. (daha&helliip;)