loadcell Ġle hareketlĠ bant ÜzerĠnde aĞirlik … · v lİsans bİtİrme projesİ onay formu...

57
T.C. KARADENĠZTEKNĠKÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-ElektronikMühendisliğiBölümü LOADCELL ĠLE HAREKETLĠ BANT ÜZERĠNDE AĞIRLIK ÖLÇÜMÜ Müjdat ALTUNKAYA 149867 Bahadır MERAKLI 137174 Prof. Dr. A. Sefa Akpınar Mayıs 2013 TRABZON

Upload: doanque

Post on 06-May-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

T.C.

KARADENĠZTEKNĠKÜNĠVERSĠTESĠ

Mühendislik Fakültesi

Elektrik-ElektronikMühendisliğiBölümü

LOADCELL ĠLE HAREKETLĠ BANT

ÜZERĠNDE AĞIRLIK ÖLÇÜMÜ

Müjdat ALTUNKAYA

149867

Bahadır MERAKLI

137174

Prof. Dr. A. Sefa Akpınar

Mayıs 2013

TRABZON

ii

iii

T.C.

KARADENĠZTEKNĠKÜNĠVERSĠTESĠ

Mühendislik Fakültesi

Elektrik-ElektronikMühendisliğiBölümü

LOADCELL ĠLE HAREKETLĠ BANT

ÜZERĠNDE AĞIRLIK ÖLÇÜMÜ

Müjdat ALTUNKAYA

149867

Bahadır Meraklı

137174

Prof. Dr. A.Sefa AKPINAR

Mayıs2013

TRABZON

iv

v

LİSANS BİTİRME PROJESİ ONAY FORMU

149867 Müjdat ALTUNKAYA ve 137174 Bahadır MERAKLI tarafından

Prof. Dr. Sefa AKPINAR yönetiminde hazırlanan “Loadcell İle Hareketli Bant

Üzerinde Ağırlık Ölçümü” başlıklı lisans bitirme projesi tarafımızdan incelenmiş,

kapsamı ve niteliği açısından bir Lisans Bitirme Projesi olarak kabul edilmiştir.

DanıĢman : Prof. Dr. Sefa AKPINAR ………………………………

Jüri Üyesi 1 : Prof. Dr. Cemil GÜRÜNLÜ ………………………………

Jüri Üyesi 2 : Doç. Dr. H. Ġbrahim

OKUMUġ

………………………………

Bölüm BaĢkanı : Öğr. Gör. Dr. Emre ÖZKOP ………………………………

vi

vii

ÖNSÖZ

Bu projenin her aĢamasını zevkle gerçekleĢtirirken, bir çok problemle karĢılaĢtık.

Bu zorlukları aĢmamızda fikirleriyle, emekleriyle ya da dostlukları ile bizlere her anlamda

destek olan arkadaĢlarımız Hakan ÇABAKÇOR, Alparslan YILDIRIM, Hüsnü CAN HEPER,

Burak GÜNEYLĠ, Tolga DÜZGÜN, Gönül ATĠK; değerli tez hocamız Prof. Dr. Sefa

AKPINAR ve bizleri bugüne getiren ve her daim yanımızda bizlerle yürüyen ailelerimize

teĢekkür ederiz.

Müjdat ALTUNKAYA

Bahadır MERAKLI

Bahar 2012/2013

TRABZON

viii

ix

İÇİNDEKİLER

Lisans Bitirme Projesi Onay Formu ...…………………………………………………………………..v

Önsöz ………………..…………………………………………………………………………………vii

Ġçindekiler ………………...……………………………………………………………………………ix

Özet ……………………………….……………………………………………………………...…...xiii

Kısaltmalar ………………………….…………………………………………………………….……xv

1. GĠRĠġ ……………….………………………………………………………………………………...1

1.1. StranGage (Gerinim Ölçer) Nedir? ……………………………..……….............................2

2. LOAD CELL ………………………………………………………………………………………....2

2.1. Load Cell Nasıl ÇalıĢır ……………………….………………………...………………….2

2.2. Load Cell Uygulamaları …………………………………………….……………………..2

2.2.1. Load Cell ile Tartım Bunkeri Uygulaması…………………….………………...2

2.2.2. Load Cell ile Tansiyon Kontrol…………………………………………………2

2.2.3. Silo Tartım Uygulaması…………………………………………………………3

2.2.4. Diğer Load Cell Uygulamaları…………………………………………………..3

2.3. LOAD CELL ÇEġĠTLERĠ……………………………………...…………………….……4

2.3.1. Yüksek Kapasiteli Yük Hücreleri……………………………...………………..4

2.3.2. S Tipi Yük Hücreleri…………………………………………………………….4

2.3.2.1. 3-10.000 kg kapasiteli S tipi Load Cell………………………………4

2.3.2.2. 10.000-20.000 kg kapasiteli Yük Hücreleri…………………………..4

x

2.3.3. ShearBeam Yük Hücreleri………………………………………………………4

2.3.3.1. L Tipi Yük Hücreleri (Load Cell)…………………………………….4

2.3.4. BendingBeam Yük Hücreleri……………………………………………………5

2.3.4.1. BT Tipi Yük Hücreleri (Load Cell)…………………………………..5

2.3.4.2. RT Tipi Yük Hücreleri (Load Cell)…………………………………..5

2.3.4.3. PL Tipi Yük Hücreleri (Load Cell)…………………………………...5

2.3.4.4. PS Sınıfı Yük Hücreleri (Load Cell)………………………………….5

2.3.5. Kolon Tipi Yük Hücreleri……………………………………………………….5

2.3.5.1. CT Sınıfı Yük Hücreleri (LoadCell)…………………………...……….5

2.3.6. Gergi Kontrol Yük Hücreleri…………………………….…………...…………6

2.3.6.1.RS Sınıfı Yük Hücresi (Load Cell)……………………………………6

3. BASKI DEVRE YAPIMI…………………………………………………………………….………6

4. PIC MĠKRODENETLEYĠCĠLER…….………………………………………..……………………8

4.1. Pic Nedir?.............................................................................................................................8

4.2. PIC Seçme Nedenleri...........................................................................................................9

4.3. PicMikrodenetleyicici Programının Yazılması …………..……………………………....10

4.3.1. Genel BakıĢ……………………………………………………….....................10

4.3.2. Pic Assembly Nedir?...........................................................................................10

4.3.3. Pic Assembly Öğrenmek Zor mudur?.................................................................10

4.3.4. Pic Assembly Ne Zaman Vazgeçilmezdir?.........................................................11

4.3.5. Pic Basic Nedir?..................................................................................................12

4.3.6. Pic Basic Komutları……………………………….………………………...…12

xi

5. Devrede Kullanılan Elemanlar……………………………….……………………………………..13

5.1 BC 337 Transistör…………………….....………………………………………………...14

5.2. 7805 Regülatör………………………………………………………………....................14

5.3. 4 MHz Rezonatör…………………………………………………………………………14

5.4. Röle…………………………………………………………………….……………...….14

5.5. PIC 16F870………………………………………………….……………………....…....15

5.5.1. PIC 16F870 Özellikleri………………………………………………………...15

5.5.2. PIC 16F870 Pin Bağlantıları…………………………………………………...16

5.5.3.PIC 16F870 Portlarının Fonksiyonları………………………………………….16

5.5.3.1. PORT A……………………………………………………………...16

5.5.3.2. PORT B……………………………………………………………...17

5.5.3.3. PORT C……………………………………………………………...18

6. Projenin GerçekleĢtirilmesi…………………...…………………………………………………….19

6.1. Proteus Simülasyonu……………………………………………………………………...20

6.2. Baskı Devre Çizimleri…………………………………………………………………....21

