前言
很多時候,IC廠商之間對某些參數指標沒有明確的規范,所以,我們在選擇步進電機驅動器時,不能完全依賴數據手冊中的規格參數,它們的定義可能不同,適用情況和現實情況可能相去甚遠,有時甚至是徹頭徹尾的誤導。
我們需要結合自身應用,更深層次的理解和計算。
正文
今天我將和大家一起共同探討如何正確選擇步進電機驅動器。
首先,我們將了解步進電機的基礎知識,以及如何去驅動一個步進電機。
其次,我們將通過典型步進電機驅動IC的數據手冊,來了解步進電機驅動器的主要特點和技術指標。
最后,我們將展示如何理解數據手冊中的規格參數,并將它們和實際應用聯系在一起。
在這個過程中,你會發現你必須要自己做一些工作,而不是相信你在數據手冊上看到的一切!
PART.01
我們先來了解下步進電機的基本構造,以及它是如何運轉起來的。
步進電機是一種將電脈沖信號轉換成相應角位移或線位移的執行器。通俗一點講,當步進電機驅動器 接收到一個脈沖信號,它就會驅動步進電機按設定的方向轉過一個固定的角度,就是我們常說的步距角。我們可以通過控制脈沖個數來控制角位移量,從而達到準確的位置控制;同時我們還可以通過控制 脈沖的頻率 來控制電機的轉速,從而達到調速的目的。
步進電機一般可分為:永磁式步進電機、反應式步進電機和混合式步進電機。
永磁式步進電機一般為兩相電機,它的轉矩和體積都比較小,步距角一般為7.5度或15度;
反應式步進電機一般為三相電機,它可以實現大轉矩輸出,但噪聲和震動都很大,所以現在基本已經被淘汰了;
混合式步進電機混合了永磁式和反應式的優點,一般是兩相或五相電機,兩相的步距角一般為1.8度,而五相的步距角一般為0.72度。
目前市面上絕大多數步進電機使用兩相繞組,因此本文我們將重點研究兩相雙極型步進電機及其驅動器。
圖1展示了兩相永磁式步進電機和混合式步進電機的基本結構:
永磁式步進電機的轉子由永磁性材料制成,N/S極交替分布在轉子上;定子由軟磁材料制成,上面分布有兩相勵磁繞組;定子、轉子周邊沒有小齒和槽,通電后利用永磁體與定子電流產生的磁場 相互作用產生轉矩。
圖1:兩相永磁式步進電機和混合式步進電機的基本結構
混合式步進電機的定子一般由8個磁極構成,兩相繞組錯開纏繞在8個磁極上,它的轉子結構比較復雜,內部為圓柱形永磁鐵,外套軟磁性材料,使得一部分被磁化成N極,另一部分被磁化成S極,定子和轉子周邊有小齒和槽。
雖然這兩種電機的結構不同,但都依賴于帶有永磁體的轉子,通過改變定子線圈上電流的大小和方向來產生變化的磁場,吸引和排斥帶有永磁體的轉子,使得電機能夠朝著一個方向連續轉動。
PART.02
我們來了解下如何驅動一個兩相雙極型步進電機。
通常我們采用雙全橋結構作為驅動電路。前面我們提到通過改變定子線圈上電流的大小和方向可以在磁極上感應出不同的N/S極,進而吸引和排斥帶有永磁體的轉子來實現電機轉動。下面我們以整步驅動方式為例,來看下具體的操作:
首先我們將步進電機的定子和轉子簡化成圖2中左圖示意,以便說明。
圖2
當A相繞組正向通電時,也就是圖2中的右圖全橋電路中打開Q1和Q4,根據安培定則,會在A相定子磁極 上端 感應出N極,下端感應出S極,轉子的S極就被吸引到位置8;B相繞組正向通電時,也就是打開Q5和Q8,會在B相定子磁極 左端 感應出S極,右端感應出N極,吸引轉子S極到位置2;同理A相繞組反向通電時,吸引轉子S極到位置4;B相繞組反向通電時,吸引轉子S極到位置6;如此循環,電機就朝著一個方向轉動起來了。
由此可見,A/B兩相驅動存在90度相位差,就像正弦和余弦的關系。
當然還有一種整部控制方式,在同一時刻,兩相繞組都會通電。
A/B兩相正向通電時,A相定子磁極 上端 感應出N極,下端感應出S極;B相定子磁極左端感應出S極,右端感應出N極,轉子S極就會被吸引到位置1。A相繞組負向通電,B相繞組正向通電時,轉子被吸引到位置3。接下來依次是位置5和位置7,如此形成矢量閉合。
相較于單相驅動,雙相驅動效率更高,力矩更大,因此在實際應用中較為常見。
步進電機的機械步進分辨率是由電機本身結構決定的,準確的說,是由定子和轉子上的齒數來決定。
一般來說,步進電機轉一圈需要16-400個脈沖信號,其中每轉一圈需要200個脈沖信號的步進電機最為常見,它們的定子和轉子有50對極,步距角為1.8度。由于電機的機械分辨率受到實際生產制造的限制,很難再通過機械的方式來實現0.9度以下的位置控制。為了進一步提高步進電機的控制精度,我們引入了細分控制。
前面我們介紹了整步模式下的單相驅動和雙相驅動,當我們把這兩種驅動方式交替的結合在一起,就產生了半步控制。這種控制下 一個電周期內有8個電氣角位置,比整步模式多了一倍,因此對于同一個電機轉過相同的角度,半步模式需要的脈沖個數也會比整步多一倍。換句話說就是同樣數量的脈沖信號,電機轉過的角度只有整步的一半,提高了控制精度。
我們將電周期看作一個圓周,以1/4圓周為例(如圖3),整步模式下驅動的位置有1和9;半步模式下驅動的位置是1,5,9;繼續按正弦電流調制,得到了1/4步,增加了位置3和7……以此類推,兩相驅動電流被不斷分割得到更小的步進增量,這就是微步。
這里我們提一點,以1/8步為例,一個電周期需要32個脈沖信號,而在機械上一個電周期電機僅僅只是轉過了一個對極。所以對于一個50對極的步進電機來說,如果用1/8步電流控制,那么機械上轉過一圈就要1600個脈沖!
圖3
PART.03
前面我們說到了步進電機細分控制原理,現在我們來看下不同細分步數下的電流控制波形。
如圖4,在整步模式中,只有一個電流平臺被驅動,正負交替,一個電周期內只有4個狀態,對應4個電氣角位置。
在半步模式中,有兩個電流平臺,分別是100%電流和70.7%電流,一個電周期內有8個狀態;1/4步下有4個電流平臺,16種狀態;以此類推…
從驅動電流形態上看,如果細分步數越多,兩相電流越接近正弦和余弦波形,電機轉動會更順滑,噪音也會更小。
圖4
PART.04
我們來看一下典型的步進電機驅動IC是什么樣的。
圖5是MPS公司一個典型步進電機驅動IC的內部原理框圖。它包含了基本的電源模塊,兩個全橋電路,門級驅動電路,電流采樣電路以及一些邏輯控制單元等。
圖5:MP6500典型步進電機驅動IC的內部原理框圖
這其中還有一個用于控制步進的狀態機,我們稱之為索引器,門級驅動電路根據狀態機來驅動后級功率管開通和關斷,進而控制相電流的大小和方向,以實現準確的電機位置控制。
圖6是一個改進型的步進電機驅動IC,它除了前面提到的這些基本模塊以外,還使用了SPI接口,用來訪問故障診斷寄存器和其他功能設置。此外,這個改進型驅動器還可以直接測量電機反電動勢,可用于轉子失速檢測,或者速度閉環控制等。
圖6
復雜的步進電機驅動器可能還包括運動軌跡發生器,它可以通過編程自動的將電機從靜止狀態ramp到目標速度,也可以通過一個指令,一定的步數,緩慢回到靜止狀態。
PART.05
我們來看下IC數據手冊。
在典型的步進電機驅動IC手冊上,我們通常會在第一頁看到一個基本功能列表。上面提到的這些特性都是選擇步進電機驅動器時需要考慮的。但正如我們稍后將看到的,其中一些特性只能作為參考,不能認為它們都適用于你的應用。
下面我們來逐個查看重要的技術指標(圖7)。
圖7
我們需要關注的第一個重要指標就是輸入電壓范圍,它表征了這顆IC的最大和最小工作電壓,電機驅動電壓必須落在這個范圍內。
接下來是輸出電流,它表征了這顆IC驅動負載 輸出電流的能力。由于芯片廠商之間沒有明確的規范,這個電流可以是持續電流,峰值電流或者其他形式的電流,所以僅僅盯著這個電流數值可能沒有太大意義,甚至有時候還會誤導你。
當然在任何情況下,這個電流值必須等于,或者更有可能大大高于你想要驅動到繞組的電流。
MOSFET的導通阻抗對于驅動器真正可以提供多少電流至關重要,它可用于IC發熱計算。稍后我們也會詳細討論這一點。
接下來是邏輯接口,不同產品的邏輯接口可能有所不同。
一些步進電機驅動IC具有單獨的邏輯電源引腳,邏輯高低電平閾值 與該邏輯電源電壓成正比。另外一些則有固定的邏輯閾值。你需要確保邏輯輸入電平與你的系統相兼容 – 假如你的控制器 邏輯高電平 只能驅動到1.8V,那么當你使用僅為3.3V 邏輯電平 設計的驅動器時,就很有可能會遇到問題。
圖8展示的是步進電機驅動IC的主要功能。選型之前,你應該很清楚你的應用需要哪些功能。
圖8
很多時候我們不需要過多用不到的功能,因為更多的功能意味著更高的成本。
一些比較老舊的驅動器使用外部采樣電阻,每個全橋各需要一個,以提供控制繞組電流所需的電流反饋。這些電阻又大又貴。較新的驅動器一般都將采樣電阻集成到IC內部,這樣不但可以減少外部所需的元件,而且還減小了布板面積。
不同驅動器之間的步進模式差異很大,從整步到1024微步都有。從某種程度上講,更精細的步進模式可以使步進電機運行更平穩。但細分步數也不是越高越好,因為它會受到電機自身機械結構的限制,而無法實現更高的細分要求。實際應用上比較常見的微步有1/8步和1/16步。
為了實現高質量的運動控制,繞組電流必須得到很好的調節。確保這一點的一個重要指標就是控制電流衰減的時間。
電機高速運轉時會產生較大的反電動勢,如果管理不當,可能會導致電流波形失真。一些比較老舊的驅動器采用固定比例的“混合衰減”模式來解決這個問題。而比較新的驅動器,帶有內部電流檢測,可以實現自動電流衰減,提供了更高效的電流控制。
保護功能在電機驅動IC中是非常有必要的,它可以在發生短路或電源故障等問題時保護IC不受損壞。
在改進型的步進電機驅動IC中通常會使用SPI接口,會做更加完善的故障診斷功能,比如電機失速檢測,負載開路檢測等等。
最后,IC的封裝尺寸也是一個重要的考慮因素。較小的封裝可以節省PCB布板面積,但較小的封裝通常有較大的熱阻,這意味著它們耗散IC內部產生熱量的效率較低。這可能會限制驅動器可以提供的最大輸出電流。
在后續探討之前,我們先來回顧下數據手冊上經常會看到的幾種電流表述。Peak,maximum,continuous,average,RMS,full-scale…
圖9
一般來說,peak current指的是峰值電流,它是觸發OCP前允許的最大瞬時電流;maximum一般指的是一個周期內的最大輸出電流;continuous一般指的是持續的直流輸出電流;average是算數平均電流;RMS是均方根電流;full-scale是滿量程電流。
實際上IC廠商之間并沒有統一 驅動器輸出電流的表述方式。
比如圖9中,波峰時刻的電流,在一些數據手冊中,被描述成maximum current,peak current或者是full-scale current。但在另一些數據手冊中,這些電流的含義卻是不一樣的。所以,你必須真正理解它們具體指代的意思,而不是停留在術語本身。
在IC功耗計算中,我們需要用到RMS電流。整步模式下,繞組電流只被驅動到一個電流平臺。所以,在不考慮電流紋波時,整步下的RMS電流就等于最大電流;而在非整步模式下,你可以用最大電流乘以0.707,來近似得到RMS電流。
在我們深入了解驅動器 實際可以輸出多少電流之前,我們需要計算IC上產生的功耗。
對于IC總功耗的計算,我們需要知道全橋電路中功率管的導通阻抗,我們用Rds(on)來表示。在步進電機驅動IC中,全橋上管和下管的導通阻抗可能是一樣的,也可能是不一樣的。在電流調節期間,絕大多數時候,控制器保持全橋一側下管通,另一側在PWM,PWM的占空比根據電源電壓、電流調節設定值和電機轉速等變化。理論上來說,占空比可以在0和100%之間變化,但實際上大多數時候,占空比都是在50%左右變化。
換句話說,在電流調節期間,始終有兩個功率管處于導通狀態,電流有一半的時間流過兩個下管,另一半時間流過一側的上管和另一側的下管。
由此我們也可以大致計算出芯片總的有效導通阻抗,計算公式為一個下管的Rds(on) + 上管和下管Rds(on)的平均值:
Effective RDS(ON) = RLS + (RHS + RLS) / 2
例如MPS公司的MP6500,上管Rds(on)為195mΩ,下管為170mΩ,那么可以算出有效導通阻抗為353mΩ;而同類其他產品上下管的Rds(on)都為450mΩ,電流路徑上的有效導通阻抗為900mΩ。
考慮到實際工作中,下管導通時間更長,所以在設計驅動芯片時,將低邊MOSFET的Rds(on)做的更小一些,是有意義的。
PART.06
可是,有時候事情并沒有我們想想的這么簡單。
事實上MOSFET的Rds(on)并不是一個恒定的值,不同芯片之間可能會存在差異,這就是我們可以在數據手冊上看到典型值和最大值的原因。對于最壞的情況分析,我們可以用最大值來計算,盡管這是一種比較悲觀的做法,但它絕對是安全的。
更糟糕的情況是MOSFET的Rds(on),會隨溫度變化而變化,這種變化和器件的物理特性相關,不同的IC工藝都有類似的現象。
圖10展示了MP6500兩個全橋上/下管Rds(on)隨溫度變化的情況。一般來說,150度下的Rds(on)會比常溫下高50%左右。
圖10
知道了電流路徑下的有效導通阻抗之后,我們就可以來計算IC上產生的總功耗了。
它大體可分為三部分,分別是導通損耗,開關損耗和靜態損耗。
當然可能還有一部分驅動損耗,這部分損耗非常小,通常可以忽略不計。有時候驅動損耗已經包含在靜態損耗中,這取決于IC靜態電流是在開關狀態下還是非開關狀態下測得的。
導通損耗
計算公式是:
Resistive Losses:
PR = IRMS2 x RDS(ON)
其中IRMS是流經繞組的有效電流,RDS(ON)是電流路徑上MOSFET的有效導通阻抗。
功率損耗
在MOSFET開通和關斷時也有一部分功率損耗,即開關損耗。這個功耗取決于開關頻率和MOSFET開通關斷時的轉換速率,也就是slew rate。在此期間,MOSFET工作在線性區域,就像可變電阻一樣。所以這個功耗可以近似為 (1/2 x 輸入電壓 x 輸出電流 x 開關頻率 x 開通關斷時間):
Switching Losses:
PS ≈ ? x VIN x IRMS x fsw x tR
+ ? x VIN x IRMS x fsw x tF
通常步進電機驅動IC手冊上不會標明轉換速率,但大部分驅動器的上升下降時間在10nS到100nS之間。所以,如果沒有明確標注的話,我們可以用100nS作為估算。
注意,我們算的導通損耗和開關損耗只是其中一個全橋的,在步進電機驅動器中有兩個全橋,所以以上兩部分損耗,需要乘以2。
靜態損耗
這部分損耗來自于芯片內部的邏輯供電,門級驅動電路等等。數據手冊上會直接給出IC靜態電流,我們用輸入電壓乘以靜態電流就得到了這部分損耗:
Static Losses:
PQ = VIN x IQ
IC內部耗散的總功率就是這三部分之和:
Total Power
P = PR + PS + PQ
下面我們用一個實例來說明IC總功耗。
比如某個應用中,MP6500輸入電源電壓為24V,輸出峰值電流為2A,開關頻率為20kHz。在正弦或者類正弦的電流輸出中,2A峰值電流意味著實際驅動電機的RMS電流為2A*0.707,即1.414A。前面我們得到了PWM期間,MP6500總的有效導通阻抗為353mΩ,那么就可以算出導通損耗為706mW每個全橋。我們沒有在MP6500的數據手冊中找到上升/下降時間,所以這里我們都用100nS來近似估算。當然slew rate可以通過實際測量得到。
根據公式算得開關損耗為每個全橋68mW。另外我們在手冊中找到靜態電流為1.5mA,算得靜態損耗為36mW。三部分損耗相加,我們得到的總功耗約為1.58瓦。需要注意的是,這里我們用到的所有數據都是基于常溫下的。
當我們知道了IC上消耗了多少功率以后,我們就可以把它和實際溫度聯系在一起。IC內部硅晶片上的溫度我們稱之為“結溫”,由于我們不能直接測量結溫,只能依靠熱仿真或者大體計算得出。通常,硅晶片的工作溫度是有上限的,一般為150攝氏度。超過這個溫度,大多數芯片就會關斷功率級以保護IC不被損壞。熱量會從一個溫度較高的物體流向一個溫度較低的物體,就好像電流會從一個較高的電壓流向一個較低的電壓。傳遞受阻力的影響,在熱模型中,我們稱之為熱阻。
圖11展示了一個最基本的熱傳遞模型。硅晶片上產生的熱量有兩條傳導路徑,一條向上傳導,從junction傳遞到case top,再由case top向空氣散熱;另一條向下傳導,從junction傳遞到board,再由board向空氣散熱。
圖11:基本的熱傳遞模型
大多數IC數據手冊上都標注了熱阻參數。Theta-JA,它表征了熱量從硅晶片向周圍空氣傳遞時受到的阻力,它是上述兩條支路的熱阻總和,單位℃/W。所以當你知道了IC上消耗的總功率,你就可以通過功率乘以熱阻再加上環境溫度計算出結溫。
需要說明的是,你在數據手冊中看的熱阻參數都是基于一些標準PCB下的數據,其中一種JEDEC標準,稱之為JESD-51。JESD-51有幾種標準化的電路板結構,其中IC數據手冊中最常用的是JESD51-7,也就是圖12上展示的這個。
圖12
JESD51-7約定了板子的尺寸,層數,銅厚和線寬等等。這是一種相當典型的PCB板結構,但它可能與你實際的PCB有很大不同。
不同PCB的尺寸,層數和銅厚都會對熱阻產生巨大的影響。所以,手冊上給出的熱阻數據只適用于JESD51-7標準下的PCB以及其約定的其他外部條件。
換句話說,手冊上的Theta-JA只能用于同類產品之間的橫向比較,而不能用于你PCB上的IC發熱計算。
我們用一個實例來說明不同PCB對相同功耗下的IC發熱有多大影響。
圖13中的左邊是MP6500在兩層板上驅動2A峰值電流時的發熱情況,我們可以看到殼溫是84度;圖13中的右邊是四層板,其他條件都一樣,殼溫只有56度。差異非常的明顯。
圖13:MP6500 Driving a 2A Peak Stepper Motor
我們知道了如何計算IC功耗和結溫,現在我們再回過頭來看看手冊中的標稱電流。
如圖14所示,MPS公司的MP6500標稱2.5A 最大電流,同類其他產品標稱2.4A 峰值電流。單從標稱電流上來看,有人可能會認為這兩款產品都可以工作在2A峰值電流。
圖14
我們再來對比下它們的熱阻,TSSOP封裝分別是32和30.9,QFN封裝分別是36和40.7。看起來也沒有太大的差別。
但是,請注意MP6500的有效導通阻抗只有353mΩ,而同類“其他產品”卻高達900mΩ,是MP6500的兩倍多。
我們也來算一下“其他產品”的總功耗,還是在24V,2A峰值電流下。計算方法我們前面已經講過了,這里就不再重復。直接講結果,我們得出在相同條件下,“其他產品”總功耗是3.86W,而MPS公司的MP6500的總功耗只有1.58W。
再來看下這兩款產品的結溫。
以TSSOP封裝為例,都在室溫25度下工作。MP6500的結溫是75度,同類“其他產品”是145度,這幾乎到了熱關斷的溫度。
但是請不要忘記,剛才我們計算總功耗時,用的只是常溫下的Rds (on)數據,高溫下Rds(on)會顯著增加,所以實際的結溫肯定比我們拿常溫數據計算得到的要高。再考慮到環溫高一些的應用場合,比如烈日下的汽車內,同類“其他產品”就根本沒辦法持續工作在2A峰值電流。
換一個角度,我們剛才看到MP6500在兩層EVB上驅動2A峰值電流的殼溫是接近85度,也就是60度的溫升,而MP6500的功耗只有同類“其他產品”的41%,那么可以計算出在同樣的兩層EVB上,同類“其他產品”的溫升達到141度,結溫更是高達166度,這已經遠遠超過了OTP的溫度。
通過上述對比,我們可以看出MP6500手冊上標稱的2.5A maximum current是常溫下實實在在能出的電流,而同類“其他產品”很難在常溫下持續輸出2A最大電流,更不用說2.4A。
這也就是為什么我們一直在強調不能僅僅只看手冊上的標稱電流的原因。
通過熱阻參數Theta JA,我們也可以反推某一溫度下實際夠輸出多少電流。
這里你需要解一個一元二次方程,這和我們之前做的計算是一樣的,只是反過來而已,具體過程我就不詳細了。
比如常溫25度下,MP6500在觸發OTP之前可以持續輸出2.3A RMS電流,3.2A峰值電流。同類“其他產品”只能輸出不到1.5A的RMS電流,2.1A峰值電流。同樣的,這些計算結果都是基于常溫下的Rds(on)和靜態電流,以及JESD51-7標準下的評估板。
需要強調的是,我們不認為任何IC廠商會在數據手冊上發布不真實的信息。
同類“其他產品”在數據手冊上標注2.4A peak current,1.5A full-scale current。通過剛才的計算,在室溫下,同類“其他產品”很難持續工作在2A峰值電流。所以,這里的2.4A peak current,我們可以理解為短時間內可以輸出的最大電流,而非持續輸出的最大電流。
正是因為很多時候IC廠商之間對某些參數指標沒有明確的規范,所以,我們在選擇步進電機驅動器時,就需要結合自身應用,更深層次的理解和計算。
當我們在設計一款對IC發熱要求非常高的產品時,我們可以使用150度下的Rds(on)數據來計算。結果可能會讓你感到失望,也許只有我們上面計算的一半,但這正是我們需要考慮的。
PART.07
綜上所述,關于如何選擇步進電機驅動器,我的一些小建議:
第一,不能完全依賴數據手冊中的規格參數,它們的定義可能不同,適用情況和現實情況可能相去甚遠,有時甚至是徹頭徹尾的誤導!
第二,為了確定選擇的驅動器是否適合你的應用,你需要使用MOSFET的導通阻抗和IC的熱特性參數等,進行估算。
第三,將PCB結構,環境溫度,周圍散熱情況等納入你的考慮。
最后,我們來做個簡短的回顧:
今天我們一起了解了典型的兩相雙極型步進電機的基本結構,如何去驅動一個步進電機,我們講到了細分控制原理,逐個查看了手冊上的主要技術指標,以及如何計算IC損耗并將它和溫度聯系在一起。
希望我的講解對大家今后在選擇步進電機驅動器時有所幫助。
審核編輯:劉清
-
驅動器
+關注
關注
53文章
8263瀏覽量
146691 -
步進電機
+關注
關注
151文章
3115瀏覽量
147653 -
驅動電路
+關注
關注
153文章
1532瀏覽量
108649 -
脈沖信號
+關注
關注
6文章
400瀏覽量
37023 -
永磁體
+關注
關注
0文章
124瀏覽量
5531
原文標題:【工程師筆記】如何正確選擇步進電機驅動器?- 不要全部相信你在數據手冊上看到的數據
文章出處:【微信號:MPS芯源系統,微信公眾號:MPS芯源系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論