You are on page 1of 137

Robot Kol Tasarm

[1.1] Proje Kavrami Proje bir ama iin gelistirme, arastirma iin yapilan ve yapilacak olan kavramlar olarak yer alsada iversite ve dengi okullar iin bu kavram yillarca alinan egitimin uygulamaya dklerek amaca uygun alismalardaki son sinav olmaktadir. Iste bu yzden bir grenci iin proje kapsami bence hayatinin diger yarisi iin ok uygun temel ve ok gzel bir baslangitir. Eger grenci projesi ile yenilik ve avantaj getirebiliyorsa yada sistemleri yrtebiliyorsa egitimini tamamlamis ve retim moduna gemeye baslamis demektir. Ama bu asla var olan ve daha iyisi iin yapilmayan projeler iin ok byk bir geregi ortaya koymaktadir. Sonu olarak mutlak olarak alinan proje mutlaka bir yenilik yada zellik iermeli ve yapitaslari iermelidir. Aksi halde yapilan bir is arastirma mantiginin disina ikip kopyalama durumuna girer!. Iste bu yzden gelismekte olan ve ihtiya duyulan bilgisayar destekli Robot Kol (eng: Robot ARM) tasarimini proje olarak setim. [1.2] Projemin Hedef ve Kapsamlari Projede hedef robot kol mantigini daha esneklestirip bilgisayar destekli insan kol yapisinin yerini alabilecek bir yapiyi olusturmaktir. Kol piyasada retilen assagida grlen modellerden farkli olarak daha ekonomik ve genis acili kullanima hitap etmesi iin yksek hassaiyetli bir sistemi ayni zamanda dsk ama hizli hassasiyeti dsk olarkta alisabilecek bir yapidada alisabilmesi vede asil olarak bilgisayar yazilim yapisinin open-source mantigiyla kullanim alanlarinin artirilip sistem iin sistem degilde herhangi bir olay iin tasarim mantiginin getirilmesidir. Bu yzden mekanik aidan sorunsuz olabilmesi iin eklem serbestligi getirmeye alisacagim.

Robot Kol projesi benim iin temel olarak assagidaki yapilari iermektedir: (Sistem sirasiyla) 1. Mekanik bakis Temel madde seimleri - Eklem yapi ve yerleri - Baglanti ve trleri 2. Hareket sistemleri Motor yapilari - Disli kutusu - Encoder (Sayici) - Motor Kontrlcs Mikroislemci 3. Temel yazilim ve bilgisayara baglanti. Mikroislemci yazilimi - Port baglantilari ve gvenli iletisim 4. Yazilim ve Uygulama teorileri [1.3] Projemden beklenen sonular. Projemden beklenen sonularin basinda elbetteki tam sonu isteniyor ama asil olarak bu tr uygulama gelistirme yapilarininda okul programlarinda gereklestirilebileegi kanisinin okulumuza yerlesmesi ve bizim gibi gelecege bakan grencilerin tesvik edilmesi. Unutulmamasi gereken basari sadece bir kisiye veya kuruma ait degildir basari gemise katkisi olan ve su anda destek olan her sahsa aittir. Basari basarilari tesvikler ise tesvikleri getirir. Ama asil nemli olan uygulamadaki basarinin mutlak olmasi, projenin tamamlanarak bir sonraki arkadasin gelistirilmesine uygunlastirilmasidir...

[2.1] Genel Olarak Bir Robot Kavrami:

Ilk olarak genel robot tanimlarini incelersek; " Robot, mekanik sistemleri ve bunlarla iliskili kontrol ve algilama sistemleriyle bilgisayar algoritmalarina bagli olarak akilli davranan makinelerdir. Genel bir enstit tarafindan ise robot su sekilde tanimlanmaktadir: Robot Yeniden programlanabilen; maddeleri, paralari, aletleri, programlanmis hareketlerle yapilacak ise gre tasiyan veya isleyen ok fonksiyonlu makinelerdir". (Robot Institute of America, 1979) " Robot nedir? Robot, bir kaide zerinde en az bir kol, tutma organlari(genelikle pensler, vantuzlar veya elektromiklatislar), pnmatik, hidrolik veya elektriksel sensorler ile konumu ve basin algilayicilariyla, bilgi islem organlariyla donatilmis kontroll-mekanik maniplelerdir." Yukaridaki tanimlarda grldg gibi robot temel bir islemi yerine getirebilen, yetileri olan yeniden programlanbilen aygitlardir.Temel olarak bir robotun assagidaki zellikleriini olmasi gerekir: 1. Islem yapma yetisi : Bir islemi fiziksel veya farazi olarak yerine getirebilmelidir yoksa robot olmaz sadece bir madde olur. 2. Islemin sonucunu belirleme yetisi : Islemi yaptiktan sonra mutlak olarak islemin sonucunu belirlemelidir ki islem tam olarak yapilmis olsun. 3. Karar verme yetisi. : Islemin sonucuna gre yada dis etmenlere gre mutlaka bir yargi kurabilmelidir. Iste bu yapilari ieren her sisteme genel olarak robot diyebiliriz. rnegin sinav robotu, isik izleyen robot, vana aip kapayan robot veya robot kol gibi. Fakat asil robot kavrami bu yapilarin ok daha ilerisine giderek dogada en karmasik yapi olan insan oglunun yetilerini taklit etmek iin yapilan makinalardir. Robot kavramida onlar zerine kurulmus olmasina ragmen tanim genel olarak farazi yapilarida iermektedir. esitli ileri gelen dnya lkeleri tarafindan robot esitli sekilde tanimlanmis olmakla beraber hepsinin bulustugu nokta Robotlar yeniden programlanabilen mekanik aksamlardir. Bu kurumlarin ayrildiklari nokta algilama ve sonuca varma yetisidir. Japon konseyi bu konuda algilama ve karar verme mekanizmasi olmayan robot kavramini kabul ederken Ingiliz ve Amerikan Enstits buna karsi ikmaktadirlar.....

[2.2] Robotlarin Tarihesi: [2.2.1] Robot Kavraminin Dogusu: Medeniyet, klelik dzeni sayesinde bugunku olaganst seviyeye ulasmistir. Bir kle tkettiginden fazlasini retmek zorundadir. Amerikada seker kamisi toplayan zenci kleler sahiplerini milyarlarca dolar kazandirirken kendileri aliktan sagliksiz ortamlardan lmslerdir. Bu irkin olaylar amerika i savasi ve ardindan dnya apinda klelik dzeninin

sona ermesiyle alisan ihtiyaci duyan isverenler eskisi gibi ucuza isi bulamamakta bulduklariylada istedigi kadar verimi alamamaktaydi nk artik zorlama yoktu alisma haklari ve sendikalari vardi. Iste bu kt durumdan insanlari isten ikarip yerlerine birka insanin isini yaptirabilecekleri mekanizmalar aramaya baslandi.Ve o gnden gnmze dek teknolojiyle baglantili olarak robot kavrami degisti ve gelisti. Ama asil asamayi bilgisayar kavramiya birlikte gelen karar verme yetisi (algilama-karar verme-uygulama) sayesinde saglandi. Ve gnmzde 1Ghz islem gcndeki bilgisayarlar ile robotlarin gc ve kapasite siniri insanin tesine geti. Artik robotlar bir sa kilini iki esit paraya ayirabiliyor ve bunu saniyenin onda biri kadar bir srede yapabiliyorlar. Genel aidan robot kavraminin tarihdeki gelisimi: Ortaagda Seluklu Trklerinden Skman boyundan Cizreli Ebul-Iz, yalniz suyun potansiyel ve kinetik enerjilerinden faydalanarak makineler ve robotlar yapti. Ilkel otomatlar 17. ve 18. yzyillarda Avrupa'da bulundu. Bunlar birer mekanik harikasiydilar. O zamanlarda mucitler ilgin makineler icat edip retime getiler. Kilise ve katedrallerin tepesinde bulunan devasa saatlerde gerek boyutlarda insan, melek, seytan gibi figrler vardi. Bunlar ellerindeki tokmagi ana dogru giderek vuruyorlardi, vurus sayisi saatide belirliyordu. tc Kus: Kurulu dzenek tarafindan miller ve kaldiralar yardimiyla kusun kanatlari, kafasi ve gagasi kontrol edilebiliyordu. Ayrica vana ve pistonlar sayesinde kus sesi ikartiliyordu. alisirken kafasi ve kanatlari hareket ettirip terken de gagasini oynatailiyordu. Bunlardan ok sayida retildi ve ev dekarasyonunda kullanildi. Kusun hareketleri belirli bir sirayla yapiliyordu bu sira takibi iin miller kulaniliyordu, iste bu miller ilk bilinen ROM yapisidir.

