Edison上程序开发——如何使用PWM
2015-10-221.2万
AI 快速预览详细
本文介绍了如何在Edison上使用PWM技术。首先解释了两个核心概念:周期和占空比。周期是指脉冲信号的一个完整周期的时间长度,例如5000微秒;占空比是指在一个周期内高电平时间与总时间的比值,例如0.2表示五分之一的时间是高电平。文章还提供了Python代码示例,展示了如何使用mraa库设置PWM的周期和占空比,从而实现精确的脉冲控制。
|
在Edison上,PWM的使用跟Arduino相比,稍微复杂了一点点,但是如果掌握了其中“奥秘”就很简单了。 下面就来教大家这个“奥秘”。 最基本的用法呢,其实就只要理解两个概念:周期(period) +---------+ +----------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + +---------+ +---------+ ^ ^ | | |<------ 周期 ------>| | ^ | | | | | pwm.period_us(5000) 这里个人认为周期多少都无妨,PWM印象中挺好的脉冲频率,这里5000微秒,或者使用period_ms(5) 5毫秒 第二个概念:duty (占空比): +---+ +---+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + +----------------+ +------------------+ ^ ^ | | |<->| ^ | | pwm.write(0.2) 这里write的参数就是占空比,就是矩形波信号每个周期内高电平时间与一个周期(高低电平总时间)的比值. 0.2的意思是,在一个周期内有 五分之一 的时间是高电平,剩下的时间是低电平。 好了,完全理解的这两个概念,下面可以实战了! 如果一切顺利,那么接在第5个pin脚的点击应该奔腾起来了啊! |





那个pulsewidth 看上去就像脉宽的实际时间。给力!
另外楼主的pin取值是5,这个值对应的是板子上的哪个针脚呢?
啊,关于周期和脉宽。。。好问题——我也不确定的问题就是好问题,吼吼。
Arduino的PWM可以支持的频率。。。。好像是xxxx/s,上岁数了,这些个细节总要查下才能知道。嘻嘻。我觉得,如果超过了支持的频率上线,多半就是按照最高频率吧,也就是最小周期了。 脉宽的话,就是占空比 0~1 这个没什么限制吧