PWM原理

转自:http://www.eepw.com.cn/article/275890.htm

           http://blog.sina.com.cn/s/blog_61ac952e0100il5a.html

脉宽调制是一种模拟控制方脉冲宽度调制,利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形。该技术以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

PWM工作原理
脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。下图所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。

通过图1b的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻tk时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTs<<Ts的情况,均匀采样和非均匀采样差异非常小。

用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。
SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。

要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。
SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。

PWM专有名词
  1) 占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间之比。
  如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。
  2) 分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:65535(单斜率)。
  3) 频率就是这样的,如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.......,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。
  4) 双斜率 / 单斜率
  假设一个PWM从0计数到80,之后又从0计数到80....... 这个就是单斜率。假设一个PWM从0计数到80,之后是从80计数到0....... 这个就是双斜率。
  可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:(80+80) =1:160,就是提高了一倍。
  假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。

### FPGA中的PWM工作原理 在FPGA中,PWM(脉宽调制)是一种通过改变信号高电平持续时间的比例来调节输出平均功率的技术。这种技术广泛应用于电机控制、音频合成等领域。 #### 计数器机制 为了生成PWM信号,在硬件描述语言如Verilog中通常会定义一个计数器`counter`。此计数器随着时钟周期递增直到达到预设阈值`threshold`,之后重置并重复这一过程[^3]。当计数值小于设定的阈值时,输出保持低电平;一旦超过阈值,则切换到高电平状态。这种方式决定了PWM波形在一个完整周期内的高低电平分布情况,进而影响最终输出电压的有效值。 #### 占空比调整 占空比是指在一个完整的PWM周期内,高电平所占据的时间比例。对于给定的应用场景来说,可以通过修改上述提到的`threshold`变量来动态调整PWM的占空比。例如,在一段音乐播放过程中,不同的音符可能需要不同频率和振幅的声音输出,此时就可以利用软件手段实时更新`threshold`参数以满足特定需求[^2]。 #### 频率设置 除了占空比之外,PWM还涉及到另一个重要概念即频率的选择。频率指的是每秒钟发生的完整PWM周期次数。较低频次可能会引起可听范围内的噪音问题,而过高则可能导致某些设备无法正常响应变化过快的输入信号。因此,在设计阶段应当综合考虑目标应用场景的要求合理选定合适的PWM频率[^4]。 ```verilog // Verilog代码片段展示基本PWM逻辑结构 module PWM_Buzzer ( input wire clk, input wire rst, output reg pwm ); reg [15:0] counter = 0; reg [7:0] threshold; always @(posedge clk or posedge rst) begin if (rst) {counter, pwm} <= 0; else begin counter <= counter + 1; if (counter >= threshold) begin counter <= 0; pwm <= ~pwm; end end end endmodule ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值