色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51單片機的PWM調速

CHANBAEK ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-01-17 16:27 ? 次閱讀

13.1 項目分析

脈寬調制(PWM)基本原理 :控制方式就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈沖,用這些脈沖來代替正弦波或所需要的波形。 也就是在輸出波形的半個周期中產生多個脈沖,使各脈沖的等值電壓為正弦波形,所獲得的輸出平滑且低次諧波少。 按一定的規則對各脈沖的寬度進行調制,即可改變逆變電路輸出電壓的大小,也可改變輸出頻率。

例如,把正弦半波波形分成N等份,就可把正弦半波看成由N個彼此相連的脈沖所組成的波形。 這些脈沖寬度相等,都等于∏/n,但幅值不等,且脈沖頂部不是水平直線,而是曲線,各脈沖的幅值按正弦規律變化。 如果把上述脈沖序列用同樣數量的等幅而不等寬的矩形脈沖序列代替,使矩形脈沖的中點和相應正弦等分的中點重合,且使矩形脈沖和相應正弦部分面積(即沖量)相等,就得到一組脈沖序列,這就是PWM波形。 可以看出,各脈沖寬度是按正弦規律變化的。 根據沖量相等效果相同的原理,PWM波形和正弦半波是等效的。 對于正弦的負半周,也可以用同樣的方法得到PWM波形。

在PWM波形中,各脈沖的幅值是相等的,要改變等效輸出正弦波的幅值時,只要按同一比例系數改變各脈沖的寬度即可,因此在交-直-交變頻器中,PWM逆變電路輸出的脈沖電壓就是直流側電壓的幅值。 根據上述原理,在給出了正弦波頻率,幅值和半個周期內的脈沖數后,PWM波形各脈沖的寬度和間隔就可以準確計算出來。 按照計算結果控制電路中各開關器件的通斷,就可以得到所需要的PWM波形。

采樣控制理論中有一個重要結論:沖量相等而形狀不同的窄脈沖加在具有慣性的環節上時,其效果基本相同. PWM控制技術就是以該結論為理論基礎,對半導體開關器件的導通和關斷進行控制,使輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形. 按一定的規則對各脈沖的寬度進行調制,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率。

PWM技術在生活中的應用非常廣,最常用的就是開關電源,通過改變脈寬來改變輸出的電壓,擴展的還有LED調光,直流電機調速,以及顯示器中的顏色合成等。

13.2 原理圖

**13.3 **源代碼

正規的PWM調速的過程應該是用戶輸入指定的轉速,由電機上面的轉速傳感器采集當前轉速輸入單片機進行比較,根據轉速的差值計算出PWM的占空比,這個占空比是需要提前進行數學建模,將電機的轉速與PWM占空比的數學關系推導出來,采用查表法或者數據查詢的方式將占空比增大,這里就不進行數學建模,直接采用默認的數據,占空比1%~100% 對應的轉速平均分布。 PWM的頻率和占空比由定時器0確定,設置頻率1000Hz,采用按鍵設置占空比,源代碼如下圖所示。

