NJLYR 发表于 2023-6-13 10:40:48

正玹表的计算

在使用STC8H8K单片机产生正玄波的波形,看了例程

不知道表格中的数据是如何计算的?如果改成频率是1KHZ,表格数据如何计算?例程44-两路高级互补

NJLYR 发表于 2023-6-14 08:08:02

哪位大咖能回复下,谢谢

zhp 发表于 2023-6-15 09:15:28

NJLYR 发表于 2023-6-14 08:08
哪位大咖能回复下,谢谢

你贴图出来的是200个采样点,每5us输出一个值,频率就是1KHz

将你的需求提具体一点,仅仅说频率改为1K,别人没法帮你
比如:波峰值是多少?波谷值是多少?一个周期需要多少个点?

NJLYR 发表于 2023-6-15 13:47:18

zhp 发表于 2023-6-15 09:15
你贴图出来的是200个采样点,每5us输出一个值,频率就是1KHz

将你的需求提具体一点,仅仅说频率改为1K, ...

感谢大咖,PWM值最大是65536,波峰值2v。波谷值-2v,一个周期点数尽量多,谢谢

梁工 发表于 2023-6-15 16:04:58

NJLYR 发表于 2023-6-15 13:47
感谢大咖,PWM值最大是65536,波峰值2v。波谷值-2v,一个周期点数尽量多,谢谢 ...

正弦波表点数与实际输出的频率没有直接关系,输出频率取决于采样频率,比如200点的,你按20KHz的速度输出,则正弦波就是100Hz。
SPWM输出正弦波幅度由占空比和电源电压决定,输出负电压的,用电容隔直就可以得到。你要求VP-P是4V,单片机电源5V,则占空比最大为80%,有两种方法:
1、SPWM占空比为0~80%,以地为参考,输出0~4V。
2、SPWM占空比为10~90%,以地1/2 VCC为参考,输出2.5+-2V,即输出0.5~4.5V(推荐用这个)。
你的要求:PWM值最大是65536,一个周期点数尽量多。
频率为1KHz吗?
PWM的长度(或周期、频率)与点数是一个矛盾,PWM的周期长、点数多,则正弦波频率就低,你这么笼统的要求我很难给出结果,我给你一个公式,自己权衡决定:
输出正弦波频率 = PWM时钟 / PWM周期 / 正弦波点数。
PWM的周期,就是多少个时钟一个周期,最快的时钟是STC32系列的144MHz。
你要求输出1000Hz正弦波,则 PWM周期 * 正弦波点数 = 144M/1000=144000。据此,你就可以自己确定PWM周期和点数,点数越多,正弦波波形越好。配合滤波电路,8个点就可以恢复比较好的正弦波了,则点数为8,PWM周期=18000,如果点数为64,则周期为2250.

NJLYR 发表于 2023-6-15 18:22:47

梁工 发表于 2023-6-15 16:04
正弦波表点数与实际输出的频率没有直接关系,输出频率取决于采样频率,比如200点的,你按20KHz的速度输出 ...

感谢梁工
页: [1]
查看完整版本: 正玹表的计算