Millerle yapilan rom yapisina iyi bir rnek: (Meillardet'in Otomati dan alinmadir) Otomatik Flt: Mzisyen kiyafet giydirilmis otomatik flt dudaklarina yapisik flte hava pompalarken parmaklariylada fltn deliklerini aip kapatarak mzik yapabilmekteydi. Yine millerle saglanan bir takim hareketlerle islem gereklestiriliyordu. Bu flt 1738

yilinda Jacques de Vaucanson tarafindan paris'de yapilmistir. Otomat tamamen el isiydi. yaplian bu otomat bir binada sergilendi ve insanlar bunu grebilmek iin ok uzaklardan bile geldiler. Hatta krallar ve Imparatorlar bile zellikle memnuniyetlerini belirtiler. Iste bu ilgi ve piyasa kavrami pek ok mucidi otomatlar zerinde alismaya tesvik etti.

Yaptigi diger nemli otomatlar:


.

Meillardet'in Otomati: Belki de kurulu dzenekli otomatlar iinde en karmasik olani 1805 yilinda Londra'da Henri Meillardet tarafindan yapilan yazi yazabilen ve resim yapabilen inanilmaz otomattir. Genis bellegi ve titiz hareketleri vardir. rnegin bir gemi resmini aslina uygun, btn detaylariyla bes dakikada izebilmekteydi. Yapabildikleri arasinda Fransiz stilinde yazilmis bes dizelik bir siir bile vardir. Bu otomat halen Franklin Enstitsnde sergilenmektedir. DAHA FAZLA BILGI!

Meillardet'in resim izen otomati.

siir

yazan

ve

R.U.R. Kullanilan Otomat.

Dnya litaratrnde ilk defa "Robot" kelimesi 1917 yilinda Karel Capek'in kisa hikayesi olan Opilec de gemistir. Fakat asil kavram olarak robot anlayisini 1921 yilinda yine ayni yazarin Rossum's Universal Robots (R.U.R.) adli tiyatro eserinde ortaya atililmistir. Eserde

robotlar Rossum ve oglunun topluma hizmet iin olusturdugu insan grsl yaratiklardi. Robot kelime olarak ise ek dilinden gelmektedir. Agir, sikici, angarya is manasindadir. Dnyada ilk olarak robotlarla ilgilene bilim dalina "Robotic" ifadesini kullanan kisi Issac Asimov'dur. (Dogum Temmuz 2, 1920, lm Nisan. 6, 1992). Kelimenin kullanildigi eser Runaround(1942) adli hikayesidir, bu eser 1,Robot adli kitabinda yer almistir(1950).nl bilimkurgu yazari hikayelerinde henz olamayan fakat ileride olmasi muhtemel sorunlarla ilgili durumlari anlatmaktadir.Dnyaca nl bazi eserleri bazilari I Robot (1950), The Foundation Trilogy (1951-52), Foundation's Edge (1982), The Gods Themselves (1972) bu kitabiyla Hugo vede Nebula dllerinin ayni anda kazanmistir. DAHA FAZLA BILGI!

Issac Asimov gre robot kavraminda insanligin gelecegi iin nemli kuram vardir: (Daha sonradan 0. kurami eklemistir.)
0.kuram: Robotlar asla insan olgusuna zarar vermemelidir. 1.kuram: Robotlar asla insanliga zarar vermemelidir. Diger assagidaki kuramlar tarafindan aksi idda edilemez. 2.kuram: Robotlar insanoglundan aldigi emirleri yerine getirmelidir. Diger assagidaki kuramlar tarafindan aksi idda edilemez. 3.kuram: Robotlar keni varliklarini diger kuramlari bozmadan ellerinden geldike korumalidirlar.

1918-1938 2 dnya savasi nedeniyle bir ok arastirma durdu ve bazilari bir daha asla devam edemedi...!!! [2.3] Robot Kavraminin Gelisimi: (Asil Robot kavramin olusmasi ve gelisimi) Sayisal kontrol ve Uzaktan kumanda kavramlarin gelismesiyle robotic alismalarinda nemli gelismeler ortaya ikmistir. John Parson tarafindan uzaktan kumandali olarak yapilan makine 1940 yillarinda Amerika Birlesik Devletleri Hava Kuvvetleri tarafindan ardindanda Atom Enerjisi Komisyonu tarafindan kullanilmaya baslandi. Radyoaktif maddeler zerine yapilan alismalarda nemli islemlerde kullanildi. Bu sistem endstri alaninda kullanilmaya basladi. Cyril Walter Kenward birlikte 1954 n Mart ayinda patenti alindilar. Bylece ilk endstriyel robot denilebilecek bir sistem tasarlandi. Belli basli gelismelerden birinide Joseph F. Engelberger (Fizik Mh.) ile George C.Devol tarafindan gereklestirildi.Robotlarin Babasi olarak adlandirilan para aktarim robotu yaptilar. Bilgileri magnetik ortamlarda saklamakti nemli gelisme nk artik daha fazla veri daha kk alanlarda rahatlikla istenlidigi zaman degistirilebilecek sekilde saklanabildi. Ve alismalari sonucunda "Unimate " adli firmayi kurdular 1949, bu firma ilk robotic zerine kurulan firmadir.

Bu tarihten sonra dnya zerinde zellikle Amerika, Avrupa ve Japonyada pek ok firma robotic zerine alismaya basladilar. Ve bu ilgi gelismeyide beraberinde artirdi. Bu gelismeler arasinda gze arpan ilk robot uygulama dili olan " WAVE" Stanford Akedemisi tarafindan gelistirildi ve robotic bilimine kazandirildi. 1974 de "AL " ve ticari amali olan " VAL " yapildi. Val Ultimate tarafindan gelistirlmisti ve buna bagli olarak "PUMA (Programmable Universal Machine for Assembly)" gelistirilerek zerinde uygulandi. Nispetten kisa eklemli bir robottu fakat temel olarak General Motors firmasinin montaj hatti baz alinmisti. 1979 yilinda Yamanashi niversitesi tarafindan montaj amali olan "SCARA (Selective Compliance Arm for Robotic Assembly)" gelistirldi.Bu sistem ticari olarak 1981 piyasaya srld.

Scara Hakkinda kaynak bilgiler ve rnekler iin >

unimate'in puma robotu. 90 yillara gelindiginde robotlar artik ok esitli alanlarda ve zellikle insanlarin rahatlikla yapamiyacagi isleri kusursuz yaparak insanoglu'nun yasam srecinde yerlerini aldilar. Assagidaki rneklerde insan oglunun inemedigi derin sularda arastirma yapabilen, Hibir mola vermeden yillarca alisabilen montaj robotlari, Cerrahlarin hata yapmasini engelliyen hatta cerrahlik meslegini oratdan kaldiracak kadar iddali olan ameliyat robotlari, insan kolunun yerine takilabilen yapay kol sanirim bu gelismelere en iyi rneklerdir.

Fakat asil gelisme Sony firmasi tarafindan evlerimize kadar sokulan robot kpek "Aibo" olmalidir. Yapilan robotta algilama karar verme vede komut dogrultusunda uygulama yetileri muvcut olmakla beraber genis aili bir hafiza ile sahibini tanimlama kadar birok zellik yer almaktadir:(1998)

Sonuc olarak Robotic teknolojisindeki alismalar artik byk oranda bilgisayar teknolojisindeki gelismelere dayaniyor. Robotik endstrisi dogdugunda bilgisayarlar mevcut olmasina ragmen 1970'lerin sonuna kadar boyutlari nedeniyle robot kontrolnde kullanmiya elverisli degildi. Bugn pazardaki tm robotlar bilgisayar kontrol kullanilmaktadir. Fakat halen Robotic biliminin alaninin makine vede bilgisayar bilimlerini kapsadigi kesindir. [2.4] Otomasyon Kavrami:

Otomasyon kavrami esitli sekillerde ifade edilebilir ama kavram mutlak olarak mekanizasyonu iermektedir. Peki nedir bu mekanizasyon ve otomasyon.

Mekanizasyon: Insan enerjisi disinda saglanan hareket olgusuna Mekanizasyon denir. Mekanizasyon kismen veya tam olabilir, bazi mekanik hareketler insan gc katilarak tamamlanabilir buda mekanizasyonu kesinlestirmez. Otomasyon: Iste bu mekanizasyonlar sonucunda olusan toplu islem bloguna ototmasyon denir. Kontrol yani denetimden gelmektedir.

Otomasyonda nemli olan retim ortamlari olan tezgahlar ilk olarak klasik tezgahlardi daha sonra Kam kontroll, Pim kontroll tezgahlarin kullanilmaya baslanmasi, retim hizinin ve kalitanin artirilmasini sagladi. Daha sonraki gelisme Sayisal Kontroll (NC) tezgahlarin uygulanmasi biiminde olmustur. Biligisayar sisteminin tezgaha uygulanmasi sonucunda Bigisayar Kontroll Tezgahlar (CNC) ve Bilgisayar kontroll sistemler (CIM) ortaya ikmistir. Sadece retimde degil Bilgi islem, Dkmantasyon, Arastirma ve Gelistirme alismalarinda zel hazirlanmis olan bilgisayar programlari kullanilmaktadir. Iste bu sayede 20. yzyil basinda insan oglu daha az alisarak daha kisa srede en mkemmelini retmektedir. Otomasyon kavrami iin robotlar ok nemlidir nk ne kadar ok insana bagli olmadan alisabilen robot sistemde yer alirsa sistem o kadar ok tam mekanizasyona vede hatasiz retime gemektedir. bugn gelismis lkeler dzeyi denen toplulukta yer alan lkelerin tamami retimlerini otomasyon zincirleriyle tamamlamaktadir. Buna en iyi rnek robot iin kullandigim motorun Isvire'de tamamen insan eli degmeden 0.1 mikron znrlgnde yapilip test edilmesi sayesinde olusan mkemmel motor yapilaridir. Ilk olarak tarihte otomasyon kavrami Henry Ford la birlikte baslamistir. Henry Ford 1800 yillarda Ford araba fabrikasini kurup isletirken aldigi araba siparislerini karsilayamiyordu. O da en kisa srede montaji nasil tamalayacagini dsnrken iki seenegi gz nnde bulundurmus.

1. Fabrikayi byterek daha ok isi ve daha ok tezgah almak. 2. Tezgahlari bir sekilde hizladirarark bir tezgahi iki veya daha ok tezgah gibi alistirabilmek.

Iste bu iki kavramdan birincisinde retim kesinlikle artacakti ama kurulmasi vede alismasi ok daha fazla is getirecekti fabrikaya bunun iin Ford tezgahlari fabrikda retim sirasina dizdi ve bir hareketli band ile tezgahlar arasinda baglantiyi kurdu. Iste o gnden sonra Ford firmasinin retimi katlanarak byd. O gnler iin yeterli grlen bu kavram birka sene sonra yetmemeye basladi nk insanlar yryen bandlara yetisemiyor hata yapiyor rnlerin yzde ellilere varan hatali retimlere dnsmeye basliyordu. Isiler daha ok para daha az alisma istiyorlardi. Sendika kurup glendiler. Vardiyali alisma dnemi baslamisti ama halen bir sorun vardi retim kazancinin nerdeyse yarisi fabrika giderlerine yani maaslar vede hatali retim giderlerine gitmeye baslamisti, rnlerin fiyati artiriliyor ve maliyetin 3 katini asan fiyatlara satiliyordu. Ama bir gn, bir Japon bilmadami mikrochip denen kltlms elektronik komplex parayi yapinca isler biraz degisti artik retimde 24 saat alisabilecek maas istemeyen, hata yapmayan, hasta olmayan, greve gitmeyen mkemmel isi gelmisti, robotlar gelmisti. bu olgunun yararlarini assagida maddelemeye alistim: Otomasyonda robotlarin Yararlari:

retim artisi. retim maliyetinin dsmesi. Kalite artisi Tehlikeli ortamlarda alisabilme. Ynetim ve denetim kolayligi. Tmlesik sistem organizasyonu. Is esnekligi. Uzun mr.

[2.5] Robotlarin yapisal esitleri: Temel olarak robotlar kapsam ve yetenkleriyle siniflandirilabilirler ama bence asil olarak yapisal yeteneklerine gre siniflandirilabilir:

Kartezyen Robotlar: X,Y,Z koordinat dzleminde her kol bir ncekine gre dik aiyla kayar. Dikdrtgen sekline bir alisma alanlari vardir. Silindirik Robotlar: alisma alanlari silindiriktir.Kolun bir blm dikey, diger blm ise yatay hareket eder. Polar Robotlar: Kol taban etrafinda dnebilir. Kolun bir parasi ieri disari teleme hareketi yapabilir. Bir blmde assagi yukari dnebilir. Revolt Robotlar: Dnel veya kresel eklemler sahiptir. Taban eklemine bagli olan kol taban etrafinda dner ve diger iki kismi tasir. Dnel eklemler yatay ve dikey olarak birlestirlmistir.Yarim kre seklinde bir alisma alanlari vardir.

1.

2.

3.

4.

stten

[2.2.5] Gnmzde kullanilan belli basli robot rnekleri: Piyasaya bakildiginda satilan robot trlerinde bir genellesme dikkat ekici. Robotlar genel olarak bir ama iin degilde bir ama robota uyarlaniyor, yani ek para tanimlayici vede zellikle program olgulariyla yapi kusursuz olarak tamalaniyor. Piyasa robotlarini su sekide siralayabiliriz:

Robot Kollar (zellikle tip alanindaki kullanimda ok hizli bir ilerleme var) rnek. Su alti robotlari (birka firmanin su alti madencilik ve arastirma zerine aralari var ama bir yavas ilerleyen alismalar sanirim) rnek. Uzay arastirma robotlari (nasa bu konuda devreye giriyor.) rnek. Mobile robotlar (Bataryali olduklarindan gelisme kisitli oluyor ama mikro islemcili tasarimda bayagi ilerleme saglanmis) rnek.

[3] Fiziksel Olarak Robot Kol

Fiziksel olarak bir robot kol ucu uca eklenmi cubuklarn 3 boyutlu uzaydaki salnmna benzer. Fakat dnya artlarnda bu ivmelere yer ekimi, srtnme ve anma gibi ufak tefek grnen ama sonucu etkileyen faktrler yani vektrler vardr. lk olarak 3 boyutlu uzay kavramyla eklemli bir kolu yapsal olarak incelersek; Eklemler birbirlerini izlerken bu izlemeden doan hareket baml ilede birbirlerini etkilemektedirler. Ksacas en altan en ste doru dorusal bir zincir yaps vardr demek doru olabilir. Eklemler biribrlerini farkl ynler ve ekillerde hareketlendriebilrler buda bize boyutlu uzayda eriim alann artrmamz salar. Daha dorusu hareket yetenei kazandrr. Ayrca ekilde her eklemin kendine ait 3 eklemi vardr bu eklemeler silindirik eksenli olup kendi etraflarnda, ilerisindekini yukar aa oynatan vede altndakini saa sola ekebilen eklemlerden oluur vektriyel merkezleri motor balar olup 2 si st ksmnda dier 1 ise alt ksm ucundadr. Sadece tutucu ksm ayn anda iki eksenli bir ekleme sahiptir. Aada ise tasarlanm bir robotun ana hatlarn grmektesiniz:

[3.1] Temel Fizik Kavramlar ve Hareket Teoremi Vektr bir hareket gstergecidir. Hareketin ynn kuvvetini gsterir. Temel olarak bir hareket konumsal vektrlerle tanmlanabilr.

vektr:

ekilde grld gibi kresel objenin hareket yn AB vektrleri ile gsterilmitir fakat objeye uygulanan yerekim ivmesi CD vektryle aaya doru bir ekme uygulad iin ortalama(bileke) vektr olan EF vektr ynnde obje hareket edecektir bu EF vektr AB bydke AB'ye doru yaknlaacaktr. tam tersi durumdada yani CD vektr bydke CD vektrne doru yaklaacaktr. Sonu olarak fizikte temel hareket birimi vektrlerle ifade edilebilir nk her hareketin bir iddeti vede bir yn vardr. Vektrler boyutlu uzayda ifade edilebilirken her hareket bileeni vektrlere ayrlmas zorunludur. Ayn zamanda ters etkime yapan kar vektrlerde bu kurala dahildirler.

Vektrler temel olarak sade ve tek dze olmalarna ramen fatriyel eklindeki katlamal artmlarda sonu vektrn tespit etmek iin ihmaller hesab ortaya atlm ve sonuca ylece varlabilmitir. Fakat robotumuzun sonuca mikron dzeyinde ulamasn istiyorsak mutlak olarak bu ihmal hesaplarnda mikronun altnda tutmalyz. [3.2] Kinematiksel nceleme Kinematik kavram robotlarn temelini oluturmaktadr, nk robotlara yaptracak hareket ve sonuta ulalacak konum bu dal tarafndan incelenmektedir. Eklem kinematik iin ok byk bir yere sahiptir ve genelde robotlar asndan eklemler bir zinciri andracak ekilde ard arda balanarak kullanlmaktadr ite bu yzden kinematik temel eklemler asndan ikiye ayrlmaktadr. Zincirin ak olduu sistemler ve kapal zincir yapsndaki sistemler.

Ak ulu kinematik zincirde bir ucu serbest iken dier ucu sabit bir aksama bal olan eklemdir. Kapal ulu kinematik zincir ise her iki ucuda sabitlenmi olan eklem trdr.

Bir robot kolu kinematiin en nemli balang ilkesi kinematik hesabna nereden ve ne biimde balanacadr, bunun iin iki ana balang noktas vardr. Bunlardan birincisi sabit arlktan (en altta yer alan sabitleme ktlesi) balayarak en uca ulamak buna dz kinematik denir dieri ise en u noktadan balyarak sabite ulamaktrki bunada ters kinematik denir. Unutulmamas gereken kinematik hesaplar kaypsz konum alglamas yapar, robot koluna uygulanan momentleri dikkate almadan hesap yapldndan gerek sonu bulunamamtr. Yaplan tm ilemler kolun eklem saysna bal olarak deien katlara sahiptir bu katlar mutlak olarak eklem serbestlik ve tepkime deerlerinide iermektedir. Gemiten gnmze geen srede birok sistem ve uygulama gerekletirilmitir ve oluan sorunlar karsnda yeni zmler oluturularak sonua varlmtr. Bu sistemlerin ounda yaplan hesap programlar mutlak olarak ters kinematii kullanmaktadr. Aada temel olarak iki zmn ayrntlar yer almaktadr; Robot Kolunun Dz Kinematii: Kolun ynlendirlmesinde her eklem hareket noktas bir merkezi XYZ eklemsel dzlemleri iin balang kabul edilip hareket sonucunda oluacak yeni konum en alttan en steki ekleme kadar takip edilmektedir. eksenli bu yapda her eklem iin bir 3x3'lk matris tanmlanr eksenlere uygulanan dnme hareketi sonucu bu matrisin 4x4 olmasn salar ve 4-4 eleman daima 1 olacak ekilde 4 satr ve 4 stun bilgileri sonu konumudur. lk olarak Denavit Hartenberg tarafndan kullanlmtr.

Robot Kolunun Ters Kinematii: Dz kinematie gre daha kapsaml bir hesap gerektiren ters kinematik ilemleri daha ok hedefe geometrik ve matematiksel ifadelerle yaklaarak sonuca ulamaya almaktadr. Hedef konuma yaklamlarda integral gibi tersleyici fonksiyonlar kullanldndan sonu kesin bir yolla kmaz deiik ynerge ve denemlerle sonuca ulalabilir, geometrik adan zmsellii daha elverili olmasna karn her robotla ayn ekilde kullanlamaz. robotlarn kstlayc etmenleri olan eklem ve dn serbestlikleri devreye girmektedir. Alt eksenli bir robotun her hareketi yerine getirebilinecei idda edilmektedir fakat sonuta kolun yaps ve hedef konum bilinmeden eklem says olaya netletirmez. Sonuta kinematik hersaplar bize hedef konuma ulamak iin enksa yolu deil, en uzun tasarm salad iin gereksizdir.

[3.3] Boyutlu Tasarm ve Matematik X,Y,Z eksenlerinden oluan boyut kavram beraberinde dndrme ve iki boyuttan nc boyuta geme gibi ilevleride getirmektedir. Eksensel dndrme: Cisimler bir koordinat dzleminde noktalardan olumakatdr bu cismi bellirli bir ynde dndrme ilevinin yaplmas demek ite bu noktalarnn asal cevrim sonras yerlerini belirlemektir. Aadaki rnekte bir karenin 45 derece sola dndrlmesi incelenmektedir;

Matematiksel adan bir dorunun cevrilmesi iki boyutlu dzlemlerde tan, arctan deerleriyle mmkndr. Yani bilinen iki noktadan aktif dzlemsel a arctan ile bulunur daha sonra evrim as eklenerek sonu aya ulalr vede sonu ansnn tan deeriylede hedef noktaya ulalr. Aadaki rnekte bu olay grlmektedir;

rnekte Kaynak nokta a,b deerlerinde iki boyutlu dzlemdedir. Noktann Q as arctan ile ( Q=arctan(b/a) ) bulunur ve aya eklenecek deer eklendikten sonra Q' asal deeri elde edilir vede yeni noktasal deerler d,c sins ve cosins ilemleriyle bulunur ( d=sin(Q')*f , c=cos(Q')*f, hipotens f=^(a+b)). Noktasal hedefe varlm olur. boyutlubir dzlemde ise bu noktasal iki boyutlu evrim iki er eksenlere ayrlarak yaplr; X-Y; X-Z; Y-Z gibi. ki adet iki boyuttan nc boyut kavram:

Cisimler genelde tek bir adan bakldndan dolay iki boyutlu grntleri mevcuttur buyzden cismin tam olarak alglanabilmesi vede ilemlerin doru bir ekilde yaplabilmesi iin iki boyutlu grntden asal ddrmeyle bir adet daha alnr bu sayede iki boyutlu 2 farkl grntden isel nc bir grnt karlabilir. ekilen grnt saysyla doruluk ve ekim alar arasndaki oran sonucu dorusal olarak etkilemektedir.

Sonu olarak temel tirigonometri ve temel cebir robotic asndan konum bazl byk nem tamaktadr. Robotun bir sonraki hamlesini hesaplamak doacak hatalar ve yanl tanmlamalar engelliyecektir. Bu yksen sabit noktasal hesap iin bilgisayar ilemcisi ok uygun bir tabandr.

[3.3.1] Gelimi Konum Forml Tasarm lemler artka ve sonuca baml yeni ortamlar real-time(gerek zaman) bazl almas gerektiinde bu hesaplamalarn gecikme yaratmamas vede sonucu ilem bittikten sonra yalanlamamas gerekmektedir. Bunun iin yaplan hesaplar artka ilemler birletirilmeli ve kalpsal tanmlara kullanlarak bir tampon oluturulmaldr. lem sonularnn bitirilmesi

ksaldka sistem optimize edilerek gereksiz ilemler taranmal ve ayklanmaldr. bu ilemler hem bilgisayarn hemde mekanizmann hata yapmasn ve yavalamasn engelliyecektir. [3.3.2] Bilgisayar kavram ve dinamiksel zmler(Acad14-3DS max 2.5) Bilgisayar kavram ite asl bu kavramlarn hesaplanmas ve analizinde nemli bir yer almaktadr. bouytlu olarak bir noktay ilerletmek iin yaplan ilem mikro saniyeler aldndan robotun hareketinde bir gecikme faktr olmaktan kp geri besleme vede hata aramada yer almaya balamaktadr. Olmazsa olmaz kavramnda yer alan bilgisayar ayn zamanda bize dizayn aamasnda imdi olduu gibi zgn yardmc olarak yerini almaktadr. Ama bilindii gibi bilgisayar programlanmadan bir hi olduundan bizim iimizi grebilecek temel bir boyutlu tasarm ve gelitirme programna ihtiyacmz bulunmaktadr ite burada devreye alman yapm olan mhendislik harikas olan AutoCad program girmektedir. Program temel kalp izimleri ve yapsal analiz yapabilmektedir ama yinede daha ortada para yokken o paray test edebileceimiz ve sonular karabileceimiz bir program olan 3DS MAX adl programa ihtiya duymaktayz. Max programyla Olmayan kolu cizip eklemleri kstlayarak yapabilecei ve yapamyaca hareketleri grebiliriz tabiki bu bize ok nemli bir avantaj salamaktadr. Aada 3DSmax 2.5 cizilmi temel bir rnek yer almaktadr bu rnek zerinden kemik(bone) yaps ve eklem kstlamay inceleyebilirsiniz.

3D studio max programnda izim ksmndan arklar eklindeki ikon seilerek bones(kemik) seilerek ekranda temel bir izgi izercesine robotun temel eksenleri izilerek ikonu altndaki IK blmnden Rotational Joints ksmndan kemik balarnn herket kstlamas eksensel olarak limitlenebilir. Daha sonra yaplmak istenen hareket ANIMATE butonuna baslarak 1/100 yazs zerinde bulunan bar ekilip oradaki hareket konumlandrlarak animate kapatlp play butonuna baslr, yapdmz hareketi bize tekrarlar tabiki eer mmknse? Sonu olarak bilgisayar ve doru program her dalda olduu gibi robot dizaynndada biz yol gstermekle kalmayp hatlarmz minumuma indirebilmektedir.

[4] Mekanik Olarak Robot Kol:

Mekanik olarak robot kavram fiziksel olarak doan hareket kavramlarnn gerekletirilmesi iin gerek duyulan mekanik aksamlar yani eklemlerin olumasya otaya kmtr. Mekanik adan robot kavram EKLEMSEL olarak inceleme ve madde zerindeki hareket, tepki ve srtnme gibi kavramlar ierir. Ksacas yaplm olan bir robotta hesaba katlmas gereken vektrlerden biride mekanik adan tepki ve etki vektrleridir. Ayrca robotun yapabilecei hareket ve yapamyaca hareket kstaslar da mekanik olarak yaplan dizayn sonucunda ortaya kmaktadr. Aadaki rnekte kemiksel olarak drt eksenli bir robot kol grlmektedir;

Robot dizaynnda ilk olarak yaplams gerekenlerden biri robotun yapmas gereken harekeler dorultusunda yaplacak eklemlerin konum ve serbesliklerine karar vermektir. Bu karar robotun kapasite, serbeslik, znrlk, eriebilrilik vede hz gibi ana temellerini dorudan etkilemektedir, eklemleri uzunluk ve hacimleri ise yine robotun hareket gesinde yer edinmekle beraber robotun eklemlerinin krlmas veya eklemlerin titremesiyle sonulanabilir. [4.1] Mekaniin Temelleri: Mekaniin temeli yine hareket ve madde geleri zerinde younlamaktadr. Mekanikte ama bir maddesel geyi belli bir ekilde hareketlendirme ve durdurma ileminin en az gc ve en fazla hareket ivmesiyle gerekletirmektir. Tabi bunun yannda mekanik aksamlarn anma, dayanma ve sre gibi kavramlarnda hatapayl hesaplayarak nlem belirleme iide mekanik dizayna dmektedir. Mekanik adan bir olayn analizini yapmakla iin elle tutulur bir kavram olmasnda nemli bir yol katedilmi olur fakat her zaman mutlak olarak yaplma istenen hareket karsndaki ters kuvvet veya engelleyici etmenler olay gerekletirmemizde en nemli kar kuvvetler olur, hareketin yaplmas iin mutlak olarak sadece bir tek yol yoktur bunun iin yaplacak hareketin baka bir etmene yklarak kaybn kabul edilecek miktarn altnda olmas salanabilir. Bu konuda en iyi rnek dililerdir, dililer kuvveti kendinden bir sonraki etmene ayn ekilde artrken hzndan kaybettirerek g kazandrmaktadr buda bize motor gcnn kaldramyaca ykleri daha yava ama kaldrlp hareketlendirilebilecek dzeye getirilmesini salar. Aadaki ekilde bir dili yaps grlmektedir;

Yukardaki rnekte A dilisinden verilen kuvvet B dilisinden 3 kat daha byk olarak ama 3 kat azalm bir hzla bize geri dnmektedir, buda bize robotumuzun eksen hareklerini motorlar bytmeden ve arl arttrmadan istenilen ekilde yaplmasn salar. [4.2] Eklem Analizi: Her ne kadar istenilen kadar eklem tasarlanp ard arda eklenir gibi gzksede hedef en az eklemle istenilen hareketi yapabilmektir. Elimizdeki motor ve kat tutucular zamanla anma ve esneme gsterdiinden eklemlerin u uca eklenmesiyyle oluan arla ve hareket srasnda oluan ters kuvvetlerin etkilerine dayanamayp istenilen hassasiyetin dna kabilmektedir. Aada grlen rnek mkkemmel derecede insan kolunu taklit edebilen bir yap gstermekle birlikte gerek ortamda yetersiz kalmaktadr.

lk olarak yaplmas gereken hareketler karlmaldr bunun iin istenilen yn ve ekildeki harekler snrlandrlm bir otamda tasarlanmaldr. Eklem balant noktalar ve eklem uzunluklarn hedef olayda en etkili ekilde etkileyen etmendir. Eer eklem balantlar hatal ise eklemler istenilen hareketleri yapamaz veya motorlar hesaplanann dnda yklendiininden istenmiyen durumlarla karlallabilinir. [4.3] Gcn Arla Oran: Baz sistemlerde byk motorlarnn kullanlmas yznden aln artmasyla eklem bloklarda glendirilmi ve motorlarn kuvveti tam olarak yk kaldrmaya ve hareketleri yapmaya yeterli olamamtr, bu durumu dzeltmek iin piston ve hidrolik sistemler tasarlanmtr. Gnmzde hem motorlar hemde src katlar ilerlemesi ok iyi bir konumdadr, cm ye 80 Newton uygulayabilen 8000 devirlik dc servo motolar ile birlikte kullanlan spur yapdaki 415:1 oranndaki dili kutularyla kuvvet gerekenin 100 kat zerine bile kabilmektedir. Dikkat edilmesi gereken nonta kuvvet/arlk orannn yaklan 1 olmas gerektiidir. Tersi durumlarda hareket ivmeleri veya arlk ekmeleri sonucunda ksa zamanda robotumuz devre d kalmaktadr. Buna en iyi rnek yksek kuvvet gerektiren sistemlerde gc artrmak iin yaplan ilemlerde arlnda artmasya yeniden gereken kuvveti kazanmann imkansz olduu grlnce hedefe ulama ynteminin deitirilerek eklem ve eksen azaltlmasyla olay zmlenmitir. Bu tip durumlarda ters arlk veya zplama ivem hareketleri sadece zm imkansz hale getirmemekte alma zamannda kaybetmemizi salamaktadr. [4.4] Mekanik Adan Robot Kol:

Robot kolun en nemli grlen ve ilk olarak tasarlanmas gereken konularndan biridir mekanik analiz, nk robotun yapabilecei ve yapamyaca hareketler bilinecek elektronik dizaynyla bilgisayar programda ona gre ayarlanacaktr. Oysa ortada alaca mit edilen mekanik zerine yazlm program ve muhteem elektronik dizayn gerekleemiyen mekanik eklemleri zememektedir. imdi srasyla dikkat edilmesi gereken mekanik konular ve zmlerine bir bakalm; [4.4.1] Mekanik Kstlamalar: Mekanik bir paann eer oynuyan bir paras varsa mutlak olarak bu parann bir ekilde korunmas yani ana ktleye sabitlenerek serbest braklmas yani kstlanmas gerekmektedir. Bu kstlamalar yaplacak harekette gerek duyulmayan ekilde yaplmaldr, eer yaplmas gereken bir hareketi eklem kstlamas yznden yapmyorsak iin ta banda baarsz oluruz. Eklemin serbestlik alar karlmal eriye kalan btn ynler kstlanacak ekilde eklem kstlanmaldr, bu sayede mmkn olan en yksek gte salamlk ve esneklik salanm olur. [4.4.2] Madde Anmas ve mr: ki metal birbirine hareketli bir ekilde monte edildiinde hareketler sonucunda zamanla metal anmas yapmakta ve iki oynayan yzey arasnda boluk oluturmaktadr bu boluk belirli bir dzeyden sonra istenmiyen ters haretklerin yaplmasn salamakta ve baarszlkla sonulanmaktadr. Yaplmas gereken en az yzey srtnmesinin kurulmas ve gerekli yzeylerdede elik halka veya teflon yzey kullanlmaldr. [4.4.3] Mekanik hmaller ve Sonular: Oluacak srtnme ters kuvvetlerinin ve yer yz ekiminin ihmal edilmesi ilk denemelerde her ne kadar baarl gzksede zaman iinde alan yzeyler arasnda srtnme yznden boluk ve yer yz Bilgisayar kavram ite asl bu kavramlarn hesaplanmas ve analizinde nemli bir yer almaktadr. bouytlu olarak bir noktay ilerletmek iin yaplan ilem mikro saniyeler aldndan robotun hareketinde bir gecikme faktr olmaktan kp geri besleme vede hata aramada yer almaya balamaktadr. [4.5] Mekanik Hareket: Yaplacak hareketin mekanik olarak tanmlanmas kavram ilk olarak eklemlerin hareketlenmesiyle gzlenebilir. Eklemler hareket ettiren kuvvet olan motorlarla birlikte bir hareket ekli gstersede d etmenler sonucunda istenmiyen veya zorlayp hibir hareket yapamadan olduu yerde kalabilir. bu yzden mekanik harekette normal hareket hesaplamalarnn dnda hareket ettirilen metal aksamn ve sabitlerin davralarda hesaplanp ona gre yeni zm ve teknikler uygulanmaldr. lk olarak hareketin yn ve ekli incelenmelidir; [4.5.1] Hareketin Yn ve ekli: Yaplmas istenen hareket iin bir ynelge ve tepki hesaplanrken mutlaka hedef sonu iin baka trl sonuca varabilecek zmlerde aranmaldr. Aada eitli hareket evrimleri saysesinde sonuca ulailmtr;

[4.5.1] Hareketin evrimleri: Yaplma istenen hareket yn ve ekil deitirerek yani modellenerek yeni bir kalba konur bu olaylar sayesinde gereken g veya ivme yn kazanlabilir. Aada buna en iyi rnek olan dili kutular ve onlarn yaplar grlmektedir;

Dili kutular projemiz asndan ok byk bir neme sahiptir. Bu kutular kendi aralarnda iki gruba ayrlrlar. Spur ve Pleantary. Pleantary yukarda grlen rnekteki gibi her dili bir sonraki tek diliye deerek dngsn tamamlamaktadr. Spu ise her dili kendinden sonra diliye ve dilide bir diliye deecek ekilde dizilmitir bunun en nemli yararn boluksuz olmasyla gstermektedir;

[5] Eletronik Olarak Robot Kol: Temelde robot tasarmda Pc kullanmndan sonra Elektronik kontrol ve tasarm n plana kmtr. Sistem elektronik karkarlar verebilmek iin elektroniksel lme ve hareket olgularn edinmeye balamtr. lk olarak elektronik robot tasarmnda bilgisayarlar ile haberleme konusunda karmza kmaktadr, bilindii zere bilgisayarlar lojiksel ifadeler ile haberleirler (0-0,5V :0 manasna / 4,5-5V ise 1 manasna gelir) ite bu haberlemeyi yapabilmek iin bir veya birden fazla hat zerinden zamansal olarak veri aktarabilecek sistemler tasarlanmaktadr. Asl ii mikro ilemciler yapsada yap elektronik tasarmla tanmaktadr. Daha sonra ise elektronik olarak veri tanarak yapay sinir aler kurulmakta ve eklemler hem birbirleriyle hemde bilgisayarla haberlemektedirler vede ite bu olay yapnn

tamamen esneklik ve kararllk kazanmas yolunda atlan en byk adm olmaktadr. Enson basamak olarakta hareket ve geri beslem sistemlerinin elektronie tanarak (motorlar ve encoderler sayesinde) yapya eklem ucundan bilgisayara kadar elektronik bir sistem kurulmaktadr. Gelin bu ana yaplara temelleriye birlikte genel bir gz atalm... rnek devre elemanlar:

[5.1] Temel Elektronik Bilgileri: Eer insan elektronik kavram tam olarak kavrayabilirse ilem basamaklarn ancak o zaman istedii gibi geebilir. Yaplmas gereken her ite olduu gibi elektronik devreler hayatmzda nemli bir yere gelmitir; kumandalar, adaptrler ve daha niceleri. Herkez bir ekilde bu devreleri skm ve incelemiizdir. Ayn baka bir dili renmek gibi elektroniide bilen bir ahs zorlanmadan istedii gibi bu devreleri onarmakla kalmaz yenisini yani daha iyisini bile yapabilir. Elektronik tanmn ksaca yapmak istersek ilk olarak eletrik akm yani temel olaya inmemiz gerekir bu olayda anlamak iin mutlak olarak atomlarla ilgili bilmemiz gereken noktalar vardr;

Atomlar doada aktif olarak farkl ekilde yer alrlar;


Kat Sv Gaz

Modlar arasndaki nemli farklar arlk ve younluktur. Bu atomlarn hareketsel bir yaps olduundan enerji bakmndan ise ikiye ayrlrlar; 1.Potansiyel Enerjili : Pozistonunu koruyan enerjidir. 2.Kinetik Enerjili : Hareket enerjisidir.

Atomlar birbirlerine ok benzeselerede yapsal olarak ok kk paralardan oluurlar. Bu paracklar sayesinde atomlar 92 farkl cins olutururlar. Bu ayrm gsteren periodik tabloda atomlarn numaralar ve arlklar yer almaktadr. 92 olan say son yllarda yaplan nkleer alma sonularyla 14 adet eklenerek 106'ya kmtr. Yandaki linkde ayrntl bir tablo yeralmaktadr. http://www.webelements.com/ 1845 ylndan sonra atomun iyaps tam olarak aklanabilmitir. Yapda ELEKTRON, PROTON ve NTRON bulunmaktadr. Elektronlar serbest yrngede gezen negatif(-) ykl paracklardr. Proton ise merkezde yer alan pozitif(+) ykl paracklardr, sabit konumludur. Ntronlar ise yksz ve merkezde yer alan hareketsiz paracklardr. Yapda hareketli yapda bulunan elektronlar atomun tipini belirler. Eer elektronlar protonlara gre fazla ise atom NEGATF, Elektronlar Portonlardan az ise POZTF, Elektronlar Protonlara eit ise atom NTR yapsndadr. te burada iki atom yaknlatrldnda birinin yk dierine gre zt ynl ise Negatifden Pozitife gei olacaktr, bu olaya elektrik akm denilebilir. Elektrik akm daha nceki yllarda Pozitifden negatife olarak bilinmekteydi fakat prensip olarak Negatiden Pozitifedir. te bu olgular matematiksel olarak ifadelendirsek genel kavramlar belirlememiz gerekir; Amper(A): Bir iletken zerinden gecen elektrik akm miktar. Amper,MiliAmper, MikroAmper) 1 Amper(A)= 1 kulomb (Q) eittir. Volt (V): ki farkl ykle yklenmi ortamlar arasndaki yk fark yani ksaca gerilim fark. (Birimleri: KiloVolt,Volt,miliVolt,mikroVolt) V=W/Q W joule ile gsterilen gsel fark, bir sabite.(1 kulomb 6,240,000,000,000,000,000 elektron yada protondur) Q kulomb olarak bilinen (Birimleri:

Yukarda grlen kavramlar anlk kavramlardr. Elektriksel g yani zamana yaylm olan enerji ise P ile gsterilir birimi watt dr. P=W/t dir. W Ayak_arl (food-pounds) , HP beygir gcdr. t ise zaman gsterir.

1 HP = 768 watt dr.

P= I x E yede eittir.

E gerilim farkn I ise akm gcn temsil eder.

Devreye uygulanan akm ve gerilim birbirleriyle doru orantl olarak deiirler fakat bu deiim zamansal bazl olarak sregelirse ite o zaman akm ve gerilim AC diye tabir edilen dalgal yani sabit olmayan gerilim ve akm olacaktr. rnein sehir ebeklerinde gerilim -320V ile +320V arasnda deimesine ramen biz o gerilimi 220V olarak bilmekteyiz nk zaman yaylan bu gerilim efektif olarak yani ortalama olarak 220V gzkmektedir. Bunun tersi olan yani sabit bir gerilimleri olan piller ise DC diye tabir edilen bir gerilim ve akma sahiptirler. Aada asal olarak bir sins dalga tasviri yer almaktadr.

DREN:
Devreye uygulanan gerilim ve akm bir utan dier uca ulancaya kadar izledii yolda birtakm zorluklarla karlar. Bu zorluklar elektronlarn geiin etkileyen veya geiktiren kuvvetlerdir. te bu kuvvetlere DREN denebilir. ksaca ohm ile gsterilir. Aada rnek bir diren ile maddelerin iletkenlik oranlarn grebilirsiniz.

Elektriksel devrelerde kullanlan diren.


Madde ALUMINUM CARBON p (rho) 17. 2500-7500 x copper

CANSTANTAN 295. COPPER 10.4

GOLD IRON NICHROME SILVER STEEL TUNGSTEN

14. 58. 676. 9.8 100. 33.8

Bir direncin i yaps Direnler ekildeki gibi tasarlandklar gibi farkl maddelerden farkl ekil ve balantlarlada tasarlanabilirler; Carbon Direnler: ekilde grlen basit devre direncidir. G Direnleri : Yksek gl akmlar altndada rahatlkla alabilen direnlerdir. ulu ayarlanbilir bir direntir.

Potansiyometre :

Bu direnlerin hacimlerinin ufak olmas ve sabitsel olarak kodlanabilmesi iin renksel diren kodlar oluturulmutur, aada bu kodlar inceleyip hesap yapan siteler mevcuttur; 4 bandl diren hesab iin:

5 bandl diren hesab iin:

HESAP YAPAN BR SAYFA--/ Ohm Kanunlaryla Hesap!!!


http://www.xtronics.com/Kits/rcode.htm, http://rlan.net/NostalgiaAir/RMACodes/reschart.htm, http://www.drbob.net/rcode.html , genel grnml http://aloha-mall.com/a-1/pcresist.htm, http://www.testeq.com/charts/resclr.html,

diren tablosu:

Devrede bulunan elemanlar zerinden geen akm ve oluan gerilim elemanlarn balant ekillerine gre ikiye ayrlabilir; Seri Balama: Elemanlar zerinden akm geerken bir sray takip ediyprmu gibi nce birinden sonrada dierinden geerek gider. Akmlar sabit Gerilimler farkldr. rnek ekil aadadr.

Paralel Balama: Elemanlar ard arda deilde yan yan balanmtr, akm ayn anda ikisinden birden geebilir. Gerilimler ayn Akmlar farkldr. rnek ema aadadr.

rnek Soru: Sekilde gorulen devrenin toplam direnc degeri nedir?

Cevap:>>>>

Devrelerde yer alan temel dier devre elemanlar ise;


Diren (Yukarda deinmitik) Kapsitans Bobin Transformatr Diyot Transistr IC ler yada bilinen adyla Entegreler

imdi ksaca bu elemanlar tanyalm;

KAPASTANS(KONDANSATR):
Kapasitans kavramn aklamak istersek; ksaca kk bir pile benzetmek yanl olmaz nk iki farkl ucun arasndaki dielektrik(yaltkan) madde sayesinde iki taraftada birikim oluur. Oluan bu birikim ular ksadevre edilince kendini tamamlayarak bir akm oluturur bu olay gerekletiren elemanlara ksaca kondansatr denebilir. Aada solda yer alan ekilde temel yapsn gsteren iyi bir rnek ve sada bulunan ekilde ise bir kondansatrn arj grlmektedir.

Fiziksel olarak temel yap bir maddenin zerinde hapsedebildii statik elektrik denen bir temel elektrik depolama ilevinin iki metalin etkileimi ile artrlarak yn ve miktar verilebilmesidir. Miktar kondansatrn iletken ve yaltkan ksmlarnn zelliklerine bal olarak hapsedebilecei maximum gc belirler, Yn bilgisi ise seilen maddelerden dolay ortaya kan bir kutuplamadr. Aada rnek kondansatr eitlerini grmektesiniz;

Ayarlanabilir Kondansatrler

Film Kondansatrleri

Havasz ortaml Kondansatr.

Kat Kondansatrler

Seramik Kondansatrler

Elektrolitik Kondansatrler

Mica Kondansatrler

Minyatr kondansatrler.

Mikrodalga Kondansatrleri Kondansatrler grld gibi ok eitli yaplara sahiptirler bunun nedeni ise devrede ihtiya duyulaak zelliklere gre ihtiyacn karlanmasdr. rnein mica ve seramik kondansatrler ufak kapasitelerde, elektrolitik ise daha byk kapasitelerde kullanlmaktadr. Tabiki herey iki metalin bir yaltkanla birbirinden ayrlmas olay deildir, o yzden eitlilik ok fazladr. Kondansatrlerin birimi FARAT dr, C ile gsterilir. i = ekilen akm,v = gerilim dm,t = uygulanan sre ise

C =i / (v/t) dir.
(1 milifarad 1/1000 yani bin farada eittir.1 microfarad 1/1,000,000 yani ksaca 1 milyon farada eittir.1 picofarad (1/1,000,000 da 1/1,000,000 farada eittir)) Dikkat edilmesi gereken noktalardan en nemlisi devrede oluacak kapasitans etkisinin AC adan incelenmesi gerektiidir.

BOBN:
Devrelerde bulunan akm yollarnn hepsi genel adan birer bobin grevi yapmaktadr. Bobinin bu yollardan farkl olan yan uzunluk ve kendi zerine olan etkisidir. lk elektrik

akm bulan insanolu uzun bir teli metal para zerine sararak akm geirdiinde metalin mklats grevi yaptn ve akmn ynne gre metalin ularnda NS kutuplarnn olutuunu bulmutur. Bulan kii yine Farday(1791-1867)'dr. Ksacas bobin bir iletkenin zerinden geen akm manetik alan izgilerine evirerek yapsal olarak enerji dnmn gerekletirmitir.

Tersi durumundada yani bir manetik cisim manetik alan izgileri bobini kesecek ekilde hareketlendirilirse bobin zerinde bir akm oluur ite bu temel akmdr. Normal devre ii kullanmnda oluan bu manetik izgiler farkl ekillerde sarldnda kendisi zerine ters manetik alan kuvveti uygulayarak zerinden geen akm yavalatmtr. Bu sayede gecikmi bir akm ktan alnabilir. Bu durum yine kondansatrede olduu gibi AC devrelerde kullanlr. Etrafnda bulunan dielektrik madde ve kullanlan iletkenin zellii bobinin zelliklerini belirler.

TRANSFORMATR (Trafolar):
Elektrik akmnn herzaman retildii byklkte kullanlamad gerektiinden voltaj deerini azaltan veya oaltan bir devre elemanna ihtiya duyulmutur. Bir diren gsterilerek akm drlmeli ve bylece gerilim azaltlmalyd ama aktif direnler bu ii gremezlerdi nk istenen deerler tam olarak sabit olmamakla birlikte g tketimi dkt. Kondansatrler ise ihtiyaca uyacak zellikli deildi sadece depolar ve geri verirlerdi ama Bobin iimizi grebilecekgibiyidi.

Yukarda grld gibi birbirlerine elektriksel temas bulunmayan iki demir ktle zerine sarlm olan bobinler arasnda sarm says vede demir ktlerin zelliklerine bal olarak akm transferi olumaktadr. Aada temel iki tip transformatrler grlmektedir;

G Transformatrleri

Kk apl transformatrler

diyot:
Eketrik akm normal iletkernler kullanlarak birok elaman gelitirilmitir fakat asl gerekli olan karar verme yetisine sahip olan bir elektriksel elemandr. te buna ihtiya duyan insanolu dah nce kefettii temel atom bilgilerinin zerine iki farkl simge kurdu, N ve P diye adlandrld. N tipi madde atomlarnda bulunan elektronlarnn says 5 olan atomlardan oluuyordu bunla genel vericiydiler, P tipi madde ise en d yrngesinde 3 elektron bulunan atomlardan oluuyordu gelen alcydlar. Ardarda konan bu iki madde zerinden geen akm elektronlar asndan N den P'ye olacak ekilde geebiliyorlard. Tersinde ise yani P den N'e gei belirli bir snr ierisinde imkanszdr. Bu elamana diyot olarak tanmlanmtr. ki ucu olan elemann art olan ucuna Anot, eksi olan dier uca ise Katot denilmektedir. Akm Anottan Katota doru yol alr.(+ dan - ye tabirinde)

Peki bu snrlar nelerdir diye bir tabiri aklarsak, diyodun yapld maddelerin ileri ve geri kutuplanma diye tabir edilen kutuplanmas esnasnda iindeki yaltkan zar almak iin yani ileri kutuplanmada iletime gemek iin belirlibir sabit gerilime ihtiya duyar bu gerilim kullanlan maddeye gre deimektedir. Geri kutuplamada ise zar aktif durumunu koruyarak belirli bir voltaja kadar iletimi salamaz yine bu voltaj kullanlam maddelere gre deimektedir. Encok kullanlan maddeler silisyum ve Germanyumdur.

TRANSSTR:
Transistr ilk olarak 1947 AT&T's Bell Labaratuarnda John Bardeen, Walter Brattain ve William Shockley tarafndan gelitirilidi. Ama Yariletken yani istenildiinde akm geirecek istenildiinde ise yap akm geiini engelliyerek yapsal bir kap grevi grecekti. Silisyum ve Germanyum yariletlenleri kullanlarak kutuplu bir yap oluturuldu(iki yana

Emitr ve Kollektr orta uca ise Beyz denildi). Yap orta ucundan ald gerilimle dier iki karlkl u arasndaki balanty kuruyordu. Yaplan bu elektronik kompanend sayesinde gnmz yar iletken teknolojinin temeli atlmtr. u anda intel firmasnn yapd mikroilemciler ierisinde yaklak olarak 5 milyar civarnda transistr bulunmaktadr. Aada ilk protipi grmektesiniz:

