vinodstanur
Advanced Member level 3
- Joined
- Oct 31, 2009
- Messages
- 751
- Helped
- 114
- Reputation
- 234
- Reaction score
- 114
- Trophy points
- 1,333
- Location
- Kerala (INDIA)
- Activity points
- 7,054
Hi,
I am trying powerdown mode in avr atmega328p.
I am using internal 1MHz clock, brown out detection disabled in fuse.
My problem is, I am not able to get a current less than 55uA at power down mode...
Here is my code:
Circuit is simple, pulled up reset using 10k resistor, pulled down interrupt 0 pin using 10k resistor, connected a .1uf cap between Vdd and gnd close to mcu, connected an LED with 100 E at PB0 to ground.... Thats all....
Removed the ISP programmer after programming still the current is 55uA .... Measuring using M890G UNITY multimeter...
Also one more thing, since it is ATMEGA328(P) I tried to reduce the voltage to 1.8V but at that time the powerdown mode current becomes 215uA..
BUT according to datasheet it is written as
So what will be the problem ?
I am trying powerdown mode in avr atmega328p.
I am using internal 1MHz clock, brown out detection disabled in fuse.
My problem is, I am not able to get a current less than 55uA at power down mode...
Here is my code:
Code:
#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <avr/wdt.h>
#include "uart.h"
void deepsleep(void);
void extint_enable(void);
ISR(INT0_vect)
{
}
//main routine
void main(void)
{
DDRB |= 1<<PB0;
extint_enable();
sei();
deep_sleep();
//after wakeup blink led
while(1) {
PORTB ^= 1<<PB0;
_delay_ms(1000);
}
}
void deep_sleep(void) {
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode();
}
void extint_enable(void) {
EICRA |= (1<<ISC01)|(1<<ISC00);
EIMSK |= 1<<INT0;
}
Circuit is simple, pulled up reset using 10k resistor, pulled down interrupt 0 pin using 10k resistor, connected a .1uf cap between Vdd and gnd close to mcu, connected an LED with 100 E at PB0 to ground.... Thats all....
Removed the ISP programmer after programming still the current is 55uA .... Measuring using M890G UNITY multimeter...
Also one more thing, since it is ATMEGA328(P) I tried to reduce the voltage to 1.8V but at that time the powerdown mode current becomes 215uA..
BUT according to datasheet it is written as
Low Power Consumption at 1 MHz, 1.8V, 25°C for ATmega48PA/88PA/168PA/328P:
– Active Mode: 0.2 mA
– Power-down Mode: 0.1 μA
– Power-save Mode: 0.75 μA (Including 32 kHz RTC)
So what will be the problem ?