赞
踩
PWM(Pulse Width Modulation)即脉冲宽度调制,可用来调节电机转速、调节变频器、控制LED灯吊灯亮暗变化等。MN316 标准版SDK中配置了特定的PWM信号引脚,本文将从使用流程、demo代码、运行演示及注意事项四个方面介绍PWM使用方法。
一、流程图与接口介绍
图1为使用MN316 OpenCPU PWM功能时的常见流程及相关函数接口介绍。
图1 PWM常用流程图
关于PWM功能的各种接口,可在SDK中include-->cm_pwm.h中查看。
1.1、打开PWM设备
图2 打开PWM输出函数
此函数用于配置频率、占空比并打开PWM设备,执行后输出PWM信号。
其中,dev表示PWM设备号,MN316标准版SDK中有1路PWM信号输出引脚,为模组的11引脚,dev的定义如图3。
图3 参数dev的定义
frequency是PWM信号的频率,设置范围需大于等于100Hz,小于等于100KHz。
duty是占空比,设置范围需大于等于0,小于等于1000,单位是千分比。
1.2、关闭PWM设备
此函数用于关闭PWM设备,填写PWM设备号后执行即可。
图4 关闭PWM输出函数
二、demo介绍
图5 测试demo代码
如图所示,demo代码十分简单,配置频率为30KHz,占空比为千分之五百,即50%。执行前串口会打印“pwm test start!!”,然后模组的11引脚会输出配置好的PWM信号,持续2秒之后,PWM设备关闭停止信号输出,并打印“pwm test end!!”
三、demo运行及演示
使用VS code打开代码文件夹,在VS code中打开一个新终端,用对应硬件的编译指令编译demo固件,如图5。
图6 demo编译指令
编译完成后将固件合并然后下载到模组中。Demo程序运行起来后通过串口输入CM:PWM,执行PWM demo程序。以下为不同频率和占空比配置时,模组11引脚的实测波形。
(1)频率为30KHz,占空比千分之五百。
图7 实际波形1
(2)频率为100Hz,占空比千分之五百。
图8 实际波形2
(3)频率为100KHz,占空比千分之二百。
图9 实际波形3
四、注意事项
1、频率仅支持100Hz到100KHz;
2、当需要调整频率或者占空比时,不能直接通过 cm_pwm_open()函数调节,需要先通过 cm_pwm_close关闭PWM输出,调节后再打开。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。