首頁 > 新能源汽車

淺談直流電動(dòng)機(jī)pwm原理 pwm應(yīng)用詳解

來源:新能源汽車網(wǎng)
時(shí)間:2018-08-27 11:00:51
熱度:

淺談直流電動(dòng)機(jī)pwm原理 pwm應(yīng)用詳解本文主要是關(guān)于pwm的相關(guān)介紹,并著重對pwm的原理以及pwm直流電動(dòng)機(jī)進(jìn)行了詳盡的闡述。PWM直流電機(jī)目前 ,在直流電機(jī)控制系統(tǒng)中 ,普遍

本文主要是關(guān)于pwm的相關(guān)介紹,并著重對pwm的原理以及pwm直流電動(dòng)機(jī)進(jìn)行了詳盡的闡述。

PWM直流電機(jī)

目前 ,在直流電機(jī)控制系統(tǒng)中 ,普遍采用以單片機(jī)DSP 作為微處理器的控制系統(tǒng) , 由于單片機(jī)或DSP 控制電機(jī)占用端口資源多 、所需周邊元器件也較多 ,對整個(gè)系統(tǒng)的穩(wěn)定性和可靠性有較大影響 ??删幊炭刂破髯鳛橐环N工業(yè)控制裝置 , 以抗干擾能力強(qiáng)和可靠性高而著稱 , 隨著可編程控制器的迅速發(fā)展 ,其性價(jià)比也在不斷提高。

直流電機(jī)伺服驅(qū)動(dòng)器的主電結(jié)構(gòu)通常采用H橋,調(diào)速大都通過PWM方式,其調(diào)制方式大致有雙極式、單極式和受限單極式三種。不同的PWM方式下電機(jī)的運(yùn)行特性以及主電回路的開關(guān)損耗和安全性各有不同。無刷直流電機(jī)(BrushlessDCMotor,BLDCM)通常采用三相全橋主電路結(jié)構(gòu),以三相六狀態(tài)方波控制運(yùn)行,任一狀態(tài)下有兩只開關(guān)管受PWM控制,其PWM調(diào)制方式和直流電機(jī)的H橋PWM調(diào)制很類似,都是同時(shí)兩只橋臂受控。直流電機(jī)調(diào)速PWM方式選擇要依據(jù)技術(shù)指標(biāo)要求。通常直流伺服控制系統(tǒng)大多采用雙極控制,可以保證電機(jī)電流的連續(xù)性等要求,從而保證電機(jī)的快速響應(yīng)性;對于調(diào)速系統(tǒng),通常電機(jī)工作在較高轉(zhuǎn)速、較大負(fù)載下,這時(shí)可選擇單極式,或受限單極式,使主電路不易出現(xiàn)直通故障,工作可靠性高。同時(shí),不同的PWM方式,橋式電路功率器件的損耗、熱平衡及續(xù)流回饋也不盡相同。

系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件總體設(shè)計(jì)

系統(tǒng)程序主要包括轉(zhuǎn)速檢測顯示程序、PI控制算法程序及PWM信號(hào)產(chǎn)生程序。轉(zhuǎn)速檢測顯示程序?qū)崿F(xiàn)對電機(jī)實(shí)際轉(zhuǎn)速的測量,并利用組態(tài)王軟件實(shí)時(shí)顯示出來。PI控制算法程序利用PLC的PID功能指令實(shí)現(xiàn)速度的PI控制,并將PI控制器的輸出值作為PWM控制信號(hào)的占空比。PWM信號(hào)產(chǎn)生程序利用PLC的PWM功能指令產(chǎn)生周期一定、占空比可調(diào)的PWM信號(hào) [2] ?。

程序首先對高速計(jì)數(shù)器、PWM信號(hào)發(fā)生器和PID參數(shù)表進(jìn)行初始化。然后設(shè)置定時(shí)中斷,并啟動(dòng)定時(shí)器開始定時(shí)。接下來判斷電機(jī)的轉(zhuǎn)動(dòng)方向,若正轉(zhuǎn),則判斷正轉(zhuǎn)高速計(jì)數(shù)器是否發(fā)生中斷,否則判斷反轉(zhuǎn)高速計(jì)數(shù)器是否發(fā)生中斷。高速計(jì)數(shù)器一旦發(fā)生中斷,立即讀取定時(shí)器的當(dāng)前值,作為計(jì)算轉(zhuǎn)速的時(shí)間值。之后判斷是否發(fā)生定時(shí)中斷,若是則執(zhí)行定時(shí)中斷程序,定時(shí)中斷程序主要工作為定時(shí)器清零、高速計(jì)數(shù)器清零并重新啟動(dòng)、計(jì)算轉(zhuǎn)速、轉(zhuǎn)速標(biāo)準(zhǔn)化、執(zhí)行PID指令、輸出值轉(zhuǎn)換及執(zhí)行PWM指令,繼而輸出PWM控制信號(hào),否則繼續(xù)判斷是否發(fā)生中斷 [2] ?。

