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

查看: 4927|回复: 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版