欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機實例 >> 正文

51單片機學(xué)習(xí)筆記直流電機驅(qū)動(PWM)C語言程序

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/4/4

直流電機驅(qū)動(PWM)

直流電機介紹

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

PWM介紹

PWM(Pulse Width Modulation)即脈沖寬度調(diào)制,在具有慣性的系統(tǒng)中,可以通過對一系列脈沖的寬度進行調(diào)制,來等效地獲得所需要的模擬參量,常應(yīng)用于電機控速、開關(guān)電源等領(lǐng)域。因為利用的是數(shù)字信號的寬度變量,而不是模擬信號的寬度變量,因此對于單片機之類的物品而言,更容易產(chǎn)生對應(yīng)寬度變量來控制。

PWM重要參數(shù):

頻率 = 1 / TS

占空比 = TON / TS

精度 = 占空比變化步距

頻率越高,電平變化越快,越能等效出連續(xù)的模擬信號曲線。(如果頻率較低,應(yīng)用于電機控制時,會導(dǎo)致電機運行斷斷續(xù)續(xù)——因為電平是0跟1之間變化)

占空比指的是在一個頻率段(一個高電平加一個低電平)中,高(低)電平所用的時間占據(jù)總頻率段時間的百分比;

也可用TON:TOFF來進行表示(但是不常用,因為這種表示的是比值,沒有百分比直觀)

精度指的是相鄰占空比的變化步距。舉個例子來講,第一個占空比為1%,第二個為2%,第三個為3%,那么其精度就為1%;而即第一個占空比為0.1%,第二個為0.2%,第三個為0.3%,那么其精度為0.1%;但是,前者的精度沒有后者高,精度越高,占空比調(diào)節(jié)越細致。

在電機所在電路直接接一個電位器進行調(diào)速是不可行的,因為電機運行時,電位器只能接入幾歐的電阻,而電位器為純電阻電路部件,因此全部電能轉(zhuǎn)化為熱能,最終會導(dǎo)致電位器燒壞,但是電機不會燒壞,因為它是非純電阻。為了讓電機的速度得以調(diào)控或更好地保護電路,我們可以利用PWM控制電機的導(dǎo)通,利用1ms通電,1ms斷開的思路,來進行操作電機。

代碼

呼吸燈代碼

#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;
    Delay(Time);
    LED=1;
    Delay(100-Time);
   }
   
  }
  for(Time=100;Time>0;Time--)
  {
   for(i=0;i<20;i++)
   {
    LED=0;
    Delay(Time);
    LED=1;
    Delay(100-Time);
   }
   
  }
  
 }
}

直流電機調(diào)速代碼

#include <REGX52.H>
#include "Key.h"
#include "Delay.h"
#include "Nixie.h"
#include "Timer0.h"
sbit Motor=P1^0;
unsigned char Counter,Compare;
unsigned char KeyNum,Speed;
void main()
{
 Timer0_Init();
 Compare=5;
 while(1)
 {
  KeyNum=Key();
  if(KeyNum==1)
  {
   Speed++;
   Speed%=4;
   if(Speed==0){Compare=0;}  //電機速度的調(diào)節(jié)
   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;  //設(shè)置定時初值
 TH0 = 0xFF;  //設(shè)置定時初值
 Counter++;
 Counter%=100;
 if(Counter<Compare)
 {
  Motor=1;
 }
 else
 {
  Motor=0;
 }
 
 
}
Tags:51單片機,C語言,直流電機  
責任編輯:admin
相關(guān)文章列表
MCU-51單片機直流電機驅(qū)動(PWM)51單片機驅(qū)動直流電機
關(guān)于直流電機驅(qū)動 H 橋電路的調(diào)試
PWM如何控制直流電機,脈沖寬度調(diào)制調(diào)速控制直流電機
直流電機的控制方法之(一):馬達轉(zhuǎn)速調(diào)節(jié)
L298N管腳定義 _L298N模塊詳細使用教程及應(yīng)用電路
直流電機驅(qū)動及L298N驅(qū)動模塊介紹
先學(xué)51還是先學(xué)STM32?STM32和51單片機的區(qū)別
51單片機和STM32單片機的結(jié)構(gòu)有什么不同
51單片機、AVR單片機和PIC單片機的IO口操作
基于TL494的推挽輸出,H橋電路為驅(qū)動器的直流電機控制系統(tǒng)設(shè)計
關(guān)于51單片機IO引腳的驅(qū)動能力與上拉電阻
51單片機“呼吸燈”程序
51單片機入門之靜態(tài)數(shù)碼管電路設(shè)計
工作電流不超過1A的直流電機調(diào)速電路,NE555直流電機無級調(diào)速電路
直流電機無級調(diào)速電路直流電機無級調(diào)速電路
使用NE555的12V直流電機調(diào)速電路
AT89C51,51單片機1602液晶顯示時鐘程序
單片機電子時鐘程序設(shè)計
4位單片機數(shù)字鐘 電子鐘制作
51單片機4位數(shù)碼管電子鐘源程序
AT89C2051電腦機箱風(fēng)扇智能溫控儀,AT89C2051 Temperature contro
51單片機溫控風(fēng)扇(含程序+原理圖+仿真+PCB)
89C52來做定時記數(shù)器程序,51定時程序
單片機C語言程序設(shè)計:用 ADC0808 控制PWM 輸出
51單片機蜂鳴器播放音樂代碼
利用單片機AT89S51與ADC0809設(shè)計數(shù)字電壓表,Voltmeter
單片機制作的純正弦波逆變器,12V Pure Sine Wave Inverter
51單片機00-59秒計時器 0-59s Timer
51單片機按鍵程序中 while(!key)的作用
51系列單片機尋址方式
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 台南市| 独山县| 四会市| 无极县| 潮安县| 汉源县| 牡丹江市| 明星| 新丰县| 奎屯市| 商水县| 铁力市| 竹山县| 永靖县| 芷江| 白玉县| 壤塘县| 惠安县| 新河县| 莱阳市| 汝州市| 镶黄旗| 敦化市| 腾冲县| 梁河县| 双辽市| 习水县| 和顺县| 济南市| 巫山县| 新巴尔虎右旗| 南靖县| 石泉县| 鸡西市| 永仁县| 龙游县| 定安县| 建德市| 行唐县| 珠海市| 安徽省|