enkoder anlık hız bilgisini bulma?

Başlatan bulut_01, 13 Haziran 2017, 20:40:19

bulut_01

iyi aksamlar pic proje ailesi enkoderden aldıgım pulsları matematiksel işlemden sonra rpm ceviriyorum yanlız rpm cevirirken 1 sn kadr beklemek zorunda kalıyorum benim istediğim anlık rpm ölçümü kararlı bir sekilde ölçmem lazım bana bu konuda yardımcı olabilirseniz sevinecegim.
YENİLMEZ..

skara1214

timer kurup belli zaman aralıklarında ölçüm almalısınız.
Herkes ölür ama herkes gerçekten yaşamaz

engerex

Enkoder 3 pulse 2.5 ms'de üretiyorsa saniyede kaç pulse üretir?

bulut_01

Arkadaslar motorun saniyediki puls sayısını belli bir rakamla carptıgım zmn motor hız bilgisine ulasıyorum benim istediğim anlık hızı timer kursam belli süre yine beklicem bana anlık hızı lazım
YENİLMEZ..

skara1214

hız değeri bahsettiğiniz gibi birşey değildir. hızı ölçmek için zaman geçmesi gerekmektedir. Pozisyon bilgisi ile karıştırmayın
Herkes ölür ama herkes gerçekten yaşamaz

superconductor

Eğer enkoderiniz yüksek çözünürlüklü ise ölçüm zamanını azaltarak sayım yapabilirsiniz. Değil ise en güzel çözüm pulse saymadan, iki pulse arasında geçen süreyi ölçmek. Bu yöntem ile düşük çözünürlüklü enkoder ile düşük hızlarda dahi yüksek çözünürlüklü hız bilgisi elde edebilirsiniz. Burada dikkat etmeniz gereken birşey var; enkoder diskinin yarıkları arasında az çok farklar vardır, bu küçük farklar ölçüm sonuçlarında jittere yol açar. Basit bir düşük geçiren filtre ile jitterden kurtulabilirsiniz.

bulut_01

Hocam ben int rb kullanıyorum enkoderden gelen puls ile rb kesmesi olusturuyorum sizin dediğinize göre rb kesmesi içine sayıcı koyup onu 60 bölerek mi hız bilgisine erişmek dogru olacaktır enkoder 100 puls a ve b çıkıslıdır yada örnek kod yazabilirmisiniz bu konuda iki puls arasını ölçme konusunda.
YENİLMEZ..

engerex




Alıntı yapılan: engerex - 13 Haziran 2017, 20:54:02Enkoder 3 pulse 2.5 ms'de üretiyorsa saniyede kaç pulse üretir?
Alıntı yapılan: bulut_01 - 13 Haziran 2017, 22:29:47
Arkadaslar motorun saniyediki puls sayısını belli bir rakamla carptıgım zmn motor hız bilgisine ulasıyorum benim istediğim anlık hızı timer kursam belli süre yine beklicem bana anlık hızı lazım




Bunu hesaplamak için neden 1 saniye bekliyorsun? Enkoderin devirdeki pulse sayısını 3 pulse süresiyle çarpıp sonucu 3'e bölmek (dakika için birde 60 ile çarpmak) neden 1 saniye zaman alıyor?

bulut_01

Cünkü 1 sn beklemeden hız ölctugum zmn örnek motor sabit 100 rpm dönerken ben  150 gibi sonra yeniden 100 oluyor sacma sapan degerler okuyorum
YENİLMEZ..

tekosis

#9
Anlık bilgi için motorun milinebağlı encoder yerine bir dinamonuz(dc fön makinesi motoru vs. ) olur, motor devri arttıkça dinamonun ürettiği voltaj da artar. Bu voltajı anlık olarak adc den okursanız hız bilgisini alabilirsiniz. Tabi öncesinde dinamonuzun hız/voltaj grafiğini yada fonksiyonunu elde etmeniz lazım. Gerisi voltajı yorumlama işi.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

bulut_01

Hocam motorda mevcut enkoder varken dinomoyla ugrasmanın  ne anlamı var
YENİLMEZ..

tekosis

Anlık bilgi demişiniz encoderle nasıl olacak bilmem. Mekanizmanız uygun değilse dinamo da olmaz tabi. Enkoderde ya zamanlayıcı kurup pals sayacaksınız yada en iyi ihtimalle iki pals arasındaki süreyi ölçeceksiniz. Her iki durumdada bir bekleme olacak. Ha tabi analog sistemde de bir adc çevrim süreci olacak. Artık bu seçeneklerden birini seçeceksiniz tercih, yöntem size kalmış. Kolay gelsin.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

ido2323

Hız= Kat edilen mesafe / zaman; örnek= 360 puls/saniye, 80km/saat


Şimdi anlık hızı zamandan bağımsız nasıl hesaplarız? Tabi ki de hesaplayamayız.

bulut_01

Peki arkadaslar iki puls arasını ölçsem bunu en iyi sekilde nasıl yaparım kodda gösterebilirmisiniz? Not int RB kesmesini kullanıyorum.
YENİLMEZ..

görkem

ilk pals geldiğinde rb kesmesinde timer i set edersin tekrar pals geldiğinde timer ı kapatır timer daki veriyi değişkene atar kullanırsın bu senin pals süren olmuş olur.