?

基于STM32的伺服控制器接口技術研究*

2016-06-16 02:16魏朋濤王志成
組合機床與自動化加工技術 2016年5期
關鍵詞:接口技術實時性

魏朋濤,何 平,王志成,劉 輝

(1.中國科學院大學,北京 100049;2.中國科學院 沈陽計算技術研究所 高檔數控國家工程研究中心,沈陽 110168;3.沈陽高精數控技術有限公司,沈陽 110168)

?

基于STM32的伺服控制器接口技術研究*

魏朋濤1,2,何平2,3,王志成2,3,劉輝1,2

(1.中國科學院大學,北京100049;2.中國科學院 沈陽計算技術研究所 高檔數控國家工程研究中心,沈陽110168;3.沈陽高精數控技術有限公司,沈陽110168)

摘要:分析了伺服控制器對硬件接口的性能要求,提出了接口性能的評測指標,為伺服控制器接口性能評測提供了基礎。針對目前主流的STM32高性能通用微控制器的接口特點,設計了基于STM32F405的伺服控制器實驗平臺,并通過實驗驗證了接口的性能,實驗結果表明STM32F405的接口性能良好,可以滿足伺服控制器實時性和準確性要求,對基于STM32的伺服控制器接口技術研究具有一定的參考價值。

關鍵詞:伺服控制器;STM32;接口技術;實時性

0引言

伺服控制系統實現高速、高效的控制性能依賴于控制芯片的運算能力和接口性能,目前在伺服控制器中大部分使用專用于電機控制的DSP數字信號處理芯片,這些芯片針對電機控制做了很大程度的優化,將重心放在電機控制上而忽略了一些其他的外擴接口,不利于伺服系統功能的擴展。意法半導體新推出的Cortex-M4內核的STM32F4xx系列微控制芯片是通用的32位高性能控制芯片,增加了硬件浮點運算單元(FPU),運算速度大幅度提高,使得可以完成復雜的電機控制算法。芯片集成了豐富的外設接口,可以快速方便的進行伺服系統功能擴展。STM32的硬件優勢使業界人士開始研究基于STM32控制芯片的伺服控制器,但是目前對STM32接口技術研究比較少,相關研究成果比較匱乏。

在此背景下,本文將首先對伺服控制器的接口需求進行研究,提出接口性能評測指標,然后針對目前主流的STM32控制芯片設計實驗平臺,最后通過實驗對接口的性能進行測試,驗證STM32平臺接口是否滿足伺服控制器實時性、準確性要求。

1需求分析

1.1伺服控制器結構

伺服控制器是用來控制伺服電機的一種控制器,一般通過位置、速度和力矩三種方式對伺服執行器件進行控制,實現高精度的傳動系統定位。為了獲得良好的控制性能,伺服控制器一般會設計成一個具有電流環、速度環、位置環三閉環回路的復合控制系統,伺服控制系統結構如圖1所示。

圖1 伺服控制系統結構圖

伺服控制器通過接口與電機、反饋裝置以及上位機相連,實時監測伺服電機的電流和位置,接收上位機控制指令,在內部進行環路控制,實現高速高效的精確控制。

1.2控制器接口需求

伺服控制器的接口主要分為兩類:電機控制接口和人機交互接口。伺服控制器實現高精度高速度的控制依賴于這些接口性能,對接口實時性、準確性等方面有一定的要求,下面具體研究這些接口應具備的性能。

(1)電流采集接口

電流采集接口主要對伺服電機的兩相電流進行采樣,為控制算法提供電流參數。電流采集在每個PWM周期的起點處執行,電流采集完成之后執行電機控制算法,電流采集占用時間越短則控制算法的可用時間就越長,控制算法的復雜度和精確度的提高空間就越大,把時間消耗作為電流采集接口性能評測指標。

(2)編碼器接口

編碼器接口主要是檢測伺服電機轉子的位置,為控制算法提供位置參數。增量式編碼器輸出用于脈沖計數的A相、B相脈沖信號和用于零點檢測的Z相周期脈沖信號,編碼器接口應該能夠通過捕獲A相和B相的邊沿信號并根據相位差進行遞增或遞減計數,根據Z相周期信號在每個周期更新零點位置的計數值,可以根據當前時刻計數值與零點位置計數值得到當前時刻的位置。電機在運轉過程中編碼器每次經過零點時的計數值應該保持一致,由于編碼器在正反轉切換時會產生抖動,正反轉的零點位置會存在一定的漂移,把這個漂移范圍稱為抖動域,用來評測編碼器接口的性能。

