|
Вопрос по ATmega48V, потребление |
|
|
|
Feb 27 2007, 22:20
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 10-03-05
Из: город N
Пользователь №: 3 200

|
Тактирую ATmega48V от часового кварца, питание 5В. Проблема в том, что потребление при данном режиме 750мкА. А по документации должно быть 15 мкА. Утечка через порты (они сконфигурены как входы) или сто-то ещё? Может что-то забыл настроить ещё? Подскажите кто вталкивался с такой проблемой.
|
|
|
|
|
Feb 28 2007, 03:28
|
Частый гость
 
Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595

|
Цитата невозможностью генерировать на ногах сигналы таймером с частотами больше Fтактовая / 16. А где такое написано?
|
|
|
|
|
Feb 28 2007, 07:28
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 10-03-05
Из: город N
Пользователь №: 3 200

|
Цитата(smk @ Feb 28 2007, 02:55)  1) Порты сделай выходами. 2) Питай от 1,8 В. В любом случае не выше 3,6 В. 3) Используй режим Powerdown и Sleep в паузах во время работы порограммы. И вообще посмотри программу, возможно удастся сделать так чтоб он подольше спал. По вочдогу просыпается, делает что надо и опять засыпает.
P.S. Использование низких тактовых частот имеет ряд проблем и оправдано только тогда когда контроллер нельзя отправлять спать, да и то есть внешние прерывания. Одна из проблем связанна с невозможностью генерировать на ногах сигналы таймером с частотами больше Fтактовая / 16. При 32 кГц нельзя использовать АЦП. Fadc не менее 50 кГц... Так что в спячку его...
с учетом вышесказанного тут кое кто добивался 7,8 мкА на меге48. С портами попробую. Питание... что сним делать? В даташите не сказано, что это только при пониженном питании у него на такой частоте потребление 15 мкА. В спячку его нельзя, он постоянно выполняет рабочий цикл. И потом, по тому же даташиту, 15 мкА - это ток потребления в активном режиме. Частота такая выбрана потому, что там не АЦП не нужен, ни скорость высокая. А питания на весь девайс 1 мА.
Сообщение отредактировал H O--O K - Feb 28 2007, 07:30
|
|
|
|
|
Feb 28 2007, 09:22
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата А где такое написано? Нигде не написано. Просто компилятор компилирует код программы так, что для работы с таймером требуется 16 тактов. Например: TCNT0 = 0xF9; while (1) { if (TIFR0 & 0x02) { TCNT0 = 0xF9; TIFR0 = 0x02; PORTB.0 = !PORTB.0; } } попробуйте кому интересно. Цитата В даташите не сказано, что это только при пониженном питании у него на такой частоте потребление 15 мкА. Да. Написано. В случае когда не выполняется никакой программы. А стоит начать делать ну хотябы вышеприведенный цикл - потребление возрастает. Потребление тока зависит от числа переключений внутри.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Feb 28 2007, 14:51
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата smk, спасибо, поржал Мне бы и в голову не пришла мысль именно так генерировать меандр А как? ШИМ? Не очень то интересно... Предлагайте... я на звание "супер спеца" не претендую. С удовольствием поучусь.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Feb 28 2007, 15:22
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(H O--O K @ Feb 28 2007, 07:28)  С портами попробую. Питание... что сним делать? В даташите не сказано, что это только при пониженном питании у него на такой частоте потребление 15 мкА. В спячку его нельзя, он постоянно выполняет рабочий цикл. И потом, по тому же даташиту, 15 мкА - это ток потребления в активном режиме. Частота такая выбрана потому, что там не АЦП не нужен, ни скорость высокая. А питания на весь девайс 1 мА. Есть еще хороший и удобный вариант - от 32kHz тактировать Timer2 в асинхронном режиме, по прерыванию переполнения просыпаться и работать на встроенном RC. Экономично и нет проблем, когда в каком-то месте нужно иметь более-менее приличную скорость обработки. Цитата(SasaVitebsk @ Feb 28 2007, 14:39)  Утечка ч/з порты всётаки копейки. Необходимо переферию лишнюю поодключать и программу перелопатить с целью оптимизации и сна.
В М48, по моему можно от внутреннего RC генератора запустить на 128кГц. Со сном, возможно будет меньше потреблять чем от 32 без сна. Сотни uA из-за болтающихся входов - легко. Особенно если потребление плавает при поднесении руки.
|
|
|
|
|
Feb 28 2007, 16:37
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Да. Мне тоже.
Ну мне кажется, что на ЯВЕ будет все 25. Да, кстати. 25 и есть. Так научите как правильно или только смеяться будете? Цитата Многовато всё же 100 мкА... Питание 1,8 В сделай. Поможет.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Feb 28 2007, 17:42
|
Частый гость
 
Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595

|
Цитата(smk @ Feb 28 2007, 16:37)  Так научите как правильно или только смеяться будете? Почитай про режимы работы таймера. Они именно для этого и предназначены. Вообще, даташит - полезнейшая вещь. Если сложности с английским - на гав.ру лежит русское описание меги128 (перевод ДШ), а поскольку все таймеры на разных АВРках похожи как китайцы друг на друга, то описание с незначительными исправлениями подойдёт практически под любой АВР.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|