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