pic ile enkoder okuma

isoment01

Üye
Katılım
26 Haz 2016
Mesajlar
197
Puanları
1
Yaş
32
herkese merhaba, elimde dc fırcasız 6v 500 rpm ve 2000 rpm lik motorlar var ben bu motorları pwm sinyalleriyle ile sürdüm , fakat bu motorlara 1.6 metre boyunca sabit hızda git gel yaptırmak istiyorum forumda hesabının tam tutması için enkoder kullanmam gerektiğini söylediler. Konuyu biraz araştırdım fakat aklımda kuramadığım yerler var motorum enkoderden aldıgı palslere göre mi dönecek ? yoksa enkoder motor ne kadar dönüyorsa onla senkron bir sekılde dönüp gercek tur hesabını mı verecek ? benim enkoderden aldıgım palsler acıkcası ısıme nasıl yarıyor pek kavrayamadım konu ile alakalı bilgim cok az forumdaki konulardan da cok bişey anlamadım. 1.6 metre gidip gelmesini ben enkodere mi yaptıracam kafam cok karıstı :/
 
Encoder e puls üret diyemezsiniz, döndükçe kendi üretir, encoder motor miline bağlıdır,
Sizin sistemde motor encoderden aldığı puls sayısı ile dön-dur yaptıracak.
(Başka bir uygulamada motorun dönüş hızını ayarlamak içinde kullanılabilir. PWM sinyali üretir.şimdiki konu dışındadır. kafanız karışmasın)
Afaki, 1.6 metre ilerleme için 1600 puls'e ihtiyacınız olsun, encoderden gelen puls'u sayarak işlemcinizde-plc nizde karşılaştırma yaparsınız, +1600 puls olduğunda motoru durdurup geri çalıştırısınız -1600 puls yani 0 (sıfır) olduğunda başlangıç noktasında geldiğinizi bilirsiniz.


https://www.kontrolkalemi.com/forum/attachments/encoder-pdf.38307/
 
Son düzenleme:
Aynı şekılde benımde bı dusuncem var step motor mılıne baglı vidalı mil üzerinde bulunan rulmanın konumu ögrenmek istiyorum.. bilgisayar arayuzunde yazılmıs bır programda girdiğim konuma göre rulamanı oraya kadar götürecek.. Encoder konusunda yardımlarınızı beklıyorum..
 
rulman motor şaftı ile eş merkezli hareket ediyor değil mi ? burdan anlatıttıgından bu cıkıyor oyle ıse enkoder yardımcı olabılır
 
evet doğrudur.. Motor mili kaplin ile vidali mile bağlı. step motor çift yönlü mile sahip..
 
evet doğrudur.. Motor mili kaplin ile vidali mile bağlı. step motor çift yönlü mile sahip..
absolute enkoder araştır. 360 derece için yani milin 1 tam turu için her derecede farklı bir değer veriyor. her adımda bu değerleri görebilirsin ve motor milinin o an kac adım döndüğünü ve en son hangi derecede kaldıgını burdan hesaplarsın bulacagın sonucta rulmanın yer değiştirmesini verir.
 
Plc kullandığını varsayıyorum, hatta s7 ailesini kullandığını varsayarak şöyle açıklayım;
enkoderin A/B kanallı(bir de z kanalı olabilir o direk hız bilgisi içindir.) olduğunu varsayalım.
eğer 500 puls'lik bir enkoder kullanırsan ve A veya B kanalından sadece birini kullanırsan 500 puls 360 derece demektir. Ama bu çözünürlük yani motorun frekansını 360/500'lük hassasiyette ölçmek yetmiyor diyor isen 2 kanalı da bağlayıp 360/1000 bir çözünürlük elde edersin. bu teori kısmı şimdi gelelim mevzuata
iş bu mevzuat gereği caprin ile birlikte motorun miline encoderi eş eksenli yerleştirdik veya bir şekilde iliştiridik
ondan sonra senin plc kısmını konfigüre etmen lazım atıyorum;
enkoderin a kanalını I0.0'a b kanalını I0.1'e bağladın.
tia portal üzerinden bu pulseri sayabilecek bir fonksiyon aslında bi interrupt oluşturman gerekiyor. bu da bir hsc(high speed counter/ sayıcı) ile olur. önce plc konfigürasyonundan hangi hsc kullanıyorsan plc ye göre değişir 4 ila 8 arasında onu enable etmen gerekiyor. Sonra gpıo ayarlarından I0.0 ve I0.1'in data okuma clock süresini enkoderden gelen veriyi kaçırmayacak düzeye indirmen gerekiyor.
ondan sonra hangi data blockunda kullanmak istiyorsan oraya ilgili hsc'yi çağırıp kullanman gerekiyor falan filan.
kabaca böyle muhtemelen arkadaş bulmuştur cevabı lakin bu soruyu çok gördüm yazmak istedim belki birinin işine yarar.
Ayrıca bu anlattığım mevzu motion control'ün temelidir diyebilirim. enkoderden aldığın veriyi hız bilgisine çevirip sonra pid ayarlarına girip milimetrenin binde 5'i hassasiyette çalışan sistemler tasarlanabilir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…