Tork Nedir ? Tork Hesaplama


Tork(torque) deyince muhtemelen birçok kişinin aklına otomobillerle alakalı birşey gelir. Fakat bunun ne olduğunu tanımlamaya gelince birçoğumuz zorlanırız. Ne olduğunu çok iyi bilmeme rağmen tarif ederken nasıl anlatacağımı şaşırıyorum. Tork ve beygir gücü birbirine yakın iki terimdir ve torkun ne olduğunu anlayabilmek için öncelikle beygir gücünün ne olduğunu bilmek gerekir.
ferrari_torkBeygir Gücü Nedir?
Bir otomobilin teknik özelliklerinde motoruna ait güç ve tork değerlerini görürüz. Buradaki güç, motorun beygir gücüdür ve Türkçesi BG olan HP(horsepower) birimiyle ifade edilir. 1 beygir: 75 kg’lık ağırlığı 1 sn’de 1 metre yukarı kaldırabilecek güç miktarı olarak tanımlanır. Bunun da yaklaşık 1 atın gücüne denk geldiği düşünülerek “beygir gücü” denilmiştir. Beygir gücü motora has değiştirilemez bir değerdir. Ama tork aktarma organları, dişliler, vites kutusu, tekerlek çapı vs. gibi etkenlerle değiştirilebilir. Beygir gücü ise bunların tamamından bağımsız motorun karakteristik bir özelliğidir. Aslında tork da çıplak bir motorda belli bir değerle ifade edilebilir fakat bu güç yere iletilen itme kuvveti olarak tanımlandığından tek başına motora ait karakteristik bir veri olarak düşünülemez.
Tork Nedir?Tork, motordan tekerleğe iletilen itme(dönme momenti) kuvvetidir. Birimi Nm (Newtonmetre)’dir. Bu kuvvet motorun gücü ile doğrudan alakalı değildir. Yani iki araçtan beygiri az olan bir otomobilin torku ise diğerine göre fazla olabilir. Bu da tekerlek çapı, vites kutusu ve motor tipi gibi etmenlere bağlı olarak değişir.
Halk ağzıyla otomobilin çekişi olarak da tarif edebileceğimiz tork, kamyon, otobüs, traktör gibi araçlarda çok yüksek değerler almaktadır. Bunun nedeni yük taşıyan araçların hız yapmaktan çok çekişe ihtiyaç duymasıdır.
Torku ifade eden bir diğer oto terimi de esnekliktir. Torku yüksek olan otomobiller ara hızlanmalarda yani sollamalarda örneğin 60km/h hızdan 120km/h hıza ulaşmada daha başarılıdır. Bu otomobilin esnekliği olarak tanımlanır.
Torkun yüksek olması için motorun yanma odasında normalden daha kuvvetli bir yanma gerçekleşmesi gerekir. Bu nedenle aynı beygir gücüne sahip bir benzinli motor ile dizel motor arasında iki kata yakın tork farkı vardır. Dizel motorlarda yanma odasında sıkıştırılan yüksek basınçlı havanın içerisine yine yüksek basınçlı enjektörlerden yakıt püskürtülerek çok kuvvetli bir yanma elde edilir. Bu nedenle dizel motorların torkları fazladır. Fakat dizel motorlar benzinlilere göre fazla devir yapamadıklarından hızlanma değerlerinde benzinli araçlarla benzer değerler elde ederler yani sahip oldukları tork avantajlarını devir düşüklükleri nedeniyle kısmen kaybederler.
Yüksek devirli benzin motorları her halükarda en gelişmiş turbo dizel bir motordan dahi ivmelenme anlamında üstündürler. Fakat alt devirlerdeki ani hızlanma yetenekleri sayesinde günlük şehir içi kullanımda dizel motorlar çok keyifli bir sürüşü mümkün kılarlar. Bunun nedeni de yüksek tork değerleridir. Torku yüksek olan bir aracın gaz pedalına basıldığından insanın sırtını koltuğa yapıştıracak bir hızlanma duygusu yaşatır ve bu otomobillerdeki en önemli keyif faktörlerinden birisidir.
Bir otomobilin vites kutusunda, daha fazla tork üretmesi veya daha fazla hız yapması arasında tercih yapılabilir. Burada etkili olan güç ve tork değerleri binek otomobillerde birbirine yakın değerlerde tutulurken örneğin bir jipte tork yönüne kaydırılmıştır. Misal bir binek otomobil 150 HP güç, 180 Nm tork değerine sahipken aynı motorun kullanıldığı bir jip 150 HP güç, 300 Nm tork değerine sahip olabilir. Burada beygir gücü değişmezken kullanılan şanzıman oranlarına bağlı olarak torkta farklılık görülmektedir. Benzer şekilde tekerlek çapı büyük olan traktör gibi araçlarda torkun yüksek olması gerekir çünkü tekerlek çapı büyüdükçe motorun çekişi düşer. İlaveten motor tipi de tork için önemlidir. Sıra tipli motorlar güç üretmeye odaklı olarak üretilirken V tipli motorlar çekişin fazla ve sürekli olması istenen yerlerde kullanılır.
torqueaYazının başından beri hep otomobillerdeki tork kavramıyla ilgili açıklamalar yaptım. Aslında bu kavram fizikte dönme momenti olarak bilinen kuvvet x kuvvet kolu formulünden başka birşey değildir. Yandaki resimde anahtarla somunun sıkılması gösterilmekte. Burada elle uygulanan kuvvet vida ile somun arasında vidaya paralel yönde bir gerilim ve dairesel yönde moment oluşturmakta. İşte bu momente tork denir. Anahtarın sapı ne kadar uzun olur ve ne kadar geriden tutulabilirse, somun o kadar kolay dönecektir. Otomobilin tekerleklerinde olan da bunu aynısıdır. Tekerleğin çapı küçültülürse tork yükselir ve daha ani tepki veren daha esnek bir otomobile sahip olunabilir. Tabi bu durumda maksimum sürat düşecektir. Bir yerden kazanılırken bir yerden fire vermek gerekir, bu işin doğasında olan birşeydir.
Tork Eğrisi
Otomobilden anlayanların baktığı en önemli ve iyi yorumlanması gereken teknik veri tork eğrisidir. Aşağıda Volkswagen markasına ait 1.4 TSI ve 1.6 FSI motorlarının tork eğrileri karşılaştırılmalı olarak verilmiştir.
tork_grafik
Grafiği yorumlarken ilk başta şu temel bilgiyi bilmek gerekir: “Bir motorun tork eğrisi ne kadar düz bir çizgi şeklinde ilerliyorsa, motor o kadar verimlidir.” Motorun verimli olması kullanılan yakıttan minimum ısıl kayıpla optimum kazanç elde edilebildiği anlamına gelir ki, bu bir motor için en belirleyici kalite faktörlerinin başında gelir.
Grafikteki her iki motor da benzinlidir. 1.4 litrelik TSI motor 1500 devir seviyelerinden başlayarak 3500 devre kadar aynı tork değerini koruyabilmiştir. Bu demektir ki otomobil bu devir aralıklarında kendinden beklenen en atak(esnek) sürüşü mümkün kılıyor. 1.6 litrelik FSI motor ise, maksimum torkunu 4000 devirde üretmiş ve bu devirden sonra 6300 devirlere kadar fazla bir çekiş kaybetmeden çekişini korumuş. Atmosferik bir motor için gerçekten güzel bir değer fakat 4000 devire kadar otomobilin uyuşuk bir tavır sergilemesi hem yakıt ekonomisi hem de sürüş keyfi açısından kötü bir durum. Bu motordan performans alınabilmesi için yüksek devirde kullanmak şart, bu da çok yüksek ısıl kayıplarla beraber verimsizliği ve yüksek yakıt tüketimini beraberinde getirir. Peki 1.4 TSI motor harika mı? Tabiki değil; onun da 3500 devirden sonra aniden nefesi kesilmeye başlıyor ve FSI motor kadar yüksek devirle motoru çeviremiyor. Bu durumda rampada TSI motor FSI’ya rahatlıkla toz yutturacaktır ve kıyas götürmez şekilde performansını gösterecektir. Düz yolda ise FSI motor, TSI’yı hem hızlanma değeri olarak hem de maksimum sürat anlamında geride bırakacaktır. Ama yakıt ekonomisi ve sürüş keyfi açısından TSI motorun tercih edilebilirliği daha fazla. FSI motorun eğrisi grafiğin hiçbir yerinde düz bir çizgi olarak ilerlemediğinden ilk bakışta başarısız olduğu anlaşılıyor zaten. Bu grafikte kırmızı çizgiyle gösterilen TSI motor tork anlamında da güçlü zaten ama bazı grafiklerde tam tersi olur ve eğri tepe gibi olan mavi grafik kırmızının üzerine çıkar. İşte o durumda da düz ilerleyen grafiğe sahip aracı tercih etmek daha mantıklı olacaktır. Maksimum torku az olsa da o torku değişken devir aralığında sürekli üretebilen motor daha başarılıdır.


