• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

自主研发SPWM发生器芯片的开发过程

正弦波逆变器和变频器产品上经常需要产生SPWM,目前产生SPWM的方法主要有,微处理器法; 正弦波振荡电路+锯齿波产生电路+比较器 ;正弦波振荡电路+D类功放;专用芯片法.但是它们不是电路复杂需调整点多,就是价格昂贵.
鉴于此,我试着利用单位的一些设备,开发了一种SPWM发生器芯片(单相),其结构框图如下:

它采用全CMOS结构,工作电压范围2.5-3.6V,静态时仅5uA,可以同时输出SPWM和模拟量,8bit输出精度,SPWM输出频率是osc的4倍,可以通过调整osc调整输出正弦波频率,通过A1到A8选择输出不同幅度的正弦波(以及它的SPWM),并且过零切换.
应用电路如下:

SPWM输出频率可达100KHz
现在已经在样品测试阶段,估计成品价在25元左右(32个幅度)38元(250个幅度)
全部回复(59)
正序查看
倒序查看
hbzjcjw
LV.10
2
2006-12-15 18:29
就是个单片机写个程序,吴淞口何必说这么多
0
回复
zst_neil
LV.3
3
2006-12-15 22:29
@hbzjcjw
就是个单片机写个程序,吴淞口何必说这么多
单片机要到发生SPWM到100KHz,很不容易,所以我将这些用一个20脚的芯片硬件完成(不需编程)
0
回复
hbzjcjw
LV.10
4
2006-12-15 23:34
@zst_neil
单片机要到发生SPWM到100KHz,很不容易,所以我将这些用一个20脚的芯片硬件完成(不需编程)
用到100KHZ没必要,20K是最佳值.
你把程序编好了写进去不就不需要编程了
0
回复
zst_neil
LV.3
5
2006-12-16 00:38
@hbzjcjw
用到100KHZ没必要,20K是最佳值.你把程序编好了写进去不就不需要编程了
我手头有PIC单片机的SPWM发生器资料,就算20KHz的SPWM,也只有6个周期改变一次,以50HZ纯正弦波为例精度只有5bit,而我的芯片每个周期都可以变化,精度8bit.并且我的芯片可以支持不同频率的工频和中频SPWM,精度可以同样保持8bit.
  随后我将会将测试的过程照片发到网上,与大家分享,如果有满意的测试结果,我将免费提供样品,同大家共同探讨
0
回复
pudafu1
LV.4
6
2006-12-16 10:19
@zst_neil
我手头有PIC单片机的SPWM发生器资料,就算20KHz的SPWM,也只有6个周期改变一次,以50HZ纯正弦波为例精度只有5bit,而我的芯片每个周期都可以变化,精度8bit.并且我的芯片可以支持不同频率的工频和中频SPWM,精度可以同样保持8bit.  随后我将会将测试的过程照片发到网上,与大家分享,如果有满意的测试结果,我将免费提供样品,同大家共同探讨
关注!!等着您的好消息.到时别忘了我!
  pudafu1@163.com
