tez örneği

Upload: halil-durmus

Post on 13-Jul-2015

1.866 views

Category:

Documents


0 download

TRANSCRIPT

YILDIZ TEKNK NVERSTES ELEKTRK-ELEKTRONK FAKLTES ELEKTRONK VE HABERLEME MHENDSL BLM

Bitirme Tezi

NTERNET ZERNDEN MOBL BR ROBOTUN KONTROL

Tez Danman : Yrd. Do. Dr. Lale zylmaz

03014108 Baki nl

stanbul, 2007

iii

NDEKLER Sayfa SMGE LSTES ....................................................................................................................... vi KISALTMA LSTES.............................................................................................................. vii EKL LSTES ...................................................................................................................... viii ZELGE LSTES................................................................................................................... ix NSZ....................................................................................................................................... x ZET......................................................................................................................................... xi ABSTRACT ............................................................................................................................. xii 1. 2. 2.1 2.1.1 2.1.2 2.1.3 2.2 3. 3.1 3.1.1 3.1.1.1 3.1.1.2 3.1.2 3.1.2.1 3.2 3.2.1 3.2.2 3.3 3.4 3.4.1 3.4.2 3.5 4. 4.1 4.2 4.2.1 4.2.2 4.3 5. GR..................................................................................................................... 13 SSTEMN GENEL YAPISI VE ALIMA PRENSB .................................... 14 Sistemin Genel Yaps ........................................................................................... 14 Sunucu-stemci Kontrol Yazlm ......................................................................... 14 Haberleme Kart................................................................................................... 15 Mobil Robot zerindeki Kontrol Kart ................................................................. 15 Sistemin alma Prensibi..................................................................................... 15 SUNUCU-STEMC KONTROL YAZILIMI...................................................... 16 TCP/IP ve IP.......................................................................................................... 16 TCP/IP ................................................................................................................... 16 TCP Protokol....................................................................................................... 17 UDP Protokol ...................................................................................................... 18 IP Protokol........................................................................................................... 18 IP Adresi................................................................................................................ 18 Seri Haberleme ve Port Kavram ......................................................................... 18 Seri Port ve RS232 Standard................................................................................ 20 Seri Port letiim Ayarlar ..................................................................................... 21 Uzaktan Kontrol Program Sunucu Taraf............................................................. 22 Uzaktan Kontrol Program stemci Taraf............................................................. 23 Port COM1 Blm .............................................................................................. 24 Robot Kontrol Blm.......................................................................................... 24 Uzaktan Kontrol Yazlmnn Gereklenmesi ....................................................... 25 HABERLEME KARTI ....................................................................................... 26 RF letiimi............................................................................................................ 26 Haberleme Kart Devre Elemanlar ve Aklamalar........................................... 26 ATX-34S RF Verici Entegresi .............................................................................. 26 MAX232 Entegresi................................................................................................ 28 Haberleme Kart Devresi ..................................................................................... 29 KONTROL KARTI............................................................................................... 31

iv

5.1 5.1.1 5.1.1.1 5.1.1.2 5.1.1.3 5.1.2 5.1.3 5.1.3.1 5.2 5.3 6.

Kontrol kart Devre Elemanlar ve Aklamalar .................................................. 31 Mikrodenetleyici ve PIC 16F877A ....................................................................... 31 Mikrodenetleyici Mimari zellikleri .................................................................... 31 PIC16F877A zellikleri........................................................................................ 31 PIC16F877A Pin Tanmlamalar........................................................................... 32 ARX-34S RF Alc Entegresi ................................................................................ 34 DC Motorlar ve L298 Src Entegresi................................................................ 35 L298 Src Entegresi .......................................................................................... 36 Kontrol Kart Devresi............................................................................................ 37 Kontrol Kart Yazlm .......................................................................................... 40 SONULAR ......................................................................................................... 41

KAYNAKLAR......................................................................................................................... 42 ZGEM ............................................................................................................................... 1

v

SMGE LSTES c Ik hz f Radyo dalgasnn frekans Radyo dalgasnn dalga boyu bps saniyedeki bit says

vi

KISALTMA LSTES ARP Address Resolution Protocol ARPA Advanced Research Projects Agency ASCII American Standard Code for Information Interchange ASK Amplitude-Shift Keying ATM Asynchronous Transfer Mode DoD Department of Defence EIA Electronic Industries Association FSK Frequency-Shift Keying HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol IBM International Business Machines Corporation ICMP Internet Control Message Protocol IGMP Internet Group Management Protocol LAN Local Area Network OSI Open Systems Interconnection PCMCIA Personal Computer Memory Card International Association SCSI Small Computer System Interface TCP/IP Transmission Control Protocol/Internet Protocol UDP User Datagram Protocol UHF Ultra high frequency USB Universal Serial Bus USART Universal Synchronous/Asynchronous Receiver/Transmitter WAN Wide Area Network

vii

EKL LSTES ekil 2.1 Sistemin genel yaps ................................................................................................ 14 ekil 3.1 TCP/IP ve OSI modellerinin karlatrlmas[7]...................................................... 17 ekil 3.2 Senkron seri iletiim rnei*..................................................................................... 19 ekil 3.3 Asenkron seri iletiim rnei.................................................................................... 20 ekil 3.4 RS232 DB-9 konnektr[11]...................................................................................... 20 ekil 3.5 Uzaktan Kontrol program sunucu taraf grnm................................................. 22 ekil 3.6 Port Forwarding ile ilgili bir rnek. .......................................................................... 23 ekil 3.7 Uzaktan Kontrol program istemci taraf grnm................................................. 24 ekil 3.8 Uzaktan Kontrol program stemci-Robot Kontrol taraf grnm........................ 25 ekil 4.1 ATX-34S RF verici entegresi. .................................................................................. 27 ekil 4.2 MAX232 entegresinin stten grn. ................................................................... 28 ekil 4.3 Haberleme kart devre emas. ................................................................................ 30 ekil 5.1 PIC16F877A 40-pinli PDIP grnm[14].............................................................. 33 ekil 5.2 ARX-34S RF alc entegresi. .................................................................................... 34 ekil 5.3 Fral dc motor[15]. ................................................................................................. 35 ekil 5.4 L298 entegresinin i yaps[16]. ............................................................................... 36 ekil 5.5 L298 src entegresinin grnm ve pin tanmlamalar[16]................................ 37 ekil 5.6 Kontrol kart devre emas........................................................................................ 39

viii

ZELGE LSTES izelge 3.1 TCP protokolnn tama katmannda kulland kurallar................................... 17 izelge 3.2 UDP Protokolnn tama katmannda kulland kurallar.................................. 18 izelge 3.3 RS232 DB-25 ve DB-9 pin tanmlamalar............................................................ 20 izelge 4.1 ATX-34S RF verici entegresinin pin tanmlamalar............................................. 27 izelge 4.2 ATX-34S entegresinin teknik zellikleri.............................................................. 27 izelge 4.3 MAX232 verici/alc pin lojik fonksiyonlar. ....................................................... 28 izelge 5.1 PIC16F877A genel zellikleri. ............................................................................. 31 izelge 5.2 ARX-34S RF alc entegresinin pin tanmlamalar............................................... 35 izelge 5.3 ARX-34S entegresinin teknik zellikleri.............................................................. 35 izelge 5.4 Motor kontrolnde kullanlan alma modlar. ................................................... 37

ix

NSZ nternet ve kablosuz iletiim teknolojileri gnmzde insan hayatn, ok ynl bir ekilde etkilemektedir. Bir ok uygulamalaryla hayatmz kolaylatran bu teknolojilerin, mekanik kontrol sistemlerinde de kullanlma gereksinimi tez konumu belirlememde etken oldu. Tez almas sresince zorluklarla karlatmda beni cesaretlendiren, destekleyen ve yardmlarn esirgemeyen tez danmanm Yrd. Do. Dr. Lale zylmaza teekkr bir bor bilirim. Yazlm konusunda yardmlarn esirgemeyen arkadam Erhan Dedeye ve projeme katklarndan tr EMO stanbul ubesine teekkr ederim. Lisans eitimim sresince beni destekleyen ve yanmda olan bata daym Yunus Doana, kardeim Baaran nlye ve aileme teekkr ederim.

x

