完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用m052做某项目,用PWM产生可调电压输出,即简易DA吧,当改变PWM输出的脉宽时,经过RC滤波即可得到变化的电压,我想大家都懂的,^_^。
现在问题来了,当PWM输出占空比在50%(含)以上时,输出没问题的,连贯。当占空比低于50%时,输出不连贯,是间歇输出的,一阵有脉冲输出(占空比符合设定要求),一阵没有脉冲输出(输出为“0”),而且占空比越小,间歇周期越大。原来用的是M052LBN,以为是芯片的问题,换成M052LDN,现象依旧,那么请问问:这是什么原因造成的?怎么解决? (着急啊,被这个问题卡住了,产品没法往下走啊) |
|
相关推荐
2个回答
|
|
两种可能,
1、可能有某个地方无意中改了GPIO口的功能, 改成GPIO了。代码中同时不停的让PWM对应的 DOUT 位取反,若PWM不输出时刚好是DOUT的取反值,可验证是此原因 2、可能是写占空比寄存器 CMR 出现错误,打开PWM周期中断,在周期中断里,让另一个GPIO每次取反。看这个引脚的方波是否刚好是PWM频率的一半,若是,表明PWM并没有停,而是占空比值写错了。 |
|
|
|
这种情况可能是由于m052 PWM输出的工作频率过高,导致在占空比低于50%时,输出脉冲的间隔时间太大,从而在人眼观察上会感觉到不连贯。
你可以尝试通过以下方式来解决这个问题: 1. 降低PWM输出的工作频率:通过修改相关寄存器,降低PWM输出的工作频率,使得脉冲的间隔时间变短。具体的修改方式和寄存器地址可以参考m052的数据手册。 2. 增加RC滤波器的时间常数:通过增加RC滤波器中电容或者电阻的值,可以延长滤波器的时间常数,从而使得输出的电压变化更加平滑,减少间歇性。 3. 使用其他方式生成可调电压输出:除了PWM输出之外,你可以考虑使用其他的方式来生成可调电压输出,比如使用数字到模拟转换器(DAC)芯片,这样可以得到更为连续且精确的输出。 希望以上方法可以帮助解决你的问题,祝你顺利完成项目! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
657 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
640 浏览 0 评论
753 浏览 1 评论
546 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
910 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11652 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:40 , Processed in 0.609355 second(s), Total 40, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号