什么是占空比?什么是周期?什么是频率?

  一、什么是占空比?

1.1、占空比公式

     占空比(Duty Cycle)是脉冲信号中高电平持续时间与整个周期时间的比率。它通常用于描述脉冲宽度调制(PWM)信号,其中信号在一定频率下在高电平和低电平之间切换。

图1.1  60%占空比信号

占空比计算公式如下(该公式适用于所有需要计算占空比的场景):

  • 脉冲高电平持续时间(Ton):是脉冲信号处于高电平状态的时间。
  • 脉冲周期(T):是脉冲信号从开始到重复出现所需的时间长度(即:高电平时间+低电平时间)。

例如:如果一个脉冲信号的高电平持续时间为6毫秒(ms),而其总的周期为10毫秒(ms),那么它的占空比就是:

 占空比单位:% (0%~100%);

应用场景:

  • 在电机控制、LED调光、电源管理中,通过调整占空比控制输出功率或电压。
  • 例如:占空比50%时,LED亮度约为最大值的一半。

1.2、开关电源占空比计算公式

在某些情况下没办法实测,需要快速计算占空比大小时,可以考虑使用以下公式:

        ①在降压型开关电源(如BUCK电路)中,占空比决定了输入输出电压比:

图1.2  降压型开关电源占空比计算公式

注意事项:

  • 该公式是一种理想情况下的简化公式,近似于实际占空比大小,实际电路需考虑寄生参数和工作条件的影响。
  • 断续导通模式(DCM)中电感电流会降至0,此时占空比公式需重新推导,与电感值、开关频率相关。

        ②在升压型开关电源(Boost电路)中,占空比计算与降压电路不同:

图1.3  升压型开关电源占空比计算公式

         该公式也是一种理想情况下的简化公式,近似于实际占空比大小,实际电路需考虑寄生参数如二极管压降和直流电阻DCR等影响。


1.3、占空比平均电压

        除此之外,占空比平均电压也是一个关键参数。平均电压(Average Voltage)是指在一段时间内电压的平均值。对于周期性信号,如正弦波、方波、三角波或脉冲信号等,平均电压是指一个完整周期内电压的平均值。通俗点讲,平时使用万用表直流电压档测的就是平均电压。

        注意事项:平均电压不是有效值电压。

        那么,占空比的平均电压怎么计算呢?如下图:

图1.4   平均电压计算方法

平均电压 = 峰值电压 * 占空比;

如上图1.2,最高幅度电压(峰值电压)为5V,那么 平均电压 = 5V * 60% = 3V。

        也计算说——占空比越大,则平均输出电压越大↓

图1.5  其他占空比下的平均电压

 二、什么是周期?

        周期是描述脉冲信号或任何周期性信号的一个基本参数。它指的是信号完成一次完整循环所需要的时间。对于脉冲信号而言,周期是指从 一个脉冲的起点下一个相同脉冲起点 的时间间隔。

图2.1  不同波形的周期T

        如上图2.1,方波波形 选择上升沿为起点,那么与 下一个脉冲上升沿的起点 的时间间隔就是周期;同理,正弦波波形都是下降沿。

周期T 可以用以下公式来表示:

  • f 是频率,单位通常是赫兹(Hz),表示每秒的周期数。
  • T是周期,即脉冲信号完成一次完整循环所需要的时间,单位通常是秒(s)。

例1:如果一个脉冲信号的频率为1KHz(每秒钟1000次),那么它的周期为:

        周期时间为0.001s, 也就是说1Hz=0.001s(每0.001s出现1次)。

例2:在示波器中 脉冲信号1s内重复出现10次,那么它的周期为: 

        1秒内出现10次,所以频率应该是10次/秒,也就是10Hz。(频率:每秒钟脉冲信号重复出现的次数)。

        周期T=0.1s;即脉冲信号每 0.1秒 完成一个完整周期(每0.1s出现1次)。 


 三、什么是频率?

        频率是指单位时间内(通常为1秒)脉冲信号重复出现的次数。

        频率的单位通常是赫兹(Hz),表示每秒的周期数。

频率的计算公式为:

  • f 是频率,单位通常是赫兹(Hz),表示每秒的周期数。
  • T是周期,即脉冲信号完成一次完整循环所需要的时间,单位通常是秒(s)。

 例1:如果脉冲周期为10毫秒(ms),那么频率为多少呢?

        我们首先将 10毫秒(ms) 转换 为 秒(s) 来计算频率。1毫秒等于0.001秒,因此周期T为:

现在我们可以计算频率了:

        所以,如果脉冲信号的周期为10毫秒(ms),那么它的频率是100赫兹(Hz)。这意味着每秒钟脉冲信号会重复出现100次。

或者,知道时间和次数也可以算出频率:

        在示波器中,若脉冲信号在1秒内重复出现10次,则:


                                                                        END

### ESP32 PWM 占空比计算 对于ESP32而言,PWM占空比可以通过下面的公式进行计算: \[ \text{占空比} (\%) = \left( \frac{\text{高电平时间}}{\text{周期时间}} \right) \times 100\% \] 当涉及到具体数值设定时,在编程环境中设置PWM通道的占空比如下所示[^1]。假设目标是使舵机转动到特定角度,则需要先了解该角度对应的精确脉冲宽度(即高电平持续时间),再基于此转换成适合写入程序中的占空比值。 在Arduino环境下操作ESP32时,通常会利用`ledcWrite()`函数来配置PWM输出。这里需要注意的是,实际编写代码时所使用的占空比是以最大分辨率下的比例形式给出的而不是百分比。例如,默认情况下分辨率为8位(范围是从0至255)。因此,如果要表示50%的占空比,则应传递给`ledcWrite()`函数的参数为127.5(取整后为128)。 ```cpp // 设置PWM频率和初始占空比 const int frequency = 50; // 对于大多数舵机来说,这是标准频率 int channel = 0; int resolution = 8; void setup() { ledcSetup(channel, frequency, resolution); } void loop() { float angle = 90; // 假设想要达到的角度 int dutyCycle = map(angle, 0, 180, 20, 120); // 将角度映射到对应脉宽 // 将得到的结果除以最小单位时间并乘上满量程值得到最终占空比 int pwmValue = (dutyCycle / 20000.0f * pow(2, resolution)); ledcWrite(channel, pwmValue); } ``` 上述代码片段展示了如何根据所需角度计算相应的PWM占空比,并将其应用于ESP32上的指定PWM通道中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值