6.3. PIC PROGRAMI…………………………………………………………………………22

7. SONUÇ……………………………………………………………………...………………………37

KAYNAKLAR...……………………………………………………...…………………………….…38

STANDART ve KISITLAR FORMU ……….……………………………………………….39

ÖZGEÇMĠġ………………………………………………...………………………………………….40

xii

xiii

ÖZET

Bu çalıĢmaya ağırlık ölçümünü, ağırlık ölçme tekniklerini, ağırlık ölçmenin geçmiĢini

araĢtırarak baĢladık. UlaĢabildiğimiz veriler ıĢığında, Loadcell ile ağırlık ölçme tekniğini

kullanarak bir proje gerçekleĢtirdik. Loadcell ağırlık ölçme uygulamalarında çokça kullanılan

elektromekanik bir alettir.

Bu çalıĢmamızda Loadcell kullanarak bir bant üzerinde hareket eden cismin ağırlığını

ölçme iĢlemini gerçekleĢtirdik. PIC mikrodenetleyici kullanarak sistemimizi oluĢturduk. Bu

proje PIC mikrodenetleyicileri nasıl kullanacağımızı ve programlama mantığını öğrenmemizi,

Loadcell çalıĢma prensibini anlamamızı sağladı.

Kullandığımız malzemeleri gerek elektrik kısmında gerekse mekanik kısmı

oluĢtururken kaliteli seçim yapmaya çalıĢtık

Bu tarz bir sistemi bu elemanlarla oluĢturmak için bu elemanların birbirleri ile nasıl

iletiĢim kurdukları, giriĢ çıkıĢ karakteristiklerini, ihtiyaç duydukları ve beraber çalıĢabildikleri

elemanları araĢtırıp öğrenmemiz gerekti.

Bu projeyi gerçekleĢtirmek bize en baĢından en sonuna kadar, bir çok Ģey öğrenme

fırsatı sundu. AraĢtırdık, ihtiyaç duyduğumuz ve duyabileceğimiz herĢeyi öğrenmeye çalıĢtık

ve de sonunda bu projeye aktarmaya çalıĢtık.

xiv

xv

KISALTMALAR

A/D : Analog toDigital

ASK : AmplitudeShiftKeying

BASIC : Beginners’ AllpurposeSymbolicInstructionCode

CD : Compact Disc

CMOS : Complimentary Metal OxideSemiconductor

COM : Communication

EEPROM : ElectricallyErasableProgrammable Read Only Memory

EPROM : ErasableProgrammable Read Only Memory

IC : IntegratedCircuit

ISP : InSystem Programming

LCD : Liquid CrystalDisplay

LPT : Line Printer Terminal

MB : Mega Byte

PC : PersonalComputer

PDF : PortableDocument File

PIC : PeripheralInterface Controller

RAM : Random Access Memory

ROM : Read Only Memory

RISC : ReducedInstruction Set Computer

SCI : SerialCommunicationInterface

SPI : SerialPeripheralInterface

TTL : Transistor – Transistor Logic

VSWR : VoltageStandingWaveRatio

xvi

1

1.GİRİŞ

Bir cismin ağırlığının ölçülmesi iĢlemi, binlerce yıldır genellikle ekonomik sebepler

göz önünde bulundurularak yapılmıĢ ve metroloji biliminin en önemli ilgi alanlarından biri

olmuĢtur.

Günümüzde kullanılan metrik sistemin oluĢma geçmiĢi Fransız ihtilaline kadar

dayanmaktadır. Fransı ihtilalinin ardından 16. Louis bilim adamlarından oluĢan bir kurul

toplayarak genel bir ölçme-tartma sistemi oluĢturulması için yetki verdi.

Projemizde kullandığımız yük hücresi ağırlık ölçme sistemlerinde sıkça kullanılan

elektromekanik bir alettir. Loadcelle yapılan ağırlık ölçümünün bir ekrandan okunabilmesi

için bir dönüĢtürücü gerekmektedir. Bu iĢlem için en uygun dönüĢtürücü transducer yük

hücresidir.

Loadceller straingage yani uzamaölçer tabanlı dönüĢtürücülerdir. Straingage’ler bir

sistemin ya da yapının dinamik, statik dayanıklılıkları değerlendirilmesinde kullanılan çok

farklı yapıda ve büyüklüklerde bulunabilen elektronik malzemelerdir.

Loadcell kullanım alanı oldukça yaygın olduğundan dikkatimiz çekti ve projemizde

kullanmaya karar verdik.

Projemizde bir bant üzerinde hareket eden cismin ağırlığının ölçülmesi iĢlemini

gerçekleĢtirdik. Özellik olarak sistemin hızını göz önünde bulundurarak, birden fazla ürün

sırayla sisteme girdiği takdirde, sistem her birini sırayla tartıp ekrana yazdırır.

2

1.1.Strain Gage ( Gerinim Ölçer)

Strain gage türkçede gerinim ölçer anlamına gelmektedir. Bir diğer isimlendirmesi de

gerinim puludur. Üzerinde bulunduğu yüzeyde meydana gelen baskı veya gerinim miktarını

ölçmek için birçok alanda kullanılırlar. Bizim konumuza dahil olan kısmı sadece ağırlık ve

kuvvet ölçme yetenekleridir.

2.LOADCELL (Yük Hücresi)[3],[5]

2.1. Load Cell Nedir?

Loadcell, yük hücresi, üzerine uygulanan fiziksel kuvvete göre çıkıĢında bir elektrik

sinyali oluĢturan elektromekanik bir sistemdir. Yapısı, bir yay elemanı, özel ĢekillendirilmiĢ

ve özel seçilmiĢ metal Ģase ile straingagelerle kurulmuĢ bir wheatstone köprüsünden oluĢur.

2.2. Loadcell Nası Çalışır?

Yay üzerine uygulanan fiziksel bir kuvvet bir deformasyona sebep olur, yay

elemanında oluĢan bu esneme, wheatstone köprüsü üzerinden bir elektrik sinyali olarak çıkıĢ

verir. Elde edilen bu sinyal bir mikroiĢlemci tabanlı bir göstergede iĢlenerek, kuvvet ya da

ağırlık bilgisi olarak gösterilir.

2.3. Loadcell Uygulamaları

2.3.1. Tartım Bunkeri Uygulaması

Tartım bunkeri uygulamasında dikkat edilmesi gereken husus, loadcellerin birbirleri ile

120 derecelik açılarla konumlandırılması ve sistemde herhangi bir kasıntı oluĢmamasıdır.

2.3.2. Loadcell ile Tansiyon Kontrol

Loadcell kullanılarak sarma ve boĢaltma iĢlemlerinde meydana gelen gevĢeme veya

gerilme, control altına alınarak bu sebep ile meydana gelebilecek olumsuzluklar giderilir.

BoĢaltma rulosu önüne veya sarma rulosu gerisine ya da her ikisine birden uygulanabilir.

Rulonun boĢaltmaya baĢlaması ile oluĢan gerginlik kuvveti loadcell üzerine aktarılır.

3

Gerginlikte meydana gelen azalma ya da artma loadcelller tarafından algılanarak

tansiyon kontrol indikatörüne iletilir. Tansiyon kontrol indikatörü sistemi, daha önce

hafızasına kaydedilmiĢ olan set değerine çeker. Bu Ģekilde tansiyon kontrol altında tutulmuĢ

olur.

2.3.3. Silo Tartım Uygulaması

Silo tartım uygulamalarında dikkat edilmesi gereken husus, sistemde herhangi bi

kasıntı oluĢmamasıdır. Loadceller uygun montaj kitleri ile kullanıldıkları takdirde maksimum

performans sağlar. Yukarıda bahsi geçen kasıntı ve yükün loadceller üzerinde hizalanamaması