0
回复
mauilk
LV.4
7
2006-12-16 11:37
@zst_neil
我手头有PIC单片机的SPWM发生器资料,就算20KHz的SPWM,也只有6个周期改变一次,以50HZ纯正弦波为例精度只有5bit,而我的芯片每个周期都可以变化,精度8bit.并且我的芯片可以支持不同频率的工频和中频SPWM,精度可以同样保持8bit.  随后我将会将测试的过程照片发到网上,与大家分享,如果有满意的测试结果,我将免费提供样品,同大家共同探讨
但愿你能成功,可以和大家一起分享!
0
回复
zst_neil
LV.3
8
2006-12-16 15:11
芯片外型:
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166252871.jpg');}" onmousewheel="return imgzoom(this);">
左边的DIP24是250个幅度
右边的DIP20是32个幅度
0
回复
zst_neil
LV.3
9
2006-12-18 12:18
@zst_neil
芯片外型:[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166252871.jpg');}"onmousewheel="returnimgzoom(this);">左边的DIP24是250个幅度右边的DIP20是32个幅度
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166415209.jpg');}" onmousewheel="return imgzoom(this);">
这是测试线路,测试SPWM的产生,和正弦波形的比较,以及过零点变化幅度
0
回复
zst_neil
LV.3
10
2006-12-18 16:44
@zst_neil
芯片外型:[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166252871.jpg');}"onmousewheel="returnimgzoom(this);">左边的DIP24是250个幅度右边的DIP20是32个幅度
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166431319.jpg');}" onmousewheel="return imgzoom(this);">
这是正弦信号输出点的波形
0
回复
zst_neil
LV.3
11
2006-12-18 16:53
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431319.jpg');}"onmousewheel="returnimgzoom(this);">这是正弦信号输出点的波形
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166431818.jpg');}" onmousewheel="return imgzoom(this);">500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166431955.jpg');}" onmousewheel="return imgzoom(this);">
下半周和上半周的SPWM
0
回复
mauilk
LV.4
12
2006-12-18 18:23
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431818.jpg');}"onmousewheel="returnimgzoom(this);">[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431955.jpg');}"onmousewheel="returnimgzoom(this);">下半周和上半周的SPWM
请问你是在哪的?
0
回复
fj828
LV.5
13
2006-12-19 08:55
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431818.jpg');}"onmousewheel="returnimgzoom(this);">[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431955.jpg');}"onmousewheel="returnimgzoom(this);">下半周和上半周的SPWM
密切关注中!
0
回复
zst_neil
LV.3
14
2006-12-19 10:03
@mauilk
请问你是在哪的?
重庆
0
回复
zst_neil
LV.3
15
2006-12-19 10:17
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431319.jpg');}"onmousewheel="returnimgzoom(this);">这是正弦信号输出点的波形
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166494389.jpg');}" onmousewheel="return imgzoom(this);">
这是细部特征
0
回复
zst_neil
LV.3
16
2006-12-19 10:32
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166494389.jpg');}"onmousewheel="returnimgzoom(this);">这是细部特征
由于限度SPWM的频率为20KHz,OSC必须为为5KHz,所以呈阶梯壮,半周期阶梯数为200,如果提高SPWM的频率到25.6k以上将达8bit,(256阶梯数/半周期)
0
回复
2006-12-19 11:12
要达到较高动态性能,关键是反馈控制速度和精度,能问一下你是如何处理的吗?
0
回复
zst_neil
LV.3
18
2006-12-19 11:57
@xzszrs
要达到较高动态性能,关键是反馈控制速度和精度,能问一下你是如何处理的吗?
幅度控制是通过在A1-A8上给不同的地址产生不同幅度,输出精度目前为32或250(当然可以作成非线性的),后面的实验将做关于幅度变化,至于反馈取样采集则不是本芯片所能够完成的,需要其他电路来完成
0
回复
2006-12-19 14:35
@zst_neil
幅度控制是通过在A1-A8上给不同的地址产生不同幅度,输出精度目前为32或250(当然可以作成非线性的),后面的实验将做关于幅度变化,至于反馈取样采集则不是本芯片所能够完成的,需要其他电路来完成
我想,如能在一定范围内控制输出电压,而不是开环从0到最大控制输出电压更能有效地应用有限的控制精度数.控制的下限可设定为开环工做在最低输入电压且是额定负载时,此时需要要的去调制三角波的正弦信号的幅度为V1,对应调制度为M1;控制的上限可设定为开环工做在最高输入电压且是空载时,此时需要要的去调制三角波的正弦信号的幅度为V2,对应调制度为M2.在M1到M2之间设32/250个精度数.例如,输入DC12V,输出AC220V功率500W工频正弦波逆变系统中,控制的上限为输入10.5V,开环输出220V/500W,此时对应调制度为M1(最大值,设为0.95),控制的下限为输入13.5V,开环输出300V/0W,此时要调整到额定220V对应调制度为M2(最小值,设为0.75),则系统控制范围为300V-220V=80V,对应调制度为0.95-0.75=0.2就够了,如果控制精度数为32,则控制精度为80/32=2.5V,稳压精度为2.5V/220V=1.14%,或者说稳压精度为220V+-2.5V
    这种控制方法怎样?
0
回复
zst_neil
LV.3
20
2006-12-19 15:23
@xzszrs
我想,如能在一定范围内控制输出电压,而不是开环从0到最大控制输出电压更能有效地应用有限的控制精度数.控制的下限可设定为开环工做在最低输入电压且是额定负载时,此时需要要的去调制三角波的正弦信号的幅度为V1,对应调制度为M1;控制的上限可设定为开环工做在最高输入电压且是空载时,此时需要要的去调制三角波的正弦信号的幅度为V2,对应调制度为M2.在M1到M2之间设32/250个精度数.例如,输入DC12V,输出AC220V功率500W工频正弦波逆变系统中,控制的上限为输入10.5V,开环输出220V/500W,此时对应调制度为M1(最大值,设为0.95),控制的下限为输入13.5V,开环输出300V/0W,此时要调整到额定220V对应调制度为M2(最小值,设为0.75),则系统控制范围为300V-220V=80V,对应调制度为0.95-0.75=0.2就够了,如果控制精度数为32,则控制精度为80/32=2.5V,稳压精度为2.5V/220V=1.14%,或者说稳压精度为220V+-2.5V    这种控制方法怎样?
很好呀,18贴中我提到的非线性就是这种方法,将需要调整范围确定分成32或250份,如果是250个幅度的按你的例子80/250=0.32 即精度为0.32/220=0.14%或220V+_0.32.
   这个芯片内部EPROM部分是可以定制波形压缩数据(不过必须通过我们才可以)包括幅度,形状
