您好, 登录| 注册|
论坛导航
您好, 登录| 注册|
子站:
论坛首页    逆变/光伏/并网
  •  发帖
  • 收藏

今天构思了个程序,stc51单片机除了产生SPWM波形外,再替代掉sg3525
阅读: 9925 |  回复: 44 楼层直达

2013/02/18 19:28:01
1
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

QQ截图20160321155901  【活动进行中……】礼遇感恩节!参与顶楼  免费送仪器

QQ截图20160321155901   【风采汇】参与有奖!获奖作品分享大赛



生成单极性SPWM只用了一个定时器,还剩一个定时器,打算用剩下的这个定时器生成2路互补带死区的PWM波,用于替代sg3525,基本功能和SG3525类似,占空比连续可调。

打算用定时器、中断和指针来实现,用中断来保持实时性,用指针来保存工作状态,

用尽量简洁的语句实现,执行一个中断子程序看看能不能在100纳秒内完成。

尽量避免打扰SPWM波形的生成。

如仿真成功上个图。

标签 PWM SG3525
2013/02/19 09:14:15
2
hnzkwz
电源币:51 | 积分:1 主题帖:20 | 回复帖:502
LV7
旅长
这个有难度
2013/02/19 10:39:42
3
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长
呵呵,看stc的潜力有多大。
2013/02/19 12:02:25
4
Kira
电源币:0 | 积分:0 主题帖:2 | 回复帖:179
LV6
团长
2013/02/19 13:19:18
5
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长
12mhz 51单片机的一个机器周期是1微秒,35mhz 51单片机一个机器周期是0.3微秒,stc比51平均快6倍,平均指令周期是50纳秒,估计有点悬。
2013/02/20 09:31:04
6
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

从仿真的结果来看,这事靠谱,

最早编的一个实验程序,因为spwm脉宽的时间太短只有30个机器周期,所以和推挽的用的pwm脉宽产生冲突,导致两边输出的波形都不稳定,

经过多次实验把spwm的脉宽加大到60个机器周期,推挽用的两路pwm信号改成120机器周期,死区用两个机器周期,用24mhz 51仿真,结果两边的波形都很稳定,当然不能说没有一点干扰,不过能接受。

耗时最短的pwm推挽必须放在最高中断优先级别。

下一步给两路推挽加上反馈,带少许斜坡控制。

一共有两路spwm,两路工频,两路互补推挽,一个51就能跑了。
 

如用增强型51stc指令执行效率平均快6倍估计干扰更小,因为花在加减乘除上的时间更少。

更新:下图是仿真,软件自带的51性能有点弱,将就看,

两路推挽波形通过调节占空比来实现稳压。

图中的SPWM波是随手填的,不是按照sin生成的,直接填1.2.3.4.5.....

 

2013/02/21 02:03:43
7
tinge
电源币:2 | 积分:0 主题帖:3 | 回复帖:53
LV4
连长
建议你还是用 STM32F103 吧,也是几块钱的东西,性能比 STC 强 N 十倍。产生三相 SPWM 25KHz 的脉冲,占空比能轻松精确到 0.04% 以上。用一片 STM32F103 可完成整台纯软件实施的全闭环逆变器。包括软件实现 UCC3895 前级闭环+后级三相调制+全方位的保护,然后还有空闲的 CPU 时间来实现各种显示和通信等等。
2013/02/21 10:37:41
8
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长
已经在买arm的书了,高低搭配,stc也不会放弃,使用51就是因为它简单。
2013/02/21 14:50:23
9
tinge
电源币:2 | 积分:0 主题帖:3 | 回复帖:53
LV4
连长

ARM 有很多体系,低成本的芯片中早期应用最多的是 ARM7TDMI,现在最好是 CM3,所以买书也要买对了。

CM3 的体系比 ARM7TDMI 科学太多了,性价比非常高。我用了十年 51 芯片,早两年开始全面采用 CM3,基本上不用 51 了。

以前用 51,以 C 编程为主,代码重用的机会很低,每次重用以前的代码都需要修改才能用。现在用 CM3,全面使用操作系统,加上 C++ 对象化编程,一次编程调试后,以后基本上拿来即用。

2013/02/21 16:54:57
10
wangshujun
电源币:30 | 积分:0 主题帖:11 | 回复帖:433
LV8
师长

做这种应用放弃古董的51吧

新的arm不仅仅是处理速度和存储容量提升

外设提升才是最大幅度的,丰富的外设使得变成便利程度大幅度提高,软件可靠性也会好很多。

再说了相比于逆变器的总成本,mcu的份额是在是小的可怜,多花一点,换来更快的相应和更好的波形会很划算。

2013/02/22 14:15:33
11
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

