使用MATLAB和Arduino进行ACS712电流传感器数据绘图

时间:2016-07-16 10:00:36

标签: matlab arduino

我正在使用GUI将ac712当前数据绘制到MATLAB GUI。问题是我无法正确绘制数据。该图似乎是三角形而不是正弦曲线。此外,当前值是正确的,但我认为x轴值不正确。请帮忙。

clear all
clc
a = arduino('com3','uno');
samples = 200
for i = 1:201
    x = [0:0.001:2];
    y = zeros(1,201); 
    b = a.readVoltage(0);
    y(i) = ((b-2.5)/.234);
    i = i+1
    pause (0.006)
end
figure(1)
plot(x,y)

Plot obtained using MATLAB
图。使用MATLAB获得的图

当我仅使用arduino时,current的值如下:

0.46
-0.69
1.04
-0.94
0.81
-0.29
-0.06
0.71
-0.83
1.08
-0.81
0.62
0.04
-0.31
0.87
-0.87
1.1
-0.67
0.37
0.27
-0.56
1.02
-0.92
0.94
-0.46
0.08
0.52
-0.71
1.04

使用Excel绘制时如下:

plot obtained with Arduino current data and x axis values as: 1-29
图。使用Arduino当前数据和x轴值获得的绘图如下:1-29

1 个答案:

答案 0 :(得分:0)

两张图的时间尺度是否相同?

您尝试阅读的信号频率是多少?

由于ACS712使用斩波稳定,输出信号与您的图相似。

您可能需要在滤波器输入引脚和地之间添加或更改电容,如ACS712 datasheet首页上的典型应用图所示。

Typical Application