Artımsal (Incremental) Enkoder Z Darbesi değerlendirme

Başlatan Cemre., 14 Eylül 2019, 16:31:00

Cemre.

Herkese merhaba,

Optik artımsal enkoder konusunda kafama takılan bir nokta var.

A ve B Darbeleri birbirlerine göre faz farkı üreterek artımsal olarak sayma işlemleri yapmamıza ve buna bağlı olarak gerçek rotor pozisyonu ve rotor hızı bilgilerini toplamamıza yardımcı oluyor. Encoder okuma işi yapılırken x1, x2 ve x4 modlarında okuma yaparak gerçek çözünürlüğü artırmak da mümkün oluyor. Buraya kadar her şey bildiğiniz gibi.

Z Darbesi ise A ve B'den farklı olarak, enkoderin her bir turunda yalnızca bir kez üretiliyor.

Örneğin servo motor/sürücü sistemlerinde Z Darbesinin çok kritik öneme sahip olduğunu biliyorum. Mutlak konum bildiren (Absolute) enkoderler yerine Artımsal enkoder tercih edilmesinin en önemli sebebi maliyet. Ancak yine de rotor pozisyonunu kesin olarak bilmek gerekiyor. Bu nedenle rotor kutup altına getirildiğinde enkoder Z Darbesi üretecek şekilde servo motorlar fabrikada kalibre ediliyorlar.

Hikaye kısmını geçecek olursak anlayamadığım kısım şudur.

Z Darbesi başka bir kaynakta okuduğum kadarıyla B Darbesinin bir tam periyodu boyunda HIGH konumunda olan, geri kalan tam tur boyunca LOW konumunda olan bir sinyal. Ancak örn x4 modunda enkoder okurken bahsedilen periyotta toplam 5 adet yükselen/düşen kenar bulunuyor, bunun biri Z Darbesi yükselen ve diğer bir tanesi Z Darbesi düşen kenarına denk geliyor. (Aşağıda görsel mevcut.)


Örneğin CW dönen bir motorda, Z yükselen kenarı anında sayıcıyı sıfırlarsak, Z düşen kenarına geldiğinde sayıcı değeri 4 olacak. CCW yönde ise yine aynı durum geçerli. Bu durumda önce CW dönüp, Z'i geçtikten sonra tekrar CCW dönmeye karar verirse motor, Z'den geçtikten sonra rotor pozisyonu 4 pulse kaymış olacak. (Umarım anlaşılır olmuştur)

Düşen kenar anında sıfırlama durumunda da yukarıdaki durum geçerli. Her iki kenarda sıfırlamak da pek mantıklı gelmiyor. Z Darbesi HIGH olduğu sürece 0'da tutmak belki denenebilir.

Z Darbesini bu tip bir kapalı çevrim kontrol sisteminde değerlendirirken nasıl bir yol izlemek gerektiğine dair bilgi/deneyim paylaşma imkanı olan var mı?

STM32F303x işlemcisini kullanarak bir kontrolcü yapmakla meşgulüm. Timer Encoder Interface kullanarak rotor hızını tespit edebiliyorum şu an için. Rotor gerçek pozisyonunu tespit etmekle yükümlü rutinleri yazmadan önce bir beyin fırtınası yapmak istedim. Değerli yorumlarınızı bekliyorum..

İyi günler dilerim.


taydin

Z pulse her zaman B peryodu uzunluğunda olmayabilir, daha kısa da olabilir. O konuda bir varsayım yapılmamalı, ve yapılmasına da gerek yok. Z'nin yükselen kenarında tur sayacını sıfırladınız mı herşeyin yolunda gitmesi lazım.

Yükselen kenarda tur sayacını sıfırlıyoruz. Tam Z nin yükselen kenarında meydana gelecek bir A ve B değişimini görmezden geliyoruz. Ondan sonraki ilk A ve B değişiminde hem saymaya başlıyoruz, hem de hangi yönde döndüğümüzü anlıyoruz. Öyle değil mi?

Buradaki en önemli konu, Z sinyalini gürültüye ve parazite karşı çok iyi korumak. Eğer fazladan bir Z gelirse veya bir Z kaçırılırsa artık makina konumunu yanlış biliyor demektir. Bunun için, ekstra gürültü bağışıklığı için, bazı enkoderlerde bu Z sinyali diferansiyel (balanslı) olarak çıkıyor.

A veya B sinyalini de korumak faydalı olur, ama çok kritik değildir. Kaçırılan bir A veya B nin yaratacağı pozisyon hatası çok küçük olacaktır, ve o hata da zaten bir sonraki Z ile düzeltilmiş olacak.
Timur Aydın (mekatronik.org)

Cemre.

