alıcı-verici rf devresi

Upload: 8666160

Post on 08-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 alc-verici rf devresi

    1/70

    1

    YILDIZ TEKNK NVERSTES

    ELEKTRK ELEKTRONK FAKLTES

    ELEKTRK MHENDSL

    EMO PROJE YARIMASI

    RF ZERNDEN BLGSAYAR KONTROLLFORKLFT ROBOT

    PROJE DANIMANI : YRD.DO.DR. ABDULLAH BAL

    MURAT AYDIN SIR METN UMAR

  • 8/7/2019 alc-verici rf devresi

    2/70

    2

    stanbul , 2007

    1. GR

    1.1 Proje Tantm, Akemas ve Malzeme Listesi

    Forklift robotun amac eitli endstriyel sektrlerde insan sal asndan olumsuz

    durumlar ve tehlikeler ieren ve mutlaka gerekletirilmesi gereken proseslerde i ve

    can gvenliini salamaktr.Bu projede robot alma sahas dndaki bir operatr

    tarafndan bilgisayar ve uzaktan kumanda vastasyla kontrol edilmektedir.Bylece

    tehlikeli ortamdaki insan varl gereksinimi ortadan kaldrlmtr.

    AKI DYAGRAMIProblemin Tanmlanmas

    Problemin zm Yollarnn Belirlenmesi

    En Uygun zm Yolunun Seilmesi

    Robotun Mekanik Donanmnn Meydana Getirilmesi

    Seilen Yola Uygun Elektronik Elemanlarn Temini

    lemciler iin Gerekli Yazlmn Oluturulmas

    Deney Ortamnn Hazrlanmas ve Deneyleri Gerekletirilmesi

    Deney Sonularnn Deerlendirilmesi ve Eniyileme lemi

    Devrenin Son eklinin Hazrlanmas, Bask Devreye Gei ve Robot zerine

    Montaj

  • 8/7/2019 alc-verici rf devresi

    3/70

    3

    Tez Raporunun Hazrlanmas

    Tablo 1.1 Malzeme Listesi

    MALZEME ADEDPIC16F628A 3

    ARX-34 RF ALICI 1

    ATX-34 RF VERC 2

    LM7805 1

    LM7808 1

    BD137 TRANSSTR 12

    FT KONTAKLI RLE 4

    1N4001 DYOT 12

    PC817 OPTOKUPLR 4

    DREN (eitli Deerlerde) 22

    KAPASTE (eitli Deerlerde) 20

    BUTON 11

    LED 3

    MAX232 ENTEGRES 1

    20 MHZ KRSTAL 1

    OYUNCAK EXCAVATOR 1

    OYUNCAK FORKLFT 1

    DB9 RS232 KONNEKTR 1

    BAKIR LEVHA ( 13x6 cm) 1

  • 8/7/2019 alc-verici rf devresi

    4/70

    4

    1.2 LM7805 ve LM7808 Gerilim Dzenleyicileri

    LM78XX serisi pozitif gerilim dzenleyicileri, elektronik elemanlarn g

    tketimlerinin hzla azalmaya devam ettii gnmzde, devre tasarmnda sklkla

    kullanlmaktadr. Ayrca LM79XX serisi negatif gerilim dzenleyicileri de

    bulunmaktadr. Bir LM7805 devresi, giriine uygulanan 15 Voltluk gerilimi, 5Volta

    drp sabitlerken; LM7905 devresi, ayn gerilim giriine uygulandnda bu gerilimi -

    5 Volta drmektedir. Model olarak; 5, 6, 8, 9, 10, 12, 15, 18, 24 Volt k gerilimi

    verebilen modeller bulunmaktadr. Ayrca LM117XX serisi gerilim dzenleyiciler 1.2

    Volt tan 57 Volta kadar k gerilimi salayabilmektedirler.

    Bu projede kullanlan gerilim dzenleyici modeli LM7805 ve LM7805 modelidir. 3

    bacaa sahip olan devrede giri gerilimi 5 Volt ile 24 Volt aras seilebilmektedir.

    Soutucu blok ile devrenin snma problemine kar nlem alnmakla birlikte; 24 Voltu

    aan giri gerilimi deerlerinde, devre arsnma sorunu ile kar karya kalmaktadr

    ve soutucu blok yeterli olamamaktadr. Aada resmi grlen devrenin en stteki

    baca, dzenlenmi k bacadr. En alttaki bacak pozitif doru gerilim girii,

    ortadaki bacak ise topraa veya 0 Volt gerilime balanmas gereken giritir.

    ekil 1.1 LM7805 ve LM7808 Entegresi1.3 PIC16F628A

    Microchip firmasnn retmi olduu 8 bitlik 16F628A denetleyicisi projenin temel

    elemandr. 2. Blmde denetleyici zerinde ayrntl birekilde durulmutur.

    1.4 ARX-34 RF Alc

    Udea Elektronik firmasnn retmi olduu ARX-34 radyo frekansl alc devresi, 433

    MHz frekansnda almaktadr. Kk fiziksel boyutu ve dk g tketimi sayesinde

    uzaktan kontrol sistemleri iin kullan

    ma uygun olan devre, 17.3 cmlik bir antenle

  • 8/7/2019 alc-verici rf devresi

    5/70

    5

    birlikte en baarl biimde alabilmektedir. Besleme gerilimi olarak 4.9 Volt ile 5.1

    Volt aras bir gerilim seilmelidir. 5.1 Volttan yksek bir besleme gerilimi

    uygulanmas durumunda devrenin bozulma olasl ok yksektir. Ayrca besleme

    geriliminde en fazla 100 mV dalgalanma olmas, devrenin ngrld gibi almas

    asndan nemlidir. 300 baud ile 2400 baud hzlar arasnda veri transferi yapabilen

    devre, ev ii uygulamalarda en iyi sonucu 600 baud hznda vermektedir. -10 C ile +55

    C arasnda ortam scakl alabilen ARX-34; 5 mA besleme akm ekmektedir.

    Hem saysal hem de analog ka sahip olmasna ramen,retici analog kn test

    aamasnda olduunu ifade etmektedir.

    1.5 ATX-34 RF Verici

    Udea Elektronik ( http://www.udea.com.tr) firmasnn retmi olduu ATX-34 radyo

    frekansl verici devresi, 433 MHz frekansnda almaktadr. 5 bacakl yapya sahip olan

    devre 17.3 cmlik bir antenle birlikte en verimli biimde alabilmektedir. Anten boyu

    hesab nasl yaplaca ise ARX-34 alc tantlrken yaplmtr. Besleme gerilimi olarak

    5 Volt ile 12 Volt aras bir gerilim seilmelidir. Besleme gerilimi deeri 12 Volta

    yaklatka, vericinin performans artmaktadr dolaysyla daha uzaklara veri

    iletilebilmektedir. Ayrca besleme geriliminde en fazla 100 mV dalgalanma olmas

    devrenin ngrld gibi almas asndan nemlidir. 300 baud ile 2400 baudhzlar arasnda veri transferi yapabilen devre, ev ii uygulamalarda en iyi sonucu 600

    baud hznda vermektedir. Hzn ayarlanmas yazlm araclyla yaplmtr ve PIC

    araclyla vericiye uygulanmtr. -10 C ile +55 C arasnda ortam scakl

    alabilen ATX-34; besleme gerilimi 5 Volt seildiinde 6.5 mA besleme akm

    ekmektedir. Sadece saysal girii bulunan verici devreye, uzaa gndermek istediimiz

    veri saysallatrlp balanmaldr.

    1.6 Anten zellikleriAnten, elektrik iaretlerini ( gerilim ve akm ) elektromanyetik dalgalara ya da

    elektromanyetik dalgalar elektrik iaretlerine dntrmek iin kullanlan aratr. Udea

    firmasnn retmi olduu UHA-434 anten, ARX-34 alc ve ATX-34 verici devreleriyle

    uyumlu almaktadr. 434 MHz frekansnda alan anten, 4MHZ bant geniliine, 50

    k empedansna, ve 1.5 gerilim duran dalga oranna sahiptir. Ksaca gerilim duran

    dalga oranndan bahsetmek gerekirse; VSWR genel olarak iletim hattnn yk

    empedans ile karakteristik empedans arasndaki uygunsuz elemenin bir lsdr.

  • 8/7/2019 alc-verici rf devresi

    6/70

    6

    Eer verici uygun bir antenle sonlandrlmamsa (yani uygun yk) yansma artacaktr.

    Dolaysyla VSWR' de artacaktr ve giden gcn byk bir ksm yansyacaktr. Bu

    durumda maksimum g iletilmemi olacaktr. Bunun iin verici uygun empedans

    deeri olan bir antenle sonlandrlmaldr, empedans deeri 50 Ohm olmaldr.

  • 8/7/2019 alc-verici rf devresi

    7/70

    7

    2. PIC MKRODENETLEYCLER2.1 PIC Nedir?

    PIC Serisi mikroilemciler MICROCHIP firmas tarafndan gelitirilmi ve retim

    amac ok fonksiyonlu mantksal uygulamalarn hzl ve ucuz bir mikroilemci ile

    yazlm yoluyla karlanmasdr. PICin kelime anlam Peripheral Interface Controller

    - giri k ilemcisidir. lk olarak 1994 ylnda 16 bitlik ve 32 bitlik byk ilemcilerin

    giri ve klarndaki yk azaltmak ve denetlemek amacyla ok hzl ve ucuz bir

    zme ihtiya duyulduu iin gelitirilmitir. ok geni bir rn ailesinin ilk yesiolan PIC16C54 bu ihtiyacn ilk meyvesidir. PIC ilemcileri RISC benzeri ilemciler

    olarak anlr. PIC16C54 12 bit komut hafza genilii olan 8 bitlik CMOS bir ilemcidir.

    18 bacakl dip klfta 13 G / bacana sahiptir, 20 MHz osilator hzna kadar

    kullanlabilir ve 33 adet komut iermektedir. 512 byte program EPROMu ve 25 byte

    RAM`i bulunmaktadr. Bu hafza kapasitesi ilk bakta ok yetersiz gelebilir ama bir

    RISC ilemci olmas birok ilevin bu kapasitede uygulanmasna olanak vermektedir.

    PIC serisi tm ilemciler herhangi bir ek bellek veya giri / k eleman gerektirmeden

    sadece 2 adet kondansatr, 1 adet diren ve bir kristal ile altrlabilmektedir. Tek

    bacaktan 40 mA akm ekilebilmekte ve tmdevre toplam olarak 150 mA akm aktma

    kapasitesine sahiptir. Tmdevrenin 4 MHz osilator frekansnda ektii akm alrken 2

    mA, bekleme durumunda ise 20uA kadardr. PIC 16C54n fiyatnn yaklak 2.0

    Amerikan Dolar civarnda olduu dnlrse bu ilemcinin avantaj kolayca anlalr.

    PIC 16C54 un mensup olduu ilemci ailesi 12Bit Core 16C5X olarak anlr. Bu gruba

    temel grup ad verilir. Bu ailenin yesi dier ilemciler PIC16C57, PIC16C58 ve

    dnyann en kk ilemcisi olarak anlan 8 bacakl PIC12C508 ve PIC 12C509dur.

    Interrupt kapasitesi ilk ilemci ailesi olan 12Bit Core 16C5X ailesinde

    bulunmamaktadr. Daha sonra retilen ve orta snf olarak tannan 14Bit Core- 16CXX

    ailesi birok adan daha yetenekli bir grup ilemcidir. Bu ailenin temel zellii

    interrupt kapasitesi ve 14 bitlik komut isleme hafzasdr. Bu zellikler PICi gerek bir

    ilemci olmaya ve karmak ilemlerde kullanlmaya yatkn hale getirmitir. PIC16CXX

    ailesi en geni rn yelpazesine sahip ailedir. 16CXX ailesinin en nemli zellikleri seri

  • 8/7/2019 alc-verici rf devresi

    8/70

    8

    olarak devre stnde dahi programlanmas -ki bu zellik PIC16C5x de epey

    karmaktr, paralel programlanabiliyordu- interrupt kabul edebilmesi, 33 G / , A/S

    evirici, USART, I2C, SPI gibi endstri standard giri klar kabul edecek

    ilemcilere rn yelpazesinde yer vermesi. PIC 16CXX ailesinin amatr elektronikiler

    arasnda en ok tannan ve dnyada zerinde en ok proje retilmi, internetin gzdesi

    olan bireyi PIC16C84 veya yeni adyla PIC16F84 dur. PIC 16F84 un bu kadar popler

    olmas onun ok iyi bir ilemci olmasndan ziyade program belleinin EEPROM -

    Elektrikle silinip yazlabilen bellek - olmasndan kaynaklanmaktadr. Seri olarak drt

    adet kabloyla programlanmas da dier nemli avantajdr. Bugne kadar amatrce bir

    ilemciyle uram herkesin en byk sknts EPROM veya EPROM tabanl

    ilemcileri programladktan sonra mortesi k kayna ile silip tekrar programlamaktr.

    Bu ok zahmetli ve bir amatr iin ekipman gerektiren yntem olmutur. Evde

    retilmesi zor olan zel bir programlayc da madalyonun dier yzdr. PIC16F84,

    amatrler tarafndan internette en bol programlaycs bulunan ilemcilerden biridir.

    EPROM silmek diye bir kavram zaten sz konusu deildir ayrca PIC16F84 EEPROM

    barndrdndan mmkn deildir. EEPROM bellei programlayan programlayc

    devre 1 saniye iinde ayn bellei silebilmektedir. Bu zellik tasarmcya ok hzl ve

    defalarca deneyerek program gelitirme avantajn getirmektedir. Bu tasarmc iin oknemli ve gerekli bir zelliktir. Benzetim programlar genel fikir vermek asndan ok

    yararl olsalar da ciddi tasarmlarda devreyi fiziksel olarak gereklemek, deneyler

    yapmak kesinlikle gereklidir. Bu denemeleri yaparken ilemciyi devrenizden skmek

    dahi gerekmez. Bu tip programlamaya ISP - In System Programming - denmektedir.

  • 8/7/2019 alc-verici rf devresi

    9/70

    9

    2.2 Neden PIC?

  • 8/7/2019 alc-verici rf devresi

    10/70

    10

    2.3 PIC16F628A'nn DI GRN

    Microchip PIC16F628A'y farkl klf tipiyle retmektedir. Kullanm en kolay olan

    PDIP tipi piyasada en kolay bulunandr. Bunun dnda 20 bacakl SSOP klfl ve 28

    bacakl QFN klfl tipleri de mevcuttur.

  • 8/7/2019 alc-verici rf devresi

    11/70

    11

    ekil 2.1 PDIP klfl PIC16F628A'nn d grn

    A B

    ekil 2.2 A -SSOP klfl PIC16F628A B-QFN klfl PIC16F628A

    PIC16F628A ile bellek kapasiteleri hari dier tm zellikleri ayn olan PIC16F627A,

    PIC16F648A da mevcuttur. Tabloda aralarndaki farkllklar grlmektedir.

    Tablo 2.1 PIC16F627A, PIC16F628A, PIC16F648Aarasndaki farklar

    .

  • 8/7/2019 alc-verici rf devresi

    12/70

    12

    nW (Nano Watt) teknolojisi ile retildiinden ok az enerji harcar. Flash bellee sahip

    olmas nedeniyle clock giriine uygulanan sinyal kesildiinde registerleri ierisindeki

    veri aynen kalr. Saat sinyali tekrar verildiinde PIC ierisindeki program tekrar

    almaya balar. RA0-RA7 pin'leri ve RB0-RB7 pin'leri l/O port'lardr.

    2.4 PIC16F628A'nn ALIMASI

    Harvard mimarisi ile retilen PIC16F628A 8-bit'lik bir RISC ilemcidir. Program

    bellei ve veri belleine farkl adres/veri yolu ile ulalr. Mikroilemcinin almasn

    izilebilecek en basit bir blok diyagram zerinde grelim. Bu diyagram tm PlC'Ierin

    almas iin geerlidir.

    ekil 2.3 PIC mikrodenetleyicilerin en basitletirilmi blok diyagram.

    CPU: erisinde PC-program counter (Program saycs), ALU (Aritmetic-Logic-Unit)

    bulunan ve dier bloklar arasndaki almay organize eden ve flash bellekteK kullanc

    programn altran ksmdr.

    Program bellei (FLASH): Programlarn sakland ve defalarca yazl p, silinebilen

    flash bellek.

    Veri bellei (EEPROM): PIC zerindeki gerilim kesilse bile kaybolmas istenmeyen

    verilerin sakland bellek. Bu bellek zerine de defalarca yazma/silme yaplabilir.

    Veri bellei (RAM) : Programn almas esnasnda geici olarak saklanmas gereken

    veriler iin kullanlr. GPR (General Purpose Register- Genel amal saklayc) olarak ta

    adlandrlan bu bellekte programn yazlmas esnasnda deikenler ierisine atanacak

    veriler bu alanda saklanr.

  • 8/7/2019 alc-verici rf devresi

    13/70

    13

    Bu bellekte ayrca SPR (Special Function Register- zel amal saklayc) ad verilen

    saklayclarda vardr. Bunlara PC'in alma biimini ynlendiren veriler yazlr.

    PORTA ve PORTB : Mikrodenetleyicinin d

    ar

    ya a

    lan elektronik kap

    s

    d

    r. PIC'egirilecek ve PIC'ten darya aktarlacak tm veriler bu bloklar ierisindeki elektronik

    devreler aracl ile yaplr.

    Zamanlayc (TIMER0/TIMER1/TIMER2) : Programn almasndan bamsz

    olarak ierisindeki say binary olarak artan 8-bit'lik (Not: TIMER1->16-bit) bir

    saklaycdr. Her 4 harici saat sinyalinde bir defa ierisindeki say bir defa artarak 255'e

    ulatnda tekrar O'dan balayarak saymaya devam eder.

    Bir mikroilemcinin almas ksaca yledir: Program belleinden CPU tarafndan

    alnan komutun kodu zlerek ilenir. Komutun yapaca ileme gre dier nitelerden

    veri okunabilir ya da bu nitelere veri gnderilebilir. Program komutlar gerektiriyorsa

    zamanlaycdan da veri alabilir. Sonu olarak d ortama elektronik olarak balants

    bulunan PORTA/PORTB'den gnderilen lojik veri mikroilemcinin kontrol ettii niteye

    veri girii olur. Bu veri lojik "1" veya "0" olduu gibi baz mikroilemcilerde analog bir

    gerilim deeri de olabilir. PIC'in d ortama lojik "1" olarak verdii 5V luk gerilim

    altnda 25 mA lik akm birok elektronik devreyi srmek iin yeterli olmayabilir, ihtiyaca

    gre gerekli ykselte devreleri kullanlarak g devreleri de srlebilir.

    Bir Komutun lenme Evreleri

    PIC ierisinde bir komutun ne ekilde altn adm adm aklayabilmek iin CPU

    ierisinde bulunan ve ilevlerinin bilinmesi gereken birka nite daha vardr. imdi

    bunlardan bahsedelim:Program Counter (Program saycs): CPU ierisinde bulunan 13-bit'lik bir

    saklaycdr. Program belleinden okunacak bir sonraki komutun adresi saklanr.

    Genellikle her bir komut ilendikten sonra ierisindeki adres says bir artar. Ancak bir

    atlama komutu altnda bu defa komutun belirttii adres PC ierisine yazlr.

    Instruction Register (Komut saklaycs) : lenecek olan komutun ilenmeden nce

    bellee arld saklaycdr.

  • 8/7/2019 alc-verici rf devresi

    14/70

    14

    Mikrodenetleyicilerde bir komutun ilenmesinde iki evre vardr:

    Fetch (Getir) : Program belleinden alnan bir komut R (Komut

    kaydedicisine) getirilir.

    Execute (altr) : Komutun yapaca ilemin ne olduuna bal olarak

    ilemin gerekletirilmesi.

    ekil 2.4 Bir komutun ilenme evreleri.

    Saat Sinyali ve Komut Evrelerinin Zamanlama Diyagram

    OSC1 ucundan uygulanan saat girii dahili olarak Q1, Q2, Q3, Q4 olarak

    adlandracamz 4 eit zaman aralkl kare dalgaya blnr. Bu drt saat evrimi bir

    komut evrimini (bir makine evrimi de denilir) oluturur. Bu sre ierisinde bir komut

    altrlr.

    Program sayc her Q1 evresinde bir arttrlr. Komutun program belleinden getirilmesi

    (fetch) ve komut saycnn (IR) ierisine yerletirilmesi Q4 evresinden olur. Komutun

    kodunun zlmesi ve altrlmas (execute) Q1 ile Q4 arasndaki evrede olur. Harici

    OSC1 saat sinyali ve ona bal olarak komutun ak evreleri tabloda gsterilmitir.

    ekil 2.5 Saat sinyali ve komut evrelerinin zamanlama diyagram.

    2.4.1 BESLEME GERLM

    PIC'in almas iin gerekli olan gerilim 5 ve 14 numaral pin'lerden uygulanr. 14

    numaral Vdd ucu +5 V'a, 5 numaral Vss ucu da topraa balanr. PIC'e gerilim

  • 8/7/2019 alc-verici rf devresi

    15/70

    15

    uygulandnda devredeki fazla akm eken elemanlarn devreye girmesiyle ya da

    ebekedeki gerilim dalgalanmalar nedeniyle PIC'in resetlenmesini nlemek amacyla

    Vdd ile Vss arasna 0.1 uf lk bir dekuplaj kondansatr balamak gerekir. Bu durumda

    kararl bir gerilim deeri elde edilmi olur.

    ekil 2.6 PIC16F628A'ya besleme geriliminin balanmas

    PIC16F628A besleme geriliminin deeri normal artlarda (-40 ile +125 arasnda) 3 -

    5.5V arasnda seilebilir. Ancak uygulama devresinin gereksinimine gre

    PIC16LF628A kullanlarak alma gerilimi 2 - 5.5V arasnda seilebilir. ekil 3-7'deki

    her iki tip PIC'in -40 ile +125 ortam scaklndaki gerilim-frekans erisi verilmitir.

    Erinin taral olan ksmndaki deerler PIC iin izin verilen gerilim ve frekans

    deerleridir.

    ekil 2.7 PIC16F628A ve PIC16LF628A'nn besleme gerilim-frekans erileri.

    2.4.2 OSLATR ULARI ve ETLER

    PIC belleinde bulunan program komutlarnn altrlmas iin bir kare dalga sinyaline

    gereksinim vardr. Bu sinyale saat (clock-klok olarak okunur) sinyali denir. Saat

    sinyalinin hz komutlarn ileni hzn da attrr. PIC16F628A'nn saat sinyalinin hz

    en fazla 20 MHz olabilir ve giri iin kullanlan iki ucu vardr. Bunlar OSC1(16.pin) ve

  • 8/7/2019 alc-verici rf devresi

    16/70

    16

    OSC2 (15.pin) ulardr. Bu ulara farkl tipte osilatrlerden elde -edilen saat sinyalleri

    uygulanabilir. Saat osilatr tipleri unlardr:

    LP - Dk frekansl kristal (Low Power).

    XT - Kristal veya seramik resonatr (Xtal).

    HS - Yksek hzl kristal veya seramik resonatr (High Speed ).

    ER - Harici diren (External Resistor).

    EC - Harici saat girii (External Clock).

    INTRC - 4 Mhz lik dahili osilatr (Intemal Resistor-Capacitor). PC'e balanan saat

    osilatrnn tipi programlama esnasnda PIC ierisinde bulunan konfigrasyon bit'lerine

    yazlmaldr. Osilatr tipini belirten kodlar (ER, XT, HS gibi) kullanarak konfigrasyon

    bit'lerinin nasl yazlaca programlama rnekleri verilirken detayl olarak

    incelenecektir.

    Seilecek olan osilatr tipi PC'in kontrol ettii devrenin hz gereksinimine baldr.

    Aadaki tablo hangi osilatr tipinin hangi frekans snrlar ierisinde kullanlabileceini

    gsterir.

    2.4.2.1 LP, XT ve HS Osilatrler

    Kristal osilatrler ierisinde osilasyonu salayan element kristaldir. PC'e balantlarnda

    harici olarak kondansatr gerektirirler.

    Seramik rezonatr osilatrlerde ise osilasyon eleman seramiktir. Seramik rezonatrler

    iin gereken kondansatrler retimleri esnasnda dahili olarak yerletirildiklerinden

    harici kondansatr balamak gerekmez. Fiyatlar

    ucuz ve hassast

    rlar (+/- %1.3 ). Kkbir seramik kondansatre benzeyen resonatrlerin ucu vardr. Bu ulardan ortadaki

    topraa, dier iki ucu da OSC1 ve OSC2 ularna balanrlar. Hangi ucun OSCVe

    balanaca nemli deildir, her ikisi de balanabilir.

  • 8/7/2019 alc-verici rf devresi

    17/70

    17

    ekil 2.8 Kristal osilatr ve devreye balants.

    Kristal kullanlarak yaplan osilatrler zamanlamann nemli olduu yerlerde kullanlr.

    Kristal osilatrlerin kullanld devrelerde kristale balanacak kondansatrn seimine

    zen gstermek gerekir. Aada hangi frekansta ka pF lk kondansatr kullanlacan

    gsteren tablo grlmektedir.

    Tablo 2.2 LP, XT ve HS kristallere balanmas gereken kondansatr deerleri.

    2.4.2.2 EC OsilatrKristal kontroll saat osilatrleri zamanlamann ok hassas olmas gerektiinde

    kullanlr. Bu tip saat osilatrleri metal bir kutu veya normal bir entegre devre

    grnmndedir. Entegre grnmnde olan osilatrlere (Real-time-clock) gerek

    zamanl saat ad da verilmektedir. Genellikle programlanabilir olduklarndan ayn chip'ten

    farkl frekansta ok hassas saat sinyali alnabilir. Bu tip osilatrlere kondansatr

    balants gerekmez.

    Bu tip osilatr kullanmann en nemli zellii, RA6 ucunun normal l/O ucu olarakkullanlabilmesidir.

  • 8/7/2019 alc-verici rf devresi

    18/70

    18

    ekil 2.9 Harici osilatrler ve devreye balants.

    2.4.2.3 IntRC Osilatr

    PIC16F628A, 4 Mhz lik dahili bir osilatre sahiptir. RA6 ve RA7 ular normal l/O ucu

    olarak kullanlmak istenildiinde bu osilatr tipi seilir. Bu durumda PC'e hibir harici

    osilatr eleman balamak gerekmez. PC'in programlanmas esnasnda yazlan

    konfigrasyon bilgileri ile bu osilatr iki farklekilde altrlabilir.

    1. RA6 ve RA7 ularnn her ikisinin birlikte l/O ucu olarak kullanlabilir.

    2. RA7, l/O ucu olarak RA6 da CLOCKOUT ucu olarak kullanlabilir.

    CLOCKOUT ucundan dahili osilatr frekansnn i alnr. Bu saat k PIC ile

    ezamanl

    al

    mas

    istenen harici donan

    mlarda saat sinyali girii olarak kullan

    labilir.

    ekil 2.10 PIC16F628A'nn dahili osilatr.

    2.4.2.4 ER Osilatr

    Bu osilatr tipinde dahili osilatre dardan sadece bir diren balanr. PIC'e yazlacak

    konfigrasyon bilgilerine bal olarak iki farkl biimde almas salanabilir.

    1. OSC1ediren balanarak RA6 ucu l/O olarak kullanlabilir.

    2. OSC1ediren balanarak RA6 ucundan OSC1/4 deerinde saat sinyali alnr.

  • 8/7/2019 alc-verici rf devresi

    19/70

    19

    ekil 2.11 PIC16F628A'nn osilatr sinyalinin harici direnle salanmas.

    Tablo 2.3 PIC16F628A'ya harici olarak balanan direnlerle elde edilecek

    frekans deerleri.

    2.4.2.5 RC Saat Osilatr

    PIC16F628A'da bu tip osilatrn kullanlmasna gerek duyulmaz. Ancak dahili

    osilatr bulunmayan dier PlC'Ierde ve zamanlamann ok hassas olmas gerekmedii

    durumda kullanlr. Belirlenen deerden yaklak %20 sapma gsterebilirler. Bir diren

    ve kondansatrden oluan bu osilatrn maliyeti olduka dktr. OSC1 ucundan

    uygulanan saat frekans R ve C deerlerine baldr. ekil 3-12'de RC osilatrn saat

    giriine balan ve eitli R, C deerlerinde elde edilen osilatr frekanslar rnek

    olarak verilmitir.

    ekil 2.12 RC Osilatrn PICe balants ve rnek R ve C deerleri

    OSC1 ucundan uygulanan harici saat frekansnn 1/4' OSC2 ucunda grlr. Bu saat

    frekans istenirse devrede kullanlan dier bir eleman srmek iin kullanlabilir.

  • 8/7/2019 alc-verici rf devresi

    20/70

    20

    2.4.3 Reset Ular ve Reset Devresi

    Bir PIC'in reset (yeniden bala) yaplmas, alan programn kesilerek balang

    noktasndan itibaren tekrar almaya zorlanmas demektir. Mikrodenetleyici

    uygulamalarnda ok gerekli olan bu ilemlerin bazlar donanmsal, bazlar da

    yazlmsal olarak yaplr. PIC'e dardan gerilim uygulamak suretiyle yaplan reset

    donanmsal resettir.

    PIC16F628A'e birbirinden farkl kaynaktan 6 reset (yeniden balatma) uygulanabilir.

    Bu uygulamalarn hangisinin aktif olaca PIC'in ierisindeki bir register (saklayc)

    ierisine yazlan veri bit'leri ile seilir. Configuration (yaplanma) saklaycsndan

    bahsedilirken bu ayarlarn nasl yaplaca daha geni olarak aklanacaktr.

    a) Power-On Reset (POR) _______

    b) Normal alma esnasnda MCLR resetlemesi.

    c) Sleep (uyuma) modunda alrken MCLR resetlemesi.

    d) Normal alma esnasnda VVDT resetlemesi.

    e) Sleep (uyuma) modunda VVDT resetlemesi.

    f) Brown-Out Reset (BOR)

    Power On Reset (POR)

    PIC16F628A'nn besleme ularna gerilim uygulandktan sonra PIC ularndaki

    gerilimin uygun seviyeye kmasna kadar reset durumunda bekleten dahili (on-chip) bir

    reset devresi vardr. Bu devreye POR (Power-On-Reset) devresi denir. PIC ularndaki

    gerilim uygun seviyeye ulatnda program balang adresinden itibaren normal

    almasna balar.

    Normal alma Esnasnda MCLR Resetlemesi

    MCLR ucu, kullancnn program kesip, kasti olarak balangca dndrebilmesi iin

    kullanlr. PIC'in 4 numaral MCLR ucuna uygulanan gerilim 0 V olunca programn

    almas balang adresine dner. Programn ilk adresten itibaren tekrar alabilmesi

    iin reset ucuna uygulanan gerilimin yeniden +5 V olmas gerekir. ekil 3-13'de bir

    butona basldnda PIC'i resetleyen devre grlmektedir.

  • 8/7/2019 alc-verici rf devresi

    21/70

    21

    ekil 2.13 PIC16F628A'nn donanmsal (MCLR) reset devresi.

    MCLR ucuna uygulanacak olan maksimum gerilim -0.3V ile14V arasndadr. Herhangi

    bir nedenle MCLR ucuna uygulanan gerilim Vss geriliminin ar dlerinde akm 80

    mA'in zerine kabilir. Bu durumda programda kilitlenmeler olabilir. Bu nedenle

    MCLR ucunu direk olarak Vss' ye balamak yerine 50-100Qluk bir direnle balamak,

    emniyet asndan gereklidir.

    Sleep Modunda alrken MCLR Resetlemesi

    PIC uyku modunda alrken MCLR ucundan uygulanacak OV, PIC'in resetlenmesini

    salar. Uyku modu, PIC'in minimum g ekme durumudur ve bu anda program

    almaz. lerdeki blmlerde daha detayl bilgi bulacaksnz.

    Normal alma Esnasnda WDT Resetlemesi

    PIC'in normal olarak alrken WDT (Watch Dog Timer) saycsndan gelen bir kesme ile

    resetlenmesidir.PIC'e besleme gerilimi verildii srece alan bir RC osilatrn

    tetikledii saycdr. PIC'in yapmas gereken bir ilemin istenilen srede yaplamamas

    neticesinde sistemde bir aksaklk olmasn diye program devam ettirmeden reset yaptrr.

    Sleep Modunda WDT Resetlemesi

    PIC uyuma modunda alrken VVDT saycsndan gelen bir kesme sinyali ile

    resetlenmesidir.

  • 8/7/2019 alc-verici rf devresi

    22/70

    22

    Brown Out Reset (BOR)

    PIC16F628A ierisinde (on-chip) bulunan reset devresidir. PIC'in yaplanma

    (configuration) saklaycsna yazlan veri bit'leri ile aktif hale getirilebilir. Bu devrenin

    amac, PIC'in besleme geriliminin belirli bir sre boyunca (TBOR=100 |LLS) belirli bir

    deerin (VBOR=4V)altna dtnde PIC'i resetlemektir. Ancak PIC'in ne kadar sreyle

    reset durumunda kalacan yine PIC ierisinde bulunan PWRT (Power Up Timer)

    belirler. imdi PWRT saycsndan ksaca bahsedelim.

    Power Up Timer (PWRT)

    PIC ierisindeki bu sayc dahili bir RC osilatr ile tetiklenir. BOR reseti olutuunda

    reset sresinin 72 mS daha devam etmesini salar. PVVRT saycs ayn zamanda POR(Power On Reset) reset durumunda da PC'in resette kalma sresini belirler. PC'in

    ularndaki gerilim seviyesinin kabul edilebilir (VBOR=4V) bir seviyeye gelince 72 mS

    lik sre balar. Yaplanma registerine yazlacak 1-bit'lik bir veri ile PWRT'yi aktif ya da

    pasif duruma geirilebilir. BOR reset durumu aktif edildiinde PWRT saycs da aktif

    edilmelidir.

    imdi BOR reset durumunu bir zaman-gerilim erisiyle inceleyelim:

    ekil 2.14 Besleme geriliminin 100 ^S'den fazla 4V'un altna dmesi ve BOR reset

    durumunu gsteren zaman- gerilim erisi.

    ekil 2.14'de Vdd gerilimi TBOR=100 ^S den daha uzun sre VBOR=4V gerilimin

    alt

    na dmektedir. Reset durumu olutuu anda PVVRT say

    c

    s

    al

    arak PIC'i72mS sreyle reset durumunda tutmaktadr.

    ekil 2.15 : BOR reset durumunda 73 mS'lik sre bitmeden gerilimin tekrar 4V'un

    altna dmesi durumu.

  • 8/7/2019 alc-verici rf devresi

    23/70

    23

    ekil 2.12'de gerilim ilk VBORgerilimin altna dmesiyle PWRT almaya balar. Ancak

    72 mS lik sre bitmeden tekrar VBOR altna dmektedir. Bu durumda PWRT tekrar

    almaya balar ve PIC'in resette kalma sresi daha da uzar. Srenin bu ekilde

    uzatlmas genellikle ani gerilim dmleri yaanan uygulama devreleri iin ok

    uygundur. rnein bir bilgisayar yazcsnn motorunu altran PIC uygulamasn

    dnelim. Ksa sreli gerilim dalgalanmalarnda motorun almaya balay p durmas

    ve tekrar alp durmas daha byk donanmsal arzalara neden olabilir.

    2.4.4 I/O (GR/IKI) PORT'LARI

    Bu port'lardan girilen dijital sinyaller vastasyla PIC ierisinde alan programa veri

    girilmi olur. Program verileri deerlendirerek port'lar kullanmak suretiyle d ortamadijital sinyaller gnderir. Dijital sinyallerin gerilim deeri ya 5V ya da OV'tur. PIC

    16F628A'nn d ortama verilebilecei maksimum akm 25 mA dir. Baz PC'Ier de

    (rnein PIC16F84) bu akm 20 mA olabilir. D ortamdan PIC16F628A'ya doru

    akabilecek maksimum akm da 25 mA dir. 25 mA lik akm motor, gl lamba gibi

    fazla akm ekmesi gereken alclar altrmak iin yeterli deildir. Ancak aada

    sralanan baz alclar direk olarak altrmak mmkndr.

    1. LED : Tam parlakl

    k verebilmesi iin 25 mA lik ak

    m yeterlidir.2. BUZZER : ok kk akm ektikleri iin direk olarak srlebilir.

    3. RLE : Dk akmla alan baz rleler. 5V'ta 25 mA bobin akm yeterli olanlar.

    4. LCD display : Hibir ykseltme devresi gerektirmeden srlebilirler.

    5. 7 SEGMENT DISPLAY : Her segment'e bir port ucu balanarak srlr.

    D ortama gnderilen bu sinyallerin akm yeterli olmad durumda ykselte

    devreleri, transistrler vastasyla ykseltilerek kumanda edilecek cihaza uygulanr.

    Hatrlatma amacyla sink ve source akmlarnn ne olduundan bahsedelim. Sink akm,

    gerilim kaynandan k port'una doru akan akma, source akm ise I/O pin'inden

    GND'ye doru akan akma denir.

  • 8/7/2019 alc-verici rf devresi

    24/70

    24

    ekil 2.16 Sink ve source akmlar.

    2.4.5 Yksek Akml Yklen Srmek

    I/O port'larndan geebilecek 25 mA lik akm bir snrlama direnci balamak suretiyle

    LED'leri dorudan srebilir. Bu akmlar ayn zamanda LCD, lojik entegre ve hatta 220

    V lukehirebekesine bal bir lambay kontrol eden triyak bile tetiklemeye yeterlidir.

    k akm yetmedii durumda ykselte devreleri kullanarak daha yksek akmlara

    kumanda etmek mmkn olabilir.

    ekil 2.17 Yksek akm eken alclar iin eitli ykseltme devreleri.

    PIC16F628A'n

    n 16 adet giri/

    k

    ucu vard

    r. Bunlardan 8 tanesi A port'unda (RA0-RA7), 8 tanesine de B pof undadr (RB0-RB7). RA5/MCLR/Vpp ucunun dndaki tm

    ular veri girii ya da k olarak yaplandrlabilir. RA5 ucu sadece giri olarak

    yaplandrlabilir. I/O ucu olarak kullanlamayan sadece Vdd(5V) ve Vss (GND)

    vardr. Tm PIC mikrodenetleyicilerde olduu gibi PIC16F628A'da da bir ucu

    yaplandrmak suretiyle ayn uca farkl ilemler yaptrlabilir. Bu da PlC'Ierin daha

    az bacak saysyla daha fazla zellie sahip olmas demektir.

  • 8/7/2019 alc-verici rf devresi

    25/70

    25

    2.4.6 A Port'u ve zellikleri

    PORTA'nn detayl elektronik yaps microchip firmasnn Web sitesinde yaynlad

    datasheet'lerde (veri katalogu) ayrntl olarak bulunabilir. PORTA'nn zelliklerini

    verebilmek iin yapsndaki elektronik detaylara girmeden blok olarak dnrsek,

    zelliklerini aadaki gibi verebiliriz:

    1. A port'u ierisinde 8-bit uzunluunda adna PORTA registeri denilen bir veri tutucu

    (latch) vardr.

    2. PORTA saklaycsna bir veri gnderildiinde ierisindeki silinmedike veya yeni bir

    veri yazlmadka aynen saklanr. Bu kaydediciye dar gnderilen veya dardan alnan

    veriler tutulur.

    3. A port'unun yaplandrlmasn salayan ikinci bir saklaycya da TRISA saklaycs

    denir. Bu saklayc RAM bellei ierisinde zel amal bir saklaycdr.

    4. TRISA saklaycs ierisine yazlan veri bit'leriyle ("1" ya da "0") PORTA'nn

    ularnn ynlendirilmesi (giri ya da k) yaplr.

    ekil 3-18'de de grld gibi 8-bit'lik TRISA saklaycnn ilgili bit'inin "O"

    yazlmasyla o ucun k, "1" yazlmasyla o ucun giri olarak ynlendirilmesi salanr.

    ekil 2. 18 A ve B ortlarnn TRISA ve TRISB sakla clar ile nlendirilmesi.

  • 8/7/2019 alc-verici rf devresi

    26/70

    26

    PORTA'nn tm ular Schmitt Trigger (ST) yapdadr. Schmitt trigger yap ile TTL

    (Transistor-Transistor-Logic) yap arasndaki farklarunlardr:

    1. ST yapl ularda "0" dan "1"e veya "1" den "0" a gei sresi daha ksadr. Bu

    nedenle daha yksek frekansl veri girii/k yaplmasna uygundur.

    2. ST yapl ularda "0" ve "1" i belirleyen gerilim aralklar birbirinde uzaktr. Bir utan

    girilen 0-1V arasndaki gerilimleri "0" V, 4-5.5 V arasndaki gerilimler- "1" olarak

    alglanr.

    3. TTL yapl ularda "0" dan "1"e veya "1" den "0" a gei sresi daha uzundur.

    4. TTL yapl ularda "0" ve "1" i belirleyen gerilim aralklar birbirine daha yakndr.

    Bir utan girilen 0-2V arasndaki gerilimler- "0"V, 2-5.5 V arasndaki gerilimler- "1"

    olarak alglanr.

    RA4 ucu pen drain (ak kollektr) zellii nedeniyle k olarak kullanlmak

    istenildiinde sink akm ynnde akm geirilmelidir. rnein bir LED'i srmek iin

    Vdd besleme gerilimine seri bir direnle birlikte balanmaldr.

    ekil 2.19 Ak kolektr zellikli RA4 ucunun yaps ve k olarak kullanlmas.

    RA4 dnda kalan tm PORTA ular dijital k olarak ynlendirildiklerinde CMOS

    ka sahiptir. CMOS yapl PORTA ularnn yapsekil 3-20'de grlmektedir. N-

    kanal CMOS iletimdeyken port k ucu 5V, P-kanal CMOS iletimdeyken de k ucu

    OV seviyesindedir.

  • 8/7/2019 alc-verici rf devresi

    27/70

    27

    ekil 2. 20 CMOS yapdaki PortA ularnn yaps.

    RA6 ve RA7 Ular

    RA6 ve RA7 ular PC'in osilatr girii olarak kullanlabildii gibi normal l/O ucu olarak

    ta kullanlabilir. Bunun iin gerekli kurulumlar konfigrasyon bitleri ile yaplr.

    MCLR Ucu

    16F628A'nn 4. pin'indeki RA5/MCLR ucu istenirse normal giri port'u olarak

    kullanlabilir. Bunun iin gerekli kurulumlar konfigrasyon bit'leri ile yaplr.

    Tablo 2.4 PortAnn ular ve farkl kullanm zellikleri

  • 8/7/2019 alc-verici rf devresi

    28/70

    28

    2.4.7 B Port'u ve zellikleri

    B port'unun knda FET kullanlmayp normal dijital kap devreleriyle srlmtr.

    Bu nedenle PORTB dijital giri/k port'u olarak kullanldnda TTL yapya sahip

    olmasyla PORTA'dan farkldr. PORTB'nin tm klar bir FET ile pull-up

    yaplmtr. Pull-up, giri ucunu Vdd potansiyeline ekmek demektir. Normal olarak bir

    giri ucunu Vdd seviyesine ekmek iin bir diren kullanlr. Ayn grevi PIC16F628A

    ierisinde port ularna bal bir FET yapmaktadr. FET iletimde deilken yksek drain-

    source direnci vastasyla port ularn zayf pull-up (week pull-up) yapmaktadr.

    PORTB'nin bir ucu giri olarak ynlendirildiinde zayf pull-up direncinin etkisi chip

    tarafndan otomatik olarak aktif yaplr. k olarak ynlendirildiinde ise pull-up direnci

    pasif yaplr. PORTB'nin bu zelliinden dolay ou uygulamalarda

    harici olarak balanan pull-up direncine gerek duyulmaz. PIC'e enerji verildiinde

    (Power-on-reset) ise tm dahili pull-up direnleri iptal edilir.

    ekil 2.21 TTL zellikteki PortB ular ve zayf pull-up yaps.

  • 8/7/2019 alc-verici rf devresi

    29/70

    29

    PORTB ular deiik biimde yaplandrlarak USART, CCP, harici kesme girii, TMR1 saat

    girii gibi zelliklerde de kullanlabilir. Tablo 3-5'de ularn hangi ilevleri olduu ve

    aklamalar bulunmaktadr. Programlama detaylar anlatlrken bu ularn yaplandrma

    saklayclaryla ne ekilde ilevlerinin deitirilebilecei daha detayl olarak verilecektir.

    Tablo 2.5 PortB'nin ular ve farkl kullanm zellikleri.

    2.4.8 PIC16F628A'nn BELLE

    Harvard mimarisine sahip olan PlC'Ierin program ve RAM bellei olmak zere iki ayr bellek

    bloundan olutuunu mikrodenetleyici mimarilerini anlatrken bahsetmitik. PIC16F628A,

    2K'lk FLASH program belleine sahiptir. Bu bellein hcrelerine erimek iin adreslerini

    saklayan ve PIC'e uygulanan her 4 saat sinyalinde bir defa ierisindeki say bir artan saklayc

    bulunduunu ve adna program saycs (PC-Program Counter) denildiini bu blmn

    balarnda anlatmtk. PIC16F628A'nn 13-bit uzunluunda program saycm vardr. 13 bit'lik

    bu sayc 8Kx14 program hcresini adresleyebilecek kapasiteye'sahiptir (213=8192 bayt=8K).

    2.4.8.1Program Bellei

    PIC16F628A'nn 2 Kbyte'lk program belleinin ierisinde 14 bit uzunluundaki program

    komutlar saklanr. Program bellei flash olmasna ramen, programn almas esnasnda veri

  • 8/7/2019 alc-verici rf devresi

    30/70

    30

    yazmak mmkn deildir. Programda deiiklik yapmak istenirse, program durdurulup, yeni

    program PIC'e ykleme aralaryla yklemek gerekir.

    ekil 3-22'de PIC16F628A'nn program bellei haritas grlmektedir. PIC'e yazlan program

    komutlar reset vektr olarak gsterilen 0000h adresinden itibaren altrlr. PIC'e enerji

    verildiinde veya herhangi bir reset durumunda programn ak 0000h adresinden itibaren

    tekrar balar. En son komut yazlabilecek adres 07FFh dir. Bellek haritasnn ba tarafnda

    grlen ve yn seviyesi (stack level) olarak belirtilen ksm program dallanmalar esnasnda

    kullanlan yn belleidir (stack memory). PIC16F628A'nn 8 seviyeli yn bellei vardr. Alt

    programlar konusunda bu konuda daha ayrntl bilgi verilecektir.

    Bellek haritasnda interrupt vektr olarak gsterilen ve adresi 0004h olan bellek hcresine bir

    kesme (interrupt) olutuunda otomatik olarak ulalr. Bu adrese yazlan komut kesme alt

    programna dallanma yaptran CALL xxx gibi bir komuttur. Kesme alt programlar konusunda

    daha ayrntl bilgi verilecektir.

    ekil 2. 22 PIC16F628A'nn program bellei haritas

    PIC16F628A'nn program bellei ierisinde sadece makine koduna evrilmi assembly

    komutlar saklanr. Bu komutlar dnda RETLVV komutu ile birlikte kullanlan snrl

    miktarda veri de yklenilebilir.PIC16F628A'nn program bellek haritasndaki adresler gsterilirken saylarn sana

    heksadesimal notasyon kullanlmtr. PIC programlarnda bellek adreslen gstermenin bir

    yolu da bu ekildedir. 07FFh heksadesimal notasyonunda saynn sonundaki "h" harfi bu

    saylarn heksadesimal olduunu belirtir. rnein 07FFh, desimal 2047 saysna karlk

    gelmektedir. PIC16F628A'nn program belleine 14 bit uzunluunda toplam 2048 tane komut

    yazlabilir. Acre adresi O'dan baladndan en son adres 2047 olmaktadr.

    2.4.8.2 Veri (RAM) Bellei

  • 8/7/2019 alc-verici rf devresi

    31/70

    31

    PIC16F628A'nn 00h~1FFh aralndaki veri bellei 4 paraya ayrlmtr. Bu paralarn her

    biri BANK olarak adlandrlr. Veri bellei ierisinde 8-bit'lik zel amal saklayclar (SFR-

    Special Function Registers) ve genel amal saklayclar (GPR-General Purpose Registers)

    bulunmaktadr.

    zel Amal Saklayclar

    PIC'in CPU'sunun ve evresel arabirimlerin (PORTA, PORTB, USART gibi) istenilen biimde

    almasn salamak amacyla baz ynlendirme veri bit'lerinin yazld saklayclardr. Her

    BANK'n ilk 32 adresi bu saklayclara ayrlmtr. Statik RAM (SRAM) yapsndadrlar.

    Programlama rnekleri verildike sras geldiinde bu saklayclardan ayrntl olarak

    bahsedilecektir.

    Genel Amal Saklayclar

    PIC16F628A'nn veri belleinde toplam 8-bit'lik 224 adet GPR bulunmaktadr. PIC

    programlarnda kullanlan deikenler ierisinde saklanmas gereken veriler iin kullanlr.

    ou zaman RAM da denilir. Bellek hcresinin adresi kullanlarak direkt olarak ulalabildii

    gibi bellek seme saklaycs (FSR-File Select Register) kullanlarak endirekt olarak ta

    ulalabilirler. SRAM yapsndadrlar.

    ekil 3-23'e dikkat edilirse 4 BANK'tan oluan PIC16F628A'nn veri belleindeki baz zel

    amal saklayclar dier bellekte de bulunmaktadr. rnein PCL, STATUS, FSR, PCLATH,

    INTCON gibi. Bir bank'taki saklaycy kullanabilmek iin o bank'a gemek gerekir. Baz sk

    kullanlmas gereken zel saklayclarn birden fazla bank'ta da bulunmasnn nedeni, bank

    deitirme ilemine gerek duyulmakszn kullanlabilmesi iindir.

    Program ierisinde bir deikenin adresi belirlenirken u adresler kullanlmaldr: BankO'n

    h'20'-h'6F', bankl'in h'AO'-h'EF', bank2'nin h'120'- h'14F'.

    Veri belleinin en alt ksmnda kalan 16 adres alan da program ierisinde kullanlan deiken

    yeri olarak tanmlanabilir. Ancak bu alanlarn dierlerinden fark hep h'70' ile h'7F' arasnda bir

    adres bilgisi ile ulalabilmeleridir. Yani buradaki bir genel amal saklaycya bank deitirme

    ilemi yaplmadan ulalabilir.

  • 8/7/2019 alc-verici rf devresi

    32/70

    32

    ekil 2. 23 PIC16F628A'nn veri (RAM) bellei haritas.

    2.4.8.3 W saklaycs

    PIC16F628A'nn veri bellei alannda grlmeyen bir de 8-bit'lik W saklaycs vardr. W

    saklaycs bir akmlatr veya geici depolama alan olarak dnlebilir. W saklaycsna

    dier saklayclarda olduu gibi hcre adresini kullanlarak direkt olarak ulamak mmkn

    deildir. Aslnda W saklaycsnn bir bellek adresi de yoktur. Komutun ilevi W saklaycs

    zerindeyse adresi belirtilmeden ulalabilir. PIC'te gerekleen tm aritmetik ilemler ve

    atama ilemleri iin W saklaycs kullanlmak zorunluluu vardr.

  • 8/7/2019 alc-verici rf devresi

    33/70

    33

    ekil 2. 24 A) Sabit bir veriyi W saklaycsna yazp, portB'ye aktarmak.

    B) PortA'nn ieriini VV'ye yazp, portB'ye aktarmak.

    rnein PORTA'dan okunan veriler PORTB'ye aktarlmak isteniyorsa PORTA'nn ierii

    nce W saklaycsna aktarlr. Daha sonra da W'nin ieri: PORTB'ye aktarlr. Bu registerin

    kullanm zellikleri yine programlama konusunda detayl olarak ele alnacaktr.

    ekil 2. 25 TRISB ile ynlendirilmi PORTB'ye, PORTA'dan alnan verilerin

    aktarlmas.

    3. ROBOTUN MEKANK TASARIMI

    Robotun gerekli ilevleri yerine getirebilmesi iin sahip olmas gereken mekanik zellikler

    belirlenmitir.Bu zellikleri salayabilecekekilde iki oyuncak alnmtr.Bunlardan robotun

    ataln oluturan ksm oyuncak forkliftten alnmtr.Dier ksm ise robotun hareketsistemini oluturan paletlerdir ve bu palet ksm da oyuncak excavatorden alnmtr.Daha

    sonra bu oyuncaklar demontaj edilerek robot iin gerekli olan mekanik ilevleri salayan

    ksmlar alnp uygun birekilde birbirlerine monte edilmitir.Ayrca her iki oyuncakta da

    zellik olarak bulunmayan ancak forklift robotun malzemeleri rahat bir ekilde alp

    brakabilmesi iin gerekli olan bom al-bom ver zellii yine bu oyuncaklardan sklen dier

    paralarn birletirilmesiyle salanmtr.

  • 8/7/2019 alc-verici rf devresi

    34/70

    34

    Resim 3.1 Forklft robotun palet ksm

  • 8/7/2019 alc-verici rf devresi

    35/70

  • 8/7/2019 alc-verici rf devresi

    36/70

    36

    Resim 3.3 Bom al-bom ver hareketini salayan redktrl motor

    Yukardaki resimlerde grlen paralar uygun birekilde biraraya getirilerek forklift robotun

    mekanik yaps oluturulmutur.Robotun atal ksm drt adet vida yardmyla palet ksma

    monte edilmitir.Daha sonra bu iki ksm arasndaki balanty kuvvetlendirmek iin bu iki

    ayr parann birbirine temas eden yzeyleri scak silikon kullanlarak

    salamlatrlmtr.Bom al-bom ver hareketini yapacak redktr ise palet ksm zerinde

    uygun bir uzakla yalnzca scak silikon kullanlarak sabitlenmitir.Redktr zerine

    uygulanan mekanik kuvvetin byk olmasndan dolay forklift robotun enerjisini salayacak

    olan iki adet 6V 1.3 Ahlik akler ard ardna redktrn arkasna yerletirilmitir.Aklerin

    birbirleriyle ve redktrle olan montaj scak silikon kullanlarak gerekletirilmitir.Bu yap

    Resim.4te gsterilmitir.

  • 8/7/2019 alc-verici rf devresi

    37/70

    37

    Resim 3.4 Forklift robotun mekanik ksm

    4.DEVRE TASARIMI

    Bu k

    s

    mda forklift robotun ilevlerini yerine getirecek olan motorlar

    sren ve RFhaberlemeyi salayan elektriksel devreler detayl birekilde anlatlmtr.

  • 8/7/2019 alc-verici rf devresi

    38/70

    38

    4.1 Verici Taraf Devre Tasarm

    Forklift robotun hareket etmesi iin gerekli olan kontrol sinyallerini oluturan iki ayr ksm

    mevcuttur.Bunlardan birincisi tamamen insan kontrolnde olan uzaktan kumanda

    ksmdr.kincisi ksm ise RS232 seri port vastasyla bilgisayar balantsn salayan

    bilgisayar iletiim devresidir.Bu ksmlar aada aklanmtr.

    4.1.1 Uzaktan Kumanda

    Uzaktan kumanda devresinde istenilen komutlar yollamak iin sekiz adet buton

    kullanlmtr. Bunlardan bir tanesi atal ve palet hareketleri arasnda hanisinin aktif olacan

    belirlemek iin kullanlmtr.Forklift robotun farkl hz kademesinde hareket etmesi

    amalandndan adet vites seim butonu kullanlmtr.Kalan dier drt buton ise atal ve

    paletin kontrolnde atal iin yukar-aa , bom al-bom ver , palet iin ise ileri-geri , sa-sol

    hareketlerini gerekletirmek iin kullanlmtr.

    Butonlardan gelen bu kontrol sinyallerini alglayarak RF verici modle uygun bir ekilde

    iletmek iin PIC16F628A mikrodenetleyicisi kullanlmtr. Bu mikrodenetleyicinin JAL

    dilinde olan yazlm ve ekil 4.1de ise uzaktan kumanda verici devresi aada verilmitir.

    ekil 4.1 Uzaktan kumanda verici devresi

    Uzaktan Kumanda Vericisinin JAL Program

    include 16f628_4

    include rf

    include jlib

    port_b_direction = all_input

  • 8/7/2019 alc-verici rf devresi

    39/70

    39

    forever loop

    if pin_b7 == low then

    if pin_b2 == low then

    rf_trans = "U"

    rf_trans = "1"

    end if

    if pin_b0 == low then

    rf_trans = "U"

    rf_trans = "2"

    end if

    if pin_b3 == low then

    rf_trans = "U"

    rf_trans = "3"

    end if

    if pin_b1 == low then

    rf_trans = "U"

    rf_trans = "4"

    end if

    else

    if pin_b2 == low then

    rf_trans = "U"

    rf_trans = "5"

    end if

    if pin_b0 == low then

    rf_trans = "U"rf_trans = "6"

    end if

    if pin_b3 == low then

    rf_trans = "U"

    rf_trans = "7"

    end if

    if pin_b1 == low thenrf_trans = "U"

  • 8/7/2019 alc-verici rf devresi

    40/70

    40

    rf_trans = "8"

    end if

    end if

    if pin_b4 == low then

    rf_trans = "U"

    rf_trans = "A"

    end if

    if pin_b5 == low then

    rf_trans = "U"

    rf_trans = "B"

    end if

    if pin_b6 == low then

    rf_trans = "U"

    rf_trans = "C"

    end if

    if port_b == 0b_1111_1111 | port_b == 0b_0111_1111 then

    rf_trans = "U"

    rf_trans = "D"

    end if

    end loop

    JALdaki RF Fonksiyonunun eriiinclude rfp

    include hd447804

    var byte i , k = 0 , l

    function rf_recv ( byte out vx ) return bit is

    var bit vx_0 at vx : 0var bit rf_veri_geldi, hata = false

  • 8/7/2019 alc-verici rf devresi

    41/70

    41

    var byte tm

    rf_veri_geldi = false

    rf_rcv_led = low

    if rf_rcv == high then

    tmr0 = 0

    while rf_rcv == high & tmr0 < 255 loop end loop

    if ( tmr0 > 62 ) & ( tmr0 < 156 ) then

    tmr0 = 0

    while rf_rcv == low & tmr0 < 255 loop end loop

    if ( tmr0 > 32 ) & ( tmr0 < 80 ) then

    vx = 30

    for 8 loop

    rf_rcv_led = high

    vx = vx 40 then vx_0 = high else vx_0 = low end if

    end loop

    rf_rcv_led = lowif hata == false then rf_veri_geldi = true end if

    end if

    end if

    end if

    return rf_veri_geldi

    end function

  • 8/7/2019 alc-verici rf devresi

    42/70

    42

    procedure rf_rcv_lcd is

    var byte data

    if i == 0 then hd44780_line1 end if

    if i == 16 then hd44780_line2 end if

    if rf_recv ( data ) then

    hd44780 = data

    i = i + 1

    end if

    if i > 31 then

    hd44780_clear

    i = 0

    end if

    end procedure

    procedure high_25us ( byte in x ) is

    assembler

    local T1

    bsf rf_trns_asm

    t1:

    nop nop nop nop nop

    nop nop nop nop nop nop

    nop nop nop nop nop

    nop nop nop nop nop nop

    decfsz x,f

    goto t1

    bcf rf_trns_asm

    end assembler

    end procedure

    procedure bekle_25us ( byte in x ) isassembler

  • 8/7/2019 alc-verici rf devresi

    43/70

    43

    local T1

    t1:

    nop nop nop nop nop

    nop nop nop nop nop

    nop nop nop nop nop

    nop nop nop nop nop

    nop nop

    decfsz x,f

    goto t1

    nop

    nop

    end assembler

    end procedure

    procedure rf_trans'put ( byte in vx ) is

    var bit vx_7 at vx : 7

    high_25us ( 160 )

    rf_trns = low

    bekle_25us ( 80 )

    for 9 loop

    rf_trns_led = high

    high_25us ( 20 )rf_trns = low

    if vx_7 == low then bekle_25us ( 40 )

    else bekle_25us ( 60 )

    rf_trns_led = low

    end if

    vx = vx

  • 8/7/2019 alc-verici rf devresi

    44/70

    44

    end procedure

    intcon_gie = low

    option = 0b_0100_0100

    rf_trns = low

    4.1.2 Bilgisayar letiim Devresi

    Forklift robotun bilgisayar ile kontrol edilebilmesi iin bilgisayardan gelecek olan kontrol

    sinyallerini alglayp robot zerinde bulunan alc devreye RF sinyal olarak gnderilmesi iin

    20 MHz lik kristal ile alan PIC16F628A mikrodenetleyicisi kullanlmtr.Bu

    mikrodenetleyici bilgisayardan gelen kontrol sinyallerini RS232 seri comport zerinden

    almaktadr.Bu seri iletiim iin PIC16F628Ann USART zellii kullanlmtr. Bu

    mikrodenetleyicinin JAL dilinde olan yazlm ve ekil 4.2de ise bilgisayar iletiim verici

    devresi aada verilmitir.

    Bilgisayar letiim Vericisinin JAL Program

    include 16f628_20

    include jlib

    include h_rs232

    include rf_tx_20

    var byte v

    serial_setup ( 96 )

    forever loop

    if h_asynch_poll ( v ) then

    for 3 loop

    rf_trans = "U"rf_trans = v

  • 8/7/2019 alc-verici rf devresi

    45/70

    45

    end loop

    v = 0

    end if

    end loop

    JALdaki H_RS232 Dosyasnn erii

    if (target_cpu != pic_16 )&(target_cpu != pic_14 )then

    pragma error -- not support

    end if

    Procedure serial_setup ( byte in BAUD_CONSTANT ) is begin

    var volatile byte RCtemp

    if target_clock == 4_000_000 then

    if BAUD_CONSTANT == 192 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 12

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 96 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 25

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 24 then

    if target_cpu == pic_14 then Bank_1 end ifSPBRG = 103

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 12 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 207

    TXSTA_BRGH = highif target_cpu == pic_14 then Bank_0 end if

  • 8/7/2019 alc-verici rf devresi

    46/70

    46

    end if

    end if

    if target_clock == 10_000_000 then

    if BAUD_CONSTANT == 192 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 31

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 96 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 64

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 24 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 64

    TXSTA_BRGH = low

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 12 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 129

    TXSTA_BRGH = low

    if target_cpu == pic_14 then Bank_0 end if

    end if

    end if

    if target_clock == 20_000_000 thenif BAUD_CONSTANT == 192 then

    if target_cpu == pic_14 then Bank_1 end if

    SPBRG = 64

    TXSTA_BRGH = high

    if target_cpu == pic_14 then Bank_0 end if

    elsif BAUD_CONSTANT == 96 then

    if target_cpu == pic_14 then Bank_1 end ifSPBRG = 129

  • 8/7/2019 alc-verici rf devresi

    47/70

  • 8/7/2019 alc-verici rf devresi

    48/70

    48

    Procedure serial_recv ( byte out data ) is begin

    if target_cpu == pic_14 then

    Bank_0

    while ! PIR1_RCIF loop end loop

    file_get ( 0x1A , data )

    end if

    if target_cpu == pic_16 then

    while ! PIR1_RCIF loop end loop

    data = RCREG

    end if

    end procedure

    Procedure serial_transmit ( byte in data ) is begin

    if target_cpu == pic_14 then

    Bank_0

    while ! PIR1_TXIF loop

    end loop

    file_put ( 0x19 , data )

    end if

    if target_cpu == pic_16 then

    while ! PIR1_TXIF loop end loop

    TXREG = data

    end if

    end procedure

    procedure H_asynch'put( byte in x ) is

    serial_transmit ( x )

    end procedure

    function H_asynch_poll( byte out x ) return bit is

    if PIR1_rcif thenserial_recv ( x )

  • 8/7/2019 alc-verici rf devresi

    49/70

    49

    return true

    else

    return false

    end if

    end function

    ekil 4.2 Bilgisayar iletiim verici devresi

    4.2 Alc Taraf Devre Tasarm

    Forklift robotun alc devresi robot zerinde bulunan drt adet motorun, verici devrelerinden

    gnderilen kontrol sinyalleri dorultusunda srlmesi ilemlerini yerine getirir. Verici

    devrelerinden gnderilen RF kontrol sinyalleri, alc kart zerinde bulunan RF alc modl

    tarafndan zlerek PIC16F628A mikrodenetleyicisine gnderilir. PIC16F628A

    mikrodenetleyicisi ald bu zlm sinyalleri ierisindeki programa gre ileyerek gerekli

    motor srme devrelerine k sinyallerini uygular.

    Forklift robot zerinde drt adet motor bulunmaktadr. Bu motorlardan iki tanesi robotun

    hareketini salayan sa ve sol palet motorlardr. Sa ve sol palet motorlar robotun farkl

    hzda hareket etmesi istendiinden PWM ile kontrol edilmitir. Dier iki motor ise atal

    hareketleri iin kullanlmtr. atal hareketlerinde PWM kontrolne ihtiya duyulmamtr.

  • 8/7/2019 alc-verici rf devresi

    50/70

    50

    Sa ve sol palet motorlarn PWM kontrol herbir motor iin ayr bir H kprs kullanlarak

    gerekletirilmitir.H kprsnde kullanlan transistrler motorlar besleyebilecek ekilde

    akm deerine sahip olan BD137 transistrleridir.H kprsnde bir zaman an iin karlkl

    apraz paralel kollardaki transistrler iletime geirilerek motorun bir ynde dnmesi

    salanmtr.Motorun dier yana dnmesinde ise H kprsndeki dier transistrler iletime

    geirilmitir.H kprsnde adet farkl hz elde etmek iin transistrlerin beyzlerine 100

    luk direnler zerinden PWM sinyal uygulanmaktadr. Kontrol devresi ile g devresini

    birbirinden elektriksel olarak yaltmak iin PC817 optokuplr entegreleri kullanlmtr.

    Ayrca motorlarda oluan zt emk dan dolay transistrlerin olumsuz bir ekilde

    etkilenmemesi iin transistrlerin kollektr ve emiter ularna ters paralel bal 1N4001

    diyotlar kullanlmtr.Bylece bu diyotlar motor zt emklarn stlerine alarak transistrleri

    ters ynde zorlamazlar.

    atal hareketlerini gerekletiren motorlar ise sadece her iki ynde dnmesi gerektiinden bu

    ilemi gerekletirmek iin her bir motor iki rle ile srlmektedir.Bu rlelerden ilki motoru

    enerjilendirir, ikincisi ise motorun dn ynn belirler.Rlelerin bobinlerinde de endktans

    zellii grldnden dolay burada da bir zt emk sz konusudur.Bu yzden rlelerin bobin

    ularndaki zt emk y engellemek iin 1N4001 diyotlar kullanlmtr.PIC16F628Ann k

    akm 25 mA ile snrl olduundan ve bu akm rleleri srmek iin yeterli olmadndan

    dolay her bir rleyi srmek iin BD137 g transistr kullanlmtr.Burdaki g

    transistrlerinin beyzleri 1 kluk direnler zerinden PIC16F628Ann ilgili bacaklarna

    direk olarak balanmtr. Bu mikrodenetleyicinin JAL dilinde olan yazlm ve ekil 4.3

    ,ekil4.4 ve ekil 4.5de ise alc devresi ksm ksm aada verilmitir.Devrenin bitmi

    halinin ve robota monte edilmi halinin resimleri aada verilmitir.

  • 8/7/2019 alc-verici rf devresi

    51/70

    51

    ekil 4.3 Palet motoru srme devresi (Sa ve sol motor iin ayn dzendeki devreler

    kullanlmaktadr.)

    ekil 4 .4 atal motorlar srme devresi

  • 8/7/2019 alc-verici rf devresi

    52/70

    52

    ekil 4.5 PIC16F628A balant ular ve besleme reglatrleri

    Alc Devresinin JAL Programinclude 16f628_4

    include rf

    include jlib

    include pwm

    pin_b0_direction = output

    pin_b1_direction = output

    pin_b2_direction = output

    pin_b4_direction = output

    pin_b5_direction = output

    pin_b6_direction = output

    pin_b7_direction = output

    pin_a5_direction = input

    pin_a7_direction = output

  • 8/7/2019 alc-verici rf devresi

    53/70

    53

    assembler

    bank 0

    movlw 0x07

    movwf 0x1F

    end assembler

    var byte m

    forever loop

    if rf_recv(k) then

    while k == "U" loop

    if rf_recv(m) then

    if m == "1" then

    pin_b2 = high

    pin_a7 = low

    end if

    if m == "2" then

    pin_b2 = high

    pin_a7 = high

    end if

    if m == "3" then

    pin_b0 = highpin_b1 = low

    end if

    if m == "4" then

    pin_b0 = high

    pin_b1 = high

    end if

  • 8/7/2019 alc-verici rf devresi

    54/70

    54

    if m == "5" then

    pin_b4 = low

    pin_b6 = low

    end if

    if m == "6" then

    pin_b5 = low

    pin_b7 = low

    end if

    if m == "7" then

    pin_b5 = low

    pin_b6 = low

    end if

    if m == "8" then

    pin_b4 = low

    pin_b7 = low

    end if

    if m == "A" then H_pwm ( 200 ) end if

    if m == "B" then H_pwm ( 227 ) end if

    if m == "C" then H_pwm ( 255 ) end if

    if m == "D" then

    pin_b0 = low

    pin_b1 = lowpin_b2 = low

    pin_b4 = high

    pin_b5 = high

    pin_b6 = high

    pin_b7 = high

    pin_a7 = low

    end if

  • 8/7/2019 alc-verici rf devresi

    55/70

    55

    k = 0

    end if

    end loop

    end if

    end loop

    JALdaki PWM Dosyasnn erii

    include pwmp

    if target_clock != 4_000_000 then

    pragma error

    end if

    procedure delay_10usn ( byte in x ) is

    assembler

    local T1

    t1:

    nop

    nop

    decfsz x,fgoto t1

    end assembler

    end procedure

    procedure pwm (byte in x ,byte in tekrar ) is

    for tekrar loopPwm_pin = high

  • 8/7/2019 alc-verici rf devresi

    56/70

    56

    delay_10usn ( x )

    Pwm_pin = low

    delay_10usn ( 255 - x )

    end loop

    end procedure

    Procedure H_pwm ( byte in value ) is

    if value == 0 then

    f877_CCP1CON = 0

    pin_c2_direction = input

    else

    if f877_CCP1CON == 0 then

    Bank_1

    f877_PR2 = 0xFF

    Bank_0

    f877_CCPR1L = value

    pin_c2_direction = output

    pin_c2 = low

    f877_T2CON = 0x04

    f877_CCP1CON = 0x0C

    else

    f877_CCPR1L = value

    end if

    end if

    end procedure

  • 8/7/2019 alc-verici rf devresi

    57/70

    57

    Resim 4.1 Bask devrenin PNP kad kts

    Resim 4.2 Bask devrenin son hali

  • 8/7/2019 alc-verici rf devresi

    58/70

    58

    Resim 4.3 Bask devrenin delinmesi

    Resim 4.4 Bask devreye elemanlarn yerletirilmesi

  • 8/7/2019 alc-verici rf devresi

    59/70

    59

    Resim 4.5 Bask devreye elemanlarn lehimlenmesi

    Resim 4.6 Bask devrenin tamamlanm hali

  • 8/7/2019 alc-verici rf devresi

    60/70

    60

    Resim 4.7 Alc devre , uzaktan kumanda devresi ,akler ve pil

    Resim 4.8 Bask devrenin robot zerine monte edilmi hali

    5 JAL PROGRAMLAMA DL

    Bu blmde JAL programlama dili hakkndaki detayl bilgi aada verilmitir.

  • 8/7/2019 alc-verici rf devresi

    61/70

    61

    5.1 JAL'IN TANITIMI

    JAL, Microchip ve Unicom firmasnn mikro denetleyicileri iin gelitirilmi cretsiz

    (Freeware), yksek seviyeli ve ak kaynak koduna sahip bir derleyicidir. Jal cretsiz olmas

    sebebiyle Internet zerinden rahatlkla indirilebilir ve lisans probemi yaamadan gnlrahatl ile kullanlabilir. JAL'n ak kaynak koduna sahip olmas sebebiyle

    kullanclar JAL'n kaynak kodlarndan yararlan p programlar yazabilir veya JAL'n

    kaynak kodlarn gelitirebilirler. JAL yazm kurallar olarak PASCAL ve C'yi temel alm

    olup olduka sade ve anlalr bir programyazm teknii kullanr. Dolaysyla nceden Pascal

    veya C kullanan kiiler hzla jala uyum salayabileceklerdir. Yeni balayanlar ise kolay yazm

    kurallar sebebiyle uyum salamakta glk ekmeyeceklerdir.

    Microchip firmas kendi rettii mikro denetleyicilerine PIC adn pektedir. JAL kullanarakPIC16C84, PIC16F84, P1C16F877, PIC12C509A, ri2C508, PIC12CE674, PIC16F628,

    PIC18F252, PIC18F242, PIC18F442, PIC18F452, PIC12F629, PIC12F675, P1C16F88 PIC

    trleri ve Unicom firmasnn ' B SX28 isimli mikro denetleyicileri iin program yazlabilir.

    Ayrca ileriki blmlerde aklanaca gibi temel mimarisi ayn olan mikro denetleyiciler iin

    de program yazlmasna imkan salar. rnein PIC16F628 iin yazlacak bir JALprogram,

    PIC16F628 ile ayn temel zelliklere sahip PIC16F627 ve PIC16F648 iin de kullanlabilir.

    5.2 PWM'NN TANIMIPWM (Pulse Width Modulation) pals genilik modlasyonu anlamna gelmektir. DC

    motorlarn hz ayarnda, RC servolarda, R veya RF iletiimde sinyali modle etmekte

    kullanlr. PWM sinyali yazlm ile oluturulabildii gibi PIC16F877 gibi stn zellikli

    mikro denetleyicilerde donanmsal olarak da oluturulabilir. Bu blmde daha ok DC

    motorlarn hz kontrolnde kullanlmak zere yazlmsal ve donanmsal PVVM sinyali retmek

    zerinden durulacaktr.

  • 8/7/2019 alc-verici rf devresi

    62/70

    62

    ekil 5.1 Kare dalga sinyal.

    PWM sinyali aslnda basit kare dalgaya benzer fakat kare dalgadaki gibi palsin lojik 1 ve lojik

    0 blmleri her zaman birbirine eit deildir. PVVM sinyalinde palsin lojik 1 ve lojik 0

    ksmlarnn oranlarnn deitirilmesi ile farkl gerilimde k sinyali oluturulur. PWMsinyalinde tam bir sinyale saykl denir, saykln lojik 1 ksmna i saykl denilmektedir.

    sayklnn tm saykla oran ktaki sinyalin deerini verir. PIC'in pin klar 5V

    verebilir. Eer PC'in kndan saykln %50'si orannda i saykl olan bir

    sinyal retilirse ktaki sinyalin deeri 5 v x 50/100 = 2,5 v olur. Sinyal'in yars lojik 1

    yars lojik 0'dan oluursa kta 5 volt'un yars alnr.

    saykl, tm saykln %80'ni olan bir sinyalin gerilim deeri;

    5 x 80/ 100 = 4 v llrktaki gerilimi drmek iin i sayklnn tm saykla orann

    drmek gerekir rnein i saykl tm saykl'n %10'u olan bir sinyalin deeri;

    5 V x 10/100 = 0,5 v llr.

    ekil 5.3 %10 Orannda i saykl olan kare dalga.

    PIC'den PWM sinyali retirken dikkat edilecek konulardan biri de kn direkt deil de bir

    filtre devresi zerinden alnmas gerektiidir. ekil 5.4'de PIC'in B3 pin'ine bal filtre devresi

    grlmektedir.

    ekil 5.2 %50 Orannda i saykl' olan kare dalga.

  • 8/7/2019 alc-verici rf devresi

    63/70

    63

    ekil 5.4'de PIC'in B3 pin'ine bal filtre devresi

    5.2.1 YAZILIMSAL PWM

    Yazlmsal olarak PWM sinyali retmek iin, sresi deitirilebilir bir ka-e dalga program

    yazmak yeterlidir.

    5.2.2 JAL'da Yazlmsal PWM zelliinin Kullanm

    JAL'da PWM sinyali ile ilgili alt programlar pwm.jal ktphane dosyasnda

    bulunur. Pwm.jal dosyas ise yazlmsal olarak PWM sinyali retilecek PIC pin'ini

    tanmlamakta kullanlr. pwm.jal ktphane dosyasndaki yazlmsal pwm sinyali retmek ile

    ilgili alt programlar aadaki gibidir;

    procedure pwm (byte in x , byte in tekrar ) : Yazlmsal PWM sinyali retmek iin

    kullanlr. x deikeni retilecek sinyalin i sayklnn toplam saykla orann belirler. x

    deikeni 0..255 arasnda deer alabilir. Tablo 5.1de i saykl oranna gre x deikenine

    yazlacak deerin tablosu grlmektedir. Tekrar deikeni ise her seferinde tekrar edilecek

    saykl saysn belirler.

    Tablo 5.1 PWM sinyali retme oran tablosu

    5.3 DONANIMSAL PWM

    PIC16F877 ve PIC16F628 gibi baz PIC trlerinde PWM sinya. donanmsal olarak da

    retilebilir. PIC16F877'de PWM sinyali C2 pin'inden retilirken, PIC16F628'de B3 pin'inden

    retilir. PIC16F877'de PWM sinyali reten C2 pin'ine CCP1 ad

    verilir. PIC16F877'de PWMsinyalinin retiminde TMR2 saycs kullanlr. PWM sinyalinin i sayklnn sresi 10 bit

  • 8/7/2019 alc-verici rf devresi

    64/70

    64

    hassasiyetindedir. PWM sinyalinin i saykl CCPR1L ve CCPR1H kaydedicilerinde

    tutulurlar Dilenirse CCPR1H kaydedicisine deer yklenmeyerek 8 bit hassasiyetinde de

    deer verilebilir.

    PIC'de donanmsal PWM sinyali retebilmek iin aadaki admlarizlenmelidir;

    PWM sinyalinin periyodu PR2 kaydedicisine yazlr.

    PWM sinyalinin i saykl CCPR1L kaydedicisine kaydedilir.

    CCP1 pin'i k yaplarak low yaplr (TRISC).

    TMR2'nin prescaler deeri yklenip TMR2 kaydedicisi yetkilendirilir.

    CCP1 modl PWM ilemi iin kurulur.

    Tablo 5.2 20 Mhz'lik PIC'de retilebilecek PWM sinyalinin frekans

    vehassasiyeti.

    5.3.1 JAL'da Donanmsal PWM zelliinin Kullanm

    PC'de donanmsal PWM sinyali retmek iin pwm. jal ktphane dosyasierisindeki H_pwm ( x ) alt program kullanlr. H_pwm ( x ) alt programnn komutunda

    parantez iindeki parametresine i sayklnn deeri yazlr. sayklnn deeri 0..255 arasnda

    bir saydr.sayklna deer olarak 255 girilirse bu i sayklnn tm saykln %100'n, 128

    girilirse i sayklnn tm saykPn %50'sini kapsad anlamna gelir. Tablo 17.1'de i saykl

    oran iin yazlmas gereken deerin tablosu bulunmaktadr.

    5.3.2 Donanmsal PWM Uygulamalar

    PIC'in BO pin'indeki butonuna baslnca i saykl %12,5, B1 pin'indeki butonuna baslnca i

    saykl %25, B2 pin'indeki butonuna baslnca i saykl %50, B3 pin'indeki butonuna baslnca

    i Saykl %100 olan donanmsal PWM sinyalini retecek JAL program. Bu rnek iin ekil

    17.6 kullanlabilir.

    include 16f877_4

    include jlib

  • 8/7/2019 alc-verici rf devresi

    65/70

    65

    include pwm -- Unite7\Ornl7_3.jal

    port_b_direction = all_input -- Buton girii h_pwm { 125 )

    forever loop

    if pin_b0 == high then h_pwm ( 32 ) end if

    if pin_bl == high then h_pwm { 64 ) end if

    if pin_b2 == high then h_pwm ( 128 } end if

    if pin_b3 == high then h_pwm ( 255) end if

    end loop

    Donanmsal PWM sinyali retirken h_pwm komutuna parametre olarak girilecek x

    deikeninin deeri iin x=oran*255/100 forml kullanlabilir. rnein i saykl'nn toplam

    saykl'a oran %12,5 olaca zaman h_pwm alt programna parametre olarak 12,5*255/100 =

    31,875 yaklak 32 deeri yazlmaldr. Tablo 17.1'de %12,5, %25, %50, %100 i saykl'

    oranna sahip PWM sinyali retmek iin gerekli deerler grlmektedir. Donanmsal PWM

    sinyali retmek iin dng iinde devaml h_pwm alt programn altrmaya gerek yoktur.

    PIC H_pwm alt program ile ayarlanan srelerde donanmsal olarak devaml PWM sinyalini

    retecektir.

    5.4 RF LETM

    RF (Radyo Frekans) kablosuz iletiim, radyo sinyallerinin kullanld iletiim yntemidir.

    Kablosuz iletiimin mesafesi kk kit'ler ile 10-100 metre arasnda deiirken byk gteki

    vericiler ile kilometrelerce alan kapsayabilirler. Gnmzdeki bilgisayarlarda kullanlan

    kablosuz iletiim cihazlarnn 54 Mbps hznda alabilmektedirler.

    Bu blmde amatr uygulamalarda kullanlabilecek ve ak alanda yaklak 50-100 metre

    mesafeli ve 1200 Bps hznda alabilen RF kit'ler zerinde durulacaktr.

    ekil 5.5 RF alc ve verici kit'ler.

  • 8/7/2019 alc-verici rf devresi

    66/70

    66

    RF kit'lerin etkili mesafeleri yaklak 50-100 metre civarndadr. Bu mesafe temelde vericinin

    k gcne ve kullandmz antene gre deiebilir. RF kit'lerin modlasyon frekanslar

    genellikle 433.92 Mhz ve k gleri de 10 mW civarndadr.

    ekil 5.6 RF verici kit'in pin balants.

    RF kit'ler yurt dndan www.rentron.com adresinden temin edilebilecei gibi bykehirlerdeki elektronikilerde de bulunmaktadrlar. Temin edilen RF kit ile bu blmde

    kullanlacak kitler arasnda pin balantlar farkl olabilir.

    RF verici kit'lerin bazlar 12V'a kadar almaktadr. Genellikle otomobillerin kap kilidi

    kumandalarnda bulunurlar. RF vericilerde kullanlmak iin 12V'luk kk piller

    bulunmaktadr. RF verici kit'in dijital veri girii Data input pin'idir. RF verici 2 numaral Data

    input pin'den ald dijital veriyi RF vericinin modlasyon frekans ile modle ederek 4

    numaralRF output pin'den radyo sinyalleri olarak havaya yaynlar.

    ekil 21.15'de grld gibi RF alc biraz daha byktr. Sekiz numaral pin anten balants

    iindir ve antenin 30 cm olmas yeterlidir. RF verici tarafndan yaylan radyo frekans dalgalar

    RF alcnn 8 numaral anten pin'inden bir anten vastas ile alnr. Alc ierisindeki elektronik

    devre alnan RF sinyalini demodle ederek dijital veriye dntrr ve 2 numaral dijital data

    output pin'inden darya verir.

    ekil 5.7 RF alc ve verici kit'lerin PIC ile olan balantlar.

    ekil 5.7da grld gibi RF alc PIC'in A4 pin'ine ve RF verici ise PIC'in A2 pin'inikullanmaktadr. RF alc ve verici kit'ler dk hzlarda direkt olarak bilgisayarn seri port'una

  • 8/7/2019 alc-verici rf devresi

    67/70

    67

    balanarak kullanlabilirler. Normal RF kitler yaklak olarak 2.4 Kbps ..10 Kbps arasnda

    iletiim hzlarna sahiptir. RF kit'ler zerinde bu blmde yaplacak uygulamada seri iletiim

    protokol her zaman uygun olmayabilir. nk bit'ler arasnda kayma olabilmektedir. Bu

    sebepten RF iletiimde R iletiimde kullanlan protokoln benzeri kullanlacaktr.

    5.4.1 RF letiim Protokol

    Balk sinyali : Gnderilen sinyalin bana eklenen sinyaldir. Alc balk sinyalinin

    zellikleri uygunsa sinyalin geri kalann almaya balar. Balk sinyali 4 msn yksek ve 2 msn

    dk sinyalden oluur.

    ekil 5.8 RF iletiimde balk sinyali.

    Lojik O'n ifade edilmesi :RF iletiimde lojik 0, 500 //sn yksek sinyal ve 1000 //sn dk

    sinyali ile ifade edilir.

    ekil 5.9 RF iletiimde lojik O'in ifade edilmesi sinyali.

    Lojik 1'in ifade edilmesi : RF iletiimde lojik 1, 500 //sn yksek sinyal ve 1500//sn dk

    sinyali ile ifade edilir.

    ekil 5.10 RF iletiimde lojik 1'in ifade edilmesi sinyali.

    5.4.2 JAL'da RF letiimin Kullanm

    rf. jal ktphane dosyas radyo frekans (RF) kit'ler kullanarak bilgi alp gndermek ile ilgili

    alt programlar

    bulundurur. RF iletiimde kullan

    lan pin'ler ile ilgili tan

    mlamalar rfp. jaldosyasnda yaplmaktadr. Bu ktphane dosyasnda bilgi alm esnasnda TMR0

  • 8/7/2019 alc-verici rf devresi

    68/70

    68

    kullanlmaktadr, rf. jal dosyasnn ierisindeki alt programlar ve deikenler aadaki

    gibidir;

    rf_trans : RF iletiim protokolne gre 1 byte'lik bilgi gndermek iin kullanlr. rf_trans alt

    program pseudo tipinde olduundan bilgi gndermek iin direkt deer atanabilir.rf_recv (data) : RF iletiim protokolne gre 1 byte'lik bilgi almak iin kullanlr. rf_recv alt

    program bir fonksiyondur ve geerli bir RF bilgi geldiinde true deerini alr. Gelen bilgi

    parametre olarak kullanlan data deikeninde tutulur.

    RF iletiimde kullanlacak PIC pin'lerinin tanmlar rfp.jal ktphane dosyasndan

    deitirilebilir, rfp. jal dosyasn ierii aadaki gibidir;

    var volatile bit rf_butor is pin_a3

    var volatile bit rf_buton_dir is pin_a3_direction

    var volatile bit rf_rcv is pin_a4

    var volatile bit rf_rcv_dir is pin_a4_directionvar volatile bit rf_rcv_led . is pin_aO

    var volatile bit rf_rcv_led_dir is pin_aO_direction

    var volatile bit rf_trns is pin_a2

    var volatile bit rf_trns_asm at port_a : 2

    var volatile bit rf_trns_dir is pin_a2_direction

    var volatile bit rf_trns_led , is pin_al

    var volatile bit rf_trns_led_dir is pin_al_direction

    rf_trns_led_dir = output

    rf_trns_dir = output

    rf_rcv_led_dir = output

    rf_rcv_dir = input

    rf_buton_dir = input

  • 8/7/2019 alc-verici rf devresi

    69/70

    69

    6 SONULARBu projede endstride insan gvenliini daha st seviyelere kartmak iin forklift robot

    prototipi zerinde allmtr. Forklift robotun hareket kabiliyetini artrmak iin tekerlek

    yerine paletler kullanlmtr. Bylece forklift robotun olduu yerde 360 derece dnebilmesi

    salanmtr.Forklift robotun kontrol ise hem uzaktan kumanda hem de bilgisayar vastasyla

    salandndan bu iki noktann da robotun zerinde olmamasndan dolay robotun zerinde

    kontrol amal bir insan varlna ihtiya kalmamtr. Sanayide uygulanma alanlar asndan

    ise nkleer tesisleri, ortam scaklnn insan iin uygun olmad ar deerlerde allmasgereken ortamlar rnek gsterebiliriz.

    Devrenin maliyeti asndan ise forklift robotun yerine getirdii tm ilevleri (motor

    hareketlerinin ift ynl kontrol, RF sinyalinin alglan p deerlendirilmesi, PIC16F628A

    mikrodenetleyicisinde bulunan bir adet PWM modlnden iki adet motorun ift ynl olarak

    srlmesi, atal hareketlerinin ift ynl kontrol) sadece bir tane PIC16F628A ile

    gerekletirilmitir.Bylece maliyet minimum seviyede tutulmutur.

    Bu projenin geniletilmeye ynelik bir sonraki ad

    m

    al

    ma ortam

    na yerletirilenkameralardan elde edilen grntnn bilgisayar vastasyla ilenerek gerekli kontrol

    sinyallerinin retilmesi ve retilen bu sinyallerin yine bilgisayar vastasyla projemizde

    hazrlam olduumuz bilgisayar iletiim verici devresi zerinden forklift robota gnderilerek

    insan gereksinimi tamamen ortadan kaldrmaktr. Bylece bu tehlikeli endstriyel ortamlardan

    insan tamamen izole edilmi olacaktr.

    Bu projenin yapm aamasnda edindiimiz tecrbelerden bazlarunlardr:

  • 8/7/2019 alc-verici rf devresi

    70/70

    70

    Maliyeti minimum dzeyde tutabilmek iin projenin gerekletirilmesi dnlen

    mikrodenetleyicinin sahip olduu zelliklere iyi bir ekilde hakim olmak

    gerektiidir.

    Mikrodenetleyiciyi programlama dili olarak hem ak kaynak kodlu olmas hasebiyle

    hem de PASCAL tabanl bir yazlm diline sahip olduundan JAL (Just Another

    Language) PIC programlama asndan kolay renilebilir ve uygulanabilirdir.

    Motorun ift ynl hareket etmesine ihtiya duyulan sistemlerde eer PWM kontrol

    kullanlmayacaksa H kprsndeki kaynak ksa devresi dezavantajna kar rleler

    kullanlarak bir avantaj salanabilir.