gibi sistemin doğruluğunu etkileyecek faktörlerden arınmıĢ olur.

2.3.4. Diğer Loadcell Uygulamaları

Tank tartım uygulaması

Kamyon kantarı uygulaması

Muhtelif terazi uygulamaları

Test makinaları uygulamaları

Vinç kantarı (Phantom) uygulaması

Asansör uygulamaları

4

2.4. LOADCELL ÇEŞİTLERİ [3],[5]

2.4.1. Yüksek Kapasiteli Yük Hücreleri

Yüksek kapasiteli yük hücresi, aynı kapasitedeki kolon tipi ve S tipi yük hücrelerine

kıyasla daha kısa yapısı ve eksen dıĢı yüklere karĢı mukavemeti nedeniyle silo, tank tartımı ve

kamyon kantarı gibi endüstriyel tartım uygulamalarında pek çok avantaj sağlar. 2000- 50000

kilo kapasiteli aralığında üretimleri yapılmaktadır.

2.4.2. S Tipi Yük Hücreleri

S tipi yük hücreleri genel olarak iki tipte üretilirler.

2.4.2.1. 3000-10000 Kg Kapasiteli S Tipi Loadcell

Bu yük hücreleri (loadcell) düĢük maliyeti ve yüksek güvenirlikleri ile tank, silo,

bunker tartımı, paketleme ve dozajlama sistemleri, çekme ve kopma test uygulamalarında

sıkça kullanılır. Basma ve çekme yönünde çalıĢmaktadırlar. 3-10000 kilogram aralığında

imalatı yapılmaktadır.

2.4.2.2. 10000-20000 kg Kapasiteli Yük Hücreleri

Bu Loadcell basma yönünde çalıĢan, kamyon kantarında ve tartım platformlarında

kullanım için tasarlanmıĢ S tipi yük hücresidir. 10000-20000 kilogram aralığında imalatı

yapılmaktadır.

2.4.3. ShearBeam Yük Hücreleri (Loadcell)

2.4.3.1. L Tipi Yük Hücreleri

L tipi yük hücreleri yüksek kapasiteli otomatik dolum makinalarında kullanılmak üzere

tasarlanmıĢtır. Montaj yönü ters çevrilerek tartım platformlarında da kullanılabilir. 300-5000

kg kapasite aralığında imalatı yapılmaktadır.

5

2.4.4. BendingBeam Yük Hücreleri

Genel olarak iki tipte üretimi yapılmaktadır.

2.4.4.1. BT Tipi Yük Hücreleri

BT tipi yük hücreleri çekme tipi yük uygulamaları için geliĢtirilmiĢtir. Bant kantarı ve

dikey dolum makinaları uygulama alanları arasında sayılabilir. 20-200 kg kapasite aralığında

imalatı yapılmaktadır.

2.4.4.2. RT Tipi Yük Hücreleri

RT modeli özellikle büyük platform terazilerinde kullanılmak üzere tasarlanmıĢtır.

Yüksek kapasiteli yer baskülleri, parça sayıcı teraziler, tezgah üstü teraziler ve ağırlık

kontrolü kullanım alanları arasında sayılabilir.

2.4.4.3. PL Tipi Yük Hücreleri

PL tipi yük hücreleri özellikle orta boy platform terazilerinde kullanılmak üzere

tasarlanmıĢtır. Parça sayıcı teraziler, tezgah üstü teraziler ve ağırlık kontrolü kullanım alanları

arasında sayılabilir.

2.4.4.4. PS Tipi Yük Hücreleri

PS sınıfı yük hücreleri düĢük maliyeti ile tezgah üstü terazi uygulamalrı için

geliĢtirilmiĢ olsa da dikey dolum makinalarında da kullanılmaktadır. Küçük boyutu ile

platform tipi ve parça sayıcı teraziler için ideal yük hücresidir.

2.4.5. Kolon Tipi Yük Hücresi

2.4.5.1. CT Sınıfı Yük Hücreleri

CT sınıfı loadcell özellikle kamyon kantarı ve silo tartım uygulamaları için geliĢtirilmiĢ

kolon tipi bir yük hücresidir. 10 ton ve 30 ton kapasitelerinde imal edilmektedir.

6

2.4.6. Gergi Kontrol Yük Hücreleri

2.4.6.1. RS Sınıfı Yük Hücresi

RS sınıfı loadcell sarma-boĢaltma makaralarındaki gerginliğin kontrol edilebilmesi

amacıyla imal edilmiĢtir. Rulo ucuna, loadcell üzerindeki yatağa yerleĢtirilen rullman

üzerinden montajlanarak, sarma veya boĢaltma iĢlemi sırasında ruloya uygulanan kuvveti

algılar. Tekstil ve matbaa sektöründe geniĢ uygulama alanına sahiptir. 25, 50, 100 kg

kapasitelerde imal edilmektedir.

3.BASKI DEVRE YAPILIŞI

Baskı devre yapımında en çok kullanılan yöntem ütü ile baskı yöntemidir. Bu yöntem

bir kuĢe kağıdın üzerine lazer yazıcıdan baskı devremizin Ģekli alınarak yapılır. Bu iĢleme

öncelikle bi bakır plaket alarak baĢlıyoruz.

Plaketimizin üzeri ilk baĢta kirlidir ve üzerine baskı almamızı zorlaĢtırır. Bu yüzden

ince bir zımpara ile plaketin bakır yüzü parlayana kadar zımparalanır. Zımparalama iĢlemi

yapılırken zımaparalamanın aynı yönde olmasına dikkat edilmelidir.

Bakır plaketi zımparaladıktan sonra, plaketin üzerinde kalan bakır parçaları aseton ile

mümkün olduğunca temizlenir. Temizlenen kısma mümkün olduğunca dokunulmaması

öncemlidir.

KuĢe kağıda lazer yazıcı üzerinden baskı devre Ģekli basılır. Bu kuĢe kağıt bir

dergiden, bir ilandan ya da bir reklam kağıdından olabilir. Üstünde yazı olması baskı

yapılmasını engellemez.

Daha sonra bakır plaketin boyutlarından biraz daha büyük Ģekilde kağıt kesilerek

baskılı kısmı bakır yüzeye gelecek Ģekilde yapıĢtırılır.

Güzelce sarıp bantalayarak bir paket haline getirerek kağıdın bakır plaket üzerinden

kayması engellenir.

7

Sardıktan sonra kağıt üzerinden ütülenir, ütü en sıcak kademesinde kullanılır ve bütün

yüzeyler olabildiğince eĢit ısıtılır. Burda yapılmak istenen bir plastik çeĢidi olan tonerin

eritilerek bakır plaka üzerine geçmesini sağlamaktır.

Bu yapıĢma iĢleminin tamamlandığını anlamak için ütülenen plakete bakılır. Plakette

devre Ģemasının görüntüsünün algılanması gerekir. Belli olmayan yollar eriyip yapıĢmamıĢ

demektir.

YapıĢtığından emin olunduktan sonra, bu haliyle suya atılarak üzerindeki kuĢe kağıt

iyice yumuĢayıp hamur kıvamına gelinceye kadar bekletilir. Sıcak su kullanılması kağıdı iyice

hamurlaĢtırıp soymaya baĢlayacaktır.

Kağıt hamurlaĢtıktan sonra kağıt ovalanarak kaldırılır. Kağıt kaldırıldıktan sonra devre

yolları elde edilir. Bu aĢamadan sonra devre tuz ruhu aseton karıĢımına atılarak yolların

dıĢında kalan bakır alanları kaldırılır. Dikkat edilmesi gereken asit karıĢımının çok keskin

olmaması ve asit karıĢımında çok fazla bekletilmemesidir. Devre yolları elde edildikten sonra

