打印

请教单片机SPWM信号的计算方法

[复制链接]
6795|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
771364390|  楼主 | 2012-7-3 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
amwrdfe| | 2012-7-3 17:27 | 只看该作者
虽然没搞过,
但能想得出来,跟画正弦波差不多。

正弦波可以用查表法,也可以用math.h库函数,当然你想自己写一个也没问题。
频率嘛,取决于pwm的频率和正弦波的周期采样点。

使用特权

评论回复
板凳
coody| | 2012-7-3 22:36 | 只看该作者
先将正弦波按积分或面积法(面积法用EXCEL就可以做出来)计算好每个点的PWM值,建一个表,查表刷新PWM就可以了。

STC12C5202AD的PWM如果用25.6MHZ做时钟,最高可以输出100KHZ的PWM,可以输出118点的SPWM,对应正弦频率847.46HZ

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
771364390 + 1
地板
771364390|  楼主 | 2012-7-4 11:25 | 只看该作者
3# coody 有计算公式吗,举个例子

使用特权

评论回复
5
771364390|  楼主 | 2012-7-4 11:33 | 只看该作者
原理我明白,但是我不懂得怎么计算这些采集点,比如半个正弦波分成32份,输出的各个占空比的时间是多少?其实只计算出1/4周期的占空比就行了 2# amwrdfe

使用特权

评论回复
6
amwrdfe| | 2012-7-4 12:26 | 只看该作者
1:假设pwm的值是0~100,0对应0%,100对应100%。
2:正弦波周期分为32份,步进角度是360/32
3:正弦的区间值是-1~1,调整为0~100,
4:把采样对应的正弦值用pwm输出,滤除pwm的频率就是正弦波输出。
5:正弦波的频率=pwm频率/32

使用特权

评论回复
7
771364390|  楼主 | 2012-7-4 14:06 | 只看该作者
6# amwrdfe 有没有公式可以算出每一步多少占空比?

使用特权

评论回复
8
amwrdfe| | 2012-7-4 15:37 | 只看该作者
本帖最后由 amwrdfe 于 2012-7-4 15:40 编辑

发现你真的什么都不懂唉。
“4:把采样对应的正弦值用pwm输出,滤除pwm的频率就是正弦波输出。”
这就是你说的占空比,
0度的时候正弦值是0,调整为50,对应占空比是50%。
90度时候正弦值是1,调整为100,对应占空比是100%。
180度的时候正弦值是0,调整为50,对应占空比是50%。
270度的时候正弦值是-1,调整为0,对应占空比是0%
... ...
最后一次回贴.....

使用特权

评论回复
9
771364390|  楼主 | 2012-7-4 16:28 | 只看该作者
8# amwrdfe 呵呵 不好意思,数学不好,学的东西都给回老师了,谢谢你耐心讲解,谢谢:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

12

帖子

2

粉丝