/*********************************************************************************************************
                頭    文    件    引    用
*********************************************************************************************************/
#include <reg51.h>                                            //導入51單片機頭文件
#include <intrins.h>
/*********************************************************************************************************
              數    據    類    型    定    義
*********************************************************************************************************/
#define u8 unsigned char                                        //定義無符號字符型數據(0~255)
#define u16 unsigned int                                        //定義無符號整型數據(0~65535)
/*********************************************************************************************************
                  變    量    定    義
*********************************************************************************************************/
u8 Duty;                                                //占空比
u8 TIM0_Count ;
u8 LED_Data[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F } ;
/*********************************************************************************************************
                  端    口    定    義
*********************************************************************************************************/
sbit OUT = P2^7 ;                                            //電機接口
/********************************************************
Name    :delay_ms
Function  :毫秒級別延時函數
Paramater  :
      ms:延時的ms數
Return    :None
********************************************************/
void delay_ms( u16 ms )
{
  u8 i ;
  while( --ms )
    for( i=0; i<110; i++ ) ;
}
/********************************************************
Name    :EXIT0_IRQHandler
Function  :外部中斷0中斷服務函數
Paramater  :None
Return    :None
********************************************************/
void EXIT0_IRQHandler() interrupt 0
{
  do
  {
    Duty ++ ;
    if( Duty==100 )
    {
      TR0 = 0 ;
      Duty = 0 ;
    }
    else
      TR0 = 1 ;

    P2 = 0xFE ;
    P0 = LED_Data[ Duty/10 ] ;
    delay_ms( 2 ) ;

    P2 = 0xFD ;
    P0 = LED_Data[ Duty%10 ] ;
    delay_ms( 2 ) ;

    delay_ms( 500 ) ;
  }while( ( P3&0x04 )!=0x04 ) ;
}
/********************************************************
Name    :TIM0_IRQHandler
Function  :定時器0中斷服務函數
Paramater  :None
Return    :None
********************************************************/
void TIM0_IRQHandler() interrupt 1
{
  TH0 = ( 65535-10 )/256 ;                                      //計數器設置頻率1000Hz
  TL0 = ( 65535-10 )/256 ;
  TIM0_Count ++ ;
  if( TIM0_Count<=Duty )
    OUT = 0 ;
  else if( ( TIM0_Count<100 )&&( TIM0_Count>Duty ) )
    OUT = 1 ;
  else
  {
    OUT = 0 ;
    TIM0_Count = 0 ;
  }
}
/********************************************************
Name    :KEY_Scan
Function  :鍵盤掃描
Paramater  :None
Return    :None
********************************************************/
void PWM_Init()
{
  Duty = 0 ;
  TIM0_Count = 0 ;
  IE = 0x83 ;                                              //開啟EA+EX0+ET0
  TMOD = 0x01 ;                                            //定時器設置16位模式
  TH0 = ( 65535-10 )/256 ;                                      //計數器設置頻率1000Hz
  TL0 = ( 65535-10 )/256 ;
  IT0 = 1 ;                                              //下降沿觸發
}
/*********************************************************************************************************
                    主    函    數
*********************************************************************************************************/
void main()
{
  PWM_Init() ;
  while( 1 )
  {
    P2 = 0xFE ;
    P0 = LED_Data[ Duty/10 ] ;
    delay_ms( 2 ) ;

    P2 = 0xFD ;
    P0 = LED_Data[ Duty%10 ] ;
    delay_ms( 2 ) ;
  }
}

13.4 仿真截圖

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6042

    文章

    44617

    瀏覽量

    637480
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5197

    瀏覽量

    214538
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    124059
  • 脈寬調制
    +關注

    關注

    3

    文章

    219

    瀏覽量

    38374
  • 逆變電路
    +關注

    關注

    19

    文章

    297

    瀏覽量

    39507