Devamı: http://www.bilgiustam.com/tork-nedir-ne-ise-yarar/#ixzz1Zf3LhGsJ


Proteus v7.7 Türkçe Yama

Türkçe Proteus v7.7

Diyalog Mesajlarınıda Türkçe'leştirdim.
isterseniz hem Türkçe hem İngilizce Kullanabilirsiiz Detaylı bir şekilde Pakette Anlattım.
Caps:

Resized to 63% (was 1280 x 1024) - Resme orijinal buyuklugunde bakmak icin tiklayinizYollanan resim


Yollanan resim


Türkçe Yama Paketi içindekiler:
*Proteus Ekran Görüntüleri.
*ENG ve RUS Proteus v7.7 Crack Araçları
*Bir kaç Devre Tasarımı(Flip-Flop,Kara Şimşek vs.)

Bağlantı Adresi:
http://www.mediafire.com/?tguytw4h8gy8zoh  [Boyut:8.15Mb]

Ek olarak Animasyonlar var.. 

Türkçe'ye Çevirmek için Kullandığım Araçlar:*Reshacker
*Ollydbg

Portable Proteus 7.6 Türkçe


Proteus, baskı devre çizimi, elektrik, elektronik devre şeması hazırlamak da ve bu devreleri simüle etmek de kullanılan bir yazılımdır.

Proteus programı
* İsis ( şema çizim )
* Ares ( baskı devre çizim )

Alt programları olmak üzere iki modülden oluşur. İsiste elektronik devre çizim işlemini gerçekleştirirken, bunun yanında devrenin analizi de yapılabilmektedir. İsiste çizilmiş olan bu devre aynı zamanda arese aktarılmak suretiyle çizimleri otomatik olarak baskı devre çizimi gerçekleştirilir.

Proteus ile yapmış oldugunuz devreyi çalıştırabilir malzeme almaya lehim yapmaya gerek kalmadan her türlü devre dizaynı yapabilirsiniz. Ayrıca baskılı devre çiziminide yapılabiliyor herşey sizin hayal gücünüze bağlı.



 Linkleri Kontrol Et
2-)Portable Proteus7.6 Sp0 |  Boyutu 56.1 MB Açılıcada 56.1 MB (Güncelleştirildi)
www.poyrazsoft.blogspot.com.tr adresinden indirebilirsiniz.

Endüstriyel Otomasyon Teknisyeni


ENDÜSTRİYEL OTOMASYON TEKNİSYENİ

