lvpretend
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1258 個
工控威望: 1428 點
下載積分: 3680 分
在線時間: 322(小時)
注冊時間: 2015-07-20
最后登錄: 2024-05-22
查看lvpretend的 主題 / 回貼
樓主  發(fā)表于: 2018-09-27 16:57
由于前段時間提供給客戶的一個2000線增量A/B/Z編碼器出現(xiàn)丟脈沖的情況,所以現(xiàn)在對新采購的編碼器都要逐一測試。
測試的思路是這樣的:A/B接計數(shù)器,Z接中斷,當Z中斷時把A/B計數(shù)器的值讀出來,并且復(fù)位A/B計數(shù)器,這樣編碼器每轉(zhuǎn)一圈計數(shù)器讀出的數(shù)據(jù)就應(yīng)該是編碼器的分辨率,如果編碼器丟脈沖,計數(shù)器讀出的值就會比編碼器分辨率小。
最開始使用西門子S7-200,使用A/B接硬件計數(shù)器,Z接外部中斷,但外部中斷受輸入濾波時間影響,編碼器速度稍快就出現(xiàn)數(shù)據(jù)不準確,用手旋轉(zhuǎn)編碼器。
改為Z接另外一個編碼器,計數(shù)到1中斷,在中斷程序中讀A/B計數(shù)器,復(fù)位A/B計數(shù)器,復(fù)位Z計數(shù)器。這樣編碼器速度會稍快些(大約2轉(zhuǎn)/秒),就出現(xiàn)數(shù)據(jù)不準確。

再換臺達ES2,用同樣的A/B硬件計數(shù)器,Z接硬件計數(shù)器中斷,編碼器速度稍快(大約2轉(zhuǎn)/秒),同樣出現(xiàn)計數(shù)不準確的情況,大多數(shù)是丟脈沖。

計數(shù)器的速度是沒有問題的,按道理,Z計數(shù)中斷到復(fù)位A/B計數(shù)器速度會很快,數(shù)條指令而已。出現(xiàn)計數(shù)不準,估計是Z計數(shù)中斷——A/B計數(shù)器復(fù)位用時過長。
大家看看這是怎么個情況!
[ 此帖被lvpretend在2018-09-27 17:04重新編輯 ]
eledesigner
懂一點點
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 1785 個
工控威望: 2039 點
下載積分: 2655 分
在線時間: 2203(小時)
注冊時間: 2009-08-21
最后登錄: 2024-11-15
查看eledesigner的 主題 / 回貼
1樓  發(fā)表于: 2018-09-28 08:34
正轉(zhuǎn)100圈,反轉(zhuǎn)100圈看看,還與速度有關(guān)系。
eledesigner
懂一點點
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 1785 個
工控威望: 2039 點
下載積分: 2655 分
在線時間: 2203(小時)
注冊時間: 2009-08-21
最后登錄: 2024-11-15
查看eledesigner的 主題 / 回貼
2樓  發(fā)表于: 2018-09-28 12:47
什么叫丟脈沖,你要是沒采到還能叫丟脈沖嗎
eledesigner
懂一點點
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 1785 個
工控威望: 2039 點
下載積分: 2655 分
在線時間: 2203(小時)
注冊時間: 2009-08-21
最后登錄: 2024-11-15
查看eledesigner的 主題 / 回貼
3樓  發(fā)表于: 2018-09-28 13:15
假如頻率是1k,1ms是一個脈沖,你進入中斷程序要時間吧,1ms就少了1個脈沖了。這不是很正常嗎