ZET Projenin amac, bilgisayarla kablosuz haberleen mobil bir robotun, internet zerinden kontroldr. Bilgisayara ykl kontrol program ile, robotun hareketleri kontrol etmek mmkndr. Mobil robot alt deiik hareket kabiliyetine sahiptir. Sistem ana ksmdan olumaktadr. Bunlar; internet zerinden haberlemeyi salayan kontrol program, bilgisayar taraf haberleme kart ve mobil robot taraf haberleme ve kontrol kartdr. nternet zerinden haberleen kontol yazlm, Borland firmasnn Borland Developper Studio 2005 Turbo C++ programnda, nesne ynelimli yazlm esasnda gelitirilmitir. Gelitirilen program, server(sunucu) ve client(istemci) arasnda TCP/IP protokol kullanarak internet ortamnda haberlemektedir. Program, mobil robot tarafndaki bilgisayarn seri (COM1) portu zerinden robota komut gndermektedir. kinci ksmda ise haberleme kart tasarlanmtr. Bu ksmda RS232 seviye dntrc ve RF verici yer almaktadr. Haberleme kart, bilgisayardan mobil robota doru, tek ynl veri iletimi salamaktadr. Son olarak mobil robot kontrol kart tasarlanmtr. Bu kart zerinde PIC16F877A mikrodenetleyicisi, dc motor src entegresi ve RF alc entegresi bulunmaktadr. RF alc entegresi, haberleme kart zerindeki RF vericiden gelen bilgiyi almaktadr. Mikrodenetleyici, gelen komuta bal olarak mobil robotun kontroln salamaktadr. Mobil robotun ileri ve geri hareketini arka tekerleklere bal dc motor; saa ve sola hareketini ise n tekerleklere bal dc motor salamaktadr. Mikrodenetleyici ile bu iki dc motor kontrol edilerek alt deiik ynde hareket mobil robota yaptrlmtr. Mobil robot hareketi zerindeki kablosuz bir kamera ile takip edilmektedir. Anahtar kelimeler: Sunucu-istemci internet haberlemesi, RF haberlemesi, seri port.

xi

ABSTRACT The purpose of the project is to control a mobile robot that has wireless communication with computer, via internet. Mobile robot movements can be controlled by control program on computer. Mobile robot has ability of six different direction movements. The system consists of three main part. These are; a control program that provides communication via internet, communication card connected with computer and control card on mobile robot. Control program communicating out of internet, have been developed originally object oriented software on Borland Developper Studio 2005 Turbo C++. The improved program is provide an internet connection between server and client, by using TCP/IP protocol. Program sends commands to mobile robot by server computer serial port (COM1). Secondly, communication card has been designed. In this part, RS232 voltage level converter and RF transmitter set up on communication card. This card provides simplex data transmission from server computer to mobile robot. Finally, mobile robot control card has designed. There are PIC16F877A microcontroller, dc motor driver integrated circuit and RF receiver integrated circuit on this card. RF receiver integrated circuit, takes data coming from RF transmitter on the communication card. Microcontroller controls the mobile robot depends arriving datas. Dc motor hinged to back wheels, control forward and backward moves of mobile robot and dc motor hinged to front wheels, control right and left moves of mobile robot. Dc motors had moved, six different movements by microcontroller. The mobile robot has monitored by camera. Keywords: Server-Client communication via internet, RF communication, serial port.

xii

13

1.

GR

Tezin amac, bilgisayarla RF (Radio Frequency) araclyla haberleen dc motorlu mobil bir robotun, internet zerinden kontroldr. Uzaktan kontrol sistemlerinde, kablosuz teknoloji ve internet haberlemesinin birlikte kullanla bir yntem tasarlanmas hedeflenmitir. Tez konusu olarak bu konuyu sememin ilk nedeni, internet haberlemesi yoluyla yaplacak bir kontroln nasl gerekletirilebilecei meraknn, bende daha nceleri olumasyd. Tez almas sayesinde gerekletireceim internet tabanl kontrol sistemi prototipi ve konu hakknda sahip olacam bilginin, bu merakm giderecei kanaatindeydim. nsanlarn ulaamayaca, insan yaamnn tehlikeye girebilecei ve aratrma amal uygulamalarda bu tr kontrol sistemleri kullanlmas gerekli hale gelmektedir. NASA destekli Washington niversitesi tarafndan gelitirilen Raven isimli robot, internet zerinden bir cerrahn, uzaktaki bir hastay ameliyat edebilmesini salamak iin gelitirilmektedir1. Tez almas, buna benzer internet tabanl kontrol sistemlerinin prototipi nitelii tamas asndan nemlidir. Bilgisayar ile mobil robotun haberlemesini salamak zere, bilgisayar tarafnda RF verici entegresi bulunan haberleme kart ve mobil robot tarafnda RF alc entegresi bulunan kontrol kartlar tasarlanmtr. Kontrol kart zerine, bilgisayardan gelen komutu yorumlayp istenilen hareketi, mobil robota aktarmak zere mikrodenetleyici yerletirilmitir. Mikrodenetleyici olarak PIC16F877A seilmitir. Bu mikrodenetleyicinin seilmesinin nedenleri, USART arabirimine sahip olmas, kendisinin ve programlayclarnn kolayca temin edilebilmesi ve sistemin gelitirilmesine ynelik bir ok gelimi arabirime sahip olmasdr. Mobil robot olarak, 1:10 model ara temin edilmitir. Mobil robotun hareketi, zerindeki drt adet tekerlek ile salanmaktadr. Arka tekerleklere bal bir dc motor ile, ileri ve geri hareket salanmaktadr. Dili sistemi ile arka tekerlekler, n tekerleklere balanmtr. Bu sayede ileri ve geri hareket esnasnda drt teker de hareket etmektedir. Mobil robotun saa ve sola hareketleri ise n tekerleklere bal dc motor tarafndan salanmaktadr. Sistemin kontrol ksmnda, bir adet istemci tarafl alan bilgisayar, bir adet sunucu tarafl alan bilgisayar, sunucu bilgisayarn COM portuna bal, verilen komutu mobil robota gnderen haberleme kart ve istemci ile sunucu bilgisayara yklenmi kontrol program bulunmaktadr. nternet zerinden sunucu ve istemci arasnda balant kurulmasn salayan kontrol program, Borland Developer Studio 2005 programnda nesne ynelimli bir dil olan C++ yazlm kullanlarak gelitirilmitir. Nesne ynelimli programlama tekniinin kullanlmasnn amac sistemin her parasnn birer nesne olarak tanmlanp kontrol edilebilmesi ve sistem deiikliine programlaycnn mdahalesini kolaylatrmasdr. Tez kitabnn ikinci blmnde, sistemin genel yaps ve alma prensibi yer almaktadr. nc blmde, kontrol programnda kullanlan yntemler ve kontrol programnn yazlm ile ilgili bilgiler verilmektedir. Drdnc blmde haberleme kart devresi, alma prensibi ve kullanlan yntemler yer almaktadr. Beinci blmde kontrol kart devresi, alma prensibi ve kullanlan yntemler verilmektedir. Sonu blmnde ise tez almasndan elde edilen sonular, kullanlan yntemler ve neriler bulunmaktadr.

Bu bilgi, http://uwnews.org isimli Washington University haber-yayn sitesinde, 18 Nisan 2007 tarihinde yaynlanan Robotic surgeon to team up with doctors, astronauts on NASA mission isimli makaleden edinilmitir.

1

14

2.

SSTEMN GENEL YAPISI VE ALIMA PRENSB

Bu blmde sistemi oluturan ksmlar ve sistemi oluturan ksmlarn birbiriyle ilikisi, bir btn halinde verilerek sistemin alma prensibi anlatlmtr. 2.1 Sistemin Genel Yaps Sistem, temel ksmdan olumaktadr. Bunlar, internet zerinden sunucu-istemci tarafl haberleen kontrol program, bilgisayar taraf haberleme kart ve mobil robot taraf haberleme ve kontrol kartdr. Sistemin genel emas ekil 2.1de grld gibidir.

ekil 2.1 Sistemin genel yaps 2.1.1 Sunucu-stemci Kontrol Yazlm Bu ksmda sunucu ve istemci tarafl alan program bulunmaktadr. Program, TCP/IP protokol kullanarak internet zerinden sunucu ve istemci olarak alan iki bilgisayar arasnda internet balantsn salamaktadr. stemci tarafndaki kullancnn, sunucu tarafndaki bilgisayarn COM1 portuna balanmas beklenir. COM1 portuna balant kurulduu andan itibaren mobil robotun hareketi, istemci tarafndaki kullanc tarafndan gerekletirilir. stenildii takdirde, mobil robotun hareketi sunucu bilgisayardaki kullanc tarafndan da gerekletirilebilmektedir. Mobil robotun hareketi bilgisayar ekranndan takip edilir.

15

2.1.2 Haberleme Kart Haberleme kart, sunucu bilgisayarn seri portuna balanmtr. stemci bilgisayardan gelen komutlar COM1 portu zerinden bu karta iletilir. Haberleme kartnn grevi, seri porttan ald komutlar, zerinde bulunan RF verici entegresi ile mobil robota iletmektir. 2.1.3 Mobil Robot zerindeki Kontrol Kart Mobil robot zerindeki kontrol kart, RF alc, PIC16877A ve dc motor src entegresinden olumaktadr. RF alcdan mikrodenetleyiciye gelen bilgiye bal olarak mobil robotun hareketi salanmaktadr. Mobil robot zerinde kontrol kart, iki adet dc motor ve ak bulunmaktadr. Mobil robot, kontrol kartnn ald bilgi dorultusunda ileri, geri, ileri saa, ileri sola, geri saa, geri sola olmak zere alt deiik hareket kabiliyetine sahiptir. Yukarda sistemi oluturan bileenlerin yap ve grevleri ksaca anlatlmtr. Daha sonraki blmlerde bu bileenlerle ilgili ayrntl bilgiler verilmitir. 2.2 Sistemin alma Prensibi Sunucu ve istemci bilgisayarlar arasnda, kontrol program araclyla TCP/IP protokol kullanarak internet balants kurulur. Ardndan COM1 seri portu RF haberlemesi iin kurulur. Bu sayede istemci tarafndaki kullancnn gnderdii komutlar, sunucu bilgisayarn seri portu ve seri porta bal haberleme kart zerinden kontrol kartna aktarlr. Kontrol kart zerindeki mikrodenetleyici, gelen komutlara bal olarak dc motor kontroln salar ve mobil robot istenilen hareketi gerekletirir.

