基于專用控制芯片的步進電機運動控制系統設計
3 軟件部分設計
在硬件電路設計制作的基礎上設計了控制系統的軟件。控制系統的所有源代碼均在AVR Studio 4和ICCAVR集成開發環境中編譯和調試。為了便于系統擴展,系統軟件設計采用模塊化設計。
步進電機控制系統的主程序設計流程圖如圖7所示。本文引用地址:http://www.104case.com/article/171200.htm
在軟件設計中,由于專用控制芯片分擔了不少單片機的軟件設計工作,因此通信方面的軟件編程是設計的重點。設計的控制系統擬作為下位機,下位機與上位機的通信選擇了RS485和CAN接口。RS485接口標準只對接口的電氣特性做出規定,使其具有通用性,但不涉及接插件、電纜等,在此基礎上用戶可以建立自己的高層通信協議。而這個高層通信協議的建立既可以采用已有的應用成熟的通信協議,比如Modbus協議等,也可以由用戶自定義RS485的通信協議。本系統采用了Modbus通信協議。CAN總線節點的軟件設計主要包括3大部分:CAN節點初始化、報文發送和報文接收。
CAN節點的初始化程序的主要任務就是對總線通信控制器CAN控制器進行合適的配置,以滿足系統運行的要求。CAN控制器的初始化包括了工作方式的設置、ID標志符寄存器的設置、接受屏蔽寄存器的設置、波特率參數的設置、消息郵箱Mob控制寄存器的設置和中斷允許寄存器的設置等。由于本文設計的步進電機控制系統采用CAN2.0B規范,需要對CAN接收器進行相應的初始化。在完成初始化配置以后,回到工作狀態進行正常的通訊任務。
限于篇幅,這里僅給出CAN控制器初始化的部分程序:
對于報文的發送,當CAN總線上的一個節點發送數據時,它以報文形式廣播給網絡中所有節點。當發送時,CAN控制芯片將數據進行相應的組織和傳送,此時網絡上其他節點處于接收狀態。報文的接收主要有兩種方式:中斷方式和查詢方式。在本設計中,采用的是中斷方式,即每傳來一個報文,就觸發CANSTMOB中的相應中斷,然后將接收到的數據從CAN數據寄存器中轉移到指定的存儲區域內并保存起來。
4 結束語
采用步進電機專用的運動控制芯片TMC429和驅動芯片TMC262設計了控制驅動一體化的步進電機控制系統。經過自動化生產線的實驗測試表明,所設計的步進電機控制驅動一體化系統具有高細分、控制精度高和穩定性好等特點。設計的步進電機控制系統可降低軟件開發的難度,減少硬件實現的成本,且控制方便。該控制系統可廣泛應用于汽車行業和工業運動控制領域。
評論