最近,本人买了个编程器,搭了个单片机做的正弦波逆变器,万能板做的,还没画印板,单片机用的常用的PIC16F73,发现正弦波逆变器正弦表的计算有点问题,直接关系到波形的完美.我先做的是用0-255之间16个数表示0-90度正弦波.我贪图省事也没计算,直接借用了网友的参数,结果波形如下:
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/76/700751240803805.gif');}" 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/76/700751240803839.jpg?x-oss-process=image/watermark,g_center,image_YXJ0aWNsZS9wdWJsaWMvd2F0ZXJtYXJrLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzQwCg,t_20');}" onmousewheel="return imgzoom(this);">
请大家进来讨论下正弦波逆变器正弦表的计算!
全部回复(26)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
做到这,觉得不能再偷懒了,决定自己算下.我想,采样法有这么几种:
1.自然采样法,精度很高,但计算复杂,因为要解一个超越方程不便于软件计算.
2.规则采样法:计算简单,取样点多的话+精度还可以,但采样点少就误差很大.
3.直接等面积法,计算也不太复杂,采样点多少精度都还可以.
4.谐波消除法,根据方波的傅里叶展开图直接把低次谐波消除.
根据以上采样法的特点决定采用直接等面积法进行计算.结果波形如下:
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/76/700751240804922.jpg');}" onmousewheel="return imgzoom(this);">
1.自然采样法,精度很高,但计算复杂,因为要解一个超越方程不便于软件计算.
2.规则采样法:计算简单,取样点多的话+精度还可以,但采样点少就误差很大.
3.直接等面积法,计算也不太复杂,采样点多少精度都还可以.
4.谐波消除法,根据方波的傅里叶展开图直接把低次谐波消除.
根据以上采样法的特点决定采用直接等面积法进行计算.结果波形如下:
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/76/700751240804922.jpg');}" onmousewheel="return imgzoom(this);">
0
回复
提示
看这个波形大肚子,我觉得不对,又找了个PIC的FAE的资料,用上面的数据,波形虽有改观,但还不理想.波形如下:
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/76/700751240804097.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/76/700751240804097.jpg');}" onmousewheel="return imgzoom(this);">
0
回复
提示
@xzszrs
做到这,觉得不能再偷懒了,决定自己算下.我想,采样法有这么几种:1.自然采样法,精度很高,但计算复杂,因为要解一个超越方程不便于软件计算.2.规则采样法:计算简单,取样点多的话+精度还可以,但采样点少就误差很大.3.直接等面积法,计算也不太复杂,采样点多少精度都还可以.4.谐波消除法,根据方波的傅里叶展开图直接把低次谐波消除. 根据以上采样法的特点决定采用直接等面积法进行计算.结果波形如下:[图片]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/76/700751240804922.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/76/700751240807105.gif');}" 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/76/700751240807105.gif');}" onmousewheel="return imgzoom(this);">
0
回复
提示
@xzszrs
等面积法的图解和公式:[图片]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/76/700751240807105.gif');}"onmousewheel="returnimgzoom(this);">
实际计算结果为:
11,32,52,73,92,111,129,145,160,173,185,195,203,209,214,216,
214,209,203,195,185,173,160,145,129,111,92,73,52,32,11,0
这个结果写入IC发现波形顶部比较尖,最终把最中间那个216改为了214.
11,32,52,73,92,111,129,145,160,173,185,195,203,209,214,216,
214,209,203,195,185,173,160,145,129,111,92,73,52,32,11,0
这个结果写入IC发现波形顶部比较尖,最终把最中间那个216改为了214.
0
回复
提示
@xzszrs
做到这,觉得不能再偷懒了,决定自己算下.我想,采样法有这么几种:1.自然采样法,精度很高,但计算复杂,因为要解一个超越方程不便于软件计算.2.规则采样法:计算简单,取样点多的话+精度还可以,但采样点少就误差很大.3.直接等面积法,计算也不太复杂,采样点多少精度都还可以.4.谐波消除法,根据方波的傅里叶展开图直接把低次谐波消除. 根据以上采样法的特点决定采用直接等面积法进行计算.结果波形如下:[图片]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/76/700751240804922.jpg');}"onmousewheel="returnimgzoom(this);">
学习了,之前我以为只要按照每一个小间隔计算一次正弦值就可以了呢。原来还这么复杂啊,我就直接是Usin(2pi*n/256)呢
0
回复
提示
@xzszrs
做到这,觉得不能再偷懒了,决定自己算下.我想,采样法有这么几种:1.自然采样法,精度很高,但计算复杂,因为要解一个超越方程不便于软件计算.2.规则采样法:计算简单,取样点多的话+精度还可以,但采样点少就误差很大.3.直接等面积法,计算也不太复杂,采样点多少精度都还可以.4.谐波消除法,根据方波的傅里叶展开图直接把低次谐波消除. 根据以上采样法的特点决定采用直接等面积法进行计算.结果波形如下:[图片]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/76/700751240804922.jpg');}"onmousewheel="returnimgzoom(this);">
正弦表还好办,我是用最后那种办法,matlab算好,在程序里查表。
就是反馈比较难,8位机用复杂的算法在一个周期内补偿来不及。
我图简单,就是电压P调节,不出所料的震荡啊。。。
期待钟工搞个快速稳定的方式
0
回复
提示
@xzszrs
等面积法的图解和公式:[图片]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/76/700751240807105.gif');}"onmousewheel="returnimgzoom(this);">
钟工:你好,看了你不少资料了,我一直想用程序来做逆变电源,但是有由于经验少点可怜。所以现在做是没有希望的。为了节省你的时间,编了一个关于spwm脉冲宽度计算的小程序奉上。程序主要根据你的这幅图写的。最后生成的文件里存的是脉宽的时间,单位是微秒。生成两个文件:SPWM脉宽数组表16进制.txt和SPWM脉宽数组表10进制.txt。可以直接复制放在程序的头文件里。咨询一下一个脉冲最小周期是多少微秒呀?mos管的最快速度是多大?呵呵
0
回复
提示
@xzszrs
等面积法的图解和公式:[图片]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/76/700751240807105.gif');}"onmousewheel="returnimgzoom(this);">
请问钟工:
等面积法图解和公式中的M是什么意思?两个波形的幅值如何定的?等待回答O(∩_∩)O谢谢
0
回复
提示