電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>單片機>PWM知識點詳解

PWM知識點詳解

2017-03-16 | docx | 18KB | 次下載 | 免費

資料介紹

PWM知識點

  控制方式就是對逆變電路 開關器件的通斷進行控制,使輸出端得到一系列幅值相等的 脈沖,用這些脈沖來代替正弦波或所需要的波形。

  按一定的規(guī) 則對各脈沖的寬度進行調制,即可改變逆變電路輸出電壓的 大小,也可改變輸出頻率。

  如果把上述脈沖序 列用同樣數量的等幅而不等寬的矩形脈沖序列代替,使矩形 脈沖的中點和相應正弦等分的中點重合,且使矩形脈沖和相 應正弦部分面積(即沖量)相等,就得到一組脈沖序列,這 就是 PWM 波形

  根據沖量相等效果相同的原理, PWM 波形和正弦半波是等效 的。

  要改變等效輸 出正弦波的幅值時,只要按同一比例系數改變各脈沖的寬度 即可,

  脈沖寬度調制( PWM )是一種對模擬信號電平進行數 字編碼的方法。 通過高分辨率計數器的使用, 方波的占空比被調制用 來對一個具體模擬信號的電平進行編碼。 多數負載 (無論是電感性負載還是電容性負載) 需要的調制頻率 高于 10Hz ,通常調制頻率為 1kHz 到 200kHz 之間。

  調制頻率為周期的倒數。執(zhí)行 PWM 操作之前,這種微處理器要求在軟件中完成以下工作:

  許多微控制器內部都包含有 PWM 控制器。例如, Microchip 公司PIC16C67 內含兩個 PWM 控制器,每一個都可以選擇接通時間和周 期。占空比是接通時間與周期之比;調制頻率為周期的倒數。執(zhí)行 PWM 操作之前,這種微處理器要求在軟件中完成以下工作: 1 、設置提供調制方波的片上定時器 / 計數器的周期 2 、 在 PWM 控制寄存器中設置接通時間 3 、設置 PWM 輸出的方向,這個輸出是一個通用 I/O 管腳 4 、啟動定時器 5 、使能 PWM 控制器

  更為一般的 PWM 模 塊控制流程為(筆者使用過 TI 的 2000 系列, AVR 的 Mega 系列, TI 的 LM 系列): 1 、使能相關的模塊( PWM 模塊以及對應管腳的 GPIO 模塊)。 2 、配置 PWM 模塊的功能,具體有: ①:設置 PWM 定時器周期,該參數決定 PWM 波形的頻率。 ②:設置 PWM 定時器比較值,該參數決定 PWM 波形的占空比。 ③:設置死區(qū)( deadband ),為避免橋臂的直通需要設置死區(qū), 一般較高檔的單片機都有該功能。 ④:設置故障處理情況,一般為故障是封鎖輸出,防止過流損壞 功率管,故障一般有比較器ADC 或 GPIO 檢測。 ⑤:設定同步功能,該功能在多橋臂,即多 PWM 模塊協(xié)調工作時

  尤為重要。 3 、設置相應的中斷,編寫 ISR ,一般用于電壓電流采樣,計算 下一個周期的占空比,更改占空比,這部分也會有 PI 控制的功能。 4 、使能 PWM 波形發(fā)生。

?

  3 、程序: #include 《REG51.H》 #define uchar unsigned char #define V_TH0 0xFF #define V_TL0 0x9C #define V_TMOD 0x01 sbit P1_4=P1^4; sbit P1_3=P1^3; sbit P1_2=P1^2; sbit P1_1=P1^1; void init_sys(void); /* 系統(tǒng)初始化函數 */ void Delay5Ms(void); unsigned char ZKB1,ZKB2; void main (void) { init_sys(); ZKB1=4; /* 占空比初始值設定 (20%)*/ ZKB2=8; /* 占空比初始值設定 (70%)*/ while(1) { if (!P1_1) // 如果按了 + 鍵,增加占空比 { Delay5Ms(); if (!P1_1) { ZKB1++; ZKB2=10-ZKB1; } } if (!P1_2) // 如果按了 - 鍵,減少占空比 { Delay5Ms(); if (!P1_2) { ZKB1--; ZKB2=10-ZKB1; } } } } /* 函數功能:對系統(tǒng)進行初始化,包括定時器初始化和變量初始化 */ void init_sys(void) /* 系統(tǒng)初始化函數 */ { /* 定時器初始化 */ TMOD=V_TMOD; TH0=V_TH0; TL0=V_TL0; TR0=1; ET0=1; EA=1; } // 延時 void Delay5Ms(void) { unsigned int TempCyc = 5000; while(TempCyc--); } /* 中斷函數 */ void timer0(void) interrupt 1 //using 2 { static uchar i=0; /* 中斷次數計數器變量 */ TH0=V_TH0; /* 恢復定時器初始值 */ TL0=V_TL0; ++i; if (i》10) i=0; if (i《=ZKB1) /* 當小于占空比值時輸出低電平,高于時是高電平,從而 實現占空比的調整 */ P1_3=0; else P1_3=1; if (i《=ZKB2) P1_4=0; else P1_4=1; }

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費