16

3.

SUNUCU-STEMC KONTROL YAZILIMI

Bu blmde robot kontrol iin gelitirilen sunucu-istemci tarafl alan program ayrntl olarak anlatlmaktadr. Kontrol program, nesne ynelimli bir dil olan C++ ile yazlmtr. Gl bileen (component) yaps nedeniyle Borland firmasnn Borland Developer Turbo C++ Builder program derleyici olarak seilmitir. Uzaktan kontrol program, kullancya kullanm kolayl salayacak ekilde tasarlanmtr. zerindeki men ubuu, kullancnn alternatif kullanmlarn da gzeterek oluturulmutur. Program arayznde sunucu ve istemci taraf birlikte bulunmaktadr. Bunun nedeni projenin gelitirilmesi esnasnda, sunucu ve istemci aamalarnn beraber takip edilebilmesidir. Dier bir nemli taraf ise programn ykl olduu bilgisayarn hem sunucu hem de istemci eklinde alabilmesidir. Bu sayede proje, ileri aamalara kolayca tanabilecektir. Programn ana blmlerini anlatmaya balamadan nce, internet zerinden haberleme kurallarn belirleyen, TCP/IP protokol kmesi hakknda ksa bilgi verilmitir. Okuyucunun bu protokoller hakknda bilgi sahibi olmas; programn, internet zerinden kurduu balant prensibini daha ak bir ekilde anlamasna yardmc olacaktr. 3.1 TCP/IP ve IP Bu blmde, programn sunucu ve istemci taraflarn internet balants esasn salayan TCP/IP ve IP protokolleri anlatlmtr. 3.1.1 TCP/IP Protokol, belli bir iin yapln dzenleyen kurallar btn olarak tanmlanabilir. TCP/IP de internet zerinden salanan balantlarn kurallarn ieren ve bu kurallar erevesinde balant kurulmas esasna dayanan bir protokoldr. Btn networkler iin gelitirilmitir. Bilindii zere en geni alardan biri de internettir. Bunun gibi byk alarn ynetilebilmesi dikkat istemektedir. Bundan dolay geni ve farkl zelliklerdeki alarn bamsz olarak ynetilmesi ve gelitirilmesi gerekmektedir. TCP/IP buna uygun bir protokoldr. TCP/IP protokolnn temelleri, A.B.D Savunma Bakanl ARPA projesi olarak 1970'lerde atlmtr. Bu nedenle bazen drt katmanl DoD modeli olarak da adlandrlmaktadr. Dier bir model olan OSI modelde ise TCP/IP modele karlk yedi katmandan bahsedilir. Aslnda TCP/IP protokol diye adlandrmak ok doru deildir. Bunun nedeni; TCP/IP ok sayda protokol ve yardmc programlardan oluan bir protokol kmesidir[1]. ekil 3.1deki emadan TCP/IP model ile OSI model katmanlar ve bu katmanlara karlk gelen protokoller gsterilmitir.

17

ekil 3.1 TCP/IP ve OSI modellerinin karlatrlmas[7]. TCP/IP'de, yollanan veriler katmanlara gre paketlenerek yollanr ve alcda bu paketler teker teker alp veri ulatrlr. Bu yntem, yollanan veri, yollama ekli ve yollama yolunu birbirinden ayrarak birlikte almay kolaylatrr. Katmanlar, OSI ve DoD standardna gre drt veya yedi ekilde alabilir. TCP/IP, DoD modeli temelinde gelitirildiinden drt katmana ksaca deinilmitir. Uygulama katmannda, veriyi gndermek isteyen uygulama ve kulland dosya format bulunur. HTTP zerinden HTML formatnda yazlm bir web sayfas bu katmana rnek verilebilir. Tama katmannda, verinin ne ekilde gnderildii gsterilir. TCP veya UDP gibi protokoller bu katmandadr. Bazen IP katman olarak da anlan a katman, IP adreslerinin veriye eklendii noktadr. Bu katmandaki uygulamalar IP veya IPv6 gibi iletiim protokolleri olabilecei gibi ICMP, IGMP veya ARP gibi durum bildirme ve katmanlar aras ba protokolleri de olabilir. En alt katman olan fiziksel katmanda ethernet, modem, ATM gibi protokoller bulunur[8]. 3.1.1.1 TCP Protokol TCP protokol, iki bilgisayar arasnda veri transferi yaplmadan nce balantnn kurulmas ve veri iletiminin garantili olarak yapld connection-oriented olarak adlandrlan bir protokoldr. TCP iletiiminde veri paketleri kullanlr. Ayrca gnderen ve alan uygulamalarda da port bilgisi eklenir. k (port), kaynak ve hedef uygulamann iletiimini salar. TCP protokolnn veri iletiim esnasnda kulland kurallar btn, izelge 3.1den incelenebilir. Verinin gnderildii hedef bilgisayarn port numarasn destination port belirtir. Datann segmentlere blnp gnderilmesinden sonra, tekrar birletirilmesi iin ihtiya duyulan numara sequnce number olarak tanmlanr. Bir sonraki hangi TCP soktetinin beklendiini ackknowlegment number kural belirler. Balk bilgisi ierisinde yer alan 32 bitlik kelimeleri head lenght ifade eder. Reserved kural her zaman 0 deerini alr. Bir oturumun kurulmas ve bitirilebilmesi iin kullanlan code bits fonksiyonudur. Window, octet cinsinden gnderici bilgisayarn kabul ettii pencere bykl olarak tanmlanmaktadr. Checksum, CRC header ve data alanlarn kontrol eden iletiim kuraldr. Acil veri sorununu urgent pointer belirler. Options kural ise maksimum TCP segment byklne 0 ile 32 aras bir deer atar. izelge 3.1 TCP protokolnn tama katmannda kulland kurallar. Source port (16) Destination port (16)

Sequence number (32) Ackknowlegment number (32) Header lenght (4) Reserved (6) Code bits(6) Window (16) Checksum (16) Options ( 0 veya 32 ) Data Urgent (16)

18

3.1.1.2 UDP Protokol UDP de TCP gibi bir tama katman protokoldr. Ancak UDP iletiminde verinin alnp alnmadna dair dorulama (authentication) yaplmad iin gnderim garantisi olmaz. Daha hzl bir protokol olmasna ramen gvenilir bir haberleme protokol deildir. izelge 3.2 UDP Protokolnn tama katmannda kulland kurallar. Source port (16) Destination port (16) Gvenli bir balant dk olmasna ramen katman olarak seilmitir. Lenght (16) Checksum (16) Data olduu iin, hz daha TCP protokol tama

3.1.2 IP Protokol IP, hedef bilgisayarn network zerindeki yerini bulur. Paketlerin adreslenmesi ve network zerindeki bilgisayarlar arasnda ynlendirilmesini salar. IP iletimi de UDP gibi gnderimin garanti edilmedii trde bir iletiim kurar. IP, iki bilgisayar paketlerinin de ynlendirilmesini salayan balantsz bir protokoldr. Balantsz (connectionless) olmas oturumun iletiimden nce kurulmamasyla ilgilidir. Bununla birlikte veri iletimindeki baar da garantili olmaz. letimin garantisi daha st dzey protokol olan TCP ile salanr. 3.1.2.1 IP Adresi IP adresi, belli bir aa bal cihazlarn, a zerinden birbirlerine veri yollamak iin kullandklar adrestir. nternet'e balanan her bilgisayara bir IP adresi atanr, dier bilgisayarlar bu bilgisayara bu adres ile ularlar. Bu sayede; iki farkl cihaz ayn yerel ada olmasa dahi, IP adresi birbirleri ile iletiim imkan salar. IP adresleri u anda yaygn kullanmda olan IPv4 iin 32 bit boyunda olup, noktalarla ayrlm 4 adet 8 bitlik sayyla gsterilirler. rnek bir IP adresi gsterimi 192.168.2.3 eklindedir. Burada nokta ile ayrlm her gruba oktet denir. Bu IP adresi, ikili biimde 11000000 10101000 00000010 00000011 eklinde gsterilebilir. IP adreslerinde iki adres sakldr. Birincisi a (network) adresi, ikincisi ise bilgisayar (host) adresidir[10]. IP adresleri dinamik ve statik olmak zere iki trldr. Statik IP adresleri zaman ierisinde deimez, her zaman ayn kalr. Bu tip adresleri daha ok sunucu trde alan bilgisayarlar kullanmaktadr. Bu sayede istemci bilgisayarlar, sunucu bilgisayar her zaman tanmlar ve ulaabilirler. Dinamik IP adresleri ise balant kopup tekrar internete balanldnda veya periyodik olarak deiebilir. Kontroll sistemlerde pek tercih edilmemektedir. 3.2 Seri Haberleme ve Port Kavram Telekomnikasyon ve bilgisayar tekniklerinde seri haberleme, iletilmek istenen bilgiyi oluturan bitlerin, bir zaman diliminde tek bit olmak zere srayla kar tarafa bir iletiim kanal veya donanm veri yolu ile iletilmesi anlam tamaktadr. Eger veri, bir zaman diliminde sadece bir ynde aktarlyorsa half-duplex, ayn zaman diliminde her iki ynde aktarlyorsa full-duplex olarak adlandrlr.

