问题描述:
用MCP3208做三相电压、电流采样,开始是每个周波采一样电压、电流,一切正常。
后来改成一个周波采三相电压、电流,发现线性不对。首先排除算法问题,因为我直接从采样结果看,就不成线性(附AD采样结果)。从数据手册上看,茏最高采样速度为100kSPS,我每个周波采32个点(20ms),这样算来,一秒钏也就是50×32×6=9600,速度就访没问题。但就是搞不懂其误差是哪里来的,从波形上看,也是个挺规则的正弦波。我用的SPI时钟速度是2M的,也是它的工作最大值了,不知会不会影响,但我做一个周波采一相电压和一相电流时,也是用的这个频率。还有,我发现MCP的时钟会影响它的转换结果,我用同样的程序,输入同样的信号,采用不同的SPI时钟频率时,采样结果就不一样。我想,可能还是哪方面没匹配好吧,请各位帮忙分析一下。
[ 本帖最后由 thtlj 于 2010-4-27 19:10 编辑 ]
-
AD结果.zip
(2010-4-27 18:04 上传)
4.18 KB, 下载次数: 40
应该检查采样点的位置
一个周波采一相电压和一相电流时不能作为依据
是否正常不能仅计算A/D时间,还应该包括其他运算等操作的时间
你用现在的三相的板子下只测一相的代码看看什么结果,我怀疑可能是CPU处理来不及导致。
周公好,我是这样做的,首先测出频率,或者说一个周波的时间,然后分为32份,时间到时,采样一次(一相电压和一相电流或三相电压和三相电流,采样时间内,并没有做别的太多事情,也就是把采样值累加一下,好为计算“中轴线”值做准备,
从你XLS图形看,5A峰值两倍2.5A
不是对的吗
回复 楼主 thtlj 的帖子
附的波形没有看出问题啊,问题在哪里?
电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等
回6楼,大致是,但有误差,2.5A的时候,计算出来只有2.45A的样子。
回7楼,就是波形没看出问题,才郁闷呐。现在还不知问题在哪里,就是有误差。
个人觉得,三相电压,AD采样的时候,应该是“电压-电流-电压”或“电流-电压-电流”,两边的求和取平均值,与中间的对应!
每个周波采样32个点应该会引起一定的误差的,单相周波没有误差(其实有的,误差的存在是绝对的,大小而已)是一种巧合。
采用全波精密整流+LC滤波电路得到平均电压,再转换为有效值,可以有效减小误差。
回11楼:因为我在这个项目中,要采集三相电压、电流,然后计算其有效值、功率因数等等,所以同相电压、电流要尽可能同时采样。我的顺序是同一周波内:A相电压、A相电流、B相电压、B相电流、C相电压、C相电流,求出各相采样点的平均值作为“中轴线”的值,然后……
回12楼,这里只能采用交流采样。误差肯定是有的,就是看在不在允许范围之内了。一个周波只做一相采样的时候,精度能控制在0.5%之内,做三相时,能到2%了,实在受不了。
如果实时性要求不高,可对三相电的每一项进行如下处理:
每项的第一个周期测周波,利用小于半周期(<10ms)时间计算,得到20mS左右的us或ns数,除以32,得到每个采样点间隔标准时间,则在该相的下下半个周期开始每隔采样点间隔标准时间采样,共32次,(需用过零点触发电路来配合上述工作)。
其他相也做相同操作