3軸步進電機控制芯片-TMC428的原理以應用
(蘇州鈞信自動控制有限公司? 高偉)
摘 要:專用步進電機控制器可以控制多達3軸步進電機,內部集成波形發生器,脈沖發生器,可以實現3軸聯動以及獨立動作。可大大減少外部電路的設計,減輕上位微處理器的負擔。
關鍵詞: ?SPI ; 控制 ; 波形發生器 ; 脈沖發生器
目前許多設備上需要用到多個電機的控制,在設計開發過程中自然會增加開發難度,而且難度隨著控制軸數的增多而增大。TMC428是TRINAMIC公司開發的3軸步進電機控制芯片,它可以減少外圍電路,減少電機控制軟件設計的工作量,降低開發成本,縮短研發時間。
TMC428具有系統所需的所有運動控制功能,以其為核心控制3個TMC2X6或TMC2X9(該公司的驅動芯片)構成3軸步進系統的控制和驅動功能,該控制系統具有體積小,結構簡單,內部可構成虛擬閉環等許多優點。IO部分可以由其上位的微控制器來實現。
1. 主要性能
??TMC428是小尺寸、高性價比的二相步進電機控制芯片。它帶有二個獨立的SPI口,可分別與微處理器和帶有SPI接口的步進電機驅動器相連以構成完整的系統。其控制指令可由微處理器通過SPI接口給定。TMC428提供了所有與數字運動控制有關的功能,包括位置控制、速度控制及微步控制等步進電機常用的控制功能。這些功能如果讓微處理器來完成,則需占用大量的系統資源,所以它的使用可將微處理器解放出來,以把資源用在接口的擴展和對步進電機的更高層次的控制上。此外,TMC236也是TRINAMIC公司開發的帶有串行接口的步進電機驅動器。3個TMC236連結構成的菊花鏈(Daisychain)結構便是一種基于串行通訊的網絡結構,可以使多個具有串行通信接口的設備以接力的方式傳遞數據。TMC428可以通過SPI接口與它們相連接,以同時控制3個二相步進電機。
TMC428的主要特點如下:
●????? 可以控制多達3軸的2相步進電機而且各軸之間可以獨立運行
●????? 與微控制芯片和驅動芯片通過簡單的SPI通訊,使用簡單,便于構成虛擬的閉環網絡,控制器可以時刻得知驅動器的狀態
●????? 內有24bit位置計數器
●????? 根據微處理器給定的電機運動參數(位置,速度、加速度),依照梯形或三角形的速度由線產生驅動脈沖波形和順序,來對電機進行位置和速度控制。可以在電機運行過程中更改電機參數如速度,加速度,目標位置等。
●????? 可微步控制。采用6位分辨率的微步細分可實現64,32,16,8,4,2,1。每個電機可分別選擇其需要的微步分辨率。滿步頻率最高達20kHz。
●????? 通過可編程電流比例控制,可以使電機在不同的工作狀態下采用大小不同的工作電流。控制電機工作可在8個檔次上,分別是最大電流的12.5%、25%、37.5%、50%、62.5%、75%、87.5%、100%
●根據不同的應用提供有SSOP16、SOP24,DIL20三種封裝可選。如圖1
圖1 不同的封裝方式?
內部結構及工作原理
圖3 TMC428內部結構?
TMC428的內部結構如圖3所示。TMC428是由各個單元的寄存器和片內RAM構成的。其內部包括二個外部串行接口、波形發生器和脈沖發生器、微步單元、多口RAM控制器和中斷控制器。?
TMC428一般從微處理器獲得控制指令,微處理器則通過發送和接收固定長度的數據包對TMC428寄存器和RAM進行讀寫操作。TMC428的寄存器和片內RAM的功能有所不同。寄存器用于存儲電機總體配置參數和運動參數,而片內RAM用于存儲?驅動串行接口的配置和微步表。電機總體參數是指對驅動器菊花鏈中TMC236的配置。運動參數包括各電機的當前位置、目標位置、最大速度、最大加速度、電流比例、波形發生器和脈沖發生器參數以及微步細分分辨率等。片內RAM包括64個地址的數據空間,每個地址可存儲24位寬的數據,前32位地址數據是對驅動器菊花鏈串行通信數據包的配置,后32位地址的數據為微步細分表。
????初始化以后,TMC428即可自動發送數據包到菊花鏈的每個TMC2X6或TMC2X9驅動芯片,也就是說,驅動串行接口經過初始化后便可以自動工作,而不需要微處理器的參與。只要把位置、速度寫進指定的寄存器就可以控制電機。TMC428的多口RAM控制器可管理數據的存取時序。這樣,微處理器就可以在任何時間讀寫寄存器和片內RAM的數據。
????通過波形發生器可以處理存儲在寄存器里的運動參數并計算電機運動速度曲線。脈沖發生器則根據波形發生器計算得到的速度來產生步進脈沖。步進脈沖產生時TMC428的驅動串行接口將自動發送數據包給步進電機驅動器菊花鏈以驅動步進電機。當采用微步控制時,微步單元即開始處理根據脈沖發生器產生的步進脈沖,同時根據選擇的微步分辨率來產生全步、半步和微步脈沖,并通過驅動串口送給驅動器菊花鏈。
????驅動串行接口是TMC428與驅動器菊花鏈之間的通信接口。從TMC428到驅動器之間的串行數據包的長度是可配置的,以適應由不同類型和廠家的電路構成的SPI環形結構,最大數據長度為64bit。初始化后,TMC428與步進電機驅動器之間的通信是自動完成的。不同類型的帶有SPI接口的驅動器都可以混合構成菊花鏈結構與TMC428進行連接。
??4、應用
????4.1?兼容性
????TMC428與大多數廠商生產的步進電機驅動電路兼容。它可以直接連接帶有SPI口的步進電機驅動器,也可以通過附加的器件連接常用的并口驅動器。甚至帶有步進、方向輸入的步進電機驅動器也可以由TMC428來控制。將步進電機驅動芯片TMC2X6或TMC2X9非常簡單地連接成串行菊花鏈結構,用TMC428構成3軸步進電機控制系統進行控制可更好地發揮TMC428的特點。?
4.2?狀態檢測
????實時監測電機運行狀態對整個系統的安全和控制是很重要的,TMC428就提供有狀態檢測功能。每次每處理器發送數據包給TMC428的同時,TMC428會返回數據給微處理器。大部分帶有串行口的電機驅動電路都提供有不同的狀態位(工作,不工作等)和錯誤標志(短路,開路,溫度過高等)。這樣,TMC428就可以在任何時候提供當前電機的運動參數和工作模式以及各狀態位。從電機驅動菊花鏈返回給TMC428的數據包有48bit長。TMC428將其放在二個24bit的寄存器中。這樣,微處理器就可以直接讀取這些寄存器里的信息,比如在可以電機運動過程中時間檢測電機位置,速度,加速度甚至電流等參數。?
5.系統的構成?
采用RAM或簡單,廉價的單片機做系統的微處理器,結合TMC428和驅動芯片TMC2X6(TMC236,239)或TMC2X9(TMC239,249)構成3軸步進電機的控制和驅動。其中TMC236,TMC246內部本身集成了HVCMOSFET構成的雙橋驅動電路,采用恒流斬波驅動方式來驅動雙極性兩相步進電機,并具有功耗低,效率高的優點。整個系統如圖4所示 ?
圖4?基于TMC428的3軸步進驅動控制系統電路?
?由圖4可見,采用專用步進電機運動控制器和驅動電路組成的系統具有外圍電路簡單、系統抗干擾能力強和可靠性高等優點,可減少控制電路的開發成本。整個系統除了電源之外只有5個IC,因此,體積小,控制簡單,特別適用于3軸步時電機的驅動。實驗證明該驅動器控制的步時電機定位精度高,加、減速性能良好,同時,啟停、反轉性能也很優良。被廣泛應用于安防設備,儀器儀表,辦公自動化等眾多領域。?
另外為了便于客戶提高系統的控制精度TRINAMIC還開發出了可以構成三軸閉環控制的編碼器處理芯片TMC423可以接收3軸增量式編碼器輸入。?
?