OpenEdv-开源电子网

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

SPWM逆变电源

[复制链接]

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2014-10-22
在线时间
0 小时
发表于 2015-5-17 13:25:44 | 显示全部楼层 |阅读模式
参考原子代码写的,感谢一直以来大家的帮助
IR2110+IRF3205+SPWM

单相正弦波变频电源.rar

2.65 MB, 下载次数: 8255

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-9-2
在线时间
59 小时
发表于 2017-8-3 16:33:53 | 显示全部楼层
咦~萌新又回来了。今天通过学习了解了基波。载波。还有正弦表。定时器中断频率,(72M/8000)-1也就是8K,取了400个点,也就是8000/400=20HZ 通过按键改变freq,例如freq+400,是不是也还得按(72M/8400)-1然后再除以400,就得到正弦波的频率是21.18HZ,注解中//sin频率 = freq/400,咦~有点不是很清楚。还有还有,Period_percent = ((SystemCoreClock / freq) - 1) / 32767.0;这句话也不是很了解。我再看看,等下再来回帖子。
回复 支持 1 反对 0

使用道具 举报

10

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2019-2-12
在线时间
36 小时
发表于 2019-4-20 18:31:01 | 显示全部楼层
xuebingsucceed 发表于 2018-4-12 15:40
32767解释:程序中有注释:占空比为32767-spwm)/32767 = 1-(period*spwm)/period;spwm的生成:400个点 ...

谢谢                           
回复 支持 1 反对 0

使用道具 举报

10

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-10-31
在线时间
34 小时
发表于 2015-5-17 15:18:08 | 显示全部楼层
里面的小软件不错
回复 支持 反对

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
700
金钱
700
注册时间
2014-8-17
在线时间
164 小时
发表于 2015-5-17 22:48:52 | 显示全部楼层
坐等楼主上实物图
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-17 23:27:46 | 显示全部楼层
不错,谢谢分享。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2014-10-22
在线时间
0 小时
 楼主| 发表于 2015-5-18 22:40:27 | 显示全部楼层
回复【3楼】保夫鲁沙:
---------------------------------
隔了有一段时间了,做出来就是纹波比较大,应该是滤波器的问题
回复 支持 反对

使用道具 举报

48

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2015-4-6
在线时间
3 小时
发表于 2015-6-4 20:07:06 | 显示全部楼层
谢谢楼主。
 eriod_percent = ((SystemCoreClock / (freq)) - 1) / 32767.0;
请教一下,为什么程序中的这句,除以32767.0。
32767是什么意思,怎么理解。
回复 支持 反对

使用道具 举报

0

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2012-9-14
在线时间
60 小时
发表于 2015-9-18 20:26:18 | 显示全部楼层
谢谢楼主。 
 eriod_percent = ((SystemCoreClock / (freq)) - 1) / 32767.0; 
请教一下,为什么程序中的这句,除以32767.0。 
32767是什么意思,怎么理解。
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5756
金钱
5756
注册时间
2016-2-26
在线时间
551 小时
发表于 2016-2-26 16:49:16 | 显示全部楼层
坐等楼主上实物图。谢谢分享。
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2015-3-11
在线时间
3 小时
发表于 2016-5-7 12:52:42 | 显示全部楼层
谢谢分享,楼主做出实物了么?
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-6-7
在线时间
1 小时
发表于 2016-6-7 16:43:20 | 显示全部楼层
呵呵,实物还是我来做,PCB设计不是问题,问题是代码不能很好理解,
回复 支持 反对

使用道具 举报

3

主题

72

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1305
金钱
1305
注册时间
2015-12-3
在线时间
160 小时
发表于 2016-7-26 19:34:06 | 显示全部楼层
回复标记下
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-9-17
在线时间
10 小时
发表于 2017-7-28 21:09:27 | 显示全部楼层
谢谢楼主,可以交流
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-9-2
在线时间
59 小时
发表于 2017-8-2 21:20:56 | 显示全部楼层
我也是从电力电子的书上接触了SPWM,刚开始学习,看完楼主的程序,作为萌新想请教:
①这里是因为定时器中断频率为8KHZ,而一个周期中采400个点,也就是一个周期里面改变400次占空比,所以改变占空比的频率是8000/400=20HZ,这个20HZ是不是就是基波的频率?(基波呀,这个是在度娘那里看来的,我也有疑惑)
②这里的基波是不是我们要的正弦波?
③我想请教下Period_percent = ((SystemCoreClock / freq) - 1) / 32767.0;怎么解读
④调频是不是就可以调压那些咯?
⑤还有很多问题,嘻嘻,希望跟大家一起讨论下

