Yazan: Barış Samancı
Kategoriler:Donanım

quadrotor equipments

Yaklaşık üç aylık bir zaman zarfından sonra nihayet sensörler ve pervaneler ile birlikte tüm malzemeler elime ulaşmış oldu. Bu projeyi tasarlamaya boş vakitlerimi değerlendirip eğlenceli bişeyler yapmak için bir kaç ay önce başlamıştım. Siparişleri vermeye de geçtiğimiz Ramazan bayramında başlamıştım. Nihayet herşey elime ulaştı. Aslında bir 15 gün oluyor fakat zaman darlığından dolayı yeni yayınlayabiliyorum. Fotoğraftan anladığınız üzere quadrotor yapıyorum :) Quadrotor, multikopter, multirotor, quadkopter gibi bir sürü adı olsada ben şimdilik uçan zımbırtı diye hitap ediyorum :) Aşağıda başlıktaki fotoğrafın büyük halini görebilirsiniz.

Yazan: Barış Samancı
Kategoriler:Donanım

Bu yazıda yine öğrencilik yıllarımdan kalma üzerinde çalışmış olduğum bir projenin tanıtımını bulacaksınız. Çağatay dediyse proje dolabımda her zaman sunuma hazır bir proje var :) Bu projedeki amacım herhangi bir baskı devre programında çizdiğim prototip devreleri beni yormadan hazırlayacak bir cnc tezgahı yapmak.Şimdilik Proteus için çalışıyor. Ama tüm baskı devre programları için çalışacağını düşünüyorum.Projenin yazılım ve elektronik kısmı bitmiş durumda, sadece hazırlanan mekanik sisteme göre kalibrasyonu yapılacak. Fakat ortada mekanik kısım yok, bu yüzden başlığa yapalım yazdım :) Zamanında ortak çalışabileceğimiz bir makinacı arkadaş çıkmadığından o kısım şimdilik eksik. Eğer ilgilenen makina mühendisi yada adayı arkadaşlar varsa hafta sonları hobisi şeklinde bu projeyi tamamlayabiliriz.

Mekanik kısım için bakırı kazıyarak devreyi oluşturan bir sistem düşünüyorum. Literatürde "PCB Engraver Machine" diye geçiyor. Kazıma işlemi bittiğinde ise padlerin deliklerini delecek ve pcb hazır hale gelecek. Yazının başlığındaki fotoğraftaki gibi. Aşağıda ise başka birtanesi gözüküyor.

Yazan: Barış Samancı
Kategoriler:PIC

Bu uygulama notunda çalışma zamanı esnasında PIC mikrodenetleyicilerin program hafızasına nasıl veri yazıp kullanabileceğinizi göstereceğim. Bazı kişilerin kullandığı mikrodenetleyicinin RAM hafızasının yetersiz gelmesi sonucu sistemi dağıtarak farklı mikrodenetleyicilere geçtiğini gördüm. Bu kadar zahmete girmek yerine RAM hafızada sakladığınız değişmeyen veya nadir olarak kullanılan static verileri flash hafızaya atarak flash’a göre çok daha düşük olan RAM den kazanç sağlayabilirsiniz. Bu uygulama notu ile sistem değiştirmek yerine küçük bir yazılım takviyesi ile ağır bir yükten kurtulabilirsiniz. Fakat bahsettiğim gibi verilerin çalışma esnasında oluştuktan sonra kullanım sıklığının düşük olması yada verilerin değişmeden kalması gerekmektedir. Çok fazla dinamik değişken ile anlık olarak çok yüksek miktarlarda işlem yapıyorsanız bu uygulama notundaki teknikler verimsiz kalacaktır.

Bu uygulama notunda elimde bulunan PIC18F97J60 mikrodenetleyicisi ile anlatım yapacağım. Kullandığınız mikrodenetleyicinin datasheet lerinde flash hafızaya yazım yapıp yapamadığını, blok uzunlukları gibi bilgileri öğrenebilirsiniz. Bu gibi bilgiler çipten çipe değişmektedir.Bu uygulama notunda anlattıklarım ile birden fazla amaç gerçekleştirilebilir. Bunlar aşağıda listelenmiştir.

  • Çalışma esnasında Flash hafızayı RAM gibi kullanabilirsiniz.
  • Çipi resetlediğinizde yada kapatıp açtığınızda verileriniz silinmediği için tekrar okunabilir olur.
  • Çip programlandıktan sonra çalışma esnasında program hafızaya program ekleyip işlemcinin akışını programı yüklediğiniz adrese verirseniz dinamik olarak yüklemiş olduğunuz program çalışır. (Bootloader tarzı uygulamalarınız için)
     

