电子发烧友App

硬声App

扫码添加小助手

加入工程师交流群

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>单片机>PWM知识点详解

PWM知识点详解

2017-03-16 | docx | 18KB | 次下载 | 免费

资料介绍

PWM知识点

  控制方式就是对逆变电路 开关器件的通断进行控制,使输出端得到一系列幅值相等的 脉冲,用这些脉冲来代替正弦波或所需要的波形。

  按一定的规 则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的 大小,也可改变输出频率。

  如果把上述脉冲序 列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形 脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相 应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这 就是 PWM 波形

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

  要改变等效输 出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度 即可,

  脉冲宽度调制( PWM )是一种对模拟信号电平进行数 字编码的方法。 通过高分辨率计数器的使用, 方波的占空比被调制用 来对一个具体模拟信号的电平进行编码。 多数负载 (无论是电感性负载还是电容性负载) 需要的调制频率 高于 10Hz ,通常调制频率为 1kHz 到 200kHz 之间。

  调制频率为周期的倒数。执行 PWM 操作之前,这种微处理器要求在软件中完成以下工作:

  许多微控制器内部都包含有 PWM 控制器。例如, Microchip 公司 的 PIC16C67 内含两个 PWM 控制器,每一个都可以选择接通时间和周 期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行 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 波形的占空比。 ③:设置死区( deadband ),为避免桥臂的直通需要设置死区, 一般较高档的单片机都有该功能。 ④:设置故障处理情况,一般为故障是封锁输出,防止过流损坏 功率管,故障一般有比较器ADC 或 GPIO 检测。 ⑤:设定同步功能,该功能在多桥臂,即多 PWM 模块协调工作时

  尤为重要。 3 、设置相应的中断,编写 ISR ,一般用于电压电流采样,计算 下一个周期的占空比,更改占空比,这部分也会有 PI 控制的功能。 4 、使能 PWM 波形发生。

 

  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); /* 系统初始化函数 */ 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; } } } } /* 函数功能:对系统进行初始化,包括定时器初始化和变量初始化 */ void init_sys(void) /* 系统初始化函数 */ { /* 定时器初始化 */ 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; }

 

PWM
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1美的电磁炉电路原理图资料
  2. 4.39 MB   |  16次下载  |  10 积分
  3. 2反激式开关电源设计解析
  4. 0.89 MB   |  2次下载  |  5 积分
  5. 3简易光伏控制器原理图资料
  6. 0.07 MB   |  1次下载  |  5 积分
  7. 4TPS23755数据手册
  8. 0.07 MB   |  次下载  |  免费
  9. 536伏,10兆赫兹低噪声双运算放大器COS5532 技术手册
  10. 0.41 MB   |  次下载  |  免费
  11. 6LM5176 55V 宽输入电压同步4开关降压/升压控制器技术手册
  12. 2.40 MB   |  次下载  |  免费
  13. 7MCU模块原理图资料
  14. 0.37 MB   |  次下载  |  1 积分
  15. 8LoRa1121 FCC&CE认证 多频段LoRa无线通讯模块规格书
  16. 997.05 KB  |  次下载  |  免费

本月

  1. 1美的电磁炉电路原理图资料
  2. 4.39 MB   |  16次下载  |  10 积分
  3. 2冷柜-电气控制系统讲解
  4. 13.68 MB  |  7次下载  |  10 积分
  5. 3SDFM 激光测距模块模组手册
  6. 0.54 MB   |  7次下载  |  免费
  7. 4直流电路的组成和基本定律
  8. 1.67 MB   |  4次下载  |  免费
  9. 5SW6238V ACCC 三 PD 四口多协议移动电源 SOC规格书
  10. 0.59 MB   |  4次下载  |  1 积分
  11. 6安川A1000变频器中文版说明书
  12. 20.16 MB  |  3次下载  |  3 积分
  13. 7IP6742_datasheet_100V8A 同步 BUCK 控制器
  14. 2.16 MB  |  3次下载  |  免费
  15. 8PAW3395DM-T6QU:光学游戏导航芯片手册
  16. 1.26 MB   |  2次下载  |  10 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935137次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233094次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191448次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183360次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81605次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73829次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65991次下载  |  10 积分