19

ekil 3.2 Senkron seri iletiim rnei*. Seri iletiim, haberleen taraflar arasnda, protokol olarak adlandrlan kurallar erevesinde gerekletirilmektedir. Verinin nasl paketlenecegi, bir karakterdeki bit saysn verinin ne zaman baslayp bitecegi gibi bilgiler, protokol ile belirler. Asenkron ve senkron olmak zere iki tr seri haberleme protokol bulunmaktadr. Senkron gnderimde, haberleen aygtlar ayn saat sinyali darbelerini kullanr. Saatin frekans sabit ya da dzensiz aralklarla degisken olabilir. letilen her bit, bir saat darbesi geiinden sonraki belirli bir zamanda geerli olur. Senkron bir seri haberleme rnei verilen ekil 3.2den de grlecei zere senkron gnderimde, veri gnderimi iin 3 kablo gerekmektedir. Asenkron haberlemede iletimi balatan start ve iletimin bittiini belirten stop bitleri haberleme anlamasn salar. Bu yzden belli bir clock sinyali, asenkron seri iletiimde gerekmemektedir. Bu sayede, senkronizasyonu salayan clock sinyali iin ekstra bir kablo kullanlmas gereklilii ortadan kalkmaktadr. Uzak mesafeli iletiimlerde asenkron seri iletiim, senkron seri iletiime gre tercih edilmektedir. ekil 3.3de asenkron seri iletiim rnei verilmitir.

*

Resim http://www.ee.nmt.edu sitesinde bulunan resimden esinlenilmitir.

20

ekil 3.3 Asenkron seri iletiim rnei. Seri haberlemede veri aktarm hz, saniyedeki bit says (bps) olarak belirtilir. Veri aktarm hzn belirlemede yaygn olarak kullanlan diger terim ise baud ratetir. Bilgisayarla d aygtlar arasndaki kablo ile iletiimi salayan veri kanallarna port ad verilir. Portlar, seri (COM) ve paralel (LPT) olmak zere iki temel ksmda incelenir. SCSI, USB, PCMCIA gibi ayn anda birden fazla d aygtn bilgisayara balanabilmesine olanak tanyan portlar bulunmaktadr[8]. Bilgisayarlarn, adan ulaldnda gelen mesajlar depolamasi iin bellek zerinde brakt ama network dilinde rakamlarla(0-65535) ifade edilen alan da port olarak tanmlanmaktadr. nternet zerinden yaplan haberlemelerde, portlardan dinleme (data beklenir) ve gnderme ilemleri gerekletirilir. rnein 80 numaral port HTTP iin ayrlmtr. Web sitesi yaynlama ve gsterim, bu port zerinden gerekletirilir. 0 ile 1024 ve aras portlar, standart olarak zel kullanma sahip portlardr. Bundan dolay zel uygulamalar gerekletirirken, haberleme portlar olarak 1024ten byk portlar semeye zen gstermek gerekir. Bir uygulama iin kullanlan port, ayn zamanda ikinci bir uygulamann bu port zerinden dinleme ve gnderim yapmasna izin vermeyecektir. 3.2.1 Seri Port ve RS232 Standard Seri port, bilgisayara dier aygtlarlarn baland, seri iletiim iin tasarlanm fiziksel bir ara yzdr. Kiisel bilgisayarlarn tarihi boyunca terminaller veya modemler gibi cihazlar ile bilgisayarlar arasndaki veri transferi ounlukla seri balant noktalar zerinden salanmtr. Fare, klavye ve dier evre birimleri de bu yolla bilgisayara balanmaktadr. Seri port zerinden haberlemeyi, "UART" ad verilen bir tmleik devre salamaktadr. Bilgisayarlarda kullanlan seri port genellikle RS232 standardnda retilmektedir[8]. Deiik reticiler tarafndan yaplm veri haberleme cihazlarnn uyumluluunu salamak amac ile EIA tarafndan 1960 ylnda RS232 olarak adlandrlan standart belirlenmitir. RS232 standard lojik 0 ve 1 gerilim seviyeleri farkl olmak zere RS232A, RS232B ve RS232C isimlendirilen gruba ayrlmtr. Kiisel bilgisayarlarda, RS232C yaygn olarak kullanlmaktadr. Lojik gerilim sevileri; lojik 1 iin -3V ile -12V, lojik 0 iin +3V ile +12V arasnda belirlenmitir.

ekil 3.4 RS232 DB-9 konnektr[11]. Balangta RS232 standard 25 pin ile tanmlanmt. Modern bilgisayarlarda ihtiya duyulmayan pinler kartlarak, IBM tarafndan ekil 3.4te grlen konnektre sahip DB-9 standard gelitirilmitir[11]. Seri port pin numaralar ve ingilizce tanmlamalar izelge 3.3te verilmitir. DCD pini, balant yaplacak olan cihazn veri iletiimine hazr olup olmadn ya da bu cihazn iletiim iin alp almadn denetler.

izelge 3.3 RS232 DB-25 ve DB-9 pin tanmlamalar.

21

DB-9 DB-25 Pin Numaralar Pin Numaralar 1 8 2 3 3 2 4 20 5 7 6 6 7 4 8 5 9 22

Pin Tanmlamalar Data Carrier Detect (DCD) Received Data (RxD) Transmit Data (TxD) Data Terminal Ready (DTR) Signal Ground (SG) Data Set Ready (DSR) Request To Send (RTS) Clear To Send (CTS) Ring Indicator (RI)

RxD ve TxD pinleri data alm ve gnderim pinleri olarak tanmlanmtr. Bilgisayara seri porttan bal olan aygt tarafndan gnderilen seri datann alnd pin, RxD olarak tanmlanmtr. TxD pini ise bilgisayardan kar aygta seri verinin gnderilmesi iin kullanlmaktadr. DTR pininden, gnderilecek datann hazr olduunu kar aygta bildiren sinyal gnderilir. DSR pini ise aygt tarafndan gnderilecek olan datann hazr olduunu, bilgisayara bildiren sinyal gnderir. SG pini, mantksal toprak pinidir. Dier sinyallerin lojik gerilim seviyeleri bu pinin referansna bal olarak belirlenir. RTS pini, bilgisayardan aygta, data gnderme istei olduunu belirtir. CTS pini ise seri portun veriyi gndermek iin hazr olup olmadn belirler. 3.2.2 Seri Port letiim Ayarlar Seri port, zerindeki UART tmleik entegreden dolay sadece asenkron seri iletiime izin vermektedir. Bilgisayar ve seri porta bal aygtn, iletiim kurallar yazlm yoluyla belirlenmektedir. Bilgisayar ve aygtn ayn kurallar dorultusunda koullanmas gerekmektedir. Bu kurallar arasnda en nemli koullamalar; hzn ayarlanmas, karakter bana veri biti says, elik ve karakter bana durma bitlerinin says belirtilebilir. Seri port zerinden yaplacak iletiim hznn, hem bilgisayarda hem de aygtta ayn olmas gerekmektedir. Veri biti says, yazlm yoluyla koullanmas gereken dier bir kuraldr. Veri biti says 5, 6, 7, 8 ve 9 olarak seilebilir. Veri biti says, yaygn olarak 8 bits(1 byte) seilmektedir. 5 bitslik veriler zel bir uygulama olan baudot kodu iin kullanlmaktadr. 7 bitslik veriler ise ASCII kodlar iin kullanlmaktadr. 6 ve 9 bitslik veri says nadiren kullanlmaktadr. Elik biti (Parity bit), iletim esnasnda ortaya kan baz hatalar saptama amacyla kullanlmaktadr. Seri bir balant noktas ile birlikte kullanldnda, her veri karakteri ile birlikte bir de fazladan veri biti gnderilir. Gnderilen bu veri biti, her bir karakterin ierisinde bulunan lojik 1 bitlerin says, elik biti de dahil olmak zere, her zaman tek veya her zaman ift say olacak ekilde ayarlanr. Eer hatal bir 1 bitlik saysna sahip bir bayt alnrsa, bu baytn bozuk olduu anlalr. Eer elik doruysa, ortada hata yok veya ift sayl bir hata yok anlam kar. Serinin elii bo(N), tek say (O), ift say (E), iaret (M), veya boluk (S) olabilir. Boun anlam hi bir elik bitinin gnderilmediidir. En ok grlen elik ayar, bodur ve hata saptamas ilemi protokoln daha yksek seviyelerinde gerekletirilir. Alc donanmn tekrar senkronize olabilmesi iin gnderilen her baytn sonunda durma bitleri gnderilir. Elektronik cihazlar genellikle tek bir durma biti kullanr. Seyrek olarak da zellikle

