enkoder için algoritma destek pls.

Başlatan canbulut, 10 Haziran 2016, 21:15:08

canbulut

enkoderden gelen pulsleri sayacağız. banta konulanan ürünün yerini bilmem gerekiyor. aynı anda bir kaç ürünün yerini nasıl tespit edebilirim.

magnetron

eğer banta konduğu anı tespit edebiliyorsan konduğu andaki enkoder değerini kaydet her bir ürün için

bantın ilerleme hızını da biliyorsan nerde olduğunu bir toplama işlemiyle bulursun

canbulut

#2
enkoder hakkında bilgim az. enkoderden gelen pulseleri sayarak konum bulmayı düşünüyorum. verdiğiniz cevaba istinaden bir örnek vermeniz mümkünmü?

mesaj birleştirme:: 11 Haziran 2016, 22:25:52


not : bilgim az derken bir a ve b sinyali var. benim yön ile işim olmadığından sadece a sinyali ile ilgilensem yetiyor diye düşünüyorum.

magnetron

enkoderi saydırmayı başar - 32 bitlik bir sayıcı yap - bant dönünce bu değer sürekli sabit bir hızla artacaktır

ondan sonra ürünü banta koyduğun anda PIC veya ARM enkoder değerini kaydetsin

sonra koyduğun andan itibaren geçen zamana göre deneme yanılma yöntemiyle bulduğun bir ofset değerini
enkoder sayısına ekle - işte ürün ordadır

canbulut

#4
bu işi word tipinde yapsak olmazmı? ayrıca c ucunda her turda bir pulse üretirmiş. maalesef bir şey anlamadım da. ya da soramadım :(

f15eagle

hocam merhaba,

Öncelikle tek yön çalışsanız bile sadece A sinyalini kullanmanız yetersiz olabilir, çalışma anında ileri geri işlemi olursa yada bantta kayma olursa geri palslerini de ileri sayacaksınız.
Benim tavsiyem A B ve Z sinyallerini kullanmanız yönünde.

Z sinyali enkoderin referans noktasıdır. Saydığınız pals sayısının doğruluğunu Z sinyali geldiğinde enkoderin turbaşına pals sayısı ile karşılaştırarak kontrol edebilirsiniz.

linkteki açıklamar ve örnek açıklayacı olacaktır
http://tutorial.cytron.com.my/2012/01/17/quadrature-encoder/


canbulut

#7
Alıntı yapılan: f15eagle - 11 Haziran 2016, 12:02:50
hocam merhaba,

Öncelikle tek yön çalışsanız bile sadece A sinyalini kullanmanız yetersiz olabilir, çalışma anında ileri geri işlemi olursa yada bantta kayma olursa geri palslerini de ileri sayacaksınız.
Benim tavsiyem A B ve Z sinyallerini kullanmanız yönünde.

Z sinyali enkoderin referans noktasıdır. Saydığınız pals sayısının doğruluğunu Z sinyali geldiğinde enkoderin turbaşına pals sayısı ile karşılaştırarak kontrol edebilirsiniz.

linkteki açıklamar ve örnek açıklayacı olacaktır
http://tutorial.cytron.com.my/2012/01/17/quadrature-encoder/

hocam benim projemde bantın geri dönmesi durumu yok. sadece ileri olacağı için z referansı yeterli gibi görünüyor. yine de varsa tavsiyelerinizi bekliyorum. int0 kesmesi ile mi ? başka bir şey ile mi? vs vs.