资讯详情

INA226调试及使用笔记

INA226

简介

INA226 是分流/功率监视器, 具有 I2C?或SMBUS 兼容接口。 该器件 监测分流压降和总线电源电压。 可编程校准值, 将转换时间和平均值功能与内部乘法器相结合, 可实现电流值(单位为安培) 和功率值(单位为瓦) 直接读取。

INA226 可在 0V 至 36V 在共模总线电压范围内感知电流, 与电源电压无关。 该装置由一个组成 2.7V 至 5.5V 单电源供电, 典型的电源电流值为 330μA。 该装置的额定工作温度范围为 –40°C 至 125°C, I2C 在兼容界面上有多达 16 可编程地址。

请查看官方提供的数据手册。

特性和优势

  • 总线电压范围:0V 至 36V
  • 报告电流、电压和功率
  • 高精度:
    • ±0.1% 系统增益误差(最大值)
    • 10uV 偏移(最大值)
  • 可配置的平均选项
  • 16 可编程地址
  • 由 2.7V 至 5.5V 电源供电
  • 10 引脚 DGS 超薄小外形尺寸 (VSSOP) 封装

基于RT-thread Sensor框架使用说明

依赖

  • RT-Thread 4.0.0
  • Sensor 组件
  • IIC 驱动:INA226使用 IIC 数据通信需要系统 IIC 驱动支持;

获取软件包

使用 INA226 软件包需要在 RT-Thread 具体路径如下:

RT-Thread online packages --->     peripheral libraries and drivers --->         sensors drivers --->             [*] INA226: a INA226 package for rt-thread.package                    [*] Enable INA226 example                      Version (latest)  ---> 

:选择软件包版本

使用软件包

刚才的menuconfig默认译和下载后,默认创建了一个使用例子msh命令行可以打印当前测量的电压电流和功率值。具体使用方法参考

 \ | / - RT -     Thread Operating System  / | \     4.0.3 build Feb 20 2021  2006 - 2020 Copyright by rt-thread team [I/sensor.ina226] ina226 init success. 0 [I/sensor] rt_sensor init success current : 0.000000 mA,voltage : 2.856504 V ,power : 0.000000 mW msh >current : 127.280167 mA,voltage : 2.856504 V ,power : 363.576294 mW current : 127.209938 mA,voltage : 2.856504 V ,power : 363.375702 mW current : 126.999252 mA,voltage : 2.856504 V ,power : 362.773865 mW current : 127.046066 mA,voltage : 2.856504 V ,power : 362.907593 mW current : 127.069481 mA,voltage : 2.856504 V ,power : 362.974457 mW current : 127.069481 mA,voltage : 2.856504 V ,power : 362.974457 mW   

注意事项

  • 如果读取值为0或初始化失败,请注意模拟IIC的IO口输入输出配置
  • 如果初始化失败,记得检查
    • IIC引脚配置是否正确
    • IIC slave 地址配置是否正确

裸机或基础RTOS开发使用说明书

在这种模式下只需要将 加入项目。

不包括软件包本身I2C因此,用户需要实现自己的驱动I2C驱动并实现如下类型的两个读写函数

typedef int (*i2c_func)(uint8_t addr, uint16_t *data, uint8_t data_len); 

然后调用INA226初始化函数,并实现上一步IIC读写函数传入初始参数。

ret = INA226_init(rt_i2c_read_data, rt_i2c_write_data, device.addr); if (0 == ret) {     LOG_I("INA226 init success."); } else {     LOG_E("INA226 init error. %d", ret); } 

然后可以在需要的地方调用读取函数来获取传感器的电压电流和功率值。

float ma,mv,mw; ina226_get_current(&ma); ina226_get_bus_voltage(&mv); ina226_get_power(&mw);  

联系人信息

  • xph
  • 邮箱
  • 项目地址

标签: 传感器dgs66

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台