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.

[参考译文] INA219:使用Arduino uno连接负载时无输出

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/665127/ina219-no-output-when-load-is-connected-using-arduino-uno

部件号:INA219

hii;

我正在使用INA219模块测试LED项目的电压和电流感应。  

唯一的问题是Arduino IDE的串行监视器上不显示任何电压或电流(即0.00V和0.00mA)。

我使用I2C扫描器代码检查了i2c通信是否正确。

我有没有遗漏的东西? 请帮帮我。

注:这是我的第二个模块,两个模块都不工作

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

    感谢您选择TI。 我们当然希望确定您的问题。 您是否可以向我们发送有关您的电路以及如何配置INA219的更多信息? 基本上什么是电源,并联电阻器,电流电平和电流频率?

    此外,您将校准寄存器设置为什么? 您的I2C通信设置为什么速度?

    任何进一步的信息都将是有帮助的。 谢谢王子。

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

    HII Peter,

    我正在使用INA219测量LED [额定12v 350mA ]的电流,该LED使用类似额定LED驱动器供电。

    我正在使用模块,并按照Adafruit使用Arduino uno的教程中所示对其进行配置,甚至我使用Adafruit INA219库尝试了它,电路图也如教程中所示。

     

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

    您能否确认您能够读写寄存器? 我假设您使用的是此处的Arduino代码:
    learn.adafruit.com/.../arduino-code

    如果您还可以发送Arduino代码,以便我知道如何设置寄存器,这也会有所帮助。

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

    是的,我正在使用上述链接中的Adafruit Arduino代码。

    这是库中包含的示例代码。

    注意:由于无法上传.ino文件,我将粘贴下面的代码

    #include <Wire.h>
    #include <Adafruit_INA211.h>

    Adafruit_INA219 INA219;


    作废设置(作废)

    Serial.begin(11.52万);
    同时(!Serial){
    //将暂停Zero,Leonardo等,直到串行控制台打开
    延迟(1);
    }

    UINT32_t当前频率;

    serial.println ("Hello!");

    //初始化INA219。
    //默认情况下,初始化将使用最大范围(32V,2A)。 但是
    //您可以调用setCalibration函数来更改此范围(参见注释)。
    ina219.begin();
    //要使用略低的32V,1A范围(安培精度更高):
    ina219.setCalibration_32V_1A();
    //或要使用较低的16V,400mA范围(电压和电流的精度更高):
    ina219.setCalibration_16V_400mA();

    serial.println ("使用INA219测量电压和电流...");
    }

    void循环(void)

    浮子释放电压= 0;
    浮子总线电压= 0;
    浮点电流mA = 0;
    浮子放电压= 0;
    浮子POWER_mW = 0;

    shuntvoltage = INA211.getShuntVoltage_mV();
    总线电压= INA211.getBusVoltage_V();
    current_mA = INA219.getCurrent_mA();
    POWER_mW = INA219.getPower_mW();
    放电压=母线电压+(shuntvoltage / 1000);

    serial.print ("总线电压:");Serial.print (busvoltage);Serial.println (" V");
    serial.print ("并联电压:");serial.print (shuntvoltage);serial.println (" mV");
    serial.print ("加载电压:");Serial.print (logoltage);Serial.println (" V");
    serial.print ("电流:");Serial.print (current_mA);Serial.println (" mA");
    serial.print ("功率:");Serial.print (POWER_mW);Serial.println (" mW");
    serial.println ("");

    迟延(2000年);
    }

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

    您似乎没有校准设备。 用.setCalibration校准INA219的两个可选行都被注释掉。 尽管这还不够。 您需要修改Adafruit_INA219.cpp源文件,以便输入正确的校准值。 Adafruit_INa219.cpp源文件的注释以及数据表的8.5 第1节介绍了如何计算此值。

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

    HII,

    我一定会查找它,如果它能正常工作,我会向您提供最新信息。

    感谢你的帮助。