22

teleprinterlar gibi yava cihazlar kullanldnda , bir buuk veya iki durma bitine gerek duyulur[8]. 3.3 Uzaktan Kontrol Program Sunucu Taraf Sunucu taraf, mobil robotun bulunduu bilgisayar tarafnda almaktadr. stemci bilgisayarn, sunucu tarafndaki bilgisayara internet zerinden balant yaplabilmesini ve seri porta ulamasn salamaktadr. Sunucu tarafnda, ekil 3.5ten de grlecei zere Sunucu Port Balants ksm yer almaktadr. Bu ksmda port yazan yere, istemci tarafla balant kurulup, veri aknn salanaca port yazlr ve hemen altnda yer alan Balan butonuna baslr. Balan butonuna basld andan itibaren, deeri yazlm porttan dinleme balam olur. Sa tarafta grlen metin kutusu ise istemci tarafndan gelen verilerin ve isteklerin grlmesine olanak tanmaktadr. Network portu, dinlemeye alndktan sonra balan butonu Balanty Kes grnmne geer. Bu butona tekrar basldnda, port dinlemesi sunucu tarafndan braklm olur ve gelen istekler programa ulamaz.

ekil 3.5 Uzaktan Kontrol program sunucu taraf grnm. Sunucu tarafn dier bir grevi ise bilgisayarn COM1 portunu, seri haberlemeye amasdr. stemci taraftan gnderilen seri iletiim kurallarna gre, sunucu bilgisayarn seri portu iletiime alm olacaktr. Program internet andaki iki bilgisayara ykledikten sonra baz ayarlarn yaplmas gerekmektedir. ncelikle firewall programlarna programn gvenilir bir yazlm olduunu belirtmek gerekir. rnein Kaspersky Internet Security program, bnyesindeki anti-hacker

23

yazlm ile internet eriimi yapan herhangi bir yazlmn port kullanmlar engellemektedir. Ayrca Windows iletim sisteminin gvenlik duvarna da programn gvenilir bir yazlm olduunu tantmak gerekmektedir. Server ve Client programlarnn sorunsuz iletiim kurabilmesi iin dikkat edilmesi gereken dier bir nokta ise server tarafnda port ynlendirme (port-forwarding) yaplmasdr. Gnmzde internet eriiminde kullanlan modemlerin gelimesiyle birlikte, gml firewall ve ynlendirme yazlmlar bulunan modemler retilmektedir. USB modemlerde bu sorunla karlalmayacaktr. Airties RT-101 modemde yaplan rnek bir port ynlendirme ve iletiim izni, ekil 3.6dan incelenebilir.

ekil 3.6 Port Forwarding ile ilgili bir rnek. 3.4 Uzaktan Kontrol Program stemci Taraf stemci taraf, sunucu taraftaki mobil robotu kontrol edebilmek iin internet anda herhangi bir yerde altrlmaldr. Grevi, sunucu tarafla internet balantsn kurmak ve mobil robotun kontrol iin gerekli ayarlarn kar tarafla uyumlu olarak yaplmasn gerekletirmektir. Client tarafnda, ekil 3.7de grlen stemci Balants blm, sunucu bilgisayarn internet zerindeki yerinin yazlp balant kurulmasn salamaktadr. Port etiketinin yanndaki ilgili metin kutusuna, sunucu tarafn dinlemeye ald a (network) portu yazlmaldr; aksi taktirde sunucu tarafla balant kurulamayacaktr. Host etiketinin yanndaki ilgili metin kutusuna, sunucu tarafn geni a (WAN) IP adresi yazlmaldr. Eer yerel bir ada kontrol yaplacaksa bu ksma yerel a (LAN) IP adresi de yazlabilir. Adress etiketinin yanndaki metin kutusuna yerel IP adres yazlabilir. Fakat ada tek sunucu varsa, bu ksmn bo kalmas iletiime engel tamayacaktr. Deerler doru bir ekilde yazlp Balan butonuna baslrsa ve sunucu taraf portu dinlemeye almsa balant kurulacaktr.

24

ekil 3.7 Uzaktan Kontrol program istemci taraf grnm. stemci balants blmnn altndaki log metin kutusu, istemci tarafn gerekletirmi olduu eylemleri ekranda gstermeye yarar. stemci taraf, Port COM1 ve Robot Kontrol ksmlarndan olumaktadr. 3.4.1 Port COM1 Blm Bu blm, sunucu taraftaki seri portun iletiime alaca kurallarn ayarlanabilmesi iin oluturulmutur. Port COM1 blmnn grnm, ekil 3.7den incelenebilir. Bu ayarlarn ne anlama geldii, seri portun iletiim ayarlar blmde detayl olarak aklanmtr. Ayarlar yapldktan sonra panelin sa tarafnda bulunan Port A butonuna baslarak sunucu tarafn seri portu iletiime alm olacaktr. stendii taktirde sunucu tarafla internet a kesilmeden, sunucu-istemci arasndaki seri port iletiimine Port Kapat butonu ile son verilebilir. 3.4.2 Robot Kontrol Blm Robot Kontrol paneli, internet balantsnn kurulup seri portun iletiime almasnn ardndan, mobil robotun kontroln salayan blmdr. Mobil robotun kontrolnde kullanlan butonlar ekil 3.8de grlmektedir.

25

ekil 3.8 Uzaktan Kontrol program stemci-Robot Kontrol taraf grnm. Mobil robotun alt deiik ynde hareketini tanmlayan oklara basldnda, mobil robot zerindeki kontrol kartna ASCII deerinde iki bytes n veri, ardndan da bir byte kontrol verisi seri porttan RF araclyla gnderilmektedir. Ok tularnn ortasndaki buton mobil robotun hareketini durdurmaktadr. Panelin sa tarafnda grlen metin kutusu ile sunucu tarafa metin gnderilebilir ve nceden gnderilen metinler gzlemlenebilir. Ayrca kullanc istedii taktirde klavye ksayol tularn aktifletirip, kontrol klavyeden de yapabilmektedir. 3.5 Uzaktan Kontrol Yazlmnn Gereklenmesi Uzaktan kontrol program, Borland firmasnn Borland Developer Turbo C++ Builder programnda oluturulmutur. Program kodlar Ek 1de verilmitir. Program yazlrken, Borland firmasnn gelimi bileen (component) snflarndan yararlanlmtr. Sunucu ve istemci arasnda balant kurulabilmesini salayan Borland componentleri, TCP/IP protokol kmesi zelliklerini salayan TServerSocket ve TClientSocket bileenlerdir. stemci arayznde, seri portun bal olduu COM1 portuna kurulacak balantnn zelliklerinin dzenlenecei Port COM1 blm tasarlanmtr. Borland firmasnn, seri port ile salanacak balantda kullanlmak zere bir bileene sahip olmamas nedeniyle seri port balants iin Port.h isimli bir header dosyas oluturulmutur. Header dosyas kodlarna Ek 2den ulalabilir.

26

4.

HABERLEME KARTI

Bu blmde, sunucu tarafndaki bilgisayarn seri portundan ald bilgiyi, mobil robot zerindeki kontrol kartna aktarmakla ykml olan haberleme kart hakknda bilgi verilmitir. Haberleme kart 9 V pil ile almaktadr. Gerilim reglatr (7805) entegresiyle devre elemanlarna uygun gerilim (5 V) salanmaktadr. 4.1 RF letiimi Radyo frekans (RF) haberlemesi, elektromanyetik dalgalar yoluyla gerekletirilir. Haberleme yaplan frekans band, telekomnikasyon kurumunun belirledii frekans tahsis tablosuna gre seilir. Rastgele bir frekansta (rnein FM band ierisinde), RF kontrol ilemi gerekletirmek uygun olmaz. Telekomnikasyon kurumu tarafndan yaynlanan "ksa mesafe eriimli telsiz cihazlarnn kurma ve kullanma esaslar" hakkndaki ynetmelikte, kurumun kabul ettii standart ve teknik zelliklere uygun olmak kaydyla hangi frekans bantlarnda ruhsatsz ve izinsiz olarak yayn yaplabilecei belirtilmitir. Buna gre, UHF bandnn 433.05MHz ile 434.79 MHz frekanslar arasnda 10mW verici gcn amamak kouluyla RF haberleme yaplabilir. Piyasada, bu frekans bandnda alan RF modller rahatlkla temin edilebilmektedir. Bylece, lamba, garaj kaps, robot kolu gibi dzeneklerin uzaktan kontroln gerekletirmek mmkndr. Uzaktan kontrol sistemlerinde bilgi sinyali, ifrelenerek ortama iletilir. Bu sayede, ayn frekans bandn kullanan dier alc sistemlerin bu sinyalden etkilenmemesi salanr. ifreleme ilemi, zel kodlayc-kod zc entegreler ile yaplabilecei gibi, mikrodenetleyici kullanlarak yazlm ierisinde de yaplabilir*. RF haberlemesinde modl seimi ihtiyaca ynelik dnlmelidir. FSK modlasyon ynteminin zellikle grltl ortamlarda ASK'ya oranla daha iyi performans gsterdii bilinmektedir, bu yzden FSK kullanm zellikle ift ynl veri iletimi gereken durumlarda daha ok kullanlagelmektedir. 4.2 Haberleme Kart Devre Elemanlar ve Aklamalar Bu blmde haberleme kartnda kullanlan elemanlar ayrntl olarak anlatlmtr. 4.2.1 ATX-34S RF Verici Entegresi2 ATX-34S entegresi, UDEA firmasnn retmi olduu verici RF entegresidir. Haberleme kartndaki grevi, bilgisayardan ald veriyi kontrol kartna aktarmaktr. ekil 4.1de RF verici entegresinin grnm verilmitir.

