PWM控制直流電機的正轉 反轉 加速和減速

2021-10-17 02:20:29 字數 3562 閱讀 3995

五、測試效果

使用 pwm 電路來控制直流電機的正轉、反轉、加速和減速,並將轉向和轉速顯示出來。

//啟動/停止按鍵

sbit k2=p3^5;

//減速按鍵

sbit k3=p3^6;

//加速按鍵

sbit k4=p3^7;

//正反轉按鍵

sbit k5=p3^2;

//模式控制

//lcd1602控制引腳,其中p2為資料口

sbit rs=p0^5;

sbit rw=p0^6;

sbit e=p0^7;

sbit ena=p1^2;

//in1,in2使能訊號

sbit in1=p1^0;

//電機輸入線

sbit in2=p1^1;

bit model=1;

//手動/自動,預設啟動時顯示自動

bit direc=1;

//轉向標誌,預設啟動時為正轉 l

int rate=1;

//高電平時間常數

int num=0;

//1ms中斷記錄 統計脈衝個數

int count=0;

//1ms中斷記錄,自動模式加速時間常數

uchar code tab1=

" welcome "

;uchar code tab2=

" 2020/12/9"

;uchar code tab3=

" motor control "

;uchar code tab4=

"team:zhl yyq zyy"

;uchar code tab5=

"dire: mode: "

;uchar code tab6=

"rate: t:29 "

;

/********************** lcd顯示 ****************************/

void

w_com

(uint com)

//寫指令

void

w_data

(uint dat)

//寫資料

void

w_shuzu

(int addr,uchar code *p)

//顯示字串

}void

disp()

//顯示速度、轉向、模式

else

if(direc==1)

//正轉

else

//反轉

if(model==0)

//手動按鍵控制

else

//自動

}

/************* 主程式初始化 ************************/

void

init()

/*********************** 主程式 ***************************/

void

main()

/***************** 延時子程式 **************************/

void

delay_xus

(uint x)

//小延時 us

void

delay

(uint x)

//為12mhz晶振提供延時函式 ms級

/******************* 按鍵處理程式 ************************/

void

keyscan()

}if(k2==

0&&model==0)

//減速 減速鍵按下}if

(k3==

0&&model==0)

//加速 加速鍵按下}if

(k4==

0&&model==0)

//轉向}if

(k5==

0&&ena==0)

//模式選

}disp()

;//狀態改變,更新顯示資料

}

/******************* 中斷服務程式 *************************/

void

extern1

() interrupt 2

//外部中斷int1 按鍵掃瞄

void

timer0

() interrupt 1

//定時器0中斷

else in1=in2=0;

//低電平持續時間

}else

//否則 反轉

else in1=in2=0;

}if(model==1)

//自動模式下,執行,加速時間常數

} th0=

0xfc

;//重灌初值 (65536-1000)=fc18(12mhz的定時1ms)

剛啟動時,電機轉速較慢,轉向顯示l,逆時針在轉動,加速到轉速較大時,再改變電機的轉向,轉向顯示r,順時針轉動,實現控制電機正轉、反轉。

控制電機加速,輸出 pwm 矩形波高電平持續時間變長

控制電機減速,輸出 pwm 矩形波高電平持續時間變短

控制電機正轉、反轉

轉向顯示 l 時,p1.0口輸出 pwm 波,正轉;轉向顯示 r 時,p1.1口輸出 pwm 波,反轉

設計符合要求,**效果也挺好。

直流電機pwm 直流電機的調速方法

直流電機的調速方法 一 概述 一是調節電樞電壓,二是調節勵磁電流,1 常見的微型直流電機,其磁場都是固定的,不可調的永磁體,所以只好調節電樞電壓。調節電樞電壓方法 常用的一是可控矽調壓法,再就是脈寬調變法 pwm pwm的h型屬於調壓調速。pwm的h橋只能實現大功率調速。國內的超大功率調速還要依靠可...

直流電機驅動PWM頻率

1 沒有統一的標準,其實pwm的頻率和你的電機感抗和你需要的速度響應時間有很大的關係。一般的電機用14k就足夠了。當然自需要簡單的調速可以隨便選。如果電機轉速比較高,感抗比較小,可以使用比較高的頻率。一般最好不要超過20k 因為一般igbt最高20k的開關頻率。而mos 的開關頻率比較高,但是過高的...

基於PWM控制直流電機調速的設計

實驗現象 通過s2,s3按鍵,增加 減小pwm,控制led燈組的亮滅,同時當高於或低於pwm時,蜂鳴器將工作。include define uchar unsigned char define uint unsigned int sbit s2 p3 4 pwm sbit s3 p3 5 pwm s...