TANIM
İleri teknolojiyi kullanan üretim ve hizmet sektörlerinde; üretim ve bilişim cihazlarının montajı, devreye alınması, işletilmesi, bakım-onarımlarının yapılması, geliştirilmesi, programlanması ve işletme şartlarına uygun otomasyon sistemlerinin (elektrik, elektronik, mekanik, programlama vb.) tasarlanması, kurulması ve uygulanması işlerinde çalışan kişidir.
GÖREVLER
- Endüstriyel üretim yapan ve otomasyon teknolojilerinin kullanıldığı fabrikalarda mühendis, teknik öğretmen ve teknikerlerin gözetiminde; otomatik kontrol, endüstriyel tasarım ve üretim ile işletim sistemlerinin kurulması, bakımı ve işletmeye alınması aşamalarında görev alır,
- Endüstride kullanılan bilgisayarlı sayısal denetimli ve otomatik tezgahların işletim programını hazırlar,
- Bilgisayar ve bilgisayarlı sistemleri kullanarak kontrol cihazlarının bilgisayar programını yapar ve kontrol eder,
- Hava, ısı ya da basıncı ayarlayan aletlerin düzenli bakımını yapar,
- Bozulan aletleri sökerek onarır, yeniden ayarlar,
- Bilgisayar destekli teknik resim çizebilir.
KULLANILAN ALET VE MALZEMELER
- Bilgisayar ve ilgili yazılımlar,
- Programlanabilir kontrol aletleri,
- Elektropnömatik ve elektrohidrolik devre elemanları,
- Her türlü sensörler (algılama-hissedici sensörler, basınç sensörü, seviye sensörü, sıcaklık sensörleri, nem sensörü, ışık sensörü)
- Ölçüm cihazları (takometre, manometre, ampermetre, voltmetre, watmetre),
- Elektrik ve elektronik devre elemanları,
- Kablolar, entegre devreler, diot, transistör, felt, her türlü dijital ölçü aletleri, termokupul,
- Mikroişlemciler.
MESLEĞİN GEREKTİRDİĞİ ÖZELLİKLER
Endüstriyel Otomasyon Teknisyeni olmak isteyenlerin;
- Fen bilimlerine ve matematiğe ilgili ve bu alanlarda başarılı,
- Mekanik ilişkileri görebilen,
- El ve parmak becerisine sahip,
- Sesleri ayırdedebilme yeteneğine sahip,
- İnce ayrıntıları algılayabilen, dikkatli ve titiz,
- Alet ve makinelerle uğraşmaktan hoşlanan,
- Başkaları ile işbirliği içinde çalışabilen,
- Dikkatli, sabırlı ve titiz
kimseler olmaları gerekir.
İşitme kusuru, el, kol ya da ayaklarını kullanmada güçlükler mesleğin yürütülmesine engel olabilir.
ÇALIŞMA ORTAMI VE KOŞULLARI
Endüstriyel Otomasyon Teknisyenleri, endüstriyel üretim yapan, modern teknolojiye sahip fabrika ve laboratuar ortamlarında çalışırlar. Meslek elemanları genellikle işlerini oturarak yürütürler. Görevleri diğer çalışanlarla işbirliği içinde çalışmayı gerektirir.Çalışma ortamı bol ışıklı, sıcak ya da soğuk, gürültülü, kirli olabilir. Çalışırken elektrik çarpması ya da makine kazası gibi tehlikelere maruz kalınabilir. Endüstriyel otomasyon teknisyenleri çalışırken meslektaşlarıyla, işçilerle, makine mühendisleri, elektrik mühendisleri, elektronik mühendisleri, sistem mühendisleri ve kontrol mühendisleri ile iletişim halindedir.
ÇALIŞMA ALANLARI VE İŞ BULMA OLANAKLARI
Endüstriyel Otomasyon Teknisyenleri; petro kimya, gıda, otomotiv, elektronik vb.sektörlerde daha çok otomatik kumanda cihazlarının üretildiği ve uygulandığı büyük, orta ve küçük ölçekli işletmelerde teknisyen olarak görev yaparlar.
İş bulma olanakları yönünden kızlar ve erkekler arasında fark görülmemekle birlikte, bu mesleğin eğitimine aday olan kız öğrencilerin oranı %10-20 arasındadır.
Kamuda görev alınmak istenildiğinde; Daimi İşçi Sınavı (DİS) ya da Kamu Personeli Seçme Sınavında (KPSS) başarılı olmak ve tercih sıralaması sonunda mesleği ile ilgili açık kadrosu bulunan bir kamu kurumuna atanmaya hak kazanmak gerekmektedir.
Daha çok endüstrinin gelişmiş olduğu bölgelerde ve ileri teknolojinin kullanıldığı işletmelerde iş bulma olanağı yüksektir.
Anadolu Teknik Lisesi mezunlarına doğrudan İŞYERİ AÇMA BELGESİ verildiğinden isterlerse kendi adlarına işyeri açabilirler.
Mesleklerinde iş bulma sorunu olduğunda ya da işsiz kalmaları halinde; elektrik ve elektronik teknisyenlerinin yaptığı işlere de aday olabilirler, bilgisayar programcılığı yapabilir, makinaların otomasyon proğramlarını hazırlayabilirler.
MESLEK EĞİTİMİNİN VERİLDİĞİ YERLER
Mesleğin eğitimi Anadolu teknik liselerinin Endüstriyel Otomasyon Teknolojileri bölümlerinde verilmektedir:
MESLEK EĞİTİMİNE GİRİŞ KOŞULLARI
Mesleğin eğitimine giriş için;
– İlköğretim okulu mezunu olmak,
– Merkezi sistemle yapılan Ortaöğretim Kurumları Öğrenci Seçme ve
Yerleştirme Sınavında bu bölümü tercih ederek başarılı olmak gerekmektedir.
EĞİTİMİN SÜRESİ VE İÇERİĞİ
Mesleğin eğitim süresi 4 yıldır. Bu bölümde genel olarak öğrencilere; fabrika üretim ve otomasyon sistemleri, robotik, dijital elektronik, mikrobilgisayar,programlama, network teknolojisi, ölçme ve kontrol, CAD/CAM teknolojisi, multimedya ve teknik ingilizce konularında yeterlilik kazandırılmaktadır. Hazırlık sınıfında 1 yıl süreyle İngilizce, Matematik ve Bilgisayar dersleri okutulmaktadır. Eğitim süresince genel kültür dersleri (Matematik, Fizik, Kimya) yanında sınıflara göre aşağıdaki meslek dersleri okutulmaktadır. 9. sınıfta, Elektrik – Elektronik, Bilgisayar, Mekanik, CAD/CAM prog., Mühendislik Matematiği dersleri verilmektedir.. Bu derslerin içeriği kendi bölümleriyle aynıdır ve daha modern laboratuarlarda eğitimi verilmektedir. 10. sınıfta öğrenciler Elektronik ve Mekanik olarak ikiye ayrılarak eğitimine devam eder.
11. sınıfta Elektronik bölümü Öğrencileri; Bilgisayar Programlama, Bilgisayar Ağları, Kontrol Teknolojisi, Mekatronik (Bilgisayar, Elektrik – Elektronik ve Mekaniğin kullanılarak devre tasarımlarının yapılması) derslerini almaktadır. Mekanik Bölümü Öğrencileri; Fabrika Otomasyon Teknolojileri, Bilgisayar Kontrol Sistemleri, Bilgisayar Ağları derslerini almaktadır. 12. sınıfta Elektronik bölümü: Dijital Elektronik, Bilgisayar Ağları, Mekanik bölümü, Otomatik Üretim Teknolojisi, Fabrika Otomasyon Sistemleri olarak ikiye ayrılarak eğitimlerine devam ederler.
MESLEKTE İLERLEME
Endüstriyel Otomasyon Teknisyenleri çalıştıkları kurum, kuruluş ve işletmelerde ustabaşı, şef vb. olabilirler. Çalışılan işletmelerde hizmet-içi eğitim proğramlarıyla fabrika otomasyonu, bilgisayar proğramcılığı, makine tasarımı, bakım-onarım gibi bölümlerde uzmanlaşma olanakları vardır.
Anadolu Teknik Liselerinin Endüstriyel Otomasyon Teknolojileri bölümlerinden mezun olanlar, istedikleri takdirde, Biyomedikal Cihaz Teknolojisi, Elektrik, Elektrik-Elektronik, Elektronik Haberleşme, Endüstriyel Elektronik, Endüstriyel Otomasyon, Ev Cihazları Teknolojisi, Hidroelektrik Santraller, Mekatronik, Otomotiv, Radyo ve TV. Tekniği önlisans programlarına sınavsız geçiş için başvurabilirler. Gereken koşullara sahip oldukları takdirde yerleştirilebilirler.
BURS, KREDİ VE ÜCRET DURUMU
Kazanç, çalışılan sektör ve işletmeye göre değişmektedir. Kamu sektöründe derece, kıdem ve “teknik hizmetler” sınıfındaki tazminatlara göre ücret alınmaktadır.
Özel sektörde çalışanlar için kazanç durumu işyerinin büyüklüğüne, faaliyet alanına, çalışanların deneyim ve işindeki başarısına göre farklılıklar göstermekte olup genellikle ilk işe girişte asgari ücretle başlanmaktadır. Ancak, işletmelerin ileri teknoloji kullanmaları ve otomasyona geçilmesiyle birlikte bu alanda eleman ihtiyaçları artmış olduğundan, endüstriyel otomasyon teknisyenlerinin ücretleri diğer meslek sahiplerine göre daha fazla olmaktadır. Piyasada deneyimli ve işinde başarılı bir meslek elemanı asgari ücretin 2-3 katı ücret alabilmektedir.
Kendi işini kuranların kazançları da sektördeki gelişmelere ve kişinin başarısına bağlıdır.
DAHA AYRINTILI BİLGİ İÇİN BAŞVURULABİLECEK YERLER
- İlgili Eğitim Kurumları,
- Türkiye İş Kurumu Genel Müdürlüğü Ankara Meslek Danışma Merkezi,
- Bünyesinde Meslek Danışma Merkezi bulunan Türkiye İş Kurumu İl ve Şube Müdürlükleri.