轉(zhuǎn)速檢測程序

轉(zhuǎn)速的檢測主要是通過光電編碼器和PLC的高速計(jì)數(shù)功能來實(shí)現(xiàn)的。光電編碼器和電機(jī)同軸連接,電機(jī)每轉(zhuǎn)1圈,光電編碼器A,B兩路就產(chǎn)生一定數(shù)量的相位互差90°的正交脈沖。為此選擇高速計(jì)數(shù)器為A,B兩路正交計(jì)數(shù)工作方式。為使高速計(jì)數(shù)器正確工作,首先應(yīng)向高速計(jì)數(shù)器的控制字節(jié)寫入控制字,利用高速計(jì)數(shù)器的定義指令為所用的高速計(jì)數(shù)器選定工作模式,寫入高速計(jì)數(shù)器的設(shè)定值,把當(dāng)前值清零,采用當(dāng)前值等于設(shè)定值的中斷事件,建立中斷連接,然后啟動(dòng)高速計(jì)數(shù)器。同時(shí)啟動(dòng)定時(shí)器,當(dāng)高速計(jì)數(shù)器的當(dāng)前值等于設(shè)定值時(shí),產(chǎn)生中斷,并同時(shí)把定時(shí)器的當(dāng)前值讀出來,作為產(chǎn)生所設(shè)定脈沖數(shù)的時(shí)間,從而可計(jì)算出轉(zhuǎn)速。為提高測量精度,減少測量誤差,可使用多個(gè)高速計(jì)數(shù)器,每個(gè)高速計(jì)數(shù)器檢測不同時(shí)間范圍的脈沖數(shù)。鑒于S7-200PLCCPU224有4個(gè)高速計(jì)數(shù)器具有A,B兩路正交計(jì)數(shù)方式,程序采用了4個(gè)高速計(jì)數(shù)器進(jìn)行計(jì)量,然后取其平均值。

淺談直流電動(dòng)機(jī)pwm原理

1.脈寬 調(diào) 制 (PWM)是利用數(shù)字輸出對模擬電路進(jìn)行控制的一種有效技術(shù),尤其是在對電機(jī)的轉(zhuǎn)速控制方面,可大大節(jié)省能量。PWM 具有很強(qiáng)的抗噪性,且有節(jié)約空間、比較經(jīng)濟(jì)等特點(diǎn)。模擬控制電路有以下缺陷:模擬電路容易隨時(shí)間漂移,會(huì)產(chǎn)生一些不必要的熱損耗,以及對噪聲敏感等。而在用了PWM技術(shù)后,避免了以上的缺陷,實(shí)現(xiàn)了用數(shù)字方式來控制模擬信號(hào),可以大幅度降低成本和功耗。

2.直流無刷電機(jī)

直流無刷電機(jī)由電動(dòng)機(jī)、轉(zhuǎn)子位置傳感器和電子開關(guān)線路三部分組成。直流電源通過開關(guān)線路向電動(dòng)機(jī)定子繞組供電,電動(dòng)機(jī)轉(zhuǎn)子位置由位置傳感器檢測并提供信號(hào)去觸發(fā)開關(guān)線路中的功率開關(guān)元件使之導(dǎo)通或截止,從而控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)。在應(yīng)用實(shí)例中,磁極旋轉(zhuǎn),電樞靜止,電樞繞組里的電流換向借助于位置傳感器和電子開關(guān)電路來實(shí)現(xiàn)。電機(jī)的電樞繞組作成三相,轉(zhuǎn)子由永磁材料制成,與轉(zhuǎn)子軸相連的位置傳感器采用霍爾傳感器。3600范圍內(nèi),兩兩相差1200安裝,共安裝三個(gè)。為了提高電機(jī)的特性,電機(jī)采用二相導(dǎo)通星形三相六狀態(tài)的工作方式。開關(guān)電路采用三相橋式接線方式。

調(diào)速以及穩(wěn)速控制

