技術頻道

      基于TMC428的步進電機控制系統設計

      摘 要:利用TMC428步進電機專用控制器配合驅動電路設計性能優良,結構簡單,可靠性高的運動控制系統。通過設置TMC428內部參數寄存器和片內RAM的值,可使TMC428能夠同時控制三個步進電機,實現三軸控制系統。

      關鍵字:TMC428;TMC236;三軸控制;SPI接口

      Abstract: use TMC428 stepper motor controller together with driver circuit to design a motion control system which has simple structure and perfect characteristic, and it has high level security .To set the proper parameter of register and on-chip RAM of TMC428, it can make TMC428 control three stepper motor in the same time, and realize three-axis control system.

      Keyword: TMC428, TMC236, three-axis control, SPI interface.

      引言

        步進電機是一種重要的執行裝置,廣泛用于工業控制和各種辦公設備中,步進電機的穩定可靠運行直接關系到工業控制的精度和設備的質量,特別是在高精度數控系統中更是要求步進電機能夠精確運行。如何實現對步進電機的精確可靠控制成為工業控制等系統中的關鍵技術。多年來很多專家學者研制出很多性能較好的步進電機控制系統,然而,早期的步進電機控制系統體積大,使用的元器件多,這給系統的可靠運行帶來了較大的隱患。隨著電子技術的發展,很多功能單元都走向模塊化和數字化,并且具有體積小,重量輕,工作可靠性高,成本低等優點,而且能夠實現多軸控制,這給步進電機控制系統的設計帶來了很大的方便。由TRINAMIC公司生產的TMC428就是這樣一款三軸步進電機運動控制芯片。這里使用TMC428控制芯片設計一種三軸步進電機控制系統,本系統可用于經濟型三軸數控系統中。

      一、TMC428芯片及其功能

        TMC428是一種小尺寸、高性價比的二相步進電機控制器,包括位置控制、速度控制及微步控制等步進電機常用的控制功能,可同時對三個二相步進電機進行控制。帶有2個獨立的SPI接口,可分別與微處理器和帶有SPI接口的步進電機驅動器相連接,能夠與3個TMC236相連接構成菊花鏈結構。

        1、 結構

        TMC428采用16引腳封裝,是由各個單元的寄存器和片內RAM構成的。其內部包括二個外部串行接口、波形發生器和脈沖發生器、微步單元、多口RAM控制器和中斷控制器。如圖一所示。SPI串行通信使用32bit數據長度的簡單協議,與電機驅動器相連接時,其數據傳輸速率高達1Mbit/s。時鐘輸入范圍寬且時鐘頻率最高可達16MHz,采用3.3V或5V的CMOS/TTL兼容電平供電。


      圖一

        2、 功能

        TMC428有4種不同的工作模式,對每個步進電機的控制單獨編程,其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。TMC428提供了一組功能不同的寄存器單元和片內RAM,一般從微處理器獲得控制指令,微處理器則通過發送和接收固定長度的數據包對TMC428寄存器和RAM進行讀寫操作。TMC428的寄存器和片內RAM的功能有所不同。寄存器用于存儲電機總體配置參數和運動參數,而片內RAM用于存儲 驅動串行接口的配置和微步表。電機總體參數是指對驅動器菊花鏈中TMC236的配置。運動參數包括各電機的當前位置、目標位置、最大速度、最大加速度、電流比例、波形發生器和脈沖發生器參數以及微步細分分辨率等。片內RAM包括64個地址的數據空間,每個地址可存儲24位寬的數據,前32位地址數據是對驅動器菊花鏈串行通信數據包的配置,后32位地址的數據為微步細分表。

        初始化以后,TMC428即可自動發送數據包到菊花鏈的每個TMC236,也就是說,驅動串行接口經過初始化后便可以自動工作,而不需要微處理器的參與。只要把位置、速度寫進指定的寄存器就可以控制電機。TMC428的多口RAM控制器可管理數據的存取時序。這樣,微處理器就可以在任何時間讀寫寄存器和片內RAM的數據。

        通過波形發生器可以處理存儲在寄存器里的運動參數并計算電機運動速度曲線。脈沖發生器則根據波形發生器計算得到的速度來產生步進脈沖。步進脈沖產生時TMC428的驅動串行接口將自動發送數據包給步進電機驅動器菊花鏈以驅動步進電機。當采用微步控制時,微步單元即開始處理根據脈沖發生器產生的步進脈沖,同時根據選擇的微步分辨率來產生全步、半步和微步脈沖,并通過驅動串口送給驅動器菊花鏈。

        驅動串行接口是TMC428與驅動器菊花鏈之間的通信接口。從TMC428到驅動器之間的串行數據包的長度是可配置的,以適應由不同類型和廠家的電路構成的SPI環形結構,最大數據長度為64bit。初始化后,TMC428與步進電機驅動器之間的通信是自動完成的。不同類型的帶有SPI接口的驅動器都可以混合構成菊花鏈結構與TMC428進行連接。

      二、系統分析

        本系統采用MCS51單片機作為微處理器,用于系統的控制和指令發布,這是整個控制系統的核心,系統的各種邏輯和數量計算都有單片機完成。由于系統采用SPI串行通信方式,而51單片機本身不帶有SPI接口,所以在單片機與TMC428必須獨立SPI專用接口模塊進行數據轉換,這里采用MCP2510 SPI接口芯片。上電以后,單片機首先對TMC428進行初始化,設置初始的位置、速度以及加速度等運動參數,并且配置菊花鏈串行通信數據和微步表。由于運動參數被配置在TMC428的功能寄存器中,在工作過程中可以根據實際要求在線更改以適應實際運動過程,而菊花鏈串行通信數據和微步表是存放在片內RAM中,上電以后這些參數一般不能更改,所以在初始化時要對這些參數進行精確計算。采用3個TMC236構成一個菊花鏈,每個TMC236控制一個步進電機,當初始化完成后,TMC428可以脫離單片機自動地把控制數據發送給TMC236實現對電機的控制,但由于TMC236所發出的控制信號比較弱,不足以驅動電機,所以在TMC236發出的控制信號必須進過功率放大才能驅動電機。系統結構如圖二所示。


      圖二

      三、硬件設計

        本系統單片機選用AT89S52,系統時鐘頻率采用16MHZ,由于TMC428的最高工作頻率能夠達到16MHZ,但TMC236的PWM操作頻率不能超過100KHZ,所以為了方便設計本系統采用分頻電路對16MHZ的時鐘頻率分頻為20KHZ,TMC428和TMC236都采用同一20KHZ時鐘頻率。為減小電源的復雜性,系統由單一+5V直流電源供電。由于本系統中TMC428不使用內部中斷,所以3個參考開關輸入必須接地,同時沒有使用3.3V電源,所以V33引腳必須通過一個470nF的電容接地,+5V輸入電源要通過一個100nF的電容濾波,以保證TMC428的可靠運行。驅動SPI接口的數據輸入線SDI_S引腳要通過一個阻值為10K的電阻下拉。TMC428的nscs_s引腳作為3個TMC236使能信號與CSN引腳相連。控制數據通過SDO_S引腳傳送至TMC236的SDI引腳中,由于采用的是菊花鏈形式,所以3個TMC236通過各自的SDO——SDI兩個引腳相串聯。在TMC236電路設計中,20KHZ的外部時鐘從OSC引腳輸入。由于TMC236內部集成了HVCMOSFET構成的雙全橋驅動電路,它采用恒流斬波驅動方式來驅動雙極性二相步進電機,其中電機的供應電源由VS引腳輸入,但必須在VS引腳上連接220pF和100uF的電容進行濾波,在本系統中采用+12V的直流電源作為電機兩相繞組的勵磁電源。TMC236的OA1和OA2連接步進電機的A相勵磁繞組,而OB1和OB2連接步進電機的B相勵磁繞組。另外,為了限制電機的最大電流,必須對TMC236雙全橋驅動電路設置限流電阻Rs,Rs電阻的設置可根據如下計算公式計算:

        

        其中Imax為電機所允許的最大電流,在這里Imax=1030mA,所以計算電阻Rs=0.33Ω。本系統采用脈沖變壓器作為功率放大裝置直接對步進電機供電。系統的主電路如圖三所示。


      圖三

      四、軟件設計

        控制系統的軟件主要完成對TMC428的初始化以及控制參數計算和發送的工作。在初始化過程中首先要對TMC428的工作模式進行設置,一個是位置控制模式和速度控制模式,另外就是TMC428所要控制的步進電機的個數。這些參數的設置是通過微處理器向TMC428的相關寄存器寫數據來完成。其中位置和速度控制模式寄存器的地址為1010,在本系統中位置控制采用RAMP模式,速度控制采用VELOCITY模式。由于本系統是三軸控制設計,所以TMC428要同時對三個步進電機進行控制,因此在步進電機全局配置參數寄存器設置中要把寄存器的地兩位設置為10,其他位采用默認值。根據TMC428的功能要求,每個電機都有自己的配置寄存器,對于電機的初始位置和初始速度都要在各自寄存器中單獨設置。在初始化過程中對電機的目標速度、目標位置、實際速度和位置以及加速度和速度的最大值、最小值進行設置00地址表示電機1,01地址表示電機2,10地址表示電機三,其寄存器地址范圍為0000~1110。當初始化完成后根據實際需要微處理器在任意時刻都可以改變寄存器和片內RAM中的數據以適應實際控制。本系統的軟件工作過程如圖四所以。


      圖四

      五、總結

        采用專用步進電機運動控制器和驅動電路組成的系統具有外圍電路簡單、系統抗干擾能力強和可靠性高等優點,可減少控制電路的開發成本。整個系統除了電源之外只有5個IC,因此,體積小,控制簡單,特別適用于3軸步時電機的驅動。實驗證明該驅動器控制的步時電機定位精度高,加、減速性能良好,同時,啟停、反轉性能也很優良。

      參考文獻:

        1 TMC428 datasheet

        2 TMC236 datasheet

        3 吳紅星.《電機驅動與控制專用集成電路及應用》.北京:中國電力出版社,2006年

        4 于海生、潘松峰、于培仁、吳賀榮.《微型計算機控制技術》.北京:清華大學出版社,1999年

        5 董桂花.《步進電機控制系統的研究》.《農機化研究》. 2003年03期。

        6 周明德.《單片機原理與技術》.北京:人民郵電出版社,2008年

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 日韩有码一区二区| 精品久久国产一区二区三区香蕉 | 色婷婷AV一区二区三区浪潮| 人妻少妇AV无码一区二区 | 日韩免费视频一区二区| 精品视频一区二区观看| 成人区人妻精品一区二区三区 | 亚洲一区精品中文字幕| 国产亚洲情侣一区二区无| 又紧又大又爽精品一区二区 | 亚洲天堂一区二区三区四区| 精品乱子伦一区二区三区| 国产一区二区三区美女| 国产精品区一区二区三| 国模极品一区二区三区| 亚洲欧美日韩一区二区三区在线| 免费播放一区二区三区| 色窝窝无码一区二区三区 | 大帝AV在线一区二区三区| 日韩免费一区二区三区在线播放| 亚洲AV成人一区二区三区AV | 久久99国产一区二区三区| 激情爆乳一区二区三区| 高清在线一区二区| 无码人妻一区二区三区精品视频| 一区二区三区在线看| 国产一区二区三区免费在线观看| 国产一区中文字幕| 久久免费视频一区| 国产在线一区二区| 在线播放国产一区二区三区| 国产经典一区二区三区蜜芽 | 亚洲日本中文字幕一区二区三区| 国产SUV精品一区二区88L| 一区二区视频免费观看| 中文字幕AV一区中文字幕天堂| 国产午夜精品一区二区三区嫩草| 亚洲AV综合色区无码一区| 无码乱码av天堂一区二区| 国产成人一区二区在线不卡 | 精品少妇人妻AV一区二区|