2. Kesmeler (Interrupts)


2. Kesmeler (Interrupts)

Kesmeler mikrodenetleyici ile yapılacak tasarımlarda oldukça önemli bir yer tutar. Kesmeler program akışının belirli bir nedene bağlı olarak kesintiye uğratılması ve normal çalışmakta olan program prosedüründen çıkılarak farklı bir program alanına gidilmesini ve sonra kalınan yere geri dönülerek tekrar çalışmaya devam edilmesini sağlayan yapılardır.

Kesmeleri ve neden ihtiyaç duyduğumuzu bir örnekle açıklamaya çalışalım: Bir arkadaşınız ile konuşarak yolda yürümektesiniz. Bu yürüyüşünüz esnasında arkanızdan ye yakından bir korna sesisin keskin keskin çaldığını duyduğunuzda ne yaparsınız? Elbette bu durumda öncelikle yapmakta olduğunuz konuşmayı keser, gerekirse yürüyüşünüzü durdurur ve arkaya bakarak bu kornanın nedenini anlamaya çalışırsınız. Eğer size doğru freni patlamış bir aracın son sürat geldiğini fark ettiğinizde oradan kaçmak ilk yapacağınız şey olmalıdır. Eğer korna size yol vermeniz için çalıyorsa hemen yan tarafa geçerek araca yol verirsiniz. Diğer bir seçenek ise bu korna sizinle ilgilide olmayabilir. Sonuçta neden ne olursa olsun yapılması gereken şey o anda yapmakta olduğunuz işi sona erdirmek ve size gelen uyarıya yönlenmektir. Her üç durumdan sonra ise yapılacak iş ise yine önünüze dönerek yolunuza arkadaşınız ile konuşarak devam etmektir.

Burada size gelen bir uyartıya karşı sizin verdiğiniz bir tepki sonucu faaliyetiniz bir süreliğine kesilmiştir. Bu uyartının durumuna göre yapmanız gerekeni yaparak sonuçta kaldığınız yere geri dönerek kaldığınız yerden devam etmeniz gerekmektedir.

Başka bir örnek vermek gerekirse; diyelim ki bir arkadaşınıza arabanızın anahtarı gerekiyor. Ona anahtarı okulda vermek üzere anlaştınız. Arkadaşınız gelecek ama ne zaman gelecek bilmiyorsunuz. Aynı anda okulda da dersiniz var. Bu durumda sizin iki seçeneğiniz vardır. Ya derse gireceksiniz arkadaşınızı dışarıda bekletecek yada onun gelişini kaçıracaksınız. Yada dışarıda onun gelmesini bekleyip dersleri kaçıracaksınız.

Peki, hem derse girip, hem de arkadaşınızı nasıl kaçırmazsınız. Bunun için iki yöntem uygulayabilirsiniz. Birincisi dışarıya arkadaşınızı tanıyan başka birini bırakırsınız. O arkadaşınızın gelişini bekler geldiğinde size haber verir sizde anahtarı verirsiniz veya arkadaşınız geldiğinde sizi telefon ile arayarak haber verir sizde anahtarı arkadaşınıza teslim edersiniz. Böylelikle ne dersten mahrum kalırsınız nede anahtarı verememek gibi bir durumla karşı karşıya kalırsınız.