在調(diào) 速 電 路中,主要采用時(shí)基電路LM555和脈寬調(diào)制器SG1525來完成,LM555用于產(chǎn)生一個(gè)占空比一定、且有固定頻率的方波信號(hào)。SG1525為單片脈寬調(diào)制型控制器芯片,具有輸出5.1V 的基準(zhǔn)穩(wěn)壓電源,誤差放大器、振蕩頻率在100^ 400kHz范圍內(nèi)的鋸齒波振蕩器、軟啟動(dòng)電路、關(guān)閉電路、脈寬調(diào)制比較器RS寄存器以及保護(hù)電路等。它解決了PWM電路的集成化問題,在實(shí)例中用此芯片來實(shí)現(xiàn)系統(tǒng)的調(diào)速。在具體的電路中,首先對位置傳感器信號(hào)進(jìn)行整形,形成所需要的前后沿很陡,具有一定寬度的波形。經(jīng)微分電路微分,產(chǎn)生的微分脈沖去觸發(fā)時(shí)基電路LM555,形成占空比為2:1的方波,方波頻率約為200Hzo

此方波頻率計(jì)算公式為:f= n * p/ 60式中,Y1為電機(jī)的額定轉(zhuǎn)速r/min, f為位置傳感器輸出信號(hào)的頻率、P為電機(jī)的極對數(shù)。方 波 經(jīng) 濾波器濾波后,形成直流電壓送人脈寬調(diào)制器,與脈寬調(diào)制器的反饋電壓進(jìn)行比較,利用得到的誤差信號(hào)去控制脈寬調(diào)制器輸出的調(diào)制方波脈沖的寬度變化,即PWM輸出脈沖占空比的變化,利用占空比的變化調(diào)整加在電機(jī)電樞繞組上的電壓,改變電壓隨即改變電機(jī)電流,轉(zhuǎn)速依據(jù)電流的大小來改變。

結(jié)束語:在應(yīng)用實(shí)例中,PWM對調(diào)速系統(tǒng)來說,有如下優(yōu)點(diǎn):系統(tǒng)的響應(yīng)速度和穩(wěn)定精度等指標(biāo)比較好;電樞電流的脈動(dòng)量小,容易連續(xù),而且可以不必外加濾波電抗也可以平穩(wěn)工作;系統(tǒng)的調(diào)速范圍寬;使用元件少、線路簡單。

pwm應(yīng)用詳解

PWM是一種對模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。

淺談直流電動(dòng)機(jī)pwm原理 pwm應(yīng)用詳解

  圖1顯示了三種不同的PWM信號(hào)。圖1a是一個(gè)占空比為10%的PWM輸出,即在信號(hào)周期中,10%的時(shí)間通,其余90%的時(shí)間斷。圖1b和圖1c顯示的分別是占空比為50%和90%的PWM輸出。這三種PWM輸出編碼的分別是強(qiáng)度為滿度值的10%、50%和90%的三種不同模擬信號(hào)值。例如,假設(shè)供電電源為9V,占空比為10%,則對應(yīng)的是一個(gè)幅度為0.9V的模擬信號(hào)。

  ?是一個(gè)可以使用PWM進(jìn)行驅(qū)動(dòng)的簡單電路。圖中使用9V電池來給一個(gè)白熾燈泡供電。如果將連接電池和燈泡的開關(guān)閉合50ms,燈泡在這段時(shí)間中將得到9V供電。如果在下一個(gè)50ms中將開關(guān)斷開,燈泡得到的供電將為0V。如果在1秒鐘內(nèi)將此過程重復(fù)10次,燈泡將會(huì)點(diǎn)亮并象連接到了一個(gè)4.5V電池(9V的50%)上一樣。這種情況下,占空比為50%,調(diào)制頻率為10Hz。


3、特點(diǎn)

PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換,讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對數(shù)字信號(hào)產(chǎn)生影響。
對噪聲抵抗能力的增強(qiáng)是PWM相對于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長通信距離。在接收端,通過適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號(hào)還原為模擬形式。

PWM控制直流電動(dòng)機(jī)

直流調(diào)速器就是調(diào)節(jié)直流電動(dòng)機(jī)速度的設(shè)備,上端和交流電源連接,下端和直流電動(dòng)機(jī)連接,直流調(diào)速器將交流電轉(zhuǎn)化成兩路輸出直流電源,一路輸入給直流電機(jī)礪磁(定子),一路輸入給直流電機(jī)電樞(轉(zhuǎn)子),直流調(diào)速器通過控制電樞直流電壓來調(diào)節(jié)直流電動(dòng)機(jī)轉(zhuǎn)速。同時(shí)直流電動(dòng)機(jī)給調(diào)速器一個(gè)反饋電流,調(diào)速器根據(jù)反饋電流來判斷直流電機(jī)的轉(zhuǎn)速情況,必要時(shí)修正電樞電壓輸出,以此來再次調(diào)節(jié)電機(jī)的轉(zhuǎn)速。

