Upload
others
View
24
Download
0
Embed Size (px)
Citation preview
T.C.
KARADENĠZTEKNĠKÜNĠVERSĠTESĠ
Mühendislik Fakültesi
Elektrik-ElektronikMühendisliğiBölümü
LĠSANS BĠTĠRME PROJESĠ
KARBONMONOKSĠT ZEHĠRLENMELERĠNĠ ÖNLEYĠCĠ ALARM
SĠSTEMĠ
CANER KAPLAN
DanıĢman
YRD. DOÇ. DR FATĠH MEHMET NUROĞLU
Nisan 2012
TRABZON
T.C.
KARADENĠZTEKNĠKÜNĠVERSĠTESĠ
Mühendislik Fakültesi
Elektrik-ElektronikMühendisliğiBölümü
LĠSANS BĠTĠRME PROJESĠ
KARBONMONOKSĠT ZEHĠRLENMELERĠNĠ ÖNLEYĠCĠ ALARM
SĠSTEMĠ
CANER KAPLAN
DanıĢman
YRD. DOÇ. DR FATĠH MEHMET NUROĞLU
Nisan 2012
TRABZON
LİSANS BİTİRME PROJESİ ONAY FORMU
Caner KAPLAN tarafından Yrd. Doç. Dr Fatih Mehmet NUROĞLU yönetiminde
hazırlanan “Karbonmonoksit Zehirlenmelerini Önleyici alarm sistemi” 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 : Yrd. Doç. Dr Fatih Mehmet NUROĞLU …………………………
Jüri Üyesi 1 : Prof. Dr Ġ. Hakkı ALTAġ …………………………
Jüri Üyesi 2 : Prof. Dr Cemil GÜRÜNLÜ …………………………
Bölüm BaĢkanı : Prof. Dr Ġsmail Hakkı ALTAġ ………………………
iii
ÖNSÖZ
ÇalıĢmamda emeği geçen ve eğitimim süresince her türlü konuda desteklerini
benden esirgemeyen çok değerli aileme ve yardımlarından ötürü Dr AyĢe Füsun
TATLI’ya ve Yrd. Doç. Dr Fatih Mehmet NUROĞLU hocama teĢekkür ederim.
.
Nisan 2012
Caner KAPLAN
v
İÇİNDEKİLER
Lisans Bitirme Projesi Onay Formu …………….. iii
Önsöz ……………... v
Ġçindekiler ……………... vii
Özet ..…………… ix
Semboller ve Kısaltmalar .……………. xi
1. GiriĢ 1
2. Teorik Altyapı 2
2.1. 2.1. Karbonmonoksitin özellikleri ……………… 2
2.2 2.2. Karbonmonoksitin metabolizmaya etkileri ……………… 2
2.2.1. DüĢük Konsantrasyonda ……………… 3
2.2.2. Yüksek Konsantrasyonda ……………… 4
2.2.3. Kronik CO Zehirlenme Belirtileri ……………… 4
2.2.4. Akut CO Zehirlenme Belirtileri ……………… 5
2.2.5. CO Zehirlenmesinin Tedavisi ……………… 6
2.2.6. CO Zehirlenmesinden Korunma Yöntemleri ……………… 7
2.3. 2.3. MQ-7 Gaz Sensörü .……………... 8
2.3.1. Sensörün Özellikleri .……………… 8
2.3.2. Uygulama Alanları .……………… 8
2.3.4. Yapı Düzen Temel Ölçme Devresi .……………… 10
2.3.5. Duyarlılık Ayarlaması .…………….. 14
2.4. 2.4. Kullanılan PIC ...…………… 15
3. Tasarım 16
3.1. 3.1. PROTEUS Programı .……………. 16
3.2. 3.2. MPLAB Programı …………….. 18
3.3. 3.3. WIN PIC Programı ....…………… 20
Sonuç ……………... 23
Kaynaklar .……………. 24
Ekler .……………. 25
ÖzgeçmiĢ .……………. 41
vii
ÖZET
Ülkemizde özellikle kıĢ aylarında etkisini artıran ve birçok insanımızın hayatını
kaybetmesine sebep olan karbonmonoksit zehirlenmeleri vakaları hala yaygınlığını
korumaktadır ve ülkemizde doğalgazlı sitemlerin artmasına paralel olarak önemini gittikçe
artırmaktadır. Ülkemizdeki düĢük kalite kömür kullanımı binaların havalandırma ve güvenlik
sistemlerine yönelik yasal düzenlemelerin yetersizliğinden ötürü uzun yıllarda etkisini devam
ettireceği kuĢkusuz bir gerçektir.
Bu çalıĢmanın insanlarımızın evlerinde daha mutlu ve huzurlu olabilmeleri için yapıldığını ve
yapılangüvenlik sistemi sayesinde ilerleyen sayfalarda da anlatıldığı gibi adli tıp kayıtlarında
CO zehirlenmesine bağlı ölümleri ve bu zehirlenmeden ötürü meydana gelebilecek maddi
kayıpları (tedavi masrafları...) ve ayrıca kronik CO zehirlenmelerinden ötürü meydana
gelecek iĢ gücü kayıplarını en aza indirmeyi hedeflemektedir. Tezin yazımı sırasında izlenilen
zaman kullanma yöntemi Tablo 1.’de verilmiĢtir. Devre gerçeklenirken ve tezin yazılması
süreci tüm döneme yayılmaya çalıĢılmıĢtır.
Tablo 1. Tezin hazırlanması süresince izlenen süreç
ZAMAN
MAZZEMELERĠN
TEMĠNĠ
PROGRAMLARIN
ÖĞRENĠLMESĠ
DEVRENĠN
GERÇEKLENMESĠ
TEZ
YAZIMI
ġUBAT
MART
NĠSAN
MAYIS
ix
SEMBOLLER VE KISALTMALAR
ABD: Amerika BirleĢik Devletleri
ATA: Atmosfer basıncı
C: Karbon
CH4: Metan
CO: Karbonmonoksit
COHb: Karboksihemoglobin
Dr: Doktor
Doç: Doçent
H2: Hidrojen
EEPROM: Elektriksel olarak silinebilir programlanabilir bellek
EPROM: Silinebilir-programlanabilir bellek
G: Gram
Prof: Profösör
OTP: Bir defa programlanabilir
Uzm: Uzman
ROM: Sadece okunabilir bellek
PIC: PeripheralInterface Controller
HBO: Hiperbarik oksijen
T.C: Türkiye Cumhuriyeti
Yrd: Yardımcı
xi
1.GİRİŞ
Ülkemizde her yıl özellikle kış mevsimine bağlı olarak artış gösteren karbonmoksit
zehirlenmelerinden çok sayıda vatandaşımızı kaybetmekteyiz. Sessiz katil olarakta bilinen bu
gazın sebep olduğu zararları önlemek için yeterince çalışma ve yasal düzenlemeler
yapılmamış olup, gerekli çözümlerin üretilememesinden dolayı çok sayıda vatandaşımız bu
tehlike ile karşı karşıya kalmaktadır. Karbonmonoksit gazının atmosferdeki konsantrasyonu
yüzde 0.0001 den daha azdır. Karbonmoksit dünya çapında yaralanma ve zehirlenmeye bağlı
ölümlerin en birincil sebebidir. ABD‟ de yılda 40.000 birey karbonmoksit zehirlenmesi
nedeniyle tedavi edilmektedir [1]. CO ile kaza sonucu 1000, intihar nedeniyle 6000 kişide
hayatını kaybetmektedir [2].
Ülkemizde, karbonmonoksit ile ilgili ölüm ve zehirlenmeler hakkında istatistik veriler
yetersiz olmasına rağmen ulaşılabilen veriler ışığında birkaç önemli veri vermek gerekirse,
kısıtlı Ülkemizde Adli Tıp kayıtlarına göre 1986-1988 yılları arasında karbonmonoksit
zehirlenmesi sonucu 38 kişi hayatını kaybetmiştir. 1991-1992 Ankara bölgesi Adli Tıp
bilgilerine göre, karbonmonoksit zehirlenmesinden ötürü 24 kişi hayatını kaybetmiştir [3].
Karbonmonoksit zehirlenmelerinde çoğu kez bu zehirlenme sonucu hayatını kaybeden
kişiler otopsi yapılmadan defnedilmektedir ve zehirlenme kayıtlarına geçmemektedir. Bu
nedenle karbonmonoksit zehirlenmesinin bildirilenlerden daha yüksek olduğu kuvvetle
muhtemeldir [2].
Karbon bazlı yakıt ve maddelerin tam yanmaması sonucu açığa çıkan bu gazın en büyük
kaynakları motorlu araçlar, endüstriyel ürünler, ve ısınma amaçlı kullanılan yakıtlardır.
Karbonmonoksite maruziyetin en önemli kaynaklarından biriside eksoz gazlarıdır. Özellikle
içten yanmalı ve benzinle çalışan arabaların eksozlarında % 1-4 oranında karbonmonoksit
bulunmaktadır [9].
Sigara dumanı önemli bir CO kaynağıdır. Sigara dumanı % 3.5 CO içermektedir. Sigara
dumanına maruz kalma vediğer çeşitli nedenlerle uzun süreli düşük CO‟ya maruz kalma
sonucu COHb düzeyi % 2-10 arasında bir yükselmeye neden olur. Kronik karbonmonoksit
zehirlenmesine neden olur [3].
2
2. TEORİK ALTYAPI
Yapılan çalışma CO gazının meydana getirdiği akut CO zehirlenmeleri ve kronik CO
zehirlenmelerini en aza indirmeyi hedeflediği için öncelikle kendisiyle savaş verdiğimiz bu
gazın tanınması, özelliklerinin iyi bilinmesi ve etkilerinin anlaşılması gerekmektedir. Bu
yüzden tezde ayrılan bu kısımda öncelikle bu hastalığın tanısı etkileri ele alınmıştır. Ayrıca
kullanılan sensörün özellikleri de bize sistemimizin hangi aralıklarda aktif olduğunu
göstermesi açısından önemlidir.
2.1. Karbonmonoksitin Özellikleri
Yapısında C (karbon) elementi bulunduran gazların havalandırması az olan ortamlarda tam
yanmasının gerçekleşmemesi durumunda oluşan, renksiz, alev alabilen, kokusuz ve
herhangibir tadı olmayan gaz ,bu gaza maruz kalınması halinde fark edilemiyeceği için sessiz
katil denir. Bu gazın molekül ağırlığı 28,1 g/mol‟dür ve havadan daha hafiftir [1].
Yangınlarda çok çeşitli zehirli gazlar açığa çıkmaktadır ve ayrıca özellikle maden
ocaklarının çok olduğu şehirlerde (Zonguldak…) karbonmonoksit zehirlenmeleri sıklıkla
görülmektedir ve bu tezde yapılan alarm cihazı gibi cihazların kullanılmasının haklılığı bir
kez daha anlaşılmıştır. Bu tezin yazımında yapılan araştırmalar gösteriyor ki boya sanayisinin
ham maddesi olan metilenkloridle yapılan etkileşimlerdir ve uzun süre maruz kalınması
halinde ölümle sonuçlanıcak etkilere neden olur[6].
2.2. Karbonmonoksitin Metebolizmaya Etkileri
1857‟ den beri yapılan çalışmalarda CO zehirlenmesi hakkında bir çok bilgi ortaya
konulmuştur. 1857‟de Bernard, karbonmonoksitin hemoglobine bağlanarak doku hipoksisine
neden olduğunu ve bu hipoksinintoksit etkilerini açıklamıştır [2], [7].
1929‟ da Sendroy ve arkadaşları, karbonmonoksitin hemoglobine olan bağlanma yetisi
oksijeninkinden yaklaşık 200 kat daha fazla olduğunu ortaya koymuşlardır.
Karbonmonoksitin oksijenden 200 kat daha hızlı bir şekilde hemoglobine bağlanarak,
dokularımıza oksijen taşıyan kanın oksijen taşıma kapasitesini azaltır ve bu etki sonucunda
3
akut CO zehirlenmesi ve kronik CO zehirlenmesi dediğimiz türlerin oluşmasına sebep olur
[3], [13].
Karbonmonksit demir ve bakır içeren dokulara yüksek bağlanma isteği gösterir ve buralar
için oksijenle yarışır. Eritrosit hemoglobini karbonmonoksit için hedef bölgedir. CO, Hb ile
COHb‟yi oluşturur ve oluşan bu molekül dokulara oksijen taşıyamaz. Hb‟ye bağlanma
yenilenebilirdir ve maruziyet ortadan kalkınca karbonmonoksit Hb‟den ayrılır. Oksijenin
yerine bağlanan karbonmonoksit dokulara taşınan oksijenin azalmasına sebep olur. Azalmış
olan oksijen seviyesi santral sinir sistemi tarafından algılanır ve daha fazla soluk alıp
vermemize ve dolayısıyla CO alımının artışını sağlar [5], [7], [9].
Karbonmonoksit, solunum yolu ile akciğere, ve akciğerdende difüzyonla kanın içinde
yerini alır. Karbonmonoksit olarak isimlendirilen bu gaz (CO), hemoglobin denilen ve
dokularımıza O2 taşıyan sistemimize O2‟ye nazaran 200 kat daha şiddetli bir şekilde
bağlanma isteği gösterir. Karbonmonoksitin hemoglobinle etkileşime girip tek vücut
olmasının sonucu olarak karboksihemoglobin (COHb) denen bileşik meydana gelir. Canlılık
faaliyetleri için gerekli olan oksijen azalarak yerini karbonmonoksit denen gaza bırakır.
Oksijenin taşınmasında görevli olan kan görevini yapamaz. Beyin ve kalp çok olumsuz
etkilenir, sistemli çalışamaz hale gelir ve ölümle sonuçlanır [13].
2.2.1. Düşük Konsantrasyonda
36-99 ppm konsantrasyonunda karbonmoksit gazına maruz kalınırsa;
● İstenmeyen halsizlik,
● Başta meydana gelen şiddetli kasılmalar,
● Astım hastaları için sıkıntı oluşturabilecek durumlar,
● Mide bulantısı ve baş dönmesidir.
4
2.2.2. Yüksek Konsantrasyonda
100 ppm ve daha fazla konsantrasyonda karbonmoksit gazına maruz kalınırsa;
● Sersemlik,
● Kusma,
● Bilinç kaybı,
● Kas koordinasyonunun kaybolması,
● Ölümle sonuçlanır.
2.2.3. Kronik Karbonmonoksit Zehirlenme Belirtileri
Dünyada hızla gelişen sanayi ve teknolojik gelişmelerin bize getirdikleri faydaların
yanında doğaya sürekli CO denen zehirli gaz salınımına neden oldukları için kronik CO
zehirlenmesi denen bir tehlikeyi günümüz insanıyla başbaşa bırakmıştır.
Sürekli ve az miktarda karbonmonoksit gazına maruz kalan insanlarda kronik
karbonmonoksit zehirlenmesi oluşur. Boya temizleme işlerinde faaliyet gösteren işçilerde,
demir çelik sanayi çalışanlarında, trafik polislerinde, kalorifer yakıt dairesinde görevli
kişilerde ve bu gibi sürekli fakat az miktarda karbonmonoksit gazına maruz kalmak zorunda
olan insanlarımızda kronik karbonmonoksit zehirlenmesinin etkileri görülür [6].
● Şiddetli baş ağrısı,
● Sıkıntı hali,
● Unutkanlık,
● Kişilik değişiklikleri,
● Sersemlik hissi,
● Uyuşmalar,
● Karın ağrısı,
● Göz kararması,
5
● Bulantı ve kusma,
● Kronik halsizlik,
2.2.4. Akut Karbonmonoksit Zehirlenmesi Belirtileri
Soba, şofben, kombi, yangın, doğal gaz kullanan jenaratörler gibi kısa süreli yoğun bir
şekilde karbonmonoksit gazına maruz kalan insanlarda ise, akut karbonmonoksit zehirlenmesi
denilen, ölümle sonuçlanabilen zehirlenme oluşur. Karbonmonoksit zehirlenmesi “bin yüzlü
hastalık “ diye de adlandırılır. Belirtileri ateşsiz gribe benzediği için ve kış aylarında iki
vakada da artış çok olduğu için, bu zehirlenmenin belirlenmesi zorlaşmakta ve birçok vakanın
tespitinin sağlanması güçleşmektedir [3], [6].
● Huzursuzluk, yorgunluk hissi ve nezle,
● Şiddetli baş dönmesi,
● Hareketsizlik, depresyon hali,
● Dikkat bozukluğu, zihin karışıklığı,
● Uyuşukluk ve uyuklama,
● Göğüs ağrısı ve çarpıntı,
● Karın ağrısı,
● Bulantı-kusma,
● Unutkanlık,
● Halüsünasyon ve konfobülasyon,
● Görme kaybı,
● Altına kaçırma,
● Bayılma ve sara nöbeti gibi nöbet geçirme,
● Koma hali,
6
● Soluk kesilmesi ve ölüm ile sonuçlanan acı olaylar.
Akut karbonmonoksit zehirlenmesi ve kronik karbonmonoksit zehirlenmelerine maruz
kalma olasılığı yüksek olan kişilerin bulunduğu yerlerde karbonmonoksit algılayıcı ve uyarıcı
devrelerinin kullanımı son derece önemlidir [3],[6].
2.2.5. Karbonmonoksit Zehirlenmesi Tedavisi
Karbonmonoksit zehirlenmesinde en etkili yöntem erken tanıdır ve bu yüzden yapılan
karbonmonoksit algılayıcı devresinin önemi bir kez daha ortaya çıkmıştır. Fakat renksiz,
kokusuz ve tatsız olmasından dolayı insanların algılamakta zorlandıkları bu gaza yoğun
şekilde maruz kalınması sonucu oluşan karbonmonksit zehirlenmesinin tedavisinde yeniden
solunumlu maske olmadan kullanılan % 100 normobarik oksijen tedavisi tavsiye edilir.
Normal atmosfer basıncından 2 katı kadar fazla bir başınçta tezdeki alarm sistemini
kullanmadığı için zehirlenen canlıya % 100 oksijen verilmesi tedavisine HBO tedavisi denir.
Hiperbarik oksijen tedavisi (HBO) de çoğu kez tavsiye edilir, fakat son zamanlardaki bazı
küçük çalışmalar muhtemel yararları hakkında çelişkiler göstermektedir. Weawer ve
arkadaşları devam eden HBO tedavisi basamaklarına ara vermenin orta kulak basıncını
dengelemedeki problem olduğunu gösterdiler [10]. CO zehirlenmesine maruz kalmış
hastalarda HBO tedavisinin önemli klinik ve yararlı sonuçlarının inandırıcı kanıtını hala
bulamadıklarını belirttiler [11].
Hiperbarik sistemin ilki, 1600‟de Henshaw adındaki bilim insanı tarafından gaz
sızdırmasız bir sistemde, bu sisteme hem yüksek hemde alçak basınç uygulayacak şekilde
oluşturulmuştur[11]. 1930‟lardan sonra Amerikan Donanmaları tarafından, bu tür
hastalıklarda kullanılmıştır. HBO klinik zehirlenmelerde ilk olarak 1942 yılında
kullanılmıştır. 1950‟ lerde kan gazlarında değişimi öngören fizyoloji bugün kü kullanımına
girdikten sonra HBO tedavisi modern kullanıma erişmiştir fakat en iyi tedavi hiç hasta
olmamaktır dendiği gibi alarm sistemimizin faydası bir kez daha algılanmıştır. Amsterdam‟da
ilk uluslararası HBO toplantısı yapılmıştır. Alarm sistemlerinin kullanımı şiddetle tavsiye
edilmiş ve akut yada kronik CO zehirlenmelerinde birincil tedavi olarak HBO
önerilmiştir[12].
Avrupa şehirlerinde akut katbonmonoksit zehirlenmesinde HBO terapisi güvenli,
mantıklı, hazırda mevcut tedavi yöntemidir. Karbonmonoksit zehirlenmesinde bilinen
7
CO‟nun neden olduğu patolojik değişiklikleri HBO‟nun hücresel seviyede etki ederek tersine
çevirdiğinin iyi bir kanıtı olduğudur [11].
ABD‟de, 5400 saniyelik % 100 HBO tedavisi 300 ile 400 arasında bir değere tekabül
etmektedir. Ciddi hasara sebep olmuş 30 ile 40 arası seanslık bir HBO tedavisi 9000-16000
dolara tekabül etmektedir[12]. HBO‟da kullanılan ilacı maliyeti, hastanede kalma süresi ve
yapılan tedavinin masrafları düşünüldüğünde, CO dedektörlü alarm cihazlarının
kullanılmasının önemi maddi açıdanda çok önemli olduğu bir kez daha anlaşılmıştır.
2.2.6. CO Zehirlenmesinden Korunma Yöntemleri
Evlerimizde ve iş yerlerimizde bu cihazı CO gazının havadan hafif olması sebebiyle
tasarlanan alarm sistemi gibi sistemlerin tavana yakın bir noktaya monte edilmesi erken uyarı
vermesi için son derece önemlidir. Unutmayalım ki tedbir her zaman hayat kurtarır.
● Kullandığımız doğal gaz ile çalışan sistemlerin bakımı düzenli yaptırılmalıdır.
● Doğalgaz sistemlerine yeterli oksijen alacak havalandırma sistemleri oluşturulmalıdır.
● Soba boruları gaz sızdırmayacak şekilde bağlanmalıdır.
● Bacaların bakımı yapılmalı temiz ve tıkanıksız olduğundan emin olunmalıdır.
● Sürekli bacadan gaz geri geliyorsa baca deliği kontrol edilmelidir.
● Şofbenler standartlara uygun ve kendinden sönümlü olmalıdır.
● Şofbenle ilgili aksaklıklar teknik görevlilerce çözümlenmelidir.
● Kullanılan şofbenler banyo dışına takılmalıdır.
● Kapalı ortamlarda bulunan araçlarımızı uzun süre çalıştırmamalıyız..
● Bu tezde yapılan Karbonmonoksit alarm sistemleri gibi sistemler kullanılmalıdır.
8
2.3. MQ-7 Gaz Sensörü
Fiziksel olarak değişen ortam değişikliklerini (ısı, ışık, ses vb..) algılayan sistemlere sensör
denir. Devrede bir gaz sensörü kullanılmıştır. Alarm devresinde kullandığımız CO algılayıcı
sensörümüz Şekil 2.1.‟de verilmektedir.
Şekil 2.1. Alarm devresinde kullanılan MQ-7 sensörü
2.3.1. Sensörün Özellikleri
● Karbonmonoksite yüksek duyarlılık
● Stabil ve uzun ömürlü
2.3.2.Uygulama Alanları;
Karbonmonoksit gaz dedektörü olarak endüstride, arabada ve evde kullanılabilir. Tablo
2.1.‟de sensörün standart çalışma aralıkları verilmiştir. Eğer MQ-7 gaz sensörümüzü etkin bir
şekilde herhangi bir arızaya sebebiyet vermeden çalışması için izin verilen değer aralıklarını
9
kullanmamız gereklidir [5]. Kullandığımız MQ-7 gaz sensörünün hangi fiziksel şartlar altında
çalışabileceğini Tablo 2.2.‟ye bakarak belirleyebiliriz [5].
Tablo 2.1. Sensörün standart şartlarda çalışabileceği değerler
SEMBOL PARAMETRE İSMİ TEKNİK KOŞUL YORUM
Vc Devre Voltajı 5V±0.1 Ac veya Dc
VH (H) Isıtma Voltajı (yüksek) 5V±0.1 Ac veya Dc
VH (L) Isıtma Voltajı (düşük) 1.4V±0.1 Ac veya Dc
RL Yükleme Direnci Ayarlanabilir
RH Isıtma Direnci 33Ω±5% Oda ısısı
TH (H) Isıtma Zamanı (yüksek) 60±1 seconds
TH (L) Isıtma Zamanı (düşük) 90±1 seconds
PH Isıtma Güç Tüketimi Yaklaşık 350mW
Tablo 2.2. Çevre koşullarının sensörün parametrelerine etkisi
SEMBOL PARAMETRELER TEKNİK KOŞULLAR YORUM
Tao Sıcaklık Kullanımı -20℃-50℃
Tas Depolama Isısı -20℃-50℃ Tavsiye edilen
kullanım aralığı
RH Göreceli Nem 95%RH‟den az
O2 Oksijen
Konsantrasyonu
21% Oksijen
konsantrasyonu
duyarlılık niteliklerini
etkileyebilir
Minimum değer 2%
üzeri
MQ-7 gaz sensörünün duyarlılıklarını Tablo 2.3.‟den yararlanılarak incelenebilir [5].
Standart çalışma koşullarını Tablo 2.3.‟den yararlanarak çıkartabiliriz.
10
Tablo 2.3. Duyarlılık ölçümlerinin bulunduğu tablo
SEMBOL PARAMETRE TEKNİK
PARAMETRELER
YORUM
Rs
а(300/100ppm)
Standart
çalışma koşulu
Sıcaklık -20℃±2℃ rölatif nem 65%±5% RL:10KΩ±5%
Vc:5V±0.1VVH:5V±0.1VVH:1.4V±0.1V
Ön ısıtma
zamanı
48 saatten az Algılayıcı değer aralığı:
20 ppm-2000 ppm karbonmonoksit
2.3.5. Yapı Düzen ve Temel Ölçme Devresi
MQ-7 Karbonmonoksit gaz sensörü yapı ve düzeni Şekil 2.2. ve Tablo 2.4.' de
gösteriliyor[5]. Sensör AL2O3 seramik tüp, Tin Dioksit (SnO2) duyarlı tabaka, plastik ve
paslanmaz çelik ağdan oluşan bir tabakaya sabitlenmiş ölçme elektrodu ve ısıtıcıdan
oluşmuştur. Isıtıcı duyarlı bileşenlerin çalışması için gerekli koşulları sağlar. Şekil 2.2.‟de
verilen şeklin internetten alınmasının sebebi Tablo 2.4.‟te anlatılanları kapsaması
yüzündendir. .
11
Tablo 2.4. MQ-7 nin parçalarının özellikleri
Şekil 2.2. ve Tablo 2.4.‟de görüldüğü gibi, MQ-7‟nin duyarlı elemanlarının standart ölçüm
devresi iki parçadan oluşur. Bunlardan birisi zaman kontrol özelliği (yüksek voltaj düşük
voltaj döngüsel çalışma) olan ısıtıcı bölümüdür. İkincisi ise sinyal üretim devresidir, bu devre
uygun bir şeklide sensörün yüzel direncinin değişimine cevap verir [5].
MQ-7 sensörümüzün hangi gazlara duyarlı olduğunu ve cevap verdiğini Şekil 2.3.‟ten
yararlanarak çizilen Şekil 2.4.‟te görebiliriz[5]. Kullanılan sensörün hidrojen, metan, ve
havaya karşı göstermiş olduğu tepki aralıklarının direnci üzerindeki etkileri Şekil 2.3.‟te
gösterilmiştir. Şekil 2.4. MQ-7 „nin tipik duyarlı niteliklerini gösteriyor. Dikey çizgi sensörün
direnç oranını gösteriyor (Rs/Ro), yatay çizgi gazların konsantrasyonunu gösteriyor. Rs farklı
gazların dirençlerini gösteriyor, Ro 1000 ppm hidrojende sensörün direncini gösteriyor. Tüm
testler standart test koşullarında yapılmıştır [5].
Bölümler Materyal
1
Gaz algılayıcı
tabaka
SnO2
2 Elektrod Au
3 Elektrod hattı Pt
4 Isıtıcı bobini Ni-Cr alaşım
5 Tübüler seramik Al2O3
6
Patlamaz ağ
Paslanmaz çelik
süzgeç
(SUS316 100-mesh)
7 Kasnak halkası Bakır kaplama Ni
8 Reçine tabaka Bakalit
9 Tüp pin Bakır kaplama Ni
12
Şekil 2.3. Şeklimizin hazırlanmasını gösteren ekran görüntüsü
Şekil 2.4. Devremizde kullanılan sensörün farklı gazlara olan tepkisi
Şekil 2.4.‟ de ise tipik sıcaklık ve nem nitelikleri gösteriliyor. Dikey çizgi sensörün direnç
oranını gösterir( Rs/ Ro). Rs ise değişik sıcaklık ve nem koşullarında 100 ppm CO‟da
13
sensörün direncini gösterir. Ro; 100 ppm CO, 20℃ 65% RH koşulları altında sensörün
direncini gösterir [5]
Yük direnci bulunurken RL2 nin Yük direnci RL‟in voltaj sinyal çıkışından etkilenerek
yüzey direnci Rs elde edilir. Aralarındaki ilişki şu şekilde ifade edilir:
Rs\RL = (Vc-VRL) / VRL 1.1.
Tablo 2.5.‟de kullanılan sensörün karbonmonoksit gazının havada ve belirlenen
karbonmonoksit konsantrasyonunda verdiği sinyali gösteren bir grafiktir [5].
Tablo 2.5. CO gazının havada ve belirlenen CO konsantrasyonda ki sinyal seviyesi
Giriş
Voltajı
Çıkış
Voltajı
Hava
5 V
Düşük Seviye
100 ppm CO
1.4 V
Yüksek Seviye
Sensör temiz havadan karbonmonoksitli alana geçirildiğinde devreden çıkan sinyali
kullanarak ölçülen RL sinyal çıkışının değişik durumlarını gösterir, çıkış sinyali ölçümü bir
yada iki tamamlanmış ısı periodu ile yapılır [5] ( 2,5 dakika yüksek voltajdan düşük voltaja).
MQ-7 gaz sensörünü duyarlı yapan elemanlarının tabakaları SnO2 ile sağlam bir şekilde
yapılmıştır. Böylece muazzam uzun dönem sağlamlık sağlanmış olur. Hizmet süresi aktif
kullanımda 5 yıla ulaşır [5].
2.3.5. Duyarlılık Ayarlaması
MQ-7‟nin direnç değeri değişik türlerde ve değişik konsantrasyonlu gazlara göre değişir.
Böylece bu elemanlar kullanıldığında, duyarlılık ayarlanması çok gereklidir. Size dedektörü
havada 200 ppm CO ve RL yükleme direnci 10 KΩ (5KΩ - 47 KΩ) değerinde kullanmanızı
14
tavsiye ederiz [5]. Kaplanmış MQ-7 4‟ü sinyalleri algılamak için ve diğer 2‟si ısı akımı
sağlamak için kullanılan 6 pin içerir ve devremizde Şekil 2.5.‟de gösterilmiştir.
.
Şekil 2.5. Devrede kullanılan MQ-7 sensörünün yeri ve devremiz
Doğru şekilde ölçüldüğünde, gaz dedektörü için uygun alarm noktası sıcaklık ve nem
etkisi düşünüldükten sonra belirlenmelidir [5].
Duyarlılık ayarlama programı [5]:
● Sensörü uygulama devresine bağlanır.
● Gücü devreye verilir ve elektrikli ön ısıtmada 48 saatin üzerinde tutulur.
● Yük direnci RL 90 saniyenin son noktasında belli CO konsantrasyonuna cevap veren
Sinyal değeri elde edinceye kadar ayarlanır.
● Diğer bir yük direnci RL 60 saniyenin son noktasında CO konsantrasyonuna cevap
verecek değerde sinyal elde edilinceye kadar ayarlanır.
15
2.4. Kullanılan PIC
Yapılan çalışmada kullanılan PIC16F88 kendisine gönderilen elektriksel sinyaller
vasıtasıyla programlanabilir bir belleğe sahiptir. EEPROM bellekler; elektriksel olarak
silinebilir programlanabilir belleklerdir ve bizim kullandığımız PIC elektriksel olarak
programlanmıştır. OTP denen ve daha çok sürekli üretim için gerekli olan fabrikasyon
üretiminin vazgeçilmesi olan bir defa programlanabilir bellek ise yapılan çalışmaya uygun
olmadığı için tercih edilmemiştir. Devrede kullandığımız PIC‟in seçilmesinin bir nedeni de
uyku moduna geçebilmesi ve bu sayede az enerji harcamasıdır. PIC16F88
mikrodenetleyicimiz osilatör yardımıyla aldığı kare dalgayı kullanarak kendisine daha önce
kaydedilmiş olan programı çalıştırır. Şekil 2.6.‟da kullanılan PIC16F88‟in devremizdeki fiziki
görünüşü görülmektedir[8].
Şekil 2.6. Kullanılan PIC‟in devremizdeki fiziki görünüşü
16
3. TASARIM
Devremizin tasarımında oluşturulmasında ve programlanmasında kullanılan programlar ve
kullanılan programlama cihazları tasarım başlığı altında incelenecektir. Baskı devresi bizzat
evde kendi ütüm kullanılarak yapılmış ve kullanılan programlar KTÜ Elektrik-Elektronik
Mühendisliği Bölümü‟nde bitirme çalışmasının teslimine aylar varken yapılmıştır. İstenildiği
zaman her bir adımı çok kısa bir zaman diliminde tezi yazan kişi tarafından yapılabilir.
3.1. Proteus Programı
Isıs denen şema çizim programı ve ares denen baskı devre yapım programı olmak üzere
ikiye ayrılan Proteus programı kullanılarak öğrenilmiş ve gerekli çalışmalar tarafımdan KTÜ
bilgisayarlarında yapılmıştır. Isis‟te elektronik devre çizim işlemini Şekil 3.1.‟deki gibi
gerçekleştirirken, bunun yanında devrenin analizi de yapılabilmektedir. İsiste çizilmiş olan bu
devre aynı zamanda ares‟ e aktarılmak suretiyle çizimleri otomatik olarak baskı devre çizimi
gerçekleştirilir. Isis‟te önce kullanıcağımız elemanları P yazan butona basıp Şekil 3.2.‟deki
gibi seçerek divices bölümüne getirilir ve elemanları yerlerine yerleştirip programın kalemini
kullanarak elemanların bağlantıları yapılır. kullandığımız elemanlara istediğimiz kılıf
değerleri Şekil 3.3.‟deki gibi verilebilir. Şekil 3.4.‟de devrenin baskı devresi görülmektedir.
Şekil 3.1. Proteus‟ ta devrenin yapımı
17
Şekil 3.2. Kullandığımız devrenin Proteus programında gösterimi
Şekil 3.3. Ekrandaki elemanlara istenilen isimler ve package değerleri verilebilir.
18
Şekil 3.4. Devrenin baskı devre hali (PCB şekli )
3.2. MPLAB IDE Programı
Pic‟ i programlarken 3 dil kullanılabilir. Bu tezde PIC Assembly dili denen makine dili
kullanılmıştır. Ayrıca C ve Basic dillerinde de programlama yapılabilmektedir. Asembly
dilinde yazılan program kodlarını EK-1-A.‟da bulabilirsiniz. Tabi bu kodları geliştirip daha
iyi sonuclar da alınabilir. PIC Assembly Assembly kodlarınızı yazıp derlemek için KTÜ
Elektrik-Elektronik Mühendisliği Bölümü Labaratuarında bulunan MPLAB IDE programı
kullanılır. Mplab‟ın Kullanırken öncelikle kullanacağımız mikrodenetleyiciyi seçilir. Bunun
için Configure/Select Device kısmına Şekil 3.5.‟de gösterildiği gibi gidelim. PIC16F88´i seçip
yeni dosya oluşturup kodlarımız yazılıp, Şekil 3.6. deki gibi programımızı derlenip kayıt
edilir. İnternetten ilgili yazılım bulunabilir.
19
Şekil 3.5. Kullanılan PIC‟in programdan seçimi
Şekil 3.6. Programın başarılı bir şekilde derlendiğini gösteren pencere
Programımız MPLAB programında başarılı bir şekilde yazılıp derlendikten sonra bir
programlayıcı ile program gönderilir. Devremizde bulunan mikrodenetleyicimiz programlanıp
devreye yerleştirilmek üzere hazırlanır ve programlama cihazı ile iletişime geçmek üzere bir
20
program kullanılır. Bu çalışmada kullanılan program WİN PIC programmerdır. Çalışmada
yararlanılan WİN PIC programının nasıl kullanıldığına dair bilgileri internetten öğrenip
uygulanmıştır ve ilerleyen sayfada anlatılmıştır.
3.3. WİN PIC Programlayıcı
Kullanılan PIC‟i programlamak için alınmış olan programlayıcı cd si içerisinde ki program
PIC ile iletişime geçemediğinden dolayı internetten araştırmalarım sayesinde bulunan WİN
PIC programlayıcı sayesinde devremizde kullanılan PIC programlanabilmiştir. Şekil 3.10.‟da
görülen PIC programlayıcı kullanılarak daha önce derlediğimizde oluşan dosyayı WİN PIC
programını kullanarak PIC‟ in içerisine Şekil 3.7.‟deki gibi gönderilir. Şekil 3.8‟de görüldüğü
gibi bilgisayarın seri portu seçilir ve yazılan kodlar başarıyla derlendiği message bölümünden
bakılabilir ve Şekil 3.9.D.‟da gösterildiği gibi kodlar görünecektir. Bilgisayarımız
programlayıcı ile iletişime geçtiğinde Şekil 3.10.‟da görüldüğü gibi led ışık yayacaktır.
Şekil 3.7 Derlenmiş olan program dosya menüsünden programa yüklenmesi
21
Şekil 3.8. Kullanılan bilgisayarın seri portunun seçimi
Şekil 3.9. Başarıyla gönderilen programın kodlarının ekranda görünümü
23
SONUÇ
Yapılan çalışmada CO zehirli gazının açığa çıkabileceği ortamlarda, bu gazın tespit
edilmesi ve bu vakaya bağlı risklerin, ortadan kaldırılabilmesi için belirlenen proje adımları
ışığında gerekli çalışmalar yapılmış ve devrenin çalışması gerçekleştirilmiştir.
PIC mikronetleyici kullanarak yapılan güvenlik sistemi PLC kullanılan çalışmalara göre
maliyeti, kullanım kolaylığı ve istenilen yere montajının yapılabilmesi açısından son derece
uygun olduğu anlaşılmıştır. Devrede kullanılan elektro kimyasal bir eleman olan MQ-7
sensörü sayesinde devremiz istenilen çıkış gücüne ayarlanabilir. Deneysel çalışmalarımız
ışığında ve aldığımız ölçümlere göre devremizde bulunan 10 k‟lık dirençlerin uçlarındaki
gerilim saat yönünde sonuna kadar çevirdiğimizde 5 v olarak ölçülmüştür. Tetikleme için
kullanılan potansiyometre ortam sıcaklığının da etkisine bağlı olarak 2.3 v olarak
ayarlanmalıdır.
Yapılan çalışmada kullanılan röle vasıtasıyla sistemimize ek bazı devreler kullanılarak
(alarm sistemimizde ki zil devresinde olduğu gibi) yeni bazı uygulamalar gerçeklenebilir.
Devremiz kullanılırken herhangi bir elektrik kesilmesine karşı kesintisiz güç kaynağı
kullanılarak sistem desteklenmelidir. Ayrıca yapılan alarm sisteminin montajı esnasında CO
gazının havadan hafif bir gaz olduğunu baz alarak sistemimizi tavana yakın bir noktaya
montajının yapılması gereklidir.
Son olarak MQ-7 gaz sensörümüzü kullanarak ortamdaki CO gazının miktarı ölçülebilir
ve kronik CO zehirlenmesinin sebep olduğu iş gücü kaybı minimize edilebilir.
24
KAYNAKLAR
[1]. N. Hampson “Emergency Department visits for carbonmonoxide poison Pasific West”
J. Emerg Med. 1998 Sep-Oct;16(5):695-8.
[2]. Doherty S. History, pathophysiology,clinical presetation and role of hyperbari oxygen
İn acute CO poisoning. Emerg Med. 2000;12:55-61
[3]. O. Kaur, “Karbonmonoksit Zehirlenmeleri” Uzm. Tezi. Ankara (1989).
[4]. N. Vural,“Toksikoloji,”A.Ü.Basımevi, A.Ü. Ecz. Fak. Yayınları, No:56Ankara(1984).
[5]. “MQ-7 data sheet,”Technical data MQ-7 sensor, HANWEI ELECTRONICS LTD
[6]. (1-04-2012)The Bilkent Universty website.[Online].Avaible:http://www.bilkent.edu.tr
[8]. H. Karakaş, 2010.“İleri PIC16F84 Uygulamaları-1,” Altaş Yayıncılık, İstanbul 1-207
[7]. Choi IS. Carbonmonoxide poisoning: systemic manifestations and complications. J.
Korean Med. Sci. 2001; 16(3): 253-261
[9]. A. Ernst, Zibrak J: D. Carbonmonoxide poisoning. England J. Med. 1998;33(2):160
[10]. Greg Emerson. Hyperbaric medicine and carbonmonoxide poisoning: oxygen Under
Emergency Medicine 2000 12, 9-10
[11]. G. Bell. Hyperbaric oxygen: It suses, mechanism of action and out comes. QJM of
Physicians. 2004; 97: 385-95
[12]. M. RE, W. Ehler, Tayapongsak P, Pierce LW. Relationship of oxygen do set genesis
İnduction in irradiated tissure. Am J Surg. 1990 Nov; 160(5): 519-24
[13]. Ulusal Zehir Danışma Merkezi (2012) sayfası [Online]. Avaible: http://uzem. rshm.tr
/index/halka-yönelik-bilgiler/karbonmonoksit zehirlenmeleri
25
EKLER
EK-1.A. PIC’ in programı;
; Carbon Monoxide Sensor
list P=16F88
#include p16f88.inc
;Program Configuration Register 1 __CONFIG _CONFIG1, _CP_OFF &
_CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF &
_BODEN_ON & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
;Program Configuration Register 2
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
; Define variables at memory locations
EEPROM0 equ H'00' ; non-volatile storage for last Alarm state
EEPROM1 equ H'01' ; non-volatile storage for momentary relay at startup if
alarm was on at switchoff
; Bank 0 RAM
WARN_V equ H'20' ; Warning A/D value
WARN_H equ H'21' ; Warning hysteresis A/D value
ALARM_V equ H'22' ; Alarm A/D value
ALARM_H equ H'23' ; Alarm hysteresis A/D value
SENSOR equ H'24' ; Stored sensor A/D value
SENSOR_M equ H'25' ; sensor A/D value
CYCLE_CNT equ H'26' ; cycle counter for 90/60seconds
ADCOUNT equ H'27' ; A/D counter
PURGE equ H'28' ; purge mode
WARN_LED equ H'29' ; warning LED flasher flag
FLASH_TIME equ H'2A' ; warning LED flash rate
TEMP1 equ H'2B' ; temporary register
ALARM_LEDequ H'2C' ; alarm LED flag
STORE1 equ H'2D' ; delay storage value
STORE2 equ H'2E' ; delay storage value
; All Banks RAM
26
W_TMP equ H'72' ; storage of w before interrupt
STATUS_TMP equ H'73' ; status storage before interrupt
; preprogram EEPROM DATA
ORG 2100
DE D'0', D'0'
; start at memory 0
org 0
goto SETUP
org 4
goto INTERRUPT
;
***************************************************************************
*******************
SETUP
clrf PORTB ; port B outputs low
clrf PORTA ; port A output low
bsf STATUS,RP0 ; select memory bank 1
; set inputs/outputs
movlw B'00000111' ; comparators off
movwf CMCON
movlw B'10000011' ; port B outputs/ inputs set
movwf TRISB ; port B data direction register
movlw B'10111111' ; outputs (0) and inputs (1)
movwf TRISA ; port A data direction register
movlw B'00000111' ; settings (pullups enabled TMR0/256)
movwf OPTION_REG
; analog inputs, A/D
movlw B'00011111' ; AN0 to AN4 are analog inputs
movwf ANSEL
movlw B'01000000' ; left justified A/D result, Vdd to Vss A/D
27
movwf ADCON1
bcf STATUS,RP0 ; select memory bank 0
movlw B'11000000' ; Fosc, channel etc
movwf ADCON0
bsf ADCON0,ADON ; A/D on
bsf STATUS,RP0 ; select memory bank 1
movlw B'00111000' ; 0011 for 500kHz
movwf OSCCON ; 500kHz osc
bcf STATUS,RP0 ; select memory bank 0
; initial conditions
INITIAL
clrf CYCLE_CNT ; interrupt counter
clrf ADCOUNT ; A/D counter
clrf PURGE ; purge/reading mode
clrf WARN_LED ; warning LED flag
clrf FLASH_TIME ; LED flash rate
clrf ALARM_LED ; alarm LED flag
clrf SENSOR ; stored sensor value
; delay start
movlw D'05' ; extra delay
movwf TEMP1
RECYC_DELAYZ
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAYZ
; check reset switch if closed toggle EEPROM1 bit 0
btfsc PORTB,7 ; if low then toggle bit 0
28
goto ALL_INTERRUPTS ; interrupts enable
movlw EEPROM1 ; momentary action of relay if alarm was set at
switch off flag
call EEREAD
movwf TEMP1
incf TEMP1,w ; toggle bit 0
call EWRITE ; write to EEPROM
HI_RST
btfss PORTB,7 ; wait till high again
goto HI_RST
; delay start
movlw D'20' ; extra delay
movwf TEMP1
RECYC_DELAYY
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAYY
; allow interrupts
ALL_INTERRUPTS
bsf INTCON,TMR0IE ; set interrupt enable for TMR0
bsf INTCON,GIE ; set global interrupt enable for above
; check last alarm state. If alarm was on then momentarily switch relay if it was in momentary
mode
CK_LAST_ALM
btfsc PORTB,1 ; if low then momentary
goto PURGE_CONTINUE ; not momentary
movlw EEPROM1 ; option to disable momentary action of relay if
car resets to external air at start
call EEREAD ; read momentary relay option EEPROM
movwf TEMP1
btfss TEMP1,0 ; if clear bypass
29
goto PURGE_CONTINUE
movlw EEPROM0 ; read eeprom
call EEREAD ; value stored
movwf TEMP1
btfss TEMP1,0 ; if set then last alarm was on
goto PURGE_CONTINUE
movlw 0x00
call EWRITE ; clear alarm flag
bsf PORTA,6 ; relay on
movlw D'5' ; extra delay
movwf TEMP1
RECYC_DELAYX
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAYX
bcf PORTA,6 ; relay off
PURGE_CONTINUE
END_ALARM_CK
btfsc PURGE,0 ; if set then 90s reading, clear 60s purge
goto READING
bcf PORTB,5 ; set purge voltage for sensor
movf CYCLE_CNT,w
; test or normal running
btfss PORTB,0 ; if low then test
goto TEST_P ; test purge
sublw D'114' ; =60 seconds
RETURN_FROM_TEST
btfsc STATUS,C ; when negative 60 seconds are up
goto MORE_PURGE
30
clrf CYCLE_CNT ; return to zero
bsf PURGE,0
goto READING
TEST_P
sublw D'1'
goto RETURN_FROM_TEST
MORE_PURGE
MORE_READING
; check for reset
btfsc PORTB,7 ; if clear reset
goto ALARMS
call DELAYms ; wait
btfsc PORTB,7 ; if still clear then reset alarm
goto ALARMS
clrf WARN_LED ; warn LED flag off
clrf ALARM_LED
bcf PORTB,3 ; LED off
btfss PORTB,1 ; if low then momentary so toggle
goto TOGGLE1
bcf PORTA,6 ; toggle relay off
goto INITIAL
TOGGLE1
bsf PORTA,6 ; relay on
movlw D'5' ; extra delay
movwf TEMP1
RECYC_DELAY
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAY
31
bcf PORTA,6 ; relay off
goto INITIAL
READING
btfss PURGE,0 ; if set then 90s reading, clear 60s purge
goto PURGE_CONTINUE
bsf PORTB,5 ; clear purge voltage from sensor
movf CYCLE_CNT,w
; test or normal running
btfss PORTB,0 ; if low then test
goto TEST_R ; test purge
sublw D'172' ; =90 seconds
RETURN_TEST_R
btfsc STATUS,C ; when negative 90 seconds are up
goto MORE_READING
; end of 90 seconds
movf SENSOR_M,w ; measured value to stored value
movwf SENSOR
clrf CYCLE_CNT ; return to zero
bcf PURGE,0
goto ALARMS
TEST_R
sublw D'2'
goto RETURN_TEST_R
; check for alarms
ALARMS
; is alarm on, if so check hysteresis for setting off
btfss ALARM_LED,0 ; alarm LED flag
goto ALARM_IS_OFF
32
; subtract alarm hysteresis from alarm value compare with sensor
movf ALARM_H,w ; alarm hysteresis
subwf ALARM_V,w ; subtract from alarm value
btfss STATUS,C ; if negative then clear
clrw ; do not go below 0
subwf SENSOR,w ; compare
btfsc STATUS,C ; if positive then still alarm
goto END_ALARM_CK; alarm on so keep on
; switch alarm off
bcf PORTB,3 ; alarm LED off
clrf ALARM_LED ; clear flag
; clear EEPROM0 (alarm state)
movlw EEPROM0
call EEREAD ; sets EEADR
clrw
call EWRITE ; write cleared value
; relay off
btfss PORTB,1 ; if low then momentary so toggle
goto TOGGLE3
bcf PORTA,6 ; relay off
goto ALARM_IS_OFF
TOGGLE3
bsf PORTA,6 ; relay on
movlw D'5' ; extra delay
movwf TEMP1
RECYC_DELAY2
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAY2
33
bcf PORTA,6 ; relay off
; if alarm is off, check if should be on
ALARM_IS_OFF
movf ALARM_V,w ; alarm value
subwf SENSOR,w ; compare
btfss STATUS,C
goto CK_WARN_LED
; switch alarm on
bsf PORTB,3 ; alarm LED on
bsf ALARM_LED,0 ; set flag
clrf WARN_LED ; warning off
; set EEPROM0 (alarm state)
movlw EEPROM0
call EEREAD ; sets EEADR
movlw 0x01
call EWRITE ; write set value
; relay set
btfss PORTB,1 ; if low then momentary so toggle
goto TOGGLE2
bsf PORTA,6 ; toggle relay on
goto END_ALARM_CK
TOGGLE2
bsf PORTA,6 ; relay on
movlw D'5' ; extra delay
movwf TEMP1
RECYC_DELAY1
call DELAYms
decfsz TEMP1,f
goto RECYC_DELAY1
34
bcf PORTA,6 ; relay off
goto END_ALARM_CK
; if off check if warning should be on
CK_WARN_LED
btfsc WARN_LED,0 ; if warning is on
goto CK_WARN_OFF
movf WARN_V,w ; warning value
subwf SENSOR,w ; compare
btfss STATUS,C
goto CK_WARN_OFF
; switch warning on
bsf WARN_LED,0 ; set flag
goto END_ALARM_CK
CK_WARN_OFF
; if warning is on check if should be off
; subtract warn hysteresis from warn value compare with sensor
movf WARN_H,w ; Warning hysteresis
subwf WARN_V,w ; subtract from warning value
btfss STATUS,C ; if negative then clear
clrw ; do not go below 0
subwf SENSOR,w ; compare
btfsc STATUS,C ; if positive then still alarm
goto END_ALARM_CK
clrf WARN_LED ; flag unset
bcf PORTB,3 ; alarm LED off
goto PURGE_CONTINUE
; delay
DELAYms
movlw D'20' ; delay
35
DELAYX
movwf STORE1 ; STORE1 is number of loops value
LOOP1
movlw 0xFF
movwf STORE2 ; STORE2 is internal loop value
LOOP2
decfsz STORE2,f
goto LOOP2
decfsz STORE1,f
goto LOOP1 ; decrease till STORE1 is zero
return
;
***************************************************************************
***************************
; INTERRUPT
; start interrupt by saving w and status registers
INTERRUPT
movwf W_TMP ; w to w_tmp storage
swapf STATUS,w ; status to w
movwf STATUS_TMP ; status in status_tmp
bcf INTCON,TMR0IF ; clear TMRO interrupt flag
; increase counter
incf CYCLE_CNT,f ; next count value
incf FLASH_TIME,f ; flash rate
; check for warning LED
btfss WARN_LED,0 ; if zero then no flash
goto ANALOG_AD
btfss FLASH_TIME,0
goto CLR_LED
bsf PORTB,3 ; set LED on
36
goto ANALOG_AD
CLR_LED
bcf PORTB,3 ; set LED off
; A/D conversion
; set analog input address
ANALOG_AD
movlw B'11000111' ; mask bits 5:3
andwf ADCON0,f ; set bits 5:3 to zero
btfsc ADCOUNT,0 ; if bit 0 set then set bit 3 in ADCON0
bsf ADCON0,3
btfsc ADCOUNT,1 ; if bit 1 set then set bit 4 in ADCON0
bsf ADCON0,4
btfsc ADCOUNT,2 ; if bit 2 set,set bit 5
bsf ADCON0,5
movf ADCOUNT,w ; find address
btfsc STATUS,Z ; if zero
goto CH_0
movf ADCOUNT,w
xorlw 0x01 ; 1
btfsc STATUS,Z
goto CH_1
movf ADCOUNT,w
xorlw 0x02 ; 2
btfsc STATUS,Z
goto CH_2
movf ADCOUNT,w
xorlw 0x03 ; 3
btfsc STATUS,Z
goto CH_3
37
movf ADCOUNT,w
xorlw 0x04 ; 4
btfsc STATUS,Z
goto CH_4
; Channel 0 A/D value
CH_0
call ACQUIRE_AD
movf ADRESH,w
movwf WARN_V ; warning value
goto NEW_ADDRESS ; end
; Channel 1 A/D value
CH_1
call ACQUIRE_AD
movf ADRESH,w
movwf WARN_H ; warning hysteresis value
goto NEW_ADDRESS ; end
; Channel 2 A/D value
CH_2
call ACQUIRE_AD
movf ADRESH,w
movwf SENSOR_M ; Sensor value
goto NEW_ADDRESS ; end
; Channel 3 A/D value
CH_3
call ACQUIRE_AD
movf ADRESH,w
movwf ALARM_H ; alarm hysteresis
38
goto NEW_ADDRESS ; end
; Channel 4 A/D value
CH_4
call ACQUIRE_AD
movf ADRESH,w
movwf ALARM_V ; Alarm value
goto NEW_ADDRESS ; end
; subroutine to wait for conversion
ACQUIRE_AD
bsf ADCON0,2 ; GO/DONE bit start conversion
WAIT_CONV
btfsc ADCON0,2 ; conversion complete when cleared ~11 cycles
goto WAIT_CONV
return
; end subroutine
; set new address
NEW_ADDRESS
incf ADCOUNT,f ; counter
movf ADCOUNT,w
sublw B'00000100' ; compare with 4,if positive or zero leave as is
btfss STATUS,C
clrf ADCOUNT ; back to zero
; end of interrupt reclaim w and status
RECLAIM
swapf STATUS_TMP,w; status temp storage to w
movwf STATUS ; w to status register
swapf W_TMP,f ; swap upper and lower 4-bits in w_tmp
swapf W_TMP,w ; swap bits and into w register
retfie ; return from interrupt
39
; **************************************************************
; subroutine to read EEPROM memory
EEREAD
bcf INTCON,GIE ; clear global interrupt enable
bcf STATUS,RP0 ; select memory bank
bsf STATUS,RP1 ; bank 2
movwf EEADR ; indirect special function register
bsf STATUS,RP0 ; select memory bank 3
bcf EECON1,EEPGD; pointer for data memory
bsf EECON1,RD ; read EEPROM
bcf STATUS,RP0 ; select memory bank 2
movf EEDATA,W ; EEPROM value in w
bcf STATUS,RP1 ; select bank 0
bsf INTCON,GIE ; set global interrupt enable
return
; subroutine to write to EEPROM
EWRITE
bcf INTCON,GIE ; clear global interrupt enable
bsf STATUS,RP1 ; select bank
bcf STATUS,RP0 ; select memory bank 2
movwf EEDATA ; data register
bcf INTCON,GIE ; disable interrupts
bsf STATUS,RP0 ; select memory bank 3
bcf EECON1,EEPGD; pointer for data memory
bsf EECON1,WREN ; enable write
movlw 0x55 ; place 55H in w for write sequence
movwf EECON2 ; write 55H to EECON2
movlw 0xAA ; AAH to w
movwf EECON2 ; write AA to EECON2
40
bsf EECON1,WR ; set WR bit and begin write sequence
bsf INTCON,GIE ; enable interrupts
bcf EECON1,WREN ; clear WREN bit
WRITE
btfsc EECON1,WR ; skip if write complete WR=0 when write complete
goto WRITE ; not written yet
bcf EECON1,EEIF ; clear write interrupt flag
bcf STATUS,RP0 ; bank select
bcf STATUS,RP1 ; select memory bank 0
bsf INTCON,GIE ; set global interrupt enable
return ; value written
41
ÖZGEÇMİŞ
1988 yılında Çorum‟da doğdu ve Çorum Anadolu Lisesi‟ni 2006-2007 yılında bitirdi ve
aynı yıl Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliğini kazandı.
42
Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü
STANDARTLAR VE KISITLAR FORMU
1. Projenizin tasarım boyutu nedir? Açıklayınız.
25x35 cm boyutunda cam bir fanusun içerisine hazırlanmış olan devremiz 5x10 cm dir.
Oldukça portatif ve küçüktür.
2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?
Günümüz mühendislik uygulamalarında karşımıza çıkan en önemli sorunlar bilgisayar
programlarının çok iyi derece kullanılabilmesidir ve kullanılan programlar uzun bir
süreçten sonra öğrenilmiştir.
3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?
Elektronik devreler dersinde öğrendiğimiz elemanlar kullanıldığı ve devre gerçeklemesi
yapıldığı için bu dersin faydasını gördüğüm söylenebilir. Fakat elemanların tasarımı ve
gerçeklenmesinde kullanılan programlar konusunda okul derslerinin yardımcı olmadığı ve
ek araştırmalarla öğrendiklerimi kullanarak yaptım.
4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?
● Frekans değeri 50 Hz
● Gücü 12 W
● Kullanılan gerilim 230 V
● Maksimum akım değeri 500 mA
5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?
a) Ekonomi
PLC kullananılan sistemlere göre daha ucuz olmuştur.
b) Çevre sorunları:
Devremiz oldukça sessiz çalışmakta ve herhangibir gürültü kirliliği yaratmamaktadır.
c) Sürdürülebilirlik:
Sistemimiz daha gelişmiş sistemlerin tasarlanabilmesine öncülük edebilir.
43
d) Üretilebilirlik:
Devremiz seri üretim yapmaya çok uygundur.
e) Etik:
Devremiz hazırlanırken yararlanılan kaynaklara atıfta bulunulmuştur ve etik
kurallar çerçevesinde tez yazılmıştır.
f) Sağlık:
Devremiz hazırlanırken küçük güçlerde çalışması sağlanmış ve buda çevreye
yaydığı sağlığa zararlı radyasyonun önüne geçilmiştir.
g) Güvenlik:
Devremiz düşük akım ve gerilimde çalıştığı için 12 V DC gerilim herhangibir
elektriksel tehlike içermemektedir.
h) Sosyal ve politik sorunlar:
Alarm sistemimiz tasarlanırken çeşitli veri tabanlarından CO zehirlenmesine dair
vaka sayıları alınmıştır ve bu konunun ne kadar önemli olduğu anlaşılmıştır.
Projenin Adı KARBONMONOKSİT ZEHİRLENMELERİNİ ÖNLEYİCİ ALARM SİSTEMİ
Projeyi hazırlayan öğrenci CANER KAPLAN
Tarih ve İmzalar 30-05-2012