Kesmelerin bize sağladığı ikinci fırsatta bunun gibi durumlardır. Yani işlemcimiz sürekli olarak bir durumun oluşmasını bekler ise o sırada yapması gereken diğer işlemlere ya daha az zaman ayırmak zorunda kalır yada o işlemleri yapamaz. Onun yerine bu uyarının gerçekleşmesi durumunda gerekli işi yapmak diğer işler için bize yeterli zamanın kalmasını sağlayacaktır. İlk örneğimizde olduğu gibi korna acaba arkamdan çalacak mı diye her üç adımda bir arkamı dönüp bakmak yürüme zamanımı oldukça fazla uzatacaktır. Ayrıca eğer korna çalmadan araç arkamdan gelirse ve ben her üç saniyede bir arkama bakıyor isem ve araç ise ikinci saniyede arkamda belirdi ise ben arkama bakıncaya kadar araç zaten bana çarpmış olacaktır. Yani aracın gelişini kaçırmış olacağım.

Kesmeler mikrodenetleyici'de iki farklı şekilde oluşur. Bunlar harici ve dahili kesmeler olarak isimlendirilir. Harici kesmeler dışarıdan mikrodenetleyici'ye uygulanacak olan kesmelerdir. Bunlar mikrodenetleyici üzerindeki bu iş için ayrılmış uçlar aracılığı ile yapılır. Dahili kesmeler ise mikrodenetleyicinin içindeki modüllerden oluşturulur. Örneğin daha sonraki konularda görülecek zamanlayıcı kesmeleri, haberleşme kesmeleri gibi.

Kesme oluştuğunda program normal çalışma işlemini keserek kesme oluştuğunda çalışması gereken yere gider. Burada gelen kesmenin ne olduğu değerlendirilir. Uyartının ne olduğuna bağlı olarak yapılması gereken iş neyse yapılarak daha sonra programda kaldığınız yere geri dönmeniz sağlanır.

Mikrodenetleyici’de kesmeleri kontrol eden yazmaçlar bulunur. Bu yazmaçlar hangi kesmelerin kullanılacağını belirlemeniz için kullanılır. Bu yazmaçlarda yer alan kesmeler hem dahili kesmeler hem de harici kesmeler içindir.

Harici kesmeler ise dışarıdan gelen uyartılar için olduğunu daha önce söylemiştik. Örneğin bir motoru kontrol eden bir devrenin her zaman için motorun koruma kapağının açıldığını kontrol etmesine gerek yoktur. Eğer motor kapağı açılırsa güvenlik açısından motorun durdurulması gerekmektedir. Kapağa monte edilecek bir anahtar vasıtasıyla bu kesme oluşturulup mikrodenetleyici'ye aktarılırsa bu durum oluştuğunda kesmeler devreye otomatik olarak girecek ve ilgili işlem olarak motorun durdurulması gerçekleşmiş olacaktır.

Kesmelerde önemli bir durumda bayraklardır. Bayraklar (flags) bir kesmenin olduğunu gösteren bitlerdir. Bu bitler Logic 1 ise kesme oluşmuş demektir.

Bayraklarda en önemli olan konu ise bayrakların sıfırlanması işlemini programcının yapması gereğidir. Bunu da bir örnekle açıklamak istersek bir futbol maçında yan hakemler herhangi bir kural ihlali olduğunda orta hakeme bunu bildirmek için ellerindeki bayrakları kaldırırlar. Bu durumu orta hakem görünceye kadar devam ederler. Buradaki genel mantıkta buna benzer. Herhangi bir kesme oluştuğunda bayrak otomatik olarak bire gider. Bu bayraklardan herhangi biri Logic olarak 1 olduğunda program normal çalışma rutininden çıkarak kesme için ayrılan yere gider. Kesme rutinine gidildiğinde gereken işlemleri yaptıktan sonra rutinden geri dönerken bu bayrağı sizin tekrar Logic 0 durumuna getirmeniz gerekmektedir. Eğer bu işlemi yapmazsanız ana programa geri döndüğünüzde bayrak hala 1 olduğu için yeniden kesme rutinine geri dönersiniz.

Kesme oluştuktan sonra 1 olan bayrağın 0 yapılmaması program içinde kısır bir döngünün oluşmasına neden olacaktır.

Bayraklar sadece ilgili kesmenin aktif olması durumunda Logic 1 durumuna gider. Şartlar sağlanmış olsa da, dışarıdan uyartı gelse de kesmeler aktif değilse bayraklar asla Logic 1 olmaz.

Mikrodenetleyici programları çalıştırırken içindeki program sayacı ile hangi program satırının ( adresinin ) çalıştığını kontrol eder ve kaydeder. Bu Sayac FSR (File Status Register) olarak isimlendirilir. Programların normal çalışması sırasında kesme oluştuğunda çalışılmakta olan program satırından farklı bir satıra gidilir. Kesmeden önceki satıra geri dönmek için bu adres saklanmalıdır. Ayrıca kesme oluştuğunda program halen kullanmakta olduğu değişkenleri ve değerleri saklamalıdır. Program kesmeden önceki yere geri döndüğünde değişkenlerin değerleri aynen yerine konmalıdır. Değişken değerleri mikrodenetleyicide LIFO tipi belleklerde saklanır.


Şekil 11
 
FIFO ( First In First Out ): İlk giren ilk çıkar tipi bellek. Sıralı erişimli bellek tiplerindendir. Bu tip belleğin çalışmasını bir boru içine yerleştirilen toplar ile anlatabiliriz. Bir borunun sol tarafından içeriye sırası ile mavi, sarı, kırmızı toplar atarsak ve diğer ucundan bu topları alırsak yine aynı sıra ile toplara ulaşabiliriz. Buna ilk giren ilk çıkar tipi bellek adı verilir.

Şekil 12

LIFO ( Last In First Out ): Son giren ilk çıkar tipi bellek. Borunun sağ tarafı kapalı ise mavi,sarı, kırmızı girer çıkarken kırmızı, sarı, mavi olarak çıkar. Yani son giren ilk çıkmıştır.

