产品分类
联系方式
电话:
手机:
微信:
产品详情


▲ 周期固定,调整占空比
上图中有4个PWM,它们的周期是一样的,不同之处是拥有从80%至20%的占空比。可以看出,无论占空比为多少,在1s内,它们产生的高电平的数量是一样的,即无论占空比为多少,PWM的频率都一致。也就无法调整步进电机的速度。因为步进电机的速度仅与PWM的频率有关。

▲ 占空比固定,调整周期
若需要改变PWM周期,需不停地改变定时器的时基单元。但时基单元与硬件相关,不适合频繁变更。步进电机的调速,不适合使用STM32下定时器的PWM模式来控制。
配置定时器时基单元,确定脉冲Zui小长度单位CK。开启定时器的输出比较,设置模式为翻转模式,并开启输出比较中断。将定时器内计数器CNT当前值,加上脉冲长度X(单位为CK),写入输出比较寄存器。
在X个CK后,将会触发输出比较中断。电平翻转。在中断中将当前计数器CNT的值,加上脉冲长度X,写入输出比较寄存器。
如此往复……
以此即可得到一个占空比为50%,周期为2X个CK的PWM。
已知STM32F103的主频为72MHZ,则时基单元中预分频系数为
例如,rtz所确定的CK长度为10us(0.00001s),即可得出方程。

开启输出比较通道,设置输出比较模式为翻转模式,并配置NVIC,开启输出比较中断,配置输出比较通道:
开启输出比较中断,配置NVIC优先级:
在输出比较中断中,唯一要做的事情就是把当前CNT的值取出,加上脉冲长度X,写入输出比较寄存器。
当计数器达到0XFFFF(之前设定的重装载值)后,再加一会自动变为0.
例如,当前CNT值为0XFFFF,脉冲长度为5,很明显,输出比较寄存器应设置为0X0004才可触发下一次中断,而不是0X10004,这样会造成溢出。
将CNT的值与脉冲长度相加后,需要取0XFFFF的余数后,再写入输出比较寄存器。
动态调整中断服务函数中的变量t_m,即可达到修改PWM频率的效果。
所属分类:
/
西门子中国授权代理商-广东省中山市的文档下载:
公司其他产品
公司新闻
- 6EP3437-8SB00-0AY0 全国联保西门子电源模块6EP3437系列现货
- 四川省西门子伺服电机 电缆西门子授权总代理商---欢迎光临
- 广东西门子电机(授权)总代理商---西门子伺服电机总代理
- SIEMENS宁夏省银川市 欧姆龙 传感器 继电器 西门子驱动、电机代理商——西门子西北一级总代理商
- SIEMENS广东惠州市西门子变频器、PLC(授权)一级代理商——西门子华南总代理
- SIEMENS西门子变频器、PLC(授权)一级代理商
- 东北区中国西门子PLC授权供应商
- 西北区西门子中国(授权)一级代理商
- 西门子中国(授权)一级代理商-广东省东莞市
- 西门子中国(授权)一级代理商-广东省佛山市
- 华南区西门子中国(授权)一级代理商
- 华东区西门子中国(授权)一级代理商