* 2

http://www.biltek.tubitak.gov.tr/merak_ettikleriniz/index.php?kategori_id=20&soru_id=4749 Bu blm, ATX-34S entegresini reten UDEA firmasnn web sitesindeki bilgilere gre dzenlenmitir.

27

ekil 4.1 ATX-34S RF verici entegresi. izelge 4.1de ATX-34S RF verici entegresinin pin tanmlamalar verilmitir. izelge 4.1 ATX-34S RF verici entegresinin pin tanmlamalar. Pin No 1 2 3 4 Pin-smi I/O Aklama Vcc - +5V DC besleme terminali DIN I Dijital input GND - Toprak ANT O 50 impedans anten balant noktas.

izelge 4.2de ATX-34S entegresinin teknik zellikleri verilmitir. izelge 4.2 ATX-34S entegresinin teknik zellikleri Typ. Max alma Frekans 433.920 Data Rate 0.3 2.4 Output RF power 10 Besleme Voltaj 5 12 Akm Sarfiyat 6.5 Lojik 0 DI Voltaj 0 0.1xVcc Lojik 1 DI Voltaj 0.8xVcc Vcc alma Scakl -10 +55 Min. Unit Mhz Kbit/s dBm V mA V V C Not 200 Khz @5V & CW Power Max ripple 100mV @5V ETSI 300 220

28

RF verici modlde, digital data girii iin DIN pini bulunur. DIN pini RF ile gnderilecek sinyallerin kullanc tarafndan verildii giritir. Alc ve verici modllerin arasnda RF seri iletiim protokol uygulanmaktadr. Bir anten basite zerinde degiken akm tayan bir tel veya iletken olarak tanmlanabilir. Bu ekildeki deiken bir akm, ortama elektromanyetik alan yayar ve belli yaknla yerletirilmi ikinci bir iletken zerinde orjinal deiken akmn ayn formda zayf bir kopyasn endkler. RF verici entegresinde kullanlabilecek en basit anten, eyrek dalga boyu uzunluunda bir iletken kablodur. (4.1) Denklem 4.1de entegrenin alma frekans ve k hz yerine konulup dalga boyu bulunabilir. Buradan da, ATX-34S verici entegresinde kullanlacak eyrek dalga boylu anten uzunluunun 17.3 cm olmas gerektii grlecektir. 4.2.2 MAX232 Entegresi MAX232 entegresi, EIA-232 protokol ile TTL/CMOS uyumlu entegrelerin gerilim seviyelerinin uyumlu alabilmesi iin retilmitir. MAX232 entegresinin pin numaralar ve pin isimleri ekil 4.2de grlmektedir.

ekil 4.2 MAX232 entegresinin stten grn3. erisinde drt tane gerilim dntrcs vardr. Bunlardan ikisi transmitter(alc), dier ikisi de receiver(verici) olarak adlandrlmaktadr. Bu dntrcler, gerilim seviyesi dntrmesinin yannda izelge 4.3ten de grlecei zere, inverter(tersleyici) grevi de yapmaktadrlar. izelge 4.3 MAX232 verici/alc pin lojik fonksiyonlar. Transmitter Transmitter Transmitter Transmitter Inputs Outputs Inputs Outputs High Level Low Level High Level Low Level Low Level High Level Low Level High Level Her bir verici, girilerine balanan EIA-232 pinlerinin gerilim seviyelerini 5V TTL/CMOS gerilim seviyelerine dntrerek klarndan vermektedir.3

Texas Instruments MAX232 datasheet kataloundan alnmtr.

29

Her bir alc, girilerine balanan 5V TTL/CMOS gerilim seviyelerini EIA-232 gerilim sevilelerine dntrerek klarndan vermektedir. 4.3 Haberleme Kart Devresi Proteus programnda izilen haberleme kart devre emas ekil 4.3te verilmitir. Haberleme kart, RS232 balants olmadnda 7,6 mA; RS232 balants yapldnda data gndermediinde 22,5 mA, data gnderiminde ise 17,5 mA akm sarfetmektedir.

30

ekil 4.3 Haberleme kart devre emas.

31

5.

KONTROL KARTI

Bu blmde, haberleme kartndan gelen bilgiyi alarak mobil robotun hareketini gerekletirmekle ykml kontrol kart hakknda bilgi verilmitir. 5.1 Kontrol kart Devre Elemanlar ve Aklamalar Bu blmde haberleme kartnda kullanlan elemanlar ayrntl olarak anlatlmtr. 5.1.1 Mikrodenetleyici ve PIC 16F877A Mikrodenetleyici, bir bilgisayarn temel zelliklerini ieren tek bir silikon klf ierisinde toplanm bir tmdevre olarak dnlebilir. Genel olarak bir mikrodenetleyici, bir mikroilemci ekirdei, program ve veri bellei, giri/k birimleri, saat darbesi reteleri, zamanlayc/sayc birimleri, kesme kontrol birimi, analog-dijital ve dijital-analog eviriciler, darbe genilik reteci, seri haberleme birimi ve daha zel uygulamalar iin kullanlan dier evresel birimlerden meydana gelmektedir. Mikrodenetleyici temel olarak drt bileenden olumaktadr. Bunlar mikroilemci, bellek, giri/k birimi ve saat darbe retecidir[5]. 5.1.1.1 Mikrodenetleyici Mimari zellikleri Mikroilemci ve mikrodenetleyiciler bellek kullanm asndan Von Neuman ve Harvard; komut ileme asndan ise RISC ve CISC olarak adlandrlan mimariler baz alnarak tasarlanrlar. Program bellei, program alrken kullanlacak kodun sakl tutulduu hafza alandr. Veri bellei, alma esnasnda saklanmas gereken verilerin tutulduu bellek alandr. Von Neuman mimaride, program ve veri bellekleri ayn yapnn iindedir. Harvard mimarisinde ise program ve veri bellekleri ayr yaplar olarak tasarlanmtr. Balangta Von Neuman mimari yaps kullanlmasna ramen, gnmzde Harvard mimarisi yaygnlk kazanmtr. Karmak komut kmeli bilgisayar anlamna gelen CISC(Complex Instruction Set Computer) mimaride donanmn, her zaman yazlmdan daha hzl alt gerei temel alnmtr. CISC mimarisinde her ilem iin farkl bir komut oluturulmutur. Bu, programlayc asndan daha ksa programlar yazarak sonuca ulamak anlam tasa da karmak donanmsal yaps, mimarinin dezavantaj olmaktadr. Azaltlm komut kmeli bilgisayar anlamna gelen RISC(Reduced Instruction Set Computer) mimaride ise daha basit ve az sayda komutlar kullanarak tmdevre karmakl azalmtr. RISC mimaride kullanlan daha az, basit ve hzl komutlar, uzun, karmak ve daha yava CISC komutlarndan daha verimlidir. 5.1.1.2 PIC16F877A zellikleri Microchip firmasnn retmi olduu PIC16F877A mikrodenetleyicisi, PIC16FXXX ailesinin bir yesidir. Komut ileme asndan RISC mimari, bellek kullanm asndan Harvard mimarisi tercih edilerek tasarlanmtr. Bu mikrodenetleyicinin genel zellikleri izelge 5.1den incelenebilir. izelge 5.1 PIC16F877A genel zellikleri. zellikleri alma hz Program bellei PIC16F877A DC-20 Mhz 8Kx14 words Flash bellek

32

Veri bellei(RAM) EEPROM veri bellei Giri/k port says Timer/Counter

368x8 bytes 256x8 bytes 33 Timer0, Timer1, Timer2

2x Capture, Compare ve PWM 16bits, 16 bits, 10 bits Modlleri Seri evresel Arayz SPI(Master mod) ve I2C(Master/Slave) SPI port(senkron seri port) USART/SCI 9 bits adresli Parallel slave port Analog zellii 8 bits, harici RD,WR ve CS kontroll 10 bits 8-kanal A/D evirici

