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
参数。 pnum
和precision
的组合可以实现更复杂的频率控制。
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.open
和pwm.close
控制 PWM 信号的输出。 - 应用场景:适用于电机控制、LED 调光、伺服电机驱动等。
5. 注意事项
- 资源管理:使用完 PWM 通道后,务必调用
pwm.close
释放资源。 - 精度控制:通过调整
pnum
和precision
参数可以提高信号的精度。