Transistr yapsal olarak Silisyum ve Germanyum diziliine gre NPN ve PNP olarak ikiye ayrlmtr, yapsal bu ayrm transistrlerin akm geirme ynn etkilemitir. Aada genel emalar ile diyotsal tabirlerini grmektesiniz....

Kullanm olduka kolay grlen bu anahtarlama elemannn yapsndan kaynaklanan baz kstlama ve zararlarda yer almaktadr fakat bu artlar genel kullanm ve zel kullanm rnekleriyle eitlenen transistrler ile almtr. Aada grlen rnek devrede beyze verilen gerilimin oranyla kollektrden emitre olan geii ve bu geiin grafiini grebilirsiniz. Kullanlan transistr NPN dir.

Yapsal olarak mkemmelletirilmek istenen transistr aratrmalaryla Fet ve Mosfet diye tabir edilen yeni yar ileten anahtarlama elemanlar yaplmtr. Bunlar transistrn eksik olarak grlen ynlerini kapatmak iin gelitirilmitir. rnein Fet yksek hzl ve kararlkl bir eleman olmasna ramen dk akmlarda alarak bir yap tekil etmitir.Fet'de transistrn ucu olan beyz,emitr ve kollektr yerine Gate,Source ve Drain ular yer almtr. Aada genel olarak FET'in yaps rnek bir devre ilegrafiksel olarak tutumu grlmektedir.

Mosfet ise yine yksek hzl ve yksek akmlarda alabilen bir transistr trdr. Transistr semek iin kullanlabilecek bir sayfa: http://www.tanker.se/lidstrom/trans.htm

[5.2] G Devreleri: Elektronikte mekanikte olduu gibi kk olan bir olguyla byk olan olguyu kontrol etmek gerekmektedir. rnein ATX bilgisayar kasalarnda bilgisayar zerideki her alet maximum 24V almasna karn bilgisayar mikro ilemcisi 220V g kaynan bir yariletken ile kontrol edebilmektedir. Bu yapda bizim iin nemli olan minimum gle maximum g kaypsz olarak hzl ve kesin bir ekilde kontrol etmektir. Robotic alannda ise g devreleri zellikle lojik ibarelerden oluan hareket ifadelerini motora anlatmak iin kullanlmaktadr. Bu ilemler iin zel g katlar vede entegreler tasarlanmaktadr bunlardan bazlar L293, L297, L297D, UMB 2003 gibi 5-30 volt arasnda alabilen g katlardr. [5.3] Ana Hatlarya Src Devreleri:

G devreleriyle kazanlan lojiksel kontrol doru ve manal bir hareket evirmek iin devreye src devreler girmektedir. Srem asl anlam olarak yn verme mansana gelmekle birlikte yapsal olarak atlacak bir sonraki adm belirleme ilemidir. Roboti'de motor src devreleri motorun yerine ve bir sonraki pozisyonuna geiini belirlemektedir. Aada genel olarak bir model grlmektedir:

Src devrelerinde genel olarak motor kontrol yapacamzdan gelin imdi elektriksel motor nedir onu inceliyelim:

[5.4] Elektriksel Motorlar:


Elektriksel Motor kavram elektriksel alann yani magnetik alan kuvvetinin elektrik akmyla oluturulmasyla ortaya atlmtr. Bir demir nve zerine sarlan ok spirli bobin telin zerinden akm geirildiinde demir nve kutup balar olan N S kutuplarn oluturarak ceresindeki zt kutuplar veya metal cisimleri ekmektedir. Bu teoriden kan bilimadamlar ekme itme kuvvetini ardarda koyarak ve bu hareketi dairesel harekete evirerek ilk elektriksel motoru yapmlardr. Bu motorlar kendi aralarnda ana hatlaryla guruba ayrlrlar:

[5.4.1] DC Motorlar:
Mantk olarak bobin zerinden geen akmn sonucunda oluturduu manetik kaaklar sayesinde oluturduu kutuplamay ileri ve geri ynl olarak kullanarak yani zt kutuplarn ekmesi vede ayn kutuplarn birbirin itmesi prensibinin dairesel harekete dntrlmesini baz alnan en basit yapdr. Dier motorlarn tamam bu mantk zerine kurulmutur.

ekillerde ve akmn ynnn iletkenin eklinin Magnetik alan ve de kuvvet ynn nasl etkiledini grmektesiniz... Aada ise bu hareketin dairesel harekete dntrlmesini grebilmekteyiz:

Mklats mantnda oluan N S Kutuplamas kullanlarak N kutbu tarafna S kutbu gelecek vede S kutbu tarafnada N kutbu gelecek ekilde akmn yn deitirilerek hareket ivmesi kazandrlmaktadr...

Ayrca yapda bobin sarm vede kutup balarnn akmn ynnn deiim iin kullanm grlmektedir. Aada ise piyasada satlan temel dc motor i yapsnn blok ekli grlmektedir. lk ekilde ana aft zerine sarlm apraz sargl ince yksek duyarllkl bobin ve ok yaknlatrlm dairesel mklats grlmektedir dier ekilde ise temel bir encoder yaps grlmektedir.

[5.4.1.1] Src Devresi: DC motorlarda yapsal olarak akm geldii srece motor akmn ynne bal olarak dner fakat akmn siddeti ve sekli motoru dorudan etkiler. Aada ilk olarak Wien kprsyle akmn ynn deitrimeyi vede akmn zamansal blnmesini ayarlayarakta hzn etkileyebilriz.

Devrede grlen ABCD ular ayn tipteki transistr yani anahtar temsil etmektedir. Anahtarlarn apraz alna gre motor ileri yada geri tetiklenerek dn ynn deitrimektedir. Diyotlar ise ters akmlardan transistrleri ksaca besleme devrelerini korumak iin konulmutur.

Yukardaki DC hz ayarlaycs devre pulse mode yani darbe modlu alan bir hz devresidir devrede ana gerilim transistr tetiklenerek DC motora gerilim verilerek motro hareketlendirilip transistr kesime gtrlerek DC motor beslemesi kesilmektedir bu sayede motor tetiklenme aralna gre hz kazanmaktadr. Tork beklenen yaplar iin sakncal bir devredir tercih edilmesi gereken akma dayal gerilim blme yada kstlama yaplardr. [5.4.1.2] Olumlu Olumsuz Yaplar: Olumsuz yanlar ilk retilen motorlardan biri olmas nedeniyle baya ok fakat halen ou alanda kullanldn dnrsek yapsal olarak bir imkansz baarmtr fakat robotic acsndan sfrn altnda bir kontrol alanna sahiptir ift kutup deiimi yznden asal veya konumsal kontrol yaplamamakta emule edilen (micro wave) motor src devreleri ise ar artlar altnda iflas ettmekte ve uzun mrl olmamaktadr. [5.4.1.3] Piyasa Durumu: zellikle uzak douda retim potansiyeli baya yksek olan bir motor tr almanyada bir iki firma DC motorlar ve Dilikutularn birletirerek amatr veya hassasiyet ve g gerektirmeyen ilemlerde kullanabilinecek motorlar retmektedirler. Ulaabileceiniz internet adresleri ve yuvarlak fiyatlarna gelince: www.asiansources.com yaklak 20 kadar firma var motorlar voltaj ve yaplarna gre 530$ arasna fiyatlara sahipler.

www.minimotor.ch ok kaliteli motorlar fakat fiyatlar ok yksek 50$ a ok basit bir motoru satyorlar ama sag kaliteleri ve torksal gleri mkemmel www.allcorp.com Fiyatlar ve mallar baya iyi fakat kalite dk. www.alltronics.com En iyi yerlerden biri.

[5.4.2] Adm Motorlar:


Yapsal adan DC motorla ok benzemekle beraber bobin sarg saysyla sarm ekli deimektedir. Bu sayede motor adm adm ilerletilebilmekte ve herhangi bir admda durdurulabilmektedir. Aada temel olarak bir Adm Motorunun yapsn grlmektedir:

Grld gibi akmn geebilecei birden fazla boboinsarglar vardr bu sarglarn says artrldka adm atabilme yetisi yani asal dn o kadar klr. rnein 4 ayr sargl fakat 100 paral bir adm motoru bir devirede 100*4 = 400 adm atabilir asal olarak ise 360/400 = 0,9 derecedir. Aada bir adm motorunun almas canlandrlmtr.

Adm motorunda ayn anda iki kutbun aktif olamsyla dnen ksm olan rotor bu iki kutbun ortasnda durabilmekdedir.Fakat Rotor zerinde uygulanan g iki farkl noktaya zt ynlerde ekildiinden tutu gc olan tork dmektedir. Aada tam, yarm adm emalar karlatrlmal olarak grlmektedir;

Bu noktadan hareketle adm motrunun ataca 400 adm half step (yarm adm) sayesinde ikiye katlyarak 800 adma karyoruz. ayrca adm as 0,9 dereceden dan 0,45 dereceye dmektedir. Bu bize daha hassas ilem yapabilme gc getirdii dnlsede kayp olarak bizden step motorun en byk avantaj olan torksal tutunabilme kabiliyetini almaktadr. Ayrca half step den sonra birde mikro step ad altnda almalar yaplmaktadr burada ise ama 2 kutubu ayr ayr farkl voltajlarda ykleyerk rotoru konumsal olarak arada tutarak daha hassas adm attrmaktr ama yine g kayb hereyin sonu olmaktadr. Aada iki tr olan Bipolar ve Unipolar step motorlarn yapsal zellikleriyle konumsal kontrol avantajlar yer almkatadr:

ve

Bipolar ve Unipolar adm motorlar arasndaki en byk farkllk bobin srmlaryla bu boboinlerin baglant ekilleridir. Aada ise NEMA standartna uygun bir adm motorunun olmas gereken adm aral gsteilmekte ve full step desteklenmektedir.

[5.4.2.1] Src Devresi: Yaplarndaki kolaylktan dolay adm motorlarnn srlmesi olduka kolaydr. Ama adm motorunun bobin ularna adm emasna gre srayla tatbik edilmesidir. Uygulanan gerilim arac bir tanpon katla g devresi olarak kullanlmaktadr. Aada rnek devre yer almaktadr;

Yukardaki devre ana ema olarak bir step motorun tetiklenmesini iermektedir. Devre DC motor yapsnda olduu gibi 4 ana noktadan farkl kutuplarla tetiklenerek akm yklenmektedir fakat DC motorda olduu gibi bu farkllk dn ynn deil bir sonraki admn yerine karar vermektedir. Lojiksel bir kontrol salanmakla birlikte aada ok daha kolay bir devre gze arpmaktadr.

