Loading AI tools
Vikipedi'den, özgür ansiklopediden
Artımlı kodlayıcı (enkoder), cihaz hareket ettirildiğinde iki A ve B çıkış sinyalli darbeler veren, doğrusal veya döner elektromekanik bir cihazdır.[1] "A" ve "B" sinyalleri birlikte hareketin hem oluşumunu hem de yönünü gösterir. Çoğu artımlı kodlayıcının ek bir çıkış sinyali vardır ve bu sinyale, kodlayıcının belirli bir referans konumunda olduğunu gösteren, genelde "indeks"[2] veya "Z"[3] denilir. Ayrıca bazı kodlayıcılar, rulman arızası veya sensör arızası gibi dahili arızayı gösteren durum çıkışı ("alarm")[4] verir.
Mutlak kodlayıcı'dan farklı olarak, artımlı kodlayıcı mutlak konumu vermez, yalnızca konumdaki değişiklikleri[3] ve bildirilen her konum değişikliği için hareket yönünü bildirir. Sonuçta, belirli bir anda mutlak konumu bulmak için, kodlayıcı sinyallerini artımlı kodlayıcı arabirimine göndermek gereklidir, bu ise kodlayıcının mutlak konum değerini "izler" ve raporlar.
Artımlı kodlayıcılar konum değişikliklerini neredeyse anında bildirir, bu ise yüksek hızlı mekanizmaların hareketlerini neredeyse gerçek zamanlı olarak izlemeye olanak tanır. Bu nedenle artımlı kodlayıcılar, konum ve hızın hassas ölçümünü ve kontrolunu gerektiren uygulamalarda kullanılır.
Artımlı bir kodlayıcı, A ve B çıkış sinyallerini üretmek için dörtlü kodlayıcı kullanır. A ve B çıkışlarından çıkan darbeler karesel olarak kodlanmıştır, yani artımlı kodlayıcı sabit bir hızda hareket ettiğinde, A ve B dalga biçimleri kare dalgadır ve A ve B arasında 90 derece faz farkı vardır.[2]
Herhangi bir zamanda, "A" ve "B" sinyalleri arasındaki faz farkı kodlayıcının hareket yönüne bağlı olarak pozitif veya negatiftir. Döner kodlayıcıda faz farkı, cihaz tasarımına bağlı olarak saat yönünde dönüş için +90° ve saat yönünün tersine dönüş için -90° veya tam tersidir.
A veya B çıkışındaki darbe frekansı, kodlayıcının hızıyla (konum değişim oranıyla) doğru orantılıdır; yüksek frekanslar hızlı hareketi, alçak frekanslar ise daha yavaş hızı gösterir.[1] Kodlayıcı hareketsizken “A” ve “B” üzerinde statik, değişmeyen sinyaller verir.
Döner kodlayıcıda frekans, kodlayıcının mil dönüş hızını ve doğrusal kodlayıcılarda ise frekans doğrusal gidiş hızını verir.
Artımlı kodlayıcının çözünürlüğü, ürettiği konum bilgi hassasiyetinin ölçüsüdür. Kodlayıcı çözünürlüğü genelde birim yer değiştirme başına A (veya B) darbe sayısı veya eşdeğeri birim yer değiştirme başına A (veya B) kare dalga döngü sayısı cinsinden belirtilir. Döner kodlayıcılarda çözünürlük her devir başına düşen darbe sayısı (PPR) veya her devir devir başına düşen döngü sayısı (CPR)[3] olarak belirtilirken, doğrusal kodlayıcı çözünürlüğü belirli bir doğrusal dönüş mesafesine karşılık gelen darbe sayısı cinsinden verilir (örneğin mm başına 1000 darbe gibi).
Bu, kodlayıcının algılayabileceği en küçük konum değişikliği kodlayıcının ölçüm çözünürlüğünün aksinedir. A veya B üzerindeki her sinyal kenarı, algılanan konum değişikliğini gösterir. A (veya B) üzerindeki her kare dalga döngüsü dört sinyal kenarını kapsadığından (A yükselen, B yükselen, düşen A ve düşen B), kodlayıcının ölçüm çözünürlüğü tam bir A veya B çıktı döngüsü tarafından temsil edilen yer değiştirmenin dörtte birine eşittir. Örneğin 1000 darbe/mm doğrusal kodlayıcının 1 mm/ 1000 döngü= 1 μm döngü başına ölçüm çözünürlüğü vardır dolayısıyla bu kodlayıcının çözünürlüğü 1 μm/ 4 = 250 nm'dir.
Sabit hızda hareket ederken, ideal artımlı bir kodlayıcı A ve B arasında tam olarak 90°'lik bir faz farkıyla A ve B üzerinde tam kare dalgalar verir (yani darbeler tam olarak 180° genişliğindedir). Ancak gerçek kodlayıcılarda sensör kusurları nedeniyle darbe genişlikleri hiçbir zaman tam olarak 180° değildir ve faz farkı hiçbir zaman tam olarak 90° değildir. Ayrıca, A ve B darbe genişlikleri bir çevrimden diğerine (ve birbirine göre) değişir ve faz farkı her A ve B sinyal kenarında değişir. Sonuçta hem darbe genişliği hem de faz farkı bir dizi değer üzerinde değişir.
Herhangi bir kodlayıcı darbe genişliği ve faz farkı aralıkları sırasıyla "simetri" ve "faz" özellikleriyle tanımlanır. Örneğin, simetrisi 180° ±25° olarak belirtilen bir kodlayıcıda, her çıkış darbesinin genişliğinin en az 155° ve en fazla 205° olması garanti edilir. Benzer şekilde, 90° ±20° olarak belirtilen faz ile her A veya B kenarındaki faz farkı en az 70° ve 110°'den fazla olmaz.
Artımlı kodlayıcılar, çıkış sinyallerini sürmek (iletmek) için çeşitli elektronik devre tipleri kullanır ve üreticiler genellikle çeşitli sürücü tiplerinden herhangi biriyle belirli bir kodlayıcı modeli yapar. Çok bulunan sürücü tipleri açık toplayıcı (kollektör), mekanik, itme-çekme ve diferansiyel RS-422'dir.
Açık toplayıcı sürücüler (NPN transistörü veya n tipi MOSFET kullanan açık tahliye sürücülerini kullanarak), geniş sinyal voltaj aralığında çalışmaya imkan verir ve çıkış akımını oldukça azaltabilir. Bu özellikleri nedeniyle açık toplayıcı sürücülerini, akım döngülerini, optokuplörleri ve fiber optik vericileri sürmede yararlıdır.
Akım kaynağı olmadığından açık toplayıcı sürücü çıkışı, pull-up direnci aracılığıyla pozitif bir DC gerilimine bağlanmalıdır. Bazı kodlayıcıların bu amaç için içinde kendi dirençleri vardır; pull-up direnci olmayan diğerleri harici bir pull-up direncine gerek duyar. İkinci durumda direnç, gürültü bağışıklığını iyileştirmek için genellikle kodlayıcı arabirim yakınına konulur.
Kodlayıcının yüksek seviyeli mantık sinyal voltajı, pull-up direncine uygulanan voltajla belirlenir (şemada VOH), düşük seviye çıkış akımı ise sinyal voltajı ve yük direnci (pull-up direnci dahil) ikilisince belirlenir. Sürücü düşük seviyeden yüksek mantık seviyesine geçtiğinde, yük direnci ve devre kapasitansı, sinyalin yükseliş süresini uzatan alçak-geçiren filtre oluşturmak için birlikte çalışırlar ve böylece sürücünün maksimum frekans gücü sınırlanır. Bu yüzden, açık toplayıcı sürücüler kodlayıcı yüksek frekanslar vereceğinde genellikle kullanılmaz.
Mekanik (veya kontak)[5] artımlı kodlayıcılar, doğrudan A ve B çıkış sinyallerini oluşturmak için kayan elektrik kontakları kullanır.[2] Genelde, kontaklar kapalıyken sinyal toprağına elektriksel olarak bağlanır böylece çıkışlar düşük "sürülür", bu ise onları açık toplayıcı sürücülerin mekanik eşdeğeri yapar ve bu nedenle aynı sinyal koşullandırma gereksinimlerine tabidir (yani harici pull-up direnci).
Maksimum çıkış frekansı, açık toplayıcı çıkışlarını etkileyen aynı faktörlerle sınırlıdır ve kodlayıcı arayüzü tarafından filtrelenmesi gereken kontak sıçraması ve mekanik kontakların çalışma hızı ile sınırlıdır. Bu nedenle mekanik kodlayıcılar yüksek frekans çalışması için uygun değildir. Ayrıca kontaklar normal çalışmada mekanik olarak aşınır ve bu cihaz ömrünü sınırlar. Mekanik kodlayıcılar dahili, aktif elektronik devreleri olmadığından nispeten ucuzdur. Bu özellikleri nedeniyle mekanik kodlayıcılar, hafif görevler ve alçak frekanslı uygulamalar için uygundur.
İt-çek (Push-pull) çıkışları (örneğin Transistör–transistör mantığı, TTL) genellikle mantık devresine doğrudan arayüz için kullanılır. Bunlar, kodlayıcı ve arabirimin birbirine yakın yerleştirildiği (örneğin, baskılı devre iletkenleri veya kısa, korumalı kablo hatları aracılığıyla birbirine bağlı) ve ortak güç kaynağından güç alındığı böylece elektrik alanlarına, toprak döngülerine ve sinyalleri ve dolayısıyla konum izlemeyi bozabilecek veya daha da kötüsü kodlayıcı arayüzüne zarar verebilecek iletim hattı etkilerine maruz kalmanın önlendiği uygulamalar için çok uygundur.
Diferansiyel RS-422 sinyalleme, genelde kodlayıcı yüksek frekanslar vereceğinde veya kodlayıcı arayüzünden uzakta bulunduğunda,[5][6] veya kodlayıcı sinyallerinin elektrik alanlarına veya ortak mod voltajlarına maruz kalabileceği durumlarda[5] veya arayüzün kodlayıcı ile arayüz arasındaki bağlantı sorunlarını belirlemesi gerektiğinde tercih edilir. Koordinat ölçüm makineleri, CNC makineleri, endüstriyel robot, fabrika otomasyonu ve uçak ve uzay gemisi simülatörlerinde kullanılan hareket platformları bunlara örnek verilebilir.
RS-422 çıkışları kullanıldığında, kodlayıcı her mantık çıkışı için bir diferansiyel iletken çifti sağlar; örneğin, "A" ve "/A", kodlayıcının "A" mantık çıkışını içeren aktif-yüksek ve aktif-düşük diferansiyel çifti için kullanılan tanımlamalardır. Sonuçta, kodlayıcı arayüzü, gelen RS-422 çiftlerini tek uçlu mantığa dönüştürmek için RS-422 hat alıcıları sağlamalıdır.[5]
Artımlı kodlayıcılar, mekanik cihazların fiziksel konumlarını izlemek için kullanılır. Artımlı kodlayıcı, izlenecek cihaza mekanik olarak bağlanmıştır, böylece cihaz hareket ettikçe çıkış sinyalleri değişir. Örnekler: Mekanik bilgisayar fareleri ve iztoplarının topları, elektronik ekipmandaki kontrol düğmeleri ve radar antenlerindeki dönen miller.
Artımlı bir kodlayıcı takip etmez ve çıkışları mevcut kodlayıcı konumunu göstermez; sadece konumdaki artımlı değişiklikleri bildirir.[3] Sonuçta herhangi bir anda kodlayıcı konumunu belirlemek için, konumu "izleyecek" harici elektronik devreler kullanmak gerekir. Artımlı kodlayıcı arabirimi olarak bilinen bu harici devre, artımlı konum değişikliklerini sayarak konumu izler.
Artımlı konum değişikliğinin her raporunu aldığından ("A" veya "B" sinyalinin geçişi ile gösterilir), kodlayıcı arayüzü A ve B arasındaki faz ilişkisini dikkate alır ve faz farkının işaretine bağlı olarak yukarı veya aşağı sayar. Kümülatif "sayımların" değeri, izleme başladığından beri kat edilen mesafeyi gösterir. Bu mekanizma, çift yönlü uygulamalarda doğru konum takibi sağlar ve tek yönlü uygulamalarda AB kod geçişi yakınında titreşim veya mekanik titremeden kaynaklanacak yanlış sayımları önler.
Çoğu zaman kodlayıcı sayıları metre, mil veya devir gibi birimlerle ifade edilmelidir. Bu gibi durumlarda, sayım başına kodlayıcı yer değiştirme oranı ile çarpılarak sayım istenen birime dönüştürülür:
Genelde bu hesaplama, artımlı kodlayıcı arayüzünden sayıları okuyan bir bilgisayar tarafından yapılır. Örneğin, hareketin milimetresi başına 8.000 sayı üreten doğrusal artımlı kodlayıcı kullanıldığında milimetre cinsinden konum şu şekilde hesaplanır:
Artımlı bir kodlayıcı arayüzünün mutlak konumu izlemesi ve raporlaması için kodlayıcının sayımları onun bağlı olduğu mekanik sistemdeki bir referans konumuyla ilişkilendirilmelidir. Bu genellikle, mekanik sistemin (ve kodlayıcının) bir referans konumu ile hizalanana kadar hareket ettirilmesi ve ardından ilgili mutlak konum sayımlarının kodlayıcı arabiriminin sayacına atanmasından oluşan sistemin yuvaya getirme (homing) işlemiyle yapılır.
Hedef aramayı kolaylaştırmak için bazı mekanik sistemlere mekanik sistem "yuva" (referans) konumundayken sinyal veren bir yakınlık sensörü yerleştirilir. Bu gibi durumlarda mekanik sistem kodlayıcı arayüzü sensör sinyalini alana kadar hareket ettirilerek bu konumun üzerine denk gelen konum değeri konum sayacına atanır.
Bazı dönen mekanik sistemlerde (örneğin dönen radar antenleri), ilgilenilen "konum", bir referans konumuna göre dönme açısıdır. Bunlar genelde indeks (veya Z) çıkış sinyalli döner artımlı kodlayıcı kullanır. "İndeks" sinyali mil referans konumundayken verilir böylece kodlayıcı arayüzünün referans açısını konum sayacına atamasına neden olur.
Bazı artımlı kodlayıcı uygulamalarında referans konum dedektörleri yoktur ve bu yüzden başka yollarla hedef arama yapılmalıdır. Örneğin bilgisayar, fare veya iztopu işaretleme aygıtı kullanırken önyüklemede bir başlangıç ekran konumu varsayılarak aygıt yuvaya getirilir ve karşılık gelen sayılar X ve Y konum sayaçlarına atanır.
Elle çalıştırılan kumandalar (örneğin, ses seviye kumandası) olarak kullanılan pano kodlayıcılarda, ilk konum elektrik gücü açıldığında ve konum sayacına atandığında ve güç kapatıldığında, flaş bellekten veya diğer kalıcı bellekten alınarak mevcut konum sayısı bir sonraki çalışma için başlangıç konumu olarak hizmet etmek üzere kalıcı belleğe kaydedilir.
Artımlı kodlayıcılar genellikle mekanik sistemlerin hızını ölçmek için kullanılır. Bu, izleme amacıyla veya hareket kontrolü için geri bildirim sağlamak amacıyla veya her ikisi için yapılabilir.[5] Radar anten dönüşünün ve malzeme konveyörlerinin hız kontrolü ve robotik, koordinat ölçüm makineleri (CMM) ve CNC makinelerinde hareket kontrolü bazı çok kullanılan uygulamalardır.
Artımlı kodlayıcı arayüzleri öncelikle mekanik yer değiştirmenin izlenmesiyle ilgilidir ve genellikle hızı doğrudan ölçmez. Sonuç olarak hızın, konumun zamana göre türevi alınarak dolaylı olarak ölçülmesi gerekir. Konum sinyali doğası gereği nicemlenmiştir ve bu durum, özellikle düşük hızlarda niceleme hatası nedeniyle türevin alınmasında zorluk çıkarır.
Kodlayıcı hızı, kodlayıcı çıkış darbelerini (veya kenarlarını) sayarak veya zamanlayarak belirlenebilir.[7] Ortaya çıkan değer, hızın hesaplanabileceği sırasıyla frekans veya periyodu gösterir. Hız frekansla doğru orantılı, periyotla ters orantılıdır.
Konum sinyali örneklenirse (ayrı bir zaman sinyali), darbeler (veya darbe kenarları) arayüz tarafından algılanır ve sayılır ve hız, genellikle arayüze okuma erişimi olan bir bilgisayar tarafından hesaplanır. Bunu yapmak için bilgisayar, zamanında arayüzden konum sayımlarını okur ve daha sonra ‘i bulmak için zamanında sayıları tekrar okur. Daha sonra ‘dan ‘e geçen zaman aralığındaki ortalama hız hesaplanır:[2]
Ortaya çıkan hız değeri, birim zaman başına sayım (örneğin saniye başına sayım) olarak ifade edilir. Ancak pratikte hızın genellikle saniye başına metre, dakika başına devir (RPM) veya saat başına mil (MPH) gibi standart birimlerle ifade edilmesi gerekir. Bu gibi durumlarda yazılım, sayımlar ile istenen mesafe birimleri arasındaki ilişkinin yanı sıra örnekleme periyodunun istenen zaman birimlerine oranını da hesaba katar. Örneğin devir başına 4.096 sayım üreten ve saniyede bir kez okunan döner artımlı kodlayıcıdada, yazılım RPM'yi şu şekilde hesaplar:
Hız bu şekilde ölçülürken, ölçüm çözünürlüğü hem kodlayıcı çözünürlüğü hem de örnekleme periyodu (iki örnek arasında geçen süre) ile orantılıdır; Örnekleme periyodu arttıkça ölçüm çözünürlüğü de artar.[2]
Alternatif olarak, darbe genişliği veya periyodu ölçülerek her kodlayıcı çıkış darbesinde bir hız ölçümü raporlanabilir. Bu yöntem kullanıldığında ölçümler belirli zamanlar yerine belirli konumlarda tetiklenir. Hız hesaplaması yukarıda gösterilenle aynıdır (sayım / zaman), ancak bu durumda ölçüm başlama ve durma süreleri ( ve ) bir zaman referansı ile sağlanır.
Bu teknik konum niceleme hatasını önler ancak zaman referansının nicelenmesiyle ilgili hatalara neden olur. Ayrıca faz hataları, simetri hataları ve geçiş konumlarındaki nominal değerlerden sapmalar gibi sensör idealsizliklerine karşı daha duyarlıdır.[8]
Artımlı kodlayıcı arayüzü, artımlı kodlayıcıdan sinyalleri alan, mutlak konum ve diğer bilgileri üretmek için sinyalleri işleyen ve elde edilen bilgileri harici devrelerin kullanımına sunan elektronik devredir.
Artımlı kodlayıcı arayüzleri, ASIC'ler, FPGAlardaki IP blokları, mikrodenetleyicilerde özel çevresel arayüzler ve yüksek sayım hızları gerekmediğinde yoklamalı (yazılım izlenen) Genel Amaçlı Giriş/Çıkışlar (GPIO) dahil olmak üzere çeşitli şekillerde uygulanır.
Uygulamadan bağımsız olarak arayüz, bir sonraki durum değişikliği olmadan önce her AB durum değişikliğini bulmak için kodlayıcının A ve B çıkış sinyallerini yeterince sık örneklemelidir. Bir durum değişikliği tespit edildiğinde, A'nın B'nin önünde mi yoksa arkasında mı olduğuna bağlı olarak konum sayımlarını artırılır veya azaltılır. Bu genellikle önceki AB durumunun bir kopyasının saklanması ve durum değişikliği üzerine hareket yönünü belirlemek için mevcut ve önceki AB durumlarının kullanılmasıyla yapılır.
Artımlı kodlayıcı arayüzleri, kodlayıcı tarafından üretilen sinyalleri almak için çeşitli elektronik devre türlerini kullanır. Bu hat alıcıları, aşağı yöndeki arayüz devrelerini korumak için tampon görevi ve çoğu durumda sinyal şartlandırma da yapar.
Artımlı kodlayıcı arayüzleri, tek uçlu (örneğin, itme-çekme, açık toplayıcı) çıkışlı kodlayıcılardan sinyalleri almak için tipik olarak Schmitt tetikleyici girişlerini kullanır. Bu tür hat alıcısı doğası gereği düşük seviyeli gürültüyü (giriş histerezisi aracılığıyla) reddeder ve aşağı akış devrelerini geçersiz (ve muhtemelen yıkıcı) mantık sinyali seviyelerinden korur.
RS-422 hat alıcıları genellikle diferansiyel çıkışlı kodlayıcılardan sinyal almak için kullanılır. Bu tip alıcı, ortak mod gürültüsünü reddeder ve gelen diferansiyel sinyalleri, aşağı akış mantık devrelerinin gerektirdiği tek uçlu şekle dönüştürür.
Kritik görev sistemlerinde, kodlayıcı güç kaybı, sinyal sürücü arızası, kablo arızası veya kablo bağlantısının kesilmesi nedeniyle giriş sinyali kaybını tespit etmek için bir kodlayıcı arayüzü gerekli olabilir. Bu genellikle geçerli giriş sinyallerinin yokluğunu bulan ve bu durumu "sinyal kaybı" durum çıkışı yoluyla bildiren gelişmiş RS-422 hat alıcıları kullanılarak gerçekleştirilir. Normal çalışmada, giriş durumu geçişleri sırasında durum çıkışlarında hatalar (kısa darbeler) görünebilir; Tipik olarak kodlayıcı arayüzü, bu aksaklıkların yanlışlıkla kayıp sinyaller olarak yorumlanmasını önlemek için durum sinyallerini filtreler. Arayüze bağlı olarak sonraki işlemler, sinyal kaybının belirlenmesine kesme isteği oluşturulmasını ve hata günlüğü veya arıza analizi için uygulamaya bildirim gönderilmesini içerebilir.
Artımlı kodlayıcı arayüzü büyük ölçüde bir saat sinyali tarafından hızlanan sıralı mantıktan oluşur. Bununla birlikte, gelen kodlayıcı sinyalleri arayüz saatine göre eşzamansızdır çünkü zamanlamaları yalnızca kodlayıcı hareketi tarafından belirlenir. Sonuçta, hem metastabiliteden kaynaklanan hataları önlemek hem de sinyalleri karesel kod çözücünün saat alanına zorlamak için A ve B (ayrıca kullanılıyorsa Z ve alarm) hat alıcılarından gelen çıkış sinyallerinin arayüz saatiyle eşzamanlı yapılması gerekir.[9]
Genellikle bu senkronizasyon, burada görülen iki flip-flop senkronizatörü gibi bağımsız, tek sinyalli senkronizatörler tarafından gerçekleştirilir. Çok yüksek saat frekanslarında veya çok az hata oranına gerek duyulduğunda, senkronizatörler kabul edilebilir derecede az bit hata oranına ulaşmak için ek flip-floplar içerebilir.[10]
Çoğu durumda bir kodlayıcı arayüzü, daha fazla işleme tabi tutulmadan önce senkronize kodlayıcı sinyallerini filtrelemelidir. Bu, motor uygulamalarında[11] yaygın olarak bulunan alçak-seviyeli gürültüyü ve kısa, büyük genlikli gürültü sivri uçlarını reddetmek ve mekanik tip kodlayıcılar durumunda, mekanik kontak sıçraması nedeniyle oluşan sayım hatalarını önlemek için A ve Byi geri döndürmek için gerekli olabilir.
Donanım tabanlı arayüzler genellikle kodlayıcı sinyalleri için programlanabilir filtreler sağlar, bu ise geniş bir filtre ayar aralığı sunar ve böylece gerektiğinde kontakları geri döndürmelerine veya gürültüden veya yavaşça dönen sinyallerden kaynaklanan geçişleri bastırmalarına olanak tanır. Yazılım tabanlı arayüzlerde, A ve B genellikle yazılım tarafından örneklenen (yoklama veya kenar kesintileri yoluyla) ve geri döndürülen GPIO'lara bağlanır.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.