【问题标题】:ACS712 Current Sensor Data Plot using MATLAB and Arduino使用 MATLAB 和 Arduino 绘制 ACS712 电流传感器数据图
【发布时间】:2016-07-16 10:00:35
【问题描述】:

我正在开发一个 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)


图。使用 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 绘制时如下:


图。使用 Arduino 当前数据和 x 轴值获得的绘图为:1-29

【问题讨论】:

    标签: matlab arduino


    【解决方案1】:

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

    您要读取的信号的频率是多少?

    因为 ACS712 使用斩波稳定,所以输出信号与您的绘图相似。

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

    【讨论】:

    • 更新:我使用 arduino 和 MATLAB 获得了正弦波。
    • 我得到了答案。我正在以 50Hz 的频率对电流进行采样,问题在于使用 arduino 以非常及时的方式获取更多样本。假设我在一个周期内取 40 个样本。假设第一个样本是在 x 时间采集的,那么下一个第 41 个样本应该在 (x+0.02) 采集。其中 0.02 是一个完整周期的时间段。其他样本类似
    • @ParamMehta 你有示波器来查看实际信号吗?
    • 是的,我们用的是Digital one,得到了完美的正弦曲线
    • 你的时基是什么? 50nSec 的时基是什么样的?
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    相关资源
    最近更新 更多