(3)PWM接口

PWM接口主要是輸出占空比可調的脈寬調制方波,控制功率電路驅動伺服電機運轉。功率驅動電路一般是由場效應管組成的逆變器電路,逆變電路上下臂的場效應管在同一時刻只能有一個處于導通狀態,因此控制上下臂的PWM應該是相位互補的,換相期間還要有一定的時延,即死區時間。不同規格的場效應管的導通和截止時間是有差異的,為了適應不同規格場效應管的逆變電路,PWM的死區時間應該是可以任意編程設置的。

(4)通信接口

通信接口實現伺服控制器與上位機或數控系統信息交換,通信的實時性和正確性直接影響到控制系統的控制性能。伺服控制系統一般都會較長時間持續工作,我們把每小時出錯幀數作為通信正確性評估指標,把每秒鐘通信次數作為實時性評估指標,用上述兩個指標來評估設計的通信接口的性能。

1.3STM32硬件接口

STM32F405是以Cortex-M4為內核的32位高性能微控制器,片上集成了豐富的外設接口,集成了3個高分辨率的ADC接口,時鐘頻率可達到42MHz,可以在微妙級別內完成模數轉換;具有兩個高級定時器和四個通用定時器,工作模式可靈活配置,配置成輸出模式可輸出3路互補帶死區的PWM,配置成輸入捕獲模式可以對輸入脈沖進行捕獲計數;它還集成了USART、USB 2.0、CAN、MAC等通信接口,可以使用多種PHY與其他設備進行通信。

2設計與實現

根據伺服控制器的基本結構和接口要求,針對STM32F405的接口特點,設計出基于STM32F405的伺服控制器實驗平臺原理框圖如圖2所示。

圖2 基于STM32F405的伺服控制器實驗平臺原理框圖

2.1電流采集接口

電流采集接口使用STM32F405的ADC1和ADC2實現。由于STM32F405的ADC通道共用一個數據寄存器,所有通道的轉換結果存儲在同一個寄存器中,因此使用DMA及時將每次采樣的結果傳輸到內存緩沖區,待所有通道轉換完成之后中斷CPU進行數據計算。將ADC1和ADC2配置成雙重模式,設置12位分辨率,對APB2總線時鐘進行2分頻得到42MHz的ADC時鐘,在每個PWM周期的開始位置對伺服電機的兩相電流進行4次連續采樣,每次采樣結果由DMA傳輸到內存開辟的緩沖區存儲,4次采樣完成后通知CPU進行數據處理。電流采集接口的采集流程如圖3所示。

圖3 電流采集接口采樣流程圖

2.2編碼器接口

編碼器接口使用STM32F405的TIM5來實現。將TIM5配置成編碼器接口模式,在TI1和TI2的邊沿進行計數,TI1映射到通道1,TI2映射到通道2,將編碼器的A、B相連接到TIM5的通道1和通道2,計數器在編碼器A、B相的邊沿處進行遞增或遞減計數。實驗所使用的增量編碼器在每個周期會產生10000個邊沿信號,將TIM5的自動重載寄存器設置成9999,計數器的值會在0到9999之間進行連續計數,每個計數器值可以表示一個唯一的位置。將TIM5的通道3設置成上升沿輸入捕獲,對編碼器的Z相信號進行零點捕獲,將每次零點位置的計數值進行更新保存。

2.3PWM接口

PWM接口由STM32F405的高級定時器TIM8實現。將TIM8計數器設置PWM模式,時鐘頻率設置為168MHz,計數器在每個下溢事件產生中斷,觸發ADC進行電流采集。配置CCRx比較寄存器的值設定PWM的占空比,配置BDTR斷路和死區寄存器設置死區時間和使能斷路輸入功能。

計數器在中心對齊計數模式下產生特定頻率的PWM所需要的自動重載值可由公式(1)計算得到。

(1)

式中N代表定時器在中心對齊計數模式下的自動重載值,F表示定時器的計數頻率,f表示PWM的頻率,則由公式(1)得到TIIM8輸出8kHz的PWM的自動重載值為:

2.4通信接口