Mikrodenetleyici içindeki LIFO tipi bellekler tampon bellek olarak kullanılır. Bu belleklerde isteğe bağlı olarak değerler saklanabilir. Fakat burada dikkat edilmesi gereken konu bu belleklerin sıralı erişim özelliğine sahip olduğudur. Aşağıdaki örnekle bu konuyu daha iyi anlamaya çalışalım.

POP 10
POP Deger
POP 1254

PUSH Var1
PUSH Var2
            PUSH Var3


Pop komutu sıralı erişimli belleğe değer atamak için kullanılır. Aynen topların borudan içeriye alınması gibi bir yöntemde verileri belleğe alır. Yukarıda belleğe önce 10 değeri arkasından Deger değişkeninin değeri ve 1254 değeri sırası ile alınmıştır. Sonra Push Var1 komutu çalıştığında belleğe en son atılan 1254 değeri Var1 değişkenine atanır. ( Not: Burada Var1 değişkeninin word olduğunu düşünmelisiniz.) Var2 değişkenine Deger değişkeninin değeri ve en son olarak ta Var3 değişkenine 10 değeri aktarılır.

Kısaca tekrar söylemek gerekirse belleğe hangi sıra ile değerleri atarsanız o sıranın tam tersi şeklinde bellekten değerleri geri almanız gerekmektedir.

Önce kesmeler için kullanılacak yazmaçları inceleyelim:

INTCON YAZMACI
               
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-X
GIE
PEIE
T0IE
INTE
RBIE
T0IF
INTF
RBIF
Bit 7






Bit 0

Bit 7       GIE: Bütün Kesmeleri Devreye Al
                                1=Bütün kesmeler devrede
                               0=Kesmeler devre dışı
                Bit 6       PEIE: Haberleşme kesmesi
                               1=Haberleşme kesmesi devrede
                               0=Haberleşme kesmesi devre dışı
                Bit 5       T0IE: Timer0 kesmesi
                               1=Timer 0 kesmesi devrede
                               0=Timer 0 kesmesi devre dışı
                Bit 4       INTE: RB0 harici kesmesi
                               1=RB0 harici kesmesi devrede
                               0=RB0 harici kesmesi devre dışı
                Bit 3       RBIE: PortB’nin değişim kesmesi
                                1=Değişim kesmesi devrede
                               0=Değişim kesmesi devre dışı
                Bit 2       T0IF: Timer 0 bayrağı
                               1=Timer 0 kesmesi oluştu
                               0=Timer 0 kesmesi oluşmadı
                Bit 1       INTF: RB0 kesmesi bayrağı
                               1=RB0 kesmesi oluştu
                               0=RB0 kesmesi oluşmadı
                Bit 0       RBIF: PortB Değişim bayrağı
                               1=PortB değişim kesmesi oluştu
                               0=PortB değişim kesmesi oluşmadı

OPTION_REG YAZMACI

R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
RBPU
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
Bit 7






Bit 0

                Bit 7       RBPU: PortB Pull-up aktif biti
                               1=PortB Pull-ups aktif değil
                               0=PortB Pull-ups aktif
                Bit 6       INTEDG: Kesme kenarı seçimi
                               1=RB0 kesmesini kenar yükselirken oluştur
                               0=RB0 kesmesini kenar düşerken oluştur
                Bit 5       T0CS: Timer0 clock kaynağı seçim biti
                               1=RA4 ucundan harici Clock kaynağı
                               0=Dahili osilatörü kullan
                Bit 4       T0SE: Harici Timer0 kaynağının tetikleme kenar seçimi
                               1=RA4 ucu Yüksekten düşüğe giderken tetiklen
                               0=RA4 ucu Düşükten yükseğe çıkarken tetiklen
                Bit 3       PSA: Taksimatlandırma değerinin uygulanacağı zamanlayıcı
                               1= WDT’ye uygula
                               0=Timer0’a uygula
                Bit 2-0   Taksimatlandırma değeri


Bit
TMR0
WTD
000
1:2
1:1
001
1:4
1:2
010
1:8
1:4
011
1:16
1:8
100
1:32
1:16
101
1:64
1:32
110
1:128
1:64
111
1:256
1:128











PIE1 YAZMACI

R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
PSPIE
ADIE
RCIE
TXIE
SSPIE
CCP1IE
TMR2IE
TMR1IE
Bit 7






Bit 0

                Bit 7       PSPIE: Paralel Slave Port Okuma/Yazma kesmesi
                               1=PSP Okuma/Yazma kesmesi aktif
                               0= PSP Okuma/Yazma kesmesi aktif değil
                Bit 6       ADIE: A/D çevirici kesmesi
                               1=A/D kesmesi aktif
                               0=A/D kesmesi aktif değil
                Bit 5       RCIE: USART alıcı kesmesi
                               1=USART alıcı kesmesi aktif
                               0=USART alıcı kesmesi aktif değil
                Bit 4       TXIE: USART gönderici kesmesi
                               1=USART gönderici kesmesi aktif
                               0=USART gönderici kesmesi aktif değil
                Bit 3       SSPIE: Senkron Seri Port kesmesi
                               1=SSP kesmesi aktif
                               0=SSP kesmesi aktif değil
                Bit 2       CCP1IE:CCP1 kesmesi
                               1=CCP1 kesmesi aktif
                               0=CCP1 kesmesi aktif değil
                Bit 1       TRM2IE:Timer2 kesmesi
                               1=Timer2 kesmesi aktif
                               0=Timer2 kesmesi aktif değil
                Bit 0       TMR1IE:Timer1 kesmesi
                               1=Timer1 kesmesi aktif
                               0=Timer1 kesmesi aktif değil

PIE2 YAZMACI

R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0








Bit 7






Bit 0

                Bit 7       Kullanılmıyor
                Bit 6       Ayrılmış Alan
                Bit 5       Kullanılmıyor
                Bit 4       EEIE: Eprom yazma kesmesi
                               1=Eprom yazma kesmesi kesmesi aktif
                               0= Eprom yazma kesmesi kesmesi aktif değil
                Bit 3       BCLIE: Hat çarpışması kesmesi
                               1=BCLIE kesmesi aktif
                               0=BCLIE kesmesi aktif değil
                Bit 2       Kullanılmıyor
                Bit 1       Kullanılmıyor
                Bit 0       CCP2IE:CCP2 kesmesi
                               1=CCP2 kesmesi aktif
                               0=CCP2 kesmesi aktif değil



