如果你选择了数字控制设计(或不使用ina260)然后你的单片机需要知道哪些停在梯形电阻导致输出电流/电压。为此你需要安装一些数据功能。这样做是通过所谓的卡方拟合。我将用一个例子说明。
例子
让我们说你是测量一些值(如电流)与ADC。这只是给你一个号码,你需要变成一个有用的价值像电流放大器。
所以你测量电流与仪表和记录什么ADC值涉及当前。
让我们调用数据,你得到(ADC输出):“数据”,而你想转成(即上表:读取电流放大器):“真实数据”。你需要的是一种数学函数,你输入的数据和得到“真实”的数据。
首先
看看数据,决定哪些功能是适当的。如图的数据和真实数据的关系来看。如果它是一个线,那么你只需要一个线性函数将数据转化为“真实”的数据。在练习的形式y = mx+ C或“真实数据”=(*数据)+ B所以你只需要找到A和B是常数。
这变得更加复杂,当你的数据是不是线性的,功能越来越复杂。最常见的功能包括在图片。数字电位器,不幸的是,他们通常有一个正弦分量。但这也有同样的解决方案,你只需要找到合适的常数。
寻找常数
找到常数,最简单的方法是使用微软Excel和求解器的加入,我有一个二次函数实例图片3常数的发现。先用下列栏目制作一个表格:
真实的数据,你想看到如电流表的值
数据测量如值从ADC的数据
常数-这些都是你要找的,它们设置为零的一个开始
这是一个函数拟合数据以数据与常数和常数,如果你是完美的,吐出了“真实”的数据(这不会发生在开始当常数设定为0但求解器将帮你找到)。这看起来就像“=(B2×B2 * $ 21美元)+(B2 * $ 21加元)+ $ 21美元”(我的例子)。
卡这是拟合数据与实际数据之间的差异。一个完美的结合都是均匀分布的0左右。这看起来就像“= a2-c2”。
卡方-简单的广场上学期。
总结这是一个总和的平方尺的条款。最适合的是当这是尽可能低(最好是0)。
现在,你需要改变的常数,以获得尽可能低的和项。Excel有一个称为求解器会为你做这个功能。打开它的“数据”选项卡并设置目的和细胞,“变量变化”的细胞与你的常数,为找到解决最小和新闻。
BAM!如果一切都是好的!那么你已经找到一个方程,可以把你的数据,用你的常数和输出的“真实”的数据。然后你可以把这个功能为Arduino素描永久把任何ADC值变成一个有意义的电流!!
<strong>有时解不给你最好的答案</strong>你能告诉这看着智积。如果这不是完美的差价在0左右,这意味着你的健康不良或功能不适合你的数据(如果你有数学家的朋友,我相信他们会帮助你对于这部分)。如果配合不好,你可以尝试求解找到最佳的依次为每个常数和看看好你可以使它。
我有我的Excel电子表格作为一个例子,你可以玩它,如果你想看如何实现这个Arduino然后在我的代码,一看在前一节。这一方法的选择就是把一个查找表为您的代码,但这并不能为你测量随机误差的账户,占用了大量的程序空间。