Mikrodenetleyicide, 15 farkl olay iin interrupt(kesme) zellii tanmlanmtr. Ayrca 8 katl tasarlanm stack(yn) yaps i ie sekiz alt program arlmasn mmkn klmaktadr. PIC16F877A mikrodenetleyicisinin bellek yaps ayr bloktan oluur. Flash bellek, uzun mrl, fakat mikrodenetleyiciye yazma sresi uzun olan, programn kayt edildii bellektir. Programlarn kulland deikenler iin kullanlan bellek alan ise statik RAM bellektir. RAM bellek, enerji kesildiinde sahip olduu verileri kaybeder. Son bellek blou ise yazlmas ayrca bir programlama teknii gerektiren EEPROM bellektir[4]. Mikrodenetleyicide tm aritmetik ve lojik ilemlerin gerekletirildii kaydediciye akmlatr denilmektedir. PIC16F877A mikrodenetleyicisinde bu grevi W kaydedicisi yapmaktadr. Merkezi ilem birimi tarafndan yrtlecek komutun adresini tutan zel tanml kaydediciye program sayac denir. 5.1.1.3 PIC16F877A Pin Tanmlamalar Mikrodenetleyici 33 adet giri-k pinine sahiptir. 40 pinli PDIP paketi ekil 5.1de grlmektedir.

33

ekil 5.1 PIC16F877A 40-pinli PDIP grnm[14]. Giri-k pinleri dndaki pinler besleme gerilimi, osilatr, reset(MCLR) gibi mikrodenetleyicinin almas iin gerekli donanma ayrlmtr. PIC16F877A mikrodenetleyicisinin MCLR balants, reset ve programlama anlarn normal almadan ayrmaya yarar. Mikrodenetleyici, bu pinine 5V verildii andan itibaren iindeki program altrma moduna girer. 13V verildiinde iine yeni program yklenmeye hazr hale gelir, topraa balanrsa mikrodenetleyici resetlenir. Vss baca toprak giriidir, Vdd baca 5V besleme giriidir. OSC1 ve OSC2 pinleri mikrodenetleyicinin alma frekansn belirleyen kristal veya RC osilatr balants iin ayrlmtr. PORTA 6 bitslik hem giri hem k zelliine sahip bir porttur. TRISA kaydedicisinde, 1 olarak belirlenen bitlerin karl olan port pinleri giri, 0 olarak belirlenen bitlerin karl olan port pinleri k olarak tanmlanr. PORTA, yeni bir veri gnderilene kadar eski veriyi zerinde tutar. Mikrodenetleyici portlar birka ama iin kullanlabilmektedir. RA4 pini, TMR0 sayacna giri olabilecek ekilde seilebilmektedir. Bu utan, dier PORTA pinlerinden farkl olarak analog giri yaplamamaktadr. Ayrca bu pin, open-drain yapl olmasndan kaynakl k olarak koullamak istenirse, 5-10K arasnda bir diren ile besleme gerilimine pull-up yaplmaldr. Mikrodenetleyici resetlendiinde porta analog girii olarak kurulur. Dijital giri olarak kullanlmak istendiinde ADCON1 kaydedicisinde gerekli deiikliin yaplmas gerekir. PORTA giri olarak seildiinde darya 20mA verebilmekte veya 25mA ieriye akm akmasna olanak salamaktadr. PORTA pinleri, 1A akm ekerken, RA4 pini 5A akm eker. PORTB hem giri hem k zelliine sahip 8 bitslik bir porttur. RB3/PGM, RB6/PGC ve RB7/PGD pinleri programlayc veya devre zerinde hata ayklayc ular olarak da

34

seilebilir. PORTBnin en nemli zellii RB0 kesme girii ve RB4-RB7 arasnda pinlerin deiikliinde oluan kesme durumudur. RB0 kesme girii olarak kurulduunda istee gre, ykselen kenarda veya den kenarda bir kesme retebilmektedir. Portun dier bir zellii ise giri srasnda seenee bal olarak entegre ierisinden pull-up direnci kullanlabilmesidir. Bylece dardan diren balamaya gerek kalmamtr. PORTB k olarak ynlendirildiinde bu direnler kendiliinden iptal olur. PORTB ular programlama ve hata ayklama dndaki amalarda kullanldklar srece PORTAda olduu gibi TTL gerilim seviyelerinde alr. Giri olduunda ektii akm, k olduunda verebilecei akm PORTA ile ayndr. PORTC, mikrodenetleyicinin en ok zelliine sahip olan portudur. Tm giriler schmitttrigger tampona sahiptir. Bunun sebebi, tm pinlerin deiik seri haberleme fonksiyonlarna sahip olmasdr. Seri haberleme, eer TTL devrelerle yaplrsa kararsz blge olduka geni bir blgeyi igal ettii iin yanl veri aktarm daha olasdr. Bu portun TRISC kaydedicisi evresel zelliklerin doru kullanlabilmesi iin dikkatli bir ekilde koullandrlmaldr. PORTD ve PORTE genelde birlikte kullanlan iki porttur. Mikrodenetleyici veri yollaryla 8 bit paralel iletiim iin kullanlr. PORTD, 8 bit veri ve adres yolunu olutururken, PORTE kontrol ular olarak ayrlmtr. Tm giriler, paralel iletiim srasnda TTL seviyelerde, giri-k olarak kullanldnda schmitt-trigger seviyelerde alr. PORTE ayn zamanda PORTA gibi analog giri olarakta seilebilmektedir[4]. 5.1.2 ARX-34S RF Alc Entegresi4 ARX-34S entegresi, UDEA firmasnn retmi olduu verici RF entegresidir.

ekil 5.2 ARX-34S RF alc entegresi. Grevi, haberleme kartndan ald veriyi, PIC 16F877A mikrodenetleyicisine aktarmaktr. ekil 5.2de RF alc entegresinin grnm verilmitir. izelge 5.2de ARX-34S RF alc entegresinin pin tanmlamalar verilmitir.

4

Bu blm, ARX-34S entegresini reten UDEA firmasnn web sitesindeki bilgilere gre dzenlenmitir.

35

izelge 5.2 ARX-34S RF alc entegresinin pin tanmlamalar. Pin No 1 2 3 4 4 Pin-smi I/O Aklama ANT I 50 impedans anten balant noktas. GND - Toprak Vcc - +5V DC besleme terminali AOUT O Analog Output DOUT O Dijital Output

izelge 5.3de ARX-34S entegresinin teknik zellikleri verilmitir. izelge 5.3 ARX-34S entegresinin teknik zellikleri Typ. Max alma Frekans 433.920 Band Genilii 2 Data Rate 0.3 2.4 Duyarllk -108 Besleme Voltaj 4.9 5.1 Akm Sarfiyat 5 Lojik 0 DI Voltaj 0 0.1xVcc Lojik 1 DI Voltaj 0.8xVcc Vcc Rx on Time 10 alma Scakl -10 +55 Min. Unit Mhz Mhz Kbit/s dBm V mA V V ms C Not 200 Khz

Max ripple 100mV Max 5mA current source ETSI 300 220

RF alc modlde, digital data k iin DOUT pini bulunur. DOUT pini, RF yoluyla alnan sinyallerin demodle edilerek verildii ktr. Analog out pini, test amal bir ktr. Bu pinin knda demodle edilmi sinyal, 1,5V seviyenin zerine bindirilmi olarak grlr. Kullanlacak anten, haberleme kart blmnde anlatlan RF verici modldeki antenle ayn zellikleri tamaktadr. 5.1.3 DC Motorlar ve L298 Src Entegresi Elektrik enerjisini, mekanik enerjiye dntren elemanlara motor denir. Elektrik motorlar AC ve DC olmak zere snflandrlrlar. DC motorlar, almas ve kullanm bakmndan en kolay renilebilecek motorlardr. Bir mknatsn N ve S kutuplar arasna bir bobin yerletirilip, bobinden akm geirilirse iletken manyetik alann dna itilir ve bunun sonucunda bir hareket meydana gelir. Basit bir dc motor, bu prensibe gre alr[4].

ekil 5.3 Fral dc motor[15].

36

DC motorlari doru akm enerjisini hareket enerjisine evirirler. Bu tarz motorlar yapsna gre fral ve frasz olmak zere iki grupta incelenebilir. ekil 5.3te fral dc motor grlmektedir. DC motorlar mikrodenetleyicilere genellikle bir src devre ile balanrlar. Bunun nedeni mikrodenetleyicilerin motor iin gerekli akm salayamamasdr. Motor src devresi, mikrodenetleyici ve motor arasna uygun bir ekilde balanr. Mikrodenetleyici, src devreyi kontrol ederek motorun hzn ve ynn tayin edecektir. 5.1.3.1 L298 Src Entegresi L298 entegresi, yksek voltajda alabilen, yksek akml, standart TTL lojik sevilerle kontrol edilebilmekte ve rle, DC(dual full-bridge driver) ve step motor gibi endktif ykleri srebilmektedir. L298 entegresi ierisinde, ekil 5.3ten grlecei zere iki adet dc motoru iki ynl srebilecek 8 adet transistr bulunmaktadr. alma gerilimi 46Va kadar kabilmektedir. Toplam k akm 4Ae kadar kmaktadr. Dk satrasyon voltajna sahip olup, ar s korunmasna kar gvenilir retilmitir. 1,5Va kadar lojik 0 seviyesi olarak kabul etmektedir. A ve B src devrelerine sahiptir.