PIR1 YAZMACI
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0








Bit 7






Bit 0

                Bit 7        PSPIF: Paralel Slave Port Okuma/Yazma bayrağı
                               1=Okuma/Yazma kesmesi oluştu
                               0=Kesme oluşmadı
                Bit 6        ADIF: A/D çevirici kesme bayrağı
                               1=AD çevrimi tamamlandı
                               0=AD çevirimi henüz tamamlanmadı
                Bit 5        RCIF: USART alıcı kesmesi bayrağı
                               1=Alıcı tamponu dolu (veri geldi)
                               0=Alıcı tamponu boş
                Bit 4        TXIF: USART gönderici kesmesi bayrağı
                               1=Gönderici tamponu boş (Veri gönderildi)
                               0=Gönderici tamponu dolu
                Bit 3        SSPIF: Senkron Seri Port kesme bayrağı
                               1=SSP kesmesi oluştu
§   SPI: Gönderme/Alma işlemi gerçekleşti
§   I2C Slave: Gönderme/Alma işlemi gerçekleşti
§   I2C Master:
·          Gönderme/Alma işlemi gerçekleşti
·          START bilgisi oluştu
·          STOP bilgisi oluştu
·          RESTART bilgisi oluştu
·          Acknowledge bilgisi oluştu
·          START/STOP bilgisi oluştu ( Multi-Master sistemde)
                                               0=SSP kesmesi oluşmadı
                Bit 2        CCP1IF: CCP1 kesme bayrağı
                               Capture Modu için
                                               1=Tmr1 kesmesi oluştu
                                               0=Tmr1 kesmesi oluşmadı
                                               Compare Modu için
                                               1=Tmr1 kesmesi oluştu
                                               0=Tmr1 kesmesi oluşmadı
                                               Pwm Modu için
                                               Kullanılmaz
                Bit 1        TMR2IF:Timer2 kesmesi bayrağı
                               1=Timer2 kesmesi oluştu
                               0=Timer2 kesmesi oluşmadı
                Bit 0        TMR1IF:Timer1 kesmesi bayrağı
                               1=Timer1 kesmesi oluştu
                               0=Timer1 kesmesi oluşmadı

PIR2 YAZMACI

R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0








Bit 7






Bit 0

                Bit 7       Kullanılmıyor
                Bit 6       Ayrılmış Alan
                Bit 5       Kullanılmıyor
                Bit 4       EEIE: Eprom yazma kesmesi bayrağı
                               1=Eprom yazma kesmesi kesmesi oluştu
                               0= Eprom yazma kesmesi kesmesi oluşmadı
                Bit 3       BCLIE: Hat çarpışması kesmesi
                               1=BCLIE kesmesi oluştu
                               0=BCLIE kesmesi aktif oluşmadı
                Bit 2       Kullanılmıyor
                Bit 1       Kullanılmıyor
                Bit 0       CCP2IE:CCP2 kesmesi
                               1=CCP2 kesmesi oluştu
                               0=CCP2 kesmesi aktif oluşmadı

2. Kesmeler (devam 2)

Devre 5
Öncelikle devremizi inceleyelim. Devre yapı itibariyle diğer devrelerden farklı değil. PortB.0 bacağına bir buton bağlanmış PortC ucuna ise dört adet led bağlı. (Led’lerin çalışma voltajı +5V’a alınmış ve bu nedenle de direnç bağlanmamıştır.)

Burada RB0 harici kesmesinin nasıl kullanılacağını inceleyeceğiz. Port isimlerine dikkat edilirse RB0/INT ifadesini göreceksiniz. Buradaki INT kısaltması interrupt kelimesinin kısaltmasıdır yani bu ucun kesme giriş noktası olduğunu göstermektedir. Butonun bağlanışına dikkat ederseniz, Buton basılı değilken bu uç Logic 0’da kalmaktadır. Butona basıldığında ise Logic olarak 1 durumuna gitmektedir. Bu önemli bir durumdur. Çünkü bu girişin hangi Logic durumda kesmeye gideceği ayarlamamız gerekmektedir. Dışarıdan gelen bilgi Logic 1 olduğunda kesme oluştur yada Logic 0 olduğunda kesme oluştur. Hangi durum devremiz için uygunsa birisinin seçilmesi gerekir. Eğer bu ayar yapılmadı ise standart olarak bu Logic 1’e gidince kesme oluştura ayarlıdır. Bunun ayarlamasını daha sonraki örnekte inceleyeceğiz. Şimdiki örneğimizde kesme Logic 1’deyken oluşacaktır.
 Prg 16:

           Device 16F877
XTAL 4

 TRISB = %00000001
 PORTB = 0
 TRISC = 0
 PORTC = 0

 ON_HARDWARE_INTERRUPT GoTo Kesme
 INTCON = %10010000 
 GoTo AnaProgram

Kesme:
    Toggle PORTC.1
    INTCON.1 = 0
Context Restore

AnaProgram:
    PORTC.0=1
    DelayMS 500
    PORTC.0=0
    DelayMS 500
GoTo AnaProgram


Klasik cihaz ve kristal tanımlamalarının ardından Portların tanımlamaları yapılmıştır. PortB’nin 0 nolu ucu giriş diğer uçları çıkış, PortC’nin bütün uçları çıkış olarak tanımlanmıştır.

“ON_HARDWARE_INTERRUPT GoTo Kesme” satırında donanımsal kesme oluştuğunda ana programdan ayrılıp gidilmesi gereken etiket adresi belirtilmiştir.

 INTCON = %10010000 satırında  ise evrensel kesme ile birlikte PortB.0 kesmesi aktif hale getirilmiştir. Hemen arkasından GoTo Ana Program diyerek asıl çalışacak olan program etiketine gidilmiştir. Çünkü eğer bu işlem yapılmaz ise kesme rutini programın başında tanımlandığı için kesme oluşmasa da kesme rutini çalışacaktır. Bu istenmeyen bir durumdur bu yüzden programın çalışması sırasında kesme rutininin üzerinden atlanması gerekmektedir.

