BQ25756EVM: MPPT Operation and $VAC\_DPM$ Register Interaction on BQ25756

Part Number: BQ25756EVM
Other Parts Discussed in Thread: BQ25756

I am working with the BQ25756EVM for a solar PV application (Energy Infrastructure). I have some questions regarding the Maximum Power Point Tracking (MPPT) operation when the EN_MPPT bit is set to 1.

1. MCU Intervention and VAC_DPM Setup

According to the datasheet, the MPPT algorithm alternates between Full Panel Sweep and Perturb & Observe modes.

  • What level of intervention is required from the external Microcontroller (MCU) once EN_MPPT=1 is set?

  • Is it necessary for the MCU to manually set the VAC_DPM register value? For instance, should I calculate and write the initial minimum panel voltage, or does the BQ25756 manage this value internally after the first operation?

2. VAC_DPM Update Causing Infinite Full Sweep Loop

I have observed an issue when attempting to continuously update the VAC_DPM register:

  • Observation: If I repeatedly write a new value to the VAC_DPM register (even if the value is only slightly changed or the same), it seems to immediately trigger a new MPPT Full Panel Sweep.

  • Problem: This continuous trigger leads to an infinite loop of Full Panel Sweeps, preventing the device from entering the stable Perturb & Observe phase and thus preventing normal operation.

  • Question: Is this behavior intended? If not, how should VAC_DPM be managed by the MCU to avoid unintentionally forcing a full sweep?

Any guidance on the proper software implementation flow for MPPT, especially regarding VAC_DPM updates, would be greatly appreciated.

  • 您好,收到了您的案例,调查需要些时间,感您的耐心等待。

  • What level of intervention is required from the external Microcontroller (MCU) once EN_MPPT=1 is set?

    none

    Is it necessary for the MCU to manually set the VAC_DPM register value? For instance, should I calculate and write the initial minimum panel voltage, or does the BQ25756 manage this value internally after the first operation?

    This is not necessary. You can set the VAC_DPM to a higher value to speed up the full panel sweep time, though. You can also set ACUV_DPM (Which is the same function as VAC_DPM) with hardware resistors. Here is our FAQ on the ACUV and ACOV pins.

    If I repeatedly write a new value to the VAC_DPM register (even if the value is only slightly changed or the same), it seems to immediately trigger a new MPPT Full Panel Sweep.

    I don't quite understand the system operation here. Why is the VAC_DPM register being continually updated? The VAC_DPM register should only need to be written once at startup.

    We do have a guide on enabling Perturb and Observe with the BQ25756 with an external MCU that might help.

    Let me know if you have any other questions about this. Let me know if these FAQs help. We also have a general FAQ here.

  • To confirm my understanding of the system operation with EN_MPPT=1:

    1. Is it correct that the only necessary initial configuration from the MCU is to set EN_MPPT=1 and to define a minimum operating voltage via the V_AC_DPM register?

    2. After this initial setup, will the BQ25756 automatically calculate and track the Maximum Power Point Voltage V_MPP and execute all necessary regulation without any further ongoing involvement or calculation from the external MCU?

      Thank you very much for your help and clarification.

  • Is it correct that the only necessary initial configuration from the MCU is to set EN_MPPT=1 and to define a minimum operating voltage via the V_AC_DPM register?

    Setting EN_MPPT=1 is required. Setting the VAC_DPM register is optional.

    After this initial setup, will the BQ25756 automatically calculate and track the Maximum Power Point Voltage V_MPP and execute all necessary regulation without any further ongoing involvement or calculation from the external MCU?

    The MCU does not need to do further action with the BQ25756 once EN_MPPT has been set.

    I do recommend that the MCU sets EN_CHG=0 once the BQ25756 input current drops below 150mA, but this is also optional.