Alıntı yapılan: taydin - 14 Eylül 2019, 18:40:50Z pulse her zaman B peryodu uzunluğunda olmayabilir, daha kısa da olabilir. O konuda bir varsayım yapılmamalı, ve yapılmasına da gerek yok. Z'nin yükselen kenarında tur sayacını sıfırladınız mı herşeyin yolunda gitmesi lazım.

Yükselen kenarda tur sayacını sıfırlıyoruz. Tam Z nin yükselen kenarında meydana gelecek bir A ve B değişimini görmezden geliyoruz. Ondan sonraki ilk A ve B değişiminde hem saymaya başlıyoruz, hem de hangi yönde döndüğümüzü anlıyoruz. Öyle değil mi?

Buradaki en önemli konu, Z sinyalini gürültüye ve parazite karşı çok iyi korumak. Eğer fazladan bir Z gelirse veya bir Z kaçırılırsa artık makina konumunu yanlış biliyor demektir. Bunun için, ekstra gürültü bağışıklığı için, bazı enkoderlerde bu Z sinyali diferansiyel (balanslı) olarak çıkıyor.

A veya B sinyalini de korumak faydalı olur, ama çok kritik değildir. Kaçırılan bir A veya B nin yaratacağı pozisyon hatası çok küçük olacaktır, ve o hata da zaten bir sonraki Z ile düzeltilmiş olacak.

Servo motorların hem enkoder hem de hall effect sensör çıkışları Diferansiyel Çıkış tipinde.

Deneylerin sonucunu aktaracağım.

z

Eger encoder sinyali gurultuden dolayi hataya neden oluyorsa o sistemden hayir gelmez.
Bu nedenle endustride resolverlara geri donuluyor.

Bugune kadar Z sinyalli encoder ile hic calismadim ve calismayi dusunmuyorum.

Calisacak olsam Z yi power on asamasinda 1 kereligine kullanirdim.

Eger isin icinde motora sonradan takilacak Z sinyali olan bir encoder varsa yuksek dogrulukta montaj gerekecektir. Bu da butun hevesimi kirar.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ibra

https://pasteboard.co/IxuEVgK.png

Z veya n kanal tam olarak  A ve B kanallarını kapsamıyor. Bu şekilde 4 kat fazla okuma yapılıyor.
A_C5h5n5

Erol YILMAZ

#5
Encoder de Z palsi ne işe yarar? diye dusunurum arada...
Diy CNC ile pek ugrasmadim ama oradaki sifirlama problemini dusunurken aslinda Z nin iyi bir sifirlama araci oldugunu farkettim.

Şoyle ki...
Limit sw'ler mekanik yapisi sebebiyle mikronluk sifirlamalara izin veremez.
Precision bir sifir noktasi icin optik gibi keskin bir cozume ihtiyac var.

1. Endustriyel CNC tezgahi ilk sifirlamada limit switche dokunur...

2. Sonra Geri yonde Limit sw ten cikincaya kadar yavasca ilerler...
3. Bunun ardindan Z'yi ilk gordugu yerde mutlak sifirlamayi sağlar...

Diye dusunuyorum.

Cemre.

Alıntı yapılan: Erol YILMAZ - 31 Ocak 2021, 18:29:51Encoder de Z palsi ne işe yarar? diye dusunurum arada...
Diy CNC ile pek ugrasmadim ama oradaki sifirlama problemini dusunurken aslinda Z nin iyi bir sifirlama araci oldugunu farkettim.

Şoyle ki...
Limit sw'ler mekanik yapisi sebebiyle mikronluk sifirlamalara izin veremez.
Precision bir sifir noktasi icin optik gibi keskin bir cozume ihtiyac var.

1. Endustriyel CNC tezgahi ilk sifirlamada limit switche dokunur...

2. Sonra Geri yonde Limit sw ten cikincaya kadar yavasca ilerler...
3. Bunun ardindan Z'yi ilk gordugu yerde mutlak sifirlamayi sağlar...

Diye dusunuyorum.

Bahsi geçen teknik endüstriyel servo sürücülerde dahili özellik olarak bulunuyor. Halihazırda sıklıkla başvurulan bir Homing yöntemi.

Tagli

Çok emin değilim ama benim bildiğim kadarıyla Z sinyalinin amacı A-B hattı kaynaklı olası hatalı sayımların birikmesini engellemek. Sayım hatası oluşmuşsa bile gelen ilk Z ile birlikte sıfırlama yapıldığı için hata da sıfırlanıyor. Ama evet, eğer Z'de bir hata olursa çok daha ciddi hatalara sebep verebilir. Ama belki daha düşük frekanslı olduğu için Z'nin değerlendirilmesinde hata ihtimali daha azdır, bilemiyorum.
Gökçe Tağlıoğlu

