Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

89s52 consumes more power

Status
Not open for further replies.

gauravkothari23

Advanced Member level 2
Joined
Mar 21, 2015
Messages
640
Helped
5
Reputation
10
Reaction score
4
Trophy points
1,298
Activity points
6,922
hi all...
i have made a small circuit using 89s52 and connected 7805 input to 7.4v 2200 mah li-ion battery to get output of 5v which is futher connected to 89s52. but my problem is it consumes a lot of power. my 2200 mah battery gets drained in 4 days even my circuit is in off state only 89s52 being on.
i powered my 89s52 directly to the 7.4v battery using 7805 connecting only +5v and GND to 89s52 to check if my microcontroller consumes the power or not.but yes its the only my 89s52 who consumes the power. what should me done to stop my controller to consume it.

- - - Updated - - -

and also to cross check my circuit... i again connected my 7.4v battery using 7805 to my circuit removing my 89s52... but voltage is stable....
so its now confirmed that its the only 89s52 who consumes my power
 

Are you already putting the program at power down mode during Idle conditions ?

In addition, you could think about to disable unused peripherals, or even tie inputs to determined voltages, but this effectively would not produce significant benefit if compared to working with power down modes. Make an analysis of your system to see if this strategy could be applied to your design.
 

no.... am not using power down mode.... because it needs a harware reset to exit.... which i cant...

- - - Updated - - -

and also am not familiar with codes and systems of PDM
 

The power consumption that you measured seems quite compatible with that is shown on datasheet for normal operation at the maximum oscillator frequency. I can't see another simple way to reduce it even more by hardware, unless dealing with such modes, that are suited to your requirement.

No need of external devices, you can wake-up using internal timer for that.
Take a look on the Watchdog funcionality available at the core.
 

Hi,

i powered my 89s52 directly to the 7.4v battery
I hope not "directely" but via 7805.

The 7805 consumes power.
It is not a real low power regulator. Look at it's datasheet.

4 days are about 100h. The battery has 2200mAh, hat means an average current of about 20mA.
Did you measure this?

I recommend to use the power down features.
How do you want the device to wake up? Is it a key press, or a constant timing? Or something else?

Please measure the microcontroller current and compare it with the datasheet.

Additionally decide how long you need to work from the battery. (Please not: as long as possible. But realistic time)

Klaus
 

Could you please measure how much your microcontroller is drawing the current and as well as your 7805 regulator. I don't think the problem is with the microcontroller. Something phisy in your circuit I guess
 

no i dont think so that there is something fishy with my circuit.....
because i connected only my microcontroller to 4.8v 800mah battery directly. but then too the same problem continues...
even i have low all the ports.
yes i want my device to wake up on keypress....
 

Hi,

can you confirm that your microcontroller current is within the specified (datasheet) range?

If so, then you need to use power down features.

How to decrease current consumption:
* switch off all unnecessary external circuit
* use power down features
* use low frequency clock
* use internal RC clock (if possible)
* all I/O should be very near VCC or GND (no floating, no value inbetween)
* use low supply voltage
* use low power microcontroller

Klaus
 

Hi,

can you confirm that your microcontroller current is within the specified (datasheet) range?

If so, then you need to use power down features.

How to decrease current consumption:
* switch off all unnecessary external circuit
* use power down features
* use low frequency clock
* use internal RC clock (if possible)
* all I/O should be very near VCC or GND (no floating, no value inbetween)
* use low supply voltage
* use low power microcontroller

Klaus
Yes.... my microcontroller input voltage is betwwen 4.5 to 5v.
i have also switched off all unnecessary external componets...
but i am not aware of power down feature...
hiw should i do that....
i am not familiar with this function.. i have tried doing it once...
PCON=0x01. used to enter this mode.... but dont know how to exit...
 

Hi,

because I work with other microcontrollers I can´t give you much help.

But as so often:
The datasheet will tell you.
I´m sure the manufacturer has code examples and application notes for low power applications.

***
Maybe there are various power down features.
Wakeup with intetrnal watchdog should always work.
Wakup by low level interrupt (key press) is very likely.

Klaus
 

