<?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>WwW.TarikZengin.CoM &#187; Proje</title>
	<atom:link href="http://tarikzengin.com/tag/proje/feed/" rel="self" type="application/rss+xml" />
	<link>http://tarikzengin.com</link>
	<description>Japonya&#039;dan bildiriyor....</description>
	<lastBuildDate>Sat, 01 Oct 2011 06:25:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Computer &amp; Microcontroller Based Closed Loop Robot Position Control System</title>
		<link>http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/</link>
		<comments>http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 08:17:27 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projeler]]></category>
		<category><![CDATA[Close Loop]]></category>
		<category><![CDATA[Control System]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Robotik]]></category>
		<category><![CDATA[Ziegler Nichols]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/?p=203</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/" title="Computer &amp; Microcontroller Based Closed Loop Robot Position Control System"></a>Not : Daha önce yazdığım proje yazısının birebir olmasa da çevirisi sayılabilecek bir yazı hazırladım. This is a short summary of our (me and my friend Umut Yuksekbas) graduation project. Sorry for the grammatical mistakes. Computer &#38; Microcontroller Based Closed &#8230;<p class="read-more"><a href="http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/" title="Computer &amp; Microcontroller Based Closed Loop Robot Position Control System"></a><p>Not : Daha önce yazdığım proje yazısının birebir olmasa da çevirisi sayılabilecek bir yazı hazırladım.  This is a short summary of our (me and my friend Umut Yuksekbas) graduation project. Sorry for the grammatical mistakes.</p>
<p style="text-align: center;"><strong>Computer &amp; Microcontroller Based Closed Loop Robot Position Control System</strong> <strong></strong></p>
<p style="text-align: justify;"><strong>Abstract</strong> : Robot systems scope out the problems fast and sensitive, don&#8217;t affected the factors which destructive of health for humans. For this reason they are needed at industrial areas.<span id="more-203"></span> Robots are used for precise applications in a wide area such as automotive industry, medicine, nuclear power stations and biomedical. They can be used in critical applications like sensitive surgical operations. That&#8217;s commonly utilized as a mechanical arm for handicapped ones. Our project&#8217;s subjects are automatic control systems and position control of a robotic arm with the coordinates that send from computer. We intended to design a closed loop control system of a mechatronic system. Manipulator system is a multi-input multi-output (MIMO) system and each joint is fed by different input signals for position check. Dynamic model of the manipulator system is not linear and contains interactive terms between joints. We have designed a 6-degree-of-freedom robot arm and a control system. DC motors on the joints provide the movement of the manipulator. We used L298 IC which contains H-Bridges for driving the DC motors and PIC 16F877 as microcontroller. Max232 serial interface sets up the communication between computer and microcontroller. We developed the position control algorithm in MPLAB IDE by using the Hitech PICC Compiler. Microcontroller takes the analog feedback signals from the potentiometers placed on joints then convert them to digital signals by built-in ADC modules. The PI control system uses the analog signals in order to calculate the optimum PI control parameters then provides the target movement with minimum error.</p>
<p style="text-align: justify;"><iframe title="YouTube video player" class="youtube-player" type="text/html" width="425" height="344" src="http://www.youtube.com/embed/WR5tswIPvck" frameborder="0" allowFullScreen="true"> </iframe>  <strong></strong></p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>SYSTEM COMPONENTS </strong></p>
<p style="text-align: justify;"><strong>Hardware Component</strong></p>
<p style="text-align: justify;">PIC 16F877-20MHz contains 8 ADC channel and 2 PWM module and L298 contains two H-Bridge in it. This driver is very robust and is able to work with 46 V source voltage and 4 A source current. In this project  15 V source voltage and 0.5 A max current are utilized.</p>
<div id="attachment_205" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-205 colorbox-203" title="diagram1" src="http://www.tarikzengin.com/blog/wp-content/uploads/2008/10/diagram1-300x194.png" alt="Block Diagram" width="300" height="194" /><p class="wp-caption-text">Block Diagram</p></div>
<p>Position data which transmitted from computer come to the PIC&#8217;s serial port over the Max232 serial interface. After that, the ADC module reads and converts the analog values and transmits signals to the motor drivers for holding the arm in target position. The algorithm determines the transaction direction for decreasing the error and sends the signals. It breaks the motors when the arm is on the target position. Microcontroller checks all of the joint positions repeatedly and if it senses a deviation on the joint, brings the joint back to the target position. The algorithm changes the motor voltages directly proportional to the error</p>
<div id="attachment_22" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot2.png"><img class="size-medium wp-image-22 colorbox-203" title="robotdevresemasi.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot2-300x271.png" alt="Schematics" width="300" height="271" /></a><p class="wp-caption-text">Schematics</p></div>
<p><strong>PCB Design</strong></p>
<p>A 2-layer circuit board was designed and assembled. L298 ICs can be seen on the right side of the first image. The sockets from top to bottom;</p>
<ul>
<li>Power</li>
<li>Analog Feedbacks (From joint pots)</li>
<li>Motors</li>
</ul>
<p style="text-align: center;">
<div id="attachment_207" class="wp-caption aligncenter" style="width: 471px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2008/10/hpim1850.jpg"><img class="size-large wp-image-207 colorbox-203" title="hpim1850" src="http://www.tarikzengin.com/blog/wp-content/uploads/2008/10/hpim1850-768x1024.jpg" alt="PCB 1" width="461" height="614" /></a><p class="wp-caption-text">PCB 1</p></div>
<div id="attachment_208" class="wp-caption aligncenter" style="width: 624px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2008/10/hpim1851.jpg"><img class="size-large wp-image-208 colorbox-203" title="hpim1851" src="http://www.tarikzengin.com/blog/wp-content/uploads/2008/10/hpim1851-1024x768.jpg" alt="PCB 2" width="614" height="461" /></a><p class="wp-caption-text">PCB 2</p></div>
<p><strong>Software Component</strong></p>
<p>We developed the microcontroller code by using HITECH PICC in MPLAB IDE. The P.I. Control System on the microcontroller side, calculates the error by differentiating the feedback values which read from ADC module and the expected value, continuously for each joint. This error value multiplied by Kp constant. All these error values summed and multiplied by Ki constant. The control signal which derived by summing the proportional and integral control signals, limited in a desirable range.</p>
<div id="attachment_23" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-23 colorbox-203" title="robot3.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot3-300x49.png" alt="Control Signal" width="300" height="49" /><p class="wp-caption-text">Control Signal</p></div>
<p>This calculation repeats for each joint over and over again for providing the position control. Ziegler-Nichols method were used for designing the control system, because it was not possible to get the technical data about mechanical system for deriving the mathematical model.</p>
<div id="attachment_25" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-25 colorbox-203" title="robot5.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot5-300x151.png" alt="Controller Design" width="300" height="151" /><p class="wp-caption-text">Controller Design</p></div>
<p>D and I constants of PID controller let by zero and, the P constant were increased until the system oscillates. The P constant on that oscillation time called Kc and the oscillation frequency called Tc.</p>
<div id="attachment_27" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-27 colorbox-203" title="robot7.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot7-300x166.png" alt="Oscillation" width="300" height="166" /><p class="wp-caption-text">Oscillation</p></div>
<p>The optimum P.I. Control parameters were derived by using the Ziegler-Nichols method. The system response is below mentioned.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-28 colorbox-203" title="robot8.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot8-300x196.png" alt="System Response" width="300" height="196" /><p class="wp-caption-text">System Response</p></div>
<p><strong>Graphical User Interface Design</strong></p>
<p>Graphical User Interface (GUI) was developed by using QT Designer and Kdevelop Integrated Development Environment in C++ programming language. The GUI design can be seen below. QT libraries are suitable for creating platform independent code. By this way, the GUI can be compiled and run under various platforms, such as Unix, Linux, FreeBSD, MacOS and Windows.</p>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot9.png"><img class="size-medium wp-image-29 colorbox-203" title="robot9.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot9-300x223.png" alt="GUI" width="300" height="223" /></a><p class="wp-caption-text">GUI</p></div>
<p>The coordinate data transmitted over the USB bus by using a USB/Serial converter with a 57600 baud rate.  Control System variables can be changed or modified with the GUI in realtime. Serial port device, baud rate and control system parameters can be selected and changed by using the GUI.</p>
<div id="attachment_31" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot111.png"><img class="size-medium wp-image-31 colorbox-203" title="robot11.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot111-300x232.png" alt="GUI Ayarlari" width="300" height="232" /></a><p class="wp-caption-text">GUI Ayarlari</p></div>
<p><strong>Conclusion</strong></p>
<p>The system that we developed can do a position control in Cartesian Coordinate System. It keeps its position unless the operator will give a new coordinate, and can perform a coordinate change in a desirable time. I believe that this project is providing a useful design for industrial areas such as production and test, biomedical, security, situations that harmful for human, and academic study. The future plan for my study is making two robotic arms work together and in cooperation.</p>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/computer-microcontroller-based-closed-loop-robot-position-control-system/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[Matlab] Pitch Frequency Estimation</title>
		<link>http://tarikzengin.com/pitch-frequency-estimation/</link>
		<comments>http://tarikzengin.com/pitch-frequency-estimation/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 09:30:12 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Matlab]]></category>
		<category><![CDATA[Projeler]]></category>
		<category><![CDATA[Correlation]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Korelasyon]]></category>
		<category><![CDATA[Pitch]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[Unvoiced]]></category>
		<category><![CDATA[Voiced]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/06/02/pitch-frequency-estimation/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/pitch-frequency-estimation/" title="[Matlab] Pitch Frequency Estimation"></a>Bu projede Matlab ortamında, önceden kaydedilmiş olan bir bayan sesinin &#8220;Pitch Frequency&#8221; analizi yapılarak segmentasyon işlemi gerçekleştirilmiş ve sesli/sessiz segmentler ayırt edilerek sinyalin sesli segmentlerinin ortalaması çıkarılmıştır. Proje, ses tanıma algoritmalarına giriş niteliğinde bir ön bilgi olarak sayılabilir. İçerik Değişkenlerin &#8230;<p class="read-more"><a href="http://tarikzengin.com/pitch-frequency-estimation/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/pitch-frequency-estimation/" title="[Matlab] Pitch Frequency Estimation"></a><p>Bu projede Matlab ortamında, önceden kaydedilmiş olan bir bayan sesinin &#8220;Pitch Frequency&#8221; analizi yapılarak segmentasyon işlemi gerçekleştirilmiş ve sesli/sessiz segmentler ayırt edilerek sinyalin sesli segmentlerinin ortalaması çıkarılmıştır. Proje, ses tanıma algoritmalarına giriş niteliğinde bir ön bilgi olarak sayılabilir.</p>
<p><strong>İçerik</strong></p>
<ul>
<li>Değişkenlerin Tanımlanması</li>
<li> İşlenecek Sinyalin Matlab Ortamına Alınması</li>
<li> Sinyalden DC Bileşenlerin Atılması</li>
<li> Segmentasyonda 	Kullanılacak Değişkenlerin Belirlenmesi</li>
<li> Silence Analizi İçin Gerekli Değişkenlerin Bulunması</li>
<li> Silence Olan Segmentlerin Atılması</li>
<li> Clipping Level Parametrelerinin Elde Edilmesi</li>
<li> Segmentlerin Enerjilerinin ve Otokorelasyonlarının Bulunması</li>
<li> Sonuç</li>
</ul>
<p><span id="more-42"></span></p>
<p><strong>Değişkenlerin Tanımlanması</strong></p>
<p>Programda kullanılacak değişkenler hız kazanmak için önceden tanımlanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">xseg_son=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
mm_son=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
cc=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
energy=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
pitch=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
voiced=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
unvoiced=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;</pre></div></div>

<p>İşlenecek Sinyalin Matlab Ortamına Alınması<br />
normal_female.wav dosyası x değişkenine atiliyor. Okunan sinyalin sample frekansı fs değişkeninde tutuluyor. x değişkenine atanmış olan sinyal plot ediliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #080;">&#91;</span>x,fs<span style="color: #080;">&#93;</span>=<span style="color: #0000FF;">wavread</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'normal_female'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">close</span> <span style="color: #0000FF;">all</span>
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'Okunan Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_39" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_01.png"><img class="size-medium wp-image-39 colorbox-42" title="pitch1" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_01-300x225.png" alt="Okunan Sinyal" width="300" height="225" /></a><p class="wp-caption-text">Okunan Sinyal</p></div>
<p><strong>Sinyalden DC Bileşenlerin Atılması</strong></p>
<p>Sinyalin mean değeri kendinden çıkarılarak DC bileşenler atiliyor. Sonuç X değişkenine atılarak çizdiriliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">X=x-<span style="color: #0000FF;">mean</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>X<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'DC Bileseni Atilmis Sinyal Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_40" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_02.png"><img class="size-medium wp-image-40 colorbox-42" title="pitch2" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_02-300x225.png" alt="DC Bileseni Atilmis Sinyal" width="300" height="225" /></a><p class="wp-caption-text">DC Bileseni Atilmis Sinyal</p></div>
<p><strong>Segmentasyonda Kullanılacak Değişkenlerin Belirlenmesi</strong></p>
<p>Bu kısımda segmentasyon işleminde kullanılacak parametreler belirlenip ardından buffer komutu ile belirlenen block değerlerinde segmentlere bölme işlemi gerçekleştiriliyor. Window&#8217;lar overlap miktarı kadar çakışık olarak bölünmektedir. Ardından elde edilen window&#8217;lar hamming window ile çarpılarak segmentler elde ediliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">block=<span style="color: #33f;">30</span>*fs/<span style="color: #33f;">1000</span>; <span style="color: #228B22;">% Segmentlerin block uzunluğunun okunan sinyalin sample frekansından bulunması</span>
overlap=<span style="color: #33f;">10</span>*fs/<span style="color: #33f;">1000</span>;<span style="color: #228B22;">% Overlap miktarının bulunması.</span>
xson=buffer<span style="color: #080;">&#40;</span>X,block,overlap<span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Segmentasyon yapılıyor.</span>
xson=xson.*<span style="color: #0000FF;">repmat</span><span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span>hamming<span style="color: #080;">&#40;</span>block<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>,<span style="color: #33f;">1</span>,<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Hamming Code İle Çarpım.</span></pre></div></div>

<p><strong>Silence Analizi İçin Gerekli Değişkenlerin Bulunması</strong></p>
<p>Sinyalin sesli/sessiz kısımlarının analizi için gerekli bazı değişkenlerin tanımlamaları yapılıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">Maximum=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>X<span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% DC bileşenleri atılmış sinyalin maximum değeri bulunuyor.(Global Maximum)</span>
maxy=<span style="color: #080;">&#40;</span>Maximum*<span style="color: #33f;">0.05</span><span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Silence için threshold değeri tanımlanıyor</span>
sinyal_uz=<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xson sinyalinin boyutları [1500,300].Burada sinyal_uz 300 değerini alıyor.</span></pre></div></div>

<p><strong>Silence Olan Segmentlerin Atılması</strong></p>
<p>Aşağıdaki döngüde silence olmayan segmentler hesaplanıyor. Her segmentin maximum değeri xseg_max değişkenine atanıyor. Bu değişken de threshold değerimiz olan maxy ile karşılaştırılıyor. Silence olmayan bir değer bulunduğunda ise z değeri 1 arttırılıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">z=<span style="color: #33f;">1</span>;<span style="color: #228B22;">% Silence olmayan segmentlerin sayısını z verecek</span>
<span style="color: #0000FF;">for</span> c=<span style="color: #33f;">1</span>:<span style="color: #080;">&#40;</span>sinyal_uz<span style="color: #080;">&#41;</span>, <span style="color: #228B22;">% sinyal_uz=300.% Her segmentin maximumu xseg_max a atanıyor.</span>
<span style="color: #228B22;">% Bir sonraki adımda global max. ile karşılaştırılacak.</span>
xseg_max=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span>:,c<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">if</span> xseg_max &amp;gt;maxy <span style="color: #228B22;">% Segmentin maximumu global maximum ile karşılaştırılıyor.</span>
xseg_son<span style="color: #080;">&#40;</span>:,z<span style="color: #080;">&#41;</span>=xson<span style="color: #080;">&#40;</span>:,c<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Silencelardan arındırılmış yeni bir &quot;xseg_son&quot; sinyali oluşturuluyor.</span>
z=z+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Silence olmayan her segment için z 1 arttırılıyor.</span>
<span style="color: #0000FF;">else</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% if</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% for</span>
&nbsp;
xx=xseg_son<span style="color: #080;">&#40;</span>:,<span style="color: #33f;">1</span>:<span style="color: #080;">&#40;</span>z-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xseg_son xx e atandı.</span>
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span>:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'Silence Atilmis Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_41" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_03.png"><img class="size-medium wp-image-41 colorbox-42" title="pitch3" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_03-300x225.png" alt="Silence Atilmis Sinyal" width="300" height="225" /></a><p class="wp-caption-text">Silence Atilmis Sinyal</p></div>
<p><strong>Clipping Level Parametrelerinin Elde Edilmesi</strong></p>
<p>Aşağıdaki döngüde her segmentin ilk ve son üçte birlik kısmının maximumu bulunup karşılaştırılıyor. Bu karşılaştırılan iki değerden de küçük olanı mm değişkenine atanıyor. Clipping Level ı tanımlamak amacıyla elde edilen değer de 0,68 ile çarpılıyor. Segmentin bu değerden büyük olan elemanlarından bu threshold değeri çıkarılıyor. Küçük olan değerler ise doğrudan 0&#8242;a yuvarlanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">i</span></span>=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>, <span style="color: #228B22;">%i=1:300</span>
m1=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>:<span style="color: #33f;">500</span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xx sinyalinin ilk 1/3 kısmının maximum elemanı bulundu</span>
m2=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1001</span>:<span style="color: #33f;">1500</span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xx sinyalinin son 1/3 kısmının maximum elemanı bulundu</span>
mm=<span style="color: #0000FF;">min</span><span style="color: #080;">&#40;</span>m1,m2<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Bu iki maximumdan hangisinin daha küçük olduğu belirlendi</span>
mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=mm*<span style="color: #33f;">0.68</span>; <span style="color: #228B22;">% Yukarıdaki satırda elde edilen değer 0.68 ile çarpılarak &quot;clipping level&quot; elde edildi</span>
&nbsp;
<span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">j</span></span>=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span>:,<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>, <span style="color: #228B22;">% length(xx(:,1))=1500</span>
<span style="color: #0000FF;">if</span> <span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>&amp;gt;mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span> <span style="color: #228B22;">% Clipping level ile karşılaştırma yapılıyor</span>
cc<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=<span style="color: #0000FF;">sign</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>*<span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>-<span style="color: #080;">&#40;</span>mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Clipping leveldan büyük olan bileşenlerden clipping level çıkarıldı</span>
<span style="color: #0000FF;">else</span>
cc<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=<span style="color: #33f;">0</span>;  <span style="color: #228B22;">% Küçük olan bileşenler ise 0 a çekildi</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% if koşulu sona erdiriliyor</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% 2.&quot;for&quot; döngüsü sonu</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% 1.&quot;for&quot; döngüsü sonu</span></pre></div></div>

<p><strong>Segmentlerin Enerjilerinin Bulunması</strong></p>
<p>Yukarıdaki döngü sonunda elde edilen cc matrisinin boyutları [1500,300]. Aşağıdaki döngüde ise her bir segment için energy hesaplanıyor. Bunun için sinyalin normunun karesi her bir kolonu için hesaplanıyor. xcorr komutu ile tüm sinyalin autocorrelation&#8217;i bulunuyor. Buradan 50Hz ile 400Hz arasindaki autocorrelation bileşenleri bulunuyor ve bunlara karşılık gelen pitch frekansları hesaplanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">w=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Voiced segmentler için başlangıç ataması</span>
v=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Unvoiced sinyaller için başlangıç ataması</span>
u=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Voiced olarak düşündüğümüz bileşenlerin sayısını bu parametre gösterecek</span>
a=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>; <span style="color: #228B22;">% Autocorrelation matrisi için başlangıç ataması</span>
<span style="color: #0000FF;">for</span> h=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>,  <span style="color: #228B22;">% cc nin kolon sayısı=300</span>
energy<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span>=<span style="color: #0000FF;">norm</span><span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>,<span style="color: #33f;">2</span><span style="color: #080;">&#41;</span>^<span style="color: #33f;">2</span>; <span style="color: #228B22;">% Her segment için enerji hesaplanıyor</span>
a<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>=xcorr<span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;   <span style="color: #228B22;">% İlk başta bütün cc sinyalinin autocorrelation u bulunuyor</span>
&nbsp;
<span style="color: #228B22;">% 50 Hz-400Hz arasındaki autocorrelation fonksiyonu değerlerini bulabilmek için 50 Hz ve 400 Hz frekanslarına karşılık gelen pitch  frequency değerlerinin indekslerini alıyoruz.</span>
alt_sinir=<span style="color: #0000FF;">floor</span><span style="color: #080;">&#40;</span>fs/<span style="color: #33f;">400</span><span style="color: #080;">&#41;</span>;
ust_sinir=<span style="color: #0000FF;">floor</span><span style="color: #080;">&#40;</span>fs/<span style="color: #33f;">50</span><span style="color: #080;">&#41;</span>;
Rxx=<span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>a<span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span>block+alt_sinir:block+ust_sinir<span style="color: #080;">&#41;</span>,h<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #080;">&#91;</span>k l<span style="color: #080;">&#93;</span>=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>Rxx<span style="color: #080;">&#41;</span>;   <span style="color: #228B22;">% Aldığımız aralıktaki en büyük sayının yerini belirliyoruz</span>
l=l+alt_sinir;
pitch<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span>=fs/l;  <span style="color: #228B22;">% Pitch Frequnecy hesaplanıyor </span>
&nbsp;
<span style="color: #228B22;">% Segmentin sesli/sessiz oldugunu bulabilmek için autocorrelation'in 0.4*energy'den</span>
<span style="color: #228B22;">% büyük olup olmadigi karsilastiriliyor. Eger büyükse segment seslidir ve voiced</span>
<span style="color: #228B22;">% matrisine atiliyor, eger küçükse unvoiced matrisine atiliyor. Voiced ve unvoiced</span>
<span style="color: #228B22;">% segment sayisi w ve v degiskenlerinde tutuluyor.</span>
&nbsp;
<span style="color: #0000FF;">if</span> k &amp;gt; <span style="color: #33f;">0.4</span>*energy<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span> <span style="color: #228B22;">% En büyük değer 0.4*energy ile karşılaştırılıyor</span>
voiced<span style="color: #080;">&#40;</span>:,w<span style="color: #080;">&#41;</span>=cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Şart sağlanırsa voiced sinyaline atılıyor</span>
w=w+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Koşul sağlanırsa voiced segment sayısı arttırılır.</span>
<span style="color: #0000FF;">else</span>
unvoiced<span style="color: #080;">&#40;</span>:,v<span style="color: #080;">&#41;</span>=cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Şart sağlanmazsa unvoiced sinyali oluşturuluyor</span>
v=v+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Unvoiced sinyal segmentleri 1 arttılır.</span>
<span style="color: #0000FF;">end</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% 1. &quot;for&quot; döngüsü sonu</span></pre></div></div>

<p><strong>Sonuç</strong></p>
<p>En son kısımda ise sesli sinyalinin ortalaması alınıyor</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">sesli_ort=<span style="color: #0000FF;">mean</span><span style="color: #080;">&#40;</span>pitch<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Voiced segmentlerin ortalaması</span>
sesli_ort
&nbsp;
sesli_ort=
<span style="color: #33f;">232.8431</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/pitch-frequency-estimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bilgisayar ve Mikrokontrolör Temelli Kapalı Çevrim Robot Pozisyon Kontrol Sistemi</title>
		<link>http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/</link>
		<comments>http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/#comments</comments>
		<pubDate>Sat, 19 May 2007 17:55:35 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Projeler]]></category>
		<category><![CDATA[16F877]]></category>
		<category><![CDATA[Bitirme Projesi]]></category>
		<category><![CDATA[Denavit Hartenberg]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Forward Kinematics]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Graduate Project]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[İleri Kinematik]]></category>
		<category><![CDATA[KDevelop]]></category>
		<category><![CDATA[PIC]]></category>
		<category><![CDATA[PicC]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QTDesigner]]></category>
		<category><![CDATA[Robotics]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/05/19/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kpntrol-sistemi/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/" title="Bilgisayar ve Mikrokontrolör Temelli Kapalı Çevrim Robot Pozisyon Kontrol Sistemi"></a>Geçtiğimiz hafta itibariyle arkadaşım Umut YÜKSEKBAŞ ile beraber tamamladığımız lisans bitirme projemizin kısa bir özetini yazmak istedim. Projemizi 16.05.2007 tarihinde sunup, 18.05.2007 tarihinde demosunu gerçekleştirmemizle birlikte, aylardır laboratuvarda yaşamamıza neden olan ömür törpümüz, sevimli mi sevimli manipülatörümüzle vedalaşma vaktimiz geldi &#8230;<p class="read-more"><a href="http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/" title="Bilgisayar ve Mikrokontrolör Temelli Kapalı Çevrim Robot Pozisyon Kontrol Sistemi"></a><p align="justify">Geçtiğimiz hafta itibariyle arkadaşım Umut YÜKSEKBAŞ ile beraber tamamladığımız lisans bitirme projemizin kısa bir özetini yazmak istedim. Projemizi 16.05.2007 tarihinde sunup, 18.05.2007 tarihinde demosunu gerçekleştirmemizle birlikte, aylardır laboratuvarda yaşamamıza neden olan ömür törpümüz, sevimli mi sevimli manipülatörümüzle vedalaşma vaktimiz geldi artık. Proje raporu kitapçığını da yazdıktan sonra kendisine veda edeceğiz. Hüzünlü bir ayrılık olacak.</p>
<p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="425" height="344" src="http://www.youtube.com/embed/WR5tswIPvck" frameborder="0" allowFullScreen="true"> </iframe></p>
<p align="justify"><strong>ÖZET</strong><br />
Endüstri sahalarında robot sistemlere; problemlere hızlı ve hassas çözümler getirmeleri, insan sağlığı ve güvenliğine zararlı olan pek çok faktörden etkilenmemeleri gibi sebeplerle ihtiyaç duyulmaktadır. Otomobil imal-montaj, ilaç, nükleer santraller, biyomedikal gibi alanlarda robotlar çok hassas işlerin yapımında kullanılmaktadır. Tıbbi alanda kritik ve hassasiyet gerektiren ameliyatlarda kullanılabilirler. Protez kol olarak kullanımları da yaygındır.<span id="more-19"></span></p>
<p align="justify">Projemizin çalışma konuları otomatik kontrol sistemi ve bilgisayardan gönderilen koordinatlarla robot manipülatörün konum kontrolüdür. Projemizde mekatronik bir sistemin kapalı çevrim kontrolü amaçlanmaktadır. Manipülatör sistemi, çok girişli çok çıkışlı bir sistemdir ve her eklem pozisyon denetimi için ayrı giriş sinyallerine ihtiyaç duymaktadır. Manipülatör sisteminin çeşitli yöntemlerle elde edilen dinamik modeli doğrusal değildir ve eklemlerin birbiri ile etkileşimini ifade eden bağlantılı terimler içerir. Sistemde altı serbestlik dereceli bir mekanik kol ve otomatik kontrol sistemi tasarlanmıştır. Robot manipülatörün hareketi, eklem yerlerinde bulunan DC motorlar ile sağlanır. Bu DC motorları sürmek için içinde H-Bridge (köprü) bulunan L298 entegresi ve kontrolör olarak da PIC 16F877 kullanılmıştır. Kontrolör ile PC arasındaki haberleşme Max232 seri arabirimi ile sağlanmıştır. MPLAB&#8217;ta PIC C derleyicisi kullanılarak geliştirilen algoritma ile robot manipülatörün pozisyon kontrolü sağlanmıştır. Robot manipülatörün eklemlerinden alınan analog geri besleme bilgisi PIC içerisinde bulunan ADC modülleriyle okunup, tasarlanan P.I. kontrol sistemi sayesinde istenilen konuma en az hatayla gitmesi sağlanmıştır.</p>
<p align="justify"><strong>SİSTEMİN BİLEŞENLERİ<br />
Donanım Bileşeni</strong><br />
Projede kullanılmış olan PIC 16F877-20Mhz kontrolör içerisinde 8 adet ADC kanalı, iki adet PWM modülü bulunmaktadır. Motor sürücü entegresi olarak içerisinde iki H-Bridge (Köprü) bulunan L298 kullanılmıştır. Bu sürücüler 46 Volt kaynak gerilimine ve 4 Amper akıma kadar dayanabilmektedir. Kullanılan güç kaynağından sağladığımız gerilim değeri 15 volt olup, çekilen akım 0.5 amperi geçmemektedir. PC &#8216;den pozisyon bilgilerini PIC &#8216;e göndermek için seri arabirim olarak Max232 seri arabirimi kullanılmıştır.</p>
<div id="attachment_21" class="wp-caption aligncenter" style="width: 569px"><img class="size-full wp-image-21 colorbox-19" title="blockdiagram.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot1.png" alt="Sistemin Blok Diagrami" width="559" height="362" /><p class="wp-caption-text">Sistemin Blok Diagrami</p></div>
<p align="justify">PC &#8216;den gönderilen pozisyon bilgileri Max232 seri arabirim aracılığıyla PIC &#8216;in seri modülüne ulaşır. Robot Manipülatör eklemlerinden alınan geri besleme bilgisi PIC içerisindeki ADC modülü ile okunup, istenen analog değere yani istenen konuma gelmesi için PIC &#8216;in çıkışına bağlı olan L298 &#8216;in girişlerine sinyaller gönderilir. Geliştirilen algoritma, hatanın sıfırlanabilmesi için manipülatörün hangi yöne hareket etmesi gerektiğine karar verir ve sürücülere gerekli sinyalleri gönderir. Robot manipülatör istenilen konuma geldiğinde ise motor frenlenerek konumunu koruması sağlanır. Mikrokontrolcü ile tüm eklemlerin konumları devamlı kontrol edilir ve herhangi bir konum değişikliği algılandığında istenilen konuma tekrar gelmesi sağlanır. Algoritma aynı zamanda hatayla orantılı bir şekilde motor uçlarındaki gerilimi de değiştirerek hassas konum kontrolü sağlamaktadır.</p>
<div id="attachment_22" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot2.png"><img class="size-medium wp-image-22 colorbox-19" title="robotdevresemasi.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot2-300x271.png" alt="Devre Semasi" width="300" height="271" /></a><p class="wp-caption-text">Devre Semasi</p></div>
<p align="justify"><strong>Yazılım Bileşeni</strong></p>
<p align="justify">Mikrokontrolör için geliştirilen yazılım, MPLAB &#8216;ta HI-TECH PICC derleyicisi ile derlenmiştir. Kontrolör tarafında gerçekleştirilen P.I. kontrol sistemi; her 6 eklem için devamlı olarak, ADC modülünden okunan geri besleme değeri ile istenen değer arasındaki farkı hesaplayarak hata değerlerini bulur. Bu hata değeri oransal Kp değeri ile çarpılır. Daha sonra hata değerlerinin integrali alınarak toplam hata bulunur ve toplam hata ile integral parametresi Ki çarpılır. Oransal ve integral kontrol sinyallerinin toplanmasıyla elde edilen kontrol sinyali belirli sınırlar içerisinde tutularak P.I. kontrol sistemi tasarlanmış olur.</p>
<p align="justify">Her eklem için bu hesaplama devamlı olarak yapılıp sürekli konum kontrolü gerçekleştirilir.</p>
<div id="attachment_24" class="wp-caption aligncenter" style="width: 207px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot4.png"><img class="size-medium wp-image-24 colorbox-19" title="robot4.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot4-197x300.png" alt="Robot Kol" width="197" height="300" /></a><p class="wp-caption-text">Robot Kol</p></div>
<p align="justify">Sistemin matematiksel modeli çıkarılamadığından tasarlanan P.I. kontrol sistemi için Ziegler-Nichols metoduna başvurulmuştur.</p>
<div id="attachment_25" class="wp-caption aligncenter" style="width: 538px"><img class="size-full wp-image-25 colorbox-19" title="robot5.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot5.png" alt="Controller Design" width="528" height="267" /><p class="wp-caption-text">Controller Design</p></div>
<p align="justify">PID kontrolörün I,D katsayıları 0 yapılarak, P sistem osilasyona gidene kadar yavaş yavaş arttırılır. Sistemin osilasyona gittiği andaki P değerine Kc, osilasyon frekansına Tc denilmiştir.</p>
<div id="attachment_26" class="wp-caption aligncenter" style="width: 342px"><img class="size-full wp-image-26 colorbox-19" title="robot6.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot6.png" alt="Kontrol Katsayilari Tablosu" width="332" height="162" /><p class="wp-caption-text">Kontrol Katsayilari Tablosu</p></div>
<div id="attachment_27" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-27 colorbox-19" title="robot7.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot7-300x166.png" alt="Oscillation" width="300" height="166" /><p class="wp-caption-text">Oscillation</p></div>
<p align="justify">Ziegler-Nichols parametrelerinden yararlanılarak optimum P.I. kontrol parametreleri tespit edilmiştir ve sistemin vermiş olduğu yanıt ise aşağıda gösterilmiştir.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-28 colorbox-19" title="robot8.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot8-300x196.png" alt="System Response" width="300" height="196" /><p class="wp-caption-text">System Response</p></div>
<p align="justify"><strong>Grafiksel Kullanıcı Arabirimi Tasarımı</strong><br />
Kullanıcı arayüzü tasarımı QT designer ve Kdevelop entegre geliştirme ortamları kullanılarak C++ dilinde geliştirilmiştir. Arayüzün görünümü aşağıdaki gibidir. QT kütüphaneleri platformdan bağımsız kod üretmeyi mümkün kılmaktadır. Bu şekilde geliştirdiğimiz arayüz Unix, Linux, FreeBSD, MacOS, Windows gibi platformlarda çalışabilmektedir.</p>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot9.png"><img class="size-medium wp-image-29 colorbox-19" title="robot9.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot9-300x223.png" alt="GUI" width="300" height="223" /></a><p class="wp-caption-text">GUI</p></div>
<p align="justify">Robotun koordinatlarını belirlemek için Denavit-Hartenberg metodu kullanılmıştır. Bu metoda göre uzuvların alacağı açılar transformasyon matrisleriyle hesaplanarak açı değerleri elde edilmiştir. Bilgisayar arayüzünde hesaplanan koordinat değerleri USB veri yolu üzerinden 57600 baudrate ile mikrokontrolöre gönderilmiştir.</p>
<p align="justify"><strong>Forward (İleri ) Kinematics Problem</strong><br />
Robotik çalışmada karşılaşılan problem türlerinden biri, bilinen link dönme açı bilgileri ve robot parametreleri için robot uç nokta koordinatlarının hesaplanmasıdır. Robot hem dönme hem öteleme<br />
hareketi yapacağından Translation (Öteleme) matris ve Rotation (dönme) matrislerinin hesaplanması gerekmektedir.</p>
<div id="attachment_30" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-30 colorbox-19" title="robot10.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot10-300x137.png" alt="Matrices" width="300" height="137" /><p class="wp-caption-text">Matrisler</p></div>
<p align="justify">Bu şekilde elde edilen Transformasyon Matrisleri arayüz ile seri arabirim üzerinden kontrolcüye gönderilerek kontolün sağlanması amaçlanmaktadır. Kontrol sistemi değişkenleri istenildiği takdirde arayüzden ayarlanabilir ve sistem bu ayarlarla çalışmaya devam edebilmektedir. GUI &#8216;nin ayarlar kısmından seriport aygıtımızın çeşidini, hangi baudrate değeri ile haberleşileceği, kontrol sistem parametrelerini ve motor uçlarına hangi oranda gerilim uygulanacağı seçilebilir.</p>
<div id="attachment_31" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot111.png"><img class="size-medium wp-image-31 colorbox-19" title="robot11.png" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/robot111-300x232.png" alt="GUI Ayarlari" width="300" height="232" /></a><p class="wp-caption-text">GUI Ayarlari</p></div>
<p align="justify"><strong>Sonuç ve Değerlendirme</strong><br />
Geliştirdiğimiz sistem PC ile grafik arayüzden girilen kartezyen koordinatlara göre konum kontrolü yapabilmektedir. Operatör tarafından yeni bir koordinat verilmediği sürece pozisyonunu sürekli korumakta, istenilen herhangi bir zamanda koordinat değişikliği gerçekleştirilebilmektedir. Proje<br />
sonucunda fabrikaların tüm alanlarında kontrol ve üretim açısından, biyomedikal alanlarda yardım açısından, savunma sanayisinde güvenlik açısından, insan sağlığına zararlı durumlardan koruma açısından ve akademik uygulamalarda eğitim amaçlı kullanılması açısından çok büyük yararlar elde<br />
edilebilecek bir tasarım ortaya çıkarılmıştır. Projenin geliştirilebilecek yönü ise tıpkı insan beyninin kollarına hükmedebildiği gibi, iki robot manipülatörünün koordineli çalışabilmesi için kontrol sistemi geliştirilebilir.</p>
<div id="attachment_1028" class="wp-caption aligncenter" style="width: 235px"><a href="http://tarikzengin.com/wp-content/uploads/2007/05/hpim1850.jpg"><img class="size-medium wp-image-1028 colorbox-19" title="PCB" src="http://tarikzengin.com/wp-content/uploads/2007/05/hpim1850-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">PCB</p></div>
<div id="attachment_1029" class="wp-caption aligncenter" style="width: 310px"><a href="http://tarikzengin.com/wp-content/uploads/2007/05/hpim1851.jpg"><img class="size-medium wp-image-1029 colorbox-19" title="PCB" src="http://tarikzengin.com/wp-content/uploads/2007/05/hpim1851-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">PCB</p></div>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/bilgisayar-ve-mikrokontrolor-temelli-kapali-cevrim-robot-pozisyon-kontrol-sistemi/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>İletişim Uygulamalarında RF MEMS Anahtarların Mekatronik Dizaynı</title>
		<link>http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/</link>
		<comments>http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/#comments</comments>
		<pubDate>Sat, 19 May 2007 13:10:41 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Derlemeler]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Anahtar]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Mekatronik]]></category>
		<category><![CDATA[MEMS]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[RF]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/05/19/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/" title="İletişim Uygulamalarında RF MEMS Anahtarların Mekatronik Dizaynı"></a>Öz : Bu makalede RF mikroelektromekaniksel anahtarların mekatronik dizaynı anlatılacaktır. Bu dizayn; sonlu elemanlar yöntemi ve tam dalga elekromanyetik simülasyonu kullanılarak mekanik ve elektromanyetik şemaları birleştirir. RF MEMS anahtarlarının mekatronik çalışması, RFIC uygulamaları için sistematik bir tasarım metodolojisini sağlar. Anahtar &#8230;<p class="read-more"><a href="http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/" title="İletişim Uygulamalarında RF MEMS Anahtarların Mekatronik Dizaynı"></a><p align="center">
<p align="justify"><strong>Öz :</strong> Bu makalede RF mikroelektromekaniksel anahtarların mekatronik dizaynı anlatılacaktır. Bu dizayn; sonlu elemanlar yöntemi ve tam dalga elekromanyetik simülasyonu kullanılarak mekanik ve elektromanyetik şemaları birleştirir. RF MEMS anahtarlarının mekatronik çalışması, RFIC uygulamaları için sistematik bir tasarım metodolojisini sağlar.</p>
<p align="justify">Anahtar Kelimeler: Mekatronik, Anahtar, RF, MEMS<span id="more-18"></span></p>
<p align="justify">
<p align="justify"><strong>Giriş: </strong>Mikroelektromekaniksel sistem teknolojisi, son yıllarda hızlı bir gelişim gösterdi. RF MEMS anahtarlar, cep telefonları, askeri iletişim sistemleri, enstrümantasyon malzemeleri ve otomotiv radar sistemleri gibi birçok çeşitli uygulamada kullanılan yapı taşı bileşenleri oldular.<br />
Bu  makalede, RF MEMS&#8217;in mekatronik tasarımı, mekanik ve elektromanyetik yaklaşımlar beraberce kullanılarak sunulmuştur. RF MEMS anahtarlarının mekanik tasarımı, sonlu elemanlar metodu ile yerine getirilir.<br />
<strong>Anahtar Yapısı: </strong>Anahtarın, bir iletim hattının merkezinde bulunan bir dielektrik tabakasının üzerine koyulan bir metal köprüsü vardır. Kıvrılarak giden Ω -menteşelerinin şekil 2&#8242;de gösterilen L, W, ve H olmak üzere üç boyut parametresi vardır. Boyut parametrelerinin etkisini araştırmak için, boyut parametreleri, üç gruba bölünmüştür. Her grupta, boyut parametrelerinin ikisi, sabit tutulur.<br />
<strong> Dizayn: </strong>Bir anahtarın sinyal aktarması, hareketli tabaka ve iletim hattı arasındaki kapasitans değeri ile kontrol edilir. Hareketli tabaka, bir CPW iletim hattının üzerine çıktığı zaman, anahtar kapalı konuma geçer. Kapatma gerilimi uygulandığı zaman, hareketli tabaka, dielectric tabakasına dokunur, RF sinyali, şase birleşir, ve anahtar açık konuma gelir. Efektif sertlik sabiti, grup A.&#8217;daki H parametresinin artmasıyla azalır. Fakat grup B ve C.&#8217;deki L parametresinin artması ile artar.<br />
Maksimum yer değiştirme sonuçları ve etkili sertlik sabiti, tablo-11&#8242;de listelenmiştir. Köprü yapısı için yer değiştirme sonuçları, şekil 3&#8242;de gösterilmiştir. Köprünün metali, alüminyumdur. Alüminyum metalinin, 70 GPa Young katsayısı, 0.34 Poisson&#8217;un oranı, 170 MPa eğilme kuvveti, ve 2700 kg m3 yoğunluğu vardır. Köprünün iki sonu, bir sınır hali gibi ayarlanır. 10 pN&#8217;lik elektrostatik kuvvet hareketli plakaya düzenli dağılmıştır. RF MEMS anahtarlarının elektromanyetik simülasyonu, 5&#8242;ten 40 GHz&#8217;e kadar üç boyutlu tam dalga simülatörü Ansoft HFSS tarafından iletilir. SzI ve Sil parametreleri, anahtarların kapalı durumları için ilave kaybı ve anahtarların dönüş kayıp karakteristiklerini temsil eder. A, B ve C gruplarının anahtarları, şekil4&#8242;de gösterildiği gibi 0.65 dB&#8217;den düşük, 40 GHz&#8217;e kadar ilave kayıplarına sahiptirler. Anahtarların aralık yüksekliği 3 p olduğundan beri, ilave kaybı, çok büyük değildir. Farklı boyut parametreleri için, birleşen kapasitansının farkı, önemli değildir. Hareketli tabakanın alanı da dahil köprü alanları ve menteşenin alanı çok yakındır. Menteşenin alanı, hareketli tabakanın alanından daha küçüktür. Açık durumdaki anahtarlar için, rezonant frekansı ve izolasyon, iki anahtar karakteristiktir. Rezonant frekansı, köprü indüktansı ve açık durum kapasitansı tarafından kararlaştırılabilir. Anahtarların karakteristikleri, küçük kapanma voltajına, alçak dirence, yüksek izolasyona ve geniş bantlara ihtiyaç duyar. Mekanik ve elektromanyetik performans elde etmek için L, W ve H parametrelerini Ω menteşesi ile kontrol edilebilir. RF MEMS anahtarları, mekatronik metodolojisi ile tasarlanır. RF MEMS anahtarlarının mekanik yapı tasarımı, sonlu elemanlar metodu ile yapılır. Anahtarların tam dalga elektromanyetik simülasyonu, 5 &#8211; 40 GHz&#8217;e aralığında yapılır. Mekatronik tasarımının temelinde, RF MEMS anahtarların mükemmel karakteristikleri yatar.</p>
<p><strong>Kaynak:</strong><br />
The 47th IEEE International Midwest<br />
Symposium on Circuits and Systems<br />
Yeong-Lin Lai and Yi-De Wen<br />
Department of Mechatronics Engineering, National Changhua University of Education,<br />
Changhua 500, Taiwan, R.O.C.<br />
E-mail: yllai@cc.ncue.edu.tw</p>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/iletisim-uygulamalarinda-rf-mems-anahtarlarin-mekatronik-dizayni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elektromagnetik Röleler</title>
		<link>http://tarikzengin.com/elektromagnetik-roleler/</link>
		<comments>http://tarikzengin.com/elektromagnetik-roleler/#comments</comments>
		<pubDate>Sat, 19 May 2007 12:58:17 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Derlemeler]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Elektromagnetik Röle]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Kontaktör]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[Röle]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/05/19/elektromagnetik-roleler/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/elektromagnetik-roleler/" title="Elektromagnetik Röleler"></a>Röle Yapısı: Bir iletkenden geçen elektrik akımı belli bir manyetik alan oluşturacaktır. Bu iletken bobin şeklinde sarılırsa manyetik alan bobin boyunca uzanacaktır. Örneğin ; Indüktör manyetik alanda depolanan enerji sebebiyle akımdaki değişikliklere tepki gösterir. Bu özellikten faydalanarak transformatörler de yapılabilir. &#8230;<p class="read-more"><a href="http://tarikzengin.com/elektromagnetik-roleler/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/elektromagnetik-roleler/" title="Elektromagnetik Röleler"></a><p><strong>Röle Yapısı:</strong><br />
