26 Haziran 2015 Cuma

1) STM32F4 Discovery Hakkında

     Arm İşlemciler
   Tarihsel olarak 1983 yılında Acorn Computers Ltd tarafından geliştirme projesi olarak ARM dizaynı başlamıştır. Bu firma kendi başına işlemci üretmeyip, dizayn ve lisansı satmaktadır. CISC(Complex Intruction Set Computer) tabanlı işlemcilere göre özelleştirilebildiğinden aynı jenerasyon işlemci farklı üreticilerden değiştirilmiş olarak çıkabilir, Buna bağlı olarak da performans farklılıkları görülebilmektedir. Bu yüzden işlemci jenerasyonları ve karakteristikleri incelenirken ARM referans tasarımı ele alınmaktadır. 
   ARM mimarisi (orijinal adı Acorn RISC Machine) RISC(Reduced Intruction Set Computer) tabanlı bir işlemci mimarisidir, 32 ve 64 bit versiyonları vardır, genel olarak düşük güç tüketimi, diğer RISC tabanlı işlemcilere göre yüksek performanslı oluşu ve Intel x86-x64 işlemcilere göre daha hesaplı olmasından dolayı gömülü sistemlerde, taşınabilir aygıtlarda kullanılan yonga setlerinde genelde ARM işlemci tercih edilmiştir . Piyasada bulunan fotoğraf makinesi tablet, telefon gibi cihazların yaklaşık %85 inde ARM işlemcilerin kullanıldığı belirtilmektedir. ARM işlemcilerde aşağıda ki şekilde görüldüğü gibi üç temel grup vardır (Kaynak: www.arm.com). Uygulama seviyesindeki ARM Cortex-Axx serisi işlemciler 2,4 GHz’e kadar çıkan hızları ile daha çok akıllı telefon, fotoğraf makinesi gibi elektronik cihazlarda kullanılmaktadır.



   STM32F4 Discovery
  •  168 MHz CPU clock / 8 MHz harici clock
  •  32 bit ARM Cortex-M4 CPU
  •  1 MByte Flash / 198 KByte Ram
  •  3 adet 12 bit ADC / 2 adet 12 bit DAC / 24 bit audio codec DAC
  •  Dahili çip mikrofon / Dahili audio çıkış
  •  17 adet Timer
  •  3 eksenli ivmeölçer  (4 adet ledin ortasında)
  •  Usart / SPI / I2C / CAN haberleşme çevre birimleri
  •  DSP özelliği (floating point desteği)
  •  Dâhili debugger/programmer gibi özelliklere sahiptir. Kartın yapısına bakıldığında da daha çok ses ve video gibi uygulamalar için geliştirildiği görülmektedir. Ayrıca bazı değişikliklerle işlemci hızının 240 MHz lere kadar çıktığı söylenmektedir ama hiç denemedim doğrumu bilmiyorum.

   Ben bu kartı ilk olarak Mikes'de yaptığım stajda öğrenmeye başladım. Yüksek performanslı oluşu, özellikleri ve fiyatı karşılaştırıldığında gayet iyi bir mikro kontrolör olduğu aşikar. Yurt dışında fiyatı yaklaşık 23 dolar (Bangood'dan +1.3 dolar air tracking + 15 gün bekleme süresiyle alabilirsiniz), Türkiye'de ise fiyatlar biraz daha pahalı yani 80 ile 110 TL arasında ama Çizgi Market'de ücretsiz kargo ile 53 TL ye ertesi gün alabilirsiniz. Aradaki fiyat farkı şaşırtıcı ama Çizgi Market kar amaçlı bir firma değil (reklam yapmıyorum) eğitim videoları ve dokümanları da mevcut. FPGA gibi diğer ürünleride buradan daha ucuza alabilirsiniz.
   Gelelim bu Mikro kontrolörümüzü nasıl programlayacağımıza. Bu iş için 4-5 tane derleyici var. Coocox, MDK_Arm (yani Keil), MicroC, IAR en çok bilinenler. Ancak en çok kullanılan ve çok fazla döküman bulabileceğiniz derleyici Keil'dir. Kullanımı bence zor çünkü kütüphaneleri eklemek çok sıkıntılı ve daha bir çok ayarlama yapmak lazım. Ben kullanmakta çok zorlandım ve kullanmıyorum. Ben MicroC kullanıyorum ve uygulamaları bunun üzerinden göstereceğim. Kullanımı çok kolaydır neredeyse hiç sıkıntı çıkartmadı bana. MicroC indir. Fakat MicroC 2 KByte'a kadar demo için hak tanıyor. Bunu aşmanın bir yolu var. Bana ulaşırsanız nasıl yapıldığını anlatabilirim.

14 Ağustos 2014 Perşembe