devre asitten çıkarılarak su ile yıkanır. Asit karıĢımı çok keskin olur ya da çok fazla

bekletilirse devre yolları zarar görebilir.

Perhidrol tuz ruhu oranı önce belli bir miktar tuz ruhu döküp sonra devre içine atılır ve

içine azar azar perhidrol katılır. Devredeki bakır rahat bir Ģekilde kaldırılınca asit kabı sallanır.

Asit oranını etkileyen bir baĢka etken de sıcaklıktır.

Son olarak yollar üzerindeki tonerler zımparalanarak çıkartılır. Baskı devre kullanıma

hazır hale gelmiĢtir. Bundan sonra pedler delinerek elemanlar yerleĢtirilir.

8

4. PIC MİKRODENETLEYİCİLERİ [2]

4.1. Pic Nedir?

Pic serisi mikroiĢlemciler MICROCHIP firmasının geliĢtirmiĢ olduğu çok fonksiyonlu

mantıksal uygulamaların, bir mikroiĢlemci kullanılarak, yazılımsal olarak

gerçekleĢtirilmesidir. PIC kelime anlamı olarak, Peripheral Interface Controller, giriĢ çıkıĢ

iĢlemcisidir. 1994 yılında 16 bit ve 32 bitlik büyük iĢlemcilerin giriĢ ve çıkıĢlarındaki yükü

azaltmak ve denetlemek amacıyla çok hızlı ve ucuz bir çözüme ihticaç duyulduğu için

geliĢtirilmiĢtir.

PIC16C54 ilk geliĢtirilen model olup, 12 bit komut hafıza geniĢliği olan 8 bitlik CMOS

bir iĢlemcidir. 13 giriĢ çıkıĢ bacağı vardır. 33 adet komuttan oluĢan bir program belleği vardır

ve 20 MHz hıza kadar kullanılabilir.

25 Byte Ram’e sahiptir. Program EPROMu 512 Bytedır. Hafıza kapasitesi çok az

olduğu düĢünülebilir ama bir RISC iĢlemci olmasından dolayı, birçok iĢlevin bu hafıza

miktarıyla uygulanabilmesi mümkündür. Bir bacağından 40 mA akım çekilebilmekte

toplamda ise 150 mA akım çekilebilmektedir.

PIC 16C54’ün fiyatının yaklaĢık 2 USD olduğu düĢünülürse bu iĢlemcinin fiyat olarak

çok avantajlı olduğu kolayca anlaĢılır. PIC 16C54 ‘un ait olduğu iĢlemci ailesi 12 bit 16C5X

olarak adlandırılır. Sonradan üretilen 14 bit’lik 16CXX serisi, interrupt kapasitesi ve 14 bitlik

komut iĢleme hafızası ile daha yetenekli bir iĢlemci grubudur.

16CXX serisinin, devre üstünde bile seri olarak programlanabilmesi, interrupt özelliği,

33 giriĢ/çıkıĢ , A/S çevirici, USART, 12C, SPI gibi endüstri standard giriĢ çıkıĢları kabul

edebilmesi en önemli özellikleridir. PIC 16F84, elektronik bir proje gerçekleĢtirmiĢ herkes

tarafından en çok bilinen ve dünyada üzerinde en çok proje üretilmiĢ mikroiĢlemcidir. PIC

16F84 ün çok tercih edilmesinin nedeni EEPROM program belleğine sahip olmasıdır. Bu

belleğe programlar elektrikle yazılabilmekte ve silinebilmektedir. Bu da bizlere birçok kez

deneme yapabilme imkanı vermektedir.

9

4.2. PIC Seçme Nedenleri [4]

Kod Verimliliği

PIC mikroiĢlemcisi, bellek ve veri için ayrı yerleĢik buslar bulundurduğundan veri

aktarım miktarı veriye ve program belleğine aynı anda eriĢim sayesinde hızlanmıĢ olur.

Standart mikrodenetleyicilerde veriyi ve programı taĢıyan tek bir bus bulunmaktadır. Yani

PIC’e göre en az yarı yarıya daha yavaĢtır.

Güvenilirlik

Program komutları, 12 veya 14 bitlik bir program bellek sözcüğüne sığar. Yazılımın,

programın veri kısmına atlamaya ve veriyi komut gibi çalıĢtırmasına gerek yoktur.

Komut Seti

Çoğu PIC serisi için komut sayısı 35’i geçmez. PIC komutlarının hepsi yazı temellidir

ve 12 veya 14 bit uzunluğundadır.. Düzgün çalıĢan bir sistem veya uygulama için yazılımsal

hata olmamalıdır. PIC’in yazılımı Basic, C ya da Assembly gibi dillerde veya ikili(binary)

olarak yazılabilir.

Hız

PIC birçok mikrodenetleyiciye göre daha hızlı bir mikroiĢlemcidir. Her bir döngüsü

1msdir. Örnek verecek olursak 5 milyon komut içeren bir programın, 20 MHz lik bir kristal

kullanılarak adımlama iĢleme sadece 1 saniye sürer.

Statik İşlem

PIC tamamen statik bir iĢlemcidir. Yani programı durdurduğunuzda tüm yazma

iĢlemleri içeriği korunur. Pratikte tam olarak mümkün değildir. PIC uyuma modunda iken,

saat durur ve PIC’e uyutma iĢleminden önce hangi durumda olduğunu size hatırlatacak çeĢitli

bayraklar kurar.

10

4.3. MIKRODENETLEYİCİ PROGRAMININ YAZILMASI

4.3.1. Genel Bakış

Bu bölüm altında PIC Assembly ve PIC Basic programlama dilleri tanıtılacak, ayrıca

PIC’e yüklenecek olan HEX kodunun oluĢum aĢaması gözden geçirilicektir.

4.3.2. PIC Assembly Nedir?

PIC Assembly, PIC mikrodenetleyicileri için tasarlanmıĢ olan, tamamı ile assembly

tabanlı olan alt düzey bir programlama dilidir. Adının özellikle PIC Assembly olmasının

nedeni, bazı komutlarının 8086 veya 8051 gibi iĢlemcilerin kullandığı Assembly dilindeki

komutlardan farklı yazılıĢta olmasından kaynaklanmaktadır. PIC Assembly dili ile program

yazarken kullanılan donanımın çok önemi vardır. Yazılan kodların çoğu kullanılan donanıma

bağlı olarak yazılır. Bu da programın taĢınabilirliğini azaltan bir faktördür. Örneğin PIC

16F870 için yazılan bir PIC Assembler kodu, PIC 16F84 ile kullanılamayacaktır. Bu durum

Assembly dillerinin en zayıf yönüdür. Alt baĢlıklarda PIC Assembly komutları ve çeĢitli

özelliklerinden bahsedilecektir.

4.3.3. PIC Assembly Öğrenmek Zor mu?

Evet. Özellikle yeni baĢlayanlar için epey zorlu bir uğraĢ olabilmektedir. Bir likid

kristalli ekranı tanmlamak, onu kullanılabilir hale getirmek ve sonra da ekrana biĢeyler

yazdırabilecek kodu oluĢturmak bile günlerinizi alabilir eğer çok tecrübeli değilseniz.

Zamanın çok değerli olduğu günümüzde, bu durumdan kurtulabilmek için, Basic, C, 30

Pascal gibi daha yüksek düzey programlama dillerini kullanarak Assembly kodlarını

oluĢturma imkanımız bulunmaktadır.

Projede kullanılmıĢ olan PIC Basic ileriki bölümlerde anlatılacaktır. ġimdi maddeler

halinde C, Basic gibi programları baz alarak, PIC Assembly dilinin verimsiz yönleri ele