Uygulama notunu pdf olarak aşağıdaki linkten indirebilirsiniz. Aşağıda dökümanın özetini bulacaksınız.

27

EYL

2010

Yazan: Barış Samancı
Kategoriler:ARM

Şuan geliştirdiğim bir gömülü sistem uygulamasında beyin olarak kullanmak üzere aldığım LPCXpresso kitine giriş niteliğinde bir göz atıp hem kiti hem Cortex-M3 işlemci çekirdeğini hemde LPC1768 işlemcisini yüzeysel olarak inceleyelim. LPCXpresso kitleri şuan için LPC1100, LPC1300 ve LPC1700 ailelerinden işlemcileri desteklemektedir. Benim kullanmış olduğum kitin işlemcisi LPC1768 dir. Kitin genel yapısı aşağıdaki şekil ve fotoğraflarda gözükmektedir.

lpcxpresso

Yazan: Barış Samancı
Kategoriler:Donanım, PIC

PIC 18F4685 ATX ARX 34

Bu yazımda şuan üzerinde çalıştığım bir projede geçici olarak kullanmak üzere aldığım 433Mhz bandında haberleşen ATX,ARX kablosuz alıcı ve verici modülleri test edeceğiz. Bu modülleri duymayan yoktur heralde.Kullandığım modülleri Udea’dan aldım.Datasheetlerine Udea’nın sitesinden ulaşabilirsiniz.

Modüller 433.92Mhz lik bir frekansta çalışmaktadır ve ASK modülasyon kullanmaktadır.Konuya biraz daha hakim olmak bakımından basit olarak ASK ve FSK modülasyonlara bir göz atalım. ASK modülasyonda sinyalin frekansı sabittir, genliği değiştirilir. Gönderilecek olan lojik mesajın seviyesine göre birden fazla genlik kullanılabilir.Uygulamamızda veriyi binary olarak gönderdiğimizden modülasyonda tek genlik kullanılmaktadır. Lojik 1 için A genliğinde bir sinyal gönderilirken lojik 0 için gönderilen sinyalin genliği 0 dır. FSK modülasyonda ise sinyalin genliği sabit olup frekansı değişmektedir.Lojik 1 için sinyalin frekansı artarken lojik 0 için frekans düşer.Aşağıdaki şekillerde ASK ve FSK modülasyon gösterilmiştir.

Yazan: Barış Samancı
Kategoriler:Donanım

Bu yazımda platform bağımsız olarak mikroişlemcili sayısal sistemlerde istenilen görevlerin delay fonksiyonları ile geciktirilerek çalıştırılması yerine görevlerin zamanlanmasını, co-operative ve multitasking yapılı sistemlerin çalışma mantığını basit olarak inceleyeceğiz.

Kompleks uygulamalarda mikroişlemcinin çalıştırması gereken birden fazla görev olmaktadır.Bunlara örnek olarak haberleşme görevleri,ölçüm görevleri, hesaplama görevleri gibi görevleri verebiliriz.Sağlıklı bir sistemde bu görevlerin hepsi uyum içerisinde çalışmalıdır.Mikroişlemci bu görevlerden aynı anda sadece birtanesini çalıştırabilmektedir. Bir görev çalışırken diğerleri beklemekte ve bekleyerek boşa geçirdikleri zaman ölü zaman olarak değerlendirilmektedir.Dolayısıyla kapsamlı uygulamalarda bir işlem yapılırken o işlemin mümkün olduğunda çabuk bitirilip akışın diğer görevlere verilmesi istenir.Delay ve bekleme mantığından mümkün olduğunca uzak durulması istenir.Bu çalışma biçimine co-operative çalışma denilmektedir.

