A. 基於單片機的pwm小功率直流電機調速
直流調速器就是調節直流電動機速度的設備,上端和交流電源連接,下端和直流電動機連接,直流調速器將交流電轉化成兩路輸出直流電源,一路輸入給直流電機礪磁(定子),一路輸入給直流電機電樞(轉子),直流調速器通過控制電樞直流電壓來調節直流電動機轉速。同時直流電動機給調速器一個反饋電流,調速器根據反饋電流來判斷直流電機的轉速情況,必要時修正電樞電壓輸出,以此來再次調節電機的轉速。
直流電機的調速方案一般有下列3種方式:
1、改變電樞電壓;
2、改變激磁繞組電壓;
3、改變電樞迴路電阻。
使用單片機來控制直流電機的變速,一般採用調節電樞電壓的方式,通過單片機控制PWM1,PWM2,產生可變的脈沖,這樣電機上的電壓也為寬度可變的脈沖電壓。根據公式
U=aVCC
其中:U為電樞電壓;a為脈沖的占空比(0<a<1);VCC直流電壓源,這里為5V。
電動機的電樞電壓受單片機輸出脈沖控制,實現了利用脈沖寬度調制技術(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<AT89X52.h>
#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;
}
//顯現:電機轉速到最高後,也就是N為1或99時,再按一下,就變到99或1,
//電機反方向旋轉以最高速度
B. 單片機pwm電路原理
pwm是一種數字控制設備用的控制波形,一般是方波,通過改變pwm的頻率和占空比來控制設備。簡單來講:電機控制中,電機的功率輸出,轉速控制就是需要調整pwm頻率和占空比實現的,在電機迴路中做電子開關,用單片機輸出的pwm控制其開關的導通時間與導通頻率。生活中常見的電腦CPU風扇就是一種,通過溫度檢測器的反饋,控制風扇轉速,從而靈活的控制cpu的溫度,並且節省電能。
有二種情況,第一,如果你所使用的8051單片機(例如stc12系列)是帶有專用的pwm輸出i/o口的話,那就只要控制裡面的特殊功能寄存器改變輸出占空比就行了,不要外加什麼硬體電路的。第二,如果是通入軟體模擬pwm輸出的話,那就用定時器可以解決的,也不需要外加電路。
脈沖寬度調制是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。也是一種模擬控制方脈沖寬度調制是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中脈沖寬度調制是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。並且制是一種模擬控制方式,其根據相應載荷的變化來調制晶體管基極或MOS管柵極的偏置,來實現晶體管或MOS管導通時間的改變,從而實現開關穩壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化。
C. 單片機PWM能能直接控制一個恆流電源驅動的LED
可以,單片機PWM是能直接控制一個恆流電源驅動的LED的。
PWM控制技術以其控制簡單,靈活和動態響應好的優點而成為電力電子技術最廣泛應用的控制方式,也是人們研究的熱點。由於當今科學技術的發展已經沒有了學科之間的界限,結合現代控制理論思想或實現無諧振波開關技術將會成為PWM控制技術發展的主要方向之一。式,其根據相應載荷的變化來調制晶體管基極或MOS管柵極的偏置,來實現晶體管或MOS管導通時間的改變,從而實現開關穩壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時保持恆定,是利用微處理器的數字信號對模擬電路進行控制的一種非常有效的技術。
D. pwm控制的原理是什麼單片機如何實現pwm控制的求簡單解釋,一定採納
PWM是脈寬調制(PULSE WIDTH MODULATION)的簡稱,是開關電源的一種形式。PWM的控制需看你用何種集成電路。開關電源的集成電路有很多種,如TOP221,TL494,UC3842,UC3846,UC3875,SG3525等。開關電源又分反激式開關電源和正激式開關電源。它一般由集成電路的某個引腳,通過外部信號反饋來控制。
E. 單片機pwm控制電機轉速
單片機控制電機轉速:
如果只有一個轉向的話就比較容易了,如果要有正反兩個轉向,就需要一個H橋,並且兩個I/O口輸出高低電頻控制。
比如用P1口的P1.0,P1.1,P1.2三個I/O口接按鍵,P3.4口接電頻輸出,編個定時程序及按鍵程序,如果是快(全速運行),那就P3.4口直接輸出高電頻「1」;中(50%),那就讓P3.4口0—50ms輸出高電頻「1」,50ms—100ms輸出低電頻「0」,後面就一直以50ms進行一次取反;慢(就用10%吧),0—40ns輸出高電頻「1」,41ns—400ns輸出低電頻「0」,這樣為一個周期,後面就一直循環吧。
如果按鍵P1.0按下,執行方式1,全速運行,否則以默認方式運行;按鍵P1.1按下,執行方式2,改變占空比,以50%的速度運行,否則,不作改變;按鍵P1.2按下,執行方式3,改變占空比,以10%的速度運行,否則,不作改變。
F. 單片機PWM調制技術是什麼東西,能大概說明一下么
單片機PWM調制技術是使用單片機的定時器的PWM模式實現可調電壓輸出即DA轉換。
原理是當輸出頻率一定時,輸出電壓與高電平的占空比成正比,即PWM每個周期中高電平脈寬越寬輸出電壓越高。
單片機使用方法是
1.設置定時器的工作模式為PWM和輸出引腳;
2.設置定時器的工作頻率或PWM的頻率;
3.當需要改變輸出電壓時修改脈寬參數即可。