通信接口設計成采用Modbus現場總線通信協議,使用UART轉RS485總線接口與上位機或數控系統進行通信。Modbus通訊協議是以數據幀為傳輸單位的,一個通用的Modbus數據幀格式如圖4所示,由地址域、功能碼、數據和校驗碼組成,幀與幀之間沒有固定的限定符,Modbus通訊協議規定幀與幀之間的時間間隔至少為3.5個字符的傳輸時間,如圖5所示。

圖4Modbus數據幀格式

圖5 Modbus數據幀間隔

根據Modbus通信協議的特點,數據幀的界定由USART和TIM2來實現,USART完成比特流的接收與發送,在每次有數據到達時啟動定時器進行計時,當定時器超時溢出時則完成了一個數據幀的接收,通知上層應用程序對接收到的數據幀進行解析,定時器的溢出值可由公式(2)計算得到。

(2)

式中NTn表示定時n個字符的計數值,l表示每個字符的長度,B表示數據傳輸的波特率,t1表示定時器計一次數的時間。設定USART的比特率為19200,8位數據位,1位停止位,一位校驗位,則字符長度l=10, TIM2設置84分頻得到1MHz的計數脈沖,則定時器每計一次數的時間t1= 10-6s,由公式(2)得到計時3.5個字符的計數值為:

由于采用SP3845芯片進行UART與RS485的轉換,該芯片只支持單雙工的收發模式,因此需要由程序控制SP3485的收發模式,通信接口的數據幀收發流程如圖6所示。

圖6 數據幀收發流程圖

3驗證與評價

為驗證STM32實驗平臺接口是否滿足伺服控制器實時性、準確性的要求,根據提出的指標對實驗平臺的接口性能進行驗證與評價。

3.1電流采集接口

電流采集接口主要驗證評價采樣的時間消耗。使用STM32F405的TIM2定時器產生1/84μs的基準時間,分別記錄采集開始和傳輸結束的時刻來測量整個電流采集的時間。實驗中分別測量了1000次單次采樣和多次采樣所需要的時間,求取平均值得到單次采樣和多次采樣平均時間的統計圖如圖7所示。

圖7 AD采集時間消耗圖

由實驗結果分析可得STM32的ADC可以在幾個微秒時間內完成多通道的采樣轉換和傳輸工作,伺服控制器的PWM載波周期一般為100μs左右,STM32的電流采集接口采集四通道占用1.7μs的時間是很少的,可以滿足實時性的要求。

3.2編碼器接口

編碼器接口主要驗證對編碼器脈沖計數的準確性和穩定性,可以通過測量編碼器的某一固定位置的計數值變化來驗證編碼器接口的性能。實驗中通過測量編碼器零點位置的計數值驗證編碼器接口性能,分別測量了編碼器正轉、反轉以及正反轉交替情況下零點位置的計數值變化,實驗結果曲線圖如圖8所示。

圖8 編碼器零點位置計數值變化曲線圖

由圖分析可知,捕獲到的編碼器零點位置的計數值在5608到5611之間波動,抖動域為3個計數值,相對編碼器每個周期的10000個計數值是很小的。編碼器同方向轉動時在零點位置捕獲到的計數值保持恒定為5608或5611,只有在正反轉交替變換的情況捕獲到的計數值有小范圍的波動,這個波動與編碼器的內部構造是相符的,因此STM32編碼器接口是可以滿足伺服控制器對編碼器位置測定要求的。

3.3PWM接口

PWM接口主要測試PWM輸出波形的規則性、占空比的精確性以及死區時間的插入,實驗中設定PWM接口的載波頻率為8kHz,占空比設置為50%,死區時間設置為3μs,由示波器觀察PWM接口的輸出波形如圖9所示。

圖9 8kHz載波頻率的PWM輸出波形

由圖分析可得PWM的周期為125μs,與設定的8kHz載波頻率對應的周期相一致。從圖中還可以看到互補的兩路PWM方波在相位變化的時候存在一定的時間延遲,延遲時間與程序設定的3μs時間大致相同,由于死區時間的插入使得PWM的占空比略小于50%,輸出波形與程序設定是相符的,滿足伺服控制機器的PWM接口要求。

3.4通信接口

通信接口主要驗證通信的實時性和正確性,移植沈陽高精數控DSP平臺伺服控制器的應用層通信程序,通過伺服調試軟件測試STM32通訊接口的性能,測試結果如圖10所示。

