請問一下計數的問題

各位大大好,小弟我用一個光遮斷器來量測轉盤的轉速,讀出來的訊號如下圖,有約1.78V跟0V的變化(會有些漂移),可是現在程式方面有一個問題,就是我寫的程式設定低於1.7V就計數一次,但問題來了,這樣等於說低於1.7的所有的點就會累加,如果取樣頻率很高,它所讀的點就會更多點,所以想請問各位先進,如何在每週期低於1.7V的時候只計數一次,而不是將低於1.7V的點全部加入,,謝謝。

![](upload://clsnpntcQipmiuie27NCbYXyMvg.jpeg)

參考

Count.vi
加個Boolean Crossing PtBYPt就可以了

還有..你如果這樣做要小心..你要確定你的再一個Pulse跟一個Pulse之間你的程式是否能執行完..
否則你會遺失Count數目..建議你用DAQ卡上的Count來計數..然後再用程式將值讀進來...
也就是硬體負責計算Count..軟體抓進來判別...至於如何用硬體計算..你可以搜尋站內的文章就有了..

SamYang38783.9715393518

SamYang 大大你好,首先 先謝謝你幫我想的程式,
可是就如你說的,它的程式計算時間太久了,所以我想請教一下我如何用硬體的count呢?
我找論壇的文章很多篇,可是都是介紹光編碼器,而我則是用 TCST1103的光遮斷器~http://www.21icsearch.com/searchpdf/vishay/tcs t110.pdf
他的輸出只有兩個接腳,經過我的測試沒遮斷時可以輸出約1.7V的電壓,遮斷後就輸出0V,我這兩個接腳應該如何接在我的硬體上呢?(是要接ctr0-source跟ctr0-out嗎?)
我使用的是pci-6036e的DAQ卡,http://sine.ni.com/nips/cds/view/p/lang/en/nid/11913,還有程式我是要用count edge還是其他的呢?
問了這麼多~希望大大能幫我想想辦法~感激不盡!

其實光編碼器裡面的構造也是多組光遮斷器,所以說你看光編碼器的文章也是可以
沒錯就是要接ctr的腳位,不過這方面就要請你多翻文章了,因為我很久以前有使用過
忘了當初的接法,不過為何你的輸出電壓只有1.7V,這樣可能會有問題,因為硬體要判別false->ture
其臨界點因該是2.3~2.5V吧...是不是你提供的電壓只有1.7V,通常光遮斷器最大電壓就是你的提供電壓