ARUDINO İLE STEP MOTOR KONTROLU

     Bu yazımda arduino uno ile step motor kontrolünü ele alacağım. step motorlardan kısaca bahsetmek istiyorum çünkü yapıları biraz karışık. çok daha fazla ayrıntıyı buradan bulabilirsiniz. yapısal olarak herkesin bildiği dc motorlardan bayağı farklı. dc motorlar uclarına gerilim verdiğimizde direk çalışmaya başlar ve voltaja göre de hızlarını değiştirebiliriz. tabi bunlarıda kontrol etmenin çeşitli yöntemleri var. genellikle step motorların 5 ya da 6 kablosu bulunur. 5 li olanda 1 tanesi ortak uçtur ve + gerilime bağlanır. 6 lı olanda 3 erli olarak iki gruba ayrılırlar ve toplamda 2 tane ortak uç vardır. bendekide 6 uçlu olandan.
                                 
 
sagdaki iki adet kırmızı ortak uç ve digerleri faz uçlarıdır.motoru sürmek için bu 4 adet uca farklı fazlarda sinyal uygulamak gerekir. basit olarak 4 bitlik binary sayıcı nın çıkışlarını bunlara uygularsak motoru döndürebiliriz. servo motorlar hassasiyetlerine göre farklılık gösterebilir. bendeki bu motor 48 adımlık. yani 360 dereceyi 48 e bölersek her adımda 7.5 derece hareket eder.ayrıca half step ve full step gibi iki farklı versiyonda kullanabiliriz. half step de de 96 adım attırarak hassasiyeti iki katına çıkarabiliriz. yaptıgınız uygulamalara göre hassasiyeti farklı motor da kullanabilirsiniz. hassasiyet arttıkça tabi uç sayısıda artacaktır. yukarıda dediğim gibi basit olarak 555 ve 4017 entegreleriyle yapılabileceği gibi arduino gibi kontrolörlerlede yapabiliriz. 
    Arduino kodları:
                            1)Full step programı 
                            2)Half step programı

     arduinonun 4-7-8-12 nci bacaklarını sırasıyla sarı / siyah / turuncu / kahve renkli uçlara bagladıkran sonra motoru çalıştırabiliriz.
    buradaki step_cw(48 , 500) içindeki sayılardan birincisi kaç adım atacagını digeri kaç sn aralıklarla adım atacagını belirtir. 96 , 500 yaparsak iki tur dönecektir. programın diger kısımlarını anlatmıyorum çünkü step motorun nasıl çalıştıgını bilmiyorsanız bir işr yaramayacak, biliyorsanız anlarsınız zaten. o kısmını size bırakıyorum.


   
KAYNAKLAR:
            megep/step motor ve sürülmesi
            youtube/Iain Portalupi

12 Ağustos 2014 Salı

Arduino UNO İle ATtiny2313 İslemcisini Programlama

       LÜTFEN YORUM VE YARDIM İSTEKLERİNİZİ BİLDİRİN
       Bu yazımda sizlere arduino ile atmel firmasının ürettigi ATtiny2313 microişlemcisini arduinonun özelliği olan Arduino as ISP ile nasıl programlayacağımızı anlatacagım. normalde piyasada bu iş için küçük kartlar satılmakta fakat bunlara hiç gerek yok. Attiny2313 8 bitlik ve 20 Mhz e kadar harici osilatör kullanılabilen ve internal clock a sahip benim Konya Sokak ta 4 tl ye aldığım güzel bir işlemci. Adım adım anlatalım;

1) ilk olarak kurulu değilse arduino nun arayüzünü bilgisayarımıza yüklüyoruz.
2)daha sonra ATtiny 2313 ve diğer bazı atmel işlemcilerinin kütüphanelerini bu programa tanıtmamız gerekir.
3)bunun için buradan kütüphaneyi indirin ve zipten cıkarın
4)cıkan tiny klasörünü arduinoyu kurdugunuz klasörün içindeki hardware in içine kopyalayın
      Program/Arduino/hardware/tiny
            Arduino\hardware\tiny\license.txt
\Prospective Boards.txt
\README
\bootloaders
\cores dosyaları olacak
5)Bu tiny klasörünün içine ayrıca yeni bir boards.txt oluşturarak Prospective Boards.txt içindekileri buraya kopyalayın. herşeyi kapatıp Arduino ideyi açabilirsiniz.


6) şimdi sırada programı yüklemeye geçelim. Baglantı resmindeki gibi arduino ile baglantıları oluşturun.

                                                                                               

7) baglantıları yapmadan önce arduinonun içinde bulunan example içerisindeki ArduinoISP yi direk yükleyin

8) yine example içerisindeki blink programını açın. tools/ boards/ attiny2313 1Mhz i seçin, daha sonra tools/programmer/ Arduino as ISP seçeneğini işaretledikten sonra programı yükleyin. tabi program attiny2313 e yüklenecek. yüklediğimiz programda bir değişiklik yapmaya gerek yok çünkü 13. pin attiny de 16. bacaga denk geliyo. tabi sizin daha sonraki yükleyeceğiniz programlarda bunları datasheet e bakarak yapmanız gerekir.
KAYNAK
        BUNUNLA İLGİLİ İNTERNETTE BİRÇOK DÖKÜMAN VAR. BEN SADECE ÖZETLEMEK İSTEDİM.