Ana adm yaps XOR kaplaryla salanmaktadr bu yap iki adet JK flip flopa uygulandnda bobinler iin gerekli olan adm atma yaps 2 lojik u kontrolyle salanmaktadr. DIR direction ynden gelmektedir bir sonraki admn ynne karar verir. STEP ise adma karlk gelir bir adm atlmasn syler sfrda aktiftir. [5.4.2.2] Olumlu Olumsuz Yaplar: Olumsuz yanlar hz problemleri var belli bir hzn stnde adm karma ve gerileme hatta tepki verme durumuna giriyor. Kararll ssal olarak ok abuk deiiyor. Full stepte genel olarak baarl fakat half step veya mikro stepte etkisini yitiriyor. Hata annda eski pozisyonuna dnmede problem yaanyor. Dc motorlardan avantajl fakat servolara gre biraz HACI MURAT kalyor.... [5.4.2.3] Piyasa Durumu: Yine uzak douda retim potansiyeli baya yksek. Dili kutusu eklenmi adm motorlar baya makul ama karma alar neredeyse 3 dereceyi buluyor. Ulaabileceiniz internet adresleri ve yuvarlak fiyatlarna gelince: www.asiansources.com yaklak 10 kadar firma var motorlar kalite ve yaplarna gre 2580$ arasna fiyatlara sahipler. www.crouzet.com veya www.yorum-automation.com ok kaliteli motorlar fakat fiyatlar ok yksek. www.allcorp.com Fiyatlar ve mallar baya iyi fakat kalite dk. www.pulsemotor.com sradan ama komplex aletler var.

www.alltronics.com Gzel ve kalite mallar var ama yeterli deil?

[5.4.3] Servo Motorlar:


Adm motorunun yapsal frenleme ve cznrlk salamasndan dolay amaa uygun olarak gzksede sorun olarak karmza yetersiz znrlk vede hz problemleriyle kan adm karma sorunlar knca cazibesini yitirmektedir. Servo motor kavram burada ortaya kmaktadr. Yap Step motorla DC motorun birletirilmesiyle olumutur. ana d bobin yapsyla step motorun paralama teporisine dndrme prensipiylede DC motoru artrmaktadr. Extra olarak konum alglama sensrleri ve gelimi sarg teknikleri yer almaktadr. Aada gelimi bir SERVO-GEAR(DL)-ENCODER(SAYICI) lemesinin yer ald bir rnek grlmektedir.

Bu Motor Nasa'nn Pathfinder adl marsa inen ilk aracnda kullanlmtr.

[5.4.3.1] Src Devresi: Yapsal olarak dc benzemesi ve kullanm asandan steb'i artrmasna ramen step gibi kullanm kolayl olan bir motor tr deildir servo motorlar. Motor zamansal olarak verilen palselere yeniden atelenerek dndrlmesi devam ettirilmektedir palseler ne kadar sk olursa o kadar hzl, palseler ne kadar gl olursada o kadar gl hareketler salamaktadr. DC motorlardaki kalk problemi yaanmamakla birlikte yksek gerilimde kullanlmak zorundadrlar.....

Devrede NE555 entegresi tipik osilatr kaynan oluturarak temel ulu bir servodc motoru tetikleyerek dndrmektedir. Bu rnekte ise motorola ciplerinin kullanld bir dc servo lojik srcs grlmektedir.

[5.4.3.2] Olumlu Olumsuz Yaplar: Olumsuz yan pek yok gibi teknolojini en iyisi durumunda yksek hzlarda hibir sorunu yok neredeyse ayrca kaliteli bir kontrolcyle ok daha iyi sonu veriyor gearboxl yaplar nemle tavsiye edilir. Kontrolcsn yapmak biraz zorlar ama hazr satlanlar baya ucuz. Yksek devirli kullanacaksanz mutlak olarak ball bearingli aln. Ben kol hareket motivasyonu iin SERVO-GEAR(DL)-ENCODER(SAYICI) birleimini ieren minimotor firmasndan bir rn grubunu setim. [5.4.3.3] Piyasa Durumu: Tek problem motor src devresini ok komplex olmas bu yzden devreyi mmknse hazr aln daha ucuza gelmesi yannda hatada yapmyor. Motorlar byklk ve hitap ettikleri alan gre fiyatlandrlyor amaca uygun motor seilirse kazanl klm olunur. www.minimotor.ch ok harika motorlar var ama fiyat problem. www.alltronics.com Gzel ve kalite mallar var ama yeterli deil?

[5.4.4] Yapay Kas Sistemleri:

Yapay kas sisteminde kevedilen bir silikon birelimli bir maddeye elektrik verince kaslamaktadr fakat madde karasz olmakla beraber uzun mrl bir kaslma hareketinide gerekletirememektedir. Sonu olarak henz test aamasndadr.

Aadaki rnekte ise hava basnc ile elik tellerin dairesel hareketini kullanarak kaslan ve brakan bir yapay kas sistemi grlmektedir. Bu sistem insan kasn taklit eden en baarl almalardan biridir, piyasa satda balamtr. Tam isim olarak Air Muscle olarak adlandrlmaktadr. Ayrntl bilgi iin:
http://www.shadow.org.uk/products/airmuscles.shtml

[5.5] Geri Besleme(Feed Back):

Bilgisayar kavram ite asl bu kavramlarn hesaplanmas ve analizinde nemli bir yer almaktadr. bouytlu olarak bir noktay ilerletmek iin yaplan ilem mikro saniyeler aldndan robotun hareketinde bir gecikme faktr olmaktan kp geri besleme vede hata aramada yer almaya balamaktadr. Motorlarn dnme hareketini asal olarak yani admsal olarak belirli bir znrlkte aktarlabilmesi iin gerekli sistem sonucunda encoder yaps ortaya atlmtr. Temel olarak iki ana yapda yer almaktadrlar; 1. Manetik 2. Optik [5.5.1] Manetik Ortamlar: Manetik kavramndanda anlalabilecei gibi manetik ortamlar olan endvisel bobin ve mklats yaplarndan oluan bir geribesleme trdr. Hareket bir mklat embere aktarlr ve embere en az iki kutup ba olmak zere birden fazla kutup yerletirilerek imal edilir emberin bir noktasnda yeralan magnetik alan alglayc olan transistr yapl entegre ile kutup deiimleri alglanabilir. Ne kadar fazla kutup ba olursa sistem o kadar ok adm gsterir, veya emberin evresel uzunluuda kutup saysyla birlikte encode sistemine etki eder. Sistemde kutup balar arasndaki geilerdeki boluk ve hassasiyet yksek znrlkl sistemler iin kabul edilebilecek snrlarn dndadr. ki farkl kullanm tr vardr; [5.5.1.1] Potansiyometre: Her ne kadar manetik alan iermesede yapsal olarak manetik encoderleri artrmaktadr. Bilinen Pot direnler bu ilem iin kulanlr, potun sonsuz turlu olmas gerekmektedir. Bu sistemin encode ilemlerindeki en byk avantaj anlk konum bilgisini verebilmesidir yani admlar sayarak deilde sfrnc direnten itibaren olan diren deiim farkndan asal dn maximum direne gre karlabilir. Dez ajantaj ise sonsuz turlusunun fiyatnn yksek olmas ve 0(sfr) noktasndaki bir miktar olan fakat sistem genelini etkileyen boluktur. [5.5.1.2] Manetik Encoder: Manetik ortamlarda anlatld gibi embersel bir mklatsn kutup deiimini alglayan bir manetik alan deiim entegresi ile sistem encode yapmaktadr. Bu sistem anlk pozisyon yerine adm bilgisi vermektedir. Aada rnek resimleri grlmektedir;

5.Manetik ember 6-7.Kutup Alglayc [5.5.2] Optik Encoder: Yukarda ilenen manetik encoderlardan farkl olarak optik yap nplana kmaktadr. Manetik ortamdaki mklats ember yerine belirli adetlerde var olan delikler devreye girmektedir bunlar kutup balar gibi adm atmalar belirtmek iin kullanlr. Manetik kutup deiimi entegresi yerine optic bir led ile tam karsna optic alglayc konarak nnde yer alan delikli emberin dnn alglamaktadr. leri ve geri hareket ayrmn yapabilmesi iinde optic ember delikleri ikili olarak dizilmilerdir vede cift optic led ve alglaycyla tek-

ift mant sayesinde hareket zlmektedir. Aada buna ilikin tablo ve rnek yaplar yer almaktadr. 1.Motor 2.Koruyucu Kesit 3.Optic Verici yansyan alc 4. Ana balant kablosu 5. Ters klarn girmesini nleyen koruyucu kap. ve

[5.6] Lojiksel Elektronik:


Elektronik kavramnda 1970 yllarda oluan aamalardan sonra ortaya saysal elektronik yani birimsel sistemler ortaya kmtr ve bu sistemler elektroniin temeli olan voltaj kaynana 1 yada 0 atayarak sonuca ulap veri tamak istenmitir bu yzten TTL olarak alandrlan temel lojik sistem oluturulmutur. Cmos ve Hcmos bu standardn alternatifi ve kapsam farkllklar gsteren alt rnleridir ama yinede en fazla ve esnek ortamlarda kullanlan TTL'ler piyasay ele geirmitir. u anda en ufak bir lojik ilem ieren bir aleti incelesin mutlak olarak temel lojik elemanlar yani TTL entegreler ile karlaacaksnzdr.

[5.6.1] TTL standard:


Genel olarak TTL standad denince akla 74xxx serisi entegreler akla gelmektedir fakat asl kapsam oluturan entegre ierisindeki lojik voltaj alc ve yollayc devre karakteristikleri 74 serisi entegreleri TTL kapsamna almaktadr. Aada lojiksel olarak voltaj deerleri yer almaktadr;

Lojik elektronikte voltaj aral 5v ile GND yani 0 volt arasnda alnmaktadr. 5V ile 2.4V arasndaki blge lojiksel olarak 1 yani High(Yksek) u olarak benimsenmitir, 2V ile 0.4V aras ise lojik olarak 0 yani Low(Dk) u olarak alnmtr. 2.4V ile 2V aras kara blge olarak bilinir ve devreularnn lojik ilemlerde bu aralkta deer vermesi veya almas sonucu hataya uratmaktadr. Lojik olarak tanmlanan voltaj deerleri ile ilem yapmak iim temel mantk ilemleri devreler haline getirilip bunlara isimleri ve nitelikleri verilmitir. Aada lojiksel simgeleri ve ular grlmektedir;

Lojik kap olarak tanmlanan bu mantksal ilem birimlerini ksaca inceleyelim; INV: Tersleyicidir giriinden ald lojik ifadenin tersini alp kndan verir. AND: Ve mantk ilemini gerekletirir. Girilerinden ald deerlerden herikisi birden lojik olarak 1 ise k lojik olarak 1 olur. NAND: Ters Ve ilemidir, bir AND kapsnn kna INV taklm gibi k Ve kapsnn tersidir yani girilerinin her ikiside 1 ise sonu sfr aksi durumda 1 dir. OR: Veya mantk ilemi gerekletirir. Girilerden herhangibiri lojik olarak 1 ise k 1 olur aksi halde logik 0 dr. NOR: Veya aileminin terslenmi halidir. Girilerden herikisi birden lojik 0 ise sonu lojik 1 dir aksi halde k lojik 0 dr. XOR: Veya ileminin apraz kullanmdr yani giri ularndan sadece bir lojik 1 ise k lojik 1 dir aksi durumlarda lojik 0 olacaktr. Aada bu kaplarn alma ekli grlmektedir, ledin krmz olduu yerlerde lojik 1 sonucu elde edilmitir;

74 serisi entegrelerde kendi aralarnda hz ve kapasite asndan ayrmlar gstermektedir aadaki tabloada bu ayrmlarn sonular grlmektedir:

74 serisi entegrelerde HC ve HCT tercih edilen tiptir nk gerek hz gerekse parazitsel etkiler asndan yararldrlar fakat F serisi vede zellikle 75F serisi entegreler neredeyse hatasz bir ortam oluturmaktadr. Eer hza ihtiya yoksa ynai Khz'de ilem yaplacaksa 74LS seriside i grecektir.

[5.4.1.1] Src Devresi: Lojiksel yaplan ilemler sonucunda oluan sonuca gre bir veya birden ok elektronik anahtar veya g eleman altrlmas sayesinde sonuca varlmak istenir fakat lojiksel birimler iin bu elemanlar altrmak, srmek imkanszdr nk gerekli akm veya gerilim yani g yeterlilik derecesi lojiksel birimler iin yetersizdir. Lojiksel elemanlardan g elemanlarna geii salayan elemanlara Power Drivers (g srcleri) denir. rnek olarak aadaki ULN2003 entegresi verilebilir;

ekilde grld gibi 16 ulu 2003 entegresinin GND ve Vcc karlnca geriye kalan ularla 7 adet g k elde edilmektedir. 7 nolu utan verilen lojik 1 ile 10 ucuna bal olan lamba snecek ve lojik 0 verilincede lamba yanacaktr, lamba 30V'luk olmasna karn devremizin g kat ile terslenerek ve diyot korumasyla sonu darya yaltlarak karlmaktadr. Aadaki rnektede bir motor bobinin 2003 ile lojik olarak srlmesi grlmektedir;

Bir dier kullanmda olan yntem ise transistrlerle ykseltmek daha dorusu akm korumaktr ama bu yntem hem yava hemde standard, montaj zor olan bir yntemdir

[6.1] Mikrokontolclerin Tarihesi:

Ilk olarak temel olarak bir mikroislemci nedir bunun tanimini yapacak olursak temel manada mikroislemci mantiksal ve aritmetik islemleri gereklestirebilen komplex devre topluguna verilen addir dersek sanirim dogru olur.Belirli bir aygita mikroislemci olarak tanimlamak alanin ana hedefi olan askeri alismalardan dolayi kesinlik kazanamamaktadir. Fakat ticari piyasa aisindan ilk mikroislemci INTEL firmasina ait olan 8008 mikro islemcisidir. Intel 8008'den nce San Antonio/Texsas/USA kurulu bulunan Datapoint firmasi akilli bilgisayar evre elemanlari retiyordu.1968-69 yillarinda ok basit bir bilgisayar tasarlayan Datapoint mhendisleri, kendi tasarimlarinin tek bir yonga zerinde imali iin Intel ve Texas Instruments firmalariyla ile antlasma yaptilar. Datapoint mhendislerinin amaci, degisik evre elemanlarinin ihtiyalarinin degisik kontrol komutlariyla kontrol edecek olan genel amali bir kontrol devresi retmekti. Bu yaklasim her yeni evre elemani iin yeni bir kontrol devresi yapmaktansa tek bir yonga ile islevsellik kazandirmakti. Sonuta retilen entegre ok iyi alisti. Fakat Datapoint devreden istenilen hizda islem yaptiramadigi iin projeyi iptal etti ve eski sistemine dnd, Intel firmasi ise bu yonga dzenine 8008 adini vererek piyasaya programlanabilir mantiksal kontrolr olarak srd. Yavas alisan bu entegre piyasada byk ilgi grd ve birok alanda bu mikrokontroler zerinde projeler gelistirildi. Bu yogun ilgiden dolayi intel rnn gelistirmek iin alismalara basladi. Asil gerilerden gelen bu temel Intel Firmasiyla uygulama alani buldu. 1947'de bulunan transistr kavrami ve 1950 baslarinda ayni yonga zerinde "transistr ,diyot, diren, kapasitans" birlestirilmesi bile hedefi bu kadar belirginlestirmemisti. Intelin chipini alanlar artik hazir bir alt yapinin stnde dans ediyorlardi. Bu tarihten sonra piyasa isteklerine ve teknolojinin ilerliyisine gre mikroislemciler esitlilik ve hiz kazandilar. Kisaca Ana hatlariyla mikroislemci ailesi:
i4004 4 bitlik programlanabilen ilk chipti. 1946 retildi ve o sene 30 tonluk ENIAc adli bilgisayar retildi. Saniyede 100,000 islem yapabiliyordu. i4040 i8008 i8080 Yine 4 bitlik bir islemciydi fakat hizi artirilmisti. 1971 yilinda retilen 8 bitlik bir 4004 islemciydi. Yine 4040 gibi 8008'in hizi artirilarak 1973 yilinda retildi.

MC6800 Motorola Firmasi tarafindan retilen 8 bitlik bir islemcidir. i8085 Z80 i8086 1977 yilinda 8080 gncellenmis bir versiyonu retildi.Hizi dahada artirildi. AMD (Advandel Micro Devices) firmasi tarafindan retildi 8085 ayni komutsetine sahipti. 1978 yilinda modern tabirini kullandigimiz ilk microkontroler retildi. 16 bitlik ilk microchipdir.

i8088 1979 yilinda retilen 8088 yine 8086'in hizlandirilmis versiyonudur. IBM firmasi 1981'de Intelin 8088'den ilk PC lerini retti. i80286 1983 yilinda retildi. 8086'in gncellenmis versiyonudur.

i80386

1986 yili yapimi olan 386 yine bir ilke imza atti, 32 bitlik bir mikro islemci.

i80486 1989 yili yapimi olan 486 islemcisi 387 adli matematik islemciyle btnlestirildi ve hizi 50 MHZ ikarilidi. Pentium 1993 yilinda ilk olarak retilen Pentium isim hakkindan dolayi isim degisikligine ugradi. 486 farkli olarak veriyolu hizi vede cache miktarlari artirildi. PentiumPRO 1995 yilinda retildi ve iki level cache ile birlikte tamamiyle 64 bitlik bir islemci oldu.

Asagida zet olarak bir tablo grmektesiniz;

Daha Ayrntl bilgi iin: http://bwrc.eecs.berkeley.edu/CIC/archive/cpu_history.html . Aada Intel firmasna ait Pentium tipi bir mikrilemcinin devre ema PCB si grlmektedir.

[6.2] Mikrokontroln Yapisal Analizi: Ana hatlariyla bir mikroislemci kendini var eden temel etmenlerden olusur. Bunlar kisaca MPU, RAM, ROM, IO dur. Simdi kisaca bu yapilara deginelim; MPU: Merkezi Islem Birimi olarakda anilan birim mikroislemcimizin ana yapisal islemleri olan mantiksal islemler, aritmetik islemler ve yrtme islemlerini gereklestirir yani kisaca diger birimlerden aldigi verileri isleyerek yeniden baska bir birime aktaran kisimdir. Belirli bir saat frekansinda alisir yani saniyede belli sayida islem gereklestirir. Kendi ierisinde ROM,RAM ve IO'suda vardir.

ROM: Yanlizca okunabilen bellek olarak adlandirilan ROM retim esnasinda bir kerelik olarak doldurulan hafiza parasidir. RAM: Asil bellek olarak bilinen kisimdir aktif olarak merkezi islem birimi tarafindan kullanilir azligi veya oklugu sistem kapasitesini etkiler. Elektrik kesilince silinir. IO: Mikrokontrolcnn dissal bagidir. Disaridan alinan bilgiyi MPU ve yine MPU 'dan aldigi veriyi dissal bir porta aktaran korunmu kisimdir. Sistemdeki en yavas aygitlardr.

[6.3] Programlanabilir Kontrol Arayz(PIC):

Pic retilmis bulunan mikroislemcilerden farkli olarak basite indirgenmis fakat hizi ve etkisi dsrlmemis olan bir mikrochiptir. MICROCHIP firmasi tarafindan uygulama formlari iin retilmistir. Basit yonga seti, uygun portlari vede opsiyonel islevleri bakimindan hedef kontrol iin bulunmaz bir mikroislemcidir PIC. Yapisal olarak risc islemcileri agristirmakla beraber gelistirilmis komut yapisi sayesinde emsallerinden ok daha abuk ve hizli programlanabilir. 8-16 bitlik islemcilerdir. 20 MHZ kadar ikabilirler. Bazi tiplerinde zerindeki portlar ADC ve DAC grevini tek word zerinden grebilmektedirler. Rakiplerine gre hizlari ve alisma ortamlari dah esnek ve kararlidir. 2.5V-6V arasinda alisabilirler ve son olarak cazip fiyatlari bu tip ihtiyaclari tam olarak karsilamaktadir. (Ayrica enson teknoloji her zaman iin bir ncekinden dahada avantaj ve yenilik ierir.)

Benim setigim model PIC 16C serisidir. Bu serideki islemcilerde EEprom chip ierisinde mevcut oldugundan ekstradan eprom baglamak ve isletmek iin port ayirmak gerekmemektedir. Asagida temel olarak bir pic 16c serisi mikrochip'in blok semasini grmektesiniz;

Semada grldg gibi dissal ve isel interruptlari(kesmeleri) mevcuttur. Bende devremde motorun encoderi real time alismasinin saglanmasi iin A portunun 5 numarali bacagi ile uart sinyalizasyonuna uydurmaya alistim. [6.3.1] Temel Konut Seti: Toplam 37 komutu bulunan PIC mikroislemcisi temel bazli tm komut kmesine sahiptir. i8086 biraz farkli olmakla beraber 8086 temel komut setinden ok daha fazla kullanisli bir komut kmesine sahiptir. Dikkat edilmesi gereken nokta komutlarin sonundaki f ve w ibareleridir. Asagida temel komut setini grmektesiniz;

Aada ise komut setindeki komutlarn kullanm teori ve pratikleri yer almaktadr. Yazlan kaynak kod Matlab 6.xx ile derlenebilir;
ATAMA KOMUTLARI: MOVLW Belirtilen operant W yazmacina konulur. olmalidir rn: movlw H'22' movlw B'01010101' MOVWF MOVF Operant 0-7F arasinda

Belirtilen hedefe W yazmac ierisindeki bilgiyi aktarr. rn: Movwf Sayi1 Bir operantn ierisindeki bilgiyi W yazmacna aktarr. rn: Movf Sayi1,0

CLRF CLRW BSF

Temel olarak bir ifadeyi temizler. rn: Clrf Sayi1 W yazmacn temizler.

Operantn belirtilen bitini set yani 1 yapar. rn: BSF Sayi1,0 BSF Sayi1,7 BSF porta,0 BCF Operantn belirtilen bitini reset yani 0 yapar. rn: BCF Sayi1,0 BCF Sayi1,6 BCF Porta,0 ARITMETIK ISLEMLER: INCF Kaynak gsterilen ifadeyi 1 arttrarak sonucu seilen hedefe aktarr. rn: Incf Sayi1,0 Incf Sayi1,1 DECF Kaynak gsterilen ifadeyi 1 azaltarak sonucu seilen hedefe aktarr. rn: Decf Sayi1,0 Decf Sayi1,1 ADDWF W yazmacyla Kaynak Bilgiyi toplar sonucu belirtilen konuma gre aktarr. rn: movlw H'10' movwf sayi1 movlw H'10' Addwf sayi1,1 {20 hex sonucu sayi1'e aktarilir.} SUBWF Verilen Operantdan W registerini karp sonucu istenilen hedefe ykler. rn: Movlw H'10' Movwf Sayi1 Movlw H'08' Subwf Sayi1,1 {08 sonucu sayi1'e aktarilir.} XORWF W yazmacnn deeriyle verilen deiken ieriini zel Veya ilemini uygulayarak sonucu istenen hedefe aktarr. rn: Movlw H'01' Movwf Sayi1 Xorwf Sayi1,0 KARSILASTIRMA KOMUTLARI: BTFSC Pic serisinin temel karslastrma komutudur. Belirtilen ifadeinin bir bitini kalatrr, eer bit sfrsa kendinden iki sonrakini deilse sonrakini ileme koyar. rn: Btfsc Sayi1,0 Clrf Sayi1 Nop {Eger sayinin birinci biti bir ise sayiyi sifirlar} BTFSS Pic serisinin temel karslastrma komutudur. Belirtilen ifadeinin bir bitini kalatrr, eer bit sfrsa kendinden iki sonrakini deilse sonrakini ileme koyar. rn: Btfss Sayi1,0 Goto Atla Clrf Sayi1 {Eger sayinin birinci biti bir ise sayiyi sifirlar} Atla Nop Esitmi karsilastirmasi Temel olarak pic programlama dilinde esitmi ve farklimi diye tanimlanabilecek bir komut olmamasina ragmen temel bayraklar ayni PC makina dilindeki gibi kullanilabilir ozellikle carry(elde) ve zero(sifir) bayraklari bu is icin uygundur.

