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