alınacaktır.

11

4.3.4. PIC Assembly Ne Zaman Vazgeçilmezdir?

Assembly için söylenmiĢ eski bir söz vardır. Assembly kullanmak için 3 neden vardır.

Hız, hız ve daha çok hız. Bu söz herĢeyi açıklayabilmektedir. Assembly ve bir alt dil olan PIC

Assembly, diğer üst düzey programlama dillerinden çok daha hızlıdırlar. MHz’ler

mertebesindeki iĢlemcilerin bile hayal olduğu zamanlarda Assembly kesinlikle tek seçenek idi.

Örneğin C programlama dilinde en basit programda bile, stdio.h kütüphane dosyasını

yazdğınız programın içine eklemeniz gerekmektedir. Bu da tabiki programa yük getirmektedir

ve programın boyutu büyümektedir. Assembly dilinde böyle bir kütüphane dosyası

olmadığından, yazılan her satır kodun tamamıyla gerekli olduğu için yazıldığından, Assembler

kod dosyaları daha küĢük boyutlu olmaktadır. Hızlarının sırrı buradan gelmektedir. Küçük

olan program daha kısa sürede yüklenebilir ve iĢleme geçirilebilir.

Günümüzde en basit iĢlemci ve denetleyicilerin bile hızları 20 MHz düzeyine

ulaĢmıĢtır. Ayrıca komut iĢleme süreleri geliĢen elektronik bilimi il nanosaniye gibi çok kısa

zaman birimlerine düĢmüĢtür. Yüksek düzey programlama dillerinde yazılan kodların fazladan

getirdiği baytlar artık iĢlemcilere ve denetleyicilere yük olmamaktadır. Bu nedenle birçok

uygulamada Assemblyden daha yüksek düzey bir programlama dili kullanmak zaman

açısından tasarımcıyı rahatlatmaktadır. Fakat çok kısıtlı hafıza birimleri ile çalıĢırken veya son

derece yüksek hızlarda çalıĢılması gerektiğinde Assembly dili tercih edilebilir.

Ayrıca Assembly dili ile, üst düzey programlama dilleri ile çok zor yazılabilecek

kodları yazma imkanı bulunmaktadır. Kısaca diğer dillere göre çok daha geniĢ bir ufka sahip

bir programlama dilidir. Bu durumu C programlama dili ve diğer üst düzey diller, Assembly

kodlarını kodun içine kabul etme yöntemiyle kendi lehlerine çevirmeye çalıĢmıĢlardır.

Örneğin C programlama dili ile program yazarken, birkaç satır Assembly koduna da

ihtiyaç duyulursa, araya eklenir ve sonra tekrar C koduna devam edilebilir.

Yüksek düzey programlama dillerinden yazılması imkansız olan durumlarda, ve çok

hassas hız gereksinimlerinin olduğu durumlarda günümüzde kullanılmaktadır.

12

4.3.5. PIC Basic Nedir?

PIC Basic, üst düzey bir programlama dili olan Basic’in bir mikrodenetleyici olan PIC

için düzenlenmiĢ sürümüdür. Bu programlama dili kullanılarak, PIC çok daha kolay ve hızlı

biçimde istenilen iĢlevleri yerine getirebilmektedir. Projede tercih edilmesinin sebebi, kolay

kullanılabilir olması ve C programlama diline olan benzerliğidir.

4.3.6. PIC Basic Komutları

PIC Basic programlama dili 65 adet komut içermektedir. Bu 65 komut her türlü

programlama ihtiyacına cevap verebilmektedir. Ayrıca Assembly koumutu kullanılmak

istenildiğinde ASM … ENDASM komutlarının arasına yazarak Assembly kodları da BASIC

kodları ile birlikte kullanılabilmektedir. Tablo 1’de PIC Basic komutları verilmektedir.

Tablo 1. PIC Basic Komutları [4]

@ ASM..ENDASM ADCIN BRANCH BRANCHL

DATA DTMFOUT EEPROM END FREQOUT

FOR-NEXT GOSUB GOTO HIGH HSERIN

HPWM HSEROUT I2CREAD I2CWRITE INPUT

IF-THEN-ELSE LCDOUT LCDIN LET LOOKDOWN

LOOKDOWN2 LOOKUP LOOKUP2 LOW NAP

OUTPUT OWIN OWOUT PAUSE PAUSEUS

POT PULSIN PULSOUT PWM RANDOM

RCTIME READ READCODE RETURN REVERSE

SELECT-CASE SERIN SERIN2 SEROUT SEROUT2

SHIFTIN SHIFTOUT SLEEP SOUND STOP

SWAP TOGGLE WRITE WRITECODE WHILE-WEND

13

5. Devrede Kullanılan Elemanlar

1x PIC 16F870

4x BC 337 Transistör

1x 7805 Regülatör

1x LM016L 16x2 LCD Display

1x 4 MHz Rezonatör

3x Buton

1x Tek kontak Röle

1x Çift Kontak Röle

3x 220 Ohm Direnç

1x 100 Ohm Direnç

1x Fotodiyot

3x Diyot

2x Led

1x PS-4X Loadcell

1x Transducer

2x 12V, 5A DC Motor

14

5.1. BC 337 Transistör

Motorları bağladığımız röleleri sürmek için kullandığımız BC 337, PIC’in 5V çıkıĢıyla

ON konumuna getirilip, röleyi 12 V ‘luk çıkıĢ gerilimi ile tetiklememizi sağlar.

5.2. 7805 Regülatör

12 V giriĢ gerilimi olan devrede, PIC giriĢi olan 5 V DC gerilimi elde edebilmek için

7805 Regülatöründen faydalandık.

5.3. 4 MHz Rezonatör

Hazırlanacak olan PIC programlarında kullanılacak osilatör tipi PIC programının

çalıĢma hızını hassasiyetini etkileyeceğinden dolayı amaca uygun bir osilatör devresi

kullanılmalıdır.

Osilatör tipinin seçilmesinde dikkat edilecek bir baĢka husus da seçilecek olan

osilatörün kullanılan PIC’in özelliğine uygun olmasıdır. Örnek verecek olursak en fazla 10

MHz çalıĢma frekansına sahip bir PIC için 20 MHz çalıĢma frekansına sahip bir osilatör

kullanmak doğru olmaz.

Devremizde bizim çalıĢma koĢullarımıza en uygun olduğunu düĢündüğümüz 4 MHz

Rezonatör kullandık.

5.4. RÖLE

Röle, elektrik devrelerinde voltaj ve akım değerleri yardımı ile akım yolunu açıp

kapatarak sistemin çalıĢma mantığını düzenleyen elektromekanik bir cihazdır. Röle, prensip

olarak bir veya birkaç elektromagnet bobin ve bu bobinin hareket ettirdiği kol ve kola bağlı

kontak düzeni olan kapalı kutu biçimindedir.

15

5.5. PIC 16F870

5.5.1. PIC 16F870’in Özellikleri

Tablo 2. PIC 16F870 Özellikleri [1]

ÖZELLĠK PIC 16F870

ÇalıĢma Hızı DC- 20 MHz

Program Belleği 128 Bytes

FLASH Program Belleği 2Kx14 kelime FLASH ROM

EEPROM Veri Belleği 64 Bytes

GiriĢ/ÇıkıĢ Port Port A,B,C

Timer 3

A/D Çevirici 5 kanal 10 Bit

Capture/Comp./PWM

(Yakalama/Kıyaslama/ PWM)Modül

1

Seri ĠletiĢim USART

Paralel ĠletiĢim -

USART/SCI 9 Bit Adresli

16

5.5.2. PIC 16F870 Pin Bağlantıları

ġekil 1’de PIC 16F870 in pin bağlantılarını görmekteyiz.

