<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FxDev &#124; ße Different Everytime! &#187; İnceleme</title>
	<atom:link href="http://www.fxdev.org/kategori/inceleme/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fxdev.org</link>
	<description>FxDev &#124; This Evolution is Revolution</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:16:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>İmdat! Mikrodenetleyicim Yanıyor!</title>
		<link>http://www.fxdev.org/imdat-mikrodenetleyicim-yaniyor/</link>
		<comments>http://www.fxdev.org/imdat-mikrodenetleyicim-yaniyor/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 20:49:54 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[dspic]]></category>
		<category><![CDATA[heat]]></category>
		<category><![CDATA[ısınma]]></category>
		<category><![CDATA[kit]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[mikrodenetleyici]]></category>
		<category><![CDATA[sıcaklık]]></category>
		<category><![CDATA[sorunu]]></category>
		<category><![CDATA[stm32f407]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=1142</guid>
		<description><![CDATA[Son zamanlarda mikrodenetleyici firmaları hızlarını oldukça arttırdı. 8 bit cephesinden 32 bit cephesine kadar neredeyse tüm işlemciler 100MHz&#8217;leri zorluyorlar. Bu, biz kullanıcıları işlemlerimizde oldukça rahatlatsa da, piyasanın rekabetçi yapısı dikkate alındığında özellikle mikrodenetleyici üreticilerini oldukça fazla zorlar duruma gelmiştir. Bunun nedeni ise yükselen frekansların getirdiği en önemli sorun: ısınma. İşlemcilerin çalışma gerilimleri günümüzde standart haldedir; [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" title="Power Electronic" href="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png"><img class="alignright size-full wp-image-841" title="Power Electronic" src="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png" alt="" width="200" height="143" /></a>Son zamanlarda mikrodenetleyici firmaları hızlarını oldukça arttırdı. 8 bit cephesinden 32 bit cephesine kadar neredeyse tüm işlemciler 100MHz&#8217;leri zorluyorlar. Bu, biz kullanıcıları işlemlerimizde oldukça rahatlatsa da, piyasanın rekabetçi yapısı dikkate alındığında özellikle mikrodenetleyici üreticilerini oldukça fazla zorlar duruma gelmiştir. Bunun nedeni ise yükselen frekansların getirdiği en önemli sorun: ısınma.</p>
<p>İşlemcilerin çalışma gerilimleri günümüzde standart haldedir; 5V, 3.3V, 1.2V. Bu koşullar altında işlemcinin çektiği akım dikkat edilmesi gereken en önemli birimdir. Bunu, güç tüketiminin az olması istenen, taşınabilir cihaz gibi uygulamalar yapan kişiler çok iyi bilirler, çünkü bir cihazın aynı enerji ile uzun süre çalışabilmesi oldukça önemlidir.<span id="more-1142"></span> Ben ise bu konuya farklı bir açıdan bakmak istiyorum.</p>
<p>Genellikle yaptığım uygulamalarda işlemcinin çektiği güç, asıl yapılan işin yanında yok denecek kadar azdır. Bunun için özellikle 10A ve üstü işlemler yaparken işlemcinin çektiği akım ihmal edilebilir.</p>
<p>Yine böyle bir uygulamada Microchip&#8217;in dsPIC serisinden bir işlemci kullanmam gerekti. Yaklaşık 10MIPS&#8217;te çalıştırdığım işlemci hafif denebilecek bir ısıya sahipti. Bu beni rahatsız etmiyordu. İşlemlerimin karmaşıklığı arttıkça işlem hızına ihtiyaç duydum ve hızı iki kat arttırarak 20MIPS&#8217;e çıkardım. Tam bu anda işlemcinin aşırı denebilecek, elimi üzerinde tutamayacağım kadar ısındığını gördüm. İlk şüphelendiğim şey bir kısa devre olduğuydu. Elbette ne yaptıysam sorunu gideremedim. İşlemciyi değiştirdim, sorun yine aynıydı. Derken çoğumuzun bakmadığı bir alan olan datasheet&#8217;in &#8220;Electrical Characteristics&#8221; bölümünü incelemek istedim.<a class="lightbox" title="dsPIC Akım/MIPS Değerleri" href="http://www.fxdev.org/wp-content/uploads/2012/01/microchip_power.gif"><img class="aligncenter size-full wp-image-1145" title="dsPIC Akım/MIPS Değerleri" src="http://www.fxdev.org/wp-content/uploads/2012/01/microchip_power.gif" alt="" width="636" height="698" /></a>Yukarıda işlemcinin güç tüketim tabloları görülebilir. Yukarıdaki tabloda kırmızı ve yeşil ile işaretli alana bakarsak hız farkından sonra oluşan ısınmanın neden kaynaklandığı çok rahat görülebilir. <strong><span style="color: #ff0000;">Sadece 2 kat hız artışından sonra oluşan 0.3W&#8217;lık kayıp (işlemcinin toplam kaybı 0.7W oluyor) işlemciye dokunulamaz bir düzeye getirmeye yetiyor.</span> <span style="color: #0000ff;">Bu konuda Microchip gibi bir firmanın bu hata ya da kalitesizliği yapması açıkçası ilginç olmuş.</span></strong> Üstelik bu değerlerin tüm çevre birimleri kapalıyken, en iyi koşul için geçerli olduğunu da vurgulamak gerek. dsPIC gibi Microchip&#8217;in övündüğü işlemci serisinde bunu yapması açıkçası negatif bir özellik.</p>
<p style="text-align: left;">Bu söylemimin elbette dayandığı iyi bir dayanak var. Aşağıda, bulunduğumuz dönemde adından oldukça fazla söz ettiren 168MHz hızıyla STM32F407&#8242;nin frekansa göre çektiği akım tablosu görülebilir.<a class="lightbox" title="ARM Akım/Frekans Değerleri" href="http://www.fxdev.org/wp-content/uploads/2012/01/ARM_power.gif"><img class="aligncenter  wp-image-1146" title="ARM Akım/Frekans Değerleri" src="http://www.fxdev.org/wp-content/uploads/2012/01/ARM_power.gif" alt="" width="550" height="346" /></a>Yukarıdaki tablodan da görüldüğü üzere <strong>168MHz</strong> gibi bir hızda, özellikle tüm çevre birimleri açıkken çektiği akım 86.8mA olarak verilmiş. Bu da 3.3V ile çalışan bir işlemci için <strong>0.28W</strong> kayıp yapar ve bu, özellikle yukarıda bahsettiğimiz dsPIC ve buna benzer işlemciler karşısında ARM&#8217;ı bir adım öner çıkarır.</p>
<p>Sonuç olarak bu ve bunun gibi bir çok örnek gösteriyor ki ARM&#8217;lar, hem güç tüketimlerinin azlığı hem de hızlarıyla geleceğin mikrodenetleyici mimarisini olacaklarını şimdiden garantilediler.</p>
<p>Herkese çalışmalarında başarılar dilerim.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/imdat-mikrodenetleyicim-yaniyor/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/imdat-mikrodenetleyicim-yaniyor/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>MATLAB&#8217;in Küçük Kardeşi: SpeQ</title>
		<link>http://www.fxdev.org/matlabin-kucuk-kardesi-speq/</link>
		<comments>http://www.fxdev.org/matlabin-kucuk-kardesi-speq/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 16:18:19 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[çizme]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[grafik]]></category>
		<category><![CDATA[graphic]]></category>
		<category><![CDATA[hesap]]></category>
		<category><![CDATA[m]]></category>
		<category><![CDATA[makinesi]]></category>
		<category><![CDATA[matematik]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[polinom]]></category>
		<category><![CDATA[programı]]></category>
		<category><![CDATA[speq]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=1137</guid>
		<description><![CDATA[Elektrik veya Elektronik ile ilgilenmiş herkes hayatında bir kez dahi olsa MATLAB adını duymuş, üzerinde projeler geliştirmiş, programlar yazıp, algoritmalar koşturmuştur. Toolbox&#8217;ları ve sunduğu bir çok ek özelliği ile MATLAB&#8217;in matematik konusunda dünyaca kabul görmüş bir program olduğunu söylemek sanırım yanlış olmaz. Yalnız biz kullanıcıları ve özellikle ticaret ile uğraşanları rahatsız eden ve elbette her [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" title="Continuous to Discrete" href="http://www.fxdev.org/wp-content/uploads/2011/01/Cont.to_.Disc.png"><img class="alignright size-full wp-image-905" title="Continuous to Discrete" src="http://www.fxdev.org/wp-content/uploads/2011/01/Cont.to_.Disc.png" alt="" width="250" height="200" /></a>Elektrik veya Elektronik ile ilgilenmiş herkes hayatında bir kez dahi olsa MATLAB adını duymuş, üzerinde projeler geliştirmiş, programlar yazıp, algoritmalar koşturmuştur. Toolbox&#8217;ları ve sunduğu bir çok ek özelliği ile MATLAB&#8217;in matematik konusunda dünyaca kabul görmüş bir program olduğunu söylemek sanırım yanlış olmaz.</p>
<p>Yalnız biz kullanıcıları ve özellikle ticaret ile uğraşanları rahatsız eden ve elbette her güzel programın sahip olduğu &#8220;ücret ve lisans&#8221; söz konusu olduğunda MATLAB de bu engele takılmaktadır. <span id="more-1137"></span>Her ne kadar yüksek bir ücretlendirmeye sahip olmasa da (öğrenciler için Aralık 2011 itibariyle MATLAB 89$ + Toolbox başına 29$) bazı işlemlerde (grafik çizim, matrissel işlemler) sahip olduğu üstünlük onu kullanmamızı zorunlu kılar. Peki MATLAB dışında, ona benzer programlar yok mudur diye soracak olduğunuzda ise aklıma Excel&#8217;den başka program gelmemektedir ve ne yazık ki o da ücretlidir.</p>
<p>İşte tam bu anda yardımımıza <strong>SpeQ Mathematics</strong> isimli program koşacaktır. Program bence boyutu itibari ile gayet başarılı işler çıkarmaktadır. MATLAB&#8217;ın en çok kullandığımız özelliği olan .m file şeklinde özel dosya yaratma, yapılan işlemleri kaydetme, değişkenlere atama yapma ve bunları daha sonra kullanma gibi standart uygulamaların altından SpeQ oldukça başarılı şekilde kalkmaktadır. Bunun yanında basit anlamda grafik çiziminin de başarılı bir başka özelliği olduğunu söylemem gerek.</p>
<p>Daha öncede belirttiğim gibi <strong>SpeQ</strong> gigabyte büyüklüğündeki abisi MATLAB&#8217;e göre biraz küçük bir boyutta: <strong>746kByte</strong>. <a href="http://www.speqmath.com/files/speq.zip" target="_blank"><strong>Buradan</strong></a> veya <a href="http://www.4shared.com/file/S5P1Jh0P/speq.html" target="_blank"><strong>buradan</strong></a> indirebileceğiniz programın arayüzü ise aşağıdaki gibi ve oldukça sade.<br />
<a class="lightbox" title="SpeQ Ana Ekran" href="http://www.fxdev.org/wp-content/uploads/2011/12/speq_mainscreen.png"><img class="aligncenter size-full wp-image-1139" title="SpeQ Ana Ekran" src="http://www.fxdev.org/wp-content/uploads/2011/12/speq_mainscreen.png" alt="" width="567" height="409" /></a>MATLAB kullanıcıların en büyük şikayetlerinden biri de ilk açılış süresinin oldukça fazla vakit almasıdır. <strong>SpeQ</strong>&#8216;in açılış süresi ise bilgisayarınızdaki hesap makinesini açmaktan farksızdır. Bu yönüyle ben çoğu işimde Windows&#8217;un kendi hesap makinesini kullanmak yerine <strong>SpeQ</strong>&#8216;i tercih ediyorum. <strong>SpeQ</strong> ile yaptığım küçük bir hesaplamayı aşağıdaki fotoğraftan görebilirsiniz. Farkedeceğiniz üzere yazım tekniği MATLAB ile neredeyse aynı.<a class="lightbox" title="kullanim" href="http://www.fxdev.org/wp-content/uploads/2011/12/kullanim.png"><img class="aligncenter size-full wp-image-1140" title="kullanim" src="http://www.fxdev.org/wp-content/uploads/2011/12/kullanim.png" alt="" width="583" height="357" /></a></p>
<p><strong>SpeQ&#8217;</strong>in bir diğer güzelliği ise fonksiyonlarının az olmasından kaynaklanan yardım ara birimidir. &#8220;<strong><em>Functions</em></strong>&#8221; bölmesinde istediğiniz fonksiyonu aratabilir ya da çift tık ile istediğiniz fonksiyonu çalışma alanına ekleyebilirsiniz. Çizim konusunda ise temel bir kullanım veren <strong>SpeQ</strong> bu konuda çoğu kişiyi tatmin etmeyebilir. Yalnız çizim üzerinde değişikliklerin hızlı yapılabilmesi SpeQ için bir artı. Aşağıda 1k direnç ve 1000uF kapasitörün 10V ile dolum ve boşalım eğrilerini görebilirsiniz.<a class="lightbox" title="SpeQ Grafik" href="http://www.fxdev.org/wp-content/uploads/2011/12/grafik.png"><img class="aligncenter size-full wp-image-1141" title="SpeQ Grafik" src="http://www.fxdev.org/wp-content/uploads/2011/12/grafik.png" alt="" width="546" height="385" /></a></p>
<p>Yukarıdaki çizime ait fonksiyon yazımını aşağıdan kopyala/yapıştır ile çalışma alanına atıp F5 tuşuna basmanız yeterlidir.</p>
<pre class="brush: c;;">closeall;

R=1000;		'Direnç Degeri'
C=1000e-6;	'Kapasitör De?eri'
to=R*C;		'Zaman sabiti'
V=10;		'Gerilim'

f1(x)=10-10*e^-(x/to)	'Kapasitör dolum fonksiyonu'
	Function f1(x) is defined
f2(x)=10*e^-(x/to)		'Kapasitör bosalim fonksiyonu'
	Function f2(x) is defined
Plot(f1(x),f2(x))		'Grafik çizdiriliyor'
	Plot done
'Grafik üzerindeki özellikler ayarlanıyor'
yMax=20;
yMin=-2.5;
xMax=10;
xMin=-1.5;
xLabel="Time";
yLabel="Voltage";</pre>
<p>Sonuç olarak yukarıda bahsettiğim türden işlemler için oldukça güzel ve ücretsiz olan programın eksikleri olmakla beraber (matrissel işlemler gibi) eklenecek bir kaç özellikle, el altında sıklıkla tercih edilecek başarılı bir program olacağını söylemek sanırım yanlış olmaz.</p>
<p>Programın diğer ek özelliklerini keşfetmeyi size bırakarak herkese çalışmalarında başarılar dilerim.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/matlabin-kucuk-kardesi-speq/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/matlabin-kucuk-kardesi-speq/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Digital Dummy Load and Battery Capacity Tester</title>
		<link>http://www.fxdev.org/digital-dummy-load-and-battery-capacity-tester/</link>
		<comments>http://www.fxdev.org/digital-dummy-load-and-battery-capacity-tester/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 15:43:21 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[akım]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[batarya]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[cihazı]]></category>
		<category><![CDATA[current]]></category>
		<category><![CDATA[dummy]]></category>
		<category><![CDATA[electronic]]></category>
		<category><![CDATA[elektronik]]></category>
		<category><![CDATA[gerilim]]></category>
		<category><![CDATA[koruma]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[seri]]></category>
		<category><![CDATA[sıcaklık]]></category>
		<category><![CDATA[temperature]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[tester]]></category>
		<category><![CDATA[uart]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[voltage]]></category>
		<category><![CDATA[yük]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=1102</guid>
		<description><![CDATA[Siteyle epeydir ilgilenememe yol açan, daha önce burada bahsettiğim projemi biraz geliştirerek oluşturduğum, hem batarya kapasite test hem de dijital yükleme cihazını sizlere tanıtmak istedim. Günümüzde bataryalar özellikle bir çok mobil cihazın vazgeçilmez elemanı olarak kullanılmaktadırlar. Özellikle uzun ömürlü kullanım için üreticiler, hem bataryayı en verimli şekilde kullanmalı hem de en iyi şekilde şarj etmeleri [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" title="Battery" href="http://www.fxdev.org/wp-content/uploads/2011/09/Battery.png"><img class="alignright size-full wp-image-1103" title="Battery" src="http://www.fxdev.org/wp-content/uploads/2011/09/Battery.png" alt="" width="264" height="129" /></a>Siteyle epeydir ilgilenememe yol açan, daha önce <a href="http://www.fxdev.org/dummy-load/" target="_blank"><strong>burada</strong></a> bahsettiğim projemi biraz geliştirerek oluşturduğum, hem batarya kapasite test hem de dijital yükleme cihazını sizlere tanıtmak istedim.<br />
Günümüzde bataryalar özellikle bir çok mobil cihazın vazgeçilmez elemanı olarak kullanılmaktadırlar. Özellikle uzun ömürlü kullanım için üreticiler, hem bataryayı en verimli şekilde kullanmalı hem de en iyi şekilde şarj etmeleri gerekmektedir. Yalnız gerek üretim gerekse kullanıcı ve ürün hatalarından kaynaklanan problemler nedeniyle bataryaların ömürleri, kapasiteleri ve kısa devre koruma gibi iç devre elemanları bozulabilir. <span id="more-1102"></span><a class="lightbox" title="Genel Görünüm - 1" href="http://www.fxdev.org/wp-content/uploads/2011/09/genel_gorunum.jpg"><img class="alignleft size-full wp-image-1105" title="Genel Görünüm - 1" src="http://www.fxdev.org/wp-content/uploads/2011/09/genel_gorunum.jpg" alt="" width="201" height="244" /></a>Özellikle kapasite gibi ürünün uzun süre çalışmasını etkileyen bir faktörün ölçümü için ise batarya kapasite test cihazları kullanılır. Batarya kapasitesinin ise doğru olarak ölçülebilmesi için bataryadan sabit bir akım değeri, öngörülen süre boyunca çekilmelidir. Bu noktada ise uzun süre yüklenecek olan bataryanın gerilim değişimine göre ayarlanması gereken yük oldukça önem kazanmaktadır. Bunu elle ayarlamak ise oldukça güç olduğundan genellikle dijital (ya da analog) ayarlı yük devreleri kullanılır; yani bir taşla iki kuş!<br />
Yan tarafta resmi görülen (tıklarsanız büyür) prototipi, tüm yazılımları ve ürünün kendi iki hafta gibi kısa sürede tamamlanan projenin, bir diğer güzel özelliği ise kat kat tasarlanmış olmasıdır. Boyutları genel itibariyle 8x8x10cm olan devrenin barındırdığı özellikler aşağıdadır;<br />
<div class="important-green"><span class="important-title-green">Digital Dummy Load and Battery Capacity Tester</span>* 0.1A akım çözünürlüğü<br />
* 0.1V gerilim çözünürlüğü<br />
* 25Vmax veya 50Vmax giriş gerilimi<br />
* 25/50V ve 20A&#8217;e kadar akım/gerilim grafiği çıkarabilme<br />
* 15W sürekli güç çekebilme<br />
* Sabit akım çekme, ~1.5 saniye tepki süresi<br />
* Batarya kapasitesi ölçme<br />
* Oluşturulan grafiklerin jpeg veya png olarak kaydedilmesi<br />
* Dahili USB/Seri port çeviricisi sayesinde harici çeviricilere ihtiyaç duymama<br />
* Aşırı sıcaklık koruması<br />
* Ortalama 1W güç tüketimi (12V sabit adaptör ile kullanımda)<br />
* Bilgisayar arayüzü ile kontrol edilebilme<br />
* Pleksiglas ile sağlanan şık tasarım</div></p>
<p>Bu konularla pek ilgisi olmayan bir kişinin &#8220;bu tasarım ne işime yarayacak&#8221; sorusuna şöyle cevap verebilirim; hepimiz öyle ya da böyle regülatör tasarımı ya da step down, step up, izolasyonlu topojiler kullanarak güç kaynakları yapıyor ya da satın alıyoruz. Özellikle bazı uygulamalarda ya da aldığımız ürünün kalitesini, ne kadar zorlayabileceğimizi görmek için gerilim/akım grafiklerine gerek duyuyoruz.<br />
Örneğin aldığımız bir SMPS 24V/10A kaynağının gerçekteki regülasyonu bilmek, ileride yapacağımız uygulama için önemli olabilir. Bu bir güneş panelinden, DC motora, herhangi bir pilden, adaptölere kadar uzanabilmektedir. Yaptığımız cihaz ise bu grafiği sadece 10-15 saniye gibi bir aralıkta bizlere sunmaktadır. Bu da güç kaynağımızın kalitesi hakkında bize yorum yapma olanağı sağlar.<br />
Bunun yanında proje özellikle bataryalarla çok fazla çalışan, telsizciler, hobi araçlar, quadrotorlar ve daha bir çok batarya kullanılan alanda bataryanın performansını ölçmek için kullanılabilir.</p>
<p><span style="color: #008000;"><strong>1) Digital Dummy Load (Dijital Yük)</strong></span><br />
Örnek olarak kendi evimde hobi amaçla kullandığım bilgisayar güç kaynağının 12V çıkışının gerilim akım grafiğini göstermek istiyorum. Grafiği yorumlarsak regülasyonun oldukça kötü olduğunu söylemek mümkündür (resme tıklarsanız büyür).<a class="lightbox" title="Kötü Regülasyon 12V Test" href="http://www.fxdev.org/wp-content/uploads/2011/09/bad_reg_12V.jpg"><img class="aligncenter size-full wp-image-1107" title="Kötü Regülasyon 12V Test" src="http://www.fxdev.org/wp-content/uploads/2011/09/bad_reg_12V.jpg" alt="" width="612" height="252" /></a>Aşağı yukarı 10 yıllık bir güç kaynağının (SMPS tamircileri daha iyi bilecektir) çıkış kapasitörlerinin değer kaybetmesinden dolayı bu sorunun olabileceğini düşünerekten çıkışa sağlam kapasitörler bağlandığında elde edilen aşağıdaki grafik ise yukarıdakine nazaran bize daha iyi regülasyon sağlamaktadır (resme tıklarsanız büyür).<a class="lightbox" title="Good Reg. 12V" href="http://www.fxdev.org/wp-content/uploads/2011/09/good_reg.png"><img class="aligncenter size-full wp-image-1108" title="Good Reg. 12V" src="http://www.fxdev.org/wp-content/uploads/2011/09/good_reg.png" alt="" width="615" height="310" /></a>Akım gerilim grafiğinin kapasite bağlandıktan sonraki ölçümünü ve cihazın genel özelliklerini aşağıdaki videodan izleyebilirsiniz (tam ekran ve yüksek çözünürlükte izlemenizi öneririm).<p><a href="http://www.fxdev.org/digital-dummy-load-and-battery-capacity-tester/"><em>Click here to view the embedded video.</em></a></p>Bir diğer göstermek istediğim grafik ise telsiz bataryaları ile ilgili; aşağıda HYT marka telsiz bataryasının akım gerilim grafiği görülmektedir (resme tıklarsanız büyür). <a class="lightbox" title="HYT Battery Test" href="http://www.fxdev.org/wp-content/uploads/2011/09/hyt-bandrolsuz.png"><img class="aligncenter size-full wp-image-1109" title="HYT Battery Test" src="http://www.fxdev.org/wp-content/uploads/2011/09/hyt-bandrolsuz.png" alt="" width="619" height="255" /></a>Yukarıdan da görüldüğü üzere batarya gerilimi yük arttıkça düşmekte ve bir süre sonra da batarya koruma moduna girmektedir. Bu da bizlere bataryanın koruma iç devresinin sağlıklı çalıştığını yansıtmaktadır.</p>
<p><span style="color: #ff0000;"><strong>2) Battery Capacity Tester (Batarya Kapasite Testi)</strong></span><br />
Batarya testi aslında oldukça basit bir testtir. Genel itibari ile belirlenen sabit bir akım değeri, belirli bir süre boyunca çekilir. Grafiğin altında kalan alan ise bizlere kapasite değerini Ah birimiyle geri döndürür.<br />
Örneğin; 7.2V 1500mAh bir bataryamız olduğunu düşünelim. Bu değer bize bu bataryadan 1.5A&#8217;i 1 saat boyunca alabileceğimizi söylemektedir. Peki aklımıza şu soru gelebilir; 1 saat uzun bir süre bunu 15dk gibi kısa bir sürede yükleyip tam kapasite değerini ölçemez miyiz? Aslında ölçebiliriz, örneğin bir batarya bir saat boyunca 1.5A verebiliyorsa, 15dk için 6A verebilir. Yalnız gerek sıcaklık, gerekse diğer etmenler nedeniyle hiç bir zaman bu örnekteki bataryadan 15dk boyunca 6A çekemeyiz. Bu durum Alman bilimadamı W. Peukert tarafından 1897&#8242;de Peukert denklemi ile aşağıdaki şekilde açıklanmıştır.</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=Cp%3DI%5EnxT&#038;bg=ffffff&#038;fg=000000&#038;s=2' alt='Cp=I^nxT' title='Cp=I^nxT' class='latex' /></center>Yukarıdaki formülde I akım (A), T süre (h), Cp ise kapasitedir (Ah). n ise bataryanın tipine, sıcaklığına bağlı bir değişkendir. Örneğin kurşun asit bataryalar için bu değer 1.35 alınabilir. Deneysel bir sabit olduğundan önceden kestirmek pek mümkün değildir.<br />
Batarya boşalım grafikleri genellikle gerilim/zaman üzerinden verilir. Yani bataryadan sabit bir akım çekilirken, zaman işletilerek bataryanın gerilimi ölçülür. Aşağıda örnek bir Li-Po bataryanın boşalım grafiği görülmektedir.<a class="lightbox" title="Li-Po Discharge" href="http://www.fxdev.org/wp-content/uploads/2011/09/lipo_discharge.png"><img class="aligncenter size-full wp-image-1110" title="Li-Po Discharge" src="http://www.fxdev.org/wp-content/uploads/2011/09/lipo_discharge.png" alt="" width="386" height="252" /></a>Bir çok bataryanın datasheetine baktığınızda da boşalım grafiğinin yukarıdakine benzediğini görebilirsiniz. Aşağıda ise Kirusun marka, 7.4V, 1500mAh kapasiteye sahip bir bataryanın, 1.5A yükte, batarya test cihazıyla alınmış 1 saatlik gerilim/zaman grafiğini görebilirsiniz.<a class="lightbox" title="Krisun 1h Test" href="http://www.fxdev.org/wp-content/uploads/2011/09/krisun-1h-test.png"><img class="aligncenter size-full wp-image-1111" title="Krisun 1h Test" src="http://www.fxdev.org/wp-content/uploads/2011/09/krisun-1h-test.png" alt="" width="615" height="310" /></a>Yukarıda test ettiğim bataryanın kapasitesini daha hızlı ölçmek için yükü 3A&#8217;e çıkardığımda aldığım grafiği ise aşağıda görebilirsiniz.<a class="lightbox" title="Krisun 0.5h Test" href="http://www.fxdev.org/wp-content/uploads/2011/09/krisun-0.5h-test.png"><img class="aligncenter size-full wp-image-1112" title="Krisun 0.5h Test" src="http://www.fxdev.org/wp-content/uploads/2011/09/krisun-0.5h-test.png" alt="" width="615" height="310" /></a>Yukarıdaki grafiklerden baktığımızda 1 saatlik testte 3500 saniye bataryanın ortalama 1.5A verdiğini varsayarak gerçek kapasite değerimizi Cp=1458mAh buluruz. İkinci testimizde ise akım değerimiz I=3A ve grafiğe baktığımızda bu akımın 1500 saniye boyunca alındığını düşünerek yeni kapasite değerimiz 1250mAh bulunur. Buradan da görüldüğü gibi fazla yük bataryanın kapasitesini düşürücü yönde bir etki göstermektedir.</p>
<p><span style="color: #800080;"><strong>Sonuç olarak&#8230;</strong></span><br />
<a class="lightbox" title="Genel Görünüm - 2" href="http://www.fxdev.org/wp-content/uploads/2011/09/genel_gorunum_2.jpg"><img class="alignright size-full wp-image-1106" title="Genel Görünüm - 2" src="http://www.fxdev.org/wp-content/uploads/2011/09/genel_gorunum_2.jpg" alt="" width="267" height="273" /></a><br />
Belki herkesin değil fakat benim gibi güç elektroniği konusuna meraklı arkadaşların bu tür bir cihaza sahip olmaları bence oldukça önemli. Örnek olarak daha önce <a href="http://www.fxdev.org/mc34063a-step-updown-convertor-incelemesi/" target="_blank"><strong>burada</strong></a> ve <a href="http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/" target="_blank"><strong>burada</strong></a> yaptığım incelemelerde dirençleri paralel bağlayarak ancak uygun yükleme işlemini gerçekleştirdiğimi hatırladığımda ya da bir bataryanın testi için 1 saate yakın bir lambayı yaktığımda böyle bir aracın benim için vazgeçilmez olduğunu anladım. Şu an için ürün her ne kadar ilk versiyonda olsa elde edilen sonuç bence oldukça tatmin edici.</p>
<p>Yukarıda tanıttığım ve geliştirmesini üstlendiğim ürünün hazır halini satın almak isteyen arkadaşlar iletişim bölümünden benimle irtibata geçebilir artı daha fazla bilgiyi mail yoluyla öğrenebilirler.</p>
<p>Her türlü sorunuzu, tasarım ile ilgili düşüncelerinizi yorum kısmından bana ulaştırabilirsiniz..<br />
Herkese çalışmalarında başarılar, bol elektronikli günler dilerim..</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/digital-dummy-load-and-battery-capacity-tester/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/digital-dummy-load-and-battery-capacity-tester/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PIC18F2550 USB Deneme Kartı</title>
		<link>http://www.fxdev.org/pic18f2550-usb-deneme-karti/</link>
		<comments>http://www.fxdev.org/pic18f2550-usb-deneme-karti/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 00:14:19 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[18f2550]]></category>
		<category><![CDATA[18f4550]]></category>
		<category><![CDATA[besleme]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[deneme]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[kartı]]></category>
		<category><![CDATA[kit]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=1092</guid>
		<description><![CDATA[Son haftalarda işlerimin yoğunluğundan bir türlü siteye zaman ayıramadım. Bu süre zarfı boyunca bir çok yeni bilgi öğrendim ve önümüzdeki günlerde özellikle güç kaynakları ve batarya performansları konusunda, yaptığım projeyle ilgili olarak burada bilgi paylaşmayı düşünüyorum. Özellikle yukarıda çok az da olsa bahsettiğim projede USB/Seri çeviricinin devreye ekstra yer kaplaması ve maliyet oluşturmasından sonra USB [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox"  title ="USB" href="http://www.fxdev.org/wp-content/uploads/2011/09/usb.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/09/usb.png" alt="" title="USB" width="238" height="114" class="alignright size-full wp-image-1098" /></a>Son haftalarda işlerimin yoğunluğundan bir türlü siteye zaman ayıramadım. Bu süre zarfı boyunca bir çok yeni bilgi öğrendim ve önümüzdeki günlerde özellikle güç kaynakları ve batarya performansları konusunda, yaptığım projeyle ilgili olarak burada bilgi paylaşmayı düşünüyorum.<br />
Özellikle yukarıda çok az da olsa bahsettiğim projede USB/Seri çeviricinin devreye ekstra yer kaplaması ve maliyet oluşturmasından sonra USB öğrenmeye karar verdim.<span id="more-1092"></span> Özellikle HID protokolü kontrolü üzerine yoğunlaşmak istediğim devre şemasını aşağıda görebilirsiniz. (Resmin üzerine tıklarsanız büyüyecektir)<a class="lightbox" title="PIC18F2550 USB Circuit" href="http://www.fxdev.org/wp-content/uploads/2011/09/usb_circuit_fxdev.jpg"><img class="aligncenter size-full wp-image-1093" title="PIC18F2550 USB Circuit" src="http://www.fxdev.org/wp-content/uploads/2011/09/usb_circuit_fxdev.jpg" alt="" width="600" height="412" /></a>Yukarıdaki şemadan da görebileceğiniz üzere devreyi oldukça sade tuttum. Yaklaşık 5.5&#215;5.5cm olmasını istediğim devrede bir adet USB portu, bir adet pot ve PICKIT2 ile devreyi programlayabilmem için çıkışlar bulunmaktadır. Ayrıca devre beslemesini direkt olarak USB&#8217;den sağlamaktadır. Aşağıdaki resim &#8220;Google SketchUp&#8221; yardımıyla çıkarılmıştır.<a class="lightbox" title="PIC18F2550 USB Board Gerber" href="http://www.fxdev.org/wp-content/uploads/2011/09/usb_devre_gerber.jpg"><img class="aligncenter size-full wp-image-1094" title="PIC18F2550 USB Board Gerber" src="http://www.fxdev.org/wp-content/uploads/2011/09/usb_devre_gerber.jpg" alt="" width="344" height="358" /></a>Devre tamamlandığında aşağıdaki gibi görünmesi gerekmektedir. Bu görüntü ise Eagle 3D kullanılarak çıkarılmıştır.<a class="lightbox" title="PIC18F2550 USB Board 3D" href="http://www.fxdev.org/wp-content/uploads/2011/09/USB-Test-Board-3D.jpg"><img class="aligncenter size-full wp-image-1095" title="PIC18F2550 USB Board 3D" src="http://www.fxdev.org/wp-content/uploads/2011/09/USB-Test-Board-3D.jpg" alt="" width="585" height="329" /></a>Son olarak ise devrenin son halini göstermek istiyorum.<a class="lightbox" title="PIC18F2550 USB Board" href="http://www.fxdev.org/wp-content/uploads/2011/09/pcb_son_hal.jpg"><img class="aligncenter size-full wp-image-1097" title="PIC18F2550 USB Board" src="http://www.fxdev.org/wp-content/uploads/2011/09/pcb_son_hal.jpg" alt="" width="485" height="322" /></a>Parçalar yerleştirildikten sonra devrenin (özellikle USB) çalışıp çalışmadığını anlamak için yazının sonundaki eke iki adet program koyuyorum. Bu programlarından bir tanesiyle sırasıyla LED&#8217;leri yakarken, diğeriyle USB&#8217;yi direkt olarak kullanabilirsiniz.</p>
<p>Özellikle bir konuda çalışmaya başlamadan önce yapılan ön hazırlıkları ve sitemde daha önce hiç PCB örneği paylaşmadığım için hazırladığım bu yazıyı bitirirken ileride yapacağım USB çalışmalarımın detaylarını yine buradan paylaşacağımı hatırlatmak isterim.<br />
Yapacağım çalışmalarımı CCS C ile <span style="color: #ff0000;"><strong>yapmayacağımdan</strong></span>, bu konuda bana gelecek soruları cevapsız bırakacağımı şimdiden söylemeliyim. <strong><span style="color: #008000;">Onun için herkesi <span style="color: #0000ff;">C18</span>&#8216;e davet ediyorum</span></strong> <img src="http://www.fxdev.org/wp-content/plugins/more-smilies/Phoenity/smile.png" alt=")" class="wp-smiley" /> </p>
<p>Yazıyla ilgili tüm PCB şematik ve baskı devre dosyalarına, ilgili programlara ve resimlere <a href="http://www.4shared.com/file/K9yxeMPv/USB_Board_FxDevorg.html" target="_blank"><strong>buradan</strong></a> ulaşabilirsiniz. Son olarak devre çiziminde Eagle 5.11.0 kullandığımı söylemek isterim.</p>
<p><strong>Ayrıca yukarıda resmi görülen kiti edinmek isteyenler bana mesaj yoluyla ulaşabilirler.</strong></p>
<p>Herkese çalışmalarında başarılar dilerim..</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/pic18f2550-usb-deneme-karti/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/pic18f2550-usb-deneme-karti/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Geçmişe Yolculuk: 32 Bit Pipelined RISC CPU</title>
		<link>http://www.fxdev.org/gecmise-yolculuk-32-bit-pipelined-risc-cpu/</link>
		<comments>http://www.fxdev.org/gecmise-yolculuk-32-bit-pipelined-risc-cpu/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 10:49:01 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[32]]></category>
		<category><![CDATA[bit]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[işlemci]]></category>
		<category><![CDATA[kime]]></category>
		<category><![CDATA[mano]]></category>
		<category><![CDATA[mikrodenetleyici]]></category>
		<category><![CDATA[monitör]]></category>
		<category><![CDATA[verilog]]></category>
		<category><![CDATA[vga]]></category>
		<category><![CDATA[vhdl]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=1050</guid>
		<description><![CDATA[Yıl 2008, bundan 3 sene önce ARM, AVR, PIC, MSP430 bilmiyorken hepimizin yüzüne bakmadığı and/or kapılarıyla, şu an ARM mikrodenetleyicilerin, INTEL ve AMD&#8217;nin bir dönem benimsedikleri mimariyi kullanarak 32 Bit 4 basamak Pipeline 120MHz mikroişlemci geliştirmiştim. Düşünüyorum da o zamanlar, önümüzdeki 2-3 sene içerisinde VHDL, FPGA dünyayı kasıp kavuracak, bizde bu kasırgada kendimize bir yer [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="CPU" src="http://www.fxdev.org/wp-content/uploads/2009/01/cpu.jpg" alt="" width="207" height="173" />Yıl 2008, bundan 3 sene önce ARM, AVR, PIC, MSP430 bilmiyorken hepimizin yüzüne bakmadığı and/or kapılarıyla, şu an ARM mikrodenetleyicilerin, INTEL ve AMD&#8217;nin bir dönem benimsedikleri mimariyi kullanarak 32 Bit 4 basamak Pipeline 120MHz mikroişlemci geliştirmiştim. Düşünüyorum da o zamanlar, önümüzdeki 2-3 sene içerisinde VHDL, FPGA dünyayı kasıp kavuracak, bizde bu kasırgada kendimize bir yer edinelim derken laboratuvarda sabahtan akşama kadar çalışıyordum. Hatta bunla yetinmeyip uluslararası bir sempozyuma makale yazmışlığımız dahi vardı. <span id="more-1050"></span> Elbette o zamanlar FPGA kullanımının genel anlamda çok az olduğunu bilmiyorduk.<br />
Benim 3 sene önceki düşüncelerime sahip arkadaşlara motivasyon amaçlı aşağıdaki videoyu izlemelerini öneririm. Biz mikrodenetleyici severlerin de, mikrodenetleyicinin iç yapısında neler olduğunu görmesi açısından güzel bir video olduğunu düşünüyorum.<p><a href="http://www.fxdev.org/gecmise-yolculuk-32-bit-pipelined-risc-cpu/"><em>Click here to view the embedded video.</em></a></p> <div class="important-green"><span class="important-title-green">32 Bit Pipelined RISC CPU İşlem Basamakları</span>R1     = R1+15<br />
R2     = R1<br />
R3     = R1 + R2<br />
R4     = NOT R4<br />
R5     = R1xR2<br />
R6     = R3+1<br />
R7     = R6-R5<br />
R1     = R1-1<br />
R15    = R2 AND R1<br />
R14    = sllllR2<br />
R13    = srrrR2<br />
M[R9]  = R9<br />
R12    = M[R9]<br />
R10    = R2+14<br />
R9     = R9+1<br />
JMR    = R2 (PC=0&#8242;a dallan)</div></p>
<p>Yukarıdaki çalışmanın miarisini aşağıdaki resimde görebilirsiniz. Resmi detaylı şekilde incelediğinizde aslında tüm donanımların, basit mantık kapılarıyla yapıldıklarını görebilirsiniz.<a class="lightbox" title="32 Bit Pipilined RISC CPU" href="http://www.fxdev.org/wp-content/uploads/2011/08/32_Bit_Pipilined_RISC_CPU.png"><img class="aligncenter size-full wp-image-1051" title="32 Bit Pipilined RISC CPU" src="http://www.fxdev.org/wp-content/uploads/2011/08/32_Bit_Pipilined_RISC_CPU.png" alt="" width="616" height="707" /></a></p>
<p>FPGA konusunda çalışacak arkadaşlara ise aşağıdaki iki kitabı edinmelerini öneririm;</p>
<p>- Mano,Kime &#8211; Logic and Computer Design Fundamentals 4th Edition<br />
- Volnei A. Pedroni &#8211; Circuit Design with VHDL</p>
<p>Herkese FPGA çalışmalarında başarılar diler, mikrodenetleyicileri çok unutmamalarını öneririm <img src="http://www.fxdev.org/wp-content/plugins/more-smilies/Phoenity/wink.png" alt=")" class="wp-smiley" /> </p>
<p><strong>Dip not:</strong> Bu çalışmalarımı Yiğit KARABULUT ile birlikte yürütmüştüm, kendisine buradan teşekkürü bir borç bilirim.</p>
<p><em>Müzik: Karsu Dönmez &#8211; La&#8217;l</em></p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/gecmise-yolculuk-32-bit-pipelined-risc-cpu/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/gecmise-yolculuk-32-bit-pipelined-risc-cpu/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Sponsorluk ve Reklam: ExpKits ve EX33DS</title>
		<link>http://www.fxdev.org/sponsorluk-ve-reklam-expkits-ve-ex33ds/</link>
		<comments>http://www.fxdev.org/sponsorluk-ve-reklam-expkits-ve-ex33ds/#comments</comments>
		<pubDate>Tue, 10 May 2011 13:36:29 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[Hayat]]></category>
		<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[24f]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[ex33ds]]></category>
		<category><![CDATA[expkits]]></category>
		<category><![CDATA[lpc1768]]></category>
		<category><![CDATA[nxp]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[stm]]></category>
		<category><![CDATA[stm32]]></category>
		<category><![CDATA[tanıtım]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=965</guid>
		<description><![CDATA[Sitenin ayakta durması için arayışa giriştiğim desteğini bugün itibari ile ExpKits ile sağlamış bulunmaktayım. Destekleri için şirket sahibi Göktuğ Bey&#8217;e teşekkürlerimi sunmak isterim. Ayrıca bu desteğin yanında bana kendilerinin geliştirdiği EX33DS geliştirme kitini göndermeleri de, bu kartı sizler için incelememe vesile oldu. Böylelikle farklı durumlar gerçekleşmedikçe bundan sonraki çalışmalarımda bu kiti kullanacağımı da sizlere bu [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox"  title ="ExpKits EX33DS" href="http://www.fxdev.org/wp-content/uploads/2011/05/expkits.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/05/expkits.png" alt="" title="ExpKits EX33DS" width="305" height="229" class="alignright size-full wp-image-966" /></a>Sitenin ayakta durması için arayışa giriştiğim desteğini bugün itibari ile <a href="http://www.expkits.com/" target="_blank"><strong>ExpKits</strong></a> ile sağlamış bulunmaktayım. Destekleri için şirket sahibi Göktuğ Bey&#8217;e teşekkürlerimi sunmak isterim. Ayrıca bu desteğin yanında bana kendilerinin geliştirdiği EX33DS geliştirme kitini göndermeleri de, bu kartı sizler için incelememe vesile oldu. Böylelikle farklı durumlar gerçekleşmedikçe bundan sonraki çalışmalarımda bu kiti kullanacağımı da sizlere bu yolla belirtmek isterim.</p>
<p>Günümüzde ister elektronik isterseniz de elektriğe gönül vermiş olun, şartlar herkese bir mikrodenetleyici ya da bir mikroişlemciyi öğrenme zorunluluğu getirmiştir. Özellikle yeni başlayan birinin kafasındaki en büyük problemler ise nereden, hangi kaynak ve dil ile hangi donanımı öğreneceğinin yanında bunu hazır bir kitle yapıp yapmayacağıdır.<span id="more-965"></span> Profesyonel bir kişi için ise kullanılacak kit üzerinde barındırdığı donanım ve kullanım kolaylığı açısından ele alınır. Ayrıca yine günümüzde zaman ve para oldukça değerli olduğundan, alınacak herhangi bir elektronik kitin, çabuk ve ucuz elimizde olması da ayrıca istediğimiz bir durumdur.<br />
Tüm bunlar ve Türkiye şartlarını göz önünde bulundurduğumuzda bir elin parmağını geçmeyen bir kaç firma içerisinden ExpKits özellikle öğrenci dostu olması nedeniyle diğerlerinden bir adım öne çıkmaktadır. Özellikle ürettiği ürünün kalite, yardım ve desteği konusunda benzerlerine nazaran çok az sorun yaşanmaktadır.<br />
<a class="lightbox"  title ="EX33DS" href="http://www.fxdev.org/wp-content/uploads/2011/05/expkits-2.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/05/expkits-2.jpg" alt="" title="EX33DS" width="600" height="485" class="aligncenter size-full wp-image-967" /></a><br />
Expkits&#8217;in piyasaya geçtiğimiz ay sürdüğü ExpKits EX33DS, özellikle 32 bit, ARM ve PIC mikrodenetleyicilerine giriş yapacaklar için oldukça ideal bir tasarım. Kit, yukarıdaki resimde görüldüğü gibi, tek başına aslında bir donanım kartı. Üzerinde kullanılmak üzere aşağıdaki donanımları barındırmakta;<br />
- 2&#215;16 LCD giriş soketi,<br />
- 128&#215;64 ve 240&#215;128 GLCD giriş soketleri,<br />
- RS232, RS485, RF, IRDA, PS2 gibi klasikleşmiş haberleşme ve bunların yanında,<br />
- ENC28J60 kontrollü Ethernet birimi,<br />
- Servo motor sürme soketleri,<br />
- DS18B20, SHT7XX, I2C EEPROM birimleri,<br />
- 64 adet led ve yine 64 adet giriş birimi,<br />
- Bu birimlerin Pull-Up ya da Pull-Down ayarlanabilmesi,<br />
- Joystick ve 4&#215;4 keypad,<br />
- 2 adet röle ve yine 2 adet optocoupler,<br />
- MiniSD kart yuvası,<br />
- 4&#215;7 segment ve Buzzer,<br />
- GLCD&#8217;ler için touch screen soketi,<br />
- 2 adet harici pot ve uygulama için bir adet LDR,<br />
- USB&#8217;den haberleşme ve enerjisini yine buradan sağlama gibi daha bir çok özellik.</p>
<p>Yukarıdaki listeden de görülebileceği gibi eğitim için kullanılmak üzere tasarlanmış ve her türlü ihtiyacı karşılayan bir tasarım olmuş. Tasarlanan bu donanım kartını tek başına kullanmak mümkün olmasa da yine ExpKits&#8217;in ürettiği MCU kartları ile ürünü istediğiniz mikrodenetleyiciye göre kullanmak mümkün. Bu da bizleri her yeni mikrodenetleyici için yeni bir kit alımı yapmaktan ve gereksiz masraflardan kurtarmakta. Ayrıca karta özel kendi tasarımımızı yaparak donanım kartını istediğimiz mikrodenetleyici ile kullanmak ise sadece sizin yeteneğinizle sınırlı. Özellikle Türkiye&#8217;de ARM kiti eksikliği yaşayan ve ARM konusuna yeni başlayacaklara yurtdışındaki değişik firmaların kitleri yerine bu kit şiddetle önerimdir.</p>
<p>Kitin en güzel ve benim için en önemli konusu ise örnek kodların açıklamalarının Türkçe ve diğer firmalar gibi örnek kodların firmanın kendine has programıyla yazılmamış olmasıdır. Bu da bizlere çalışmalarımızda kolaylık sağlamaktadır. Genel geçer kurala göre; 16 Bit PIC&#8217;ler C30, ARM ailesi ise Keil ile programlanır. Onun içindir ki firmanın örnek kodlarını bu derleyicilerle çıkarması ve kullanıcılara bunu rahatça sunması bence çok önemli ve artı puan.<br />
<a class="lightbox"  title ="MCU Boards" href="http://www.fxdev.org/wp-content/uploads/2011/05/mcu.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/05/mcu.jpg" alt="" title="MCU Boards" width="600" height="320" class="aligncenter size-full wp-image-968" /></a><br />
Hazırlanan kit bize donanım sunduğundan, hazır kitlerde görmeye alıştığımız herhangi bir programlayıcıyı üzerinde barındırmamaktadır. Bunun yerine programlama işi PIC MCU kartlarında ICSP&#8217;den, ARM MCU kartları ise gerek JTAG üzerinden gerekse seri port+Flash Magic programı ile sağlanmaktadır.</p>
<p>Sonuç olarak Türkiye şartları ele alındığında piyasaya çıkmış olan bu kart biz öğrenciler ve kendini geliştirmek isteyenler için güzel özelliklere sahip, işlevli bir kit olmuştur.</p>
<p>Kiti incelemek isteyen arkadaşlar <a href="http://www.expkits.com/?s=ex33ds.htm" target="_blank"><strong>buraya</strong></a> basarak kitin tanıtım sayfasına ve yazılmış örnek kodlara ulaşabilirler.</p>
<p>Kit konusunda merak ettiğiniz her tür sorunuzu yorum kısmından bana ulaştırırsanız elimden geldiğince sizlere yardımcı olmaya çalışırım.</p>
<p>Herkese çalışmalarında başarılar dilerim.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/sponsorluk-ve-reklam-expkits-ve-ex33ds/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/sponsorluk-ve-reklam-expkits-ve-ex33ds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MC34063A Step-Up/Down Convertor İncelemesi</title>
		<link>http://www.fxdev.org/mc34063a-step-updown-convertor-incelemesi/</link>
		<comments>http://www.fxdev.org/mc34063a-step-updown-convertor-incelemesi/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 13:53:34 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[12V]]></category>
		<category><![CDATA[5V]]></category>
		<category><![CDATA[akım]]></category>
		<category><![CDATA[bobin]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[buck]]></category>
		<category><![CDATA[down]]></category>
		<category><![CDATA[farnell]]></category>
		<category><![CDATA[formül]]></category>
		<category><![CDATA[gerilim]]></category>
		<category><![CDATA[hesap]]></category>
		<category><![CDATA[kapasitör]]></category>
		<category><![CDATA[lm2576]]></category>
		<category><![CDATA[lm7805]]></category>
		<category><![CDATA[MC34063A]]></category>
		<category><![CDATA[referans]]></category>
		<category><![CDATA[regülatör]]></category>
		<category><![CDATA[simülasyon]]></category>
		<category><![CDATA[smps]]></category>
		<category><![CDATA[sonuç]]></category>
		<category><![CDATA[step]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[up]]></category>
		<category><![CDATA[verim]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=949</guid>
		<description><![CDATA[Daha önceki yazımda değindiğim switching regulator incelemesine bu hafta MC34063A step-up/down entegresini kullanarak devam ediyorum. MC340603A entegresi bugüne kadar endüstriyel kartlarda rastladığım en sık kullanılan regülatörlerden biri. Fiyatı da LM7805 kadar. ONSEMI.&#8217;nin ürettiği bu IC&#8217;yi LM2576&#8242;dan üstün kılan ise entegrenin aynı zamanda step-up olarak da kullanılabilmesi. Ben her ne kadar step-down uygulaması yapsam da IC&#8217;nin [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" title="Power Electronic" href="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png"><img class="alignright size-full wp-image-841" title="Power Electronic" src="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png" alt="" width="200" height="143" /></a>Daha <a href="http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/"><strong>önceki yazımda</strong></a> değindiğim switching regulator incelemesine bu hafta MC34063A step-up/down entegresini kullanarak devam ediyorum.<br />
MC340603A entegresi bugüne kadar endüstriyel kartlarda rastladığım en sık kullanılan regülatörlerden biri. Fiyatı da LM7805 kadar. ONSEMI.&#8217;nin ürettiği bu IC&#8217;yi LM2576&#8242;dan üstün kılan ise entegrenin aynı zamanda step-up olarak da kullanılabilmesi. Ben her ne kadar step-down uygulaması yapsam da IC&#8217;nin bu özelliğini merak edenler için datasheet&#8217;i dikkatlice incelemelerini öneriyorum.<span id="more-949"></span><br />
MC340603A&#8217;nin datasheet&#8217;ini açıp baktığınızda 5V üretmek için aşağıdaki sade yapıyı görebilirsiniz. Resme tıklarsanız büyük halini görebilirsiniz.<a class="lightbox" title="MC34063 12V-to-5V" href="http://www.fxdev.org/wp-content/uploads/2011/03/MC34063.png"><img class="aligncenter size-full wp-image-950" title="MC34063A 12V-to-5V" src="http://www.fxdev.org/wp-content/uploads/2011/03/MC34063.png" alt="" width="419" height="352" /></a>Yukarıdaki devrede altını kırmızı ile çizdiğim kısımlar ise datasheetten farklı olan değerlerdir. Bunları datasheette bulunan denklemleri ve elimde var olan malzemeleri kullanarak tekrar hesapladım. Sırayla işlemleri yapacak olursak;<br />
<img src='http://s.wordpress.com/latex.php?latex=Vout%3D1.25%2A%281%2BR2%2FR1%29%3D1.25%2A%281%2B3k%2F1k%29%3D5V&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='Vout=1.25*(1+R2/R1)=1.25*(1+3k/1k)=5V' title='Vout=1.25*(1+R2/R1)=1.25*(1+3k/1k)=5V' class='latex' /><br />
Vsat=1V, datasheette verilmiş. TC pinine 470pF bağladık. Buradan;<br />
<img src='http://s.wordpress.com/latex.php?latex=ton%3D470pF%2F%284%2A10%5E-5%29%3D11.75us&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='ton=470pF/(4*10^-5)=11.75us' title='ton=470pF/(4*10^-5)=11.75us' class='latex' /> ve buradan toff=14.1us olur.<br />
Rsc=0.3/Ipeak olarak verilmiş, Rsc=0.22ohm için Ipeak=1.3636A olur. <strong>Bu kısım oldukça önemlidir, çünkü MC34063A&#8217;nın Ipeak değeri 1.5A&#8217;i asla geçmemelidir.</strong><br />
Ipeak=2*Iout denkleminden Iout=681.8mA~682mA bulunur.<br />
L=V*dt/dI denkleminden L=(12-1-5)(11.75us)/(1.3636)=51.7uH bulunur. Bu da kullanacağımız bobin değerinin en az 51.7uH olması gerektiği anlamı taşımaktadır. Ben devrede 220uH kullanmayı tercih ettim.<br />
Cout kapasitörünü de 2200uF kullandığımdan ripple gerilimi Vripple=Ipeak(ton+toff)/(8*Cout) denkleminden 0.002V olmaktadır.<br />
Bu kısımda simülasyona geçip Proteusta istediğimiz devreyi kurduğumda aldığım sonuçlar aşağıdaki gibi olmuştur. Resme tıklarsanız büyüyecektir.<a class="lightbox" title="MC34063 Proteus" href="http://www.fxdev.org/wp-content/uploads/2011/03/MC34063-Proteus.png"><img class="aligncenter size-full wp-image-951" title="MC34063 Proteus" src="http://www.fxdev.org/wp-content/uploads/2011/03/MC34063-Proteus.png" alt="" width="605" height="153" /></a>Simülasyon sonuçlarında Vripple ~0.02V ve Iload-ripple 2mA çıkmaktadır. Burada istediğimi elde ettikten sonra devreyi aşağıdaki elemanları kullanarak kurdum ve sonuçları almaya başladım.<a class="lightbox" title="Devre Elemanları" href="http://www.fxdev.org/wp-content/uploads/2011/03/Devre_Elemanlari.jpg"><img class="aligncenter size-full wp-image-952" title="Devre Elemanları" src="http://www.fxdev.org/wp-content/uploads/2011/03/Devre_Elemanlari.jpg" alt="" width="671" height="251" /></a>Testlerden aldığım sonuçları aşağıdaki tablodan görebilirsiniz.<a class="lightbox" title="Sonuçlar" href="http://www.fxdev.org/wp-content/uploads/2011/03/Sonuc.png"><img class="aligncenter size-full wp-image-953" title="Sonuçlar" src="http://www.fxdev.org/wp-content/uploads/2011/03/Sonuc.png" alt="" width="520" height="181" /></a>Sonuçlara baktığımızda bir tutarsızlığın olduğu göze çarpmaktadır. Elimde 1k-1.5k direnç bulunmadığından geri besleme dirençlerini 1.2k ve 2&#215;1.8k seçtiysem de sorunun buradan kaynaklandığını düşünmüyorum. Tüm çabalarıma rağmen istenen sınırlarda akım değerini 0.3A&#8217;den yukarı taşıyamadım. 100uH, 150uH bobin ve değişik kapasitör değerleri denememe rağmen de istediğim sonucu alamadım. Verim kısmında ise %75 oranın oldukça tatmin edici olduğunu söyleyebilirim.</p>
<p>LM2576 mı MC34063 mü sorusunu ise şöyle yanıtlamak isterim; her ikisi de aşağı yukarı aynı elemanları kullanıyor, her ikisi de oldukça verimli, yalnız uygulamanız fazla güç gerektirmiyor ve param kısıtlı diyorsanız elbette MC34063, fakat ben az elemanla çok iş yapayım, güç de gerekli diyorsanız LM2576.<br />
Gün itibariyle Farnell&#8217;de LM2576&#8242;nın fiyatı 1.91€ (1706045) iken MC34063&#8242;ün fiyatı 0.84€ (1191818), LM7805 ise 0.85€ (1102157). Kullanılacak soğutucuların fiyatlarını da aynı akım kapasitesinde karşılaştırmak lazım elbette.</p>
<p>Elime yeni regülatörler geçtiğinde testlerime devam edeceğim, herkese çalışmalarında başarılar dilerim.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/mc34063a-step-updown-convertor-incelemesi/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/mc34063a-step-updown-convertor-incelemesi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>LM2576 Step-Down Convertor İncelemesi</title>
		<link>http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/</link>
		<comments>http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 22:47:22 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[12V]]></category>
		<category><![CDATA[5V]]></category>
		<category><![CDATA[akım]]></category>
		<category><![CDATA[bobin]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[buck]]></category>
		<category><![CDATA[formül]]></category>
		<category><![CDATA[gerilim]]></category>
		<category><![CDATA[hesap]]></category>
		<category><![CDATA[kapasitör]]></category>
		<category><![CDATA[lm2576]]></category>
		<category><![CDATA[lm7805]]></category>
		<category><![CDATA[referans]]></category>
		<category><![CDATA[regülatör]]></category>
		<category><![CDATA[simülasyon]]></category>
		<category><![CDATA[smps]]></category>
		<category><![CDATA[sonuç]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[verim]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=941</guid>
		<description><![CDATA[Eskiden beri ilgimi çeken dönüştürücü/evirici tasarımına olan ilgim bitirme tezime başladığımdan beri teorik kısımlarında yavaş yavaş oturmasıyla ilginç bir hal aldı. Verim kelimesinin önemli olduğu bu alanda LM7805 gibi IC&#8217;lerden sıkılan benim için LM2576, düşük sayıda komponent sayısı, kullanım kolaylığı ve vaadettiği %78&#8242;lik verim ile son günlerde çok fazla ilgimi çekti. National Semiconductor&#8217;ın ürettiği LM2576&#8242;nın [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox"  title ="Power Electronic" href="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png"><img src="http://www.fxdev.org/wp-content/uploads/2010/10/power-electronic.png" alt="" title="Power Electronic" width="200" height="143" class="alignright size-full wp-image-841" /></a>Eskiden beri ilgimi çeken dönüştürücü/evirici tasarımına olan ilgim bitirme tezime başladığımdan beri teorik kısımlarında yavaş yavaş oturmasıyla ilginç bir hal aldı. Verim kelimesinin önemli olduğu bu alanda LM7805 gibi IC&#8217;lerden sıkılan benim için LM2576, düşük sayıda komponent sayısı, kullanım kolaylığı ve vaadettiği %78&#8242;lik verim ile son günlerde çok fazla ilgimi çekti.<br />
National Semiconductor&#8217;ın ürettiği LM2576&#8242;nın 3.3, 5, 12 ve 15V sabit çıkış veren versiyonlarının yanında bir de ADJ olarak tanımlanan ayarlanabilir tipi bulunmakta. Genel olarak IC&#8217;nin iç yapısı aşağıdaki resimde görülebilir.<span id="more-941"></span><a class="lightbox" title="LM2576 İç Yapı" href="http://www.fxdev.org/wp-content/uploads/2011/03/LM2576_Ic_Yapi.png"><img class="aligncenter size-full wp-image-942" title="LM2576 İç Yapı" src="http://www.fxdev.org/wp-content/uploads/2011/03/LM2576_Ic_Yapi.png" alt="" width="605" height="228" /></a>Yukarıdaki iç yapıdan da görülebileceği üzere çıkıştan alınan gerilim bilgisi 1.23Vref ile karşılaştırılarak aç/kapa mantığıyla bobine giden 52kHz hızındaki kare dalganın doluluk oranı değiştirilerek çıkıştaki gerilim seviyesi istenen düzeye çekilmeye çalışılmaktadır. Bu esnada fazla ısınma ya da akım çekmeye karşı da önlemler IC&#8217;nin içerisinde alınmıştır. R1 ve R2 dirençleri ise sabit gerilim versiyonlarında IC&#8217;nin içerisinde sabitken, ADJ versiyonunda istenen gerilim seviyesinde çıkış almak için bu yapı dışarıya aktarılmıştır. Bunları göz önüne alarak LM2576-5V&#8217;u aşağıdaki devre şemasını kullanarak test ettim.<a class="lightbox" title="LM2576-5V Test Devresi" href="http://www.fxdev.org/wp-content/uploads/2011/03/Test_Devresi.png"><img class="aligncenter size-full wp-image-943" title="LM2576-5V Test Devresi" src="http://www.fxdev.org/wp-content/uploads/2011/03/Test_Devresi.png" alt="" width="661" height="231" /></a>Şemadaki değerleri ise datasheet&#8217;te verilen hazır devreyi kullanmaktansa kendi isteğime göre hesapladım. Devredeki beklentim çıkış akım ve gerilim ripple değerlerinin oldukça düşük olması yönündeydi.<br />
Öncelikle elimde olan malzemelerle işe başladım. Devrenin en önemli elemanı olan bobin için elimde 2cm çaplı, 0.5cmx1cm kesite sahip toroid nüve vardı. Bu nüvenin Mr&#8217;sini yaptığım test sarımında 75 olarak hesapladım. Bu onun hava boşluğu hazır bir nüve olduğunun göstergesi idi (Genellikle trafo nüvelerinde Mr 2500 ve üstü olarak bulunur). Düşük akım ripple&#8217;ı için yüksek bobin değerlerine ihtiyaç olduğundan elimdeki toroidi dolduracak kadar sarım (43 sarım) sardım. Sardığım bobini sağda görebilirsiniz.<a class="lightbox" title="Bobin" href="http://www.fxdev.org/wp-content/uploads/2011/03/Bobin.jpg"><img class="alignright size-full wp-image-945" title="Bobin" src="http://www.fxdev.org/wp-content/uploads/2011/03/Bobin.jpg" alt="" width="160" height="218" /></a><br />
L=N^2/(2*pi*r/(A*Mo*Mr)) bildiğimiz bobin formülünden r=1cm, A=0.5cm^2 için teorik olarak L=138uH çıkmaktadır. Ben ise ölçümümde bunu 127uH olarak ölçtüm. Hatanın nedeni ise teorik olarak hesap yaparken bobinin 1cm uzaklıkta sarılmış gibi düşünülmesinden kaynaklandığını söyleyebilirim.<br />
Bu nüve ile basabileceğim akımı 1/2LI^2=1/2B^2*V/(Mo*Mr)&#8217;den B=0.3T için 20A buldum. Bu da nüveyi istesem de doyuma götüremeyeceğimi gösterdi. Akımın yapacağı ripple değerini aşağıdaki formülden çektim.<br />
V(L)=LdI/dt, V bobinin üzerindeki gerilim, dI ripple akım değeri, dt ise (Vin/Vout)*(1/fs)&#8217;tir. fs LM2576&#8242;nın açık devre şemasından 52kHz olarak görülmektedir. Buradan bobinin üzerindeki gerilim 12V-5V=7V alınarak;<br />
7=127uH*dI/((5/12)*(1/52000))&#8217;den dI=0.44A çıkmaktadır.<br />
Çıkış gerilim değerinin ripple değeri ise anahtar kapalıyken yük tüm akımını kapasitör üzerinden sağlayacağından I=CdV/dt&#8217;den dV=3*((1-5/12)*(1/52000))/2200uF=0.015V olur.<br />
PSIM&#8217;de ilgili değerler yerine koyularak simülasyon yaptığımda istediğim sonucu aşağıdaki gibi aynen aldığımı gördüm.<a class="lightbox" title="Simülasyon Sonucu" href="http://www.fxdev.org/wp-content/uploads/2011/03/Simulasyon.png"><img class="aligncenter size-full wp-image-944" title="Simülasyon Sonucu" src="http://www.fxdev.org/wp-content/uploads/2011/03/Simulasyon.png" alt="" width="585" height="184" /></a><br />
Peki gerçek devrede neler oldu şimdi ona bakalım.<br />
<div class="important-red"><span class="important-title-red">Dikkat!</span>Öncelikle uyarmak isterim ki güç elektroniği tehlikeli bir dal ve gerekli güvenlik önlemleri alınmadığında gerçekten yaralanmanız an meselesi. Deneye başlamadan önce giriş kapasitör değerini 100uF/25V seçmiş ve girişten 15V uygulamıştım. Boştayken bobinden anlamsız bir gürültü gelince sesin başka bir yerden gelip gelmediğini dinleyim derken girişteki kapasitörün kulağıma patlamasıyla sesin aslında nereden geldiğini bulmuş oldum. Bunu süpriz(!) bir şekilde bulmanın etkisiyle kulağımın sızlamasının yanında 30dk sadece çınlama sesi duysam da şu an bir sorun olmaması benim için gayet sevindirici. Malzemenin sıfır olması da oldukça garip. Daha sonrasında aynı seriden kapasitör kullandığımda ise hiç bir sorun yaşamadım fakat gelin görün ki patatesin beni bulması çok acılı oldu.</div>Devreyi aşağıdaki elemanlarla kurdum ve test sonuçlarını birer birer aldım.<a class="lightbox"  title ="Test Devresi Elemanları" href="http://www.fxdev.org/wp-content/uploads/2011/03/24032011542.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/03/24032011542.jpg" alt="" title="Test Devresi Elemanları" width="648" height="372" class="aligncenter size-full wp-image-946" /></a>Yaptığım testler sonucu elde edilen verileri aşağıdaki tabloda görebilirsiniz.<a class="lightbox"  title ="LM2576-5V Test Sonuçları" href="http://www.fxdev.org/wp-content/uploads/2011/03/Test_Sonuclari.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/03/Test_Sonuclari.png" alt="" title="LM2576-5V Test Sonuçları" width="520" height="159" class="aligncenter size-full wp-image-947" /></a>Yukarıdaki tablodan da görüleceği üzere küçük güçlerde LM2576 çok verimli çalışmaktadır. Fakat yük değeri arttıkça hem feedback alınan nokta hem de çıkış kapasitör ve bobinin devredeki yeri oldukça fazla önem kazanmaktadır. Ben devreyi breadboard üzerine kurduğumdan hatanın bu kadar olmasını beklemiyordum fakat gerek soğutucunun küçüklüğü, gerek bağlantıları krokodil kablolarla yapmam bunun nedenlerinden olabilir diye düşünüyorum. Bobinin sıkı sarılmamasından kaynaklanan zırıltının da küçük kapasitörler atılarak giderilebileceğini; ileride yapacağım güç kaynağı tasarımı için denediğim LM2576&#8242;nın bence yeterli bir performans sunduğunu ve verimi önemseyenlere önerebileceğimi söylemek isterim.<br />
Elimde LM2576-ADJ&#8217;de olduğundan ayarlı güç kaynağı tasarımını tamamladığımda baskı devre vb. dosyaları yakında burada bulabileceğinizi söylerek, herkese çalışmalarında başarılar dilerim.</p>
<p><em>Dip Not: Tez, okul ve sınavlara yoğunlaştığımdan bu dönem FxDev.org&#8217;ta daha az yazı göreceksiniz, şimdiden söylemek isterim.</em></p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/lm2576-step-down-convertor-incelemesi/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>İnceme: PIC Programlayıcılar</title>
		<link>http://www.fxdev.org/pic-programlayicilar/</link>
		<comments>http://www.fxdev.org/pic-programlayicilar/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 21:30:31 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[brenner]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[jdm]]></category>
		<category><![CDATA[klon]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pickit2]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[programlayıcı]]></category>
		<category><![CDATA[seri]]></category>
		<category><![CDATA[sprut]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=934</guid>
		<description><![CDATA[Kolay bulunabilirliği ve kullanım kolaylığı nedeniyle PIC&#8217;ler hemen hemen her programcının hayatında bir kez uğraştığı mikrodenetleyicilerdir fakat her elektronikçide satılan PIC&#8217;lere yeni başlayanlar için en büyük sorunlardan birisi kullanacağı programlayıcıdır. Gün itibari ile Türkiye piyasasını ele aldığımızda 3 adet PIC programlayıcı öne çıkmaktadır: PicKit2, Brenner ve JDM. Bunlardan Pickit2 ve Brenner USB desteği sunarken JDM [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" title="PIC" href="http://www.fxdev.org/wp-content/uploads/2011/02/PIC.png"><img class="alignright size-full wp-image-936" title="PIC" src="http://www.fxdev.org/wp-content/uploads/2011/02/PIC.png" alt="" width="200" height="202" /></a>Kolay bulunabilirliği ve kullanım kolaylığı nedeniyle PIC&#8217;ler hemen hemen her programcının hayatında bir kez uğraştığı mikrodenetleyicilerdir fakat her elektronikçide satılan PIC&#8217;lere yeni başlayanlar için en büyük sorunlardan birisi kullanacağı programlayıcıdır.<br />
Gün itibari ile Türkiye piyasasını ele aldığımızda 3 adet PIC programlayıcı öne çıkmaktadır: PicKit2, Brenner ve JDM. Bunlardan Pickit2 ve Brenner USB desteği sunarken JDM seri port ile programlama yapmaktadır.</p>
<p>Peki bir elektronikçinin, bir programlayıcıdan beklentileri nelerdir?<span id="more-934"></span><br />
Bu sorunun yanıtı kişiden kişiye, uygulamadan uygulamaya değişmekle birlikte, bir programlayıcıdan beklenen genel geçer istekler aşağıdaki gibi sıralanabilir;</p>
<p>1) Desteklediği PIC, EEPROM vb. aygıtların sayısının oldukça fazla olması, son çıkan ürünlere hızlı adapte olabilmesi,<br />
2) Firmware güncellemelerinin çok hızlı bir biçimde gerçekleştirmesi,<br />
3) Her türlü gerilim aralığını, PIC&#8217;ler için bu 3.3 ve 5V oluyor, desteklemesi,<br />
4) Çok hızlı bir şekilde program atılabilmesi,<br />
5) Programlayıcılar için vazgeçilmez olan ve bu konuda ilerlemek isteyenlerin mutlaka kullanacağı hata ayıklama yani debugger özelliğinin olması,<br />
6) MPLAB, Hi-Tide veya benzeri IDE&#8217;lere uyum sağlaması,<br />
7) Sadece bir programlayıcı olarak değil, gerektiğinde seri port ve logic analyzer olarak kullanılabilmesi,<br />
8) Programmer-To-Go özelliğini bulunması,<br />
9) ZIF soket barındırması.</p>
<p>Yukarıdaki çoğu maddeyi, PIC programlamaya yeni başlayan birinin anlaması elbette beklenemez. Fakat klasik hale gelen fiyat/performans durumu herkes için ön plandadır. Hem bunu düşünerek, hem de yeni başlayan kullanıcılara yardımda bulunmak amacıyla, elimde bulunan <a href="http://www.expkits.com/?s=pickit2.htm" target="_blank"><strong>ExpKits PicKit2 Klonu</strong></a>, <a href="http://urun.gittigidiyor.com/USB-2-0-PIC-PROGRAMLAYICI-GARANTILI-ve-HEDIYELI_W0QQidZZ34659379" target="_blank"><strong>Memox Brenner</strong></a> ve <a href="http://feng3.cool.ne.jp/en/pg5v2.html" target="_blank"><strong>JDM</strong></a> PIC programlayıcılarını inceledim. Bu programlayıcıların karşılaştırılmarını aşağıdaki tabloda görebilirsiniz.<a class="lightbox" title="Pic Programlayıcıları Karşılaştırması" href="http://www.fxdev.org/wp-content/uploads/2011/02/Karsilastirma.png"><img class="aligncenter size-full wp-image-935" title="Pic Programlayıcıları Karşılaştırması" src="http://www.fxdev.org/wp-content/uploads/2011/02/Karsilastirma.png" alt="" width="651" height="374" /></a>Yukarıdaki tablodan da anlaşılacağı üzere Microchip haklı sebeplerle diğer ürünleri geride bırakıyor. Tabloda dikkatinizi çekmek istediğim bir diğer nokta da Memox Brenner&#8217;inin firmware güncellemesinin kapalı gelmesi. Amatör kullanıcıların Memox&#8217;un 2 yıllık garantisi bozulur diye tornavida değemedikleri kutuyu açtığınızda ise PIC18F2550&#8242;nin soket yerine direk karta lehimlenmiş olduğunu göreceksiniz. Dolayısıyla programlama yapmanız için PIC&#8217;i önce lehimlerden sökmeli daha sonra da programlamalısınız. Bu elbette istenmeyen bir durum.<br />
JDM ise seri portlu bir bilgisayarınız varsa özellikle okulda ödevleri öğrenmek için değil de ders geçmek için yapanlar için biçilmiş kaftan.</p>
<h2>Sonuç Olarak..</h2>
<p><a class="lightbox"  title ="Pickit 2" href="http://www.fxdev.org/wp-content/uploads/2011/02/Pickit2.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/Pickit2.png" alt="" title="Pickit 2" width="204" height="63" class="alignleft size-full wp-image-937" /></a>Eğer ileride amacınız mikrodenetleyicilerle haşır neşir olmaksa ve bunlar içinde PIC sık sık kullanacağınız bir donanımsa o halde kesinlikle ister clone ya da orijinal alın, ister kendiniz yapın, kesinlikle bir Pickit2 sahibi olun. İleride bu kararınız size en azından fazla bir programlayıcı edinmekten kurtaracaktır.<br />
Ayrıca elinizin altına JDM tarzı, delikli karta çok kolay yapabileceğiniz bir programlayıcının olması size avantaj sağlayabilir, en olmadık anda günü kurtarabilir.</p>
<p>Dip not: Karşılaştırmayı direk sitelerden ziyade elimde bulunan donanımı test ederek yaptım. Eğer donanımlarınızda var olan ya da olmayan özellikler varsa, bunu bana bildirirseniz sevinirim.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/pic-programlayicilar/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/pic-programlayicilar/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>SD/MMC Kart ve Data Logger Uygulaması</title>
		<link>http://www.fxdev.org/sdmmc-kart-ve-data-logger-uygulamasi/</link>
		<comments>http://www.fxdev.org/sdmmc-kart-ve-data-logger-uygulamasi/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 16:44:10 +0000</pubDate>
		<dc:creator>FxDev</dc:creator>
				<category><![CDATA[İnceleme]]></category>
		<category><![CDATA[Mühendislik]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[atmel]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[c30]]></category>
		<category><![CDATA[chan]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[ds18b20]]></category>
		<category><![CDATA[fat]]></category>
		<category><![CDATA[fat16]]></category>
		<category><![CDATA[fat32]]></category>
		<category><![CDATA[fatfs]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[glcd]]></category>
		<category><![CDATA[logger]]></category>
		<category><![CDATA[mdd]]></category>
		<category><![CDATA[mdd file system]]></category>
		<category><![CDATA[micro sd]]></category>
		<category><![CDATA[mmc]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[rtc]]></category>
		<category><![CDATA[sd]]></category>
		<category><![CDATA[sıcaklık]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://www.fxdev.org/?p=918</guid>
		<description><![CDATA[İki aydır sınavlardan ve tez çalışmalarımdan bana kalan küçük boşluklarda çalıştığım FAT ve SD/MMC kart uygulamamı en sonunda tamamlayabildim. Benim gibi bu konu üzerine uygulama yapmak isteyenleri doktora tezi kıvamında bir çalışma yapmadan nasıl SD ve MMC kartlara yazım yapabileceklerini bu yazımda ele almaya çalışacağım. SD/MMC kart ve FAT16/32, bu konu üzerinde çalışanların bileceği gibi [...]]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox"  title ="Toshiba Micro SD Kart" href="http://www.fxdev.org/wp-content/uploads/2011/02/Toshiba_Micro_SD.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/Toshiba_Micro_SD.jpg" alt="" title="Toshiba Micro SD Kart" width="158" height="216" class="alignright size-full wp-image-920" /></a>İki aydır sınavlardan ve tez çalışmalarımdan bana kalan küçük boşluklarda çalıştığım FAT ve SD/MMC kart uygulamamı en sonunda tamamlayabildim. Benim gibi bu konu üzerine uygulama yapmak isteyenleri doktora tezi kıvamında bir çalışma yapmadan nasıl SD ve MMC kartlara yazım yapabileceklerini bu yazımda ele almaya çalışacağım.</p>
<p>SD/MMC kart ve FAT16/32, bu konu üzerinde çalışanların bileceği gibi yeri geldiğince gerçekten baş ağrıtıcı bir uygulama olabilmektedir. İstatistiksel bir rakam vermem gerekirse internette bu konuda yapılmış çalışmaların %90&#8242;nı üreticilerin örnek kodlarının devşirilip, yontulmasıyla oluşturulmuş ve neredeyse tüm insanlık Chan&#8217;ın o ünlü kütüphanesine yönelmiş.<br />
Elektor dergisinin Ocak 2011 sayısında da değindiği bu konuya, aşağıdaki basit soruları sorarak giriş yapmak istiyorum.<span id="more-918"></span></p>
<p><strong>FAT16/FAT32 Nedir?</strong><br />
Günümüzde taşınabilir (SD/MMC/Flash Bellek) depolama aygıtlarının ortak dosya sistemi haline gelen FAT, özellikle büyük hacimli ve sürekli yazım/silim işlemleri yapılan veri saklama birimleri için geliştirilmiş bir dosya sistemidir. Günümüzde en fazla kullanılanı FAT32 olmakla beraber FAT16 ve FAT12 dosya sistemleri de bulunmaktadır.</p>
<p><strong>Hangi Bağlantı Çeşidini Kullanacağız?</strong><br />
SD/MMC kartlar bir çok iletişim yöntemini desteklese de biz SPI iletişimini tercih edeceğiz. İletişim hızımız ise maksimum 20MHz ile sınırlı kalacak.</p>
<p><strong>En Önemlisi, Hangi Kütüphaneyi Tercih Etmeliyiz?</strong><br />
Yazımın başında da belirttiğim gibi SD/MMC ve FAT konusunda lider <strong>Chan FatFS</strong> kütüphanesi olarak gözükmektedir. Bir çok firma, çoğu ARM üreticisi, Atmel AVR ve Texas Inst., bu kütüphane ile uygulama örneklerini sitelerine koymuşlardır. Microchip ise kendine ait <strong>MDD File System</strong> adlı SD/MMC kütüphanesini kullanmaktadır.</p>
<p>Ben bu konu hakkında ilk çalışmama Chan ile başlamış olsam da, istediğim başarıyı sağlayamadıktan sonra MDD File System&#8217;e yöneldim. Gerek PIC üzerinde çalışmam gerekse kullanımının oldukça basit oluşu MDD File System&#8217;e ısınmamı sağladı. Fakat bu Chan FatFs&#8217;in elbette kötü bir kütüphane olduğu anlamına gelmez. Çalışmak istediğimiz FAT dökümanı istediğimiz işlemlerimizi gerçekleştiriyorsa benim için ister Chan FatFs ister MDD File System ister FıratFs olmuş açıkçası hiç önemli değil. Sonuç olarak hazır kütüphane kullanıyoruz ve her şeyin bize uymasını beklemek yanlış olur.</p>
<p><strong>Birbirlerine Karşı Üstünlükleri Var Mıdır?</strong><br />
Her iki kütüphane de en temel fonksiyonları, dosya/klasör açma, okuma, yaratma, değiştirme bünyesinde barındırmaktadır. Sadece MDD kütüphanesi FatFs kütüphanesine nazaran boyut olarak biraz daha büyüktür.</p>
<p><strong>PIC Dışındaki Mikrodenetleyicilerde Ne Yapmalıyız?</strong><br />
PIC dışındaki mikrodenetleyicilerde de durum aynıdır. Fakat ARM ve Chan FatFs kütüphanesi ile ilgili bir çok örnek internette bulunmaktadır. İstenirse MDD File System kütüphanesi de istediğiniz mikrodenetleyici için düzenlenebilir.</p>
<p><strong>Bunca Sene Hazır Kütüphaneye Karşı Çıkan Sen, Şimdi Neden Hazır Kütüphane Öneriyorsun?</strong><br />
Başta da belirttiğim gibi FAT dosya sistemi çok karışık gözükmese de bunu herkesin kullanabileceği standart haline getirmek bizlere oldukça fazla zaman kaybettirir. Ayrıca dünya çapında bir çok kullanıcının deneyip, geri bildirimlerde bulunduğu ve geliştirilmesini sağladığı bu kütüphanelerin bizim sıfırdan yazacağımız kütüphanelerden daha iyi olacağını düşünmek sanırım yanlış olmaz. Bunun için Amerika&#8217;yı tekrar keşfetmeye hiç gerek yok. Sadece ileride çıkabilecek sorunlara karşın kütüphanenin ve dosya sisteminin nasıl çalıştığını anlayalım yeter.</p>
<p><strong>Uygulamalarda Takıldığın En Önemli Konu Nedir?</strong><br />
FAT ve SD/MMC uygulama örneklerinde en fazla takıldığım konu yukarıda da bahsettiğim gibi üretici firmanın ya da örneklerinin devşirilerek kullanılmasıdır. Buradaki en önemli eksiklik SD/MMC karta bir TXT dosyası yazıldığında başarının elde edildiği yanılgısıdır. Bir çok üretici firma kodlarını seri haberleşmeyle birleştirip, özellikle mikrodenetleyicinin herhangi bir Timer ya da başka bir modülünü kullanmaktadır. Bunlar bazı uygulamalarda açıklansa da çoğu uygulamada es geçilmektedir. Dolayısıyla yaptığınız sistemde oluşturduğunuz bir kesmenin ya da başka bir işlemin dosya sistemine zarar verip vermediği bilinememektedir.</p>
<p><strong>Peki Bizler Ne Arıyoruz?</strong><br />
Çoğu kütüphanede olduğu gibi yapmayı istediğimiz şey, donanımı en az yoracak şekilde aşağıdaki işlemleri yapmaktır.<br />
- SD/MMC&#8217;yi tanı, tanıt,<br />
- SD/MMC karta yeni dosya aç, veri yaz, veri oku,<br />
- Açılan dosyayı kapa.<br />
Onun için gayet sade ve fonksiyonların ne olduğu açık saf kütüphaneler kullanmak her zaman bizim avantajımıza olacaktır.</p>
<p><strong>Data Logger Uygulaması</strong><br />
Bu kadar söz ettikten sonra gelelim Data Logger uygulamamıza. Data Logger, adından da anlaşılacağı üzerinde dış ortamdan ya da sistemden alınan verileri belirli zaman aralıklarıyla kayıt altına alma işlemidir. Ben de bu uygulamamda DS18B20 dijital sıcaklık sensöründen aldığım verileri Micro SD karta yazarak basit bir kayıt işlemi yaptım.<br />
Öncelikle kullanacağımız MDD File System kütüphanesine ait tüm dosyaları <strong><a href="http://www.4shared.com/file/O6QK2Rf2/Data_Logger_Uygulamas.html" target="_blank">buradan</a></strong> indirebilirsiniz. Benim kullandığım Micro SD kartta herhangi bir yazım koruma metodu olmadığından, uygulamamda &#8220;yazım koruma kontrolü&#8221; yapmadım ve kütüphaneyi buna göre düzenledim. Değişiklik yaptığım fonksiyon isimleri aşağıdaki gibidir;<br />
-<strong>SD-SPI.c</strong> dosyasındaki <strong>MDD_SDSPI_InitIO()</strong>,<br />
-<strong>SD-SPI.c</strong> dosyasındaki <strong>MDD_SDSPI_MediaDetect()</strong>,<br />
-Ve <strong>tüm kütüphane kısayol tanımlamaları</strong>.<br />
<a class="lightbox"  title ="Proje Dosyaları" href="http://www.fxdev.org/wp-content/uploads/2011/02/Dosyalar.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/Dosyalar.png" alt="" title="Proje Dosyaları" width="186" height="401" class="alignleft size-full wp-image-921" /></a><br />
Kütüphaneyi indirip, proje klasörüne attıktan sonra yapmamız gerekenler şunlardır;<br />
-<strong>HardwareProfile.h</strong> dosyasının içerisinden <strong>kullanacağımız pin tanımlamaları yapılmalıdır</strong>. İstenirse kullanılacak registerler de buradan değiştirilebilir.<br />
-<strong>FSConfig.h</strong> dosyasının içerisinden de <strong>SD/MMC kart ile ilgili tüm ayarlar yapılabilir</strong>.<br />
-Her iki dosyada da tanımlamaların ne işe yaradığı belirtilmektedir.</p>
<p>Tüm bu işlemleri yaptığımızda MDD File System dosyaları yandaki hiyerarşide toplanmalıdır. Daha sonra istediğimiz uygulama bu kütüphane dosyaları kullanılarak geliştirilebilir. Ben uygulamamda <strong>PIC24FJ256GB110</strong> ile <strong>128&#215;64 GLCD</strong> kullandığım için onunla ilgili kütüphane dosyalarımı projeme ekledim. Bu dosyaları <strong><a href="http://www.4shared.com/file/O6QK2Rf2/Data_Logger_Uygulamas.html" target="_blank">buradan</a></strong> indirebilirsiniz.</p>
<p>Projemize gelecek olursak öncelikle elimizde bulunan Micro SD kartımızın içerisinde &#8220;<strong>fxdev-1.txt</strong>&#8220;, &#8220;<strong>fxdev-2.txt</strong>&#8221; ve &#8220;<strong>fxdev-3.txt</strong>&#8221; adında 3 adet TXT dosyası oluşturalım ve içerilerine istediğimiz metni yazıp kaydedelim.<br />
Benim yazdığım metinler aşağıdaki resimde görülebilir. <a class="lightbox"  title ="Micro SD İçerisindeki Dosyalar" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_Dosyalari.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_Dosyalari.png" alt="" title="Micro SD İçerisindeki Dosyalar" width="605" height="240" class="aligncenter size-full wp-image-922" /></a>Ben projemde bu belgelerin içeriklerini sırasıyla GLCD&#8217;de gösterip, &#8220;<strong>fxdev-3.txt</strong>&#8221; belgesinin silimini gerçekleştirdim. Daha sonra &#8220;<strong>DATA.TXT</strong>&#8221; adlı metin belgesi açıp sırasıyla tarih, saat ve o anki sıcaklık bilgilerini 5&#8242;er saniye aralıklarla kaydettim. </p>
<p>Bu işlemler olmadan önce RTC tarihini 09/02/2011 ve saatini 20:42:05 ayarladım. Dosya yaratma, kaydetme işlemleri RTC üzerinden olduğundan son kaydetme işlemi bittiğinde aradan ne kadar süre geçtiğini görebildim. Kayıt işlemini bitirmek içinse <strong>RA7</strong> bacağına bağlı butona basarak işlemi tamamladım. Tüm bu işlemler sonrasında Micro SD kartının barındırdığı son dosyalar ve &#8220;<strong>DATA.txt</strong>&#8221; dosyasının içeriği aşağıdaki resimde görülebilir.<a class="lightbox"  title ="Micro SD'nin Son İçeriği ve DATA.TXT Dosyası" href="http://www.fxdev.org/wp-content/uploads/2011/02/DATA_Dosyasi.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/DATA_Dosyasi.png" alt="" title="Micro SD&#039;nin Son İçeriği ve DATA.TXT Dosyası" width="622" height="216" class="aligncenter size-full wp-image-923" /></a>Uygulama verilerini Excel&#8217;e atıp grafik çizdirdiğimde ise aşağıdaki sonucu aldım.<a class="lightbox"  title ="Sıcaklık Zaman Grafiği" href="http://www.fxdev.org/wp-content/uploads/2011/02/Sicaklik-Zaman-Grafigi.png"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/Sicaklik-Zaman-Grafigi.png" alt="" title="Sıcaklık Zaman Grafiği" width="609" height="299" class="aligncenter size-full wp-image-924" /></a>Yukarıdaki resimde bir yükselti görülmektedir. Bu yükselti ben tam sensörü tuttuğumda gerçekleşmiştir.</p>
<p>Bu uygulamaya ait <strong>main.c</strong> dosyasının içeriği aşağıda görülebilir.</p>
<pre class="brush: c; highlight: [8,133,138,142,148,149,150,151,179,181,190,221,223,236];">// Yazar:   Fırat DEVECİ
// Konu :   Micro SD Kart ile Data Logger Uygulaması
// Tarih:   10/02/2011

#include "p24Fxxxx.h"
#include "string.h"
#include "stdio.h"
#include "FSIO.h"
#include "ks0108.h"
#include "ds18b20.h"

_CONFIG3(WPCFG_WPCFGDIS &#038; WPDIS_WPDIS)
_CONFIG2(IESO_OFF &#038; PLLDIV_NODIV &#038; PLL_96MHZ_ON &#038; FNOSC_FRCPLL &#038; FCKSM_CSDCMD &#038; OSCIOFNC_OFF &#038; IOL1WAY_OFF &#038; DISUVREG_OFF &#038; POSCMOD_EC)
_CONFIG1(JTAGEN_OFF &#038; GCP_OFF &#038; GWRP_OFF &#038; BKBUG_OFF &#038; COE_OFF &#038; ICS_PGx1 &#038; FWDTEN_OFF &#038; WINDIS_OFF)

char sendBuffer1[] = "\tFxDev.org Sunar!";
char sendBuffer2[] = "\r\nDS18B20 ile MMC Data Logger Uygulamasi\r\n\r\n";
char sendBuffer3[] = "Tarih\t\tSaat\t\tSicaklik\r\n";
char sendBuffer4[] = "%0.2d/%0.2d/%0.2d\t%0.2d:%0.2d:%0.2d\t%3.1f\r\n";
char receiveBuffer1[120];
char receiveBuffer2[120];
char receiveBuffer3[120];

void RTC_init(int gun, int ay, int yil, int haftagun, int saat, int dakika, int saniye)
{
    // RTC ilk ayarlamaları //
    // 32768Hz kristal girişi açılıyor
    __builtin_write_OSCCONL(0x02);
    // RTCWREN başta kapalı gelir, bu da registerlere erişmemizi engeller
    // Aşağıdaki asm koduyla bu kilit kaldırılır
    asm volatile("disi #5");
    asm volatile("mov #0x55, w7");
    asm volatile("mov w7, _NVMKEY");
    asm volatile("mov #0xAA, w8");
    asm volatile("mov w8, _NVMKEY");
    // Bu bilgi direk datasheetten alınmıştır
    RCFGCALbits.RTCWREN=1;  // Artık registerlere yazım yapılabilir
    RCFGCALbits.RTCEN=0;    // RTC kapatılıyor
    PADCFG1bits.RTSECSEL=1; // Alarm kullanılacaksa bu bit sıfır olmalı
                            // Biz saniye çıkışını dışarı vereceğiz
    RCFGCALbits.RTCOE=1;    // Eğer PADCFG1bits.RTSECSEL=1 olursa bu bitte 1 olmak zorunda
    RCFGCALbits.RTCPTR=3;   // Yıldan itibaren değerler yüklenmeye başlayacak
                            // RTCVAL registerine her yükleme sonrasında RCFGCALbits.RTCPTR
                            // registerinin içeriği bir azalarak sırasıyla ay-gün,haftasaat-saat,dakika-saniye
                            // değerlerinin girilmesine izin verecek
                            // Alarm kurmak için de ALRMPTR bitleri aynen bu şekilde kullanılır
                            // Çok gıcık bir yöntem olduğunu bende kabul ediyorum
    // Şimdi tarih ve saat bilgilerini girelim.
    // Bir aptal uygulama daha burada bizi bekliyor
    // Örneğin ay değeri için aralıkta 0x12 girmemiz gerekiyor, yıl için de aynen 0x2009
    // Ya da gün için 0x31 0x24 gibi. Bunun neden 21,23 şeklinde yapılmadığını microchip'e sorabilirsiniz.

    gun=(gun/10)*16+gun%10;
    ay=(ay/10)*16+ay%10;
    yil=(yil/10)*16+yil%10;
    haftagun=(haftagun/10)*16+haftagun%10;
    saat=(saat/10)*16+saat%10;
    dakika=(dakika/10)*16+dakika%10;
    saniye=(saniye/10)*16+saniye%10;

    // Tüm tarih-saat bileşenleri yukarıdaki anlatılan şekle dönüştürüldü.
    // Şimdi ise registerler için bunları aşağıdaki şekilde birleştirmek gerekiyo
    // RTCPTR=3
    RTCVAL=yil;                 // 99 yıla kadar değer alabiliyor
    // RCFGCALbits.RTCPTR 1 azaldı, RTCPTR=2
    RTCVAL=(ay< &lt;8)+gun;         // Ay 12'ye kadar gün ise 31'e kadar yazılabilir
    // RCFGCALbits.RTCPTR 1 azaldı, RTCPTR=1
    RTCVAL=(haftagun<&lt;8)+saat;  // Haftagün 0-6, saat 23'e kadar yazılabilir
    // RCFGCALbits.RTCPTR 1 azaldı, RTCPTR=0
    RTCVAL=(dakika<&lt;8)+saniye;  // Dakika 59, saniye 59'a kadar yazılabilir

    RCFGCALbits.CAL=0;      // Kablibrasyon yapılmayacak
    RCFGCALbits.RTCEN=1;    // RTC açılacak
    RCFGCALbits.RTCWREN=0;  // RTC yazımı engellenecek, böylelikle cihaza reset atılsa da RTC çalışmasına devam edecek
                            // Elbette bizim uygulamamızda bu olmayacak
}

void RTC_read(int *gun, int *ay, int *yil, int *haftagun, int *saat, int *dakika, int *saniye)
{
    int yil_temp,ay_gun,haftagun_saat,dakika_saniye;
    while(RCFGCALbits.RTCSYNC); // Tam değişim anında okuma yapmamak için bu bitin sıfır olması bekleniyor
    RCFGCALbits.RTCPTR=3;       // Yine bu registeri 3 yaparak yıldan itibaren okumaya başlıyoruz

    yil_temp        =RTCVAL;    // RTCPTR=3 oldu
    ay_gun          =RTCVAL;    // RTCPTR=2 oldu
    haftagun_saat   =RTCVAL;    // RTCPTR=1 oldu
    dakika_saniye   =RTCVAL;    // RTCPTR=0 oldu

    *yil=((yil_temp>>4)&#038;0x0F)*10+(yil_temp&#038;0x0F);
    *ay=((ay_gun>>12)&#038;0x0F)*10+((ay_gun>>8)&#038;0x0F);
    *gun=((ay_gun>>4)&#038;0x0F)*10+(ay_gun&#038;0x0F);
    *haftagun=(haftagun_saat>>8)&#038;0x0F;
    *saat=((haftagun_saat>>4)&#038;0x0F)*10+(haftagun_saat&#038;0x0F);
    *dakika=((dakika_saniye>>12)&#038;0x0F)*10+((dakika_saniye>>8)&#038;0x0F);
    *saniye=((dakika_saniye>>4)&#038;0x0F)*10+(dakika_saniye&#038;0x0F);
}

void loading(int i)
{
    switch(i)
    {
        case 0: ks0108_circle(32,29,4,1,1);ks0108_circle(44,29,4,0,0);ks0108_circle(56,29,4,0,0);ks0108_circle(68,29,4,0,0);ks0108_circle(80,29,4,0,0);ks0108_circle(92,29,4,0,0);break;
        case 1: ks0108_circle(32,29,4,0,0);ks0108_circle(44,29,4,1,1);ks0108_circle(56,29,4,0,0);ks0108_circle(68,29,4,0,0);ks0108_circle(80,29,4,0,0);ks0108_circle(92,29,4,0,0);break;
        case 2: ks0108_circle(32,29,4,0,0);ks0108_circle(44,29,4,0,0);ks0108_circle(56,29,4,1,1);ks0108_circle(68,29,4,0,0);ks0108_circle(80,29,4,0,0);ks0108_circle(92,29,4,0,0);break;
        case 3: ks0108_circle(32,29,4,0,0);ks0108_circle(44,29,4,0,0);ks0108_circle(56,29,4,0,0);ks0108_circle(68,29,4,1,1);ks0108_circle(80,29,4,0,0);ks0108_circle(92,29,4,0,0);break;
        case 4: ks0108_circle(32,29,4,0,0);ks0108_circle(44,29,4,0,0);ks0108_circle(56,29,4,0,0);ks0108_circle(68,29,4,0,0);ks0108_circle(80,29,4,1,1);ks0108_circle(92,29,4,0,0);break;
        case 5: ks0108_circle(32,29,4,0,0);ks0108_circle(44,29,4,0,0);ks0108_circle(56,29,4,0,0);ks0108_circle(68,29,4,0,0);ks0108_circle(80,29,4,0,0);ks0108_circle(92,29,4,1,1);break;
    }
}

int main (void)
{
    FSFILE *yazi;

    float sicaklik;
    int yil,ay,gun,haftagun,saat,dakika,saniye;
    int pre_saniye;

    TRISA=0x80;
    TRISB=0x00;
    TRISE=0x00;
    ks0108_init();

    // SDIN -> RP4 olmalı
    // SDOT -> RP12
    // SCLK -> RP3

    _RP3R=8;
    _RP12R=7;
    _SDI1R = 4;

    // RTC ayarları yapılıyor
    RTC_init(9,2,11,4,20,42,5);

    ks0108_text(20,1,"Karti Takiniz..",1,1);
    // Kartın takılı olup olmadığı kontrol ediliyor
    // Kart takılı ise SD_CD pini sıfır olmalıdır
    while (!MDD_MediaDetect());

    ks0108_fill(0);
    // SD/MMC kart için ilk ayarlamalar yapılıyor
    while (!FSInit());

    LATAbits.LATA1=1;

    ks0108_text(1,1,"FxDev-1.TXT",1,1);
    ks0108_line(1,9,60,9,1);
    yazi=FSfopen ("FxDev-1.TXT","r");
    FSfread (receiveBuffer1, 120, 1, yazi);
    while(FSfclose (yazi));
    ks0108_text(1,11,receiveBuffer1,1,1);

    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    ks0108_fill(0);

    ks0108_text(1,1,"FxDev-2.TXT",1,1);
    ks0108_line(1,9,60,9,1);
    yazi=FSfopen ("FxDev-2.TXT","r");
    FSfread (receiveBuffer2, 120, 1, yazi);
    while(FSfclose (yazi));
    ks0108_text(1,11,receiveBuffer2,1,1);

    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    ks0108_fill(0);

    ks0108_text(1,1,"FxDev-3.TXT",1,1);
    ks0108_line(1,9,60,9,1);
    yazi=FSfopen ("FxDev-3.TXT","r");
    FSfread (receiveBuffer3, 120, 1, yazi);
    while(FSfclose (yazi));
    ks0108_text(1,11,receiveBuffer3,1,1);

    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    ks0108_fill(0);

    FSchdir ("\\");
    // FxDev-3.TXT'yi silelim
    while(FSremove ("FxDev-3.TXT"));

    ks0108_text(1,1,"Dosya Silindi",1,1);

    LATAbits.LATA0=1;       // Buraya kadar her şey yolundaysa LATA0'a bağlı led yanacak

    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);
    DelayMs(250);DelayMs(250);DelayMs(250);DelayMs(250);

    yazi=FSfopen("DATA.TXT", "w");    // Data Logs.TXT adında bir text dosyası açılıyor

    if (yazi == NULL)
    {
        ks0108_text(1,9,"DATA.TXT Yaratilamadi",1,1);
        while(1);
    }
    else
    {
        ks0108_text(1,9,"DATA.TXT Olusturuldu",1,1);
    }

    FSfwrite(sendBuffer1, 1, strlen(sendBuffer1), yazi);
    FSfwrite(sendBuffer2, 1, strlen(sendBuffer2), yazi);
    FSfwrite(sendBuffer3, 1, strlen(sendBuffer3), yazi);
    FSfclose (yazi);

    ks0108_text(1,17,"Kayit Basladi",1,1);

    RTC_read(&#038;gun,&#038;ay,&#038;yil,&#038;haftagun,&#038;saat,&#038;dakika,&#038;saniye);
    pre_saniye=saniye;
    yazi=FSfopen ("DATA.TXT","a");

    for(;;)
    {
        RTC_read(&#038;gun,&#038;ay,&#038;yil,&#038;haftagun,&#038;saat,&#038;dakika,&#038;saniye);
        loading(saniye%6);

        if((((saniye%10)-(pre_saniye%10))==5)||(((pre_saniye%10)-(saniye%10))==5))
        {
            pre_saniye=saniye;
            sicaklik=ds18b20_read();
            sprintf(sendBuffer4,"%0.2d/%0.2d/%0.2d\t%0.2d:%0.2d:%0.2d\t%3.1f\r\n", gun,ay,yil,saat,dakika,saniye,sicaklik);
            FSfwrite(sendBuffer4, 1, strlen(sendBuffer4), yazi);
            LATAbits.LATA1^=1;      // LATA1'e bağlı led her data girişinde toggle yapacak
        }

        if(PORTAbits.RA7)
        {
            DelayMs(50);
            while(PORTAbits.RA7);
            break;
        }
    }

    LATAbits.LATA2=1;
    FSfclose (yazi);
    ks0108_text(1,34,"Kayit Sonlandi",1,1);

    for(;;);
}</pre>
<p>Yukarıdaki kodlarda görülen taralı alanların Micro SD kart ile ilgili olduğunu belirtmek isterim. Bu fonksiyonların ne işe yaradıklarını Microchip&#8217;in <strong><a href="http://ww1.microchip.com/downloads/en/AppNotes/01045b.pdf" target="_blank">01045b</a></strong> kodlu uygulama dökümanında bulabilirsiniz.<br />
Uygulamaya ait fotoğraflara aşağıdan bakabilirsiniz. Fotoğraflar cep telefonundan çekildiğinden kaliteleri düşük olabilir.<a class="lightbox"  title ="Micro SD Uygulaması - Micro SD Kart Takılması Bekleniyor" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_1.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_1.jpg" alt="" title="Micro SD Uygulaması - Micro SD Kart Takılması Bekleniyor" width="453" height="254" class="aligncenter size-full wp-image-925" /></a><a class="lightbox"  title ="Micro SD Uygulaması - "fxdev-1.txt" Dosyası İçeriği" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_2.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_2.jpg" alt="" title="Micro SD Uygulaması - &quot;fxdev-1.txt&quot; Dosyası İçeriği" width="450" height="252" class="aligncenter size-full wp-image-926" /></a><a class="lightbox"  title ="Micro SD Uygulaması - "fxdev-2.txt" Dosyası İçeriği" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_3.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_3.jpg" alt="" title="Micro SD Uygulaması - &quot;fxdev-2.txt&quot; Dosyası İçeriği" width="450" height="252" class="aligncenter size-full wp-image-927" /></a><a class="lightbox"  title ="Micro SD Uygulaması - "fxdev-3.txt" Dosyası İçeriği" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_4.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_4.jpg" alt="" title="Micro SD Uygulaması - &quot;fxdev-3.txt&quot; Dosyası İçeriği" width="450" height="252" class="aligncenter size-full wp-image-928" /></a><a class="lightbox"  title ="Kayıt Anı, Sıcaklıklar Kaydediliyor" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_5.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_5.jpg" alt="" title="Kayıt Anı, Sıcaklıklar Kaydediliyor" width="450" height="252" class="aligncenter size-full wp-image-929" /></a><a class="lightbox"  title ="Kayıt İşlemi Sonu" href="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_6.jpg"><img src="http://www.fxdev.org/wp-content/uploads/2011/02/MicroSD_6.jpg" alt="" title="Kayıt İşlemi Sonu" width="450" height="252" class="aligncenter size-full wp-image-930" /></a></p>
<p><strong>Bitirirken..</strong><br />
FxDev.org&#8217;un en uzun teknik yazısını bitirirken SD/MMC, FAT ve data logger konularına değinmeye ve anlatmaya çalışırken bunu özellikle cluster şöyledir, buna bu kadar veri yollanmalıdır, cevap şu alınmalıdır tarzı açıklamalarla kafa bulandırmamaya, en kısa yoldan SD/MMC karta FAT dosya sistemiyle veri yazma/okuma işlemlerinin nasıl yapıldığını anlatmaya çalıştım. </p>
<p>Son olarak Chan FatFs tutkunları için de ARM çalışmalarıma başladığımda bir uygulama yapmak istediğimi söyleyerek herkese çalışmalarında başarılar diler, her türlü soruyu yorum bölümüne beklerim.</p>
<p><em>Dip Not: Çalışmada <a href="http://www.expkits.com" target="_blank">ExpKits</a> firmasının EX33DS adlı geliştirme kiti ile PIC24FJ256GB110 mikrodenetleyici kartı kullanılmıştır. </em></p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: left; margin-right: 290px;"><g:plusone size="standard" count="1" href="http://www.fxdev.org/sdmmc-kart-ve-data-logger-uygulamasi/">{lang: 'tr'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.fxdev.org/sdmmc-kart-ve-data-logger-uygulamasi/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