Ana program içinde yapılan işlem programdan da görebileceğiniz gibi 500 Ms aralıklar ile PortC.0’a bağlı olan led’in yakılıp söndürülmesidir. Bu işlem mikrodenetleyici tarafından bir döngü içinde sürekli tekrar edilirken eğer butona basılırsa bir kesme oluşacaktır. Programın neresinde olursanız olun kesme oluştuğunda direk olarak kesme isimli alt programa yönlenirsiniz. Bu alt programda PortC.1’rine bağlı Led durum değiştirecektir. Alt programdan geri dönerken önce ilgili bayrağı INTCON.1 = 0 komutunu kullanarak sıfırlamamız gerekmektedir. Context Restore komutu ile de ana programda kaldığımız yere geri dönmekteyiz. Eğer bayrağı sıfırlamadan ana programa geri dönersek bayrak hala Logic 1 olduğu için yeniden kesme oluşmamış olsa bile kesme alt programına tekrar geri dönüş yaparız.

Bu programı eğer kesme kullanmaz isek aşağıdaki şekilde de yazabiliriz.

Prg 17:

            Device 16F877
XTAL 4

 TRISB = %00000001
 PORTB = 0
 TRISC = 0
 PORTC = 0

AnaProgram:
    If PORTB.0=1 Then Toggle PORTC.1
    PORTC.0=1
    DelayMS 500
    PORTC.0=0
    DelayMS 500
GoTo AnaProgram


Yukarıdaki programın kesme kullanmadan farkı ne diye düşünürseniz; programa dikkatli baktığınızda farkın çok büyük olduğunu göreceksiniz. If önermesi ile butona basılmasının kontrolü yapıldıktan sonra yaklaşık olarak 1 sn boyunca butona basılma kontrolü tekrar yapılmamakta. Eğer bu sırada butona basılıp çekilirse program butona basıldığının farkına varmayacaktır. Normal çalışmasına devam edecektir.  Böylelikle basılan tuşlar kaçırılacak ve programınız yapması gereken işi yapamayacaktır.

2. Kesmeler (Devam 3)

Program 18’de aynı anda iki farklı kesme aynı anda kullanılmıştır. Option_Reg.5 ile Timer0’ın çalışması için gerekli olan osilatörü seçmektedir. Bu yazmaç 0 değerini aldığında mikrodenetleyici’ye bağlı olan osilatör seçilir eğer harici bir osilatör kullanmak istiyorsanız RA4 ucuna harici bir osilatör takarak ve bu yazmacı 1 yaparak bu harici osilatörüde kullanabilirsiniz.  Ayrıca osilatörü olduğu gibi kullanabileceğiniz gibi bölerek te kullanabilirsiniz. Eğer Option_Reg.3 0 değerini alırsa Taksimatlandırma oranı Timer0’a uygulanır. Option_Reg registerinin 0,1,2 nolu bitleri Taksimatlandırma oranını seçmemiz için kullanılır. Oran 1/256 için bu bitler 1 yapılır. (zamanlayıcılar ile ilgili daha detaylı anlatımları zamanlayıcılar isimli bölümde bulabilirsiniz.)



Prg: 18

           Device 16F877
XTAL 4

 TRISB = %00000001
 PORTB = 0
 TRISC = 0
 PORTC = 0

 OPTION_REG.5=0; Timer0 için dahili osilatörü kullan
 OPTION_REG.3=0; Taksimatlandırma oranını Timer0'a uygula
 OPTION_REG.2=1; 1/256 bölme değerini kullan
 OPTION_REG.1=1;
 OPTION_REG.0=1;
 TMR0=0

 Dim Sayac As Word
 Sayac=0

 ON_HARDWARE_INTERRUPT GoTo Kesme
 INTCON = %10110000 
 GoTo AnaProgram

Kesme:
    If INTCON.1=1 Then; RB0 kesmesi oluştu mu?
        Toggle PORTC.1
        INTCON.1 = 0
    EndIf
    If INTCON.2=1 Then; Timer0 kesmesi oluştu mu?
        Toggle PORTC.2
        INTCON.2=0
        Sayac=Sayac +1
        If Sayac>=10 Then
            Toggle PORTC.3
            Sayac=0
        EndIf       
    EndIf
Context Restore

AnaProgram:
    PORTC.0=1
    DelayMS 500
    PORTC.0=0
    DelayMS 500
GoTo AnaProgram


INTCON yazmacında da Bütün kesmeler, RB0 kesmesi, Timer0 kesmesi aktif hale getirilmiştir.

Ana program daha önceki örnek programda da olduğu gibi 500 Ms aralıklarla PortC.0’a bağlı Led yanıp sönecektir.

Eğer PortB.0’a bağlı butona basıldığında kesme devreye girecek ve Kesme isimli alt programa gidilecektir. Burada If önermesi ile INTCON yazmacındaki bayraklar test edilmektedir. Çünkü programda birden fazla kesme aktiftir. Kesmelerden hangisi oluşursa oluşsun her durumda da gidilen program parçası aynı yerdir. Dolayısı ile kesme alt programına gittiğimizde buraya neden geldiğimizi, hangi kesmenin oluştuğunu bilmemiz gerekmektedir.

Oluşan kesmenin ne olduğuna bağlı olarak yapmamız gereken iş farklı olacağı için If önermesi ile yapılacak işlemler birbirinden ayrılmıştır. Eğer RB.0 kesmesi oluşursa PortC.1’e bağlı Led konum değiştirecektir. Yok biz Timer0 kesmesinden dolayı bu alt programa geldi isek bu sefer PortC.1’e bağlı Led konum değiştirecektir.

Ayrıca Timer0 kesmesi oluştuğunda Sayac isimli değişkenin değeri bir arttırılmaktadır. Sayac değişkeninin değeri ne zaman 10’a eşit ve büyük olursa bu seferde PortC.3 e bağlı led konum değiştirmektedir.

Böylece 10 kez Timer0 oluştuğunda PortC.3 konum değiştirecektir.

Context Restore komutu gidilen Kesme alt programından ana programa geri dönüşü sağlayacaktır. Program sistem kapatılıncaya kadar bu şekilde çalışmasına devam edecektir.