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