收藏 人收藏

    評論

    相關推薦

    51單片機PWM調速時遇到的問題,哪位大神幫我看看!

    下面是單片機PWM調速直流電機的程序,PWMOUT連接P2.4端口作為PWM輸出口,依照程序,當溫度在30度以下時,應該輸出低電平,但是proteus仿真中卻輸出了方波
    發表于 04-06 20:31

    8098 單片機和伺服電機PWM 調速控制

    8098 單片機和伺服電機PWM 調速控制  摘 要 本文介紹應用8098 單片機豐富的接口功能, 采用數字調制的方法來實現直流伺服電機的PWM
    發表于 04-13 15:09 ?130次下載

    基于單片機PWM調速系統設計

    本文主要研究了利用與MCS-51兼容的at89c51單片機,通過PWM方式控制直流電機調速的方法。
    發表于 11-02 18:19 ?548次下載

    51單片機PWM調速程序

    發表于 08-31 13:35 ?110次下載

    51單片機PWM調速程序

    單片機pwm產生的方法及程序,里面的很詳細的教程
    發表于 11-02 17:36 ?97次下載

    pwm調光程序,基于51單片機pwm調速調光程序

    PW調光是一種利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,應用于ID照明中可以控制燈具的調光。隨著節能以及光照的個性化需求越來越多,LED調光已經逐漸形成一個趨勢,燈光智能化控制也一直是個熱點oP‘WM 調光技術是一個被應用的比較多的一種調光技術,也是一直以來被廣為看好的一種調光方式。
    發表于 10-27 14:32 ?1.4w次閱讀

    pwm調速頻率,51單片機PWM調速程序

    51單片機pwm調速頻率主要通過一個定時器和一個IO口來實現PWM的輸出。在一個周期里面,首先讓IO口輸出高電平,并定時一定的時間然后再將
    發表于 10-30 11:27 ?2.7w次閱讀

    基于AT89C51單片機直流電機PWM調速程序分享

    這是一款AT89C51單片機直流電機PWM調速程序,程序可以直接用于AT89C52、AT89S51、AT89S
    發表于 10-19 16:03 ?1.7w次閱讀

    基于51單片機直流電機PWM調速程序

    這是一款AT89C51單片機直流電機PWM調速程序,程序可以直接用于AT89C52、AT89S51、AT89S
    的頭像 發表于 10-24 15:56 ?4.9w次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>直流電機<b class='flag-5'>PWM</b><b class='flag-5'>調速</b>程序

    使用51單片機實現霍爾轉速測量溫度PWM調速系統的設計源代碼免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現霍爾轉速測量溫度PWM調速系統的設計源代碼免費下載。
    發表于 09-27 18:10 ?27次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現霍爾轉速測量溫度<b class='flag-5'>PWM</b><b class='flag-5'>調速</b>系統的設計源代碼免費下載

    51單片機實現PWM直流電機調速(注釋詳細)

    51單片機實現PWM直流電機調速(注釋詳細)(電源技術投稿)-51單片機實現
    發表于 09-24 14:58 ?251次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現<b class='flag-5'>PWM</b>直流電機<b class='flag-5'>調速</b>(注釋詳細)

    51 單片機 PWM調速基本原理

    /********************************************************************************* 標題: 恒速運行 *************************
    發表于 11-10 19:50 ?8次下載
    <b class='flag-5'>51</b> <b class='flag-5'>單片機</b> <b class='flag-5'>PWM</b><b class='flag-5'>調速</b>基本原理

    基于單片機直流PWM調速控制設計

    基于單片機直流PWM調速控制設計
    發表于 11-23 16:22 ?84次下載
    基于<b class='flag-5'>單片機</b>直流<b class='flag-5'>PWM</b><b class='flag-5'>調速</b>控制設計

    基于51單片機直流電機PID調速設計LCD1602仿真可調PWM

    基于51單片機直流電機PID調速設計LCD1602仿真可調PWM
    發表于 11-23 17:36 ?69次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>直流電機PID<b class='flag-5'>調速</b>設計LCD1602仿真可調<b class='flag-5'>PWM</b>

    51單片機pwm和spwm

    51單片機pwm
    發表于 01-08 15:54 ?1次下載
    主站蜘蛛池模板: 国产精品高清免费网站 | 国产午夜视频在永久在线观看 | 国产精品香蕉视频在线 | 六度影院最新 | 秋霞影院福利电影 | 国产精品色午夜视频免费看 | 国产在线精彩亚洲久久 | 成人在线视频播放 | 久久99国产精品二区不卡 | 日本精品在线观看视频 | 国产永久免费观看视频软件 | 皮皮色狼网 | 在线一本码道高清 | 久久亚洲国产中文字幕 | 国产精品v欧美精品v日韩 | 快播理论片 | 日本双渗透 | 国产婷婷色综合AV蜜臀AV | 欧美高跟镣铐bdsm视频 | 真实的强视频免费网站 | 午夜免费体验30分 | 小s现场抛胸挤奶 | 美女扒开腿让男生桶免费看动态图 | WWW国产精品内射老师 | 伊人网综合在线观看 | 娇小萝被两个黑人用半米长 | 欧美大jiji| 亚州日韩精品AV片无码中文 | 双性精跪趴灌满h室友4p | 天天操狠狠操夜夜操 | 99国内精精品久久久久久婷婷 | 粉嫩小护士 | 精品伊人久久 | 精品三级在线观看 | 午夜亚洲国产理论片二级港台二级 | 久久大香萑太香蕉av | 午夜影院c绿象 | 一二三四在线播放免费观看中文版视频 | 亚洲精品中文字幕在线 | 视频在线免费观看 | 久久久久国产 |