rn:

Movlw H'11' Xorwf Sayi1,0 Btfsc Status,Z Goto Esit Nop Esit

BITSEL ISLEMLER: RLF RRF Ifadeyi sol tarafa dogru bir bit cevirir. Ifadeyi sag tarafa dogru bir bit cevirir.

GENEL ISLEVLI KOMUTLAR: NOP Hicbirsey yapmaz bir cycle komut ifadesidir.

GOTO Kendinden sonra gelen satra kosulsuz atlama yapar. CALL Kendinden sonra arlan alt program paracn iletip RETURN grnce CALL satrnn bir alt satrn ileme koyar. rnek Bir program: Program ds1820 s entegresini kullanarak yaplm seri porttan ayarlanabilen 7 haneli seven segmentli temel bir saat rneidir. LIST P=16F84 ERRORLEVEL -302 __CONFIG 3FF9H

PCL EQU 2 STATUS EQU 3 PORTA EQU 5 PORTB EQU 6 INTCON EQU 0BH TRISA EQU 85H TRISB EQU 86H OPTREG EQU 81H

C EQU 0 Z EQU 2 RP0 EQU 5 T0IF EQU 2

; bits in STATUS

; bit in INTCON

CBLOCK 22H ZZ ;1 decremented every tick (9.15 ms or 8.19 ms) YY ;2 OXX ;4 IXX ;5 XX ;6 VALUE ;7 SING ;8 TICKS ;10 TICKS2 ;9 ISIX ;11

SNY DAK SAAT GUN AY YIL BEKTARIH BEKSAAT BEKSICAK BEKNEM SIRA SYC1 DECOD BOLUM KALAN SAATSIRA TARIHSIRA SICAKSIRA NEMSIRA BEKLEME SSAYI

;12 ;13 ;14 ;15 ;16 ;17 ;18 ;19 ;20 ;30 ;21 ;22 ;23 ;24 ;25 ;26 ;27 ;28 ;29 ;31 ;32

XXXXXXXX YYYYYYYY
ENDC ORG 0 GOTO

INIT

BDELAY MOVLW H'18' MOVWF TICKS BDELAY_ NOP DECFSZ TICKS,F GOTO BDELAY_ RETURN BDELAY2 MOVLW H'FF' MOVWF TICKS BDELAY2_ NOP DECFSZ TICKS,F GOTO BDELAY2_ RETURN _BDELAY MOVLW H'0C' MOVWF TICKS _BDELAY_ NOP DECFSZ TICKS,F GOTO _BDELAY_ RETURN DELAY MOVWF TICKS DEL1 BTFSS INTCON,T0IF GOTO DEL1 CLRF INTCON DECFSZ TICKS,F ; wait for TMR0 to roll over ;HALF WAIT!

GOTO DEL1 RETURN ;{COM PORTUNDAN VERI YOLLAMA} OUTCOM MOVLW 8 MOVWF XX BSF PORTA,0 ;START BIT CALL BDELAY CDONGU RRF OXX,F BTFSC STATUS,0 GOTO CLEAR BSF PORTA,0 GOTO DEVAM1 CLEAR BCF PORTA,0 DEVAM1 CALL BDELAY

DECFSZ XX,F GOTO CDONGU BCF CALL PORTA,0 BDELAY ;STOP BIT

RETURN
;{COM PORTUNDAN VERI ALMA} INCOM MOVLW 8 MOVWF XX CLRF IXX BEKLE1 BTFSS PORTA,1 GOTO BEKLE1 CALL _BDELAY BTFSS PORTA,1 GOTO BEKLE1 CDONGU2 CALL BDELAY BTFSC PORTA,1 GOTO DEVAM2 BSF STATUS,0 GOTO DEVAM3 DEVAM2 BCF STATUS,0 DEVAM3 RRF IXX,F

DECFSZ XX,F GOTO CDONGU2 CALL BDELAY

RETURN ; {DS1820 ISI BILGISINI ALMA!} DISABLEINT

STATUS,RP0 OPTREG,7 STATUS,RP0 RETURN ENABLEINT BSF STATUS,RP0 BSF OPTREG,7 BCF STATUS,RP0 RETURN
DSDELAY MOVWF TICKS2 DSDELAY_ NOP NOP NOP NOP NOP NOP NOP DECFSZ TICKS2,F GOTO DSDELAY_ RETURN M1HI

BSF BCF BCF

; select register bank 1 ; reselect bank 0 ; select register bank 1 ; reselect bank 0

BSF STATUS,RP0 ;goto to page 1 BSF TRISA,4 ;make RA2 an input BCF STATUS,RP0 ;back to page 0 RETURN ;master 1 wire line hi BCF PORTA,4 BSF STATUS,RP0 BCF TRISA,4 BCF STATUS,RP0 RETURN

M1LO

;goto to page 1 ;make RA2 an output ;back to page 0 ;master 1 wire line low ;eight bits of data ;a counter for bits ;roll rightmost bit into carry ;if carry 0 want low bit output ;else send a 1

TXBYTE1 MOVLW H'8' MOVWF XX TX1LOOP RRF ISIX,f BTFSS STATUS,0 GOTO TXHIBIT1 CALL M1LO CALL M1HI MOVLW H'8' CALL DSDELAY GOTO TXDONE1 TXHIBIT1 CALL M1LO MOVLW H'8' CALL DSDELAY CALL M1HI TXDONE1 DECFSZ XX,f GOTO TX1LOOP RETURN RXBYTE1 MOVLW H'8' MOVWF XX CLRF ISIX RX1LOOP CALL M1LO NOP

;are we finished?

;1 less data bit, skip when 0 ;more bits left

;eight bits of data ;a counter for bits

;a quick low pulse

CALL M1HI ;and back high NOP NOP NOP NOP NOP NOP BTFSC PORTA,4 GOTO RXHIBIT BCF STATUS,0 GOTO RXDONE RXHIBIT BSF STATUS,0 RXDONE RRF ISIX,f ;roll carry into RXREG MSB MOVLW H'8' ;delay 80 microseconds 0C CALL DSDELAY DECFSZ XX,f ;1 less data bit, skip when zero GOTO RX1LOOP ;more bits left RETURN

RESETDS CALL M1HI CALL M1LO MOVLW H'3C' CALL DSDELAY CALL M1HI MOVLW H'28' CALL DSDELAY RETURN ISIAL CALL DISABLEINT CALL RESETDS MOVLW H'CC' MOVWF ISIX CALL TXBYTE1 MOVLW H'44' MOVWF ISIX CALL TXBYTE1 MOVLW H'50' CALL DSDELAY CALL RESETDS MOVLW H'CC' MOVWF ISIX CALL TXBYTE1 MOVLW H'BE' MOVWF ISIX CALL TXBYTE1 CALL RXBYTE1 MOVF ISIX,0 MOVWF VALUE CALL RXBYTE1 MOVF ISIX,0 MOVWF SING

CALL RESETDS CALL ENABLEINT BTFSC SING,0 GOTO SETBT BTFSC SING,7 GOTO ERRORDS GOTO DONEDS SETBT BTFSS SING,7 GOTO ERRORDS GOTO DONEDS ERRORDS CLRF SING MOVLW 0 MOVWF VALUE DONEDS MOVLW H'FF' XORWF VALUE,W btfsS STATUS,Z GOTO BBISI CLRF VALUE CLRF SING RETURN BBISI MOVLW H'7F' XORWF VALUE,W btfsS STATUS,Z RETURN CLRF VALUE CLRF SING RETURN

;dotmatrix display AYLAR ADDWF PCL,F DT 0,20,1D,20,1F,20,1F,1F,20,1F,20,1F,20,0,0,0,0 RETURN SSEG ADDWF PCL,F ;DT 77,14,6E,3E,1D,3B,7B,16,7F,3F,63,0F,0A,8,5,1,0F,0,0 ;0 1 2 3 4 5 6 7 8 9 C o / - : . % ;DT 77,24,3B,3E,6C,5E,5F,34,7F,7E,53,78,2,8,5,1,7,0,0 ;normal 0 1 2 3 4 5 6 7 8 9 C o / - : . % DT 77,41,3B,6B,4D,6E,7E,43,7F,6F,36,0F,0A,8,5,1,0F,0,0 ;ESKIKALIN0 1 2 3 4 5 6 7 8 9 C o / - : . % RETURN BAKMA MOVLW H'77' MOVWF OXX CALL OUTCOM MOVLW 0 MOVWF DECOD MOVLW H'0A' CALL SEGMENT BAKMA_ CALL INCOM MOVLW H'76' XORWF IXX,W btfss STATUS,Z

GOTO NOP

BAKMA_

MOVLW 1 MOVWF DECOD MOVLW H'0A' CALL SEGMENT CALL INCOM MOVF IXX,W MOVWF SNY CALL INCOM MOVF IXX,W MOVWF DAK CALL INCOM MOVF IXX,W MOVWF SAAT CALL INCOM MOVF IXX,W MOVWF GUN CALL INCOM MOVF IXX,W MOVWF AY CALL INCOM MOVF IXX,W MOVWF YIL MOVLW 3 MOVWF DECOD MOVLW H'0A' CALL SEGMENT CALL INCOM MOVF IXX,W MOVWF BEKSAAT CALL INCOM MOVF IXX,W MOVWF BEKTARIH CALL INCOM MOVF IXX,W MOVWF BEKSICAK CALL INCOM MOVF IXX,W MOVWF BEKNEM MOVLW 4 MOVWF DECOD MOVLW H'0A' CALL SEGMENT CALL INCOM MOVF IXX,W MOVWF SAATSIRA CALL INCOM MOVF IXX,W MOVWF TARIHSIRA

CALL INCOM MOVF IXX,W MOVWF SICAKSIRA CALL INCOM MOVF IXX,W MOVWF NEMSIRA CALL INCOM MOVF IXX,W MOVWF SSAYI MOVLW 5 MOVWF DECOD MOVLW H'0A' CALL SEGMENT BAKMA2_ CALL INCOM MOVLW H'75' XORWF IXX,W btfss STATUS,Z GOTO BAKMA2_ RETURN

ARTTIR INCF SNY,F MOVLW H'3C' XORWF SNY,W btfss STATUS,Z RETURN CLRF SNY INCF DAK,F MOVLW H'3C' XORWF DAK,W btfss STATUS,Z RETURN MOVLW H'01' MOVWF DAK INCF SAAT,F MOVLW H'18' XORWF SAAT,W btfss STATUS,Z RETURN CLRF INCF SAAT GUN,F

MOVF AY,W CALL AYLAR MOVWF ZZ MOVLW H'02' XORWF AY,W btfsS STATUS,Z GOTO AYTAM BTFSC GOTO YIL,0 AYTAM

BTFSC YIL,1 GOTO AYTAM INCF ZZ,F AYTAM MOVF ZZ,W XORWF GUN,W btfss STATUS,Z RETURN MOVLW 1 MOVWF GUN INCF AY,F MOVLW H'0D' XORWF AY,W btfss STATUS,Z RETURN MOVLW 1 MOVWF AY INCF YIL,F RETURN

YAZSAAT MOVLW H'03' XORWF AY,W btfsS STATUS,Z GOTO IKINCI MOVLW H'01' XORWF GUN,W btfsS STATUS,Z GOTO IKINCI MOVLW H'01' XORWF SAAT,W btfsS STATUS,Z GOTO IKINCI MOVLW H'00' XORWF DAK,W btfsS STATUS,Z GOTO IKINCI INCF SAAT,F IKINCI MOVLW H'10' XORWF AY,W btfsS STATUS,Z RETURN MOVLW H'29' XORWF GUN,W btfsS STATUS,Z RETURN MOVLW H'02' XORWF SAAT,W btfsS STATUS,Z RETURN MOVLW H'00' XORWF DAK,W btfsS STATUS,Z

RETURN DECF SAAT,F RETURN


SEGMENT CALL SSEG MOVWF YY BSF BSF BSF PORTA,3 PORTA,2 PORTB,7

;BTFSC DECOD,2 ;BSF YY,7 BTFSS DECOD,2 BSF YY,7 ;MOVF YY,0 COMF YY,W MOVWF PORTB BTFSS DECOD,0 BCF PORTA,3 BTFSS DECOD,1 BCF PORTA,2

CALL CALL CALL

BDELAY2 BDELAY2 BDELAY2

RETURN DIVO MOVWF YY CLRF BOLUM CLRF KALAN DIVO_ INCF BOLUM,F MOVF YY,W MOVWF KALAN MOVLW H'0A' SUBWF YY,F BTFSC STATUS,C GOTO DIVO_ DECF BOLUM,F RETURN CARPMA CLRF YY CARPMA_ MOVF BOLUM,W ADDWF YY,F DECFSZ KALAN,F GOTO CARPMA_ MOVF YY,W MOVWF BOLUM RETURN CLOCK MOVF SAAT,W CALL DIVO MOVLW 0

MOVWF DECOD MOVF BOLUM,W CALL SEGMENT MOVLW 1 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 2 MOVWF DECOD BTFSC SNY,0 GOTO SILIK MOVLW H'0E' GOTO TOKMM SILIK MOVLW H'12' TOKMM CALL SEGMENT MOVF DAK,W CALL DIVO MOVLW 3 MOVWF DECOD MOVF BOLUM,W CALL SEGMENT MOVLW 4 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVF SNY,W CALL DIVO MOVLW 5 MOVWF DECOD MOVF KALAN,W CALL SEGMENT RETURN DATE MOVLW 5 MOVWF DECOD MOVLW H'12' CALL SEGMENT MOVF AY,W CALL DIVO MOVLW 4 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 3 MOVWF DECOD MOVF BOLUM,W CALL SEGMENT MOVF GUN,W CALL DIVO MOVLW 2 MOVWF DECOD MOVLW H'0C' CALL SEGMENT MOVLW 1 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 0 MOVWF DECOD

MOVF BOLUM,W CALL SEGMENT RETURN

TERMO MOVLW 0 XORWF SING,W btfsS STATUS,Z GOTO EKSI MOVLW 0 MOVWF DECOD MOVF VALUE,W MOVWF YY BCF STATUS,C RRF YY,W CALL DIVO MOVF BOLUM,W CALL SEGMENT MOVLW 1 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 2 MOVWF DECOD MOVLW H'12' CALL SEGMENT MOVLW 3 MOVWF DECOD MOVLW H'0B' CALL SEGMENT MOVLW 4 MOVWF DECOD MOVLW H'0A' CALL SEGMENT MOVLW 5 MOVWF DECOD MOVLW H'12' CALL SEGMENT RETURN EKSI MOVLW 5 MOVWF DECOD MOVLW H'0B' CALL SEGMENT MOVLW 4 MOVWF DECOD RRF VALUE,W CALL DIVO MOVF BOLUM,W CALL SEGMENT MOVLW 3 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 2 MOVWF DECOD MOVLW H'12'

CALL SEGMENT MOVLW 1 MOVWF DECOD MOVLW H'0D' CALL SEGMENT MOVLW 0 MOVWF DECOD MOVLW H'12' CALL SEGMENT RETURN

NEMDSP MOVF VALUE,W MOVWF ZZ BCF STATUS,C RRF ZZ,F

MOVLW 1 XORWF AY,W btfsC STATUS,Z GOTO NTAMAM MOVLW 2 XORWF AY,W btfsC STATUS,Z GOTO NTAMAM MOVLW H'0A' XORWF AY,W btfsC STATUS,Z GOTO NTAMAM MOVLW H'0B' XORWF AY,W btfsC STATUS,Z GOTO NTAMAM MOVLW H'0C' XORWF AY,W btfsC STATUS,Z GOTO NTAMAM MOVLW 2 GOTO NTAMAM2 NTAMAM MOVLW 1 NTAMAM2 MOVWF KALAN MOVF ZZ,W MOVWF BOLUM CALL CARPMA

MOVLW H'19' ADDWF BOLUM,W CALL DIVO

MOVLW H'0A' XORWF BOLUM,W btfsC STATUS,Z

GOTO NYUZ MOVLW H'0B' XORWF BOLUM,W btfsC STATUS,Z GOTO NYUZ MOVLW H'0C' XORWF BOLUM,W btfsC STATUS,Z GOTO NYUZ MOVLW H'0D' XORWF BOLUM,W btfsC STATUS,Z GOTO NYUZ MOVLW H'0E' XORWF BOLUM,W btfsC STATUS,Z GOTO NYUZ MOVLW H'0F' XORWF BOLUM,W btfsC STATUS,Z GOTO NYUZ MOVLW 5 MOVWF DECOD MOVLW H'12' CALL SEGMENT MOVLW 4 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 3 MOVWF DECOD MOVF BOLUM,W CALL SEGMENT MOVLW 2 MOVWF DECOD MOVLW H'10' CALL SEGMENT MOVLW 1 MOVWF DECOD MOVLW H'12' CALL SEGMENT MOVLW 0 MOVWF DECOD MOVLW H'12' CALL SEGMENT RETURN NYUZ MOVLW H'0A' SUBWF BOLUM,F MOVLW 5 MOVWF DECOD MOVF KALAN,W CALL SEGMENT MOVLW 4 MOVWF DECOD MOVF BOLUM,W CALL SEGMENT MOVLW 3 MOVWF DECOD

MOVLW H'01' CALL SEGMENT MOVLW 2 MOVWF DECOD MOVLW H'10' CALL SEGMENT MOVLW 1 MOVWF DECOD MOVLW H'12' CALL SEGMENT MOVLW 0 MOVWF DECOD MOVLW H'12' CALL SEGMENT RETURN

ATA_SAAT MOVF BEKSAAT,W MOVWF BEKLEME RETURN ATA_TARIH MOVF BEKTARIH,W MOVWF BEKLEME RETURN ATA_SICAK MOVF BEKSICAK,W MOVWF BEKLEME RETURN ATA_NEM MOVF BEKNEM,W MOVWF BEKLEME RETURN SART DECFSZ BEKLEME,F RETURN TEKAR_ BCF STATUS,C RLF SIRA,F BTFSS SIRA,4 GOTO DEVAM_ MOVLW H'01' MOVWF SIRA CALL ISIAL DEVAM_ MOVF TARIHSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL ATA_TARIH MOVF SAATSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL ATA_SAAT MOVF SICAKSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL ATA_SICAK MOVF NEMSIRA,W XORWF SIRA,W btfsC STATUS,Z

CALL NOP

ATA_NEM

MOVLW H'0' XORWF BEKLEME,W btfsC STATUS,Z GOTO TEKAR_ BTFSC PORTA,1 CALL BAKMA NOP RETURN

INIT

CLRF PORTA CLRF PORTB BSF STATUS,RP0 ; select register bank 1 MOVLW B'00010010' MOVWF TRISA CLRF TRISB MOVLW 4 MOVWF OPTREG BCF STATUS,RP0 ; reselect bank 0 CLRF CLRF IXX OXX

CLRF SNY CLRF DAK CLRF SAAT MOVLW H'08' MOVWF GUN MOVLW H'03' MOVWF AY CLRF YIL MOVLW H'50' MOVWF SYC1 CALL ISIAL ;SABIT ATAMALAR MOVLW 1 MOVWF SAATSIRA MOVLW 2 MOVWF TARIHSIRA MOVLW 4 MOVWF SICAKSIRA MOVLW 8 MOVWF NEMSIRA MOVLW 5 MOVWF BEKLEME MOVWF BEKSAAT ;MOVLW 0 MOVWF BEKTARIH MOVWF BEKSICAK MOVWF BEKNEM MOVLW H'1' MOVWF SIRA

ANA

MOVF TARIHSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL DATE MOVF SAATSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL CLOCK MOVF SICAKSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL TERMO MOVF NEMSIRA,W XORWF SIRA,W btfsC STATUS,Z CALL NEMDSP NOP

BTFSS INTCON,T0IF GOTO ANA CLRF INTCON DECFSZ SYC1,F GOTO ANA MOVLW H'50' MOVWF SYC1 CALL ARTTIR CALL YAZSAAT CALL SART GOTO ANA END

[6.3.2] Kullanim Teorileri Pic mikroislemcileri ilerinde bulundurduklari eepromlari doldurulup standart devre sartlari verildiginde sirasal olarak ykelen programi islerler. Bu ykleme islemi iin genel olarak yetenekli programlayicilar kullanilabilecegi gibi asagida yer alan temel bir programlayicida isimizi grecektir;

Daha Fazla Pic Programcs iin:

BENIM 16f84 programlaycm iin:


Grldg gibi programlayici com portundan Pc baglanarak alismaktadir. Pic seris mikrochipler MCLR ucundan islevsel yapilarina karar verirler. Eger MCLR ucundan 11-14V arasi bir voltaj verirseniz pic programlama moduna gececektir, geisten sonra RB7 data iin RB6'da clock iin kullanilarak sirasal olarak program pic ierisine atilabilmektedir. MCLR ucu 2-5V arasina getirildiginde ise pic standart alisma moduna geerek hafizasinda yer alan porgrami isletmektedir. Vdd +5 volt, Vss 0V ve OSC1,OSC2 arasina seramik bir 4Mhz'lik 30pf bir kristal-kondansatr bagi atilmasi mecburidir. Iki portu bulunan pic 16f84 mikroislemcisi temel olarak iki aygitin arasinda islev grecegi iin portlarinin birini kaynak aygita digerini ise hedef aygita verebiliriz. Asagida encoderli bir motor kontrol iin ayrilmis pic'i grmektesiniz;

Grldg gibi dar kapsamli olan 5 bitlik A portu Seri baglanti ve encoder zm iin daha genis olan B portu ise motor kontrlcsne komut vermek iin kullanililmaktadir. [6.3.3] esitleri Picler genel olarak yapilarina gre kodlamayla ayrilmislardir, 12-15-16-17-18 serileri olmak zere. kullandigimiz 16 serisi bize en uygun oldugunu yukarida aiklamistik fakat ilerki asamalarda ihtiya duyulacak ana bir kontrolc mikrochip iin pic serisinin 16F877 kodlu chipini kullanacagiz. Bu chip 16F84 farkli olarak yksek hiz ve 4 adet portla kendini gstermektedir. Komut yapilari ve hafiza dzeni 16F84 aynidir. Dikkat edilmesi gereken sadece portlarinindan birisinin ADC zeliginin olduudur. Daha Ayrntl bilgi iin: Microchip

[6.4] Piyasa Analizi

