技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 單片機pwm控制電機,PWM電機調(diào)速原理及51單片機PWM程序經(jīng)典

單片機pwm控制電機,PWM電機調(diào)速原理及51單片機PWM程序經(jīng)典

時間:2017-12-29 11:37:03來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?對于電機的轉(zhuǎn)速調(diào)整,我們是采用脈寬調(diào)制(PWM)辦法,控制電機的時候,電源并非連續(xù)地向電機供電,而是在一個特定的頻率下以方波脈沖的形式提供電能。

對于電機的轉(zhuǎn)速調(diào)整,我們是采用脈寬調(diào)制(PWM)辦法,控制電機的時候,電源并非連續(xù)地向電機供電,而是在一個特定的頻率下以方波脈沖的形式提供電能。不同占空比的方波信號能對電機起到調(diào)速作用,這是因為電機實際上是一個大電感,它有阻礙輸入電流和電壓突變的能力,因此脈沖輸入信號被平均分配到作用時間上,這樣,改變在始能端PE2和PD5上輸入方波的占空比就能改變加在電機兩端的電壓大小,從而改變了轉(zhuǎn)速。

此電路中用微處理機來實現(xiàn)脈寬調(diào)制,通常的方法有兩種:

(1)用軟件方式來實現(xiàn),即通過執(zhí)行軟件延時循環(huán)程序交替改變端口某個二進(jìn)制位輸出邏輯狀態(tài)來產(chǎn)生脈寬調(diào)制信號,設(shè)置不同的延時時間得到不同的占空比。

(2)硬件實驗自動產(chǎn)生PWM信號,不占用CPU處理的時間。這就要用到ATMEGA8515L的在PWM模式下的計數(shù)器1,具體內(nèi)容可參考相關(guān)書籍。

51單片機PWM程序經(jīng)典

產(chǎn)生兩個PWM,要求兩個PWM波形占空都為80/256,兩個波形之間要錯開,不能同時為高電平!高電平之間相差48/256,PWM這個功能在PIC單片機上就有,但是如果你就要用51單片機的話,也是可以的,但是比較的麻煩。

可以用定時器T0來控制頻率,定時器T1來控制占空比:大致的的編程思路是這樣的:T0定時器中斷是讓一個I0口輸出高電平,在這個定時器T0的中斷當(dāng)中起動定時器T1,而這個T1是讓IO口輸出低電平,這樣改變定時器T0的初值就可以改變頻率,改變定時器T1的初值就可以改變占空比。

*程序思路說明:*

**

*關(guān)于頻率和占空比的確定,對于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時中斷次數(shù)*

*設(shè)定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設(shè)定中斷時間為0.01ms,這樣*

*可以設(shè)定占空比可從1-100變化。即0.01ms*100=1ms*

******************************************************************************/#include《REGX51.H》

#defineucharunsignedchar

/*****************************************************************************

*TH0和TL0是計數(shù)器0的高8位和低8位計數(shù)器,計算辦法:TL0=(65536-C)%256;*

*TH0=(65536-C)/256,其中C為所要計數(shù)的次數(shù)即多長時間產(chǎn)生一次中斷;TMOD是計數(shù)器**工作模式選擇,0X01表示選用模式1,它有16位計數(shù)器,最大計數(shù)脈沖為65536,最長時*

*間為1ms*65536=65.536ms*

******************************************************************************/#defineV_TH00XFF#defineV_TL00XF6#defineV_TMOD0X01

voidinit_sys(void);/*系統(tǒng)初始化函數(shù)*/voidDelay5Ms(void);

unsignedcharZKB1,ZKB2;

voidmain(void)

{

init_sys();

ZKB1=40;/*占空比初始值設(shè)定*/ZKB2=70;/*占空比初始值設(shè)定*/while(1)

{

if(!P1_1)//如果按了+鍵,增加占空比

{

Delay5Ms();if(!P1_1)

{

ZKB1++;

ZKB2=100-ZKB1;

}

}

if(!P1_2)//如果按了-鍵,減少占空比

{

Delay5Ms();if(!P1_2)

{

ZKB1--;

ZKB2=100-ZKB1;

}

}

/*對占空比值限定范圍*/if(ZKB1》99)ZKB1=1;if(ZKB1《1)ZKB1=99;

}

}

/******************************************************

*函數(shù)功能:對系統(tǒng)進(jìn)行初始化,包括定時器初始化和變量初始化*/voidinit_sys(void)/*系統(tǒng)初始化函數(shù)*/

{

/*定時器初始化*/TMOD=“V”_TMOD;TH0=V_TH0;TL0=V_TL0;TR0=1;ET0=1;EA=“1”;

}

//延時

voidDelay5Ms(void)

{

unsignedintTempCyc=1000;while(TempCyc--);

}

/*中斷函數(shù)*/

voidTImer0(void)interrupt1using2

{

staTIcucharclick=“0”;/*中斷次數(shù)計數(shù)器變量*/

TH0=V_TH0;/*恢復(fù)定時器初始值*/TL0=V_TL0;++click;

if(click》=100)click=“0”;

if(click《=ZKB1)/*當(dāng)小于占空比值時輸出低電平,高于時是高電平,從而實現(xiàn)占空比的調(diào)整*/P1_3=0;

else

P1_3=1;

if(click〈=ZKB2)P1_4=0;else

P1_4=1;

}〈

1.下面是AVR的程序,51產(chǎn)生PWM波麻煩,可以用AVR。主要是設(shè)置存放的TOP值(OCR1A的值),然后你要多大的占空比再設(shè)置OCR1B的值,至于持續(xù)時間就更簡單了,你要產(chǎn)生多久,就調(diào)用此函數(shù)就可以了。

2.產(chǎn)生方波的頻率計算公式(KHZ)f=fclk(晶振)/{*N(1+OCRNA)}N:代表分頻因子

根據(jù)你要的產(chǎn)生方波的頻率,就能算出OCRNA的值,就可以了!

/***************在OCR1B(PD4)上可測到100HZ的PWM波***********************/

/***************在OCR1A(PD5)上可測到50HZ的方波************************/

#include《iom16v.h》

#include《macros.h》voidPWM()

{

DDRD=0X30;//設(shè)置OC1B(PD4)和OC1A(PD5)為輸出TCCR1A=0X63;TCCR1B=0X1B;

OCR1A=7;//得到10KHZ的PWM波

OCR1B=5;//得到2ms(1810/5)的高電平時間

}

標(biāo)簽:

點贊

分享到:

上一篇:pwm控制電機正反轉(zhuǎn),PWM直流...

下一篇:高速離心機高速電機的維修

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號