<button id="ldwag"></button>

<strike id="ldwag"></strike>

<strike id="ldwag"><dfn id="ldwag"><strike id="ldwag"></strike></dfn></strike>

<strike id="ldwag"></strike>

<strike id="ldwag"><dfn id="ldwag"></dfn></strike>

您的瀏覽器版本過低,為保證更佳的瀏覽體驗,請點擊更新高版本瀏覽器

以后再說X

全國服務熱線:
0510-66078688

公司新聞 行業新聞 技術交流

直流無刷電機的正弦波控制

來源: 作者: 發布時間:2020/11/21 13:57:35 瀏覽:

2020-11-09

傳統的直流無刷電機采用方波控制方式,控制簡單,容易實現,同時存在轉矩脈動、換相噪聲等問題,在一些對噪聲有要求的應用領域存在局限性。針對這些應用,采用正弦波控制可以很好的解決這個問題。


 直流無刷電機的正弦波控制簡介
  直流無刷電機的正弦波控制即通過對電機繞組施加一定的電壓,使電機繞組中產生正弦電流,通過控制正弦電流的幅值及相位達到控制電機轉矩的目的。與傳統的方波控制相比,電機相電流為正弦,且連續變化,無換相電流突變,因此電機運行噪聲低。

 根據控制的復雜程度,直流無刷電機的正弦波控制可分為:簡易正弦波控制與復雜正弦波控制。

 (1)簡易正弦波控制:
 對電機繞組施加一定的電壓,使電機相電壓為正弦波,由于電機繞組為感性負載,因此電機相電流也為正弦波。通過控制電機相電壓的幅值以及相位來控制電流的相位以及幅值,為電壓環控制,實現較為簡單。

 (2)復雜正弦波控制:
 與簡易正弦波控制不同,復雜的正弦控制目標為電機相電流,建立電流環,通過直接控制相電流的相位與幅值達到控制電機的目的。由于電機相電流為正弦信號,因此需要進行電流的解耦操作,較為復雜,常見的為磁場定向控制(FOC)及直接轉矩控制(DTC)等。

 本文將主要介紹簡易正弦波控制的原理及其實現。
 簡易正弦波控制原理

 簡易正弦波控制即通過控制電機正弦相電壓的幅值以及相位達到控制電機電流的目的。通常通過在電機端線施加一定形式的電壓來使繞組兩端產生正弦相電壓。常見的生成方式為:正弦PWM以及空間矢量PWM。由于正弦PWM原理簡單且便于實現,因此簡易正弦波控制中通常采用其作為PWM生成方式。圖1為BLDC控制結構圖,其中Ux、Uy、Uz為橋臂電壓,Ua、Ub、Uc為電機繞組的相電壓,以下對于不同種類的PWM調制方式的介紹將基于此結構圖進行。

 


 圖1 直流無刷電機控制框圖
 (1)三相正弦調制PWM

 三相SPWM為最常見的正弦PWM生成方式,即對電機三個端線施加相位相差120度的正弦電壓信號,由于中性點為0,因此電機相電壓也為正弦,且相位與施加的正弦電壓相同。如圖2所示。

 


  圖2 三相調制SPWM端線電壓
     (2)開關損耗最小正弦PWM
 與常見的SPWM不同,采用開關損耗最小正弦PWM時,施加在電機端線上電壓Ua、 Ub、Uc并非正弦波電壓,此時電機中心點電壓并非為0,但是電機相電壓仍然為正弦。因此此類控制方式為線電壓控制。見圖3:


 圖3 開關損耗最小正弦PWM端線電壓

 其中Ux、Uy、Uz為電機端線電壓,Ua、Ub、Uc為電機相電壓,可見相電壓相位差為120度。Ux、Uy、Uz與Ua、Ub、Uc的關系如下:

  

 合并后,Ux,Uy,Uz如下:


 
 
 

 可見采用開關損耗最小正弦PWM時,Ux,Uy,Uz相位差120度,且為分段函數形式,并非正弦電壓,而電機相電壓Ua、Ub、Uc仍然為正弦電壓。且在120度區內端線電壓為0,即對應的開關管常開或常關。因此與三相正弦PWM相比,開關損耗減少1/3。

 通過控制Ux,Uy,Uz的相位以及幅值即可以控制Ux,Uy,Uz,實現控制電流的目的。

 直流無刷電機簡易正弦波控制的實現
 系統結構

 系統結構如圖4所示。工作原理如下:霍爾輸入信號經過自動濾波及采樣處理,得到可靠的換相信號,此信息可被用作估算轉子角度以及轉速。速度PI調解器根據給定轉速值以及反饋轉速值計算正弦PWM的Modulation的大小。位置估算單元利用轉速以及換相信息估算轉子位置角Angle。通過超前角調整單元,補償超前角Δ,得到Angle。SPWM單元利用Modulation 以及Angle信息生成開關損耗最小SPWM,輸出到逆變單元。以下內容介紹了各單元原理及實現。
 


 圖4 系統框圖
 開關損耗最小正弦PWM的生成
 由于Ux,Uy,Uz相位相差120度,因此以Ux為例進行分析。

 

 Ux為分段函數,為正弦函數且以對稱。僅需實現其中一段,另一段對稱處理即可。

 的實現:
 
 因此僅需要利用0-120度的正弦表即可以實現,即,其中M為幅值。Uy,Uz的實現與Ux相似,相位差為120°。

 通過控制M和x即可控制電機相電壓的幅值及相位。

 開關損耗最小正弦PWM控制與霍爾位置傳感器的關系

 通常直流無刷電機采用霍爾傳感器定位轉子位置,由于傳統控制方式為方波控制,因此3個霍爾傳感器即可滿足要求?;魻杺鞲衅鞯奈恢门c轉子反電勢之間的關系見圖5,即霍爾傳感器安裝于反電勢為30°、90°、150°、210°、270°、330°的位置。具體霍爾輸出值與霍爾的具體安裝方式相關。
  


 圖5 BLDC霍爾傳感器輸出與反電勢之間的關系

 采用開關損耗最小正弦PWM控制BLDC時,電機端線電壓與霍爾傳感器輸出之間的關系示意圖如圖6。

 


 圖6 采用開關損耗最小正弦PWM時,端線電壓與霍爾狀態的關系
 由圖2可知,采用開關損耗最小正弦PWM時電機端線電壓超前于相電壓30°,因此可得采用正弦波控制時電機相電壓與反電勢同步。

 由于相電壓超前于相電流,因此相電流滯后于反電勢。

 轉速計算
 轉速計算依賴于霍爾傳感器,理想狀態下相鄰兩個霍爾狀態的間隔為60°,實際應用中由于存在安裝誤差,實際間隔并非60°,會引入計算誤差。本文檔中采用一個霍爾傳感器的輸出作為轉速計算參考,如圖7所示。其中高低電平分別為180度,不會引入安裝誤差。利用此信息即可計算電機轉速。

 


 圖7 轉速計算
 計算公式如下:。其中:f為電頻率,P為電機極對數
 角度估算

 與方波控制不同,正弦波控制中角度為連續變化,而BLDC中常見的3個霍爾傳感器僅僅能提供6個角度信息,即0°,60°,120°,180°,240°,300°,其他角度信息無法直接獲得。通常采用平均速度法,假設在一定時間內電機速度平穩,利用前次霍爾換相時的角度與速度信息插值得到其他角度信息,如圖8所示。

 

 圖8 角度估算

 ,由此可見電機的轉速波動將直接影響角度計算的誤差,在方案中利用相鄰3次180°換相時間的平均值來計算轉速信息,如圖9。
  


  圖9 多次平均法計算轉速


 即,以此減少轉速波動引起的角度誤差。

 轉速PI

 轉速控制采用PI調解器,輸入為轉速給定及轉速反饋,輸出為開關損耗最小正弦PWM的幅值Modulation。公式如下:

 
 其中:為比例增益,為積分增益,y為PI調解器輸出。具體實現時,積分環節添加抗積分飽和功能,限制積分器輸出的******、最小值,同時對整個PI調解器的輸出值增加飽和限制,實現框圖如下。
  


 圖10 PI調解器框圖

 啟動

 直流無刷電機啟動之前,轉子處于靜止狀態,僅僅能利用霍爾傳感器得到電機的絕對位置信息,由于不存在換相,無法得到電機轉速信息,因此無法利用平均速度法計算正弦控制所需的角度信息。所以在電機啟動階段,無法直接切入正弦控制方式,在此采用方波控制方式啟動。當電機啟動后并獲得可靠的換向信息后,即可切入正弦波控制。為了防止出現較大的轉速波動,需要注意切換前后電流的相位及幅值均平穩過渡。

 理想切換前后的電流波形圖11如下。
 超前角調整

 由前面內容可知,霍爾傳感器的輸出反映轉子的反電勢信息,依據霍爾狀態生成的正弦波相電壓與轉子反電勢同相位。而由于電機為感性負載,因此電機相電流滯后于相電壓。即電機相電流滯后于反電勢。而霍爾******轉矩輸出時,電機相電流與反電勢同步,因此需要調整電壓相位,使生成的相電壓超前于反電勢,即超前角Δ。適當調整Δ,可使相電流與反電勢同相位,提高輸出轉矩,提高系統效率。超前角的調整可通過實驗形式手動調整,或者采用一定的算法自動調整。


  圖11 方波控制向正弦波控制的理想切換

 實驗結果
 本文提出的控制方法具體實現時采用Infineon的高性能 8位單片機XC866。XC866內部集成專用電機控制單元CCU6E(提供專用BLDC控制模式)以及高性能ADC模塊,是控制直流無刷電機的理想選擇。電機為一臺額定功率35W的直流無刷風機,極對數:4。啟動時采用方波控制,當速度平穩后切入正弦波控制。圖12為運行于開關損耗最小正弦PWM控制下的電機相電流。

 
 圖12 采用開關損耗最小正弦波控制的BLDC相電流

 小結
 本文介紹了一種基于開關損耗最小正弦PWM的直流無刷電機正弦波控制方案,并基于Infineon高性能8位單片機XC866進行了系統實現及驗證。與傳統的方波控制相比,由于采用正弦波驅動技術,電機運行噪聲低,且開關損耗較SPWM減少1/3,可以很好的滿足直流無刷風機應用中對噪聲以及效率的要求,因此此類控制方案將有很大的應用前景。

 

 

国产精品一二三四区无码,自拍偷在线精品自拍偷无码专区,人妻日本三级香港三级久久,亚洲AV色香蕉一区二区三区夜夜嗨

<button id="ldwag"></button>

<strike id="ldwag"></strike>

<strike id="ldwag"><dfn id="ldwag"><strike id="ldwag"></strike></dfn></strike>

<strike id="ldwag"></strike>

<strike id="ldwag"><dfn id="ldwag"></dfn></strike>