Piyasada genel olarak 80C51 veya 80C35 gibi hantal mikrokontrolerler kulanilmaktadir. Alternatifleri olan MC68 serisi ise hem pahali hemde ok esitli devre elemanlarina ihtiya duymaktadir. Dikkat edilirse piyasa uygulamalari yavas yavas pic serisine kaymaktadir. Aktif kullanilan devrelerde gze arpan en byk etki genis kartlar ve yksek g tketimidir. Ihtiyac duyulan islevler iin yeni ikan ogu chip iktigi firma disinda kabul grmemektedir nk kullanima ailan yanlari kisitli vede dkmantasyon saklanmaktadir. Seim iin fazla zorlanmadan pic seilebilir, bulmak ve alistirmak kolaydir. 7. Pc Mimarisi ve Robot Kontrol nceki konularda bahsedildii gibi robot kontrolnn olumas ve gelimesinde PC'lerin yeri ok byktr. Robot az ok yapabileceklerine karar verip bir esneklik kazdrabilir ama asl ilevleri salayan akll yazlmlar ancak bir Pc kaynaklar sayesinde robotu ilevsel ve tamamlayc bir etki verebilir. Bu konu ayn adres bilmeyen bir ahsn adres aramasna bnzetilebilinir, eer adama adres hakknda temel ipular verilip karar vermesi konusunda yardmc olunursa adresi kolayca ve hatasz bulabilir. Ve yine en nemli olan deikenlik, alglama eleri ancak yapsal bir PC ile salanabilir. Grld gibi Pc-Robotlar bir btndr eer bu iki paray birbirinden ayrsak olaymz amacmz dna kar. Amaa uygun ilevsel program yapsn bir sonraki konuda inceleyeceiz fakat bir nemli nokta olan Pc ile Robot kontrol kitinin haberlemesi iin Pc tabanl kullanlabilecek PORT(Dsal giri/k birimi) yaplarn genel olarak inceleyelim. 7.1 Mikroilemciyle ok ynl iletiim: Genel olarak micro ilemcilerde ana veri yolu bulunmaktadr, bunlar DATA BUS,CONTROL BUS vede ADRES BUS dr. Adres bus yani adres veri yolu ile mikroilemci istenilen aygt semede kullanr rneinin ram'n ilk blou gibi, Data veri yolu ise seilen blgeden alnan ve verilen (Read/Write) bilgileri mikroilemci ile dsal aygt arasnda tayan veri yoludur. Kontrol veri yolu'da verilerin ynn yani yazmam okumam olduuna yada hatalm sorularna yant arayan bir veriyoludur. Buradan karlacak en nemli sonu btn veri yollar aygtlara paralel olarak dalmaktadr seimsel veya yapsal bir arzada iki aygtn birbirine karmas ok kolay olacaktr. Btn bu ilemlerin srasna mikroilemci ierisindeki kristal yani mikrochipin hz karar vermekle birlikte yazlm ve donanmsal yazlmlarda bu hz etkileyebilirler, bu etileim dnda bire bir yani e zamanl alan aygtlarada real time(gerel zamanl) devices(aygtlar) denir. rnein temel bir PC de LPT1 portundan 1 bilgisini gndermek iin aadaki program kullanrsak; 1. 2. 3. 4. mov dx,378h mov al,1 out dx,al ret

Burada asl ilevi yapan OUT komutudur hedef DX register(yazmac) ierisindeki porttan AL yazmac ierisindeki bir bytelk bilgiyi gnderir. imdi bunu ilemci asndan ilersek birinci basamakta DX yazmac ierisine 378 hex bilgisi koy, AL yazmac ierisine 1 bilgisini koy, Porttan k yap hedef port DX yazmac bilgi AL yazmac yani adres veri yolunda DX

yazmacn data veri yolunda AL yazmacn ve kontrol veri yolunda ise k ilevini yerletirerek bir birim zaman bekle. Ana ilemler bu kadar basit olsada dikkat edilmesi gereken zamanlama ve doacak hata kontrolnn yaplmasdr. 7.2 Dsal Aygtlarla iletiim portlar: Genel kullanmda yeralan intel uyumlu chipsetler sahip bilgisayarlarda ana port yani dsal IO yer almaktadr bunlar:

Paralel Port Seri Port USB portu

imdi ksaca bu portlar inceleyerek kullanm seim yapmaya alalm;

[7.2.1] Paralel Port:


Pc'de yer alan en eski portlardan biridir paralel port. Adndanda anlalabilecei gibi bilgiler paralel olarak yani birden fazla kablo ile tanmaktadr. Sekiz bitlik bir veri yoluna sahiptir amacna uygun olarak sadece k iin tasarlanm olmasna ramen ierisinde yer alan dsal hata kodlar iin ayrlm giri ular kullanlarak sekizli olarak giri k birimi olrak kulanlabilmektedir. Populer olarak yazclar tarafndan kullanlan LPT portlar yazc dnda tarayc, ide k, zip drive ve kamera iinde kullanlabilmektedir. Portun yaps ve ileyii ok kolay anlalmas ve kolay uygulamalar sayesinde gnmze kadar poplaritesini korumaktadr. Aadaki resimde D25 yani 25 pinlik bir paralel portun pinlerinin grevleri grlmektedir. 1 ucu strobe yani darbesel frekanslama iin kullanlan bir utur.2-8 Arasndaki pinler sadece k iin kullanlan sekiz bitlik(1 byte) bir blmmdr. 14-16-17 nolu pinler ise yine k ilevi iin kullanlsada ama kontroldr, bu pinler ift ynl alabilir. 10-1112-13-15 ise sadece giri olarak kullanlan hata kontrol ulardr.18-25 ular kullanlmamakla birlikte GND(ground yani toprak) olarak kullanlabilir.

