步進電機是一種將電脈沖信號轉化為角位移或線位移的電磁機械裝置。步進電機的穩定性和可靠性直接影響到工業控制領域的精度,特別是在點膠點焊等高精度運動控制系統中,對于步進電機的精度和穩定性要求更高。所以說,對于步進電機控制系統的研究,不論是在實際效益還是理論價值方面意義都將是巨大的。近年來不少專家學者研制出性能不錯的步進電機控制系統,然而這些控制系統具有微處理器需處理的任務量大、PCB板元器件較多、系統不夠穩定等缺點,這給系統的可靠性帶來了較大的隱患。隨著電子技術的發展,步進電機的很多功能單元如加減速控制、微步控制等都走向模塊化,并且具有體積小、重量輕、工作穩定、能夠實現多軸控制等優點,這給步進電機控制系統的設計和開發帶來了很大的方便。
基于以上的考慮,文中利用微控制器AT90CAN128、步進電機運動控制芯片TMC429和步進電機驅動芯片TMC262設計了一種控制驅動一體化的3軸步進電機控制系統。通信方面設計了RS485接口,用于上位機與控制驅動板之間的通信,增加了CAN接口,為后續多軸聯動、生產線網絡化作功能擴展。
1 系統的總體設計
設計的步進電機控制系統結構框圖如圖1所示。
在該系統中設計完成的控制兼驅動集成板可作為下位機,PC、PLC和DSP等可作為上位機,上、下位機通過RS485或CAN總線等通訊接口進行通訊。上位機主要負責發送驅動裝置(步進電機)的運動控制指令(如位移、速度、加速度等),下位機(微控制器)負責接收指令并對指令進行處理以輸出步進電機運動所需要的脈沖信號和方向信號。
2 硬件部分設計
本系統中微控制器采用AT90CAN128,專用控制芯片采用了TRINAMIC公司生產的TMC429和TMC262。系統拋棄了傳統的“CPU+外置CAN協議轉換器”的方案,選擇內置CAN模塊的AT90CAN128主要考慮到系統的穩定性、減少電路板元器件的數量、提高系統的集成度和靈活性。TMC429提供了所有與數字運動控制有關的功能,包括位置控制、速度控制及微步控制等步進電機常用的控制功能。這些功能如果讓微處理器來完成,則需占用大量的系統資源,所以它的使用可將微處理器解放出來,以把資源用在接口的擴展和對步進電機的更高層次的控制上。此外,在TMC262與電機之間還需配置H橋,系統中選用的是互補型MOSFET器件FDD8424H芯片。由于一片步進電機驅動芯片TMC262只能驅動一路步進電機,且需要與4片FDD8424H芯片使用,故系統中共使用了3片TMC262芯片及12片FDD8424H芯片。
2.1 核心控制芯片簡介
2.1.1 AT90CAN128單片機簡介
AT90CAN128為基于AVR RISC結構的8位低功耗CMOS微處理器。由于其先進的指令集以及單周期指令執行時間,該單片機的數據吞吐率高達1 MIPS/MHz,從而緩解了系統在功率和處理速度之間的矛盾。該單片機大部分引腳與MEGA128兼容,內部結構在繼承MEGA128的資源基礎上進行了改進,但其最大的特色還在于具有了符合CAN2.0A和CAN2.0B標準的全功能CAN外設模塊。AT90CAN128采用Mob(消息對象)方式進行數據的發送和接受,共有15個Mob,它們具有相同的屬性。
2.1.2 TMC262步進電機驅動芯片簡介
TMC262是一款具有高細分率的兩相步進電機驅動芯片,適用于雙極性步進電機的驅動。該芯片同時帶有專利技術stallguard功能和專利技術coolstep功能,前者可以實現無需傳感器精確測試電機負載,后者可以根據電機的負載自動調節驅動芯片輸出的電流,避免因為超載而丟步,減少電機的發熱量,和其他驅動芯片相比可節省75%的能量。使用該芯片可通過兩種方式控制電機:S/D(Step/Direction)模式和SPI模式。芯片內置的微步表提供了與電機電流匹配的正弦值和余弦值。TMC262的低功率、高效率、體積小的設計理念使其成為嵌入式運動控制甚至電池供電設備的完美選擇,內部集成的DAC功能可實現對電流的微步控制。在使用芯片之前,需通過SPI接口對TMC262進行相關的配置。
2.1.3 TMC429步進電機控制芯片簡介
TMC429是TRINAMIC公司開發的小尺寸、高性價比的二相步進電機控制芯片,可以控制多達3軸步進電機。與TMC428不同,該芯片的CPU時鐘頻率可高達32 MHz。一旦初始化,TMC429能按照設定的目標位置和目標速度自動運行各種實時關鍵任務,且目標位置和速度可隨時更改。它可以減少外圍電路,減少電機控制軟件設計的工作量,降低開發成本,縮短研發時間。和TMC262一樣,在使用芯片之前,也需通過SPI接口對TMC429進行相關的配置。
TMC429有4種工作模式,可單獨為每個步進電機編程。其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。對于位置應用,RAMP模式比較合適,而對于持續的速度應用,VELOCITY模式比較合適。在RAMP模式,用戶只要設置位置參數,TMC429計算出一個矩形速度曲線然后驅動電機自主地運行至目標位置,而且在運動期間,位置可以被任意改變。SOFT模式與RAMP模式比較類似,只是在速度減少時,速度以指數曲線下降。在VELOCITY模式,目標速度被設置,運行時TMC429會考慮用戶定義的速度和加速度的極限。在HOLD模式,用戶設置目標速度,但是TMC429忽略速度和加速度的任何限制,去實現完全由用戶設定的任意速度曲線。此外,TMC429提供了中斷機制,用戶可根據具體應用要求進行設置。
微處理器通過發送和接收固定長度的數據包對TMC429的寄存器和片內RAM進行讀寫操作。利用TMC429自帶的二個獨立的SPI口,可分別與微處理器和帶有SPI接口的步進電機驅動芯片相連以構成完整的系統。每次微控制器發送數據包給TMC429的同時,微控制器也接受到來自TMC429的數據包。
微控制器與TMC429之間的通信數據包如圖2和圖3所示。
備注:
RRS:寄存器/RAM選擇位(RRS=0:寄存器/RRS=1:RAM)
RW:讀寫選擇位(RW=1:讀/RW=0:寫)
備注:
INT:中斷控制狀態輸出信號
CDGW(cover dategram waiting):(無握手信號時為0)
RS1、RS2和RS3:限位開關的設置(未激活時為0)
xEQt1、xEQt2和xEQt3:指示相應的步進電機是否到達目標位置
2.2 專用控制芯片間的硬件連接
專用控制芯片TMC262和TMC429的連接簡圖如圖4所示。
為TMC429-L1(QFN32封裝)與TMC262的連接簡圖,TMC429與TMC262的通信方式有SPI模式和step/dir模式,本系統選用后者。CSN_0用于片選TMC429的SPI微控制接口,CSN_1、CSN_2和CSN_3分別用于片選3個TMC262以完成對TMC262的配置。
2.3 CAN總線通訊接口電路設計
系統CAN總線的硬件電路如圖5所示。
CAN接口電路主要由3部分組成:單片機AT90CAN128、高速光耦合器6N137和高速CAN總線收發器。其中AT90CAN128主要負責內部CAN控制器的初始化、實現數據的接收和發送等通信任務;6N137起到控制器與工業現場相隔離的目的,可以提高系統的抗干擾能力;TJA1050是控制器區域網絡(CAN)協議控制器和物理總線之間的接口,可以為CAN控制器提供差動接收性能。
2.4 RS485總線通訊接口電路設計
系統RS485總線的硬件電路如圖6所示。
由于RS-485與TTL電平不兼容,因此兩者之間需要有電平轉換。目前完成此功能的芯片比較多,本系統中采用MAXIM公司生產的MAX485。該芯片內有接收器與發送驅動器,控制簡單,適用于半雙工通訊。為了提高通訊接口的抗干擾能力,在MAX485與單片機輸出端之間接入光電耦合器;同時在A端和B端之間增加了匹配電阻,以吸收總線上的反射信號,保證正常傳輸信號時無毛刺。
3 軟件部分設計
在硬件電路設計制作的基礎上設計了控制系統的軟件。控制系統的所有源代碼均在AVR Studio 4和ICCAVR集成開發環境中編譯和調試。為了便于系統擴展,系統軟件設計采用模塊化設計。
步進電機控制系統的主程序設計流程圖如圖7所示。
在軟件設計中,由于專用控制芯片分擔了不少單片機的軟件設計工作,因此通信方面的軟件編程是設計的重點。設計的控制系統擬作為下位機,下位機與上位機的通信選擇了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設計了控制驅動一體化的步進電機控制系統。經過自動化生產線的實驗測試表明,所設計的步進電機控制驅動一體化系統具有高細分、控制精度高和穩定性好等特點。設計的步進電機控制系統可降低軟件開發的難度,減少硬件實現的成本,且控制方便。該控制系統可廣泛應用于汽車行業和工業運動控制領域。