MEKATRONİĞİN TEMELLERİ Teknik Bilimler Meslek Yüksek Okulu Elektronik Teknolojisi Programı Bölüm-2 12/15/2015 MEKATRONİĞİN TEMELLERİ 1
Mikroişlemciler Mikroişlemci bir bilgisayar sisteminde programların işletilmesinden sorumlu olan ve tüm bileşenleri merkezi şekilde kontrol eden tümleşik devredir 12/15/2015 MEKATRONİĞİN TEMELLERİ 2
12/15/2015 MEKATRONİĞİN TEMELLERİ 3
ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden, kaydırmalardan sorumlu olan işlemcinin en önemli birimidir. ALU içerisindeki yazmaçlar ile mikroişlemcinin kaç bitlik bir işlemci olduğu belirlenir. Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir. Aynı zamanda bellekten okunan kodların çözümü de bu birimde yapılır Kaydediciler: Hesaplama ve transfer için gerekli olan değerlerin tutulduğu kaydedicilerdir. Sayıları her mikroişlemci ailesi için farklı olabilir. Dahili Yollar: Mikroişlemci içindeki tüm birimlerin veri alışverişini ve birimlerin kontrolünü sağlamak için birimleri birbirine bağlayan yollara denir. Adres, veri ve kontrol yolları olarak üç tiptir. Yolların bit genişliği mikroişlemcilere özeldir. Bununla birlikte, günümüz mikroişlemcileri cep bellek (cache), grafik hızlandırma birimleri (MMX), matematik işlemci birimi (FPU) ve diğer birimleri de içermektedir. 12/15/2015 MEKATRONİĞİN TEMELLERİ 4
Mikrodenetleyici Mikrodenetleyici kavramı hem MİB hem de mikroişlemci kavramlarını içermektedir. Mikrodenetleyici kavramı aynı zamanda mikrobilgisayar kavramı ile örtüşmektedir, çünkü mikrodenetleyici çevresel birimleri de içeren bir mikrobilgisayardır. 12/15/2015 MEKATRONİĞİN TEMELLERİ 5
Mikro denetleyici (Microcontroller, MCU veya µc ), işlemci (CPU), hafıza (RAM/ROM) ve giriş-çıkış (I/O ports) birimlerinin tek bir entegre paketi içerisine yerleştirilmesi ile gerçekleştirilmiş özel amaçlı bir mikro bilgisayardır. Günümüzde üretilen birçok mikro denetleyici, özellik ve türlerine göre PWM, ADC, USB, USART, CAN, SPI, I2C gibi ara birim ve özel amaçlı kaydedicilere de sahiptir. Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel, Michrochip, National Semiconductror, Texas Instruments, vb.) mikro denetleyici üretmektedir. Mikro denetleyiciler birbirlerinden sahip oldukları üniteler(adc, PWM, Zamanlayıcı, SPI, vb), giriş/çıkış bacak sayıları, çalışma hızları, veri ve program yolu genişliği, bellek kullanım şekilleri açılarından farklılıklar arz etmektedirler. 12/15/2015 MEKATRONİĞİN TEMELLERİ 6
Bir mikro denetleyici genel olarak aşağıdaki birimlerden oluşur: 1. Mikroişlemci 2. Bellek 3. Giriş/çıkış birimi 4. Saat darbe üretici MCU = CPU + RAM/ROM + I/O portları + Saat darbe üreteci 12/15/2015 MEKATRONİĞİN TEMELLERİ 7
MİB (Merkezi İşlem Birimi): CPU( Central Processing Unit) olarak bilinen işlemci çekirdeği programın çalışması için gerekli aritmetik ve mantıksal işlemleri yürütür. Çekirdek aynı zamanda bellek ünitelerindeki verileri okur veya depolar. Mikrodenetleyici çekirdeği saklayıcılar, Aritmetik Mantık Birimi (ALU-Arithmetic Logic Unit), sayıcılar, yığın işaretçisi/göstericisi gibi fonksiyonel birimlerden oluşmaktadır. Bellek birimleri: ROM program kodunun depolandığı, RAM ise geçici veya program verilerinin depolandığı bellek türüdür. RAM bir bakıma mikrodenetleyicinin kullandığı bir çeşit müsvedde kağıttır. Bu bellek sürekli yazılır ve silinir; ancak ROM bellek bir kere programlandıktan sonra programın çalışması boyunca değiştirilmez (IAP Uygulama Esnası Programlama teknolojisi hariç). Giriş/çıkış birimi :Mikrodenetleyiciden dış dünyaya giden sinyallerin gönderilmesinde veya dış dünyadan mikrodenetleyiciye gelen sinyallerin alınmasında kullanılır. Saat darbe üretici :Tümdevre içerisindeki birçok fonksiyonel birimin senkronize bir şekilde çalışması için gerekli olan saat işaretini üretir. 12/15/2015 MEKATRONİĞİN TEMELLERİ 8
12/15/2015 MEKATRONİĞİN TEMELLERİ 9
I/O Port: Mikrodenetleyicinin dışarıya açılan kapısıdır. Pinler aracılığı ile gelen verileri tutar ve mikrodenetleyiciden dışarıya veri ya da güç gönderilmesini sağlar. 8 Bit- 16 Bit - 32 Bit: Kişisel bilgisayarlarımız için de sıklıkla duyduğumuz x Bit ifadesi mikroişlemci ya da mikrodenetleyicinin bir çevrim yani bir saat darbesi süresinde işleyebileceği veri miktarını ifade eder. 16 bitlik bir veriyi 8 bitlik mikrodenetleyici 2 çevrimde işleyebilirken 16 bitlik işlemci bir çevrimde işler. 12/15/2015 MEKATRONİĞİN TEMELLERİ 10
Analog Digital Converter(ADC): İsminden de anlaşılacağı gibi bu birim mikrodenetleyicinin ADC pinine gelen analog sinyali 1 ve 0 lardan oluşan dijital sinyale dönüştürerek mikrodenetleyicinin yorumlayabileceği bir veri halini almasını sağlar. Analog ve dijital sinyal kavramlarını açacak olursak; Analog veriyi gerçek hayatta ölçtüğümüz veriler olarak açıklayabiliriz. Bir duvarın uzunluğu, bir ortamın sıcaklığı ya da nem oranı birer analog veridir. Bu veriler çeşitli sensörlerle analog elektrik sinyaline dönüştürülürler.
Örneğin bir sıcaklık sensörü ortam sıcaklığına göre çıkışında belirli seviyelerde elektrik gerilimi oluştururlar. Bu sensör vasıtasıyla analog veriyi analog sinyale dönüştürmüş oluruz. Fakat mikroişlemciler sadece 1 ve 0 verilerini algılayabilir ve işleyebilirler. Sıcaklık sensörü 40 derecede çıkışında 3,2 V gerilim oluşturuyorsa mikrodenetleyicinin tek göreceği 1 dir.
Burada ADC devreye girerek analog elektriksel sinyali 1 ve 0 lardan oluşan dijital veriye dönüştürür. 8 bitlik bir ADC birimi girişinden 5V okuduğunda mikrodeneteyiciye 8 bitle ifade edilebilecek maksimum değeri yani 255 i gönderir. Çünkü ADC nin okuyabileceği maksimum gerilim genellikle 5V tur. Bu durumda ADC hassasiyeti 1/255 yani %0,4 dür. 12 ve 16 bitlik ADC ler daha hassas dönüşüm yapabilirler.
Digital Analog Converter(DAC):Mikrodenetleyiciler analog girişleri anlamayacağı gibi analog çıkış da veremezler. Dijital Analog Çevirici PWM sinyalleri ile mikrodenetkeyiciden analog sinyal üretilmesini sağlar. Pulse Width Modulation (Darbe Genişlik Modülasyonu) kare dalganın genişliklerini değiştirerek çıkışta istenen analog gerilim düzeyinin elde edilmesini sağlar. Duty Cycle yani dalganın doluluk oranı ortalama gerilim seviyesini belirler.
Ortalama Gerilim = (Duty Cycle) x (V Lojik_1 V Lojik_0 ) /100
Timer (Zamanlayıcı): timer birimi bir çalar saat gibi kurularak zaman dolduğunda mikrodenetleyicide kesme oluşturuyordu. Timer birimi tıpkı lojik devrelerde gördüğümüz sayıcı devreleri gibi çalışır. Clock darbelerinin yükselen ya da düşen kenarları sayarak ilgili registerlarda saklanan değere gelindiğinde kesme üretir. Ayrıca harici kaynaklardan gelen darbeleri de sayabilir. Eğer timer harici kaynaktan beslenirse sayıcı olarak, dahili kaynaktan beslenirse zamanlayıcı olarak kullanılır. Timer birimi çeşitli mikrodenetleyici ailelerinde değişik çalışma modlarına sahiptir.
WDT(Watchdog Timer): Watchdog Timer(bekçi köpeği zamanlayıcısı) programın aksaması ya da tıkanması durumları için tasarlanmıştır. WDT belirli aralıklarla programı resetleyerek yeniden başlatır. Sistem saatinden bağımsız RC osilatöre sahiptir. Bu sayede mikrodenetleyici osilatörünün çalışmaması durumunda da devreye girebilir.
UART(Universal Asynchronous Receiver / Transmitter): UART ı açıklamadan önce seri ve paralel haberleşme kavramlarını açıklamamız gerekiyor. Paralel haberleşmede 8 bitlik bir veri 8 ayrı kablo üzerinden bir defada iletilirken seri haberleşmede tek bir kablo üzerinden 8 defada iletilir. UART paralel veri ve seri veriyi birbirine dönüştürme işini yapar. Mikrodenetleyici sistem yolundaki paralel veri başka bir sisteme gönderilmeden önce seri veriye dönüştürülerek tek bir kablo üzerinden gönderilir. Karşı taraftaki UART modülü ise gelen veriyi paralel veriye dönüştürerek mikrodentleyici yapısına uygun hale getirir. UART ile çift yönlü asenkron haberleşme gerçekleştirilebilir.
Haberleşme hızı baud rate ile ölçülür. Baud rate bps(bit per second) yani saniyede gönderilen bit sayısı ile ölçülür. Haberleşmenin sağlanabilmesi için alıcı ve gönderici aynı baud rate ile çalışmalıdır.
SPI(Serail Peripheral Interface): SPI sayısal entegre devrelerin birbirleri ile haberleşmesi için Motorola tarafından geliştirilmiş haberleşme standardıdır. Çift yönlü ve senkron olarak çalışır.
EEPROM(Electronically Erasable Programmable Read-Only Memory): Küçük boyutlu verileri saklamak için kalıcı olarak yazılabilen ve silinebilen bellek türüdür. RAM e göre daha yavaş çalışır. Mikrodenetleyicinin programının yürütülmesi sırasında kalıcı olarak saklanması gereken veriler EEPROM a yazılabilir. EEPROM a yazılan veriler mikrodenetleyicinin gücü kesilmesi durumunda bile silinene kadar saklanmaya devam eder. RAM deki veriler ise güç kesildiğinde silinir. Günümüzde birçok mikrodenetleyici dahili olarak EEPROM bulundurur. EEPROM bulundurmayan mikrodenetleyicilere harici olarak bağlanarak SPI üzerinden veri yazılabilir/okunabilir. Bu çevre birimleri dışında bazı mikrodenetleyiciler kullanım alanı ve kullanım amacına göre USB, Ethernet, CAN gibi çeşitli çevre birimlerini dahili olarak barındırabilmektedir.
Assembly Dili - C Dili Assembly dilinin makine diline yakın düşük seviyeli bir dildir. Burada düşük seviyeli dil tanımı dilin konuşma dilinden uzaklığını ifade eder. Kısacası bir dilin seviyesi düştükçe o dilde programlama yapmak zorlaşır fakat esneklik artar. Yüksek seviyeli dillerde ise program yazmak kolaylaşırken yazılabilecek programlara bazı kısıtlamalar gelir.
Derleyiciler Son yıllarda en çok kullanılan derleyicileri MPLAB, PIC C, Micro C, IAR, KEIL, CCS, Atmel Studio olarak sıralayabiliriz. MPLAB Microchip firmasının, Atmel Studio Atmel İn, KEIL ARM ın, CCS ise Texas Instruments firmasının yayınladığı derleyicilerdir. Burada bahsettiğimiz tüm derleyicilerin farklı mikrodenetleyici aileleri için çeşitli sürümleri bulunmaktadır. Mikrodenetleyici programlama da donanım seçiminin önemli olduğu kadar dil ve derleyici seçimi de çok önemlidir. Her ne kadar Assembly dili az kullanıldığı için gereksiz görülebilse bile mikrodenetleyicinin yapısının iyi öğrenilebilmesi için programcının komut setine hakim olması gereklidir.
PSoC (Programmable System on Chip) 12/15/2015 MEKATRONİĞİN TEMELLERİ 24
12/15/2015 MEKATRONİĞİN TEMELLERİ 25
12/15/2015 MEKATRONİĞİN TEMELLERİ 26
12/15/2015 MEKATRONİĞİN TEMELLERİ 27
12/15/2015 MEKATRONİĞİN TEMELLERİ 28
12/15/2015 MEKATRONİĞİN TEMELLERİ 29
FPGA FPGA (Field Programmable Gate Arrays -Alan Programlanabilir Kapı Dizisi ), üretimden sonra istenen fonksiyona göre donanım yapısı kullanıcı tarafından değiştirilebilen entegre devrelerdir. FPGA kullanıcı tarafından serbest olarak yeniden programlanabilen lojik -yapı taşları olarak tanımlanabilir 12/15/2015 MEKATRONİĞİN TEMELLERİ 30
12/15/2015 MEKATRONİĞİN TEMELLERİ 31
ANALOG-DİJİTAL DÖNÜŞTÜRÜCÜLER Maksimum ve minimum sınırları arasında farklı değerler alarak değişen elektriksel büyüklüklere analog bilgi ya da analog değer denir. Akım ve gerilim analog değerlerdir. Sensör ve transdüser çıkışlarında genellikle analog değer bulunur. Örneğin DC güç kaynağınızı sıfır ile maksimum değerleri arasında sonsuz sayıda farklı bir değere ayarlayabilirsiniz. Büyüklüklerin gerilim var veya yok anlamına gelen 1 ve 0 şeklinde iki rakam kullanılarak ifade edilmesine dijital bilgi ya da dijital değer denir. 12/15/2015 MEKATRONİĞİN TEMELLERİ 32
Mikroişlemci ile çalışan elektronik cihazlar sadece dijital bilgileri alıp değerlendirebilir. Bu durumda mikroişlemcili ve dijital birçok cihaz için analog bilgilerin dijital bilgilere dönüştürülmesi gerekir. Analog değerleri dijital değerlere dönüştüren devrelere ADC (Analog Digital Converter AD Dönüştürücü) denir 12/15/2015 MEKATRONİĞİN TEMELLERİ 33
Analog sinyal-örnekleme-kodlama: 12/15/2015 MEKATRONİĞİN TEMELLERİ 34
Çevrim Zamanı: Analog dijital dönüşümünün başlangıcı ile dijital değerin kodlanarak çıkışta görüldüğü an arasında geçen süreye çevrim zamanı denir. ADC nin dönüştürme hızını belirlediği için çevrim zamanının kısa olması istenilir. Örnekleme Frekansı (Çevrim Frekansı): Analog- dijital dönüşüm frekansıdır. Bir saniye içinde yapılan dönüşüm sayısı anlamına gelir, sps (Sample Per Second ) birimi kullanılır. 12/15/2015 MEKATRONİĞİN TEMELLERİ 35
ADC girişine uygulanan analog sinyalin maksimum frekansının en az 2 katı örnekleme frekansı belirlenmelidir. Buna Nyquist oranı denir. Analog sinyal ile örnekleme frekansı aynı olursa hatalı sonuçlar ortaya çıkar. Örneğin 50 Hz alternatif gerilimi ADC ile dijitale dönüştürüp izlemek isteyelim. Eğer örnekleme frekansını da 50 Hz olarak belirleyip dönüşümler yapacak olursak, alternatif gerilimin hep aynı noktalarından örnekleme yapılacağı için hep aynı değeri elde ederiz. Bu durumda girişteki analog değer değiştiği halde çıkıştaki dijital değer hiç değişmez. 12/15/2015 MEKATRONİĞİN TEMELLERİ 36
Çözünürlük: ADC nin analog girişindeki en küçük değer değişimine karşılık çıkışında dijital farklılık oluşturma yeteneğidir. Uygulamada ADC ler için çözünürlük denildiğinde çıkıştaki bit sayısı akla gelmektedir. Çeşitli üretici firmalar tarafından 8, 10, 12, 14, 15, 16, 18, 20, 24 bit çözünürlükte değişik ADC entegreleri üretilmiştir. Dijital çıkışın bit sayısının fazla olması çözünürlüğü artırır. Analog sinyalin doğrusal olmaması ve gürültü bulunması çözünürlüğü azaltır. Analog-dijital dönüştürücüde çözünürlüğün yüksek olması istenir. 12/15/2015 MEKATRONİĞİN TEMELLERİ 37
Quantum Seviyesi (Bölüntü Seviyesi): ADC girişine uygulanan analog sinyal, minimum ve maksimum genlik değerleri arasında eşit aralıklara bölünür. Her aralık dijital çıkışta bir bitlik değişime neden olur. Örneğin n sayıda dijital çıkışı olan bir ADC 2n adet ayrık quantum seviyesine sahip demektir. Girişteki analog sinyalin minimummaksimum arası 2n adet eşit parçaya bölünmüş olur. 12/15/2015 MEKATRONİĞİN TEMELLERİ 38
Doğruluk: Girişteki analog değere karşılık olması beklenen dijital çıkış ile gerçekleşen dijital çıkış arasındaki ilişkiye doğruluk denir. Analog sinyalde bulunan gürültüler, analog sinyal için kullanılan ADC tipinin uygun olmaması,aşırı veya az örnekleme frekansı gibi etkenler doğruluğu azaltır. Polarite: Girişe sıfır-pozitif (0, +Vin) sinyaller uygulanabiliyorsa tek yönlü (monolitik) ADC denilir. Tek girişi vardır. Girişe negatifpozitif (-Vin, +Vin) sinyaller uygulanabiliyorsa çift yönlü (bidirectional) ADC denilir. Çift giriş ucu vardır. 12/15/2015 MEKATRONİĞİN TEMELLERİ 39
ADC çeşitleri: Paralel karşılaştırıcı (Flash) A/D dönüştürücü Sayısal eğimli (Basamak rampalı) A/D dönüştürücü Girişi izleyen A/D dönüştürücü Tek eğimli A/D dönüştürücü Çift eğimli A/D dönüştürücü Ardışık yaklaşımlı (SAR) A/D dönüştürücü Şarj dengeleme sistemli A/D dönüştürücü Gerilim/Frekans dönüştürücülü ADC Delta-Sigma A/D dönüştürücü Boru Hattı Tipi (Pipeline) A/D dönüştürücü Ayrık Zamanlı ADC (Time-Interleaved, TI-ADC) 12/15/2015 MEKATRONİĞİN TEMELLERİ 40
12/15/2015 MEKATRONİĞİN TEMELLERİ 41
Ardışıl yaklaşımlı (SAR) ADC 12/15/2015 MEKATRONİĞİN TEMELLERİ 42
Ardışık yaklaşımlı ADC karşılaştırıcı, DAC ve ardışık yaklaşım kaydedicisinden (Successive Approximation Register SAR) oluşmaktadır. Ardışık yaklaşım kaydedicisi en ağırlıklı Bit ten (MSB) başlayarak en az değerli (LSB) Bite doğru sıra ile çıkışını 1 yapar. Her aşamada sonuç DAC ile analog sinyale dönüştürülür ve giriş sinyali ile karşılaştırılır. Analog girişin büyük olduğu durumda ilgili bit 1 olarak kalır. DAC çıkışının büyük olduğu durumda ilgili bit 0 yapılır. Bütün bitler tarandıktan sonra çevrim bitirilmiş olur ve dijital değer kaydediciye alınır. Böylece sayma süresi kısaltılarak A/D dönüştürücünün hızı artırılmıştır. 12/15/2015 MEKATRONİĞİN TEMELLERİ 43