alıcı-verici rf devresi
Transcript of alıcı-verici rf devresi
-
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.