Jump to content
Sign in to follow this  
rord100

MSP430G2553 LPM4 works by current doesn't go bellow ~ 75 ?A

Recommended Posts

Hi,

I am new to this form yet I have a question regarding MSP430G2553 low power mode (LPM4). My setup includes an MSP-EXP430G2 Launchpad with MSP430g2553 controller assembled on an external self made PCB with RX, TX, TEST,  RST, VCC  connected to the Luanchpad through a FLUKE 187 (high quality meter ) micro Amper meter and GND pins. I tried the recommended sketch, attached bellow,  I found on another forum  to test the LPM4 mode, including the "for(uint8_t i;i<20;i++) pinMode(i, INPUT_PULLDOWN)" routine

followed by pinMode(P1_3,INPUT_PULLUP); and pinMode(P1_0,OUTPUT);

 It seem to work but when in LPM4, I measure 75 micro ampers instead of the desired ~ 0.1 micro amps.

 

Can anybody  please advise how can I reach the desired ~ 0.1 microamp.

 

Thank you

 

@@rord100

 

The sketch I used to test the LPM4 mode

void setup()
{
pinMode(P1_1,INPUT_PULLDOWN);
pinMode(P1_2,INPUT_PULLDOWN);
pinMode(P1_3,INPUT_PULLDOWN);
pinMode(P1_4,INPUT_PULLDOWN);
pinMode(P1_5,INPUT_PULLDOWN);
pinMode(P1_6,INPUT_PULLDOWN);
pinMode(P1_7,INPUT_PULLDOWN);

pinMode(P2_0,INPUT_PULLDOWN);
pinMode(P2_1,INPUT_PULLDOWN);
pinMode(P2_2,INPUT_PULLDOWN);
pinMode(P2_3,INPUT_PULLDOWN);
pinMode(P2_4,INPUT_PULLDOWN);
pinMode(P2_5,INPUT_PULLDOWN);
pinMode(P1_3,INPUT_PULLUP); //Enable inputs on P1_3 (onboard button)
pinMode(P1_0,OUTPUT); //Enable output on P1_0 (onboard red LED)
attachInterrupt(P1_3,Interrupt, FALLING); //attach our interrupt routine to P1_3
}

void loop()
{
LPM4; //whenever the loop runs, switch back into LPM4
//we could put code here that would run after every Interrupt - see warning in text.
}

void Interrupt(void) //Our interrupt routine
{
digitalWrite(P1_0,!digitalRead(P1_0)); //toggle the red LED
};
Edited by bluehash
[ADMIN] - Please use code tags <> to illustrate code.

Share this post


Link to post
Share on other sites

Achieving ultra-low power can sometimes take a bit of work. It might be helpful to see a circuit diagram. If you have a pull-down resistor with a logic HIGH applied you will have power loss through that resistor (for example your serial lines?)

 

Are there any other parts fitted on your custom PCB?

Just having the debugger connected adds additional power loss, even when the MSP is in LPM4.

Share this post


Link to post
Share on other sites

I might be wrong but all those INPUT_PULLDOWN might consume some power, so consider only enabling the pins you are using, which here would be P1_0 and P1_3.

After defining P1_0 as OUTPUT, you should give it a known state, like "digitalWrite(P1_0, LOW);".

 

Also, you might consider moving LPM4 to the end of setup() and leave loop() empty, or insert "while(1) {};" after calling LPM4.

Share this post


Link to post
Share on other sites

Achieving ultra-low power can sometimes take a bit of work. It might be helpful to see a circuit diagram. If you have a pull-down resistor with a logic HIGH applied you will have power loss through that resistor (for example your serial lines?)

 

Are there any other parts fitted on your custom PCB?

Just having the debugger connected adds additional power loss, even when the MSP is in LPM4.

Hi greeeg,

 

Thank you for your input. Attached please find the circuit diagram I use. I have no external pull down resistors at all.