回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-9-2
在线时间
59 小时
发表于 2017-8-2 21:31:44 | 显示全部楼层
嘻嘻。一个个试了。发现是精度位15 采样数400的正弦全波值,萌新刚刚起步
回复 支持 反对

使用道具 举报

7

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2761
金钱
2761
注册时间
2017-5-17
在线时间
430 小时
发表于 2017-8-2 22:30:09 | 显示全部楼层
给实物看看就好了。。。
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2017-2-21
在线时间
10 小时
发表于 2017-8-3 20:18:50 | 显示全部楼层
谢谢分享呀
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-8-6
在线时间
2 小时
发表于 2017-8-6 23:01:03 | 显示全部楼层
33767怎么理解???大神,求助
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-8-6
在线时间
2 小时
发表于 2017-8-6 23:02:18 | 显示全部楼层
打错了,32767..
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-3-4
在线时间
8 小时
发表于 2018-4-12 15:40:53 | 显示全部楼层
32767解释:程序中有注释:占空比为32767-spwm[i])/32767 = 1-(period*spwm[i])/period;spwm[i]的生成:400个点,精度15,2^15= 32767
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2018-7-12
在线时间
9 小时
发表于 2018-7-21 09:48:37 | 显示全部楼层
mark 楼主很赞
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-7-18
在线时间
2 小时
发表于 2018-7-22 09:42:10 | 显示全部楼层
为什么我用这个代码测出来的是方波?
回复 支持 反对

使用道具 举报

9

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-14
在线时间
17 小时
发表于 2018-7-23 20:53:50 | 显示全部楼层
在spwm.c文件里有一段
if(i == 401)  //一周期采样400个点   
                        {
                                i = 0;
                        }
C语言中如果定义一个arr[400],长的为400的数组,那么使用的时候只能到arr[0]--arr[399],也就是说这里数组越界了。401应该改为400
玩了stm32快十天了,感觉好折磨人啊。楼主的程序还没有完全看懂,不过我觉得写得很好,有一定的水平。等下发帖提问,定时器部分有点小复杂。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2018-10-22
在线时间
32 小时
发表于 2018-11-18 14:32:43 | 显示全部楼层
能否把原理图分享下
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-10-28
在线时间
7 小时
发表于 2018-11-18 15:09:47 | 显示全部楼层
不错,谢谢分享。
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2085
金钱
2085
注册时间
2012-5-8
在线时间
312 小时
发表于 2019-3-27 09:32:17 | 显示全部楼层
赞一个 写的不错
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2019-4-24
在线时间
0 小时
发表于 2019-4-24 19:27:56 | 显示全部楼层
奔跑的电信猪 发表于 2017-8-3 16:33
咦~萌新又回来了。今天通过学习了解了基波。载波。还有正弦表。定时器中断频率,(72M/8000)-1也就是8K,取 ...

Period_percent = ((SystemCoreClock / freq) - 1) / 32767.0 这个你搞清楚了吗? 我也不太懂
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2019-2-27
在线时间
23 小时
发表于 2019-4-25 19:10:15 | 显示全部楼层
请问楼主,主函数里面 key == 1;和 key == 2;分别代表的是键盘的哪几个按键,如果要修改按键怎么修改
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2019-2-27
在线时间
23 小时
发表于 2019-4-27 15:05:25 | 显示全部楼层
Simonap 发表于 2019-4-25 19:10
请问楼主,主函数里面 key == 1;和 key == 2;分别代表的是键盘的哪几个按键,如果要修改按键怎么修改

