你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4979|回复: 0

关于STM32的PWM问题集锦

[复制链接]

21

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-5-8 11:08:43 | 显示全部楼层 |阅读模式
1、STM32F10X定时器PWM输入模式测量频率、占空比精度问题

问:今天使用了STM32F10X定时器PWM输入模式,用来测量输入方波信号的频率和占空比,发现精度不高,设置定时器的时钟频率为36MHz,预分频为35,计数频率为1MHz,即精度为1us,当输入信号为500Hz时,测量值为500Hz,当输入信号为1KHz时,测量值为1000.1,当输入信号频率继续增加时,测量误差越大,之后提高定时器的技术频率为72MHz,精度有提高,但是输入信号频率增加,误差越大,同时对于低频信号需要使用更新中断才能处理。
请假各位大侠是如何处理精度和低频信号测量的问题?
答:能不能看看你的代码配置。还有要注意TIM的范围,可能约接近最大值,误差可能会有所变化。

答:设置为:PWM输入模式,计数精度为1us ,没有考虑溢出的情况,同时也没有使用低于500Hz的信号做测试,当提高技术精度为100ms甚至更小时,相同频率下误差减小,但是误差还是随着频率增加而变大,然后自己看了Datasheet,发现里面有一句这样的话:TI1的上升沿和计数器实际复位之间的延时,取决于TI1输入端的重同步电路,也就是说肯定有延时,而且延时不确定,当测量频率越高时,延时对结果的影响自然越大。另外我使用捕获功能来测量频率,考虑溢出,计数精度1us,在100KHz内,基本上没有误差。

 
2、stm32f103 PWM 互补通道 问题
 
问:stm32PWM 互补通道在禁止输出时可不可以均默认为高或变为浮空输入通道 不要在每次发生通道变换时认为的去修改寄存器!

答:函数TIM1_ForcedOC1Config可以,看下固件库手册,没问题的!

 
 
3、STM32的DAC输出脉冲
问:STM32的DAC上电时输出一个幅值100mV,脉宽5ms的脉冲,影响后面电路的工作,怎么去掉这个脉冲呢?
答:关闭DAC波形输出
 
4、PWM input capture
 
问:在测试PWM input capture时,使用TIM3—CH2通道,则IC1和IC2影射到TI2上,此时CCR2 register捕获PWM的period,CCR1 register捕获PWM的duty cycle,IC1和IC2开始捕获计数。如果这个PWM的周期比较长,IC2计数值超过65535溢出之后会怎么办?溢出的值是不是舍弃掉了?还能通过CCR1/CCR2这个公式来计算占空比吗?
答:溢出以后会将产生中断,如果周期比较长,建议使用计数器来判断。或者降低模块频率。
回复

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版