基于CAN總線的旋轉(zhuǎn)編碼器采集模塊設(shè)計(jì)
圖3 旋轉(zhuǎn)編碼器采集電路仿真波形
3.3 CAN總線通訊部分
LPC1768處理器支持CAN 2.0B規(guī)范,兼容IS011898-1標(biāo)準(zhǔn),基于此,本文選取飛利浦半導(dǎo)體公司生產(chǎn)的PCA82C250芯片作為CAN總線收發(fā)器,通訊匹配電阻選取120 ,i1,CAN收發(fā)器電路見(jiàn)圖4。
圖4 CAN收發(fā)器電路
3.4 電源部分
LPC1768工作電壓為3. 3 V,而CAN收發(fā)器及旋轉(zhuǎn)編碼器采集電路部分電壓為5 V,所以先使用MC33063將輸人電壓降到5V,供相關(guān)電路使用,然后再通過(guò)LM1117-3.3V將5V電壓降到3.3V,作為處理器工作電壓。電源電路見(jiàn)圖5。
圖5 電源電路
4 軟件設(shè)計(jì)
系統(tǒng)采用RealView MDK-ARM V4.10為開(kāi)發(fā)平臺(tái),以C語(yǔ)言為主要開(kāi)發(fā)語(yǔ)言,程序主要分三個(gè)部分:旋轉(zhuǎn)編碼器采集部分采用中斷方式,通過(guò)LPC1768的定時(shí)捕獲單元來(lái)完成對(duì)輸人脈沖信號(hào)的計(jì)數(shù)工作;CAN通訊部分也采用中斷方式監(jiān)聽(tīng)來(lái)自DPU或者其他控制主機(jī)傳來(lái)的命令,然后執(zhí)行相應(yīng)的數(shù)據(jù)傳送任務(wù);而主程序則通過(guò)一定的時(shí)間調(diào)度算法,完成旋轉(zhuǎn)編碼器轉(zhuǎn)動(dòng)方向的判斷、角速度的計(jì)算以及設(shè)置相應(yīng)的指示燈狀態(tài)、處理CAN通訊過(guò)程中出現(xiàn)的異常狀況、喂狗等操作。主程序流程圖見(jiàn)圖6。
圖6 主程序流程圖
5 結(jié)論
本文設(shè)計(jì)完成的旋轉(zhuǎn)編碼器采集模塊,適用于各類工業(yè)控制現(xiàn)場(chǎng),具有較廣的應(yīng)用前景。經(jīng)實(shí)驗(yàn)室初步驗(yàn)證并應(yīng)用于某工業(yè)現(xiàn)場(chǎng)測(cè)試,該模塊對(duì)旋轉(zhuǎn)編碼器輸人信號(hào)處理結(jié)果滿足用戶要求,并且能夠可靠地與現(xiàn)場(chǎng)控制系統(tǒng)進(jìn)行通訊,工作性能穩(wěn)定,具有很強(qiáng)的抗千擾能力和很高的安全性。
評(píng)論