All other parts on my PCB, like 4 LEDs and one buzzer are active only when the program is awake. When in LPM4 mode all LEDs outputs are set to HIGH and the Buzzer output is set to LOW , so no current should flow through these guys.

Regarding the RX, TX, RST and TEST pins , when I disconnect RX and TX there is no change in current consumption , still 75

430h2.pdf

Share this post


Link to post
Share on other sites

Hi,

 

Did you get off all jumpers ? Some current can be drown throught serial connexions.

Hi,

Thank you, I did but to no avail, still same current consumption, But I realized that when I disconnect the TEST jumper from the Luanchpad the program stop running. Any Idea ?

Share this post


Link to post
Share on other sites

Achieving ultra-low power can sometimes take a bit of work. It might be helpful to see a circuit diagram. If you have a pull-down resistor with a logic HIGH applied you will have power loss through that resistor (for example your serial lines?)

 

Are there any other parts fitted on your custom PCB?

Just having the debugger connected adds additional power loss, even when the MSP is in LPM4.

For some reason, probably because I am new my reply to you seem to appear in the wrong place. So I will try again to insert my reply where I think it is right. I also attached the diagram as PDF attachment, I could not figure out how to make it appear nicely on the page.

 

Hi greeeg,

 

Thank you for your input. Attached please find the circuit diagram I use. I have no external pull down resistors at all.

All other parts on my PCB, like 4 LEDs and one buzzer are active only when the program is awake. When in LPM4 mode all LEDs outputs are set to HIGH and the Buzzer output is set to LOW , so no current should flow through these guys.

Regarding the RX, TX, RST and TEST pins , when I disconnect RX and TX there is no change in current consumption , still 75

430h2.pdf

Share this post


Link to post
Share on other sites

I might be wrong but all those INPUT_PULLDOWN might consume some power, so consider only enabling the pins you are using, which here would be P1_0 and P1_3.

After defining P1_0 as OUTPUT, you should give it a known state, like "digitalWrite(P1_0, LOW);".

 

Also, you might consider moving LPM4 to the end of setup() and leave loop() empty, or insert "while(1) {};" after calling LPM4.

Hi @Mention,

Thank you for your input. I have tried with and without all those INPUT_PULLDOWN but with no significant change in current consumption. I already tried to insert the LPM4 in different places including at the end of setup() but to no avail. 

Share this post


Link to post
Share on other sites

A reminder @@rord100 to not cross post in multiple forums. It only makes it harder for members to answer your question.

Hi ,

 

Sorry for the confusion I caused. Is there any way to cancel my post in one of the forums?

Share this post


Link to post
Share on other sites

Hi greeeg,

 

Thank you for your input. Attached please find the circuit diagram I use. I have no external pull down resistors at all.

All other parts on my PCB, like 4 LEDs and one buzzer are active only when the program is awake. When in LPM4 mode all LEDs outputs are set to HIGH and the Buzzer output is set to LOW , so no current should flow through these guys.

Regarding the RX, TX, RST and TEST pins , when I disconnect RX and TX there is no change in current consumption , still 75

Share this post


Link to post
Share on other sites

Hi,

Thank you, I did but to no avail, still same current consumption, But I realized that when I disconnect the TEST jumper from the Luanchpad the program stop running. Any Idea ?

Hi ,

This last problem is solved by connecting  the  RST pin on the target board to VCC. The high current consumption did not go away just yet...

Share this post


Link to post
Share on other sites

Hi guys,

 

I would like to report that following your comments I tried to set:   pinMode(P1_3,INPUT_PULLDOWN); instead of  the previous pinMode(P1_3,INPUT_PULLUP); and consequently I had to change  attachInterrupt(P1_3,Interrupt, RISING);instead of the the previous attachInterrupt(P1_3,Interrupt, FALLING);. I needed to change the switch  wiring  from GND to Vcc.

The results are that power consumption went from 75

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...