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