跳转至

Air780EPM_LuatOS_API_PWM

1. PWM 概述

PWM(Pulse Width Modulation,脉宽调制)是一种通过控制信号的占空比来调节输出功率的技术。在嵌入式系统中,PWM 常用于控制电机转速、LED 亮度、伺服电机位置等场景。

在合宙 Air780EPM 模组中,PWM 功能通过 pwm 模块实现,支持开启和关闭 PWM 信号。

2. PWM 信号的生成

2.1 函数:pwm.open

功能:开启指定的 PWM 通道,并配置信号的频率和占空比。

语法:

pwm.open(channel, period, pulse, pnum, precision)

参数:

  • channel:PWM 通道编号(Air780EPM 共有 4 路 PWM,分别是 0,1,2,4)。
  • period:PWM 信号的频率(单位:HZ)。
  • pulse:PWM 信号的占空比(单位:百分比)。
  • pnum(可选):PWM 输出周期(默认值为 0;0 为持续输出, 1 为单次输出, 其他为指定脉冲数输出)。
  • precision(可选):PWM 分频精度(默认值为 100;可选值有 100/256/1000)。

返回值:boolean,处理结果,成功返回 true,失败返回 false。

使用场景:

  • 控制电机转速。
  • 调节 LED 亮度。
  • 驱动伺服电机。

示例代码:

-- 示例 1:开启 PWM4,频率 1kHz,占空比 50%
pwm.open(4, 1000, 50)
-- 示例 2:开启 PWM4,频率 10kHz,分频为 31/256
pwm.open(4, 10000, 31, 0, 256)

注意事项:

  • 如果需要更高的精度,可以调整 precision 参数。
  • pnumprecision 的组合可以实现更复杂的频率控制。

3. PWM 信号的关闭

3.1 函数:pwm.close

功能:关闭指定的 PWM 通道。

语法:

pwm.close(channel)

参数:

  • channel:需要关闭的 PWM 通道编号,Air780EPM 共有 4 路 PWM,分别是 0,1,2,4。

返回值:无。

使用场景:

  • 停止 PWM 信号输出。
  • 释放 PWM 通道资源。

示例代码:

-- 关闭 PWM4
pwm.close(4)

4. 总结

  • PWM 信号生成:通过 pwm.openpwm.close 控制 PWM 信号的输出。
  • 应用场景:适用于电机控制、LED 调光、伺服电机驱动等。

5. 注意事项

  • 资源管理:使用完 PWM 通道后,务必调用 pwm.close 释放资源。
  • 精度控制:通过调整 pnumprecision 参数可以提高信号的精度。