单片机的GPIO口可以产生PWM信号,可以使用定时器来实现。使用定时器控制GPIO口的高电平和低电平的翻转时间即可实现输出方波的频率控制和占空比控制。
PWM的两个指标: 占空比和频率,普通的IO只要能控制高低电平变化就可以模拟PWM信号了。
什么叫占空比?
高电平时间占整个周期时间的比例叫占空比,比如一个周期为100ms,高电平部分占了40ms,那么占空比就是40%。
什么叫频率?
每秒种的周期数叫做频率,假如每秒产生50个波形,那么频率就是50Hz。
IO口输出PWM信号的思路
所谓PWM信号是指脉冲宽度调制信号,通过改变高电平持续时间和低电平持续时间实现信号的调节。如果单片机的GPIO口输出高电平持续的时间为1秒钟,然后输出低电平持续时间也是1秒钟,则该信号的周期就为2秒钟,占空比为50%。所以只需要改变高电平持续的时间或者低电平持续的时间,就可以实现脉冲宽度的调制。这里就需要用到定时器来控制GPIO口的定时翻转。

假设单片机输出高电平所持续的时间为T1,翻转为低电平后持续的时间为T2,那么周期就为T1+T2,占空比就为T1/(T1+T2),所以如果保持频率不变只改变占空比,就只修改T1,且保证T1+T2不变。但是因受MCU时钟和IO电平转换速度的限制,频率很高的PWM信号是没法用普通IO模拟,需要选用带PWM外设的MCU。
PWM基本参数及用途
PWM在使用时,具有两个非常重要的参数:频率/周期,占空比。前文提过占空比就是在一个周期中高电平所占用的比例,而频率和周期是互为倒数的。PWM信号非常有用,平时所讲的电机调速、电机驱动都是通过PWM来实现的。在PWM调速时,占空比越大电机转速越快,占空比越小电机转速越慢。占空比为100%时即为持续的高电平;为0%时即为持续的低电平。在BLDC驱动中,也通过PWM来控制电机的转动和调速。
本文介绍了如何利用单片机的GPIO口模拟PWM信号,主要涉及占空比和频率的概念。通过定时器控制GPIO口的高低电平翻转时间,可以调整PWM信号的频率和占空比。讲解了占空比是高电平时间与周期的比例,频率是每秒周期数。此外,还阐述了在保持频率不变的情况下,如何通过改变高电平时间T1来调整占空比,并指出高频率PWM信号可能需要带PWM外设的MCU。最后,提及PWM在电机调速和驱动中的应用。
6671

被折叠的 条评论
为什么被折叠?