Mr.Thinking

#8
Sahne robotlarında Z sinyali şu şekilde uygulanmıştır:Her iki yöndede sınır swici olmayan bir mekanizmadan bahsediyorum;
mekanik aksamda pan ekseninin miline bağlı özel olarak ayarlanmış bir halka var, motor 720 derece döndüğünde bu halka sadece 360 derece dönüp bir sete çarpıyor ve motoru durdurup akım çekmesine sebeb oluyor. Bu aşırı akım bilgisi okunup bu nokta Z olarak alınıyor ve sistem burada sıfırlanıyor. Yada burada; "motor hala döndürülüyor ama encoder saymıyor" bilgisi alınarak mekanizmada sona dayanıldığı anlaşılıyor.
 Buradan sonra da motora ters yönde 10 veya daha fazla step attırılıp Zero noktası belirleniyor.
Buradaki asıl espri mildeki özel konumlandırımış halka.
Bu durum makine her ilk enerjilendiğinde uygulanıyor. 
Belki mantık olarak faydası olur diye yazdım.
ego=1/Knowledge

Mr.Thinking

#9
Bir şey daha var bu robotlarda;
Durağan pozisyonda iken elle müdahale edilip pozisyonu değiştirildiğinde motor en son kaldığı pozisyona geri dönüyor.
Yani step sayıları ile encoderdan gelen puls sayıları yazılımda eşitleniyor.
Eğer mekanizma bir yere takılır ve motor verilen step pulsleri sayısı kadar gidemezse encoderdan gelen puls sayısı eşit olmayacağı için eşitlenecek kadar yeniden step pulsi veriliyor ve olması gereken yere gönderiliyor.
Tam terside geçerli, yani;
eğer sistem doğru konumda iken elle müdahale edilip döndürülürse encoder sayacı değiştiği için sistem bunu algılıyor ve encoderda istemsiz oluşan puls sayısı ve yön bilgisi kadar motor döndürülüp eski haline getiriliyor.
Bilmem anlatabildim mi?
ego=1/Knowledge

z

Sanayi tipi dik işleme merkezlerinde vs diyelimki

Makineyi açıp homing işlemini yaptık.
İşlenecek parçayı tezgaha oturttuk ve komparatörle uygun pozisyona getirip parçayı tablaya sıktık.
İşparçasının izafi 0,0,0 noktasını belirledik.

Bu vaziyette iken parametreleri hafızaya aldık ve makineyi kapattık.

Ertesi gün izafi sıfırı yeniden belirlemeden hadi işe başla diyebiliyormuyuz?




Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Tagli

Sanayi tipi tezgahlarda kısaca "dijital" dedikleri cihaz bildiğimiz el kumpasının büyük ve ekranı dışarıda olanı. Aslında mutlak değil, arttırımlı olarak çalışıyor.

El kumpasları aç kapa yapınca eski konumlarını hatırlıyorlar. Bunun sebebi gerçekte hiç kapanmamaları. Kapatma düğmesine basınca sadece ekran kapanıyor. Ekran kapalıyken bile cihaz çalışıyor ve konumunu hafızada tutuyor. Bu durum durdukları yerde zırt pırt pillerinin bitmesini de açıklıyor.

Sanayi tipi dijital'lerde de durum aynı olsa gerek. Gerçi elektrik git gel yaptığında konumlarını hatırlıyorlar mıydı çok net hatırlamıyorum ama sanki hatırlıyorlardı diye kalmış aklımda. Zaten kocaman bir gösterge kutusu var, içine büyükçe bir pil koymuşlardır muhtemelen. Elektrik varken pili şarj etmeleri de mümkün.
Gökçe Tağlıoğlu

esensoy

Eksenler absolute encoderlı ise zaten homing diye bir şey yok,
Değilse ertesi gün 1 kez homing yapıp işe başlatılır,
En tehlikeli an "zafer" anıdır.

Erol YILMAZ

Is parcasi G54, G55, G56, G57 sifirindan birisini kullanir.

G54 sifirini mutlak koordinata göre bir kağıda yazdigimi hatirliyorum.

Hatirlasin yada hatirlamasin o koordinata göre günlerce  calisilabilir.

Cemre.

Belirli bir seviyenin üzerinde globalde üretim yapan firmaların (örn Mitsubishi, Omron vb.) servo sürücü sistemleri artık pilli veya bazen pilsiz multi turn absolute enkoder ile geliyor. 6 DOF robotlarda da aynı şekilde absolute enkoderler mevcut oluyor. Artık incremental enkoder tercihi standart dışı olarak veriliyor, standart ürünler absolute enkoder ile satılıyor...