Microchip
直播中

潘凌

7年用户 174经验值
私信 关注
[问答]

如何在DSPIC33EP256MC506上产生10KHz的脉宽调制信号频率?

您好,我是新的微控制器,并使用DSPIC33运行无刷直流电机。我需要实现一个10kHz的PWM信号频率,但是当我计算频率的时候,我就离开了。根据我的理解,PTPER的值决定了这个频率。当我用我希望的PWM频率计算PTPUT的值时,我得到一个值PTPER=3223。我把这个值输入我的程序并运行。当我通过查看逻辑分析器和PWM输出来计算PWM频率时,我得到了565680Hz。我不知道我是否在计算PWM频率时出错。基本上,我看在一个PWM状态的周期(我计数57个周期)。然后用32MHz的时钟频率除以它。微控制器:dsPIC33EP256MC506Dev.:dsPICDEM-2MCLVProgrammer:RealICECom.r:MPLAB X下面是我的一些计算:我们使用XTCyrstal振荡器Fin=7.37MHzFosc=Fin(M/(N1*N21))=7.37Mhz(70/(2*4))=64.48MHzFc。y=Fosc/2=64.48Mhz/2=32.243750MhzPTPER=(Fcy/(Fpwm*PTMR Prescaler))-1=(32.37MHz/(10KHz*1))-1=3223system.c有人能解释一下为什么当我使用逻辑分析器计算时得到500KHz的PWM频率吗?这是我对PTPER值的计算还是从逻辑分析仪计算PWM频率的方法?任何建议或反馈是非常感谢!谢谢,卡帕特罗

回帖(3)

康辅佑

2019-10-29 09:37:21
复制品!
举报

h1654155275.5814

2019-10-29 09:49:21
对不起,我试着从另一个线程中删除它,但是我似乎不能这么做。
举报

李雨晨

2019-10-29 10:09:19
你不能删除这个帖子,但是如果论坛软件心情很好,你可以编辑你的帖子,从而删除内容,例如用一个适当的注释替换它。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分