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

Başlatan Cemre., 14 Eylül 2019, 19: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, 21: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.



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