0
回复
zst_neil
LV.3
21
2006-12-19 15:40
@xzszrs
我想,如能在一定范围内控制输出电压,而不是开环从0到最大控制输出电压更能有效地应用有限的控制精度数.控制的下限可设定为开环工做在最低输入电压且是额定负载时,此时需要要的去调制三角波的正弦信号的幅度为V1,对应调制度为M1;控制的上限可设定为开环工做在最高输入电压且是空载时,此时需要要的去调制三角波的正弦信号的幅度为V2,对应调制度为M2.在M1到M2之间设32/250个精度数.例如,输入DC12V,输出AC220V功率500W工频正弦波逆变系统中,控制的上限为输入10.5V,开环输出220V/500W,此时对应调制度为M1(最大值,设为0.95),控制的下限为输入13.5V,开环输出300V/0W,此时要调整到额定220V对应调制度为M2(最小值,设为0.75),则系统控制范围为300V-220V=80V,对应调制度为0.95-0.75=0.2就够了,如果控制精度数为32,则控制精度为80/32=2.5V,稳压精度为2.5V/220V=1.14%,或者说稳压精度为220V+-2.5V    这种控制方法怎样?
当然如果你只想利用它的模拟输出,也是可以的,但是因为它已经有SPWM输出通过电平转换和驱动电路(如IR2111)可以直接驱动H桥,如果不用的话,有点背离我设计的初衷
0
回复
2006-12-19 16:09
@zst_neil
当然如果你只想利用它的模拟输出,也是可以的,但是因为它已经有SPWM输出通过电平转换和驱动电路(如IR2111)可以直接驱动H桥,如果不用的话,有点背离我设计的初衷
错了,我想你是否要集成我这种思路,而我只要输入给IC一个电压取样值就行了.IC就会根据电压取样值调用最合适的调制度把输出电压稳定在和额定输出电压最接近的电压上.
0
回复
zst_neil
LV.3
23
2006-12-19 16:19
@xzszrs
错了,我想你是否要集成我这种思路,而我只要输入给IC一个电压取样值就行了.IC就会根据电压取样值调用最合适的调制度把输出电压稳定在和额定输出电压最接近的电压上.
现在情况是,如果我加上比较器和编码器或者单片机,芯片成本和体积会大幅度提高,如果我这个IC能够完全成功的话,我会考虑做一个包括取样,保护,控制的模块
    不过,我还是要感谢你的热心! 谢谢!
0
回复
2006-12-19 16:25
@zst_neil
现在情况是,如果我加上比较器和编码器或者单片机,芯片成本和体积会大幅度提高,如果我这个IC能够完全成功的话,我会考虑做一个包括取样,保护,控制的模块    不过,我还是要感谢你的热心!谢谢!
祝你早日成功!
0
回复
zst_neil
LV.3
25
2006-12-19 16:36
@xzszrs
祝你早日成功!
谢谢!希望继续关注我后面的实验
0
回复
2006-12-19 16:46
@zst_neil
谢谢!希望继续关注我后面的实验
一定.
0
回复
668815
LV.5
27
2006-12-19 16:58
@zst_neil
由于限度SPWM的频率为20KHz,OSC必须为为5KHz,所以呈阶梯壮,半周期阶梯数为200,如果提高SPWM的频率到25.6k以上将达8bit,(256阶梯数/半周期)
但愿你能成功,完成后,发一完整的电路图和大家一起分享!
0
回复
zst_neil
LV.3
28
2006-12-20 13:38
@zst_neil
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/48/1166431319.jpg');}"onmousewheel="returnimgzoom(this);">这是正弦信号输出点的波形
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166592640.jpg');}" onmousewheel="return imgzoom(this);">
这是幅度由70%到100%,第一个周期有一点失真
0
回复
zst_neil
LV.3
29
2006-12-20 13:47
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/48/1166593565.jpg');}" onmousewheel="return imgzoom(this);">
幅度从100%变到70%过0点切换几乎无切换痕迹
0
回复
zst_neil
LV.3
30
2006-12-20 21:55
我的设计和sa838类似(当然精度没有它高),但控制更简单,价格也便宜许多,并且目前可以找到.我随后给出芯片的说明书,和应用电路
0
回复
w-sheep
LV.1
31
2007-01-06 00:58
你在哪里流片啊?
0
回复