由實驗結果可知,在2小時的通信測試中,平均數據幀發送速度達到33.6幀/秒,0誤碼率0出錯幀數,表明STM32通訊接口的實時性和準確性可以達到伺服控制器的通訊接口要求。

圖10 通訊接口性能測試結果

4結束語

設計了基于STM32F405的伺服控制器實驗平臺,通過實驗評測接口性能,給出了評測結果,表明STM32的接口性能可以滿足伺服控制器實時性和準確性的要求。該成果已經成功指導沈陽高精數控伺服部完成了基于STM32的伺服控制器的接口設計,并具有比較好的性能。

[參考文獻]

[1] 張莉松,胡祐德,徐立新.伺服系統原理與設計[M].北京:北京理工大學出版社,2008.

[2] 張健.基于Modbus通信的四軸運動控制器設計與研究[D].西安:長安大學,2012.

[3] 王洪城,趙波,陳潔,等.基于Simulink的永磁同步電機矢量控制系統研究[J].物聯網技術,2012 (2):83-85.

[4] 李芳芳.基于MODBUS協議的人機接口通信研究[D].西安:長安大學,2009.

[5] 劉學俊.基于STM32的永磁直流無刷電機的控制及其在繞線機上的應用[D].廈門:廈門大學,2014.

[6] 梁軍龍.基于STM32F407的永磁同步電機伺服控制器設計[J].山西電子技術,2014 (1):28-30.

[7] 于兆凱.基于STM32的永磁同步電機伺服系統的研究[D].杭州:浙江大學,2012.

[8] 劉云,賈洪平,張鵬,等.基于SVPWM的無刷直流電機矢量控制系統研究[J].機電工程,2014,31(9):1177-1181.

[9] 張愛民,王云沼,龔松顯.STM32微控制器的可靠串口通信技術研究[J].單片機與嵌入式系統應用,2013(10):21-23.

[10] Modbus_IDA. Modbus application protocol specification V1.1b3 [EB/OL]. http://www.modbus.org,2012-04-26.

[11] STMicroelectronics. RM0090 Reference manual (STM32F405xx,STM32F407xx,STM32F415xx advanced ARM-based 32-bit MCUs) Rev 14 [EB/OL]. www.st.com,2011-10-20.

(編輯趙蓉)

Research on Interface Technology of Servo Controller Based on STM32

WEI Peng-tao1,2, HE Ping2,3,WANG Zhi-cheng2,3, LIU Hui1,2

(1.University of Chinese Academy of Sciences ,Beijing 100049,China;2.National Engineering Research Center For High-End CNC,Shenyang Institute of Computing Technology of Chinese Academy of Sciences, Shenyang 110168,China)

Abstract:After analyzing the interface performance requests of servo controller, proposed the indicators for evaluating the interface performance, provided the basis for servo-controller’s interface performance evaluation. An experimental platform for servo controller was designed based on the current high-performance and general-purpose microcontrollers STM32F405. The experimental platform’s interface performance was verified experimentally, it can meet the requirements of servo-controller’s real-time and accuracy. Results of the research may have a certain reference value to the servo controller interface technology research based STM32.

Key words:servo controller; STM32; interface technology; real time

文章編號:1001-2265(2016)05-0079-04

DOI:10.13462/j.cnki.mmtamt.2016.05.021

收稿日期:2015-07-06

*基金項目:“高檔數控機床與基礎制造裝備”國家科技重大專項、數控機床精度保持性技術研究(2014ZX04014021)

作者簡介:魏朋濤(1990—),男,石家莊人,中國科學院大學、中科院沈陽計算技術研究所碩士研究生,研究方向為嵌入式與數控技術,(E-mail)wei_pengtao@126.com。

中圖分類號:TH166;TG659

文獻標識碼:A

猜你喜歡
接口技術實時性
論《單片機原理與接口技術》跨校修讀模式
高等學校計算機專業課程教學改革實踐——以匯編語言與接口技術課程為例
電力系統全網一體化暫態仿真接口技術
航空電子AFDX與AVB傳輸實時性抗干擾對比
計算機控制系統實時性的提高策略
可編程控制器的實時處理器的研究
結構動力彈塑性與倒塌分析(Ⅱ)——SAP2ABAQUS接口技術、開發與驗證
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合