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.

[参考译文] CC2530:电池监控器:电压参考

Guru**** 2540720 points
Other Parts Discussed in Thread: CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/574835/cc2530-battery-monitor-voltage-reference

部件号:CC2530

您好,

我目前正在使用网站 上的代码:http://sunmaysky.blogspot.tw/2013/12/cc2530-adc-howto-in-ti-z-stack.html?m=1,2530,我想知道是否可以将WFP 0.2 ADC的引脚参考电压设置为3.3V? 如果是,如何更改代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以将其设置为HAL_ADC_REF_AIN7,以使用WFP 0.7 作为参考针脚,但您必须为WFP提供稳定的3.3V电压0.7。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我用WFP 0.7 写了下面的代码,但是我没有得到正确的值。 可能是什么问题?

    HalAdcSetReference (HAL_ADC_REF_AIN7/*HAL_ADC_REF_125V*/);

    ADC_ain2=HalAdcRead (HAL_ADC_CHN_AIN7,HAL_ADC_Resolution _10);

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

    如果您仍使用WFP的0.2 作为ADC输入,则应为ADC_AIN2=HalAdcRead(HAL_ADC_CHN_AIN2,HAL_ADC_Resolution _10)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么我该如何布线? 电压是否通过了WFP 0.7 和0.2 ?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不能,您应该为WFP提供3.3V电压0.7 ,并将您要测量的电压连接到WFP 0.2。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为我已将WFP 0.7 配置为连接到CC2530的设备的输出。 是否有其它ADC引脚选项可供我使用,它的读数可达3.3V?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有其他选择。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我一直在测试电池监视器代码,我发现它似乎消耗了大量的电量。 为什么会这样? 它是否应该消耗电力?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这取决于您的硬件设计。 在我的应用程序中,它会消耗一些uA。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我的设计图片。 此设计可能有什么问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    忽略从电源到CC2530的红线。 我不小心画了这个。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它看起来不错。 您所看到的功耗如何?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    功耗约为37ma。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您断开与WFP 0.2 的连接,您会看到多少功耗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    所以我修复了一些问题并将电流降低到60 uA。 但是,您说应该在5 uA左右。 当拔下WFP 0.2 时,功耗为2.5 uA (来自CC2530)。 我已经测试过电路板周围的电流,我发现WFP 0.2 不会消耗任何电源,但CC2530本身正在进行大量的处理,因此消耗了大量的电源。 为什么会这样?如何解决?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的意思是什么?“CC2530本身正在进行大量的处理,因此会消耗大量的电能?”
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我相信CC2530在进行电池监控时会消耗更多的电量。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您唤醒CC2530以读取ADC需要多长时间?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    下面是我的电池显示器的所有代码。 蓄电池监测器每5秒工作一次,并查看电压是否低于。

    如果蓄电池电压低于电压,则定期事件3和4会循环,因此LED会闪烁。

    IF( Events & Periodic_EVT3 ){
    引脚= 1;
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3 );
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT4 );
    OSAL_START_TIMEREx( zclSampleLight_TaskID, Periodic_EVT4500);
    返回(事件^ Periodic_EVT3);
    }
    IF( Events & Periodic_EVT4 ){
    引脚=0;
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3 );
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT4 );
    OSAL_START_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3, 5000);
    返回(事件^ Periodic_EVT4);
    }

    IF( Events & Periodic_EVT )

    HalAdcSetReference (HAL_ADC_REF_125V);

    ADC_ain2=HalAdcRead (HAL_ADC_CHN_AIN2,HAL_ADC_Resolution _10);

    //holder = adc_ain2;
    IF (ADC_ain2<171 & ADC_ain2>100 & P2_0=0 & devState!=dev_Nwk_disc){ //171=2.8V //177=3V //188=3.3V //160=2.5V
    //pin=1;
    如果(k==0){
    K=1;
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3 );
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT4 );
    OSAL_START_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3, 500);
    }
    其他{
    K=0;
    引脚=0;
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT3 );
    OSAL_STOP_TIMEREx( zclSampleLight_TaskID, Periodic_EVT4 );
    }

    OSAL_START_TIMEREx( zclSampleLight_TaskID, Periodic_EVT, 5000);
    返回(事件^ Periodic_EVT);
    }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不要在500毫秒内启动Periodic_EVT3。 这会使CC2530唤醒频率过高,并增加功耗。