ekil 5.4 L298 entegresinin i yaps[16].

37

ekil 5.5 L298 src entegresinin grnm ve pin tanmlamalar[16]. L298 motor src entegresi, mikrodenetleyicili bir devrede kullanldnda; Vs pini DC motorun baland beslemenin pozitif ucuna, Vss pini ise mikrodenetleyicinin besleme geriliminin pozitif ucuna(+5V) balanmaldr. Enable pinleri, A ve B src devrelerinin aktif yaplmas iin kullanlr. Input1 ve input2 pinleri A src blounun, input3 ve input4 pinleri ise B src blounun kontrol pinleridir. SenseA ve senseB pinleri ise, motordan geen akm kontrol etmek amacyla kullanlr. izelge 5.4te giri pinlerine verilen lojik deerlere bal olarak dc motorun hareket ynleri verilmitir. izelge 5.4 Motor kontrolnde kullanlan alma modlar. Giriler Input1 = H; Input2 = L EnableA = H Input1 = L; Input2 = H Input1 = Input2 EnableA = L Input1 =X ; Input2 = X Input3 = H; Input4 = L EnableB = H Input3 = L; Input4 = H Input3 = Input4 lem leri Geri Hzl durma Bota alma/Durma leri Geri Hzl durma

EnableB = L Input3 =X ; Input4 = X Bota alma/Durma H = Lojik 1 L = Lojik 0 X = Dont Care

5.2 Kontrol Kart Devresi ekil 5.5te Proteus programnda izilen, kontrol kart devre emas verilmitir. Kontrol kart 7,2 V deerinde ak ile beslenmektedir. Mikrodenetleyici RF alc entegresinden doru data alm olup olmadn srekli kontrol etmektedir. Gelen bilgiye bal olarak, mikrodenetleyici, motor src entegresinin girilerine izelge 5.4deki deerleri uygulayarak dc motorlarn almasn kontrol etmektedir. Step motor, zerine monte edilmi olan kablosuz kamerann hareketini salamak iin yerletirilmitir. A portlarna bal konnektrlere, 20 ile 1500cm

38

arasndaki uzaklklar alglayp analog k veren sharp 2YOA02 sensrler balanmtr. Sensrlerin devreye yerletirilmesinin nedeni, kamerann internet zerinden grnty 2 ile 10 saniye arasnda gecikmeli aktarmasdr. Bu gecikme zamannda gezgin robotun herhangi bir engele arpmas bu sensrler yardmyla salanmaktadr. Gecikmeden kaynakl arpmalar engellemek iin nceden yazlmsal bir zm kullanlmt. Yazlmla kk ve byk alanlara bal olarak motorlarn alma srelerini ayarlayarak hareketin miktar belirlenmiti.

39

ekil 5.6 Kontrol kart devre emas.

40

5.3 Kontrol Kart Yazlm Mikrodenetleyici yazlm, MikroC for PIC derleyicisinde C dili temelli yazlmtr. Ktphanesinin zengin olmas ve programlaycya kullanm kolayl salamasndan dolay bu derleyici kullanlmtr. PIC16F877A mikrodenetleyicisinin USART modl kullanlmtr. Kontrol kart mikrodenetleyici yazlm cd ierisinde sunulmutur.

41

6.

SONULAR

Proje almasnn bitiminde, bilgisayarla RF araclyla haberleen mobil bir robotun internet zerinden kontrol salanmtr. stemci tarafa ykl uzaktan kontrol programyla, sunucu bilgisayara internet zerinden balant salanarak, seri porta bal haberleme kartndan mobil robot zerindeki kontrol kartna bilgi aktarlmtr. Kontrol kart, ald bilgiye bal olarak mobil robotun hareketini gerekletirmitir. Kontrol sistemi gereklenme srecinde ilk olarak, istemci ve sunucu bilgisayara yklenecek kontrol program yazlmtr. Program, C++ programlama diliyle yazlmtr. Programn sunucu ve istemci bilgisayarlar arasndaki internet balants iin TCP/IP protokol kullanlmtr. Seri porta eriim ise oluturulan header dosyas ile salanabilmitir. Kontrol programnn yazlmasnn ardndan, sunucu bilgisayarn seri portundan alaca bilgiyi kontrol kartna aktaracak haberleme kart ve mobil robot kontrol kartlar tasarlanmtr. Bu iki kart arasndaki haberleme, RF haberlemesine dayanmaktadr. Haberleme kartnda, seri portun lojik gerilim seviyelerini RF verici entegresiyle uyumlu hale dntrmek iin seviye dntr kullanlmtr. Kontrol kart zerine, bilgisayardan gelen komutu yorumlayp istenilen hareketi, mobil robota aktarmak zere mikrodenetleyici yerletirilmitir. Sunucu bilgisayar ile haberleme kart haberlemesi seri port zerinden yaplmtr. Seri porttan gnderilen bilgi, haberleme kartnda deitirilip yorumlanmadan, kontrol kartna aktarlr. Gelen bilginin, ne amala gnderildiinin yorumlanp deerlendirilmesi, kontrol kart zerindeki mikrodenetleyici tarafndan yaplmaktadr. Mobil robotun hareketi, zerindeki drt adet tekerlee ba 2 adet dc motor ile salanmaktadr. Arka tekerleklere bal dc motor ile, ileri ve geri hareket salanmaktadr. Dili sistemi ile arka tekerlekler, n tekerleklere balanmtr. Bu sayede ileri ve geri hareket esnasnda drt teker de hareket etmektedir. Mobil robotun saa ve sola hareketleri ise n tekerleklere bal dc motor tarafndan salanmaktadr. Kontrol kart zerindeki mikrodenetleyici, kendisine gelen bilgiye bal olarak, mobil robota alt deiik ynde hareket verebilmitir. Ayrca zerindeki sensrlerden ald analog bilgiye bal olarak engel alglayarak mobil robot arpmalara kar engellenmitir. zerine yerletirilen step motorla kamera yn deitirilerek ortamn incelenmesine kolaylk salanmtr. Sonu olarak internet tabanl haberleen bilgisayar ile kablosuz teknoloji birletirilerek mobil robotun kontrol salanmtr. Proje almasyla amalanan, internet tabanl mekanik kontrol sistemi prototipi gerekletirebilmekti. Bundan dolay, tezde zerinde durulan temel uygulama internet tabanl kontroldr. Mobil robot ksmnn gelitirilmesi konusu, proje kapsamnda zerinde durulan bir konu olarak ele alnmad. leriki almalarda mobil robot tasarm detaylandrlp, robot tarafndan da veri alnabilecek ekilde ift tarafl haberleme salanabilir. Mobil robot internet tabanl kontrol robot sistemlerinin bir sembolizasyonunu vermitir. Mekanik robot sistemleri kullanlaca yere bal olarak detayl tasarlanp internet zerinden kontrol edilebilecektir.

42

KAYNAKLAR [1] Yldrmolu, M., (2000), TCP/IP, Pusula Yaynclk, stanbul [2] Pala, Z., (2003), Borland Delphi 7, Trkmen Kitabevi, stanbul [3] Deitel, H. M., Deitel, P. J., (2003), C++ How to Program, Prentice Hall, U.S.A. [4] ahin, H., Dayank, A. v.d., (2006), Pic Programlama Teknikleri ve Pic16f877a, Alta Yaynclk, stanbul [5] zcerit, A. T., akrolu, M. v.d., (2005), 8051 Mikrodenetleyici Uygulamalar, Papatya Yaynclk, stanbul [6] nal, A. ve elik, T., (2005), Adm Motorlu Bir Mobil Robot Tasarmnn RF Araclyla Bir Bilgisayar Tarafndan Kontrol, Bitirme Tezi, Yldz Teknik niversitesi Elektronik ve Haberleme Mhendislii INTERNET KAYNAKLARI [7] searchnetworking.techtarget.com [8] www.wikipedia.org [9] www.farukcubukcu.com [10] www.yale.edu [11] www.mutasyon.net [12] www.tubitak.gov.tr [13] www.udea.com.tr [14] www.microchip.com [15] bg.ecmweb.com [16] www.st.com [17] www.antrak.org.tr [18] www.bilgisayar.tv [19] www.programlama.com [20] www.codeproject.com [21] cs1.cs.nyu.edu [21] fundementals.sourceforge.net

1

ZGEM Doum tarihi Doum yeri Ortarenim-lise Lisans

08.06.1984 Kocaeli 1995-2002 Gebze Anadolu Lisesi

2002-Devam ediyor Yldz niversitesi Mhendislik Fak. Elektronik ve Haberleme Mhendislii

Yapt Stajlar 2006 2007 Arelik A. (6 hafta) Red Biliim (10 hafta)