OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5654|回复: 13

用STM32做相位相差180的SPWM

[复制链接]

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
发表于 2016-7-21 17:16:05 | 显示全部楼层 |阅读模式
2金钱
各位大虾,本人用的STM32F103RB产生两路SPWM,TIM1产生PWM,利用TIM2中断,更改PWM的占空比,
我定义了一个数组用来存放占空比值,这些数据是我从一个软件上得到的,
u16  Sin_Table[128]={0x80,0x86,0x8C,0x93,0x99,0x9F,0xA5,0xAB,0xB1,0xB6,
0xBC,0xC1,0xC7,0xCC,0xD1,0xD5,0xDA,0xDE,0xE2,0xE6,
0xEA,0xED,0xF0,0xF3,0xF5,0xF8,0xFA,0xFB,0xFD,0xFE,
0xFE,0xFF,0xFF,0xFF,0xFE,0xFE,0xFD,0xFB,0xFA,0xF8,
0xF5,0xF3,0xF0,0xED,0xEA,0xE6,0xE2,0xDE,0xDA,0xD5,
0xD1,0xCC,0xC7,0xC1,0xBC,0xB6,0xB1,0xAB,0xA5,0x9F,
0x99,0x93,0x8C,0x86,0x80,0x7A,0x74,0x6D,0x67,0x61,
0x5B,0x55,0x4F,0x4A,0x44,0x3F,0x39,0x34,0x2F,0x2B,
0x26,0x22,0x1E,0x1A,0x16,0x13,0x10,0x0D,0x0B,0x08,
0x06,0x05,0x03,0x02,0x02,0x01,0x01,0x01,0x02,0x02,
0x03,0x05,0x06,0x08,0x0B,0x0D,0x10,0x13,0x16,0x1A,
0x1E,0x22,0x26,0x2B,0x2F,0x34,0x39,0x3F,0x44,0x4A,
0x4F,0x55,0x5B,0x61,0x67,0x6D,0x74,0x7A,};

但是我中断服务函数写的不对,导致两路波形出来的是同相的SPWM波形,

void TIM2_IRQHandler(void)//¶¨ê±Æ÷ÖD¶Ïoˉêy
{   
        if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)         //ÅD¶ÏêÇ·ñ¶¨ê±ÖD¶Ï
        {
        i=0;
        if(a==64)a=0;
        TIM1->CCR1=Sin_Table[a];
        TIM1->CCR2=Sin_Table[a+64];
        a++;
    }
        TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update);//±ØDëÇå3yÖD¶Ï±ê־λ·ñÔòò»Ö±ÖD¶Ï
}       

才学STM32,很多不明白,求个各位大虾指点。


最佳答案

查看完整内容[请看2#楼]

问题已解决了,最近在弄项目,等搞完,整理好程序再与大家分享
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
 楼主| 发表于 2016-8-30 15:43:52 | 显示全部楼层
多谢论坛其他朋友的分享,综合整理实现效果的程序已上传

SPWM.zip

7.03 KB, 下载次数: 776

回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
 楼主| 发表于 2016-7-21 17:16:06 | 显示全部楼层
问题已解决了,最近在弄项目,等搞完,整理好程序再与大家分享
回复

使用道具 举报

17

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2014-3-2
在线时间
30 小时
发表于 2016-7-24 21:42:57 | 显示全部楼层
这个你检查一下你那个软件,也可能是那个数据表生成的有问题,我之前也是下载一个软件生成正弦函数的数据表,发现半波之间有问题,顺便方便的话把你这个软件给我看看 我需要14位数据的 扣扣:911846599谢谢
回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
 楼主| 发表于 2016-7-26 16:36:43 | 显示全部楼层
襟湿容颜 发表于 2016-7-24 21:42
这个你检查一下你那个软件,也可能是那个数据表生成的有问题,我之前也是下载一个软件生成正弦函数的数据表 ...

这个软件挺好用的,可以自己设计一些参数,还能看到模拟波形

spwm_calc_v1.3.2.rar

167.66 KB, 下载次数: 633

正弦波生成工具

回复

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-7-22
在线时间
56 小时
发表于 2016-7-26 21:01:50 | 显示全部楼层
用TIM1和TIM8 高级定时器 自动生成互补SPWM 还可以设置死区
回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
 楼主| 发表于 2016-7-29 10:19:10 | 显示全部楼层
我用的就是TIM1,可以自己设置死区,是我没描述清楚,我是需要输出两路相位相差180的SPWM,用来做开关电源的控制信号,互补的SPWM我已经做出来了,只是之前纠结于怎么调相位,不过还是谢谢你的建议
回复

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-23
在线时间
35 小时
发表于 2016-8-21 16:30:10 | 显示全部楼层
能给份程序吗
回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2016-7-19
在线时间
46 小时
 楼主| 发表于 2016-8-30 15:39:36 | 显示全部楼层

程序已上传,可自行下载
回复

使用道具 举报

10

主题

147

帖子

0

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2015-7-11
在线时间
94 小时
发表于 2016-12-1 09:08:52 | 显示全部楼层
谢谢分享!!
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2016-5-20
在线时间
25 小时
发表于 2016-12-1 13:48:14 | 显示全部楼层
载波和调制波,规则采样法。单极倍频SPWM的话,
两个占空比:
D1=0.5f*(1+Sine_128table[i]);
D2=0.5f*(1-Sine_128table[i]);
这样就行了
回复

使用道具 举报

19

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2016-10-30
在线时间
18 小时
发表于 2017-5-14 17:21:41 | 显示全部楼层
悄悄DE走 发表于 2016-8-30 15:43
多谢论坛其他朋友的分享,综合整理实现效果的程序已上传

楼主,这个spwm程序输出的spwm波频率的计算公式是啥?是72000/(7500/hz_factor)么?改了hz_factor的值示波器测出来发现与计算出来的不一致
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-7-14
在线时间
5 小时
发表于 2019-8-6 12:39:40 | 显示全部楼层
谢谢楼主,我最近在做三相逆变,刚好需要改相位角。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2019-9-8
在线时间
0 小时
发表于 2019-9-8 11:50:27 | 显示全部楼层
xie xie
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 20:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表