今天看了stc的文档仔细算了一下,35mhz的stc比老51 的12mhz快35倍,12mhz的51一个机器周期1微秒,那35mhz的sct一个机器周期就是相当于28纳秒。好像arm的机器周期也是20多纳秒,只不过32位的mcu指令执行效率要高些,一条指令是不是顶8位的几条指令。

假如stc出一款能跑100m晶振的mcu那不是赶超16位的mcu了。要定时器分频多搞几种,定时器多几个,呵呵无敌了。

改天砸个48mhz的晶振上去看看能不能跑。

2013/02/22 16:37:16
12
tinge
电源币:2 | 积分:0 主题帖:3 | 回复帖:53
LV4
连长

不是这样算的,ARM CM3 的外设十分丰富,基本上大部分工作都是硬件实现,另外指令速度很高,例如乘法只需要一个周期。

我用 DMA 处理 SPWM 调制,电压 399 级分辨率、占空比 3600 级分辨率,平均每输出三个脉冲需要 CPU 处理一次,每处理一次大约二十个指令周期。即每秒需要占用 399 / 3 * 20 * 50 = 133000 个指令周期,而 72MHz 的 CM3 第秒可执行 75000000 个指令。可以说 CPU 完全是空转状态。

2013/02/22 18:34:09
13
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

现在正在看mdk4的书和cm0的书还有一本arm电机控制的书。
dma是不是电脑里面的直接内存访问类似的含义?

cm0和cm3有多大差别?尽量从低配置做起。

2013/02/23 22:35:59
14
johnyeungchiho
电源币:0 | 积分:0 主题帖:0 | 回复帖:235
LV5
营长
2013/02/24 10:25:43
15
wangshujun
电源币:30 | 积分:0 主题帖:11 | 回复帖:433
LV8
师长

对于现在单片机的主流工艺来说,内核的价钱几乎都是可以忽略的,从51到cm3差距不到1块钱的。

集成的外设和存储器才是更具有价值的,以stm32f103rct6为例

不算内核仅仅算集成的资源:

3个最大20路输入的12位ad,速度达到1msps

2个12为的da,速度1msps

10个以上的定时器,其中1和8可以出3对互补的波形,带刹车信号,2345有4路输入或输出,简单说可以输出超过20路不同频率任意占空比的pwm。或者用来捕获pwm也可以

串口应该是5个

can接口1个

硬件spi2个,速度可以达到36兆的

flash有256k,ram有20k

还有dma支持最大14路,可以实现内存到外设或者反过来的自动连续操作

这一款芯片现在零售不过是16块左右,想想单独购买能买到这些外设的1/3不?


2013/05/15 18:07:28
18
ker304
电源币:31 | 积分:3 主题帖:2 | 回复帖:47
LV4
连长

弱弱的问一句,本人有 51+C 基础,以前一直使用C8051的片子。貌似外设也相当的多,据自己称呼为独立的片上系统。

不知51与CM3有何本质上的区别(除了位数X4以外),学习起来是否容易?应该从何处下手?没有C++基础使用ARM 操作系统是否会有困难?还请不吝赐教!

2013/05/17 15:31:28
19
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

51的优势就是编程简单,出产品快,arm要出产品要比51难10倍。
这点是无可否认的。

2013/05/17 16:23:54
20
wangshujun
电源币:30 | 积分:0 主题帖:11 | 回复帖:433
LV8
师长

入门难一些,不代表完成起来就更难

用arm,原本用51需要各种技巧的东西,arm轻松就解决的,对于逆变的死去产生,绝大多数51 都是需要技巧的,但是大多数arm都直接支持了。

2013/02/24 22:54:22
16
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长

stc 48Mhz已经跑起来了,正在测试稳定性,在ARM熟悉之前STC还要大力钻研。

SPWM和前级互补脉冲已经出来了,正在调试前级的反馈。


更新:前级脉冲40K占空比可调,脉宽调到最小后可关闭输出,但是两路最大占空比还是不够大只有80%多,真是对主频的要求越来越强烈了。

后级H桥也可调压。

48M晶振的STC对线路的要求相对严格,电路用洞洞板搭的,没什么特别,但是0插拔力插座有时候没插稳会出现不稳定现象,要重新插拔一下。

48M晶振的好处就是能把载波推高到20K,不过我觉得16K就差不多了。

2013/02/25 19:57:10
17
loudianxin
电源币:0 | 积分:0 主题帖:21 | 回复帖:295
LV7
旅长

关注一下!!