Burada ise genel olarak sekiz giriin LPT portuna emle edilmesi grlmektedir. 11-10-12-13 ular genel olarak giri iin kullanlabilinsede 17-16-14-1 ular ters evrilmi olarak karmza ktndan yani open kollektr (ykseltilmi u) olarak konumlandndan bir ttl tersleyici ile sonuca ulalabilmektedir. Pc'ningenel olarak portlar sekiz bitlik olduundan 24 bitlik bir bilgi ancak port ile zmlenebilmektedir. Bir Pc'de maximum drt adet paralel port bulunacak ekilde adresleme yaplmtr. Temel hedef port adresleri hafzada yer almaktadr, adres 0x40:0x8 adresinden balayarak 4 word uzunluundadr (ilk olarak dk seviyeli byte'n verildii unutulmamaldr). (Bu adresleri ekranda yazan program). Getiimiz yllarda eski teknolojiye yeni gelimeler eklenerek iki tip paralel iletiim standard ortaya kmtr bunlar ECP ve EPP dir. Farkl olarak uygulanan yksek hz ve kontrol iin donanmsal bir programlamadr ama eski standartlar tamamiyle korunmutur bu yzdende belirgin bir ilerleme grlmemektedir. Sonuc olarak paralel port her ne kadar kullanl ve kolay grnsede bu erevede yaplm olan tm dsal aygtlarn sorunlar yaad aktr zellikle hz ve kayp veri konusunda ayrca 8 k+8 giti =16 kablo+2 besleme=toplam 18 adet kablonun bilgisayarla yaplan alet arasnda tanmasda olduka zor olmaktadr.

[7.2.2] Seri Port:


Yine ismindende anlalabilecei gibi seri olarak bilgilerin aktarld bir portur. Veriler bir hat zerinden zamansal olarak sra ile yollanarak istenilen veriler sra ile karya bit bit ulatrlr. Burada zamanlama yani frekans uyumu ok nemli bir yer almaktadr bunun iin protokol kavram olumutur. Ayn zamanda ift ynl iletiim ile seri iletiim paralel iletiimin nne geerek daha az kablo ile maximum mesafeye veri ulatrr hale gelmitir. Veriler TTL boyutundan karak lojik seviyelerini +10V ile -10V arasnda dzenlenmitir. Aada bir byte'lk bir verinin seri olarak aktarlmas grlmektedir;

Grld gibi bir bytelk verinin sekiz ayr biti lojik 0 -10V ve lojik 1'ide +10V olarak belirli periodlarla karya aktarlrken aktif low olarak balang manasna gelen START biti ve sonunda da aktif high olarak STOP biti bulunmaktadr buda protokoln bittiini belirtir. Seri port paremetrelerine dikkat edilecek olunursa gnderilen verinin bit uzunluu 5 ile 8 bit arasnda deiebildii gibi verinin hz vede veri kontrol iin ift yada tek party biti kullanlabilmektedir. Fakat kullanm kolayl ve gereksinimler sonucunda partysiz, 9600 baud (baud= sn gnderilen bit says 9600/8=1200 byte sn yollanabiliyor.) hznda ve 8 bitlik veri protokol kabul grmtr.

1.Kontrol Biti(CD) 2.Gelen Bilgi(RD) 3.Gnderilen Bilgi(TX) 4.Hazr Sinyali (DTR)

5. ase (GND)
6. Bilgi Kayd(DSR) 7. Gnderim stei(RTS) 8.Gnderim Hazr (CTS) 9. D Seslenme (RI) Yukardaki sekilde grlen ulardan bizler sadece aktif olarak tx,rx ve gnd ularn kullanmaktayz. Dier ular zel ve gelitirme amalar iin tasarlanmtr. Seri olarak giden ve gelen verilerin zamanlamas protokol nezlinde olduundan kstlama sadece bilgisayarn maximum desteine ve kablonun kapasitesi ile snrldr. Genel olarak kullanlan hzlar aadaki tabloda yer almaktadr;

Port k olarak D25 veya D9 luk k eklinde kullanlmaktadrlar. Temel pin klar aadaki gibidir;
1 13 _______________________________ \ . . . . . . . . . . . . . / \ . . . . . . . . . . . . / --------------------------14 25 1 5 _______________ \ . . . . . / \ . . . . / ----------6 9

Name (V24) 25pin 9pin Dir Genel Tanm Aklama -------------------------------------------------------------------------TxD 2 3 o Transmit Data Data RxD 3 2 i Receive Data Data RTS 4 7 o Request To Send Elskma CTS 5 8 i Clear To Send Elskma DTR 20 4 o Data Terminal Ready Durum DSR 6 6 i Data Set Ready Durum RI 22 9 i Ring Indicator Durum DCD 8 1 i Data Carrier Detect Durum GND 7 5 Signal ground Katlm seviyesi 1 Protective ground GND

Pc de maximum drt adet seri port bulunabilmektedir. Yine LPT olduu gibi bu portlarn adresleri hafzada yer almaktadr yeri 0x40:0x0 dan balayarak drt word dur. (Bu adresleri ekranda yazan program).

[7.2.3] USB Portu:

Universal Serial Bus yni Genel Seri Veriyolu olarak tanmlanan yeni bir standart olan usb aslnda seri porta ok benzemekle beraber ondan farkl olarak genel bir protokol yaps ierisinde paket teoreminin kullanlmasdr. Ilk olarak 1995 ylnda ierisinde baz temel geleri barndrarak ortaya km ve zamanla gnmze kadar gelime gstermitir. alma sistemindeki paketler aslnda bellirli bir uzunlukta olan veri bloklardr. Bu Portta farkl olan asl etmen ise direkt olarak ilemci ile muhatap olunduundan veri yolu ilemci ile ayn hzda yani veri yolu hzndan bamsz olarak alabildiinden dolay bilgisayara yani ilemciye gre deimesidir. Pentium 3 ilemciye sahip bir makinaya taklan bir usb kamera ile Pentium 2 ilemciye taklan ayn kamerann ektii grntnn karesel hz bize bu olay aka gstermektedir. Fakat gelitirilen bu yeni standart ta asl yaplam istenen tak kullan mantyla alakaldr, yeni alnan veya var olan bir device(ara) makina akken dahi kolayca taklp sklebilmektedir usb portlar zerinden ayrca veri yolunun ulat bu korkun hz bilgisayar ortaml a yapsnda bu ereveye tanmasn salamtr. Ksmen veri bloklarn incelediimizde veri bloklarnn banda kimden geldii ve kime gittii gibi birtakm bilgiler yer almaktadr bu bilgilerden gelen, giden device bir byte ile tanmlandndan bir usb portu zerinden ayn anda 255 yani maximum bir byte'lk aygt iletilebilir.

Var olan bu yeni teknolojiyi semememin nedeni ise asl olan gvenlik ve uyumluluk problemleridir. 7.3 Veriyollar ve kart uygulamalar: Genel kullanmda yeralan intel uyumlu chipsetler sahip bilgisayarlarda ana port yani dsal IO yer almaktadr bunlar:

ISA PCI AGP

imdi ksaca bu portlar inceleyerek kullanm seim yapmaya alalm;

[7.3.1] ISA veriyolu:

Isa veriyolu ilk temel pc olan i8086 bu yana kullanlan en yaygn ve baarl tabir edilebilecek kolay kullanml geni amal bir porttur. Kelime allm ISA industry standard (Endstri standard) dr, 8 mhz'lik bir clock hzna sahiptir fakat dk hzna ve yapsndaki yavala ramen asl nemini anakart zerinde olmasndan ve direkt olarak PC'nin kalbi olan CPU'ya bal olmasyla kazand hz ve esnekliktir. Port temelde 64 bitlik bir pin balant emas yer almasna karn sadece 8 adet data ve 16 bitlik bir adres bus'a sahiptir, isa portunun bir sonraki versiyonunda ise Eisa(Extended ISA) adyla bilinen 16 bit data ve 24 bit adres tayabilen portdur. u anki P3 ve P2 bilgisayarlarnn anakartlar temelde isa portu kullanabilmesine karn artk gelien dier portlar yznden ISA portu devreden karlm ve tarihin kaln yaparaklarna gmlmtr. Yinede bilgisayarn merkezi ilembirimine en ok yaklaabildiimiz, kolay ve esnek kullanml bu portu incelemek hem PCI portunu hemde temel adres, data bus mantklarn kavramamazda etkili olmaktadr. Aada temel olarak bir ISA veri yolunun pinout(bacak balant) emasn grmekteyiz:

Balantda grlen A,B,C ve D blgeleri zamanla gelitirilen ek hizmetleri ve ayrntlar temsil etmektedir. A blgesi genel 8 bitlik datay ve 16 bit adresi barndran kaynak blgedir. B blgesi ise ilk isa versiyonunda kullanlan temel iaretilerini tar. D ve C blgeleri ise BA blgelrinin gelitirilmek istenince eklenen ek balant bacaklardr. Aada bu balant yapsna uyan bir ISA kart grlmektedir:

Aada Isa grmektesiniz; BCLK AEN [2] LA17-LA23 ___|

portunun __ |___| __

16

bitlik __ |__|

zamansal __ |___| __

aktarm __ |_

lojik

diyagramn

|___|

|___|

__________________________________________ _____________ -------<_____________>-[1]----------------__

BALE SBHE SA0-SA19 M16

______________| ________________

|________________________ _______ |__________________|

__________________ ---------------<__________________>------_________________ ____________________ |____| * * [4] ___________ |_____________| *

_________________ IO16 [3]

_________________ ___________ Komut Satr |____________| (IORC,IOWC, MRDC, veya MWTC) ____ SD0-SD15 ---------------------------<____>--------(Okuma) * SD0-SD15 (Yazma) ______________ -----------------<______________>---------

24 bitlik bir paralel giri k kart tasarlamak istersek bu uygulamay Isa veriyolu nasl yapabiliriz sorusuna yant ararken sanrm veri yolunu daha iyi tanyabiliriz. lk olarak 8 bitlik bir data kaynamz olduunun farkndayz bu yzden adet sekiz bitlik veriyi porta yazmal veya almalyz, bu ilemler iin en uygun olan Intel firmasna ait 82c55 entegresini kullanabiliriz. Bu entegre yapsnda adet sekiz bitlik veri yolu ve bir adet control byte ile bu portlarn in-out yordamn kontrol edebilmekteyiz. O zaman sekiz bitlik data yolunu direkt olarak 82c55 entegresinin Data ucuna balayabiliriz ve Adres Enable(Adres seici) ularnada bizim son iki bitlik adres veriyolunu balayabilir ve drt farkl adresi 82c55 ierisinden seerek istenilen porta istenilen bilgiyi yazabiliriz. IoWR(yazma) ve IoRD(okuma) ularnda Isa veriyolundan alarak 82c55 iord ve iowr ularna balayarak yazma ve silme ilemlerinide gerekletirmi oluruz, geriye sadece Isa veriyolu zerinde tanmlanacak adres numarasn belirlemek kalmtr bunun iin aadaki tablodan kullanlmayan bir alan seerek AEN(adres seildi) ucunu ve Adres ularn lojik ilemlere tabi tutarak 82c55'in Aen ucuna veririz. te bu sayede temel olarak bir 82c55 ile 24 bitlik 3 ayr port ve yapdan oluan bir giri k kart tasarlam olduk. Dikkat edilmesi gereken nokta adres ve data veriyollarnn doru ekillendirilmesi ve IO ularnn kullanm mantdr.
Port Adreleri iin karlk gelen aygtlar: Port (hex) 000-00F DMA Controller 010-01F DMA Controller (PS/2) 020-02F Master Programmable Interrupt Controller (PIC) 030-03F Slave PIC 040-05F Programmable Interval Timer (PIT) 060-06F Keyboard Controller 070-071 Real Time Clock 080-083 DMA Page Registers

090-097 0A0-0AF 0C0-0CF 0E0-0EF 0F0-0FF 100-10F 110-16F 170-17F 180-1EF 1F0-1FF 200-20F 210-217 220-26F 270-27F 280-2A1 2A2-2A3 2B0-2DF 2E2-2E3 2E8-2EF 2F0-2F7 2F8-2FF 300-31F 320-32F 330-33F 340-35F 360-36F 370-377 378-37F 380-38F 390-39F 3A0-3AF 3B0-3BB 3BC-3BF 3C0-3CF 3D0-3DF 3E0-3EF 3F0-3F7 3F8-3FF

Programmable Option Select (PS/2) PIC #2 DMAC #2 reserved Math coprocessor, PCJr Disk Controller Programmable Option Select (PS/2) Msait Hard Drive 1 (AT) Msait Hard Drive 0 (AT) Game Adapter Msait Msait Parallel Port 3 Msait clock EGA/Video Data Acquisition Adapter (AT) Serial Port COM4 Reserved Serial Port COM2 Msait Msait Reserved for XT/370 Msait Network Floppy Disk Controller Parallel Port 2 SDLC Adapter Cluster Adapter reserved Monochome Adapter Parallel Port 1 EGA/VGA Color Graphics Adapter Serial Port COM3 Floppy Disk Controller Serial Port COM1

Aada 24 bitlik giri/k kartnn elektronik devre emas grlmektedir;

ok rahat ve sorunsuz bir kullanm olan Isa veriyolu yaps ne yazkki gnmz uygulamalar iin artk yava ve hantal kalmaktadr. Bu yzden gelitirilen her yeni uygulamada veri yolu minimum PCI olarak tasarlanmtr fakat USB basit yaplar iin tercih sebebidir.

[7.2.2] PCI veriyolu:


PCI veriyolu isa veriyoluna alternatif olarak karlm olan MCA(Micro Chanel Architecture) ve VLB(Vesa Local Bus) sonra gelen ve neredeyse ilemcinin clock hzna eriebilen seri modlu, deiebilen configrasyon ve adres yapl bir veri yolu tipidir. Gnmzde ekran kart dnda ok tercih edilen ve geerliliini koruyan bir veriyoludur. 33 Mhz ve PCI2 de 66 Mhz veri transfer hzna sahip olan PCI veriyolu 3.3-5V luk voltaj standardna ve saniyede 264 Mb'lk veri transfer hzna sahiptir. Adres ve data veriyollar PCI veri yolu yapsnda ardarda kullanldndan adres ve data veri yollar ayn bitsel genilie sahiptirler, 32 bitlik yapda olan PCI ve 64 bitlik yapda olan PCI2 bulunmaktadr. Aada temel olarak bir PCI portuna veri basm zamansal lojik emas vede pin klar grlmektedir.
___ CLK ___| |___| ___ |___| ___ |___| ___ |___| ___ |___| ___ |___

FRAME AD

_______

|_________________________________|

_________

______ _______ ______ ______ ______ -------<______><_______><______><______><______>--Adres Data1 Data2 Data3 Data4 ______ _______________________________ -------<______><_______________________________>--Komut Byte Hazr Sinyali ____________ ___ |_________________________________| _____________ |________________________________| |_______________________________| ___ ___

C/BE

IRDY TRDY DEVSEL

______________

PCI veriyolu Pin klar:


erik. -12 V TCK GND TDO +5V +5 V INTB# INTD# PRSNT1# Reserved PRSNT2# Pin erik. B01 A01 TRST# B02 A02 +12 V B03 A03 TMS B04 A04 TDI B05 A05 +5 V B06 A06 INTA# B07 A07 INTC# B08 A08 +5 V B09 A09 Reserved B10 A10 +5 V (I/O) B11 A11 Reserved

GND/3,3 V Key B12 A12 GND/3,3 V Key GND/3,3 V Key B13 A13 GND/3,3 V Key Reserved GND CLK GND REQ# +5 V AD[31] AD[29] GND AD[27] AD[25] +3,3 V C/BE[3]# AD[23] GND AD[21] AD[19] +3,3 V AD[17] C/BE[2]# GND IRDY# 3,3 V DEVSEL# GND LOCK# PERR# +3,3 V SERR# +3,3 V C/BE[1]# AD[14] GND AD[12] AD[10] GND GND 5 V Key GND 5 V Key AD[08] AD[07] +3,3 V AD[05] AD[03] GND AD[01] +5 V (I/O) ACK64# +5 V +5 V 64 Bit Space Reserved GND B14 A14 Reserved B15 A15 RST# B16 A16 +5 V (I/O) B17 A17 GNT# B18 A18 GND B19 A19 Reserved B20 A20 AD[30] B21 A21 +3,3 V B22 A22 AD[28] B23 A23 AD[26] B24 A24 GND B25 A25 AD[24] B26 A26 IDSEL B27 A27 +3,3 V B28 A28 AD[22] B29 A29 AD[20] B30 A30 GND B31 A31 AD[18] B32 A32 AD[16] B33 A33 3,3 V B34 A34 FRAME# B35 A35 GND B36 A36 TRDY# B37 A37 GND B38 A38 STOP# B39 A39 +3,3 V B40 A40 SDONE B41 A41 SBO# B42 A42 GND B43 A43 PAR B44 A44 AD[15] B45 A45 +3,3 V B46 A46 AD[13] B47 A47 AD[11] B48 A48 GND B49 A49 AD[09] B50 A50 GND 5 V Key B51 A51 GND 5 V Key B52 A52 C/BE[0]# B53 A53 +3,3 V B54 A54 AD[06] B55 A55 AD[04] B56 A56 GND B57 A57 AD[02] B58 A58 AD[00] B59 A59 +5 V (I/O) B60 A60 REQ64# B61 A61 +5 V B62 A62 +5 V 64 Bit Space B63 A63 GND B64 A64 C/BE[7]#

C/BE[6]# C/BE[4]# GND AD[63] AD[61] +5 V (I/O) AD[59] AD[57] GND AD[55] AD[53] GND AD[51] AD[49] GND AD[47] AD[45] GND AD[43] AD[41] GND AD[39] AD[37] +5 V (I/O) AD[35] AD[33] GND Reserved Reserved GND

B65 A65 C/BE[5]# B66 A66 +5 V (I/O) B67 A67 PAR64 B68 A68 AD[62] B69 A69 GND B70 A70 AD[60] B71 A71 AD[58] B72 A72 GND B73 A73 AD[56] B74 A74 AD[54] B75 A75 +5 V (I/O) B76 A76 AD[52] B77 A77 AD[50] B78 A78 GND B79 A79 AD[48] B80 A80 AD[46] B81 A81 GND B82 A82 AD[44] B83 A83 AD[42] B84 A84 +5 V (I/O) B85 A85 AD[40] B86 A86 AD[38] B87 A87 GND B88 A88 AD[36] B89 A89 AD[34] B90 A90 GND B91 A91 AD[32] B92 A92 Reserved B93 A93 GND B94 A94 Reserved

[7.2.3] AGP veriyolu:


Dahada hzlandrlan ve veri yolu 128 bite karlan bu ayrcalkl port hakknda yaynlanm fazla ve kesin bir dkman olmadndan ayrntl veri verememekteyiz ama bu veriyolu ile u anda kullanlan PC veriyollarnn sonuna ulam bulunuyoruz.

8.Programlama Dili Programlama Dilini tanimlayacak olursak ilk nce dip kkn anlamina bakmamiz gerekir. Dil insan oglunun gelistirdigi ilk iletisim sistemlerinden biridir, ama iki veya daha faza insan arasindaki iletisimi saglamaktir. Program ise bilgisayar ortaminda yer alan bir ama dogrultusunda yazilan islevsel dkmandir, yani bilgisayarin anlayacagi dilden tasfir ve emir gurubu dkmanidir. Bu ikisini birlestirirsek ortaya bilgisayar hedefli yeni bir lisan kurami ikar. Diger diller gibi kendisine has kurallari ve gereksinimleri vardir. Bu dili olusturanlarin belirleyip korudugu bir ifade toplulugudur, diger normal dillerden en byk farki dil yordamininda bilgisayarla olusturulmus olmasidir. Genel olarak proje hedefli dillere bakacak olursak ilk olarak bilgisayar ortamindan bagimsiz grnen Robot Programlama Dilleri grebiliriz...

8.1 Robot Programlama Dilleri: Gemiste olusturulan bilgisayar disi aygitlarin temel bir standart ile kendi aralarinda uyumlu alisabilmesi iin genel kuram ve zorumluluklar konulmak istenmistir fakat gnmzde oldugu gibi firmalar yksek basari ve kalite iin kendi standartlarini koymuslardir rnegin su anda yazici kurulumunda en nemli etmen HP olup olmamasidir, Hp kendi ansi standartini olusturmus ve kalitesi ile bunu dnyaya kabul ettirmistir. Gelisen isletim sisitem fonksiyonlari ile program ynetimi sanal ortamlara tasinarak yapilan ana islevler ok basitlestirilmistir. Iste bu yzden yapilan yeni bir donanim iin yeni bir standart ve yazilim gelistirmek kaliteyi etkiliyorsa kainmak hatali bir karar olacaktir. Fakat yinede genel olarak Robot Programa Dillerine deyinmek eski hatalari grmemize yardimci olacaktir; Ilk olarak "Teach by Lead" yani gster ve uygulat olarak tanimlayabilecegimiz bir yapiyi grmekteyiz bu yapida hedef olan programlam dili olmasina karsin robot kendine yaptirilan bir hareketi defalarca tekrarlayabilmektedir. Daha ok boyama robotlarinda kullanilan bu teknik sayesinde yapilacak boyama islevi kolu ekistirerek yapilir bu yapilan islemler sirasinda "Teach(grenme)" kademsinde olan robot algilayicilarindan gelen verileri Epromuna kaydederek islevi sonladirilinca tekrarlayabilir, enbyk dez avantaji kolun hareketinin insan gesi ile tekrarlamaktir. Bundan sonraki asamalarda devreye uygulayici olarak bilgisayar yani yapisal bir program devreye girmektedir. VAL ve VAL II(tm): Bu programlama dili ile daha ok PUMA robotlari programlanmaktadir. Bu Basic tipi benzeri hareketlerin tanimlanmasini saglayan bir zellik tasimaktadir. VAL ve gelistirilmis versiyonu olan VAL II (TM) yksek seviyeli dil olarak tanimlanmaktadir. Bu programlama dilinde kullanilan komutlar ve zellikleri asagidadir. SPEED 100 ALWAYS : Robot yeni bir komut gelene kadar 100 nite degerindeki hizla hareket edecektir. Robot hizlari nite olarak tanimlanir ve 0,01 ila 327,67 sinirlari arasindadir MOVE POINT : Robot kol halihazirda bulunulan konumdan POINT olarak tanimlanmis yeni noktaya hareket edecektir. MOVE 2POINTS : Robot kol dogrusal olarak tanimlanmis iki noktaya hareket edecektir. nce birinci hedefe daha sonra ikinci hedefe ulasacaktir. DRIVE 1 , 30 , 100 : Bu komut ile 1 nolu birlesim robot tabani 30 derecelik dnmeyi ve 100 nite hizinda gereklestirecektir. DRAW 100 , 200 , 50 : Draw komutu takim merkez noktasi iin kullanilmaktadir. Robot tutucusu 100 cm x ekseninde 200 cm y ekseninde ve 50 cm z ekseninde kartezyen koordinat sisteminde hareket edecektir. APPRO POINT , 100 : Bir nceki pozisyon noktasindan 100 cm ileriye hareket komutudur. Burada 100 cm takimin robot ucun bulundugu noktadan z ekseni boyunca ilerlemesidir.

DEPART 100 : Ayni Appro Point komutu gibidir. Yalniz burada hareket Z ekseninin negatif ynnde olacaktir. VAL dilinde yazilan her bir program btn diger programlarin alt programi olabilir. Unimation VAL program dilini gelistirerek yeni bir versiyonu olan VAL II (TM) ikartmistir. Burada robot hareket komutlari trigonometrik fonksiyonlar, gerek zaman iletisimi iin ileri fonksiyonlarve evre ekipmanlari ile kontrol sisteminin baglantisi iin gerekli olan komutlarla desteklenmistir. AML PROGRAMLAMA DILI: Yksek seviyeli dil olarak kabul edilen AML A Manufacturing Language kelimelerinin bas harflerinden olusmustur. Bu dil Endstriyel robot sistemlerinin islemleri iin zellikle dizayn edilmistir. Bu programlama dili ile robot sistemlerinin drt temel fonksiyonu kontrol edilebilmektedir. Bunlari su sekilde siralayabiliriz.

1 - Manipulation (Kullanma Isletme) fiziksel objelerin ismerkezi etrafinda ddrlmesi. 2 - Sensing (Algilama) 3 - Intelligence (Haberlesme) 4 - Data processing (Bilgi isleme ve kaydetme)

Yukarida belirtilen zellikler kontrol edilmekte rapor olarak retilebilmektedir. AML dili robotlarin programlanmasinda zel islemler iin kullanilan dillerden biri degildir. Bu dilde dngler kullanilmakta olup test, matematiksel islemler , sensrler ile bilgi alis verisi ve bilgi depolama ile ilgili uygulamalar saglanmaktadir. genellikle PUMA tr robotlarin programciliginda kullanilir. Bu dilde kullanilan bazi komutlar ve uygulama zellikleri asagidadir. MOVE : En nemli komuttur ve bunun DPMOVE isimli komut esidi vardir. DPMOVE robot kolun vektrel olarak hareketini saglamaktadir. [PT (x , y , z )] : Robot kolun alisma blgesi ierisinde tanimlanan bir noktaya hareketini saglayacaktir. PMOVE komutu istenilen noktaya ulasimi saglayacaktir. Tavsiye edilen AML program yapisinda btn blgeler ve hareketler alt program (Sub-Progran) olarak hazirlanmalidir. Endstriyel robot uygulamalarinda kullanilan robot trlerinden biriside DEA robotlardir. ( Digital Elektronic Automation)Bu robotlarda kullanilan programlama dili HELP programlama dilidir. Bu dil yksek seviyeli dil olaraktanimlanmaktadir. HELP programlama dilinde temel komut vardir. Bunlar :

1 - Atama durumlari, Aritmetik deyimler, Sayma 2 - Kontrol komutlari GOTO, GOSUB; IF-THEN 3 - Sub programlar ierisinde kullanilan GRASP, UNGRASP,SIGNAL ve WAIT komutlari

Yukarida temel zelliklerin kullanilmasi ile robotlar programlanmaktadir. Ayrica MOVE ( X , Y , Z ) komutu ile robotun kartezyen koordinat sisteminde X , Y , Z eksenlerinde hareketleri saglanmaktadir.

MITSUBISHI PROGRAMLAMA DILI : En gl dillerden birisidir. komutlar ift karekterler ile tanimlanmaktadir. tanimlanan komutun parametrik degerleri ile birlikte kullanilmaktadir. Bu program dili 6 temel kisimdan meydana gelmistir. Bunlar:

1 - Position / Motion Control Instruction ( Pozisyon ve hareket kontrol komutlari.) 2 - Program Control Instruction ( Program Kontrol Komutlari.) 3 - Hand Control Instruction (El Kontrol Komutlari) 4 - I/O Control Instruction ( Giris / ikis Kontrol Komutlari) 5 - RS232C Read Instruction (RS 232C Kontrol Komutlari) 6 - Miscellaneous ( Yardimci komutlar)

Pozisyon ve Hareket kontrol komutlari : DP ( Decrement Position ) : Robot kolun bulundugu konumdan pozisyon numarasi daha kk olan bir nceki pozisyon noktasina hareketi saglanmaktadir. 10 LPRINT " MO 3 " 20 LPRINT " MO 4 " 4 Nolu pozisyona hareket 30 LPRINT " MO 5 " 5 Nolu pozisyona hareket 40 LPRINT " DP " 4 Nolu pozisyona hareket.

DW ( Draw ) : Robot kolun x , y , z eksenlerinde hareketini saglayan komuttur. Verilecek arti degerler pozitif yn eksi degerler ise negatif yn tanimlamaktadir. DW 10 , 5 , 0 burada robot kol x ekseninde 10 mm y ekseninde 5 mm z ekseninde ise 0 mm hareket edecektir. HE ( Here ) : Robot kolun bulundugu konumu pozisyon no olaraktanimlayan komuttu r. Pozisyon numaralari 1 ila 629 arasinda bir sayi olabilir. 10 LPRINT " MO 10 " 20 LPRINT " DW 10,0,0 " 30 LPRINT " HE 11 " 10 Nolu pozisyona hareket X ekseninide 10 mm ilerle Bu nokta pozisyon no 11 dir.

HO ( Home ) : Karetezyen koordinat sisteminde referans nokta tanimlama islemini gereklestirir. LPRINT " HO " IP ( Increment Point ) : Bulunulan konumdan pozisyon numarasi daha byk olan bir nceki pozisyona gitme komutu. (Bu komutu DP komutunun tersi olarak dsnebiliriz.) 10 LPRINT " MO 7 " 20 LPRINT " MO 6 " 30 LPRINT " MO 5 " 7 Nolu pozisyona hareket 6 Nolu pozisyona hareket 5 Nolu pozisyona hareket

40 LPRINT " IP " 6 Nolu pozisyona hareket

MA ( Move Approach ) : MC ( Move Contunious ) : MJ ( Move Joint ) : MO ( Move ) : MP ( Move Position ) : Robot elim u noktasinin tanimlanan x,y,z eksenlerdeki tanimlanmis olan koordinat noktasina Pitch, Roll ve ai degerleri verilerek hareket etmesini saglar MP [ X eksen koordinati][ Y eksen koordinati][ Z eksen koordinati][Pitch aisi][Roll aisi] rnek: MP 0,380,300,-70,-40 PD 1,0,380,300,-70,-40 MP 0,380,280,-70,-40 MS ( Move Straight ) : Robot kolun bulundugu noktadan, pozisyon no belirlenen noktaya belirlenen sayida basamaklarla ilerlemesini saglayan komuttur. MS [ Pozisyon no, Basamak sayisi < O , C > ] Burada 1<= Pozisyon no <= 629 Burada 1<= Basamak sayisi <= 99 HE MO 3 MS 2,3 C MO 3 MS 2,6,C MT ( Move Tool ) : Aktif aleti hareketlendirir. RS 232-C Kontrol Komutlari : CR ( CXounter Read ) : Ka komut birikimi oldugunu belirtir. DR ( Data Read ) : Bilgi okuma. ER ( Error Read ) : Hatakodu bilgisini verir. LR ( Line Read ) : ogulsal bir okuma yapar. PR ( Position Read ) : Aktif pozisyon bilgisini verir. WH ( Where ) : Aktif konum bilgilerini verir. Yardimci Komutlar : RS ( Reset ) : Robot Pozisyonlarini resetler. TR ( Transfer ) : Aktif durumu trasfer eder. WR ( Write ) : Robota bilgileri yazar. ( Comment ) : Komut uygulamasi gereklestirilmeden aiklayici bilgiler yazilmaktadir.

8.2 Yapisal Program: Yapisal aidan bir program tabirini aiklamadan nce ilk olarak bir program nedir ve ne olmalidiri anlamak gerekir. Program bir grevi yerine getirmek iin tasarlanmis asamalar btndr. Bir program mutlaka hatasiz vede en kisa yoldan maximum zme ulasmalidir. Yani program kisaca islerimizi kolaylastirmak iin kurulan bir sebep - sonu iliskisidir.

Yapisal aidan program tabiri ise olusturulacak programin temel taslarini yerlestirmede uygulanan yntem ve belirgelerdir. Temel olrak ilk bilgisayar porgrama dillerinden bu yana ok yaygin olarak bilinen sekilsel yaklasimi inceleyelim. Assagida temel olrak hangi kutunun ne anlama geldigi grlmektedir; Programi olusturacak olan sahis ilk olarak elindeki baslangi verilerini ve ulasmasi gereken sonucu irdeleyerek isleme baslar. Elindeki bilgilerle sonu bilgilerini karsilastirildiktan sonra izlenecek en kisa yol bulunmaya alisilir, bu asamada zm bireye bagli oldugundan hibir zaman zm yolu tek bir iz degildir, birok farkli yoldan sonuca ulasilabilir nemli olan minimum zamanda maximuma erismektir. Basit bir rnekte bunu grelim; r: 30 ayri kmesten gelen yumurtalarin ayri ayri adetleri bilinmektedir. Ortalama kmes basina ka yumurta dsmektedir??? 1.asama: deger. 2.asama: Baslangi verisi 30 adet ayri ayri veri ve ulasilmasi gereken sonu ortalama 30 ayri iftlikten gelen yumurta toplanir ve 30 blnerek ortalam adet bulunur.

2.asama (zm 2): Her 2 iftlikte bir ortalama bulunarak diger bir iftlik ile yeniden 2 iftlik olarak ortalama bulunur. Son iftlikten sonra ortalama bulunmus olur. 3.asama: sonu raporlanir.

Dikkat edilmesi gereken basitlestirilmis hizli ve pratik zmdr.

[8.3] Pascalin Incelenmesi


Pascal programlama dili ilk olarak Fransa'da yer alan Borland firmas tarafndan ... ylnda retilmi olan yapsal olarak nc kuak bir dil yapsdr. Versiyon ayrmlarnda 5. Versiyonda temel yapsn, 6. Versiyonunda da Unit ve Object-Oriented yapsn kazanmtr en son versiyonu olan 7 ve 7.1 ise genel olarak windows ortamna hazrlk ve baz hatalarn kapatlmasndan olumaktadr. Dilde hedef en basit kullanmdan en karmaa kadar olan yapda kullanclara temel olarak hitap ederek yol gstermektir. Yapsal olarak zmlenen ilevler sayesinde complex yazlmlar hata kendi kendini oluturan yazlmlar gerekletirilebilmektedir. Peki dier dillerle karlatrmasn yapmak gerekirse Pascal temelde yapsal olarak C diline ok benzemekle birlikte yazm kolayl ve hedef ortam esneklii ile C dilinden ayrlmaktadr fakat C dili gerek derleyicisin gelimi ve microsoft tarafndan desteklenmesi sayesinde hz ve salamlk kazanmtr bununla birlikte gelen yapsal ekitirmeler sonucunda da hedef sapmas ve kullanm zorluu ortaya kmtr fakat asl baarsn eitli ortamlar desteklemesiyle kazanmtr rnein Unix ve Novell gibi temelsel diller bu dilde yazldndan kullanm alann bu yne kaydrmtr. Sonu olarak pascal Ms-Dos ve Windows kullanmay hedefleyen sistemler iin ei bulunmaz temel bir derleyicidir. Temel Olarak Program Yazm Kuramlar: Temel olarak bilindii gibi ingilizce dili zerinde yazlan editrlerde trke harf yasa vardr. Dikkat edilmesi gereken dier bir ayrntda her satr sonuna konan noktal virgldr.

rnein basit bir program yazmak istersek programmz "Begin" ile balatp "End." le bitirmemiz gerekir ve istenilen komut kmeleri bu iki u noktas arasna yazlmaldr; Begin Write('http://get.to/Robotic'); End. {Ekrana http://get.to/Robotic yazar}

Buradaki "Write" komutu ekran ortamna yaz yazmak iin kullanlmaktadr. Komuttan sonra parametre olarak nitelendirilen ifadeler iin parantez alarak ierisine uygulanacak ilev yerletirilir, parantez kapatlarak parametre tamamlanr ve noktal virgl de komutun bittiine iaret eder. Parametremiz tek trnak ierisinde yazlmtr nk parametre string yani alfasaysal(hem rakamlar hemde harflerle zel iaretleri ierir) bir ifadedir. Write yerine "Writeln" kullanlrsa write komutundan tek fark parametre ekranda gsterilirken ifade yazlp alt satrn bana geer. Ekran modu text (ekrandaki grnt noktalardan deil de karakterlerden oluan ekran modu tipi) moddur. Kme parantezi ise aklama yaplmas gerektiinde yani program paras olmayan ifadelerin yazlmas iin kullanlr parantez iini derleyici dikkate almaz. Dier bir rnekte ise ekrann kullanmn grmekteyiz; Begin Writeln('Yazp assag gecer'); Write('Yazp assag gecmez'); Writeln('devam eder ve assag gecer'); End. Dikkat edilmesi gereken nemli bir nokta temel ilevlerin ayn zamanda ASCII (American Standart Code Instruction information- Standart karakter seti) tablosundaki 13. kodun write sonuna konarak writeln elde edilmesidir, bundan sonra greceimiz her alt satrn bana geme ilevi aslnda bu kodla yaplmaktadr yani ekrana "Yazp assagi gecer#13" yazlmaktadr. #13 ifadesi bandaki # karakteri ascii tablodan kodu iaret etmek iin kullanlr, yani "Write(#65);" komutu ekrana "A" harfini yazacaktr. Ekrandan gelen olarak yaz yazmay rendik, bu yazlan yazy belirli bir konuma yazld aka grlmekte ite bu konum "Cursor" olarak tabir edilen ekranda bulunan yanp snen bir iaretidir ve bu iareti ekranda kalnan son noktay takip etmede kullanlmaktadr. Cursor'un yerini bir ey yazmadan deitirmek iin "Gotoxy" komutu kullanlabilir. Aada temel bir rnei yer almaktadr; Begin Writeln('Yazp assag gecer'); Gotoxy(10,10); Write('Yer 10,10',' gecmistir.'); End. Komutta parametreler X,Y konumlardr. Aada ekranda grlen eksenler ve uzunluklar yer almaktadr;

Dier bir temel komut ise ekrandan veri okuyan "Read" ve "Readln" komutlardr, komut parametresi deikendir. rnek olarak; Var Adi:string; Begin Gotoxy(10,10); Write('Adnz Giriniz:'); Readln(adi); Write('Merhaba ',adi); End. rnekte begin balang komutu zerinde yer alan "Var" deiken tanmlama komutudur, ondan sonra begin komutuna kadar yazlan ifadeler deiken olarak tanmlanarak kullanlrlar peki nasl bir deiken tanmlanr isterseniz ilk olarak temel deiken tiplerini grelim;

Byte: saysal bir ifadedir, 0 255 arasnda bir deer ierebilir. 8 bitten oluur, en kk birimdir. Word: saysal ifadedir, 0 65535 arasndadr.16 bitten oluur. (1 word 2 byte eittir). Integer: Saysal ifadeler iin kullanlr, snrlar -32768 ile +32767 arasndadr. (1 word uzunluundadr.) Dword: saysal ifadedir, 0 4294967295 arasndadr, 32 bitten oluur yani 2 word,4 byte'a eittir. Longint: saysal ifadedir, -2147483648 2147483647 arasndadr popler bir saysal ifadedir. (Dword eittir) String: Alfasaysal olarak adlandrlan 255 (1 byte maximum deeri) karakter uzunluundaki deikendir. Char: Karaktersel ifadedir, Ascii tablo ieriini tar. 1 byte uzunluundadr kullanm farklar vardr.

Bu deikenlerden oluacak bir dizi tanmlamak iin ise ARRAY (dizi) olarak tanmlanabilir. Arrayden sonra keli parantez ierisinde belirtilen rakam ararl kadar ([1..10] 10 adet demektir.1 den 10'a) deiken ierir demektir. Eer dizide birden fazla ayn deiken blou kullanlacaksa dizinin boyutu artrlabilir.rnein; Var Data:Array[1..20] of Integer; {Tek boyutlu bir dizi} Data2:Array[1..3,1..20] of Integer; {iki boyutlu bir dizi} Data3:Array[1..10,1..3,1..20] of Integer; { boyutlu bir dizi} Begin

Writeln('1.Dizinin 15. elamann giriniz: ');Readln(data[15]); Writeln('1.Dizinin 15. elamani: ',data[15]); Writeln('2.Dizinin 15. elamann giriniz: ');Readln(data2[1,15]); Writeln('2.Dizinin 15. elamani: ',data2[1,15]); Writeln('3.Dizinin 15. elamann giriniz: ');Readln(data3[1,1,15]); Writeln('3.Dizinin 15. elamani: ',data3[1,1,15]); End. Temel matematik ilemleri: + : ki ibarenin toplanp bir sonu deikenine aktarlmakta kullanlr. - : ki ibarenin karlp bir sonu deikenine aktarlmakta kullanlr. * : ki ibarenin arplarak sonucun sonu deikenine aktarlmakta kullanlr. DIV : ki ibarenin blnerek sonuc deikenine aktarlmakta kullanlr. (Div tamsay blme ilemlerinde kullanlr, / blme ilemi ise ksratl blme ilemlerinde kullanlr snu mutlak olarak real deiken tipidir.) MOD: Deikenin belirtilen sayya gre modunu alr. INC: Deikeni bir adet artrr. DEC: Deikeni bir adet azaltr. rnein: Var A,B,C:Integer; R:Real; Begin Writeln('1. sayiyi giriniz: ');Readln(A); Writeln('2. sayiyi giriniz: ');Readln(B); C:=A+B; Writeln('2 sayiyinin toplam: ');Writeln(C); C:=A-B; Writeln('2 sayiyinin Fark ');Writeln(C); C:=A*B; Writeln('2 sayiyinin Carpm ');Writeln(C); C:=A div B; Writeln('2 sayiyinin Bolumu ');Writeln(C); R:=A/B; Writeln('2 sayiyinin ondalikli Bolumu ');Writeln(R:0:0); {:0:0 ifadesi formatli yazma ilemlerinde kullanlan ibaredir. 1 kademe noktadan ncesini, 2 hane ise noktadan sonrasn ifade eder.} C:=A MOD B; Writeln('1. saynn 2. sayiya Modu: ');Writeln(C); End. Mantksal ilemler ise: AND: Lojik Ve karlatrmas yapar. OR: Lojik Veya karlatrmas yapar. NOT: Lojik tersini alr. XOR: Lojik tersveya ilemini yapar.

rnekler: Var A:byte; Begin A:=1;Writeln(A); A:=A AND 2;Writeln(A); A:=A OR 1;Writeln(A); A:=NOT A;Writeln(A); A:=A Xor 255;Writeln(A); End. Temel tiplerin dnda tanmlanabilecek grup ve tanmsal ifadelerde pascaln ierdii kullanl deiken trleridir. Gruplu yapda Record ifadesiyle tanmlama blmnde tanmlanabilinir, rnein: Type Kimlik= Record Ad:string[8]; {keli parantez ierisinde tanmlanan say ka karakterlik bir string olduunu belirtir.} Soyad:string[8]; Tel:longint; End; Var Data:Kimlik; Begin write('Adi:');readln(data.ad); write('Soyadi:');readln(data.soyad); write('Telefonu:');readln(data.tel); End. rnekte dikkat edilmesi gereken en nemli nokta Type ksmnda tanmlanan deiken tiplerinin program parasnda kullanlabilmesi iin mutlak olarak yeniden atanmas gerektiidir. Dier noktayla yazlmas ve Record-End; yaps yazm ve tanm kurallardr. Dier bir durum ise sabit atamalardr, bu atama trndeki bilgiler sabit olduundan deitirilemez yan readonly(sadece okunabilir) yapsndadr, rnein: Const Hex:array[0..15] of char=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); Var a:byte; Begin Writeln('Bir sayi giriniz?');readln(a); Write('Hexedesimal karsiligi: '); Writeln(hex[a div 16],hex[a mod 16]); End. Yukardaki rnekte dardan girilen bir byte'lk saynn hex karl hex tiplemesi ile ortaya karlmtr, keli parantez burada birden fazla deeri ieren ifadelerde ifadelerden seilecek olan iaret etmekte kullanlr.

Mantksal lemler: If(Eer) olarakta adlandrlan mantksal karlatrma komutlar gerek pascal olsun gerekse tm dier temel dillerde en nemli yap tadr nk girilen veya elde edilen tm veriler mutlak olarak bir karlatrma ve deiim srecinde gemelidirki sonu ileme ulalabilsin bunun iin eer ilemi neredeyde her programda yer alan mutlak bir ifadedir, aadaki rnekte dardan girilen iki saydan hangisinin byk olduunu bulan bir program yer almaktadr; Var A,B:Integer; S:string; Begin write('Say 1:');readln(A); write('Say 2:');readln(B); If A>B then s:='Sayi 1 buyuktur sayi 2 den'; If A<B then s:='Sayi 2 buyuktur sayi 1 den'; If A=B then s:='Sayi 1 Sayi 2 ye esittir '; writeln(s); End. lemler srasnda birden fazla ifadeyi karlatrarak sonuca varmak gerekirse aralarna AND(Ve)- OR(Veya) ifadeleri yada olumsuzlar iin NOT zel durumlardada XOR kullanlabilinir nemli olan ilemleri doru ekilde parantez ierisine alabilmektir Var A,B:Integer; S:string; Begin write('Say 1:');readln(A); write('Say 2:');readln(B); If (A=5) And (B=5) then s:='Her ikiside 5 dir'; If (A=5) Or (B=5) then s:='Ikisinden biri 5 dir'; If (A=5) Xor (B=5) then s:='Sadece biri 5 dir'; If (A<>5) And (B<>5) then s:='kiside 5 Deildir'; If Not ((A=5) And (B=5)) then s:='kiside 5 Deildir'; writeln(s); End.

Eer istenmiyen bir sonula karlalrsa karlatma tersi yani doru olmad durumda yaplmas gerek bir ifade iin ELSE deyimi kullanlabilir. rnein; Var A,B:Integer; S:string; Begin write('Say 1:');readln(A);

write('Say 2:');readln(B); If (A=5) And (B=5) then s:='Her ikiside 5 dir' ELSE s:='Her ikiside 5 deildir'; writeln(s); End. CASE OF: oktan semeli artlarda if satrlarnn saysyla birlikte yazm gl olumasn nlemek iin bir deiken zerinde karar verilirken CASE ifadesi kullanlabilir. Kendinden sonra gelen blokta her satr bir deerine karlk gelecek olan komut kmesini iermektedir; Var A:Integer; S:string; Begin write('Say:');readln(A); Case A of 1:S:='Sayi birdir.'; 2,3:S:='Sayi iki yada tr.'; 4..100:S:='Sayi 4 ile 100 arasndadr.'; else S:='Sayi yuzden buyuktur'; writeln(s); End.

Tekrarlama dngleri: Baz ilev ve komutlar ard arda tekrarlanmas gerektiinde yaplmas gereken bir dng yani tekrarlama programnn kurulmas gerekir, bu tekrar ileminin bir olaya kadar yani bir art ile soa ermesi veya deimesi gerekmektedir ite bu yzden dng mutlak olarak bir art balamnda olmaldr;

GOTO: Temel makina dilinden tutun yksek seviyeli dillere kadar btn dillerde bu deyim temel atlama ifadesi olarak kullanlr, ifadeden sonra yazlan ksma gitmekte kullanlr. rnein; Var A:Word; Label Ana,Son; {Goto ile kullalacak atlama yerlerini tanmlamak iin kullanlr...} Begin Writeln('Baslangic'); Ana: {st ste iki nokta label(Tanm) dan sonra yazm kural olarak gereklidir.} Write('dongu');Readln(a); If A=0 then Goto Son; Goto Ana; Son: Writeln('Son'); End.

FOR: Dng miktar belirli ise yani 10 tane gibi hedefsel bir dndrme yaplacaksa bu ifade blou kullanlabilir; Var A:byte; Begin For A:=1 to 10 do Writeln(A); For A:=10 downto 1 do Writeln(A); End. WHILE DO: Tekrarlanacak komut dizesi belirli bir arta kadar tekrarlanacaksa While(Olduu srece) tekrarla ilevi kullanlabilir. Bu ilem aynen Goto ilede yaplabilmektedir ama yazm ve ileyi asndan kolaylklar bulunmaktadr;

{Geri sayma}

Var A:String;B:Byte; Begin A:=''; B:=0; While A<>'Ozgur Aksu' do Begin {Yeni bir blok tanm} Inc(B); Writeln(B,'.Bilgiyi giriniz??? ');Readln(A); End; {Blok sonu} End. Blok Tanmndan kast eer bir ifadeden sonra yaplmas gereken onun alt ifadeleri bir komuttan fazla ise yani komut kmesi ise komutlar yeni bir Begin-End yaps ierisine alnarak blok tek satrlk bir komut gibi iletilir, end sonundaki noktal virgl programn sonun bu end ile bitmediini gsterir. REPEAT UNTIL: Aynen While gibi almasna ramen farkl olan yan ilem neticesine 1. dngden sonra bakmas ve dz karlatrma yani Until(e kadar) yapar;

Var A:String;B:Byte; Begin B:=0; Repeat Inc(B); Writeln(B,'.Bilgiyi giriniz??? ');Readln(A); Until A='Ozgur Aksu'; End. Program Paracklar: Genel kullanma geildiinde ilk olarak zorlanlan konulardan biri baz komut kmelerinin devaml olarak kullanlmas gerektiiydi ve bu kullanm iin GOTO kullanlamyordu nk Goto ile arldktan sonra komut dizesi bitirildiinde arld noktadan bir sonraki komuta geri dnemiyordu, bu yzden iki adet alt program parac tanm oluturuldu, Procedure(Prosedr) ve Function(Fonksiyon). Procedure istenilen komut dizesini parametreler ile yerine getirim geri kaldmz yere geri dnyor, Function ise procedure ile ayn ekilde almasna ramen tek fark geriye bir sonu verebilmesidir; rnek 1: Var S:string;

{Global bir deiken}

Procedure OKU; Begin {Procedure blou} Write('Adnz? '); Readln(S); End; Var A:byte; {Local Deiken} Begin For A:=1 to 100 do OKU; {Procedure burada arlyor . Procedure ileniyor . ve buraya geri dnyor} End. Global ve Local kavramlar deikenin yerine gre karar verilecek bir uygulamadr eer deiken programn giri ksmnda yani tm procedure, Function ve ana program tarafndan kullanlabiliyorsa Global(Genel), sadece stnde bulunduu Begin-End blouna tanmlysada Local(Yerel) deiken olarak tanmlanabilinir. Global deikenler programn heryerinde deitirilip kullanlabilen bir deikendir, Local ise sadece kendi blounda tanmldr. rnek 2: Funtion CARP(A,B:Integer):Integer; Begin {Function blou} Carp:=A*B; End; Var A:byte; Begin {Local Deiken}

For A:=1 to 100 do Writeln(Carp(A,A)); End. Dosyalama lemleri: Veriler bilgisayar ortamnda RAM olarak bilinen hafa ksmnda bulunduklarndan bilgisayar kapatldnda ierilerindeki bilgileri kaybedeceklerdir. Bunu engellemek ve daha ok veri blounu kullanabilmek iin daha geni kapasiteli DSKler kullanlmaktadr. te bu yzden verileri diske yazmak iin dosya diye tabir edilen bir havzaya yazmamz gerekir. lk olarak iletim sistemi iin dosyann ismini tanmlamamz ve dosya tipinide belirtmemiz gerekir. Dosya ismi sekiz karakter isim ve 3 karakter uzantl bir ekilde MSDOS iletim sistemi iin tanmlanabilir, karakterler temel setin yasaklanm karakterlerini iermemelidir rnein nokta,bl vede arp gibi. Dosya tipi ise oluturulacak dosyaya konacak verilerin tipine gre bir yap seilerek ierisine bilgi konmas bir dzene sokulmaldr. Aada temelbir rnek yer almaktadr. Var A:Byte; Dosya:File of Byte; {Byte sal dosya tipi} Dosyaismi:string; Begin Dosyaismi:='BYTE.DAT'; {Dosya ismini Byte.dat olarak belirledik} Assing(Dosya,Dosyaismi); {Assing dosya deikenine dosya ismini atad} Rewrite(Dosya); {Dosyay olusturduk} For A:=1 to 100 do Write(Dosya,A); {Dosyaya A bilgisini yazdk} Close(Dosya); {Dosyay kapatk} Writeln('Dosyaya yazdk ve dosyay kapatk kapatk. Yeniden bilgileri almak iin Entere Basnz!!!');Readln; Reset(Dosya); {Dosyay Okumak iin Atk} For A:=1 to 100 do Begin Read(Dosya,B); {Dosyaya B bilgisini Okuduk} Writeln(A,'. bilgi ',B); End; Close(Dosya); {Dosyay kapatk} End. Pascal editrnden F3 yardmyla BYTE.DAT' atmzda karmza okuyamadmz veriler kmaktadr nk veriler bytesal olarak yazlmtr, okunma format TEXT yani stringsel moddur. Aadaki rnekte kullancdan alnan verilerle bir dosya oluturup kontrol ilemi gerekletirilmekte; Var S:String; Dosya:Text; {Text(Yaz) dosya tipi} Dosyaismi:string; Begin Dosyaismi:='BYTE.TXT';

Assing(Dosya,Dosyaismi); Rewrite(Dosya); For A:=1 to 10 do Begin Readln(S); Write(Dosya,S); End; Close(Dosya); Writeln('Dosyaya yazdk ve dosyay kapatk kapatk. Yeniden bilgileri almak iin Entere Basnz!!!');Readln; Reset(Dosya); For A:=1 to 10 do Begin Read(Dosya,S); Writeln(A,'. bilgi ',S); End; Close(Dosya); End. Dikkat edilmesi gereken dosyaya yazm ilemleri srasnda buffer(tampon) kullanld iin mutlak olarak dosyay atktan ve iimiz bittikten sonra Close(Kapat) ilemi gerekletirilmelidir. Tipli Dosyalar: Kullanm gereksinimlerinden biride temel database yaps olan tiplendirilmi kayt yaplarnn ard arda kayt numara srasyla dosya ierisine atlmasdr. Burada dosyada yer alan deikenler record yaps ile tanmlanarak her bir kaydn tipi belirlenerek dosya oluturulmaktadr. Aadaki rnekte bir telefon fihrist uygulamas grlmektedir; Const Disim='Tel.dat'; Type Tanim=Record Varmi:char; Isim:string[8]; Soyad:string[8]; Tel:Longint; Adres:string; End; Var Dosya:File of Tanim; Data:Tanim; Rno:Word; {Record(Kayit) numarasi} Ch:char; Function Sonkayitno; Var A:word; Begin A:=0;

Repeat Inc(A); Seek(dosya,A); {Kayit numarasina konumlanir} Read(dosya,data); Until eof(dosya) or (data.varmi=#0); {Eof fonksiyonu dosya sonu gelmise olumlu cevap verir} Sonkayitno:=A; End; Procedure Kayit; Var A:word; Begin A:=SonKayitno; Writeln('Yazlacak Kayit numarasi',A); Seek(Dosya,A); With Data do {Data deikenini kullanarak ilet} begin Write('Adi:');Readln(Isim); {Isim aslnda Data.isim with bunu salyor} Write('Soyadi:');Readln(Soyad); Write('Tel:');Readln(Tel); Write('Adresi:');Readln(Adres); end; {Data deikeni kullanmna son verdi} Writeln('Kayit Edilsinmi?(E/H)'); Readln(ch); Data.Varmi:=#42; {Varmi deikeni recordun kullanlp kullanlmadna iaret eder. #42 yldz karakteridir.} if (ch=#69) or (ch=#101) then Write(Dosya,Data) else Writeln('Kayit islenmedi IPTAL EDILDI!!!'); End; Procedure Okuma; Var A:word; Begin Writeln('Okunacak Kayit numarasi?: ');Readln(A); Seek(Dosya,A); If data.Varmi<>#0 then With Data do begin Writeln('Adi',Isim); Writeln('Soyadi:',Soyad); Writeln('Tel:',Tel); Writeln('Adresi:',Adres); end else Writeln('Kayit Bulunamad!!!'); End; Procedure Silme; Var A:word; Begin Writeln('Silinecek Kayit numarasi?: ');Readln(A); Seek(Dosya,A);

If data.Varmi<>#0 then With Data do begin Writeln('Adi',Isim); Writeln('Soyadi:',Soyad); Writeln('Tel:',Tel); Writeln('Adresi:',Adres); Writeln('Kayit Silinsinmi?(E/H)'); Readln(ch); Data.varmi:=#0; if (ch=#69) or (ch=#101) then Write(Dosya,Data) else Writeln('Kayit silme IPTAL EDILDI!!!'); end else Writeln('Kayit Bulunamad!!!'); End; Var A:word; Label Bas; Begin Bas: Writeln('Menu:'); Writeln('1.Kayit'); Writeln('2.Okuma'); Writeln('3.Silme'); Writeln('4.Cikis'); Writeln('Secim??:'); Readln(A); IF A=1 then kayit; IF A=2 then okuma; IF A=3 then silme; IF A<4 then goto bas; End. zel Komutlar ve nite kullanm: Pascalda gerek ve ihtaya duyulduka yeni ilevsel komutlar yaplm ve kullanclarna sunulmutur, en son versiyonu olan Borland Pascal 7.0'da da bu komut setleri hat safasna ulamtr, bu komutlar ulamak ve gerkeli olanlarn kullanmak iin yaplmas gereken sadece bu komutlarn programmza dahil edilmesi gerektiidir ite bunun iin USES (Kullan) ifadesi kullanlr. Uses kelimesi mutlaka programmzn en st satrnda yer almaldr; USES Crt; Begin Sound(100); Delay(100); NoSound; End. Pascalda kullanlacak unite ve uygulamalar burada aklanamayacak kadar eitli ve parametreseldir bu yzden devam iin Borlan Pascal 7.0 Help-Units ksmna bakmanzya yarar vardr.

8.4 Delphinin Incelenmesi Delphi temelde pascal ile ayn compile(derleyici) yapsna sahiptir bu yzden deiken ve blok yaplar yeniden bahsetmek gereksizdir. Delphi'de farkl olarak object(nesnel) yap kendini gsterdiinden en nemli fark uygulama kurulma ve tasarlanma aamasndadr. Hedef artk text veya koordinatsal bir alan deilde yapsal bir taban zerindeki sra yerleim veya tama sralamasdr. Aada yaplan alet iin tasarlanm programn kaynak kodu yer almaktadr; FORM1 formunun dkm: object Form1: TForm1 Left = 166 Top = 125 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'Form1' ClientHeight = 446 ClientWidth = 645 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 8 Top = 221 Width = 89 Height = 13 Caption = 'Seilen Dosya Ismi' end object Label2: TLabel Left = 180 Top = 410 Width = 74 Height = 13 Caption = '9600 baud N81' end object Label3: TLabel Left = 11 Top = 404 Width = 63 Height = 24 Caption = 'PORT:'

Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -19 Font.Name = 'MS Sans Serif' Font.Style = [fsBold] ParentFont = False end object Image1: TImage Left = 280 Top = 8 Width = 360 Height = 425 end object Gauge1: TGauge Left = 8 Top = 248 Width = 259 Height = 22 Color = clBtnFace ParentColor = False Progress = 0 ShowText = False end object FileListBox1: TFileListBox Left = 160 Top = 8 Width = 105 Height = 201 FileEdit = Edit1 ItemHeight = 13 Mask = '*.plt' TabOrder = 0 end object Edit1: TEdit Left = 101 Top = 216 Width = 166 Height = 21 TabOrder = 1 Text = '*.plt' end object Button1: TButton Left = 74 Top = 279 Width = 129 Height = 30 Caption = 'Gnder:' TabOrder = 2 OnClick = Button1Click end

object DirectoryListBox1: TDirectoryListBox Left = 8 Top = 33 Width = 143 Height = 174 FileList = FileListBox1 ItemHeight = 16 TabOrder = 3 end object DriveComboBox1: TDriveComboBox Left = 8 Top = 10 Width = 145 Height = 19 DirList = DirectoryListBox1 TabOrder = 4 end object ComboBox1: TComboBox Left = 83 Top = 406 Width = 89 Height = 21 ItemHeight = 13 Items.Strings = ( 'COM 1' 'COM 2' 'COM 3' 'COM 4') TabOrder = 5 Text = 'COM 1' end object Button2: TButton Left = 74 Top = 311 Width = 129 Height = 30 TabOrder = 6 OnClick = Button2Click end object CheckBox1: TCheckBox Left = 16 Top = 360 Width = 113 Height = 25 Caption = 'Ciziciyede Gonder' TabOrder = 7 end end

UNIT1 dosyasnn dkm: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl, Grids, Outline, DirOutln, Gauges, ExtCtrls; type TForm1 = class(TForm) FileListBox1: TFileListBox; Edit1: TEdit; Label1: TLabel; Button1: TButton; DirectoryListBox1: TDirectoryListBox; DriveComboBox1: TDriveComboBox; Label2: TLabel; Label3: TLabel; ComboBox1: TComboBox; Image1: TImage; Gauge1: TGauge; Button2: TButton; CheckBox1: TCheckBox; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} var cik:boolean; xx,yy,zz:longint; Function Dparse(var s:string;sub:string):string; begin if pos(sub,s)>0 then begin dparse:=copy(s,1,pos(sub,s)-1); delete(s,1,pos(sub,s)+length(sub)-1) end else dparse:=''

end; Function Atrim(s:shortstring):shortstring; const bos:string=#0#32#255; var a,b:byte; dr:boolean; begin dr:=true; if length(s)>0 then while dr do begin dr:=false; for b:=1 to 3 do begin a:=pos(bos[b],s); if a>0 then begin dr:=true; delete(s,a,1); end; end; end; atrim:=s end; Function Us(t,u:integer):extended; var a:integer; s:extended; begin s:=1; for a:=1 to u do s:=s*t; us:=s; end; Function Lval(s:string):longint; const rkm=[48,49,50,51,52,53,54,55,56,57]; var x:byte; snc:longint; dr:boolean; begin snc:=0; s:=copy(atrim(s),1,9); for x:=length(s) downto 1 do if ord(s[x]) in rkm then

snc:=snc+(ord(s[x])-48)*round(us(10,length(s)-x)); lval:=snc end; Procedure Sgit(x,y:longint;dr:boolean); begin {SERI PORTTAN VERI YOLLAMA KISMI} end; procedure TForm1.Button1Click(Sender: TObject); VAR dosya:textfile; s1,s:string; kmt:shortstring; dr:boolean; a,b,x,y:longint; gd,gd2,gdmax:longint; begin {$I-} cik:=false; Button2.Caption:='IPTAL ET!'; Button1.Enabled:=false; Button2.Enabled:=true; assignfile(Dosya,edit1.text); reset(dosya); for x:=1 to image1.height do for y:=1 to image1.Width do Image1.Canvas.Pixels[y,x]:=$ffffff; gauge1.Progress:=0; gd2:=0; gd:=0; if ioresult=0 then begin gdmax:=filesize(dosya) div 9; while not eof(dosya) and not cik do begin readln(dosya,s); while s<>'' do begin s1:=dparse(s,';'); if s1>'' then begin kmt:=copy(s1,1,2); delete(s1,1,2); if (kmt='PU') or (kmt='PD') then begin dr:=(kmt='PD'); end; if pos(',',s1)>0 then

begin a:=lval(dparse(s1,',')); b:=lval(s1); a:=a div 8; b:=b div 5; b:=image1.Height-b; if dr then Image1.canvas.LineTo(a,b) else Image1.canvas.moveTo(a,b); if checkbox1.Checked then sgit(a,b,dr); inc(gd2); end; end; if gd2>=gdmax then begin inc(gd); gd2:=0; gauge1.Progress:=gd; end; end; end; end; gauge1.Progress:=100; closefile(dosya); Button1.Enabled:=true; Button2.Enabled:=false; Button2.Caption:=''; gauge1.Progress:=0; {$I+} end; procedure TForm1.Button2Click(Sender: TObject); begin cik:=true; end; end.

Yararlanlan Kaynaklar: Mikroislemciler Esaslar , Elemanlar ve Sistemler Milli Egitim Bakanligi Yayini (eviri) The Intel Microprocessors BARRY B. BREY (4.BASKI) Microchip Pic 16/17 series databook Microchip (1996/1997) IBM PC/AT Technical Reference Robot Teknolojisi Ders Notlar Yazar: A.okun Snmez ITU Robot Hands and the Mechanics of Manipulation Yazar: M.T.Mason Electronics In Industry Yazar:George M. Chute 5.bask

Robotics Yazar: K.S.Fu, R.C. Gonzales Hibrid Adm motorunun Modellenmesi ve Similasyonu Yazar: Yksek Lisans Tezi M.Aylin Tlay Usta Robot tutucusu Tasarm Yazar: Bitime devi brahim Oral Eml Modern Control Engineering Yazar: Katshiko Odaka Robotics And Automated Systems Yazar: Robert L. Hoekstra Web zerinden eriilen inanlmaz kaynaklar: Web sayfamz altndan Roboticle ilgili Linkler ksmnda bulabilirsiniz.

You might also like