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.

SM72442: Setting Vout_max

Part Number: SM72442

Hello,

I have a SM72442 connected to an ATMega32u4 microprocessor through I2C bus and I want to set Vout_max parameter. I've already wrote some code and I'm ableto read all registers through I2C: after boot, I read all default values as descrived in SM72442 datasheet.

Unfortunately, I have problems when I try to set Vout_max, which is supposed to be in reg3, bits 29:20. Below, I describe the behaviour I get.

Right after boot (or after SM72442 reset), I have Vin = 12V, Vout = 22.5V, and, reading reg3 I get the following output:

0x07 0xE0 0xDF 0xF6 0xFF 0xFF 0x08 0x00

Then, I try to set overide_adcprog (reg3 bit 46), sending the following string:

0x07 0xE0 0xDF 0xF6 0xFF 0xFF 0x48 0x00

but if I read again reg3, nothing has changed:

0x07 0xE0 0xDF 0xF6 0xFF 0xFF 0x08 0x00

I send another string, in this case I set overide_adcprog and bb_reset bits:

0x07 0xE4 0xDF 0xF6 0xFF 0xFF 0x48 0x00

and I'm able to read it back; in this case, Vout voltage drops to 0.9V

Then, I reset bb_reset bit, leaving overide_adcprog bit:

0x07 0xE0 0xDF 0xF6 0xFF 0xFF 0x48 0x00

but the overide_adcprog bit appears to be reset:

0x07 0xE0 0xDF 0xF6 0xFF 0xFF 0x08 0x00

and Vout voltage goes back to 22.5V

At this point, I try to set overide_adcprog again and change Vout_max:

0x07 0xE0 0xDF 0x06 0xC0 0xFF 0x48 0x00

and I'm able to read it back. The Vout voltage drops to 21.3V.

Then I set bb_reset and reset it with the following strings:

0x07 0xE4 0xDF 0x06 0xC0 0xFF 0x48 0x00

0x07 0xE0 0xDF 0x06 0xC0 0xFF 0x48 0x00

and in both cases Vout drops to 0.9V.

I really can't understand what's happening, maybe datasheet is not so clear on this issue or I'm missing something.

Could you kindly help me?

Best Regards,

Paolo Gerini

  • Hello,
    I've also tried to connect an Arduino M0 Pro to SM72442 demo board. I'm able to read and write reg3 correctly but unfortunately it seems that Vout_max setting has no effect even if overide_adcprog is set. Indeed, if I perform a soft reset (setting and resetting bb_reset bit), Vout voltage drops from 12V to 1.3V; after that, I'm not able to set Vout to 12V again withtout resetting the board.
  • I am not sure if I fully understand your question, or you fully understand the functionality of the SM72442. The SM72442 does not regulate the output voltage like in a regular power management ICs. The It tracks the maximum power point by modulating the PWM to awr rhw input voltage at the maximum power point of the PV panel. The output voltage is actually given, set by an external circuit like a battery charging management IC, or an inverter's input operating voltage. The idea is, whatever the output voltage is, the PWM is adjusted to establish an input voltage at the maximum power point. For instance, Vin = Vo /D in the buck mode, Vin = (1-D)xVo in the boost mode, and Vin = (1-D)/D x Vo in the buck-boost mode, where D is the duty cycle of the PWM.

    Best Regards,
    Youhao Xi, System and Applications Engineering, APP-BMC-BCS, TI
  • Dear Youhao,

    I got you but what we want to do is a battery charger following this application note:

    "http://www.ti.com/lit/an/snosb76c/snosb76c.pdf

    In this document Vout is handled by a mcu in order to perform the charging profile of a lead acid battery thus adjusting the Vout according the battery charge status.

    What we did initially is to change the Vout on the evaluation board, overriding the registers set, instead of adc ch0.

    We can read back what we wrote on the register but Vout does not change.

    Thanks for your help.

    Michele

  • Hi Michele,

    I am trying to find a digital engineer to look into this.  This may take time.  The app note mentioned VADC0=0V (see below).  Have you tried it?

  • Somehow the picture got lost. I meant the VADC0 bullet of Section 6 Programmable Modes/Gain Settings, on page 6 of the app note:

    • VADC0 = 0V. This value provides an initial output voltage limit of 19V. However, this limit will be

    modified by the microcontroller through I2C before the controller begins supplying the battery.