This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LMP91000EVM:使用 Arduino MEGA 2560进行循环卷积读取数据

Guru**** 1144270 points
Other Parts Discussed in Thread: LMP91000, LMP91000EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/992838/lmp91000evm-data-readout-using-arduino-mega-2560-for-cyclic-voltammetry

器件型号:LMP91000EVM
主题中讨论的其他器件:LMP91000

大家好、我正在使用 LMP 91000EVM 收集数据并使用 Arduino MEGA 2560对其进行处理。 用于循环挥发测量的.ino 位于 LMP91000/examples/CyclicVoltametry/   目录下的链接 GitHub 中。 随附的 pdf 包含传感器原理图、其中电线连接到 SPIO-GPSI16连接器上的接头。  电线按照 README.MD 和 Vref/Vout 数据中的列表连接、这些数据显示在监视器和绘图仪上。 然而、在测试 CE/WE/RE 电极时、输出没有变化。 这是通过改变它们之间的间距和在水中进行测试来实现的。

是否有人能够帮助解决此问题? 物理接线照片将在稍后上传、我还想知道它是否只是我使用的代码中的错误或我尝试使用它的方式。 不使用 SPIO-4板的主要原因是可用使用的板无法成功连接到使用当前版本 Windows 的计算机。 我尝试使用提供的所有可用驱动程序和软件版本、但无法让传感器在软件中显示。 我也没有足够的时间接受更换、即使该选项仍然可用。 如果您需要任何其他信息、也可以随时咨询

图像是监视器和绘图仪输出  

这些数字显示在监视器中、当运行时、最左边的图像显示在第一个运行中。 中间和右侧的图像在不同的时间来自重新运行。

监护仪中的数据是一致且不变的、但是下面绘图仪上的数据变化很大、但我没有注意到 Vout 发生这些变化的任何原因。 第一个映像是 在代码运行的初始部分、映像显示了代码在经过更多时间后的外观。 这一切都是随机发生的、与电极无关。