ġekil 1. PIC 16F870 Pin Bağlantıları [1]

5.5.3. PIC 16F870 Portlarının Fornksiyonları

5.5.3.1. PORT A

A Portu hem digital giriĢ çıkıĢ hem de analog giriĢ uçları görevleriini yapan bir

portdur.Tablo 3’de Port A’nın Pin açıklamaları verilmiĢtir.

Tablo 3. PIC 16F870 Port A Pin Açıklamaları [1]

Pin Adı Pin No Buffer Tipi Pin Fonksiyonları

RA0/AN0 0 TTL Digital I/O veya Analog GiriĢ

RA1/AN1 1 TTL Digital I/O veya Analog GiriĢ

RA2/AN2/Vref- 2 TTL Digital I/O veya Analog GiriĢ veya Vref-

RA3/AN3/Vref+ 3 TTL Digital I/O veya Analog GiriĢ veya Vref+

RA4TOCKI 4 ST/OD Digital I/O veya Timer0 DıĢ Saat Sinyal

GiriĢi

RA5/SS/AN4 5 TTL Digital I/O veya Analog GiriĢ veya

Senkron ser iletiĢim slave seçme giriĢi

17

5.5.3.2. PORT B

Digital giriĢ çıkıĢ olarak kullanılabilen, 8 bitlik bir portdur. B portu denetleyici içinde

dahili olarak pull-up yapılmıĢ gibidir. Port B’nin bu özelliği ile bu port giriĢ olarak

kullanıldığında giriĢte sinyal yokken giriĢ lojik-1 olarak algılanır. Bu sayede ek dirence gerek

olmadan buton giriĢi uygulamalarında tercih edilir. Dahili pull-up olayı programla aktif veya

pasif hale getirilebilir. Tablo 4’de Port B’nin pin açıklamaları verilmiĢtir.

Tablo 4. PIC 16F870 Port B Pin Açıklamaları [1]

Pin Adı Pin No Buffer Tipi Pin Fonksiyonları

RB0/INT 0 TTL/ST Digital I/O veya Harici Kesme

RB1 1 TTL Digital I/O

RB2 2 TTL Digital I/O

RB3/PGM 3 TTL Dijital I/O veya LVP (düĢük gerilimle

programlama) modunda programlama giriĢi

RB4 4 ST Digital I/O

RB5 5 TTL Digital I/O

RB6/PCG 6 TTL/ST Digital I/O veya Seri Programlama Clock Pini

RB7/PGD 7 TTL/ST Digital I/O veya Seri Programlama Data Pini

18

5.5.3.3. PORT C

Tablo 5’de PIC 16F870 Port C pin özelliklerini incelemekteyiz.

Tablo 5. PIC 16F870 Port C Pin Açıklamaları [1]

Pin Adı Pin

No

Buffer

Tipi

Pin Fonksiyonları

RC0/T1OSO/T1CK1 0 ST Digital I/O veya TMR1 osilatör çıkıĢı veya TMR1

clock giriĢi

RC0/T1OSO/TCCP2 1 ST Digital I/O veya TMR1 osilatör giriĢi veya CCP2

çıkıĢı

RC2/CCP1 2 ST Digital I/O veya CCP1 çıkıĢı

RC3/SCK/SC 3 ST Digital I/O veya SPI Modunda data giriĢi I2C

modunda I/O ucu

RC4/SDI/SDA 4 ST Digital I/O veya SPI Modunda data giriĢi I2C

modunda I/O ucu

RC5/SDO 5 ST Digital I/O veya seri iletiĢimde data çıkıĢı

RC6/TX/CK 6 ST Dijital I/O veya USART asenkron seri iletiĢimde data

gönderme pini veya USART asenkron ser iletiĢimde

clockpini

RC7/RX/DT 7 ST Dijital I/O veya USART asenkron seri iletiĢimde data

giriĢi veya USART senkron seri iletiĢimde data pini

19

6.Projenin Gerçekleştirilmesi

Tablo 6’da bir projenin gerçekleĢtirilme aĢamaları görülmektedir.

Tablo 6. Proje GerçekliĢtirme AkıĢ Diyagramı

Projenin Tanımlanması

Problemin Çözüm Yollarının Belirlenmesi

En Uygun Çözüm Yolunun Seçilmesi

Seçilen Yola Uygun Elektronik Elemanların Temini

İşlemciler için Gerekl Yazılımın Oluşturulması

Deney Ortamının Hazırlanması ve Deneylerin Gerçekleştirilmesi

Deney Sonuçlarının Değerlendirilmesi ve Eniyileştirilme İşlemi

Devrenin Son Şeklinin Hazırlanması ve Baskı Devreye Geçiş

Raporun Hazırlanması

20

6.1. Proteus Simulasyonu

ġekil 2 tasarladığımız projenin proteus simulasyonudur.

ġekil 2.Tasarlanan Devrenin Proteus Simülasyonu

21

6.2. Baskı Devre Çizimleri

Devremizin baskı devre çizimleri Ģekil 3 ve Ģekil 4 de görülmektedir.

ġekil 3. Devremizin Baskı Devre Çizimi

22

ġekil 4. Fotosensör Baskı Devresi

23

6.3. PIC Programı

****************** KONFĠGÜRASYON AYARLARI *************************

'********************** OSĠLATÖR TANIMLAMA**************************

defineosc 4

'**************** ADC ÖLÇÜM AYARLARI ***********************

DEFINE ADC_BITS 8 'Number of bits in ADCIN result

DEFINE ADC_CLOCK 3 'ADC clocksource (rc = 3)

DEFINE ADC_SAMPLEUS 50

'**************** LCD TANIMLAMALARI ***********************

DEFINE LCD_DREG PORTC 'LCD data port

DEFINE LCD_DBIT 4 'LCD datastarting bit 0 or 4

DEFINE LCD_RSREG PORTB 'LCD registerselect port

DEFINE LCD_RSBIT 1 'LCD registerselect bit

DEFINE LCD_EREG PORTB 'LCD enable port

DEFINE LCD_EBIT 0 'LCD enable bit

DEFINE LCD_BITS 4 'LCD bus size 4 or 8

24

DEFINE LCD_LINES 2 'Numberlines on LCD

DEFINE LCD_COMMANDUS 2000 'Commanddelay time in us

DEFINE LCD_DATAUS 50 'Data delay time in us

'**************** DEĞĠġKEN TANIMLAMALARI

LOADOLC varword 'olcme sonucu

dara varword 'dara değiĢkeni

agr1 varword 'önceki agırlık

agr2 varword 'yeni eklenen agırlık

ldeski varword 'eski loadcell sonucu

ldorta varword 'olcme ortalama

ldtopla varword 'değiĢken toplamı

kalibag varword 'ayarlanan kontrol agırlığı

kalibg varword 'hesaplama için kg baĢına adc değeri

say1 varbyte 'olcme sayısı değiĢkeni

say2 varbyte 'Menüler arası geçiĢ için gerekli sayıcı

say3 varword 'Ayar menüsü geçiĢ değiĢkeni

say4 varbyte 'bant motoru için devrede kalma süresi

say5 varbyte 'Yön klepesinin devrede kalacağı süre

say6 varbyte 'Yön klepesinin devrede kalacağı süre

takas varword 'Menülerdeki ayarları yapmak için takas değiĢkeni

dega varword 'Darası çıkmıĢ adc ölçümü

25

degb varword 'Kg sayıcı değiĢkeni

degc varword 'Kg hesaplamasından kalan hesabı

degd varword 'Ağırlık değiĢkeni

edegb varword

esdeger varword

klkont varbyte 'Klepe için yön değiĢkeni

kaykont varbyte 'Kayıt yapılıp yapılmadığına dair değiĢken