2013/08/21 10:42:05
21
lgxixi
电源币:0 | 积分:0 主题帖:1 | 回复帖:145
LV5
营长
LZ最近搞得怎么样了,关注+支持!
2013/10/02 14:45:31
22
westkinger
电源币:23 | 积分:0 主题帖:19 | 回复帖:22
LV4
连长
经过大半年的学习,stm32 M3的水平基本上和使用stc 51的水平差不多了,现在已经把大部分51的程序移植到ARM里面了,ARM的优点就是算乘除法比STC快很多,所以我用软件做出来的程序波形更好了。ARM的入门很难,但是过了某些拐点进步就很快了。
2013/11/19 14:43:37
23
mways
电源币:0 | 积分:0 主题帖:0 | 回复帖:1
LV1
士兵
请问:用普通的ARM(例如 NXP/LPC2103)就可以生成SVPWM吗?需要FPGA配合吗?实现起来跟TI的DSP有什么区别呢?
2016/02/04 11:54:22
24
tnyq1314
电源币:0 | 积分:0 主题帖:0 | 回复帖:1
LV1
士兵
真不错
2016/02/04 20:41:46
25
若不A烦
电源币:0 | 积分:3 主题帖:0 | 回复帖:2
LV1
士兵

有用么?

2016/02/04 22:23:34
26
我系河边草
电源币:3 | 积分:1 主题帖:26 | 回复帖:186
LV6
团长
123456789
2016/02/05 07:49:40
27
lingyan[实习版主]
电源币:1535 | 积分:34 主题帖:19 | 回复帖:1191
LV8
师长
支持楼主
2016/02/05 14:32:56
28
世纪逆变
电源币:43 | 积分:13 主题帖:24 | 回复帖:310
LV8
师长
楼主人才也
2016/02/05 16:20:28
29
p6564171
电源币:0 | 积分:0 主题帖:2 | 回复帖:13
LV3
排长
回复?
2016/02/06 16:46:24
30
斌彬科技
电源币:0 | 积分:3 主题帖:0 | 回复帖:1
LV1
士兵
看看
2016/02/06 17:48:38
31
45280
电源币:27 | 积分:0 主题帖:20 | 回复帖:47
LV5
营长
本身就有PWM模块和PCA模块
2016/02/07 22:12:28
32
zp33
电源币:0 | 积分:0 主题帖:0 | 回复帖:12
LV2
班长
回复1贴 后可查看该帖
2016/02/08 14:00:50
33
gl088
电源币:7 | 积分:0 主题帖:4 | 回复帖:40
LV3
排长
替代掉sg3525
2016/02/08 17:23:05
34
zcq760622
电源币:0 | 积分:0 主题帖:2 | 回复帖:32
LV4
连长
看看。学习学习。
2016/02/10 20:31:52
35
super123
电源币:0 | 积分:0 主题帖:0 | 回复帖:8
LV1
士兵
2016/02/12 22:35:32
36
非凡科技2008
电源币:0 | 积分:3 主题帖:2 | 回复帖:17
LV2
班长
学习学习高手的方式方法
2016/02/13 20:18:04
37
斯太尔
电源币:20 | 积分:0 主题帖:8 | 回复帖:66
LV4
连长
2016/02/15 11:33:44
38
伟文
电源币:0 | 积分:0 主题帖:10 | 回复帖:127
LV5
营长
赞一个
2016/02/15 21:10:37
39
lls@67
电源币:0 | 积分:0 主题帖:2 | 回复帖:27
LV3
排长

好想学习一下

2016/02/16 11:30:54
40
飞L翔
电源币:0 | 积分:3 主题帖:0 | 回复帖:16
LV2
班长
  学习。。
2016/02/16 13:41:41
41
挑战者
电源币:34 | 积分:0 主题帖:11 | 回复帖:153
LV5
营长
赞一个
2016/02/17 03:40:08
42
tri4123
电源币:25 | 积分:0 主题帖:0 | 回复帖:232
LV5
营长
2019/04/08 15:34:28
43
P50814027
电源币:0 | 积分:3 主题帖:0 | 回复帖:5
LV1
士兵

老哥  我也是用STC8A8K做一个推挽升压然后全桥逆变的电路,其中推挽的PWM为两路互补45%占空比,全桥逆变两路50HZ工频,剩下的两路直接输出SPWM信号,但是我总是做的有问题,能否帮忙看下哪里出现问题了啊?

2019/04/18 09:18:43
44
Nivans
电源币:0 | 积分:3 主题帖:7 | 回复帖:10
LV2
班长
你做出来没,用STC15系列加上48M晶振。有没有闭环控制?
2019/10/30 22:01:45
45
WXX
电源币:0 | 积分:1 主题帖:4 | 回复帖:17
LV3
排长
直接用STC15系列中带SPWM波的
客服热线
服务时间:周一至周五9:00-18:00
微信关注
免费技术研讨会
获取一手干货分享

互联网违法不良信息举报

Reporting Internet Illegal and Bad Information
editor@netbroad.com
400-003-2006