国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【51單片機】直流電機驅動(PWM)(江科大)

這篇具有很好參考價值的文章主要介紹了【51單片機】直流電機驅動(PWM)(江科大)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.直流電機介紹

· 直流電機是一種將電能轉換為機械能的裝置。一般的直流電機有兩個電極,當電極正接時,電機正轉,當電極反接時,電機反轉
· 直流電機主要由永磁體(定子)、線圈(轉子)和換向器組成
· 除直流電機外,常見的電機還有步進電機、舵機、無刷電機、空心杯電機等
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言

2.電機驅動

電機的驅動無法直接使用IO口來進行驅動,所以用驅動電路來進行驅動,如大功率器件直接驅動,H橋驅動。本開發(fā)板直接用ULN2300來進行驅動,只需將電機的一端接VCC,另一端接OUT1就可。此時,在IN1輸入1,則OUT1輸出0,電機旋轉;在IN1輸入0,則OUT1輸出1,電機不旋轉
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言

3.PWM介紹

· PWM(Pulse Width Modulation)即脈沖寬度調制,在具有慣性的系統(tǒng)中,可以通過對一系列脈沖的寬度進行調制,來等效地獲得所需要的模擬參量,常應用于電機控速、開關電源等領域
· PWM重要參數(shù):
頻率=1/Ts
占空比=ToN/Ts
精度=占空比變化步距

通過設置不同的占比來進行控制
通常一個周期的時間是相同的
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言

4.LED呼吸燈

LED的IO口為0時,LED亮,為1時,LED滅;10口為1時,LED燈不會立刻熄滅,而是緩慢熄滅(具有慣性)

所以可以通過控制高電平和低電平的寬度即占空比來控制LED燈的亮度

通過逐步增加高電平寬度,減少低電平寬度,可使得LED燈越來越暗;反之,逐步增加低電平寬度,減少高電平寬度,可使得LED燈越來越亮

#include <REGX52.H>

sbit LED=P2^0;

void Delay(unsigned int t)
{
	while(t--);
}

void main()
{
	unsigned char Time,i;
	while(1)
	{
		for(Time=0;Time<100;Time++)		//改變亮滅時間,由暗到亮
		{
			for(i=0;i<20;i++)			//計次延時
			{
				LED=0;					//LED亮
				Delay(Time);			//延時Time
				LED=1;					//LED滅
				Delay(100-Time);		//延時100-Time
			}
		}
		for(Time=100;Time>0;Time--)		//改變亮滅時間,由亮到暗
		{
			for(i=0;i<20;i++)			//計次延時
			{
				LED=0;					//LED亮
				Delay(Time);			//延時Time
				LED=1;					//LED滅
				Delay(100-Time);		//延時100-Time
			}
		}
	}
}

此方案簡單,但是需要占用主循環(huán),不斷翻轉IO口延時,主循環(huán)無法做其他事情
優(yōu)化
LED呼吸燈:定時器版

在實際使用中,都會用定時器來產生PWM,而本51單片機的芯片不具備這一功能,所以用軟件來模擬這個功能

產生PWM方法:
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言
【51單片機】直流電機驅動(PWM)(江科大),51單片機,嵌入式硬件,c語言
通過自增的計數(shù)器來和預先設定的比較值來進行比較,計數(shù)器的值小于比較值時,輸出0,反之輸出1,也可以相反。

先將定時器修改為100us觸發(fā)一次(電機的頻率一般在10K到20KHz之間)

#include <REGX52.H>
#include "Key.h"
#include "Timer.h"
#include "Nixie.h"

sbit LED = P2^0;

//計數(shù)值和比較值,用于輸出PWM
unsigned char Counter, Compare;
unsigned char KeyNum, Speed;

void main()
{
	Timer0Init();
	Compare = 5;
	
	while(1)
	{
		KeyNum = GetKeyNum();
		if(KeyNum == 1)
		{
			Speed++;
			Speed %= 4;
			if(Speed==0){Compare=0;}	//設置比較值,改變PWM占空比
			if(Speed==1){Compare=50;}
			if(Speed==2){Compare=75;}
			if(Speed==3){Compare=100;}
		}
		NixieShowNum(1,Speed);
	}
}

