主题中讨论的其他器件: MSP430F67641
我们将 MSP430F67791微控制器用于电量计。 在我们的执行中,必须将能源分为出口和进口。 emswlib.h 库的实现中没有此类除法。 库本身已关闭。
之前使用的是 MSP430F67641微控制器、因此支持将能量分配到导入和导出中。
请告诉我、我们如何有机会将有功和无功电能划分为进出口?
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.
我们将 MSP430F67791微控制器用于电量计。 在我们的执行中,必须将能源分为出口和进口。 emswlib.h 库的实现中没有此类除法。 库本身已关闭。
之前使用的是 MSP430F67641微控制器、因此支持将能量分配到导入和导出中。
请告诉我、我们如何有机会将有功和无功电能划分为进出口?
你好。
通过导入和导出、我的意思是将能量存储分为四个寄存器(Active+、Active-、Reactive +、Reactive -)
因此、有功和无功电能不是根据绝对值而是根据符号值累加的。
如果有功功率有+号、则累加有功电能+;如果有功功率有-号、则有功电能通过单独寄存器中的-号累加、 对于无功电能、它是相同的、因此电感能量和电容能量分别是累积的。
下面是一张图片。
是的、对于 F67641、我们使用了下面的旧驱动程序、也是旧驱动程序代码的一部分、在这里、您可以看到如何根据不同寄存器中的方向对累加的能量进行分频。
#if defined(ACTIVE_ENERGY_SUPPORT) || defined(TOTAL_ACTIVE_ENERGY_SUPPORT) APP_ACTIVE_ENERGY_IMPORTED, APP_ACTIVE_ENERGY_EXPORTED, #endif #if defined(REACTIVE_ENERGY_SUPPORT) || defined(TOTAL_REACTIVE_ENERGY_SUPPORT) APP_REACTIVE_ENERGY_QUADRANT_I, APP_REACTIVE_ENERGY_QUADRANT_II, APP_REACTIVE_ENERGY_QUADRANT_III, APP_REACTIVE_ENERGY_QUADRANT_IV, #endif #if defined(ACTIVE_ENERGY_SUPPORT) *((uint64_t *) &tx16[1]) = energy_consumed[phx][APP_ACTIVE_ENERGY_IMPORTED]; *((uint64_t *) &tx16[5]) = energy_consumed[phx][APP_ACTIVE_ENERGY_EXPORTED]; #else #if defined(REACTIVE_ENERGY_SUPPORT) *((uint64_t *) &tx16[9]) = energy_consumed[phx][APP_REACTIVE_ENERGY_QUADRANT_I]; *((uint64_t *) &tx16[13]) = energy_consumed[phx][APP_REACTIVE_ENERGY_QUADRANT_II]; *((uint64_t *) &tx16[17]) = energy_consumed[phx][APP_REACTIVE_ENERGY_QUADRANT_III]; *((uint64_t *) &tx16[21]) = energy_consumed[phx][APP_REACTIVE_ENERGY_QUADRANT_IV]; #else
尊敬的 Dennis:
我明白了。 因此、您需要累加正能量和负能量 spready。
随附的文件将告诉您 EMlib 如何计算结果。 或许可以提供一些帮助。
e2e.ti.com/.../Energy-Library-Specifications-KV.docx-V5.pdf
由于 driverlib 对客户来说不是开源的、我认为您可以 在函数在 ADC ISR 中运行后对能耗结果进行一些比较。 然后 、您可以手动扩展正负结果。
伊斯天