直流電機(jī)的調(diào)速方案一般有下列3種方式:

1、改變電樞電壓;

2、改變激磁繞組電壓;

3、改變電樞回路電阻。

使用單片機(jī)來控制直流電機(jī)的變速,一般采用調(diào)節(jié)電樞電壓的方式,通過單片機(jī)控制PWM1,PWM2,產(chǎn)生可變的脈沖,這樣電機(jī)上的電壓也為寬度可變的脈沖電壓。根據(jù)公式

U=aVCC

其中:U為電樞電壓;a為脈沖的占空比(0

電動(dòng)機(jī)的電樞電壓受單片機(jī)輸出脈沖控制,實(shí)現(xiàn)了利用脈沖寬度調(diào)制技術(shù)(PWM)進(jìn)行直流電機(jī)的變速。

因?yàn)樵贖橋電路中,只有PWM1與PWM2電平互為相反時(shí)電機(jī)才能驅(qū)動(dòng),也就是PWM1與PWM2同為高電平或同為低電平時(shí),都不能工作,所以上圖中的實(shí)際脈沖寬度為B,

我們把PWM波的周期定為1ms,占空比分100級可調(diào)(每級級差為10%),這樣定時(shí)器T0每0.01ms產(chǎn)生一次定時(shí)中斷,每100次后進(jìn)入下一個(gè)PWM波的周期。上圖中,占空比是60%,即輸出脈沖的為0.6ms,斷開脈沖為0.4ms,這樣電樞電壓為5*60%=3V。

我們討論的是可以正轉(zhuǎn)反轉(zhuǎn)的,如果只按一個(gè)方向轉(zhuǎn),我們就只要把PWM1置為高電平或低電平,只改變另一個(gè)PWM2電平的脈沖變化即可,,如下圖(Q4導(dǎo)通,Q3閉合,電機(jī)只能順時(shí)針調(diào)整轉(zhuǎn)動(dòng)速度)

C語言代碼:

#include

#define uchar unsigned char

#define uint unsigned int

sbit K5=P1^4;

sbit K6=P1^5;

sbit PWM1=P1^0;

sbit PWM2=P1^1;

sbit FMQ=P3^6;

uchar ZKB1,ZKB2;

void delaynms(uint aa)

{

??uchar bb;

??while(aa--)

??{

???for(bb=0;bb<115;bb++)?????//1ms基準(zhǔn)延時(shí)程序

???{
????;

???}

??}
?

}

  void delay500us(void)

  {

  int j;

  for(j=0;j《57;j++)

  {

  ;

  }

  }

  void beep(void)

  {

  uchar t;

  for(t=0;t《100;t++)

  {

  delay500us();

  FMQ=!FMQ; //產(chǎn)生脈沖

  }

  FMQ=1; //關(guān)閉蜂鳴器

  delaynms(300);

  }

  void main(void)

  {

  TR0=0; //關(guān)閉定時(shí)器0

  TMOD=0x01; //定時(shí)器0,工作方式1

  TH0=(65526-100)/256;

  TL0=(65526-100)%256; //100us即0.01ms中斷一次

  EA=1; //開總中斷

  ET0=1; //開定時(shí)器0中斷

  TR0=1; //啟動(dòng)定時(shí)器T0

  ZKB1=50; //占空比初值設(shè)定

  ZKB2=50; //占空比初值設(shè)定

  while(1)

  {

  if(!K5)

  {

  delaynms(15); //消抖

  if(!K5) //確定按鍵按下

  {

  beep();

  ZKB1++; //增加ZKB1

  ZKB2=100-ZKB1; //相應(yīng)的ZKB2就減少

  }

  }

  if(!K6)

  {

  delaynms(15); //消抖

  if(!K6) //確定按鍵按下

  {

  beep();

  ZKB1--; //減少ZKB1

  ZKB2=100-ZKB1; //相應(yīng)的ZKB2增加

  }

  }

  if(ZKB1》99)

  ZKB1=1;

  if(ZKB1《1)

  ZKB1=99;

  }

  }

  void time0(void) interrupt 1

  {

  staTIc uchar N=0;

  TH0=(65526-100)/256;

  TL0=(65526-100)%256;

  N++;

  if(N》100)

  N=0;

  if(N《=ZKB1)

  PWM1=0;

  else

  PWM1=1;

  if(N《=ZKB2)

  PWM2=0;

  else

  PWM2=1;

  }

  //顯現(xiàn):電機(jī)轉(zhuǎn)速到最高后,也就是N為1或99時(shí),再按一下,就變到99或1,

  //電機(jī)反方向旋轉(zhuǎn)以最高速度