首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于PWM的50 PWM正弦波查表

基于PWM的50 PWM正弦波查表
EN

Stack Overflow用户
提问于 2014-05-03 13:55:36
回答 1查看 2.9K关注 0票数 0

请有人指导我如何在Atmega32中使用脉宽调制产生50赫兹正弦波的查找表。

这就是我迄今所做的,但我对该做什么感到困惑。

50 Hz正弦波,时间周期为20 ms,采样数为256个。(各司)

第一步需要增加= 20 ms/256 = 0.078125 ms (脉宽调制信号周期)。

角速度= 360/256 = 1.40625

正弦波振幅应为1。

EN

回答 1

Stack Overflow用户

发布于 2014-05-03 14:22:41

我认为你从错误的起点开始,因此而迷失了方向。

忽略查找表,你能生成一个50赫兹的脉宽调制信号,发出对sin()的明确调用吗?好的。现在,查找表为您节省了昂贵的sin调用。sin是一个周期函数,所以只需要存储一个句点(*)。有多少点取决于你的数字输出频率,这将是远远超过50赫兹。定义查找表中点数的数量。

要填充查找表,您不需要将PWM功能的结果发送到数字输出,而是将其写入查找表。要使用查找表,不需要调用昂贵的函数,只需将表条目直接复制到输出。

有一个常见的优化:a因为函数有很多重复。你不需要存储发送的一半,这只是上半部分的反义词,第二季度只是第一季度的镜像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23445348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档