Bir proje için takometre yapıyorum.Proximity sensör ile her devirde bir pulse sayıyorum.
1 saniye boyunca bu pulse'ları sayıp 1 saniye sonunda toplam pulse'u 60 ile çarpıp rpm olarak saklıyorum.Bu şekilde yaptığımda çözünürlüğüm 60 oluyor.Buda bana yeterli gözükmedi.Buna çözüm olarak 6 elemanlı bir buffer yaptım buffer'a saniyede sayılan devir bilgisini yüklüyorum ve 6 saniyelik değerler tutuluyor bunuda 10 ile çarpıyorum.Buda bana rpm bilgisini veriyor.Çözünürlüğüm ise 10 oluyor.Bu seferde 6 saniye önceki değerde hesaba katıldığı için sistem yavaş tepki veriyor.
Çözünürlüğü yüksek hızlı tepki veren bir takometre algoritması önerisi verebilirmisiniz.
Teşekkürler.
Çözünürlük algoritmadan ziyade senin 1 turda kaç puls aldığınla alakalı. Eğer senin takometren tur başına 1 puls üretiyorsa ve sistemin dakikada 70 tur ile dönüyorsa sen 1 sn lik ölçümlerle bunu algılayamazsın ve çözünürlüğün doğal olarak 60rpm olur. Bunun için Takometrenin çözünürlüğünü arttırmalısın.
1 tur için geçen süreyi milisaniye olarak ölçüp bunun tersini (1/x) 60bin ile çarpabiliriz (daha da iyisi 60000 i buna bölmek). işin kod kısmı zorluk çıkarır mı bilemiyorum.
https://m.tr.aliexpress.com/item/32227278015.html?trace=wwwdetail2mobilesitedetail&productId=32227278015&productSubject=1pcs-E6B2-CWZ3E-1000P-R-encoder-for-Omron-voltage-output-incremental-encoder-1500-line-rotary-servo
Bence en hassas şekilde linkte verdiğim encoder ile yaparsınız. Tur başına 2000 çözünürlük elde edersiniz ama sisteminizi değiştirmeniz gerekir.
Başka bir öneri:
Asetat kağıdına dairesel şekilde yerleştirilmiş çizgiler basın.
https://www.pinterest.co.uk/pin/141652350754135685/
Sonra bunu ölçüm miline takıp opto kuplör ile sayabilirsiniz. Tur başına istediğiniz pulsi elde edersiniz.
Enkoder yapmak için şu yazılım kullanılabilir.
https://code.google.com/archive/p/wheel-encoder-generator/
Küçük frekanslar için en uygun metot peryot süresini ölçüp frekansı hesaplamaktır. Frekansı 60 ile çarparsanız deviri RPM olarak bulursunuz.
Peryot ölçümü için en uygun metot CAPTURE'dır. Aşağıdaki linklerde yapmış olduğum çalışmalar görülmekte.
https://elektrokod.wordpress.com/2014/01/23/ultrasonik-mesafe-sensoru-uygulamasi-3/ (https://elektrokod.wordpress.com/2014/01/23/ultrasonik-mesafe-sensoru-uygulamasi-3/)
https://elektrokod.wordpress.com/2018/10/08/arduino-timer1-giris-yakalama-birimi-timer1-input-capture-unit/ (https://elektrokod.wordpress.com/2018/10/08/arduino-timer1-giris-yakalama-birimi-timer1-input-capture-unit/)