e2e.ti.com/.../LMP91000EVM-User_2700_s-Guide-Rev2.4.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     从我可以看到的结果中、ADC 读取的值等于 VREF 的一半。 这是您期望从 VOUT 获得的正确值。 您很可能没有为探针正确配置 EVM。  

    传感器制造商的传感器具有标准设置。 但是、标准设置并不总是适用于可用于测量传感器的每个设计或 IC。 LMP91000是一款跨阻放大器、非常灵敏且具有低电流。

    大多数设计人员从 LMP91000电路板的错误设置开始。 我意识  到您不使用 SPIO-4,但是请使用为 EVM 创建的 GUI 软件查找与您使用的传感器类似或相同的传感器,并将默认设置更改为这些值以开始。 只有当您将标准解决方案与传感器一起使用时、您才能确切知道您应该得到什么价值。 调整设置、直到获得正确的电压反馈。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Gordon、

    如果无法将该软件与任何可用的计算机连接、我将如何使用该 EVM 的软件? 由于这是我第一次使用这些设备、我不知道如何针对我的情况对它们进行故障排除。 您能否告知我如何配置它、因为我尝试使用产品支持页面上的软件和 SPIO-4进行连接、但没有成功。  

    我在论坛页面上看到的所有可用驱动程序和软件都无法正常工作、因此我们非常感谢您的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     GUI 将在没有 SPIO-4或 EVM 的情况下运行。 目的是查找您正在使用的类似传感器或确切传感器。 然后使用建议的设置来配置您的传感器。 如果您尝试将 EVM 与 Arduino MEGA 2560配合使用、但尚未配置传感器、这将说明其无法正常工作的原因。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当您参考 GUI 时、我假设您是指产品页面上提供的软件。

    屏幕截图显示了查找合适的传感器的含义以及用于配置传感器的表中的数据。 您能否告知如何配置传感器、我还将尝试再次使用 SPIO-4板、以尝试通过软件解决问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

    要使用 GUI、请首先选择 LMP9器件、然后设置参数、然后选择传感器类型并选择与您使用的传感器最接近的传感器。

    浏览左侧的选项卡。 配置设置后、选择保存配置。 保存的 xml 文件将包含您需要开始的寄存器信息。 使用数据表了解每个寄存器的用途。 您必须写入 EVM 才能为您的传感器配置它。

    请使用该教程了解如何执行此操作。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应、

    我将尝试进行此操作、因为这是我第一次进行循环挥发测量、您是否能够建议要设置的初始参数。 对于传感器选择、我必须与我的监督讲师讨论。 再次感谢您的帮助、我将向您介绍最新进展。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚获得了可用的 SPIO-4板、但是在安装了有符号和无符号驱动程序后、它不会在器件管理器中注册。 这是在 Windows 的正常引导和禁用驱动程序签名后完成的。

    这就是器件的显示方式、目前我正在尝试让 SPIO 板注册为 NSC 器件、而不是 Bossa 端口。 是否可以使用闪存编程器刷写 Atmel 以使其再次工作? 除非有另一种解决此问题的方法、否则我现在收到器件的代码10错误。  

    lmp91000 GUI 中的设置 也已设置并保存在配置文件中、但无法上传、因为未检测到硬件。 我将继续进行故障排除、但最后期限即将到来、因此我们希望获得更多帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     TI 已发布驱动程序的一个版本、以解决驱动程序问题。 Microsoft 更新了 Windows、使得这些驱动程序很难安装。 许多客户都遇到了这个问题。 我们有一个团队再次致力于更新驱动程序。 我不知道需要多长时间。

    我现在的建议是忘记 SPIO-4板。 使用  Arduino MEGA 2560电路板和代码。 到目前为止、代码与 LMP91000EVM 进行通信。 这是一个良好的开始。 您将需要编写新代码来初始化所用传感器的 LMP91000。 旧 GUI 将帮助您配置寄存器。 您需要编写代码以将寄存器值放入 LMP91000中。  

    您需要获得学生编程人员的帮助或自行编写代码。 在 您选择传感器之前、请将 EVM 配置为使用传感器、然后读回 VOUT 信号、并根据使用标准验证测量是否正确、 您将无法执行 您想要执行的任何循环容积测量。

    很抱歉、它不容易插拔或无法播放、并且我们遇到了 Microsoft 和我们的驱动程序问题。 如果您想这样做、您需要投入时间和工程来 使其正常工作。

    我很乐意为 您提供建议和帮助、但您需要阅读并确定这一点。  

    我将在接下来的几天内出差、所以我的回答会有点延迟、但我会尽快返回给您寻求支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Gordon、

    我将遵循您的建议、然后返回到 Arduino 工作。 我在该 GitHub 中找到了一些文件:https://github.com/WickedDevice/LMP91000 、这些文件允许在 lmp91000上配置寄存器。 目前、我已在代码设置中设置配置、以便使用 GitHub 上 lmp91000.h 文件中定义的预设与 AFE GUI 中的配置相匹配。

    其中一个十六进制输出存在小问题、因为它在 Arduino 串行监视器中显示为0xd9、而不是应该显示的值:0xc9。 我将修复此问题、并尝试在另一名学生和技术人员的帮助下为循环部分编写代码。 我 还将查看 ADC 的数据表、以了解任何潜在的信息点。

    感谢您迄今提供的所有帮助、我将在取得进展时更新此主题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     请及时向我提供最新信息。 我喜欢您学习这一点、可能有点困难、但这是工程学的乐趣。 始终学习。  

    请记住、如果它很简单、任何人都可以做到。 尝试享受这段体验。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这些是定义为在 void Loop 部分执行计算的变量。  


    void loop (void){

    //12位4096
    //16位65536
    // ADC res/ Sys V =测得的 ADC 读取/模拟 V
    // Vmeased =(系统 V/ADC 分辨率)* ADC 读取(将系统 V 转换为 mV)
    //变量分配的值

    RESO = 65536;
    VIN = 3300;//in mV
    ADCO = analogRead (APO);
    ADCr = analogRead (APR);

    VOUT =((Vin)/(reso))*(ADCO);
    Vref =((Vin)/(reso))*(ADCr);

    //Serial.println ("ADC Vout=");
    //Serial.println (ADCO);
    //delay (1000);

    //Serial.println ("ADC Vref =");
    //Serial.println (ADCr);
    //delay (1000);

    serial.println ("Vout =");
    serial.println (输出电压);
    延迟(1000);

    serial.println ("vref =");
    serial.println (Vref);
    延迟(1000);

    上述行已添加到前面提到的 GitHub 中找到的测试代码中。 我已经使用内置 Arduino 示例 sketch 通过 I2C 测试了与电路板的通信、以进行器件检测。 将设置部分中的配置设置更改为 LMP91000 GUI 中的设置后、再次显示一个与先前串行监视器图像中的数据类似的数字。 此附加代码可将 Arduino 上 A0引脚读取的 ADC 输出转换为测量的模拟电压、前提是所有操作都顺利进行。  

    随着代码以及 Arduino 和 LMP91000EVM 之间的连接的未来更改、我们将发布进一步的更新。 我希望此主题能作为那些希望执行相同操作但尚未找到解决方案的人员的指南。  

    串行监视器中的电流输出应以 mV 为单位、但需要进行更多调整:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为、我尝试用于转换 Vout 和 Vref 测试点输出的转换是不正确的。  

    VOUT =(Vref_div (LMP91000内部))-(RTIA (增益) x Iwe)(https://e2e.ti.com/support/sensors/f/sensors-forum/874340/lmp91000-afe-output-voltage)

    以上公式可在另一篇文章中找到、但我不理解"IWe"的含义以及当前读取的数据在其中的使用方式。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里-  

    IWe 是:  

    I =电流

    We =下标指示工作电极

    欧姆定律...V (或 E、取决于您的想法)= I x R

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速回复、我还想知道我如何将 Vout 和 Vref 点分别从 LMP91000链接到 Arduino A0和 A1引脚。 我使用的是评估板上 ADC 的信息、但由于我绕过它、我需要重做 void 循环中的一些数字。

    使用万用表测量的串行监视器 Vref 的输出与所示的输出相匹配

    我如何计算或读取工作电极产生的电流、因为我现在在功能上获得了要读取的电压。 要在循环电压测量中创建图形、我需要能够读取电流并控制电压、但我无法知道如何实现。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为、该图简单地显示了电压的控制位置和电流的测量值。  

    https://www.researchgate.net/figure/A-simplified-circuit-for-cyclic-voltammetry-Set-Up_fig1_329014747 

    在这种情况下、使用 LMP91000时、工作电极将连接到互阻抗放大器、该放大器将直接测量的电流转换为可使用 DVM 或 ADC 读取的电压。 您可以根据您对器件所做的 Vout 和增益设置、重新计算电流。  

    如果您能够使用 GUI、它将告诉您输出电压或电流、并为您绘制图表。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    由于我不使用 SPIO-4板、因此无法将 LMP91000连接到 GUI、 但是、根据 Arduino IDE 中的传感器配置、我的 RTia 设置为35K 欧姆。我是否只使用简单的 V=I*R 公式将其转换回或上述公式? 如果是上述情况、则应为:

    VREF 分压器= 24%

    Vinternal =我假设它是我在 GPSI 连接器处的3.3V 输入、但我的 Vref 读数为2.5V、我猜是因为它是双极(+/- 2.5V)

    VOUT =(0.24 * Vinternal)-(35k 欧姆* Iwe )  

    因此、要求解 Iwe、应:

    (IWe) =  ((0.24 * Vinternal)- Vout)/  35k 欧姆

     

    如果正确、我将在 IDE 代码中包含此计算、并在 可能的情况下发布创建用于验证的图形的结果。  完成此项目后、将创建一个 Github、其中使用的代码和使用说明将其标记为面临类似问题的解决方案。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     虽然您基本上是正确的、但电流到电压的转换取决于增益。

    3引线电流测量单元= GAIN=RTIA

    2引线电芯= 增益= 1+(RTIA/RLoad)  

    互阻抗放大器使用运算放大器和反馈电阻器生成与输入电流成比例的输出电压。
    增益幅度等于反馈电阻,由于反相,电路的传递函数为
    Vout= Iin×RF
    与电阻器一样、互阻抗放大器可将电流转换为电压、但与电阻器不同、即使增益非常高、它也具有低输入阻抗和低输出阻抗。
    与反馈电阻器并联的补偿电容器用于确保传感器应用中的稳定性。

    如果您知道根据传感器在特定级别应具有什么电流、则应使用标准解决方案来验证和校准公式。 其他一切都是一个好的猜测。  

    请记住、温度将影响每次测量。 根据标准在您测量的电压下使用测量的温度。 使用第二个标准解决方案获得第二个数据点、并在不同温度下测量这两个数据点以获得有效的数据点。 然后、您将能够计算测量值、而不是电流测量值、而是 ADC 电压测量值。 它将更快、更准确。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我现在要解决的问题是转换 ADC 电压。 我找到了一个公式、但我不知道它对给定场景有多适用:

    I =(ADC O/P)*((Vref/ADCres)/(GAIN*R)    [我想 Rload 替代了 R]

    我将与我的同事讨论应该看到的电流、但一套解决方案已用于测试(目前牛奶、在 BSA 解决方案上进行适当测试)。 我还会记住改变解决方案温度并尝试它。 您是否建议温度变化较大(V货 区:25°C 至100°C)或稍高

    另一个问题是、是否有方法可以直接绘制 CV 图形、或者我是否需要手动绘制?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     保持在温度变化的正常工作范围内。 25°C、我想您不会将牛奶加热到100°C、因此可能是35°C。 确定补偿温度的校正方法应该足够了。

    增益基于反馈电阻器和输入(负载电阻器)。 研究运算放大器增益以了解如何确定跨阻放大器的增益。   

    您应该非常接近了解此测试所需的内容。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我现在在这个项目上取得了很好的进展、这只是为可绘图数据实现正确的代码的问题。 我还将在本周星期一测试这种校正方法、阅读运算放大器增益以取得更多进展。 仅为了澄清、内部零意味着什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     内部零是基准电压的一半。 即... 如果 Vdd 为3.3V、则 Vdd 电压将施加到基准引脚。 该电压在内部被分压为一半。 分频基准为1.65Vdc、应用于运算放大器。 它为传感器设置内部零。 所有高于1.65Vdc 的测量值均为正、低于1.65V 的所有测量值均为负。 内部零允许在没有正负电源的情况下测量正负值。 所有以内部零为基准的测量值都是相对值。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的澄清和所有帮助。 随着提交截止日期的临近、我将把该项目移交给另一位具备所提供和研究的所有信息的同事。 希望今后该项目将最后完成。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

     您的欢迎和祝您好运。 我将关闭此 TT。