//定時器0的中斷處理函數(shù)
void Timer0_Routine() interrupt 1
{
	TL0 = 0x9C;		//設置定時初值
	TH0 = 0xFF;		//設置定時初值
	Counter++;
	Counter %= 100;
	if(Counter < Compare)
	{
		LED = 0;
	}
	else
	{
		LED = 1;
	}
}

5.直流電機調速

在原代碼的基礎上改個IO口就行(根據上述分析,Motor=1旋轉)文章來源地址http://www.zghlxwxcb.cn/news/detail-828250.html

#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#include "Nixie.h"
#include "Timer0.h"

sbit Motor=P1^0;

unsigned char Counter,Compare;	//計數(shù)值和比較值,用于輸出PWM
unsigned char KeyNum,Speed;

void main()
{
	Timer0_Init();
	while(1)
	{
		KeyNum=Key();
		if(KeyNum==1)
		{
			Speed++;
			Speed%=4;
			if(Speed==0){Compare=0;}	//設置比較值,改變PWM占空比
			if(Speed==1){Compare=50;}
			if(Speed==2){Compare=75;}
			if(Speed==3){Compare=100;}
		}
		Nixie(1,Speed);
	}
}

void Timer0_Routine() interrupt 1
{
	TL0 = 0x9C;		//設置定時初值
	TH0 = 0xFF;		//設置定時初值
	Counter++;
	Counter%=100;	//計數(shù)值變化范圍限制在0~99
	if(Counter<Compare)	//計數(shù)值小于比較值
	{
		Motor=1;		//輸出1
	}
	else				//計數(shù)值大于比較值
	{
		Motor=0;		//輸出0
	}
}