agsay varbyte 'Mekanizmadaki paket sayısı

kontrol var bit 'Eklenen ağırlığın kontrol ağırlığı ile karĢılaĢtırılmasında kullanılan değiĢken

irkont varword 'Fotosele ait konum değiĢtirme değiĢkeni

agkont varword 'Yeni ağırlığa ait kontrol değiĢkeni

guncelle var bit

'**************** PORT GĠRĠġ-ÇIKIġ AYARLARI **************************

trisa=%00000001 'porta giriĢ

trisb=%11110000

trisc=%00000100

option_reg=7 'Prescalar TMR0 için geçerli

bant var portc.0

klepe var portc.1

26

irpin var portc.2

kltran var portc.3

lcdayd var portb.2

tsppin var portb.4

ykbut var portb.5

asbut var portb.6

prbut var portb.7

'************** REGISTER ÖN DEĞERLERĠ *******************************

porta=0

portb=0

portc=0

say1=0

say2=0

say3=0

klkont=0

say4=0

ldeski=0

ldorta=0

agsay=0

irkont=0

27

agkont=0

guncelle=1

read 0,kaykont

ifkaykont<>1 thensifir 'Eğer daha önce ayar yapılmamıĢsa sistem değiĢkenlerini sıfırla

callhafoku 'HAFIZAYA ALINMIġ DEĞERLERĠ OKU

if agr2>=kalibagthenagsay=1:call agrdeger 'Mekanizma ilk çalıĢtığında üzerinde ağırlık varsa iĢle.

'***************** ANA PROGRAM **********************************

start:

callhafoku

lcdout $fe,1,"1.",dec4 agr1," 2.",dec4 agr2

lcdout $fe,$8e,"gr"

lcdout $fe,$c0,dec4 degb

lcdout $fe,$c6,#agsay

lcdout $fe,$c8,bin8 klkont

irkont=0

start2:

if say6>5 then say6=0:degb=degd:goto start3

28

ifprbut=0 then

say3=say3+1

else

say3=0

endif

if say3>10 then say3=0:goto ayar

ifirpin=1 thenirkont=1

ifirkont=1 then

ifirpin=0 thencall klyer2:goto start

endif

ifklkont=0 then say4=say4+1:agr2=0

if say4>50 then 'bant için boĢaldıktan sonra çalıĢma uzunluğu (kısa kalırsa 50 değerini arttır)

low bant

say4=55

else

high bant

endif

say5=say5+1

if say5>20 then 'yön motoru devrede kalma süresi (kısa kalırsa 10 değerini arttır)

lowkltran

else

highkltran

29

endif

klepe=klkont.0 'Ġlk sıradaki ağırlık için klepeyi hazırla

callolcme 'loadcell'den değer al

call hesap

ifldeski=ldortathen say6=say6+1:goto start2 'eski ağırlık değeri ile geldiysen geri dön

say6=0

ldeski=ldorta

goto start2

start3:

' ifldeski=ldortathen start2 'eski ağırlık değeri ile geldiysen geri dön

' call hesap 'grama dönüĢtürme alt programına git

ifdegb>agr2 then '***** Eski ağırlığı ***************

agr1=agr2 '***** dara olarak ***************

agr2=degb-agr1 '***** al ***************

say4=0 '***** Yeni ***************

else '***** ağırlığı ***************

agr2=0 '***** hesapla ***************

endif '***** hesaplama sonu ***************

ifedegb=degbthen start2 'eski ağırlık değeri ile geldiysen geri dön

' ifesdeger=agr2 then start2 'eski ağırlık değeri ile geldiysen geri dön

edegb=degb

callagrdeger 'Yeni ağırlık için klepe konumu ayarla

30

gotostart

hesap: 'Grama dönüĢtürme alt programı

ifldorta>=dara thendega=ldorta-dara

ifldorta<dara thendega=dara-ldorta

degd=(dega*kalibag)/kalibg

' ldeski=ldorta

return

agrdeger: 'Yeni ağırlık varsa kontrol ağırlığı ile karĢılaĢtır

ifesdeger=agr2 thenreturn

ifdegb<=100 thendegb=0

if agr2>=kalibagthen

kontrol=1

else

kontrol=0

endif

if agr2>esdegerthenagsay=agsay+1:call klyer

esdeger=agr2

return

klyer: 'Klepe değiĢkenini ayarla ve yön seç

ifagsay>8 thenagsay=8:return

ifagsay=1 then klkont.0=kontrol

ifagsay=2 then klkont.1=kontrol

31

ifagsay=3 then klkont.2=kontrol

ifagsay=4 then klkont.3=kontrol

ifagsay=5 then klkont.4=kontrol

ifagsay=6 then klkont.5=kontrol

ifagsay=7 then klkont.6=kontrol

ifagsay=8 then klkont.7=kontrol

return

klyer2: 'Fotoselden paket geçti yeni pakete hazırlık yap

ifagsay=0 thenreturn

klkont=klkont>>1

irkont=0

agsay=agsay-1

say5=0

return

ayar: 'Ayar menüsü

lcdout $fe,1,"Dara =",#ldorta

lcdout $fe,$c0,"Yuk->Ok Ipt->Pr"

ayar2:

ifprbut=0 then ayar2

ayar3:

ifprbut=0 thenstart

ifykbut=0 thendaraok

32

callolcme

ifldeski=ldortathen ayar3

ldeski=ldorta

goto ayar

daraok: 'Dara ayarlama ve kayıt

takas=0

lcdout $fe,1

lcdout $fe,1,"Dara alindi"

lcdout $fe,$c0,"Dara =",#ldorta

write 1,ldorta.highbyte

write 2,ldorta.lowbyte

pause 1000

callhafoku

kalibre: 'Kontrol ağırlığı ayarlama ve kayıt

lcdout $fe,1,"Kontrol Agirligi"

lcdout $fe,$c0,dec4 kalibag," gr-> ",#kalibg

kalibre2:

ifprbut=0 then kalibre2

kalibre3:

callolcme

ifykbut=0 then takas=kalibag:callarttir

ifasbut=0 then takas=kalibag:call azalt

33

ifprbut=0 thenkalson

ifkalibag=takas then

ifldeski=ldortathen kalibre3

endif

ifykbut=1 then

ifasbut=1 then say2=0

endif

if takas>5000 then takas=0

kalibag=takas

kalibg=ldorta-dara

ldeski=ldorta

goto kalibre

kalson: 'Hafızaya kayıt alt programı

lcdout $fe,1

lcdout $fe,1,"Kontr.Agr->Tamam"

lcdout $fe,$c0,dec4 kalibag," gr-> ",#kalibg

write 3,kalibg.highbyte

write 4,kalibg.lowbyte

write 5,kalibag.highbyte

write 6,kalibag.lowbyte

pause 1000

callhafoku

34

write 0,1

klkont=0

klepe=0

agr1=0

agr2=0

agsay=0

gotostart

hafoku: 'Hafızadaki bilgileri okuma alt programı

read 1,dara.highbyte

read 2,dara.lowbyte

read 3,kalibg.highbyte

read 4,kalibg.lowbyte

read 5,kalibag.highbyte

read 6,kalibag.lowbyte

return

arttir: 'Değeri arttır

takas=takas+100

say2=say2+1

if say2>5 thenharttir

pause 250

return

azalt: 'Değeri azalt

35

takas=takas-100

say2=say2+1

if say2>5 thenharttir

pause 250

return

harttir: 'Değeri hızlı değiĢtir

pause 50

if say2>5 then say2=10

return

olcme: 'Ölçme alt programı

adcin 0,loadolc

ortaal: 'Ölçme sonuçlarının ortalamasını alma alt programı

