本文主要是關于pwm的相關介紹,并著重對pwm的原理以及pwm直流電動機進行了詳盡的闡述。
PWM直流電機
目前 ,在直流電機控制系統(tǒng)中 ,普遍采用以單片機或 DSP 作為微處理器的控制系統(tǒng) , 由于單片機或DSP 控制電機占用端口資源多 、所需周邊元器件也較多 ,對整個系統(tǒng)的穩(wěn)定性和可靠性有較大影響 。可編程控制器作為一種工業(yè)控制裝置 , 以抗干擾能力強和可靠性高而著稱 , 隨著可編程控制器的迅速發(fā)展 ,其性價比也在不斷提高。
直流電機伺服驅動器的主電結構通常采用H橋,調速大都通過PWM方式,其調制方式大致有雙極式、單極式和受限單極式三種。不同的PWM方式下電機的運行特性以及主電回路的開關損耗和安全性各有不同。無刷直流電機(BrushlessDCMotor,BLDCM)通常采用三相全橋主電路結構,以三相六狀態(tài)方波控制運行,任一狀態(tài)下有兩只開關管受PWM控制,其PWM調制方式和直流電機的H橋PWM調制很類似,都是同時兩只橋臂受控。直流電機調速PWM方式選擇要依據(jù)技術指標要求。通常直流伺服控制系統(tǒng)大多采用雙極控制,可以保證電機電流的連續(xù)性等要求,從而保證電機的快速響應性;對于調速系統(tǒng),通常電機工作在較高轉速、較大負載下,這時可選擇單極式,或受限單極式,使主電路不易出現(xiàn)直通故障,工作可靠性高。同時,不同的PWM方式,橋式電路功率器件的損耗、熱平衡及續(xù)流回饋也不盡相同。
系統(tǒng)軟件設計
系統(tǒng)軟件總體設計
系統(tǒng)程序主要包括轉速檢測顯示程序、PI控制算法程序及PWM信號產生程序。轉速檢測顯示程序實現(xiàn)對電機實際轉速的測量,并利用組態(tài)王軟件實時顯示出來。PI控制算法程序利用PLC的PID功能指令實現(xiàn)速度的PI控制,并將PI控制器的輸出值作為PWM控制信號的占空比。PWM信號產生程序利用PLC的PWM功能指令產生周期一定、占空比可調的PWM信號 [2] ?。
程序首先對高速計數(shù)器、PWM信號發(fā)生器和PID參數(shù)表進行初始化。然后設置定時中斷,并啟動定時器開始定時。接下來判斷電機的轉動方向,若正轉,則判斷正轉高速計數(shù)器是否發(fā)生中斷,否則判斷反轉高速計數(shù)器是否發(fā)生中斷。高速計數(shù)器一旦發(fā)生中斷,立即讀取定時器的當前值,作為計算轉速的時間值。之后判斷是否發(fā)生定時中斷,若是則執(zhí)行定時中斷程序,定時中斷程序主要工作為定時器清零、高速計數(shù)器清零并重新啟動、計算轉速、轉速標準化、執(zhí)行PID指令、輸出值轉換及執(zhí)行PWM指令,繼而輸出PWM控制信號,否則繼續(xù)判斷是否發(fā)生中斷 [2] ?。
轉速檢測程序
轉速的檢測主要是通過光電編碼器和PLC的高速計數(shù)功能來實現(xiàn)的。光電編碼器和電機同軸連接,電機每轉1圈,光電編碼器A,B兩路就產生一定數(shù)量的相位互差90°的正交脈沖。為此選擇高速計數(shù)器為A,B兩路正交計數(shù)工作方式。為使高速計數(shù)器正確工作,首先應向高速計數(shù)器的控制字節(jié)寫入控制字,利用高速計數(shù)器的定義指令為所用的高速計數(shù)器選定工作模式,寫入高速計數(shù)器的設定值,把當前值清零,采用當前值等于設定值的中斷事件,建立中斷連接,然后啟動高速計數(shù)器。同時啟動定時器,當高速計數(shù)器的當前值等于設定值時,產生中斷,并同時把定時器的當前值讀出來,作為產生所設定脈沖數(shù)的時間,從而可計算出轉速。為提高測量精度,減少測量誤差,可使用多個高速計數(shù)器,每個高速計數(shù)器檢測不同時間范圍的脈沖數(shù)。鑒于S7-200PLCCPU224有4個高速計數(shù)器具有A,B兩路正交計數(shù)方式,程序采用了4個高速計數(shù)器進行計量,然后取其平均值。
淺談直流電動機pwm原理
1.脈寬 調 制 (PWM)是利用數(shù)字輸出對模擬電路進行控制的一種有效技術,尤其是在對電機的轉速控制方面,可大大節(jié)省能量。PWM 具有很強的抗噪性,且有節(jié)約空間、比較經濟等特點。模擬控制電路有以下缺陷:模擬電路容易隨時間漂移,會產生一些不必要的熱損耗,以及對噪聲敏感等。而在用了PWM技術后,避免了以上的缺陷,實現(xiàn)了用數(shù)字方式來控制模擬信號,可以大幅度降低成本和功耗。
2.直流無刷電機
直流無刷電機由電動機、轉子位置傳感器和電子開關線路三部分組成。直流電源通過開關線路向電動機定子繞組供電,電動機轉子位置由位置傳感器檢測并提供信號去觸發(fā)開關線路中的功率開關元件使之導通或截止,從而控制電動機的轉動。在應用實例中,磁極旋轉,電樞靜止,電樞繞組里的電流換向借助于位置傳感器和電子開關電路來實現(xiàn)。電機的電樞繞組作成三相,轉子由永磁材料制成,與轉子軸相連的位置傳感器采用霍爾傳感器。3600范圍內,兩兩相差1200安裝,共安裝三個。為了提高電機的特性,電機采用二相導通星形三相六狀態(tài)的工作方式。開關電路采用三相橋式接線方式。
調速以及穩(wěn)速控制
在調 速 電 路中,主要采用時基電路LM555和脈寬調制器SG1525來完成,LM555用于產生一個占空比一定、且有固定頻率的方波信號。SG1525為單片脈寬調制型控制器芯片,具有輸出5.1V 的基準穩(wěn)壓電源,誤差放大器、振蕩頻率在100^ 400kHz范圍內的鋸齒波振蕩器、軟啟動電路、關閉電路、脈寬調制比較器、RS寄存器以及保護電路等。它解決了PWM電路的集成化問題,在實例中用此芯片來實現(xiàn)系統(tǒng)的調速。在具體的電路中,首先對位置傳感器信號進行整形,形成所需要的前后沿很陡,具有一定寬度的波形。經微分電路微分,產生的微分脈沖去觸發(fā)時基電路LM555,形成占空比為2:1的方波,方波頻率約為200Hzo
此方波頻率計算公式為:f= n * p/ 60式中,Y1為電機的額定轉速r/min, f為位置傳感器輸出信號的頻率、P為電機的極對數(shù)。方 波 經 濾波器濾波后,形成直流電壓送人脈寬調制器,與脈寬調制器的反饋電壓進行比較,利用得到的誤差信號去控制脈寬調制器輸出的調制方波脈沖的寬度變化,即PWM輸出脈沖占空比的變化,利用占空比的變化調整加在電機電樞繞組上的電壓,改變電壓隨即改變電機電流,轉速依據(jù)電流的大小來改變。
結束語:在應用實例中,PWM對調速系統(tǒng)來說,有如下優(yōu)點:系統(tǒng)的響應速度和穩(wěn)定精度等指標比較好;電樞電流的脈動量小,容易連續(xù),而且可以不必外加濾波電抗也可以平穩(wěn)工作;系統(tǒng)的調速范圍寬;使用元件少、線路簡單。
pwm應用詳解
PWM是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。
圖1顯示了三種不同的PWM信號。圖1a是一個占空比為10%的PWM輸出,即在信號周期中,10%的時間通,其余90%的時間斷。圖1b和圖1c顯示的分別是占空比為50%和90%的PWM輸出。這三種PWM輸出編碼的分別是強度為滿度值的10%、50%和90%的三種不同模擬信號值。例如,假設供電電源為9V,占空比為10%,則對應的是一個幅度為0.9V的模擬信號。
圖2是一個可以使用PWM進行驅動的簡單電路。圖中使用9V電池來給一個白熾燈泡供電。如果將連接電池和燈泡的開關閉合50ms,燈泡在這段時間中將得到9V供電。如果在下一個50ms中將開關斷開,燈泡得到的供電將為0V。如果在1秒鐘內將此過程重復10次,燈泡將會點亮并象連接到了一個4.5V電池(9V的50%)上一樣。這種情況下,占空比為50%,調制頻率為10Hz。
3、特點
PWM的一個優(yōu)點是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進行數(shù)模轉換,讓信號保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強到足以將邏輯1改變?yōu)檫壿?或將邏輯0改變?yōu)檫壿?時,也才能對數(shù)字信號產生影響。
對噪聲抵抗能力的增強是PWM相對于模擬控制的另外一個優(yōu)點,而且這也是在某些時候將PWM用于通信的主要原因。從模擬信號轉向PWM可以極大地延長通信距離。在接收端,通過適當?shù)腞C或LC網絡可以濾除調制高頻方波并將信號還原為模擬形式。
PWM控制直流電動機
直流調速器就是調節(jié)直流電動機速度的設備,上端和交流電源連接,下端和直流電動機連接,直流調速器將交流電轉化成兩路輸出直流電源,一路輸入給直流電機礪磁(定子),一路輸入給直流電機電樞(轉子),直流調速器通過控制電樞直流電壓來調節(jié)直流電動機轉速。同時直流電動機給調速器一個反饋電流,調速器根據(jù)反饋電流來判斷直流電機的轉速情況,必要時修正電樞電壓輸出,以此來再次調節(jié)電機的轉速。
直流電機的調速方案一般有下列3種方式:
1、改變電樞電壓;
2、改變激磁繞組電壓;
3、改變電樞回路電阻。
使用單片機來控制直流電機的變速,一般采用調節(jié)電樞電壓的方式,通過單片機控制PWM1,PWM2,產生可變的脈沖,這樣電機上的電壓也為寬度可變的脈沖電壓。根據(jù)公式
U=aVCC
其中:U為電樞電壓;a為脈沖的占空比(0
電動機的電樞電壓受單片機輸出脈沖控制,實現(xiàn)了利用脈沖寬度調制技術(PWM)進行直流電機的變速。
因為在H橋電路中,只有PWM1與PWM2電平互為相反時電機才能驅動,也就是PWM1與PWM2同為高電平或同為低電平時,都不能工作,所以上圖中的實際脈沖寬度為B,
我們把PWM波的周期定為1ms,占空比分100級可調(每級級差為10%),這樣定時器T0每0.01ms產生一次定時中斷,每100次后進入下一個PWM波的周期。上圖中,占空比是60%,即輸出脈沖的為0.6ms,斷開脈沖為0.4ms,這樣電樞電壓為5*60%=3V。
我們討論的是可以正轉反轉的,如果只按一個方向轉,我們就只要把PWM1置為高電平或低電平,只改變另一個PWM2電平的脈沖變化即可,,如下圖(Q4導通,Q3閉合,電機只能順時針調整轉動速度)
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基準延時程序
???{
???}
??}
}
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; //產生脈沖
}
FMQ=1; //關閉蜂鳴器
delaynms(300);
}
void main(void)
{
TR0=0; //關閉定時器0
TMOD=0x01; //定時器0,工作方式1
TH0=(65526-100)/256;
TL0=(65526-100)%256; //100us即0.01ms中斷一次
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器T0
ZKB1=50; //占空比初值設定
ZKB2=50; //占空比初值設定
while(1)
{
if(!K5)
{
delaynms(15); //消抖
if(!K5) //確定按鍵按下
{
beep();
ZKB1++; //增加ZKB1
ZKB2=100-ZKB1; //相應的ZKB2就減少
}
}
if(!K6)
{
delaynms(15); //消抖
if(!K6) //確定按鍵按下
{
beep();
ZKB1--; //減少ZKB1
ZKB2=100-ZKB1; //相應的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):電機轉速到最高后,也就是N為1或99時,再按一下,就變到99或1,
//電機反方向旋轉以最高速度
關于pwm的相關介紹就到這了,希望通過本文能讓你對pwm有更全面的認識。
????;
?
結語
相關閱讀推薦:基于UC3637的直流電動機PWM控制電路圖
相關閱讀推薦:無刷直流電機的PWM調制方式
評論
查看更多