本次实验是利用CH32V307评估板产生一个50Hz的正弦波。根据PWM波基本原理可知,正弦波可以用SPWM等效得到。因此,本实验就是根据PWM调整原理来产生SPWM,然后对输出的SPWM进行滤波即可得到期望的正弦波。 SWPM调制原理是利用调整信号(期望输出的正弦波)与载波(锯齿波)比较得到对应的SPWM,利用改SPWM就可以得到对应的50Hz正弦波。 1:参数调制信号 PWM调整原理是利用正弦信号与锯齿波比较,根据比较结果输出PWM波。因此首先需要产生一个正弦波。在MCU中,一个正弦波可以用一组等宽不等幅的脉冲序列表示。每个脉冲的幅值可以利用函数生成,如下:
在主函数中,调用该函数即可生成N等份的N个脉冲序列,且每一个脉冲的幅值都存入sinData 中。 本次实验准备实验18KHz的锯齿波对50Hz的正弦进行调制得到SPWM波。因此N=18K/50=360个采样点。调用函数为:
利用串口波形监视工具,可以得到采样数据形成的波形为正弦,如下图: 注意:此处需要使用到数学库函数sin(),所以需要在MRS环境的工程项目属性中添加数学库。如下图: 2:产生固定占空比的PWM,PWM频率18KHz,及产生载波锯齿波。
3:在比较匹配中断函数中,更改比较寄存器CCRx的值,实现占空比按正弦规律变换,其宽度用生成的正弦N等份幅值表示。
4:在主函数中调用,实现SPWM输出。
|
扫一扫,分享给好友
电子发烧友网
电子发烧友开云(中国)官方