我自己尝试的按照mini版本的引脚去修改之后可以控制,把key.h、key.c里面的文件改成和原子提供按键输入实验的按键就可以用了。
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2019-2-27
在线时间
23 小时
发表于 2019-5-17 21:07:42 | 显示全部楼层
楼主,按照原子哥的例程输出应该是72M/8K=9KHZ,为什么会显示8000/400=20HZ?还有定时器的中断是直接看的吗?不用用72M时钟频率来除吗?
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2019-4-11
在线时间
16 小时
发表于 2019-5-20 21:09:52 | 显示全部楼层
Simonap 发表于 2019-5-17 21:07
楼主,按照原子哥的例程输出应该是72M/8K=9KHZ,为什么会显示8000/400=20HZ?还有定时器的中断是直接看的吗 ...

你懂了吗,我还不懂
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2019-2-27
在线时间
23 小时
发表于 2019-5-21 09:58:45 | 显示全部楼层
安若少年 发表于 2019-5-20 21:09
你懂了吗,我还不懂

没有啊,等一个大神来搭救吾等萌新
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-7-5
在线时间
18 小时
发表于 2019-5-24 12:06:31 | 显示全部楼层
好几年过去了,不知道这个东西最新进展如何
回复 支持 反对

使用道具 举报

4

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2018-6-27
在线时间
45 小时
发表于 2019-7-4 13:17:39 | 显示全部楼层
感谢,虚心学习
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-7-5
在线时间
0 小时
发表于 2019-7-6 15:54:01 | 显示全部楼层
请问这个程序SPWM波的两个输出i/o口在哪里
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-7-5
在线时间
0 小时
发表于 2019-7-7 11:32:37 | 显示全部楼层
请问这个程序SPWM波的输出口是哪个
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-7-9
在线时间
5 小时
发表于 2019-7-9 11:14:19 | 显示全部楼层
谢谢,学习下
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-7-18
在线时间
5 小时
发表于 2019-7-18 22:50:43 | 显示全部楼层
谢谢大佬
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-23
在线时间
5 小时
发表于 2019-7-23 10:10:04 | 显示全部楼层
dzkd001 发表于 2015-5-18 22:40
回复【3楼】保夫鲁沙:
---------------------------------
隔了有一段时间了,做出来就是纹波比较大,应该 ...

你加一个π型滤波器试试看
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-23
在线时间
5 小时
发表于 2019-7-23 10:11:38 | 显示全部楼层
bigsun 发表于 2019-7-7 11:32
请问这个程序SPWM波的输出口是哪个

定时器1产生2路互补的PWM波(频率=pfreq / (psc+1))
*          channel1 ,channel2 -->A.8, A.9       
                        channel1N,channel2N-->B.13, B.14 (互补)
程序里面已经说明了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-7-17
在线时间
3 小时
发表于 2019-7-23 14:31:08 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2019-7-5
在线时间
9 小时
发表于 2019-7-23 18:29:30 | 显示全部楼层
鱼 发表于 2015-5-17 15:18
里面的小软件不错

可以教一下怎么使用吗?我小白一个
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-23
在线时间
5 小时
发表于 2019-7-23 21:55:41 | 显示全部楼层
dzkd001 发表于 2015-5-18 22:40
回复【3楼】保夫鲁沙:
---------------------------------
隔了有一段时间了,做出来就是纹波比较大,应该 ...

你好,我可以加一下你QQ吗?或者你加我一下,QQ717014024,有几个不懂的地方想请教一下你!!!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-7-17
在线时间
13 小时
发表于 2019-7-25 16:56:00 来自手机 | 显示全部楼层
感谢,输出正弦波了,值得学习
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-7-3
在线时间
16 小时
发表于 2019-7-26 17:55:14 | 显示全部楼层
值得学习
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-7-27
在线时间
3 小时
发表于 2019-7-27 11:46:44 | 显示全部楼层
值得学习
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-7-12
在线时间
9 小时
发表于 2019-8-2 15:41:41 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-3-23
在线时间
9 小时
发表于 2019-8-4 09:56:42 | 显示全部楼层
奔跑的电信猪 发表于 2017-8-2 21:31
嘻嘻。一个个试了。发现是精度位15 采样数400的正弦全波值,萌新刚刚起步

请问如何看出精度是15呀
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2019-8-4
在线时间
1 小时
发表于 2019-8-4 10:30:46 | 显示全部楼层
谢谢楼主慷慨解囊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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