Bir iletkenden geçen elektrik akımı belli bir manyetik alan oluşturacaktır. Bu iletken bobin şeklinde sarılırsa manyetik alan bobin boyunca uzanacaktır. Örneğin ;<br />
Indüktör manyetik alanda depolanan enerji sebebiyle akımdaki değişikliklere tepki gösterir. Bu özellikten faydalanarak transformatörler de yapılabilir. Enerji bir sargıdan diğerine elektromagnetik yolla taşınır.</p>
<p><span id="more-14"></span></p>
<div id="attachment_16" class="wp-caption aligncenter" style="width: 320px"><img class="size-full wp-image-16 colorbox-14" title="Magnetik Role 1" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/magnetikrole1.png" alt="Akim - Manyetik Alan Iliskisi" width="310" height="150" /><p class="wp-caption-text">Akim - Manyetik Alan Iliskisi</p></div>
<p>Röleler küçük elektriksel sinyallerle büyük akım ya da geilimlerin kontrolünde büyük bir kolaylık sağlar. Röle kontakları bobinde oluşturulan manyetik alan sayesinde açılıp kapanarak anahtarlama yapar. Bir nevi ikili yükseltici (açık-kapalı) gibi davranır. Bu yazıda rölelerin yükseltici özellikleri açıklanacaktır.</p>
<div id="attachment_17" class="wp-caption aligncenter" style="width: 618px"><img class="size-full wp-image-17 colorbox-14" title="Magnetik Role 2" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/magnetikrole2.png" alt="Role Baglantisi" width="608" height="262" /><p class="wp-caption-text">Role Baglantisi</p></div>
<p>Şekilde görüldüğü gibi röle bobinine 12 VDC gerilim gelmektedir. Fakat Röle kontaklarının kontrol ettiği gerilim 480 VAC&#8217;dir. Kontrol geirlimi kontaklardaki gerilimden yüzlerce kat daha küçüktür.</p>
<p>Röle kontaklarının durumu normalde açık, normalde kapalı ya da bu ikisinin kombinasyonları şeklinde olabilir. Normal durum röle bobininin enerjisiz olduğu durumu ifade eder.</p>
<p>Röle kontakları çeşitli tiplerde olabilir. Bunlardan bazıları metal alaşımlı, cıvalı ve reed kontaklardır. Hava ile temas halince olan kontaklar yüksek akımlı uygulamalarda daha iyi sonuç verir fakat bazı endüstriyel ortamlarda paslanma gibi sorunlar ortaya çıkarabilmektedir. Cıvalı ve reed kontaklar paslanma gibi sorunlar çıkarmaz fakat akım taşıma kapasitesinin sınırlıdır.</p>
<p>Rölelerde kontrol akımı ile kontak akımı arasında büyük farklar olduğu için yalıtım da önem kazanır. Kontaklar ile bobin birbirinden yalıtılmıştır. Bu sinyaller gerilim seviyesi olarak birbirlerinden farklı olabileceği gibi biri AC diğeri DC de olabilir.</p>
<p>Röleleri tamamen açık ya da tamamne kapalı olması açısından lojik kapılara benzetebiliriz. Aynı lojik kapıların iletime geçmesi için gerekli eşik değeri gibi rölelerin de kontakları kapaması için gerekli bir eşik değeri vardır. Bu değere &#8220;pull-in&#8221; akımı denir. Bobinin kontağı çekmesi ve çekili halde tutabilmesi için bu akım değerinin aşılması gereklidir. Pull-in değeri röleden röleye değişir.</p>
<p><strong>Kontaktörler:</strong></p>
<p>Röleler kontaklarından çok büyük akımlar geçirebilecek şekilde imal edilirlerse kontaktör ismini alırlar. Kontaktörler genellikle normalde açık olan birçok kontağa sahiptirler. Genelde elektrik motorlarının kontrolünde kullanılırlar.</p>
<p>Üstteki 3 kontak herbir fazı ayrı ayrı kontrol etmek için kullanılır. En alttaki yardımcı kontak ise diğer bazı devre elemanlarını beslemede kullanılacak olan ayrı bir gerilimi anahtarlayabilir.</p>
<p>Kontaklar ile motor arasındaki işaret bağlantının bir klemens ile yapıldığını belirtir. Bu klemenslerin ısıya dayanıklı olması gerekir. Normalde kapalı bir kontak klemensin ısıya dayanmaması sonucu kısa devre olmasıyla açık hale gelebilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/elektromagnetik-roleler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetik Transistörler</title>
		<link>http://tarikzengin.com/magnetik-transistorler/</link>
		<comments>http://tarikzengin.com/magnetik-transistorler/#comments</comments>
		<pubDate>Sat, 19 May 2007 12:20:26 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Derlemeler]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Magnetik Transistör]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[Spin]]></category>
		<category><![CDATA[Spintronik]]></category>
		<category><![CDATA[Transistör]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/05/19/magnetik-transistorler/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/magnetik-transistorler/" title="Magnetik Transistörler"></a>Elektronik transistör kavramı : Transistörler elektronların kontrollü bir yoldan üzerlerinden akmalarına izin verirler. Elektronların bu kontrollü akısı bilgisayararın temeli olan on-off sinyallerini sağlar. Elektronik transistörler elektronların bu akısını, önlerine bir bariyer ya da bağlantı noktası koyarak kontrol eder. Fakat elektronların &#8230;<p class="read-more"><a href="http://tarikzengin.com/magnetik-transistorler/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/magnetik-transistorler/" title="Magnetik Transistörler"></a><p><strong>Elektronik transistör kavramı :</strong></p>
<p align="justify">Transistörler elektronların kontrollü bir yoldan üzerlerinden akmalarına izin verirler. Elektronların bu kontrollü akısı bilgisayararın temeli olan on-off sinyallerini sağlar.</p>
<p align="justify">Elektronik transistörler elektronların bu akısını, önlerine bir bariyer ya da bağlantı noktası koyarak kontrol eder. Fakat elektronların akısı toplam akım tarafından kontrol edilmek zorunda değildir.</p>
<p align="justify"><span id="more-7"></span></p>
<p style="text-align:center;">
<div id="attachment_12" class="wp-caption aligncenter" style="width: 392px"><img class="size-full wp-image-12 colorbox-7" title="1" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/1-0-0.png" alt="Atomik Baglar" width="382" height="301" /><p class="wp-caption-text">Atomik Baglar</p></div>
<p align="justify">
<div id="attachment_13" class="wp-caption aligncenter" style="width: 383px"><img class="size-full wp-image-13 colorbox-7" title="2" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/1-1-0.png" alt="Atomik Baglar" width="373" height="301" /><p class="wp-caption-text">Atomik Baglar</p></div>
<div id="attachment_9" class="wp-caption aligncenter" style="width: 292px"><img class="size-full wp-image-9 colorbox-7" title="NPN" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/2.png" alt="NPN Junction Transistor" width="282" height="232" /><p class="wp-caption-text">NPN Junction Transistor</p></div>
<p style="text-align:center;">
<p align="justify">Bir transistor yapabilmek için küçük miktada akımla büyük miktarda akıyı kontrol edebilecek bir madde tabakası gerekir. Böylece kazanç veya başka bir deyişle yükseltme sağlanır.Magnetik yükselticide asıl amaç  ; küçük miktarda giriş akımı kullanarak büyük miktardaki magnetik akıları anahtarlamaktır. Nadiren dünyanın sürekli magnetik etkisi magnetik bir batarya ya da sürekli magnetik akı kaynağı gibi davranabilir.</p>
<p align="justify"><strong>Magnetik transistör kavramı :</strong></p>
<p align="justify">Fizikçiler; elektron akısını anahtarlamak için elektronların magnetik spinini kullanan yeni bir transistör geliştirdiler. Magnetik spin transistörleri adı verilen bu transistör çeşidi günümüzdeki elektronik transistorlere yakın bir şekilde çalışır, fakat elektronik transistörlere göre büyük bir avantajları vardır. Bir magnetik diske bilgi yazmak kadar kolay elde edilebilmektedirler.</p>
<p style="text-align:center;">
<div id="attachment_10" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-10 colorbox-7" title="Elektron Akısı" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/3.png" alt="Jonksiyondaki elektron - hole hareketleri" width="480" height="554" /><p class="wp-caption-text">Jonksiyondaki elektron - hole hareketleri</p></div>
<p align="justify">Sıradan elektronik transistörler akım taşıyan 3 elektrod barındırır. Bunlar emiter &#8211; base &#8211; collector &#8216; dür.  Alan etkili transistörlerde bu ismlendirme drain &#8211; gate &#8211; source olarak yapılır.</p>
<p align="justify">Elektronlar bu elektrodların birinden girer ve diğerinden çıkar. Üçüncü elektrod ise bu ikisi arasındaki akıyı kontrol eder. Elektronların girdiği uç emiter, çıktığı uç collector &#8216;dür. Akım kontrolünü yapan uç ise base&#8217;dir.</p>
<p align="justify">Elektronik transistörün en önemli noktası n-p-n ya da p-n-p birleşimi olmasıdır. Maddenin P bölgesinde atomların etrafındaki elektronlar sadece yeterli enerjiye sahip elektronların geçebileceği bir bariyer oluşturur. Kontrol elektroduna verilen akım elektronların bariyeri aşmasını ve bağlantı noktasını geçmesini sağlar.</p>
<p align="justify">Magnetik spin transistörlerinin çalışması ise elekton akısını kontrol etmek için elektronların yukarı-spin ve aşağı-spin hareketleri arasındaki farkı kullanmaya dayanır. Elektronlar  yukarı-spin ve  aşağı-spin state&#8217; lerinden birinde bulunabilirler.</p>
<p align="justify">Spin transistöründe bariyer, magnetik etki alanı taşıyıcıya zıt bir maddenin parçası olabilir. Magnetik yarı-iletkenler yukarı-spin ve  aşağı-spin taşıyıcıları için farklı enerjilere sahiptir. Bu özellik bariyeri değiştirmek için kullanılabilir.</p>
<p style="text-align:center;">
<div id="attachment_11" class="wp-caption aligncenter" style="width: 450px"><img class="size-full wp-image-11 colorbox-7" title="Magnetik Transistör" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/05/4.png" alt="Magnetik Transistör" width="440" height="192" /><p class="wp-caption-text">Magnetik Transistör</p></div>
<p align="justify">Magnetik spin transistörleri elektronik tranistörlerin yerine kullanılmak için değil, daha fazlasını yapabileceği yerlerde kullanılmak için yapılmıştır. Spin transistorlerinde bariyer magnetiktir ve değişebilir. Bu sayede istenildiği gibi değiştirilebilen ve ayarlanabilen çipler üretmek mümkün olur.</p>
<p align="justify">Spin transistörü hakkında henüz bilinmeyenler var. Bunlardan biri ters spin hareketinin farkı. Bir diğeri ise yukarı-spin ve aşağı-spin bölümleri arasındaki bağlantı noktasının ne kadar ince yapılabileceği. Bariyerin ince olmasının transistörün kontrolünü kolaylaştıracağı bilinmektedir fakat henüz ne kadar ince olabileceği konusu açıklık kazanmamıştır.</p>
<p align="justify">Eğer titanyum dioksid kobalt maddesi bu duruma uygun bir şekilde davranırsa çok daha gelişmiş magnetic transistörlerin beş yıldan kısa bir süre içinde üretilebileceği söylenmektedir. Araştırmacılar magnetik transistorlerin yapımı için uygun materyaller aramaya devam ediyorlar.</p>
<p align="justify">
<p align="justify"><strong>Magnetik Spin Transistörlerinin Uygulama Alanları:</strong></p>
<p align="justify"><strong>Spintronik teknolojisi </strong></p>
<p align="justify">Sıradan bir elektrik akımında elektronlar rasgele hareket eder ve spin, bir kablonun elektriksel direncini ya da transistor devresinin amplifikasyonunu etkilemez. Spintronik aygıtlarsa, &#8220;spin yukarı&#8221; veya &#8220;spin aşağı&#8221; durumlardan birinde bulunan elektronların, yarıiletken devrelerde nakledilmesi mantığına dayanır.</p>
<p align="justify">Demir ya da kobalt gibi demirli manyetiklerde, komşu atomların elektronları aynı spin durumunda dizilmeye eğimlidir. Eğer, bir demir parçası güçlü manyetik alanla yüklenirse, demir atomlarının elektronları, manyetik olarak bir yönde sıralanır. Metalin büyük kısmı bundan etkilenir. Önceden ayarlanmış demirli manyetiklerden elektrik akımı geçirildiğinde, belli bir spin yönünde dönen elektronların yolu tıkanır.</p>
<p align="justify">Sonuçta, spin kutuplu bir elektrik akımı oluşur. Voltaj uygulanınca, bu akımın bütün elektronlarının spin yönü tersine döner. Spintronik bilgisayarlara, spin yönlerini kaydeden ve okuyan devreler entegre edilmiştir.</p>
<p align="justify">Spintronik klasik uygulama bilgisiyle birleştirildiğinde, veriyi, elektronik ve manyeto-optik olarak işleyen devreler üretilecektir. Manyeto-optik sistemler 90&#8242;lı yıllarda moda olan, taşınabilir ZIP sürücülerinde kullanılmıştı. Nitekim, manyetik değerleri okuyan sabit disk kafaları, bilgisayarların ayrılmaz bir parçası olarak görev yapmaktadır.</p>
<p align="justify">Sırada, çok hızlı açılıp kapanan anahtarlar ve tamamen programlanabilen, spintronik bilgisayar beyinlerinin (merkezi işlem birimleri: CPU) geliştirilmesi araştırmaları var. Günümüzde, CPU&#8217;lar donanım olarak programlanıyor. Mikroçiplerinin veriyi nasıl işleyeceği, CPU&#8217;ların şekli ve yarıiletken hatların ağ yapısıyla sınırlı durumda bulunuyor. Manyetik CPU&#8217;lar ise, devrelerin biçimi ve yarıiletken hatların karmaşıklığından kısmen bağımsız olarak, manyetik alanlarla yüklenip programlanabilecek.</p>
<p>Spintroniğin hayata geçirilmesi için ucuzlaması, yani kullanışlı bir teknolojinin geliştirilmesi gerekmektedir. Bu konudaki başlıca çıkmazların başında:</p>
<ul>
<li>
<p align="justify">Demirli 	manyetik öğelerle yarıiletken devreleri birleştirebilir mi?</p>
</li>
<li>
<p align="justify">Bu tümleşik 	devreleri oda sıcaklığında çalıştırabilir mi?</p>
</li>
<li>
<p align="justify">Spin kutuplu 	akımları, yani spin akısını, yarıiletkenlere vermenin kolay 	bir yolu var mı? (Spin kutuplamak, bilgiyi spin durumlarına 	kaydetmek anlamını taşır.)</p>
</li>
<li>
<p align="justify">Farklı 	yarıiletkenlere nakledilmek üzere, devrenin kenarına yollanan 	spin akısına ne olur?</p>
</li>
<li>
<p align="justify">Yarıiletkenlere 	aktarılmış spin akısı (bilgi) ne kadar süre bozulmadan 	dayanır?</p>
</li>
</ul>
<p align="justify">soruları gelmektedir.</p>
<p align="justify"><strong>Spintronik fiziği :</strong></p>
<p>Hızla dönen küçük bir elektrik yüklü küre düşünülürse kürede dolaşan yük, elektrik akımında minik atlamalar meydana getirir. Bu da, Dünya&#8217;nın manyetik alanına benzeyen bir manyetik alan oluşturur.  Kürenin dönüşü (rotasyon), vektör ile gösterilir. Vektör, kürenin kendi çevresinde dönme yönünü işaret eder. Dönen küreyi bir dış bir manyetik alana sokulursa spin vektörünün manyetik alana göre alabileceği iki farklı yönelim, kürenin toplam enerjisini de belirleyecektir.<br />
Elektronu, böyle dönen bir elektrik yüklü küreye benzetirsek elektronun &#8220;spini&#8221;, onun açısal momenti olacaktır. Bu da manyetizmaya bağlıdır ve bir manyetik alanda, spin vektörünün yönünü belirler.</p>
<p>Elektronların belli bir uzunlukta ve  çapta cisimler değil,  matematiksel olarak tanımlanan, bir enerji değerine karşılık gelen, ideal noktacıklar ve boyutsuz nesneler olduğu düşünülebilir. Mesela, bir küre sağa dönerken, durup sola dönmeye başlayabilir. Bir elektron ise sağa ya da sola dönmez ya da yavaşlayarak durup ters yönde dönme hareketi yapmaz. Elektron spini, matematiksel bir nicelikten ibarettir. Adlandırma açısından, tamamıyla estetik ve keyfi bir anlam taşıyan, yukarı ya da aşağı spin durumlarından birinde bulunur. Elektronlar, yukarı ve aşağı spine, hiçbir ara durum almadan geçer.</p>
<p><strong>Spintronik ve bilginin kaydedilmesi :</strong></p>
<p>Günümüzdeki yarı-iletken bilgisayar işlemcileri bilginin yapı taşı olarak bit&#8217;i kullanır. Bit&#8217;lerdeki çalışma mantığını bir soruya verilen kesin &#8220;evet&#8221; ya da &#8220;hayır&#8221; cevapları olarak nitelendirilebiliriz.</p>
<p>Elektronlar, spin yukarı ya da spin aşağı konumlarında bulunabildiği için; bir spin konumu &#8220;evet&#8221;, diğeri ise &#8220;hayır&#8221; yanıtıyla eşleştirilebilir. Örneğin ikilik sayı düzeni kullanan bir algoritmada 0 ve 1 olabilir. Bu durumların hangisinin evet, hangisinin hayırla eşleneceği ise keyfi bir seçimdir.</p>
<p><strong>Kaynaklar:</strong></p>
<ul>
<li>Applied Physics Letters ( apl.aip.org )</li>
<li>trnMAG.com</li>
<li>The 	Motionless Electromagetic Generator Project Notes ( 	jnaudin.free.fr/meg/meg.htm )</li>
<li>Spintronik 	- Focus Dergisi ( <a href="http://www.focusdergisi.com.tr/bilim/00585">www.focusdergisi.com.tr/bilim/00585</a> )</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/magnetik-transistorler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

