完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我目前正试图创建一个PWM“转换器”,它采用输入比较模块上的250Hz(或者理论上,我可以精确测量的任何频率)PWM,并将其转换为输出比较模块上的200Hz的等效工作周期。IME,但是经过一段时间(看似随机),输出侧的占空比将“翻转”。也就是说,输出上的PWM从10%变为90%。我在16MHz晶体振荡器(8MHzFCY)上运行PIC24F16KM202。我设置IC和OC模块以及IC中断的代码如下:基本上,我只是通过将PWM的高时间转换为百分之一来转换这个PWM。age并将其转换为可以发送到CCP2输出比较的值:到目前为止,我无法理解在经历了看似随机的运行时量之后,如何突然反转高和低时间。每次进入中断,我都在改变触发中断的边沿极性。这在理论上应该使这个确切的问题不可能,或者至少应该在发生之后纠正自己。我已经看了ISR相对于测量的PWM需要多长时间,并且我在下一个边缘之前退出中断WELL,甚至在1%DC下。我唯一能想到的是也许是CCP1CON1Lbits.MOD位没有立即设置,并且延迟导致它错过下一个边缘?任何想法或建议值得赞赏。
|
|
相关推荐
8个回答
|
|
我错过了一些微妙的细节如何运作?您似乎只使用了捕获值的低8位,并且没有试图通过从当前计数中减去前一个计数来计算脉冲的实际宽度。上升沿)进入COUNT1,接下来(下降)进入COUNT2,然后:low_time=COUNT1-COUNT0 high_time=COUNT2-COUNT1._time=low_time+high_time=COUNT2-COUNT0
|
|
|
|
我想你可能误会了。CCP1BUFL是一个16位寄存器。该PIC上的CCP模块可在16位或32位模式下工作。如果我用的是32位,我会同时读CCP1BUFL和CP1BUFH。我在每个边上都打断,这样做时就重置CCP1TMRL。起初是上升沿INT,一旦我得到中断就切换到下降沿INT,然后再次返回。基本上,由于我在进入不中断时正在重置CCP1定时器,如果当前模式是上升沿,那么如果当前设置的模式正在下降,我将从缓冲区读取低时间。边,我从缓冲器里读出高处的时间。所以每隔2次我中断一次,我就有一个低时间和高时间,可以计算周期和直流。实际上它工作得很好,我已经让它正常工作了几个小时,但是看起来是随机的,它会错过一个边缘或者做一些(我不确定是什么原因)导致高时间和低时间的gET交换,这是不可能的,如果我改变中断边缘极性,因为我是。
|
|
|
|
输入信号非常干净(实际上是从另一个PIC中)。我可以尝试将CCP设置为在上升和下降边缘捕获,并配置CCP中断以每两个捕获触发一次(读数应该在4级FIFO中缓冲)。理论上,这应该使我的第一个FIFO读取时间较高,而第二个读取时间较低。使用CCP1TMR溢出来计算计数的唯一问题是,我需要能够检测信号是100%高还是低。我计划通过重置CCP1 ISR中的定时器,然后使用CCT1定时器中断(溢出时触发)来确定何时不再有优势。在当前设置中,如果CCP1定时器溢出,则信号完全高或低(由CCP1CON1L
|
|
|
|
我猜ICBNE显示FIFO中没有使用这个设备。我认为,如果设置了CCP1BUFL,您应该调整现有代码以再次检查和读取CCP1BUFL,因为这样会使读取恢复同步。它可能是一个有趣的边或一个长的中断(一些其他的中断)导致它。
|
|
|
|
我试试这个,有一个ICBNE位来检查。如果CCPTMR溢出以确保我完全清除缓冲区,我现在只阅读它。
|
|
|
|
|
|
|
|
也许在中断中直接读取输入电平,然后检查没有另一个边沿。
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5203 浏览 9 评论
2016 浏览 8 评论
1942 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3188 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2243 浏览 5 评论
754浏览 1评论
641浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
547浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
653浏览 0评论
553浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-5 03:03 , Processed in 1.586375 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号