時間:2018-06-08 16:21:57來源:網(wǎng)絡(luò)轉(zhuǎn)載
如圖,STM32的每個TIMER都有正交編碼器輸入接口,TI1,TI2經(jīng)過輸入濾波,邊沿檢測產(chǎn)生TI1FP1,TI2FP2接到編碼器模塊,通過配置編碼器的工作模式,即可以對編碼器進(jìn)行正向/反向計(jì)數(shù)。
如下圖,編碼器使用了A,B兩相信號,但是我只需要對TI1信號進(jìn)行計(jì)數(shù)(第一行),我也是剛發(fā)現(xiàn)了這個錯誤,原來對兩個信號都計(jì)數(shù),導(dǎo)致碼盤轉(zhuǎn)一周得到不止100個脈沖(100線的光電碼盤)。通過STM32的編碼器模塊比較兩想的電平信號就可以很容易地計(jì)算出編碼器的運(yùn)行情況了。
下面是我調(diào)試OK的代碼:
另外一個值得注意的問題是,STM32的定時器是16位的,意思是只能計(jì)數(shù)到65535,有兩種方法,一是采用鏈?zhǔn)降姆绞接脙蓚€定時器將16位擴(kuò)展為32位,還有一種簡單的方法就是開啟定時器的溢出中斷,每中斷一次就代表編碼器運(yùn)轉(zhuǎn)了特定的角度。
比如編碼器是400線的,將ARR寄存器設(shè)置為400,每溢出中斷一次就代表電機(jī)轉(zhuǎn)了一圈,以此類推。
另外,關(guān)于輸入脈沖的檢測,其實(shí)是類似的,只不過在STM32內(nèi)部是專門用了一個外部觸發(fā)模塊來實(shí)現(xiàn)的,如圖一中紫色框的標(biāo)注,編碼器模塊應(yīng)該是在這個模塊上的升級,下面是配置代碼:
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2024-09-13
2024-09-09
2024-09-06
英偉達(dá)Blackwell可支持10萬億參數(shù)模型AI...
2024-09-05
2024-08-23
2024-08-22
推薦專題
更多>