先把每轉計數與量測時間寫清楚
轉速一直跳動,先不要急著加平均。你要先知道每轉會收到多少有效計數,以及目前使用固定時間內數脈波,還是量相鄰脈波的時間。本篇用每轉20個計數的虛構感測器,算出600轉每分與30轉每分,讓你看見兩種量法在高低速時的差別。所有數字都是教學案例,不是指定設備的實測性能。
把每轉有效計數命名為N。它不一定等於編碼器銘牌的PPR:若控制器對正交訊號採四倍計數,1000脈波每轉可能對應4000個有效計數。必須核對編碼器定義、模組計數模式及你讀出的數值來源。只把PPR填進公式,卻忽略倍頻模式,轉速就會固定差兩倍或四倍。
| 項目 | 本篇設定 | 使用前確認 |
|---|---|---|
| 每轉有效計數N | 20 個計數每轉 | 包含實際採用的倍頻方式 |
| 固定量測時間T | 0.1 秒 | 使用實際經過時間 |
| 相鄰計數間隔P | 以秒表示 | 邊緣等角度分布且時間戳有效 |
| 輸出 | RPM 轉每分 | 方向若需要須另由可靠訊號取得 |
計數輸入需要與訊號電氣規格相容。一般掃描接點可能漏掉比掃描週期短的脈波;高速計數模組也不是任何電壓與接線都能接。Q06UDVCPU本身不是編碼器輸入模組,QJ71C24N則是通訊模組。若使用QD62D,官方規格為差動線驅動器輸入,選型與接線必須依該模組文件核對。
固定時間內數脈波
固定窗量法的公式為RPM等於60乘計數增量,再除以每轉計數N及經過時間T。時間必須換成秒。本篇N為20、T為0.1秒,因此每增加一個計數,輸出增加30 RPM。這是量測的量化階梯,不是計算錯誤,也不是把畫面多顯示一位小數就能改善。
| 0.1秒內計數增量 | 計算 | 轉速 |
|---|---|---|
| 0 | 60 × 0 ÷ 20 ÷ 0.1 | 0 RPM |
| 1 | 60 × 1 ÷ 20 ÷ 0.1 | 30 RPM |
| 2 | 60 × 2 ÷ 20 ÷ 0.1 | 60 RPM |
| 20 | 60 × 20 ÷ 20 ÷ 0.1 | 600 RPM |
如果真正的轉速為15 RPM,每秒產生5個計數,0.1秒窗平均只有半個計數。某些窗看到0,某些窗看到1,所以顯示會在0與30附近跳動。把窗延長至1秒,單一計數對應3 RPM,解析度改善但更新更慢。這是時間反應與解析度的取捨,應依製程需要選擇。
實作時,先同時取得起始計數與時間,再同時取得結束快照,避免兩筆資料來自不同時刻。若設定窗為100毫秒,但實際量到102毫秒,就用0.102秒計算。每個PLC掃描加一次常數時間,可能把任務延遲誤當成精確時鐘;使用哪個時間來源、解析度及回繞方式,必須由目標平台確認。
量相鄰脈波時間
週期量法使用RPM等於60除以N,再除以相鄰有效計數的時間P。當每個計數代表相同角度,量到5毫秒就是60除以20再除以0.005,結果600 RPM;量到100毫秒則是30 RPM。這種方法在低速時能避免短窗只有零或一個計數的粗略跳動,但要等到下一個有效邊緣,才有新的結果。
| 相鄰計數間隔 | 換算成秒 | 預期轉速 |
|---|---|---|
| 5 毫秒 | 0.005 | 600 RPM |
| 10 毫秒 | 0.010 | 300 RPM |
| 100 毫秒 | 0.100 | 30 RPM |
| 尚未有第二個邊緣 | 無有效間隔 | 結果無效 |
| 時間戳差為0 | 低於解析度或資料異常 | 不可除以0 |
第一個邊緣只能建立起點,第二個邊緣才能形成週期。若你在一般掃描中用輸入由零轉一的時刻代替硬體捕捉時間,誤差包含掃描與輸入更新延遲,高速時尤其明顯。選用具有適合時間量測或捕捉功能的硬體前,要確認實際功能;不能因為模組叫高速計數器,就宣稱它一定能直接提供邊緣時間戳。
週期法還要求被量測的邊緣具有等角度間隔。若一圈內感測片不平均,單一間隔會讓轉速週期性波動;可以量完整一圈或多個已知等分間隔再計算。加減速時,週期值代表剛過去那段區間的平均速度,不是當下的瞬時速度。用它做控制回授之前,應評估延遲。
停止 缺脈波與資料溢位要分開處理
沒有新脈波時,不要一直保留上一筆600 RPM而不標示資料過期。建立最後邊緣時間,超過允許等待時間就將有效旗標清除,並依應用顯示等待、停止判定或訊號異常。單純沒有脈波並不能證明軸已停止,也可能是斷線或感測器故障;需要區分時,應加入其他診斷條件。
逾時值不能任意小於最低可量轉速的正常脈波間隔。本篇N為20,若最低需要辨識1 RPM,正常相鄰計數可能相隔3秒;用100毫秒逾時會在低速時一直報無效。反過來,等待3秒以上也表示停轉偵測會比較慢。把最低轉速與允許失效偵測時間一起列出,才能判斷單一感測方案是否足夠。
計數器回繞與重置也不能混在一起。若使用有限寬度計數值做前後差,必須確認相鄰快照間最多可能累積多少計數,並按模組的有號範圍與回繞方式處理。讀值突然歸零可能是模組重置或程式清除,不一定是正常回繞。重置後應重新建立基準,避免一次產生極大的轉速。
運算中間值要有足夠範圍,特別是先乘60再除法。若使用整數,先除可能把小數截掉,先乘又可能溢位;可在平台支援下轉到適合的較寬型別或實數後計算。每一步仍須檢查N大於零、經過時間大於零、來源有效,以及結果未超出可合理接受的範圍。
操作與驗收
先在隔離的教學資料中輸入表列計數與時間,不接馬達輸出。確認兩種算法都能得到600 RPM,再以30 RPM比較更新特性。接著測第一筆樣本、零時間、N為零、逾時與計數重置。每個無效案例都應有明確原因,不能只把結果寫成零而讓上層誤認為正常停轉。
完成後應看到什麼結果
固定0.1秒窗下,20個計數應得到600 RPM,一個計數應得到30 RPM。週期5毫秒與100毫秒也分別得到600與30 RPM。資料未完整或已過期時,有效旗標應為假。你應能用每轉計數、量測時間和公式手算對照,並說明低速跳動來自量化、漏脈波還是機械本身。
失敗時先查哪裡
固定差兩倍或四倍,先查倍頻與PPR。固定差60倍,先查秒與分鐘。高速越快讀值越低,先查輸入頻率、接線、濾波及是否使用普通掃描。低速時忽有忽無,先查量測窗與逾時。顯示偶爾出現極大值,再查計數回繞、重置和快照一致性,最後才考慮濾波。
常見問題與適用限制
一、固定窗與週期法哪個一定較準?沒有固定答案,取決於計數解析度、時間解析度、速度範圍與動態變化。二、能否用輸出小數位改善精度?不能,小數只是顯示。三、單通道能辨識方向嗎?只量頻率通常不夠,需方向訊號或適當的正交計數。四、本文可直接下載到Q系列嗎?不能,本文是算法與驗收設計,實際模組設定、資料讀取與程式需另行核對。