到了這里,關于【51單片機】直流電機驅動(PWM)(江科大)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 51單片機-PWM調速(直流電機,智能小車的電機調速)

    51單片機-PWM調速(直流電機,智能小車的電機調速)

    這次來對PWM做一個總結 最近學習時,發(fā)現(xiàn)PWM控制在很多地方都會用到,比如使用PWM來控制電機的速度,使用PWM來生成想要的波形。 那么到底什么是PWM呢? PWM即 脈沖寬度調制 ,在具有慣性的系統(tǒng)中,可以通過對 一系列脈沖的寬度進行調制 ,來等效的獲得所需要的模擬參量。

    2024年02月02日
    瀏覽(23)
  • 單片機學習筆記---直流電機驅動(PWM)

    單片機學習筆記---直流電機驅動(PWM)

    直流電機是一種將電能轉換為機械能的裝置。一般的直流電機有兩個電極,當電極正接時,電機正轉,當電極反接時,電機反轉 直流電機主要由永磁體(定子)、線圈(轉子)和換向器組成 除直流電機外,常見的電機還有步進電機、舵機、無刷電機、空心杯電機等 因為電機

    2024年02月21日
    瀏覽(18)
  • 【Proteus仿真】【51單片機】直流電機PID調速系統(tǒng)設計

    【Proteus仿真】【51單片機】直流電機PID調速系統(tǒng)設計

    本項目使用Proteus8仿真51單片機控制器,使用L298N電機模塊、數(shù)碼管模塊、按鍵模塊、LED指示燈模塊等。 主要功能: 系統(tǒng)運行后,可通過按鍵K4啟動系統(tǒng),數(shù)碼管顯示實際速度和目標速度,再次按下K4鍵停止系統(tǒng);按鍵K1加速、按鍵K2減速,按鍵K3換向;速度范圍為0-150;通過P

    2024年02月11日
    瀏覽(22)
  • 基于51單片機直流電機PWM調速液晶1602顯示設計

    基于51單片機直流電機PWM調速液晶1602顯示設計

    一、系統(tǒng)方案 本文主要研究了利用MCS-51系列單片機控制PWM信號從而實現(xiàn)對直流電機轉速進行控制的方法。本文中采用了三極管組成了PWM信號的驅動系統(tǒng),并且對PWM信號的原理、產生方法以及如何通過軟件編程對PWM信號占空比進行調節(jié),從而控制其輸入信號波形等均作了詳細的

    2024年02月11日
    瀏覽(35)
  • 基于51單片機的直流電機轉速顯示+加速減速啟停

    基于51單片機的直流電機轉速顯示+加速減速啟停

    做了一個實戰(zhàn)項目,這個實戰(zhàn)項目主要是實現(xiàn)對直流電機轉速的控制,可以實現(xiàn)電機加速,減速,報警、啟停以及顯示轉速。在本電路的基礎上也可以進行一些拓展改變電機正反轉的狀態(tài),只需要外加一個按鍵和修改部分程序即可,在文章的最后會對拓展進行一個說明?;A

    2023年04月27日
    瀏覽(20)
  • 基于51單片機直流電機轉速數(shù)碼管顯示控制系統(tǒng)

    基于51單片機直流電機轉速數(shù)碼管顯示控制系統(tǒng)

    一、系統(tǒng)方案 本文主要研究了利用MCS-51系列單片機控制PWM信號從而實現(xiàn)對直流電機轉速進行控制的方法。本文中采用了三極管組成了PWM信號的驅動系統(tǒng),并且對PWM信號的原理、產生方法以及如何通過軟件編程對PWM信號占空比進行調節(jié),從而控制其輸入信號波形等均作了詳細的

    2024年02月12日
    瀏覽(28)
  • 基于51單片機的PWM控制直流電機設計( proteus仿真+程序+報告+講解視頻)

    基于51單片機的PWM控制直流電機設計( proteus仿真+程序+報告+講解視頻)

    仿真圖proteus 7.8及以上 程序編譯器:keil 4/keil 5 編程語言:C語言 設計編號:S0031 基于51單片機的PWM控制直流電機設計 1.設計要求 采用51單片機作為核心控制器,控制直流電機的正轉,反轉,制動,停止。 2.功能要求 1)數(shù)碼管顯示當前轉動方向和當前的PWM占空比0~100%。 2)電機

    2023年04月25日
    瀏覽(37)
  • 【Proteus】單片機H橋驅動24V直流有刷電機

    【Proteus】單片機H橋驅動24V直流有刷電機

    一般有關直流有刷電機的仿真都是直接高低電平驅動,或者ULN2003,這種電路是只能驅動小電壓小功率的電機的,如果碰到電壓稍高一些,電流大一些的電機,2003驅動是驅動不起來的,這時候對于大電流的電機,一般就是MOS管或者IGBT,相對來說,NMOS是經濟實用之選,本節(jié)就帶

    2024年02月06日
    瀏覽(22)
  • K_A08_009 基于 STM32等單片機驅動TB6612模塊按鍵控制直流電機正反轉加減速啟停

    K_A08_009 基于 STM32等單片機驅動TB6612模塊按鍵控制直流電機正反轉加減速啟停

    目錄 一、資源說明 二、基本參數(shù) ? ? ? ? 1、參數(shù) ? ? ? ? 2、引腳說明 三、驅動說明 ????????TB6612模塊驅動說明 ????????對應程序: ????????ENA ENB輸出PWM 四、部分代碼說明 ????????接線說明 ? ? ? ? ? ? ? ? 1、STC89C52RC+TB6612模塊 ? ? ? ? ? ? ? ? 2、STM32F

    2024年02月15日
    瀏覽(26)
  • 【單片機】11-步進電機和直流電機

    【單片機】11-步進電機和直流電機

    電能轉換為動能 (1) 交流電機【大功率】 :兩相【200W左右】,三相【1000W左右】 (2) 直流電機【小功率】 :永磁【真正的磁鐵】,勵磁【電磁鐵】 (3) 步進電機【精確控制功率】,伺服電機【非常精確功率】 (1)外觀 (2)接線和工作原理 在電池位置有VCC和GND (3)

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包