Kullandığımız bilgisayarlarda buna benzer şekilde çalışmaktadır. Aslında bir anda sadece bir görev çalışmaktadır fakat siz aynı anda müzik dinleyip, dosya indirip, yazı yazabilir okuyabilirsiniz.Tüm bu işlemler 10ms gibi zaman periyotları ile sıra sıra çalıştırıldığından bize aynı anda çalışıyorlarmış gibi gelirler (tabi birde görevlerin önem sırasıda vardır).Bu çalışma biçmine multitasking denilmektedir (çok çekirdekli işlemcilerde aynı anda çekirdek sayısı kadar görev çalışmaktadır). Aşağıdaki şekilde delay mantığı kullanan ve zamanlanmış co-operative çalışan sistemlerin karşılaştırılması üzerine bir örnek gösterilmiştir. 

Yazan: Barış Samancı
Kategoriler:Donanım

Bu yazımda CAN protokolünün yapısını ve çalışma mantığını donanımdan bağımsız olarak sizlere anlatmayı planlıyorum.Burdaki bilgiler ARM, AVR, PIC vb gibi işlemcilerin hepsi için geçerlidir.Burada yazdıklarım zamanında LPC2000 programlama klavuzu adlı e-kitabımı hazırlarken internetten araştırıp edindiğim bilgilerin derlemesidir.Bu kadar kapsamlısını başka yerde bulamassınız :) Bu yazımda donanıma girmeden sadece CAN sisteminin işleyisini ve mantığını anlatacağım.Eğer kelimeler öğretir örnekler yol gösterir diyenlerdenseniz, donanım ve kod incelemek istiyorsanız LPC2000 Programlama Klavuzu adlı e-kitabımdaki CAN başlığına bakabilirsiniz, burdaki bilgiler de kitabımdan alıntıdır.

Controller Area Network (CAN) protokolü 1983 yılında omototiv sektöründe kullanılmak üzere Robert Bosch tarafından geliştirilmeye başlanmıştır ve resmi olarak 1986 yılında kullanılmaya başlanmıştır. Araçlarda bulunan kablo ağının azaltılması amaçlanmıştır.Bu protokol sayesinde motor, frenler, klima, çeşitli sensörler gibi birimler arasında 10 larca kablo yerine sadece 2 kablo kullanılmaktadır.CAN protokolü başta otomotiv alanında kullanılsada veri iletim hızı,hata oranının düşüklüğü ve uygulama kolaylığı gibi sebeplerden dolayı mikroişlemcili sistemlerde de çoğu kişi tarafından bireysel uygulamalarda kullanılmaktadır.İletişim hızı 40m de 1Mbit/sn iken 1km uzaklıklarda 40Kbit/sn ye düşmektedir.Yapılan olasılık hesaplarına göre sağlıklı çalışan bir CAN sisteminin tespit edilemeyen hata yapma olasılığı bir asırda bir dir.

CAN diğer protokollerden farklı olarak adress temelli değil mesaj temelli çalışmaktadır.Her mesaja özgü bir ID numarası vardır.Mesajlar çerçeveler ile iletilirler ve veri ve istek mesajları olarak ikiye ayrılırlar.İstek mesajlarında veri bulunmaz. Veri mesajlarında ise en fazla 8 bytle lık veri aktarılır.CAN2.0A ve CAN2.0B olmak üzere 2 tane standartı vardır.Bunlar arasındaki fark mesaj uzunluklarının farklı olmasıdır.Bunlar ilerleyen kısımlarda anlatılacaktır.

Yazan: Barış Samancı
Kategoriler:PIC

Bu yazımda ICD2 klonunu inceleyeceğiz. ICD2 microchip firmasının kendi üretmiş olduğu mikrodenetleyicileri programlamaki debug etmek için geliştirdiği bir cihazdır. edaboard forumundaki bazı kullanıcılar icd2 üzerindeki CY7C64613 entegresini PIC18F2550 ile değiştirmek istemişler ve zamanla 18F4550 kullanan çeşitli kopyalar üretmişlerdir. Ben bunlardan potyo2 versiyonunu kullanmaktayım.MPLAB IDE sine mükemmel entegre olmakta, programlama ve debug yapabilmektedir. Programlama hızı iyi olmasına karşılık biraz yavaş debug yapıyor.Uzun bir süredir kullanmaktayım ve şimdiye kadar bir sorunla kaşılaşmadım. Yaptığım devrenin fotografınını aşağıda görebilirsiniz.


« Önceki 1 2 3 Sonraki »

Tasarım ve Programlama Barış SAMANCI
Her hakkı saklıdır.
barissamanci.net  ©  2010-2018