<?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>Çağdaş&#039;ın Günlüğü &#187; pic rs 232 16f877 seri haberleşme</title>
	<atom:link href="http://www.cagdastopcu.com/tag/pic-rs-232-16f877-seri-haberlesme/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cagdastopcu.com</link>
	<description>GNU HARDWARE DEVELOPER</description>
	<lastBuildDate>Mon, 22 Feb 2010 17:03:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>16F877 ve MAX 232 ile RS 232 Seri Haberleşme</title>
		<link>http://www.cagdastopcu.com/16f877-ve-max-232-ile-rs-232-seri-haberlesme.html</link>
		<comments>http://www.cagdastopcu.com/16f877-ve-max-232-ile-rs-232-seri-haberlesme.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 20:02:06 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[Kategorilenmemiş]]></category>
		<category><![CDATA[pic rs 232 16f877 seri haberleşme]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/16f877-ve-max-232-ile-rs-232-seri-haberlesme.html</guid>
		<description><![CDATA[
Fronius kaynak makinasının nasıl çalıştığını anlamak için mikrodenetleyicili ara kart tasarlaması gerekmektedir. RS422 seri iletişim standardının direkt kütüphanesini bulamadığımdan dolayı önce RS232&#8242;de sinyaller üretilip RS422 dönüştürücüyle aktarılabilinir. Eğer aktarım zamanında sorun çıkarsa direk kütüphane yazabilirim ancak biraz zamanımı alır.

RS232 standardı geliştirildiğinde TTL uC&#8217;ler piyasaya girmediğinden TTL entegrelerine uyumlu değillerdir. bilgisayarlar 12/24 V kullanırken TTL&#8217;ler yaklaşık [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;" align="left">Fronius kaynak makinasının nasıl çalıştığını anlamak için mikrodenetleyicili ara kart tasarlaması gerekmektedir. RS422 seri iletişim standardının direkt kütüphanesini bulamadığımdan dolayı önce RS232&#8242;de sinyaller üretilip RS422 dönüştürücüyle aktarılabilinir. Eğer aktarım zamanında sorun çıkarsa direk kütüphane yazabilirim ancak biraz zamanımı alır.</p>
<p style="margin-bottom: 0cm;" align="left">
<p style="margin-bottom: 0cm;" align="left">RS232 standardı geliştirildiğinde TTL uC&#8217;ler piyasaya girmediğinden TTL entegrelerine uyumlu değillerdir. bilgisayarlar 12/24 V kullanırken TTL&#8217;ler yaklaşık 5 voltta çalışır. Bu gerilim farkını MAX232 entegresi ile aşarız. Aşağıda örnek devresini çizdim.</p>
<p style="margin-bottom: 0cm;" align="left"><a href="http://i32.tinypic.com/k3ksqq.jpg"><img src="http://i32.tinypic.com/k3ksqq.jpg" alt="proteus pic 16f877 rs 232 devre şeması" width="651" height="378" /></a></p>
<p style="margin-bottom: 0cm;" align="left">
<p style="margin-bottom: 0cm;" align="left">RS232&#8242;de veriler karakter karakter gönderim olur. Karakterlerin ASCII kodlarına göre 7 bitlik veri<br />
olarak yollanır. Bu şekilde Fronius&#8217;un manuelindekine benzer veriler yollanabilinir. RS232&#8242;de<br />
iletişim asenkron tiptedir yani alıcı ile vericinin saatleri aynı olmak zorunda değildir. Ancak verinin<br />
iletilebilmesi için senkronizasyon gerekmektedir. Bu yüzden start biti ile iki taraf da saatlerini<br />
senkronize eder. Start biti lojik sıfırdır. <span style="text-decoration: line-through;">4Mhz de kullanılan 16f877 uC sinde 118 us uzunluğundadır.</span><br />
7 veya 8 bitlik veri yollanıp ardından stopla durdurulur. Veri bitleri de yine aynı uygulamada<br />
104-107 mikrosaniyedir. Stop biti de lojik sıfırdır. Yazdığım koda ve bağlı olduğu kütüphaneye göre<br />
her seferde 10 bit yollanır. <span style="text-decoration: line-through;">RS232 de asıl yollanan 7-8 bitin önce 2 tabanında tersi alınıp ardından<br />
sıralanışı tersine çevrilerek iletilir.</span><br />
Örnek 1.1<br />
Yollanan karakter: !<br />
ASCII karşılığı: 33 = 0100001<br />
Yollanan veri: 0101111011000&#8230;<br />
Çevrilmiş hali: 1000010</p>
<p style="margin-bottom: 0cm;" align="left">Yollanan karakter: a<br />
ASCII karşılığı: 97 = 1100001<br />
Yollanan veri: 0101111001000&#8230;<br />
Çevrilmiş hali:<br />
Yollanan karakter: $<br />
ASCII karşılığı: 36 = 0100100<br />
Yollanan veri: 0111011011000&#8230;<br />
Çevrilmiş hali: 0100100<br />
Direk sayısal veri olarak gönderim:<br />
char value;<br />
value = 1;<br />
putc(value);<br />
value değeriyle oyanayarak istediğimiz veriyi girebiliyoruz.<br />
1 için gönderile veri: 0101111111000&#8230;<br />
Çevrilmiş hali: 00000001<br />
Bu kullanım işimize daha fazla yarayacaktır.<br />
RS232&#8242;den RS242&#8242;ye Çevirme<br />
Perpa&#8217;da bu tür dönüştürücüler 40-50 TL&#8217;ye bulunmaktaymış. İki standardın genel özelliklerini<br />
karşılaştırabiliriz:</p>
<table border="1" cellspacing="1" cellpadding="1" width="200">
<tbody>
<tr>
<td>Özellik</td>
<td>RS232</td>
<td>RS422</td>
</tr>
<tr>
<td>Maksimum kablo uzunlukları</td>
<td>40 FT.</td>
<td>4000 FT.</td>
</tr>
<tr>
<td>Maksimum Veri Oranları</td>
<td>20kb/s</td>
<td>10Mb/s</td>
</tr>
<tr>
<td>Gerilim Aralıkları</td>
<td>+ 3-25 arası 0 – 3-25 arası 1</td>
<td>+ 2-4 ve – 2-4 aralıkları</td>
</tr>
</tbody>
</table>
<p style="margin-bottom: 0cm;" align="left">
<p style="margin-bottom: 0cm;" align="left"><img src="http://i27.tinypic.com/24l0j2a.jpg" alt="ds 275 entegre şeması" /></p>
<p style="margin-bottom: 0cm;" align="left">
<p style="margin-bottom: 0cm;" align="left">Şeklinde bir dönüştürme entegresi kullanılabilir. Basit bir örneği http://www.kmitl.ac.th/~kswichit<br />
%20/Rs422/Rs422.html adresinde var ancak endüstriyel uygulamalarda ne kadar başarılı olur<br />
bilmiyorum.</p>
<p style="margin-bottom: 0cm;" align="left">
<p style="margin-bottom: 0cm;" align="left">NOT: Bir yıldır gnu linux dağıtımı Ubuntumu kullanıyordum ve proteustan iyice kopmuştum. RS 232&#8242;nin hazır devresini <a href="http://onurkalecik.blogspot.com/">Onur Kalecik&#8217;in sitesi</a>nden alıp üzerine analog gösterge koydum. Şimdi hatırladım çoğu şeyin nasıl yapıldığını ancak ilk giriş kısmını hızla geçmemi sağladığı için okuldan arkadaşım Onur Kalecik&#8217;e teşekkür ederim.</p>
<p style="margin-bottom: 0cm;" align="left">Yazının <a href="http://www.cagdastopcu.com/wp-content/uploads/2008/07/cagdas3006.pdf">PDF</a> hali</p>
<p style="margin-bottom: 0cm;" align="left">
]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/16f877-ve-max-232-ile-rs-232-seri-haberlesme.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
