lsm6dsl功耗问题
<p>我在3.3工作电压下,使用lsm6dsl传感器,功耗会增加2mA</p><p>是不是哪里没有正确配置?</p>
<div class="parsedown-markdown">
<pre>
<code>/**
* @briefInitialize the LSM6DSL sensor
* @parampObj the device pObj
* @retval 0 in case of success, an error code otherwise
*/
int32_t LSM6DSL_Init(void)
{
/* Enable register address automatically incremented during a multiple byte
access with a serial interface. Enable IF_INC */
if (lsm6dsl_auto_increment_set(PROPERTY_ENABLE) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* Enable BDU */
if (lsm6dsl_block_data_update_set(PROPERTY_ENABLE) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* FIFO mode selection. LSM6DSL_STREAM_MODE*/
if (lsm6dsl_fifo_mode_set(LSM6DSL_BYPASS_MODE) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* Full scale selection. */
if (lsm6dsl_xl_full_scale_set(LSM6DSL_2g) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* Full scale selection. LSM6DSL_2000dps*/
if (lsm6dsl_gy_full_scale_set(LSM6DSL_2000dps) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* Output data rate selection - LSM6DSL_GY_ODR_104Hz */
if (lsm6dsl_gy_data_rate_set(LSM6DSL_GY_ODR_104Hz) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
/* Output data rate selection - LSM6DSL_XL_ODR_104Hz */
if (lsm6dsl_xl_data_rate_set(LSM6DSL_XL_ODR_104Hz) != LSM6DSL_OK)
{
return LSM6DSL_ERROR;
}
return LSM6DSL_OK;
}</code></pre>
<p> </p>
</div>
<p> </p>
<p>功耗和你设置的工作模式有关。</p>
<p>增加的2mA电流是和那种情况比较?</p> littleshrimp 发表于 2021-12-13 15:03
增加的2mA电流是和那种情况比较?
<p>在我不配置输出频率的时候,或者不使用这个传感器也没有2mA的功耗。</p>
<p>把配置频率注释,就会少了2mA,磁力计对这个影响比较大</p>
<pre>
<code>///* Output data rate selection - power down. */
//if (lsm6dsl_gy_data_rate_set(LSM6DSL_GY_ODR_52Hz) != LSM6DSL_OK)
//{
// return LSM6DSL_ERROR;
//}
///* Output data rate selection - power down. LSM6DSL_XL_ODR_104Hz */
//if (lsm6dsl_xl_data_rate_set(LSM6DSL_XL_ODR_52Hz) != LSM6DSL_OK)
//{
// return LSM6DSL_ERROR;
//} </code></pre>
<p> </p>
dcexpert 发表于 2021-12-13 14:39
功耗和你设置的工作模式有关。
<p>工作模式?我使用<strong>lsm6dsl_xl_power_mode_set(LSM6DSL_XL_NORMAL)</strong>和<strong>lsm6dsl_gy_power_mode_set(LSM6DSL_GY_NORMAL)</strong>的话,会降个0.3mA左右</p>
littleshrimp 发表于 2021-12-13 15:03
增加的2mA电流是和那种情况比较?
<p>我发现只要一把CTRL2_G寄存器的频率一增加,功耗就跟着上来</p>
wfagly 发表于 2021-12-13 15:15
在我不配置输出频率的时候,或者不使用这个传感器也没有2mA的功耗。
把配置频率注释,就会少了2mA,磁 ...
<p>LSM6DSL没有磁力计,按照你的配置,陀螺仪和加速度一起在1.8V工作条件下的电流不超过0.5mA,3.3V数据手册中没有给出具体的电流,整体应该不会超过2mA。</p>
<p>你看一下陀螺仪和加速度都配置为power down时传感器的电流消耗是多少,因为你测试时的电流可能还会受到与单片机通信的影响,不一定是真实的传感器工作电流。</p>
littleshrimp 发表于 2021-12-13 16:00
LSM6DSL没有磁力计,按照你的配置,陀螺仪和加速度一起在1.8V工作条件下的电流不超过0.5mA,3.3V数据手册 ...
<p>在开低功耗(52hz)的时候会降到3mA,设置高性能和104hz率的话会是5mA</p>
wfagly 发表于 2021-12-13 16:15
在开低功耗(52hz)的时候会降到3mA,设置高性能和104hz率的话会是5mA
<p>power down情况下,整体电路就是2.0mA</p>
wfagly 发表于 2021-12-13 16:18
power down情况下,整体电路就是2.0mA
<p>power down 2mA应该是你整体电路包括引脚到单片机部分的功耗,你可以把传感器的引脚和单片机断开,上电看一下功耗是多少。</p>
littleshrimp 发表于 2021-12-13 16:20
power down 2mA应该是你整体电路包括引脚到单片机部分的功耗,你可以把传感器的引脚和单片机断开,上电看 ...
<p>10uA左右</p>
wfagly 发表于 2021-12-13 16:32
10uA左右
<p>这个电流差不多,手册里1.8V的待机电流是3uA,考虑到3.3V供电和测量误差,10uA应该正常。</p>
<p>所以你的其它电路在待机时会有2mA的额外电流消耗,这部分不是传感器的开销。</p>
<p>如果这个“漏"电流是恒定的,那你在实际测试时把测到的电流减去2mA应该就是传感器的实际工作电流,具体可以参照传感器的数据手册。不过实际情况会比较复杂,如果差的离谱就要检查其它电路的耗电了。</p>
littleshrimp 发表于 2021-12-13 16:43
这个电流差不多,手册里1.8V的待机电流是3uA,考虑到3.3V供电和测量误差,10uA应该正常。
所以你的其 ...
<p>那就可能是程序的那个线程运算耗掉的电压了,还有一个磁力的mmc5603的功耗。</p>
wfagly 发表于 2021-12-13 16:59
那就可能是程序的那个线程运算耗掉的电压了,还有一个磁力的mmc5603的功耗。
<p>MCU的引脚配置也会影响电流消耗,这些都要注意。</p>
littleshrimp 发表于 2021-12-13 17:01
MCU的引脚配置也会影响电流消耗,这些都要注意。
<p>好的,谢谢哈。</p>
<p>功耗上去的话可以增加电阻率</p> <p>和设定值减小</p>
页:
[1]