1. Tasarım Başarılı bir tasarım; talep edileni, en düşük maliyetle tam olarak sağlamalıdır. Tasarım sürecinin en kritik taraflarından biri “sorun”u iyi tanımlamaktır. Çünkü hesap kitap yapılacaksa bu sorun tanımı üzerinden yapılır. Diyelim ki bir “sumo robot” yapıyorum. Talep edilen nedir? Rakibi mümkün olan en kısa surede dohyo dışına atmak. Neye ihtiyacım var? Bir robot, temel olarak 3 bölümden oluşur: Algılayıcılar, Kontrol Elemanları ve Hareket elemanları. Uygun bir Kontrol elemanı... Ama neye uygun?.. Demek ki seçime işlemciden başlamayacakmışız... 1.1. Algılayıcılar Nasıl bir algılayıcıya ihtiyacım olduğunu öğrenmek için literatür taraması yapabilirim. Ama buradan çıkacak sonuç benim işime yaramayabilir. Çünkü literatürde bulabileceğim her şey elimin altında olmayabilir. Bu yüzden “elimizde ne var?”, “neleri piyasadan (ya da çok gerekirse yurt dışından) alabiliriz?” sorularının cevaplarını az çok biliyor olmamız gerekir. Bu da toplulukta zaman geçirip eskilerle sohbet ederek olur. 1.1.1. Mesafe Algılayıcılar Rakibi mümkün olan en kısa sürede dışarı atabilmek için önce “rakibi bulmak” gerekir. Bu iş için kullanılabilecek pek çok sensör vardır. Bunlardan en çok kullandıklarımız; ortamlarda “Sharp” tabir edilen kızıl ötesi alıcı - verici ikilisinden oluşan mesafe algılayıcılarıdır. Bunların örneklerinden biri “GP2Y0A02YK (Bkz. www.google.com.tr )”dir. 20 – 150 cm arasında mesafe ölçen bu ürünün 3 tane kablosu vardır: +5V , toprak ve “analog” sinyal çıkışı. Burada önemli bir kelime kullandık. “Analog” algılayıcılar verecekleri bilgiyi voltaj büyüklüğü olarak verirler. Oysa bizim işlemcilerimiz dijital olarak çalışır. Yani algılayıcı mesela 2.5 V çıkış veriyorsa karşısında 20cm uzakta bir şeyler olduğunu anlatmaya çalışıyordur. 1 V çıkış veriyorsa 65 cm uzakta bir şey olduğunu anlatmaya çalışıyordur. Bu bilgiyi işlemcinin anlaması için “Analog – Dijital Çevrim (ADC)” özelliği bulunmalıdır. İşlemcimizi nasıl seçeceğimize dair ipuçları vermeye başladık… Başka bir “Sharp” örneği ise “GP2D02”dir. Bu algılayıcı ile ilgili ayrıntılı bilgi Robot Topluluğu Dokümanları arasında yer almaktadır. Bu sensör 10 – 80 cm arasını ölçebildiğini iddia etmektedir =) Bu algılayıcının 4 çıkışı vardır ve 2 sinyal bacağı aracılığıyla “senkronize haberleşme” yapar. Bu yüzden bu algılayıcıyı kullanmak için ADC özelliği olan bir işlemciye gerek yoktur. Şahsi görüşüm bu algılayıcının Sumo yapmak için uygun olmadığı yönündedir. Çünkü 80cm’e kadar mesafe ölçebildiğini iddia eden bu zımbırtı 40 – 50 cm’den sonra saçmalamaktadır. Bu mesafe de sumo dohyosu için yetersizdir. Başka bir algılayıcı türü ise “ultrasonik algılayıcı”dır. Duyulabilir frekanslardan daha yüksek frekanslı (mesela 40 kHz) ses dalgaları yayıp bu dalganın geri döndüğü süreyi ölçen bu algılayıcılar, kızılötesi mesafe algılayıcılardan farklı olarak, daha geniş bir açıyı tarar. Bu özelliğin bir avantaj mı dezavantaj mı olduğu tartışılabilir. Fiyatları (kendiniz yapsanız bile) Sharplara yakındır. 1.1.2. Renk Algılayıcılar Renk algılamak pek çok farklı proje için gerekli olabilir. Ama bu yazı “sumo” üstünden gittiği için siyah-beyaz algılama üzerine yoğunlaşacağım. Aslında bildiğim bin bir çeşit yöntem de yok zaten. Topluluk olarak “neredeyse” her zaman CNY 70 kullanıyoruz. CNY 70 bir kızılötesi LED ve bir kızılötesi algılayıcıdan oluşan bir eleman. Bu aleti nasıl kullanabileceğimize ilişkin doküman zaten topluluk sitesinde yer alıyor. CNY 70’lerimizi, sumomuz pistte gezerken kendi kendine aşağı atlamasın diye pistin sonundaki beyaz çizgiyi algılayıp geri kaçmasını sağlamak amacıyla kullanıyoruz. Aslında iyi programlanmış ve sorunsuz çalışan bir sumo zaten kendi kendine gidip dışarı atlamaz. Hele geri geri hiç atlamaz. Ama ne olur ne olmaz diye en azından önlere bu sensörleri yerleştirmekte fayda var. Ben kendi adıma hiçbir zaman arkaya CNY 70 takmadım. Çünkü delikanlı sumo geri geri gitmez zaten =) Bu konunun ayrıntısına sonra gireceğim, ancak bir şekilde sumonuz beyaz çizgiye paralel kalırsa çizgiyi görüp geri kaçarken aşağı düşebilir. Bu noktada beni arayıp “hani düşmüyordu bizimki düştü” falan demeyin, bizimkilerden de düşen oldu çünkü. Ama çok düşük bir ihtimaldi, Sharp da düzgün çalışmıyordu düştü. Roberto Baggio da penaltı kaçırdı mesela dünya kupası finalinde… Bunlar olan şeyler… Neyse konumuza dönelim. Renk algılama konusunda kullanılabilecek bir diğer eleman da LDR (Light Dependent Resistor (ışığa duyarlı direnç) ) 1 LDR ve 1 LED kullanarak CNY 70 benzeri bir yapı oluşturarak ve etrafına CNY 70’inkine benzer bir devre kurarak siyah beyaz algılayabilirsiniz. Hatta diğer renkleri de algılayabilirsiniz. Bununla ilgili ayrıntılı doküman da yine Robot Topluluğu dokümanları arasında mevcut. (Mine Cüneyitoğlu’na teşekkürler) Ama sumo için CNY 70 gibi bir nimet varken, bu tarz atraksiyonlara gerek yok derim ben. 1.2. Hareket Elemanları 1.2.1. DC Motorlar : Rakibi bir şekilde bulduğumuzu varsayarak, bir sonraki adım olan “rakibi dışarı atmak”a geçelim. Bunun için “güç”lü motorlara ihtiyacım var. Ama ne kadar güçlü? Ya da ihtiyacım olan şey “güç” mü, başka bir şeyler mi? İki robot kafa kafaya geldiğinde, tekerlek yerden aldığı “kuvvet”i karşı robota aktarır. Yerden alabileceği en büyük kuvvet ise: F = [Tekere binen robot ağırlığı] x [zemin-tekerlek arası sürtünme katsayısı] formülüyle ifade edilebilir. Bu formülü hesap yapalım diye yazmadım. Buradan robotun ağırlığının mümkün olduğunca fazla olması ve ağırlık merkezinin çekiş tekerlerine yakın konması gerektiği ve tekerlerin mümkün olduğunca kaymaz malzemeden yapılması gerektiği sonucu çıkar. Motorun tekere uyguladığı “tork (moment diye de düşünebilirsiniz)” tekerlek yarıçapıyla çarpılırsa motorun yere paralel (ileri doğru) uyguladığı kuvvet bulunur. T = [F] x [r] (Nm (NewtonMetre)) T : Tekerlek Merkezindeki Açık Pembe Ok F : Tekerin yere bastığı noktadaki Koyu Pembe Ok Şekil – 1 - Örnek Sumo Robot Tasarımı Teker yere F kuvvetini uyguladığından tepki olarak motor yatağında kırmızıyla gösterilen aynı büyüklükte bir kuvvet oluşur. Bu da Robotumuzu ilerletecek olan kuvvettir. Motorumuz robotumuzu ivmelendirirken, kütle merkezimiz de hareketsizliğini korumaya çalışır. Ve kütle merkezinde Yeşil okla gösterilen kuvvet meydana gelir. Şimdi kırmızı ve yeşil kuvvet çiftine dikkat edelim. Bu iki kuvvet robotumuz üzerinde bir tork yaratır. Eğer Robotumuzun kütle merkezi teker ekseninden yüksekteyse, bu tork aracın burnunu havaya kaldırır, altındaysa yere bastırır. Bu yüzden sumomuzun ağırlık merkezini kesinlikle teker ekseninin altında tutmalıyız. Kullandığımız motorları iyi tanımamız gerekir. Yüklüyken (mesela bir ağırlık iterken), boştayken (araç havadayken) ve kilitliyken (tekerler dönmüyorken) motorumuzun ne kadar akım çektiğini iyi bilmeliyiz. Özellikle kilitli motor testi, sumolar için çok önemlidir. Çünkü yarışmalarda iki sumo kafa kafaya geldiği zaman, tekerleriniz yeterince iyi ise motorlarınız “kilitli rotor akımı”nı çekecektir. Bu değer çok yüksek olacağından dikkatsiz bir tasarım pistte yanacaktır. Bu testleri akım kontrollü bir güç kaynağıyla ya da bir multimetre ile yapabiliriz. Pistte çok hızlı bir araca sahip olmak her zaman avantaj olmayabilir. Çünkü çok hızlı bir aracın kontrolü zor olur. Ayrıca bu araç, aynı güçte düşük hızlı bir araca göre düşük torklu olacaktır ( P (Güç) = T (tork) x w (açısal hız) = V (voltaj) x I (akım) x Verim ) Bir sumo için 1m/s (3,6 Km/sa) gayet yüksek bir hızdır. Genelde motor seçerken çok fazla alternatifimiz olmaz. Bu yüzden aracın hızını seçmek için teker çapını kullanabiliriz. Daha küçük tekerlekli bir araç aynı motor devrinde daha yavaş ve daha yüksek itme kuvvetli olacaktır. Ama elimizdeki motorun çıkışı mesela 36 RPM (Revolution per minute (Devir/Dakika) ) gibi aşırı yavaş da olabilir. Teker çapımız 10 cm olsa (ki bu çok büyük bir değer) , çevresi 10.π ~ 31.4cm olur, bu da dakikada 11,3 m / dk = 18 cm / sn eder. İyi bir sumonun rakibini 5 10 saniye içinde dohyodan atabileceğini düşünürsek, bu süre içinde bizim sumomuz, boş bir kutuyu bile kenara kadar taşıyamayacak kadar yavaş olmuş… Bu örneğe bakarak ve başka hiç bir işlem yapmadan, uygun bir motorun 75 – 200 RPM arası olması gerektiğini anlayabiliriz. DC motorlarla ilgili dikkat edilmesi gereken bir önemli nokta da “indüktans”tır. Indüktans, üzerinden gecen akım nedeniyle manyetik olarak enerji depolayan devre elemanıdır. Motorlar yapıları gereği indüktans özelliği gösterir. Bir motordan akım akarken motorda E = ½ I x L² kadar (L indüktansı simgeler) enerji depolanır. Indüktans ayrıca üzerindeki akımın değişimine göre voltaj oluşturur. ( V = L x dI / dt ) Bu denklem bize şunu söylemeye çalışıyor: Eğer 1 Henri değerindeki bir indüktansın akımını 1 saniye içinde 1A dan 0 Aya doğrusal bir şekilde indirirsek, bu indüktansın üzerinde bir saniye boyunca 1 volt kalır. Motoru durdurmak istediğimizde üzerindeki elektriği keseriz. Bu işlem çok kısa bir sürede gerçekleşir (Mikro saniyeler mertebesinde kısa bir süre) Yukarıdaki denkleme göre, 1 henri indüktanslı bir motordaki 1 amperi 1 mikro saniyede kesersek üzerinde 1 Milyon Volt oluşur. Buradan 1 Henrinin çok büyük bir değer olduğunu anlayabiliriz =) Ama yine de motorlarımız kapatılırken bir voltaj oluşturur. Bu voltaj, akü voltajıyla ters kutupludur, ve bu olay akünün tepki veremeyeceği kadar hızlı olur. Bu da çok kısa bir süre için devremizde “elektrik kesintisi”ne yol açar. Bu sırada kontrol elemanlarımız “reset” yer, ve programımız baştan çalışmaya başlar. Tüm sumolar yarış başlamadan önce 5 saniye beklemek zorunda olduğundan, her motor kapatışımızda 5 saniye bekleriz… Peki bunu nasıl engelleriz?... 1.2.2. DC Motor Sürücüler : Sumo robotlar üzerindeki motorlar kısa süreli olarak çok zor koşullar altında çalışırlar. Mesela üzerlerinde tam voltaj varken durdurulabilirler. “Bunun nesi var ki?” diye düşünebilirsiniz. Ancak bir DC motor için en tehlikeli durum “anma voltajında” (Rated voltage: Mesela motorun üzerinde yazan voltaj) durdurulmaktır. Bu konunun ayrıntılarını robot topluluğu dokümanları arasında bulabilirsiniz. Anma voltajı uygulanırken durdurulan bir motor, yüksüzken çektiği akımın onlarca kat fazlasını çekebilir. Bu akım motor sarımlarının dirençleri üzerinde ısıya dönüşür ve motoru yakabilir. Ama doğru tasarlanmış bir sistemde her zaman için motor sürücü motordan önce yanar. Çünkü motor sürücüler, motorlara kıyasla çok daha hassas aletlerdir. Sumolarda “Diferansiyel Sürüş” (iki tekeri bağımsız olarak sürerek ilerleme ve yön değiştirmenin aynı mekanizmayla yapılması) tekniği kullanıldığından, iki motorun da her iki yönde sürülebilir olması gerekir. 1.2.2.1. “ H ” Köprüsü ve Diyot Köprüsü: ÖNEMLİ NOT: Aşağıda verilen devre şemaları uygulanabilir şemalar değildir. Bu devre kolay anlaşılabilir simülasyon sonuçları gözlemek amacıyla kurulmuştur. H köprüsü bir motoru her iki yönde de sürmeye yarayan temel topolojilerden biridir. Motor ( Q1 ve Q4 ) veya ( Q2 ve Q3 ) aynı anda açılarak sürülebilir. Q1 ve Q4 anahtarları aynı anda açılırsa motordan “Sol” yönünde, Q2 ve Q3 anahtarları aynı anda açılırsa “Sağ” yönünde bir akım akar. ( Q1 ve Q2 ) veya (Q3 ve Q4 ) anahtarları aynı anda açılırsa +12V ve “GND” ( 0V ) terminalleri kısa devre olacağından motor sürücümüz yanar. Şekil – 2.A – Köprü Motor Sürücü Şekil – 2.B – Motor “+” Yönde sürülürken Şekilde görüldüğü üzere Q1 ve Q 4 transistörleri açıldığı zaman motorun üzerinde “+” değerli bir voltaj kalır ve “sol” yönünde bir akım akar. Şekilde Oklar akım yönünü, kablo renkleri ise sıcaktan soğuğa doğru yol üzerindeki voltajın yüksekliğini belirtir. Sol yönünde akan akımın motorumuzu “+” yönde döndürdüğünü varsayalım. Şekil – 2.C – Motor “+” Yönde Dönerken Transistörler Kapatıldığında Transistörlerimizi kapattığımız zaman, motor üzerinden akan akımın azalması, motorun üzerinde “-“ değerli bir voltaj kalmasına sebep olur. Kablo renkleri dikkatli incelenirse, motorun + kutbunda kalan voltajın sıfırdan küçük bir değere sahip olduğu görülür. Bu voltaj tam olarak -0.7V’tur. Çünkü diyotlarımız iletime geçmiştir, ve üzerlerinde 0.7V kalmaktadır. Bu sayede motorun üzerinde biriken akım, Şekil 2.C’de oklarla gösterilen yol üzerinde yavaşça tüketilir. Bu negatif voltaj transistörlerin “Base” bacakları üzerinden devredeki anahtarlara ulaşır. Gerçek bir sumoda transistörlerin yerinde motor sürücü entegremiz, bu anahtarların yerinde ise mikrokontrolörümüz bulunur. -0,7V bu kontrolörlere zarar vermez. Ancak diyotlarımız olmasaydı, bu negatif voltaj çok daha düşük değerlere ulaşabilir ve devremize zarar verebilirdi. Devremiz zarar görmese bile, bu akım devremiz üzerindeki güç kapasitörlerini boşalttığından mikrokontrolörümüz reset yerdi. Diyot köprümüz sayesinde bu sorundan kurtulmuş olduk. 1.2.2.2. L 293 D: L293D, robot topluluğunda en çok kullanılan entegrelerden biridir. 16 bacaklı bu entegre, içinde iki adet H köprüsü ve bunlara bağlı hızlı diyot köprülerini barındırır. Her iki motora 600mA basabilen bu entegre, aynı zamanda akım korumalıdır. DİKKAT : Bu koruma, robotunuzun talep ettiği akımı almasını engelleyebilir. Bu özellikten haberi olmayanlar biri, robotunda bir sorun olduğunu düşünüp çok yenlış yerlerde sorun arayabilir. Şekil – 3 – L293D Entegrenin bağlantıları Şekil – 3’de görüldüğü gibi yapılır. EN1-2 bacağı sol kolondaki sürücüyü, EN3-4Bacağı sağ kolondaki sürücüyü etkinleştirmek için kullanılır. Bu bacaklar +5V’a bağlanmazsa bu kolonlar devre dışı kalır. “Motor Voltage” bacağına +5V’den daha yüksek bir voltaj bağlanarak daha yüksek voltajlı motorlar sürülebilir. “Logical Voltage” (PIN16) bacağına kontrolörümüze verdiğimiz voltajı vermeliyiz. Bu bacak bir referans bacağıdır ve entegremizin kontrolörden gelecek voltajı bilmesini sağlar. 1.2.2.3. L 293 B: Bu entegre L293D ile aynı bacak dizilimine (PinOut) sahiptir. Her iki motora 1000mA’e kadar akım aktarabilen bu entegre’nin akım koruması ve diyot köprüsü yoktur. Mükemmel Bir Fikir: Bir adet L293D (diyot köprüsünden faydalanmak için) ve ihtiyacınız kadar L293B’yi üst üste koyup bacaklarını dikkatlice birbirine lehimleyerek daha yüksek akım değerli ve yine de bir L293D kadar kolay kullanımı olan bir entegre yapabilirsiniz. Tabii ki bu yöntem, entegrelerin ısınma sorununu arttıracaktır. Yine de işe yaradığı deneysel olarak ispatlanmıştır. 1.2.2.4. L 298: Temel olarak L293B ile aynı özelliklere sahip olan bu entegre, üzerinde metal bir soğutucu yuvası bulundurduğundan; motor başına 2A akım sağlayabilir. Bu entegrede diyot köprüsü bulunmadığından 8 adet diyottan oluşan iki adet köprüyü devrenize eklemeniz gerekmektedir. 1.2.2.5. Röleler: Röleler, mekanik bir anahtarı manyetik alan yardımıyla açıp kapatan devre elemanlarıdır. Anahtarlar mekanik olduğundan röleler, entegrelere göre daha yüksek akımlar taşıyabilirler. Rölelerin diğer bacaklardan uzak olan iki bacağı genellikle sarım(kontrol) bacaklarıdır. Diğer bacakların sinyal varken ve yokken nasıl bağlı olduğunu multimetrenizin “buzzer(short test)” özelliğini kullanarak bulabilirsiniz. Çift yönlü röleler, sarım bacaklarına voltaj uygulandığında ortak bacağı, bir girişten diğerine çeker. Voltaj kesildiğinde ortak bacak bağlantısı tekrar ilk konumuna döner. İki adet çift yönlü röleyle bir motoru her iki yöne de sürebilirsiniz. Şekil 4’te görüldüğü gibi, devrede herhangi bir sinyal yokken motorun her iki bacağı da GND (0V) bacağına bağlıdır. Sinyal 1 bacağına voltaj uygulanırsa üst röle motorun üst bacağını +12V’a çeker. Bu sinyal kesildiğinde motorun her iki bacağı tekrar GND (0V) bacağına bağlıdır. Sinyal 2 bacağına voltaj uygulanırsa motorun alt bacağı 12V bacağına bağlanır. Böylece motor her iki yöne de sürülebilir. Şekil – 4 – Röleli Motor Sürücü Rölelerin kontrol bacakları, ciddi akımlar çekebilir. Bu yüzden her röle doğrudan mikrokontrolöre bağlanmaz. Rölenizin bacağının çektiği akımı multimetre veya akım kontrollü güç kaynağıyla ölçmelisiniz. Röleniz 5V’de 20mA’nın altında akım çekiyorsa doğrudan mikrokontrolör bacağına bağlayabilirsiniz. Akım daha yüksekse rölelerinizi L293D ile sürebilirsiniz. 2. Kontrol Elemanları: Piyasada pek çok farklı marka ve modelde kontrol elemanı mevcuttur. Bu dökümanda, Robot Topluluğunda en çok kullanılan kontrol elemanı olan PIC’den bahsedeceğim. 2.1. PIC 16 F 628: Piyasada kolayca bulunabilecek bir ürün olan 16F628, basit bir ürün olmasına rağmen pek çok uygulama için fazlasıyla yeterlidir. Kendi 4 MHz kristal sinyalini oluşturabilen bu PIC, programlanması sırasında “INT RC” modunda programlanırsa, çalışması için sadece +5V (Vdd : Pin 14) ve GND (Vss : Pin 5) bağlantılarına ihtiyaç duyar. Bu iki bacak dışındaki tüm bacaklar, PORTA ve PORTB adında iki değişkenin bitleridir. PortA.5 hariç tüm port bacakları istenirse giriş istenirse çıkış olarak kullanılabilir. PortA.5 sadece giriş olarak kullanılabilir. PortB.0, aynı zamanda “Interrupt” bacağıdır. Bu bacak interrupt bacağı olarak atanırsa; bu bacaktaki bilgi değişikliği, PIC’in çalıştırdığı programı bırakıp “Interrupt” alt programını çalıştırıp, sonra kaldığı yerden kendi işine devam etmesini sağlar. Mesela uzun bir program çalıştırırken, kaçırmak istemediğimiz kısa süreli bir sinyali saymak istersek bu özelliği kullanabiliriz. Bu sinyali aldığımız zaman Interrupt Rutini çağırıldığından, bu rutindeki bir değişkeni bir arttırıp sonra uzun programımıza dönebiliriz. PortB.1 – 2 seri iletişim portlarıdır. Bu portlar aracılığıyla başka PIC’lerle veya bir bilgisayarla haberleşebiliriz. PortB.3 PWM çıkışıdır. Bu portu Motor sürücümüzün “Enable” girişlerine bağlayarak motor hızımızı değiştirebiliriz. PortA.5 PICin reset bacağıdır. Eğer PIC programlanırken “Master Clear Enabled” olarak ayarlanırsa bu bacak +5V’a bağlı olmadığı sürece PIC çalışmaz. Ben bu özelliği gereksiz gördüğümden, devrelerimde bu bacağı +5V’a çekmem. Programlarken de “Master Clear Disabled (Reset Devredışı) ” olarak programlarım. Bu PIC’le; CNY70, Digital Sharp gibi sensörleri okuyabilir, LCD sürebilir, motor kontrol edebilirsiniz. Yani bir sumo için yeterli bir olabilecek bir kontrol elemanıdır. Ama Analog Sharp okumak isterseniz ADC (Analog-Dijital Çevrim) özelliği olan bir PIC kullanmalısınız. 2.2. PIC 16 F 877: PIC 16F877, 628’e göre daha karmaşık, daha yetenekli ve daha pahalı bir kontrol elemanıdır.628’den farklı olarak ADC özelliği bulunan 877, 2 ayrı PWM bacağına, 5 portta toplam 32 giriş-çıkış bacağına sahiptir. 628’in yetersiz kaldığı “kalabalık” uygulamalarda tercih edilebilir. 877’nin MCLR (Pin:1) bacağı devre dışı bırakılamaz. Bu yüzden, bu bacak bir direnç ile +5V’a çekilmelidir. Ayrıca 877’nin dahili osilatörü yoktur. Yani 13 ve 14 no’lu pinlerin arasına bir Kristal konmalı ve bu iki bacaktan birer adet 22pF kapasitörle GND’a gidilerek osilatör devresi kurulmalıdır. 877 20Mhz’e kadar kristal hızlarını desteklemektedir 877’nin A Port’u, ADC özelliğine sahiptir. Bu Port, programda ADC olarak tanımlandıktan sonra, program çalıştığı sürece herhangi bir A portunun o anki voltajı öğrenilebilir. Bu şekilde Analog Sharp ile mesafe ölçebiliriz. 877’nin Pin 16 ve Pin 17 bacakları (CCP1 ve CCP2) PWM çıkışı olarak kullanılabilir. Bu bacakları motor sürücümüzün “Enable” Bacaklarına bağlayarak iki motorun hızlarını ayrı ayrı kontrol edebiliriz. PIC 16F628 ve PIC16F877’nin kullanılışı, devre ve program örnekleri Robot Topluluğu dokümanları arasında bulunabilir. 3. Devre Basarken: Bütün olay bakırda. Kullanacağımız bakırın yüzeyi ayna gibi tertemiz olmalı. Bunu bakır plakamızı “mekanik ovma tozu (halk arasında vim olarak da bilinir)” ve bulaşık süngeriyle (yoksa bir bez parçasıyla) ovalayarak sağlayabiliriz. “Bu oldu mu acaba” diye düşünmeyin, olduğu zaman bilirsiniz. Tamamen homojen renkli, çiziksiz bir yüzeye bakıyor olmanız gerekir. Kuşe kağıda (okuduğunuz bilim teknik sayfaları güzel olabilir), tasarladığımız devrenin lazer yazıcıyla çıktısını alın. Kağıdı keseceğinizden aynı kağıda tekrar çıktı alamazsınız, bu yüzden aynı kağıda mümkün olduğunca fazla devre şeması sıkıştırın. Böylece hem yedeğiniz olur, hem de belki arkadaşlarınız da sebeplenir. Devrenizi kağıttan güzelce kesin. Devrenizin bir köşesi bakır plakanın bir kösesine gelecek şekilde kağıdı koyun ve elinizle tutarak sıcak ütüyü kağıdın bir köşesine üç dört parmaklık alan kapatacak şekilde yerleştirin. Birkaç dakika bekleyin. Lazer yazıcı çıktısı bakıra yapışacaktır (yapışmadıysa zaten bu iş olmamıştır) Kağıdı devrenin üzerinde güzelce ütüleyin. Ütünüz kağıdın üzerinde rahatça kaymıyorsa araya bir bez veya kağıt parçası koyabilirsiniz. Ütüleme olayına başladıktan sonra kağıdı kaldırıp “oluyor mu?” diye bakmayın. Olmuyorsa zaten olmuyordur. Oluyorsa onu da bozmuş olursunuz. Kağıdın tamamını iyice bastırarak 10 15 dakika ütüleyin. Ütünün tabanını bozmamak için elektrik bandı, silikon gibi malzemelerle temas etmesine izin vermeyin. Ütünün tabanı bir kere bozulursa kolay kolay düzelmez. Ütüleme işlemi bittikten sonra bakır plakanızı derince bir tabakta suyun içinde beklemeye bırakın. Kağıt 10 15 dakika içinde yumuşayacaktır. Kağıdı yavaş yavaş ufalayarak (tek parça halinde kaldırmadan) bakır levhayı temizleyin. Bu noktada elinizde kaymak gibi basılı bir devre olmasını bekliyoruz. Yollar simsiyah olmalı, bakırın üzerindeki lazer mürekkebinin kalınlığını elinizle hissedebiliyor olmalısınız. Bir kalınlığı olmayan siyah “lekeler” bir işinize yaramaz. Oralardan bakır çözünecektir. Olmadıysa ziyanı yok, zamanla olur. Bakırınız da ziyan olmuş sayılmaz. Bakırı, Ovma tozu ve süngerle temizleyip tekrar ütüleyebilirsiniz. Devrenizde küçük hatalar varsa asetat kalemiyle bu yerlerden geçebilirsiniz. Tuz ruhuperhidrol karışımı asetat mürekkebini çıkartır. Bu yüzden küçük hatalar dışında tuz ruhu kullanırken asetat kalemi işe yaramaz. Ama Demir III Klorür kullanıyorsanız bütün devreyi bile kalemle çizseniz olur. 3.1. Demir III Klorür (Fe III Cl) (Ortalama 1 saat/Devre): Devre elemanları satan pek çok yerde bulabileceğiniz bu ürün, görüntü itibariyle sarı şekerli leblebiye benzer. Çocukların ve yurtta oda arkadaşlarınız ulaşamayacağı yerlerde saklayın. Benim FeIIICl’lerim şeker kavanozu görünümlü bir kavanozun içinde dolabımın üstünde dururdu. Günlerden bir gün oda arkadaşım, suratında buruk bir ifade ve elinde FeIIICl kavanozuyla “BU NE LAN!” dediği saatte artık bu önlemler için çok geçti. FeIIICl’nin Dil ile temasında dil yemyeşil olur (yaşanmış hikaye). Doktorunuza başvurunuz. Neyse, bu malzemeyi hafif ılık suya dökersiniz. Bakırınız yavaş yavaş çözülür. Yeterince çok koymazsanız, çözünme durur, ama zaten çok yavaş olduğu için fark edemeyebilirsiniz. Çok uzun zaman alır. 3.2. Tuz Ruhu ( HCl ) + Perhidrol (Oksijenli Su) (Ortalama 2 dakika/Devre): Bu ürünlerin ikisi de arıza ürünlerdir. Tuz Ruhu gaz halde bile kumaşların kum gibi dağılmasına neden olabilir. (Örn: çamaşır suyu – Ayşe Teyze ikilisi.) Perhidrol ise aslen oksijenli sudur ve eczanelerde % 6 yoğunlukta satılır. Ama biz % 50 yoğunlukta kullandığımızdan bir garip bambaşka bir canavara dönüşür bu kimyasal. Elinize bir damlası deyse eliniz bembeyaz olur. “aa.. beyazladı” deyip yıkamaya gidersiniz. Ama o beyazlık kalıcıdır, yıkamayla çıkmaz. Döküldüğü yerde en ufak bir delik, tahriş, hassasiyet varsa bütün gün acı içinde kaşınırsınız. Neyse Tuz Ruhu – Perhidrol ikilisi 3’e 1 oranında karıştırılır. Su falan eklenmez. Güzelce ütülenmiş baskı devremizi bu sıvıya bandırıp çıkarırız sadece. Devreyi sıvıdan almak için pek kullanmadığınız bir cımbız veya makas veya kargaburun falan kullanabilirsiniz. Ama bu urun o sıvıya girip çıktığından feci halde paslanacaktır. Bu arada bakır çözünürken ciddi bir gaz çıkışı olacaktır Bu gaz zehirli bir gazdır. “Dakkasına tık diye gidersiniz” gibi bir durum yoktur. Ama kafayı çözeltiye eyip “lan, ne güzel haa” diye derin derin nefes almasanız iyi olur. Bakırlarımızı çözdükten sonra, devremizi ince bir zımparayla ya da yine ovma tozu ve bulaşık süngeriyle siyahlığı tamamen gidip alttan cillop gibi bakır çıkana kadar çitileyin. İşte devreniz parçaları dizmeye hazır… Sıcak servis ediniz… Afiyet olsun. Murat Şenol METU EE’07 [email protected]