Taken from the first page of the datasheet:
The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and
interrupt system to continue functioning. The Power-down mode saves the RAM contents
but freezes the oscillator, disabling all other chip functions until the next interrupt
or hardware reset.
An interrupt (for the key press) will wake up the CPU or you can leave it in Idle mode and let a timer wake it up. Some details in the rest of the document mention the interrupt out of power-down requires the interrupt input stay active until the clock stabilizes.
 

Hi,

you never mentioned the word "current" nor it´s unit "mA".

Are you aware that current drains your battery, not voltage?
To calculate the lifetime of your battery you need to know the current.

Klaus
 

It is better to use switcher than linear regulator(7805) for battery powered units.

i support this...
7805 is a LDO. that means it dissipates some power in heat.. the more regulation the more waste.
use some switching buck regulator suitable for your application.
 

thanks a lot....
yes as u all said i have removed 7805 from my circuit and applied a 4.8v 800mah battery directly to my circuit.
and at initial stage of the program i wrote the code to put the MCR to idle mode.(PCON |=0x01)
but dont know still the problem continues.... i have connected only MCR and removed all other components like lcd, keypad and all from the circuit to check the voltage. its consumes near about 22ma even in the idle mode.... how is it possible

- - - Updated - - -

i am extremely sorry... i just connected my multimeter in series to check the amp.... it reading shows me 65.3( switch pointed towards 200m). is int quite surprising..
 

Hi,

7805 is a LDO. that means it dissipates some power in heat
AFAIK LDO means low dropout. But you are correct, it is a linear regulator. And every linear regulator dissipates a lot of power.
P_tot = (U_in - U_out ) * I_out + U_in * I_Gnd.

*****
I'm confused, what's the idle current?
To check if the controller really is in idle state you could set a pin High before entering idle mode and clear it Low immediately after leaving the idle state. Check pin voltage - best with a scope.

If you still see that the current is higher than given in the datasheet, then you should check again every single item of my post#8.

If you want more help, then you have to post your actual schematic, voltages, currents, frequency...and your complete code.

This thread is now going on for about a week. Please give detailed informations to speed up.

Klaus
 

case 1= i have connected my 7.4v battery with 7805 checked my current with the MCR in idle mode... it shows me 150mah....
case2= so again i checked with 4.8v battery without using 7805 and check with MCR in idle mode.... again it shows me the same.. 150mah and sometimes goes above 200mah...
in both the case i have removed all the unnecessary components.
case3= also tried connecting my 4.8v battery directly to My MCR... i mean only battery and 89s52... i connected my battery + to pin 40 and battery - to 20..... the result was the same...
i dont understand why my 89s52 consumes so much current... when the datasheet says that...
Active mode=25mah
idle mode= 6.5mah.
if there would be something wrong with my circuit then atleast the result should be appropriate in case3.. where no circuit has been involved.... i have used all my 4 89s52.... but the result does not change..
my 89s52 is in idle mode....
all ports has been low...
what should i do now..

- - - Updated - - -

do this crystals create a problem.... i have used 11.059MHz
 

Hi,

You still mix mAh and mA.

my 89s52 is in idle mode....
How do you know?

all ports has been low...
How do you know?

what should i do now..
At least show your code..., a picture of your circuit where we can see the voltage and current measurement.
And please verify your current meter readings.

I doubt your current measurements. You speak of mAh, but a device doesn't consume mAh but mA.
But with 150 mA the controller will become hot. Can you feel the heat?
Also at start of the thread we calculated about 20mA , what seems to be realistic.

Klaus
 

thats what confusing me...
now its showing me greater than 200ma.
as u said the microcontroller gets hot.... but its not getting it...
i have taken a reading few minutes ago.. sending you the image of it.
its going on increasing.
as i siad you i have low all the ports.... what would matter if i even high it..... i dont have any output right now....
 

Attachments

  • 1443987300698-682928083.jpg
    1443987300698-682928083.jpg
    1 MB · Views: 95

The red color of the wire comming from the battery suggests you're inverting the polarity. Moreover, the black wire close to the mutitester seems broken, or almost.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top