ldtopla=ldtopla+loadolc

say1=say1+1

ldorta=ldtopla/say1

if say1<250 thenolcme

say1=0:ldtopla=0

return

sifir: 'BaĢlangıçta değerleri sıfırlama alt programı

lcdout $fe,1,"*Ayar yapilmadi*"

lcdout $fe,$c0,"Ayar icin ->Menu"

36

sifir2:

ifprbut=0 then

say3=say3+1

pause 3

else

say3=0

endif

if say3>1000 then say3=0:goto ayar

goto sifir2

37

7. SONUÇ

Bu projede bir bant üzerinde hareket eden ağırlıklarını ölçme, sisteme giren birden

fazla ürünün ağırlıklarını belirleme ve atadığımız referans değere göre ürünleri ayrıĢtırma ve

ölçülen ağırlıları bir LCD ekran üzerinden okuma iĢlemleri için bir sistem tasarladık. Ölçülen

verileri iĢleme görevi bir PIC mikrodenetleyicisi PIC 16F870 ile sağlanmıĢtır. 12 V besleme

gerilimi olan sistemde 5 V DC gerilim elde etmek için 7805 entegre devresinden

faydalanılmıĢtır.

Proje, geliĢtirilmeye açık bir yöntem izlenerek tasarlanmıĢtır. Bir çok özellik daha

eklenip, cihazın kullanım alanları geliĢtirilebilir. Örneğin sistemin sonuna paketleme iĢlemini

yerine getirecek bir sistem eklenebilir.

Bu projede 16 sütun 2 satırlık ekran kullanılmıĢtır. Bu ekran boyutu çok daha büyük

seçilerek ekrandan tek seferde okunabilen veri miktarı arttırılabilir.

Projenin uygulanabilirlik alanları da düĢünülmüĢtür. Sistem geliĢtirilerek bir çok

alanda kullanılabilir. Örneğin döküm fabrikaları, paketleme iĢlemi de katılarak kargoculuk

sistemlerinde kullanılabilir. Tasarlanan devrenin sınırlarını veri iĢleme görevi yapan PIC’in

hafızası ve port sayısı belirlemektedir.

Sonuç olarak bu projeyi hazırlarken, araĢtırma nasıl yapılır, bir projeyi oluĢturma

aĢamaları nelerdir, sistemi oluĢturacak malzeme seçimi nasıl yapılır, PIC nasıl programlanır,

hangi programlama dili daha uygundur, Loadcell hangi sistemlerde kullanılır gibi sorulara

cevap bulduk. Bant sistemlerini araĢtırdık ve projemizi gerçekleĢtirdik.

38

KAYNAKLAR

[1]. (2012) Microchip official website. [Online]. Available: http://ww1.microchip.com/

[2]. (2012) Geocities website. [Online]. Available: http://www.geocities.com/yavuzis1/

[3]. Elektrik ElektronikTeknolojisi: Sensörler ve Transduserler, MEGEP, 2007.

[4]. O. AltınbaĢak, Uygulamalı Öğretim Serisi: PicBasic Pro ile Pic Programlama.

Ġstanbul, Türkiye, 2011.

[5]. (2012) TTM Loadcell website. [Online]. Available: http://www.ttmloadcell.com/

39

KaradenizTeknikÜniversitesi MühendislikFakültesi Elektrik-ElektronikMühendisliğiBölümü

STANDARTLAR VE KISITLAR FORMU

1. Projenizin tasarım boyutu nedir? Açıklayınız.

.Proje , mekanik, elektronik, ve yazılım olmak üzere 3 farklı alandan oluĢmaktadır.

2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü? Projemizde karĢılaĢtığımız sorunlar genelde programlama ve PIC kullanımı ile alakalı olduğundan araĢtırma ve deneme

yanılma yöntemleri ile sorunların üstesinden gelmeye çalıĢtık.

3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? PicBasic programlama dilinin C++ diline benzerliği ile anlamamızı kolaylaĢtırdı. Elektronik devreler derslerinde

öğrendiğimiz yükselteç kullanımını da pratiğe geçirme fırsatı bulduk. Laboratuar derslerinde kullanma imkanı

bulduğumuz Röleleri de projemizde motorları sürmek için kullandık.

4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? Projemizn özellikle ekonomik olmasına, güvenirlik açısından uygun olmasına ve sistemin en az hata ile olabildiğince hızlı

çalıĢmasına özen gösterdik.Ayrıca projenin sürdürebilir olması da dikkate aldığımız bir diğer hususdur.

5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?

a) Ekonomi

Projemizin uygulanabilir ölçüde ekonomik olmasına özen gösterdik.

b) Çevre sorunları:

Projemizde çevre sorunları üzerinde herhangi bir çalıĢma yapmadık.

c) Sürdürülebilirlik:

Projemizin geliĢtirilebilir ve sürdürülebilir olduğunu düĢünüyoruz.

c) Üretilebilirlik:

Sistemimizdeki her parça piyasada kolaylıkla bulunabilen, ekonomik açıdan çok zorlamayan, ağırlık ölçüm hızı

ile sistemi hızlandırabilecek bir sistemdir.

e) Etik:

f) Sağlık:

g) Güvenlik:

h) Sosyal ve politik sorunlar:

Projenin Adı LOADCELL ile Hareketli Bant Üzerinde Ağırlık Ölçümü

Projedeki Öğrencilerin adları Müjdat ALTUNKAYA, Bahadır MERAKLI

Tarih ve İmzalar 24 Mayıs 2013

40

ÖZGEÇMİŞ

Müjdat ALTUNKAYA , 1986 yılında Zonguldak’ta dünyaya geldim. Ġlkokul’ u 2 faklı

okulda okuduktan sonra Zonguldak Atatürk Anadolu Lisesi’ Orta okul kısmını kazandım.

Hazırlık ve 3 yıl burada okuduktan sonra 2001 yılında Zonguldak Fen Lisesini kazandım. Lise

Öğrenimi burada tamamladım ve Lisans eğitimi için 2004 yılında Trabzon Karadeniz Teknik

Üniversitesi’nde öğrenim görmeye baĢladım.

Stajlarını Türk Telekom ve TTK iĢletmelinde tamamladım ve bugün karĢınıza Lisans

öğrenimin son parçası olan bitirme projesi ile çıktım. Bu stajlarda transmisyon sistemleri,

radyolink sistemleri, telefon santralleri, motor bakım onarım, motor sürücüleri, motor yol

vericileri ve teorik olarak öğrendiğimiz birçok cihazı pratikte görme ve inceleme imkanına

eriĢtim.

Yabancı dil olarak mesleki yayınları takip edebilcek düzeyde Ġngilizce ve temel

düzeyde Almanca bilmekteyim.

41

Bahadır MERAKLI, 1984’de Konya’da doğdu. Ġlkokulu SeydiĢehir Alüminyum

Ġlkokulu’nda okudu, orta okul ve lise eğitimini Mahmut Esat Anadolu Lisesi’nde

tamamladıktan sonra Karadeniz Teknik Üniversitesi Elektrik Elektronik Mühendisliği

Bölümünü kazandı.

Ġlk stajını Konya Merkez Telekom Müdürlüğü transmisyon ve bilgi iĢlem merkezinde

yaptı. Ġkinci stajını Ankara’da Türk Telekom network planlama ve optimizasyon bölümünde

tamamladı.

Lise hayatı boyunca okul basketbol takımı kaptanlığı yaptıktan sonra üniversite

döneminde su altı kulübün ve tenis kulübünde aktif eğitmen olarak görev aldı. AB hibe

programları kapsamında gençlik ve KOBĠ programlarına proje yazıp koordinatörlüğünüyaptı.

Ġleri derecede Ġngilizce bilmektedir.