|
Режим Active, 128 кГц, потребляемый ток "де факто" |
|
|
|
 |
Ответов
(1 - 51)
|
Jan 26 2007, 14:11
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(smk @ Jan 26 2007, 17:30)  Если кто-то делал проекты с АВР, тактируемыми от внутреннего генератора 128 кГц, то совпал ли потребляемый ток с даташитом? В моем случае (Tiny13) должна потреблять по документации не более 0,08 мА. А фактически 0,395 мА. К выводам ничего не подключал лишнего, поотключал вааще все! Отключены АЦП и компаратор. Почему может быть такая разница? Подскажите что это, если кто в курсе... А в каком режиме? sleep idle, sleep power-down, active. Кроме того, давно правда, здесь обсуждали похожую проблему, и пришли к выводу, что еще и от состояния портов зависит ток потребления МК
--------------------
|
|
|
|
|
Jan 26 2007, 14:26
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Я, например, нашёл на странице 126 график FIGURE 18. Имеется ввиду FIGURE 68? Там при питании 4 В 0,08 мА. 0,12 мА при 5,5 В
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 26 2007, 14:34
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(smk @ Jan 26 2007, 18:18)  Режим active. А где обсуждали? И при каких состояниях меньше? У меня сейчас теста ради рабтает программка, перезапускающая таймет и инвертирующая ногу порта. Другая в "1". Остальные - входы без подтяжет. Хе, таймер то нада чтоб тоже не работал, вообще чтоб все стояло нада. По поводу топика: летом это было...или весной  Возможно тема утонула... А что, в тини много ножек чтоль, попробуйте, поэкспериментируйте. Где то с год назад пробовал поиграться с потреблением с ATtiny2313 - но так и не получилось понизить ток в раз пять больше обещанного На самом деле, счас посмотрел, чуть более 0,08 мА должно быть...(стр.125. График.68) Цитата(smk @ Jan 26 2007, 18:26)  Цитата Я, например, нашёл на странице 126 график FIGURE 18. Имеется ввиду FIGURE 68? Там при питании 4 В 0,08 мА. 0,12 мА при 5,5 В Имеется ввиду на странице 128 FIGURE 74. Idle supply current vs Vcc(Internal RC iscillator 128 kHz)
--------------------
|
|
|
|
|
Jan 26 2007, 14:41
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
С менеджментом худо. Нет у проца времени спать. У меня вообще 16 тактов чтоб таймер перезапустить, инкременировать счетчик и провести сравнение. Как его делать - не знаю. Цитата Имеется ввиду на странице 128 FIGURE 74. Idle supply current vs Vcc(Internal RC iscillator 128 kHz) В моем варианте там вааще 0,02 мА. Но это в режиме idle. FIGURE 68 про режим active.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 26 2007, 14:47
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(smk @ Jan 26 2007, 18:41)  С менеджментом худо. Нет у проца времени спать. У меня вообще 16 тактов чтоб таймер перезапустить, инкременировать счетчик и провести сравнение. Как его делать - не знаю. Цитата Имеется ввиду на странице 128 FIGURE 74. Idle supply current vs Vcc(Internal RC iscillator 128 kHz) В моем варианте там вааще 0,02 мА. Но это в режиме idle. FIGURE 68 про режим active. Дак а что с таймером то? Его, похоже, тоже нужно останавливать, чтоб достичь обещанных токов. Нужно, скорее всего, чтобы ВСЕ стояло и не изменялось, ну, окромя ядра, конечно.
--------------------
|
|
|
|
|
Jan 26 2007, 14:51
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(smk @ Jan 26 2007, 14:18)  Остальные - входы без подтяжет. Смеха ради переведи их на выход. ;О) И померяй. Кроме того, есть смысл отключить БОД. Но это копейки.
|
|
|
|
|
Jan 26 2007, 15:10
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата Цитата чтобы ВСЕ стояло и не изменялось, ну, окромя ядра, конечно. Откуда информация? Если верить Евстифееву, то режим idle это вышеописанное, но наоборот. А active это когда все работает. Ну это ИМХО, конечно (забыл добавить). Противоположный - зачем же тогда Вы все пытаетесь отключать? Почитайте раздел Power Management and Sleep Modes -> Minimizing Power Consumption. Там, кстати, и про порты написанно (раздел Port Pins)
--------------------
|
|
|
|
|
Jan 29 2007, 12:16
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
DebugWare выключен (DWEN=1), BOD выключен (BODLEVEL0=1 BODLEVEL1=1 , Компаратор выключен ACSR=0x80;. Цитата Я тока что мучился. Почитай посты. У меня был DebugWare включен. Посмотрел последние - ничего не нашел. А что за проблема была и как решилась? Отключение дергания ногой дало экономию в 0,003 мА. Инвертирую переменную чтоб создать видимость работы проги. Таймер пока включен. Интересно узнать как обстоят дела по части совпадения потребляемого тока де факто с даташит у других контроллеров. В частности Mega16 должна уметь потреблять 1,1 мА в активном режиме...
Сообщение отредактировал smk - Jan 29 2007, 12:27
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 29 2007, 14:55
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Попробовал поэкспериментировать с Mega48-20PU в DIP28.
По даташит он умеет потреблять 0,24 мА. Тактовая - внутренний 1 МГц, периферия вся отключена. Ну да для начала правильно подключаю питпние 3,84 В (оба), землю и меряю ток. Намерялось 0,75 мА. Смотрю в даташит - должно быть 0,65... 0,70 мА. Вспоминаю о существовании погрешности и делаю вывод, что даташиту вполне соответствует. Далее программирую контроллер. Программа:
while (1) { // Place your code here unsigned int a; bit b; a++; if (a==50000) { b=!b; a=0; } };
Вся периферия по-прежнему отключена. Разница только в том, что вычислительная часть начала что-то вычислять.
При прочих равных условиях потребляемый ток составил 4,6 мА!!!
Ну и какой FIGURE это соответствует? Потребляемый ток вообще можно считать прогнозируемым? Или только когда контроллер ничего не делает... в таком варианте и без даташит скажу как сделать ток минимальным. Ну да догадаться не трудно.
Какие будут мнения? Может кто сможет на ATMEL консультацию запросить? Сам бы написал, да настолько не силен в инглише. А разбираться надо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 29 2007, 15:38
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Стартап: #include <mega48.h> // Declare your global variables here void main(void) { // Declare your local variables here // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=0x80; CLKPR=0x00; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=0x00; TCCR0B=0x00; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2A output: Disconnected // OC2B output: Disconnected ASSR=0x00; TCCR2A=0x00; TCCR2B=0x00; TCNT2=0x00; OCR2A=0x00; OCR2B=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-14: Off // Interrupt on any change on pins PCINT16-23: Off EICRA=0x00; EIMSK=0x00; PCICR=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=0x00; // Timer/Counter 1 Interrupt(s) initialization TIMSK1=0x00; // Timer/Counter 2 Interrupt(s) initialization TIMSK2=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; ADCSRB=0x00; Кстати, вытер свою экспериментальную Tiny13-20PI в DIP8. При тактовой 128кГц и питании 3,84 В потребляемый ток составил 94,7 мкА. Включен таймер и АЦП. Так что можно сказать паспортное значение. Только зачем оно надо такое. Как его использовать? Мне интереснее знать ток работающего контроллера. И лучше знать до того как будет собран макет. Цитата Ноги ещё, небось как входы. "Чтоб не потребляли". ;О) Какие будут предложения?
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 29 2007, 15:53
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(smk @ Jan 29 2007, 15:38)  Какие будут предложения? Естественно, настроить на выход. Какой ток собираетесь мерять, если порты на вход и от касания корпуса он может меняться в десятки раз? И ещё в Атмел писать? ;О) Уже давал ХЗ скока раз результат экскремента: М48@1,8В часовой таймер, от него просыпаемся из пауэрдаун раз в сек. Все порты на вывод. Всё отключено: БОД, ДВ, ОЦД, ВД... И от РС=8МГц тарабаним 1000 тактов. Потребление - 7,5мкА. После помывки платы намерял 4,5мкА. Вольт до 4 ток растёт незначительно(скока - не помню) но после 3,7-3,8В начинает расти в разы. И десятки раз.
|
|
|
|
|
Jan 29 2007, 16:42
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Естественно, настроить на выход. Какой ток собираетесь мерять, если порты на вход и от касания корпуса он может меняться в десятки раз? И ещё в Атмел писать? ;О) Уже давал ХЗ скока раз результат экскремента: М48@1,8В часовой таймер, от него просыпаемся из пауэрдаун раз в сек. Все порты на вывод. Всё отключено: БОД, ДВ, ОЦД, ВД... И от РС=8МГц тарабаним 1000 тактов. Потребление - 7,5мкА. После помывки платы намерял 4,5мкА. Вольт до 4 ток растёт незначительно(скока - не помню) но после 3,7-3,8В начинает расти в разы. И десятки раз. Как интересно. Спасибо, наставили на путь истинный. Спасибо всем! Снизил питание тини до 3,38 В - ток при прочих равных упал до 67 мкА (на 27,7 мкА) Как я понимаю из примера экономия вышла за счет "прерывистого" режима. Таким образом соотношение времени "работа / сон" составило 1000 раз (РС то 8 мГц, но прескеллер тоже 8, так что реальная ядра 1 мГц). А соотношение тока в непрерывном активном режиме при 1 мГц и 128 кГц составляет 34,2 раза. Отсюда и экономия по реально потребленной мощности. Я все правильно понял? Ну и с выходами тоже понятно. Совет про 3,7 В - ценный, спасибо!!!
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 29 2007, 22:00
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата не, у меня без прескалера было. но суть идеи я понял правильно? Цитата А не пробовали ли что скажет на все это VMLAB? Нет. Если често, прямому измерению верю больше. Протеус даже не напрягаю на это дело. Не верю я им и точка. Транзисторные каскады еще смотрю в целях оптимизации. Цитата Прикидывал по разнице кол-ва тактов в активном режиме, что на активный режим приходилось порядка 0,7-0,8мка. а чуток развернутей можно объяснить? чет не соображу как оно было.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 30 2007, 10:09
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(smk @ Jan 29 2007, 22:00)  но суть идеи я понял правильно? Да. только проецировать на все режимы работы не стоит, бо разные источники клока потребляют по-разному. И помногу, гады. ;О/ Цитата а чуток развернутей можно объяснить? чет не соображу как оно было. Ну как...дал 1000 тактов, потом 2000. Разницца налиццо. ;О)
|
|
|
|
|
Jan 30 2007, 11:28
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(smk @ Jan 30 2007, 11:04)  Ясно. А аккумулятор разряжать не приходилось? Всеж думаю реальную потребляемую мощность следует рассчитывать исходя из времени, проведенном в активном/спящем режимах и потребляемой мощности в каждом режиме. Т.е. в случае с аккумулятором замерять токи и зная соотношение времени считать на как долго аккумулятора хватит. Будут практические цифирки - напишу. Не понял, обо што речь? Пишете программку, добиваетесь максимального микропотребления, делите ампер-часы вашего аккума на полученый ток и получаете часы работы. Ну пусть в моём примере М48 жрала бы 10мка, тогда на стандартной литиевой таблетке 0,22Ач она проработает 22000часов или 2,5 года. А если ваш аккум хотяб 1Ач, то, думаю, ваших практицких цыфр мы не скоро дождёмся. ;О) Ну, ессно, если саморазряд у него не 100мка, к примеру...
|
|
|
|
|
Jan 30 2007, 17:13
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата В ЭФО Цитата Тиня 25. $0,85. Вкусно. Я в Киеве. Что такое "ЭФО"? Я вот теперь в этой всей связи думаю, что явно нужно выключать аналоговую часть на время сна. Осталось придумать чем. Так чтоб падало на ней маловато. Аналоговая - это операционник с виртуальной землей. Думаю... транзистор попробовать?
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jan 30 2007, 17:22
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(smk @ Jan 30 2007, 17:13)  Я вот теперь в этой всей связи думаю, что явно нужно выключать аналоговую часть на время сна. Осталось придумать чем. Так чтоб падало на ней маловато. Аналоговая - это операционник с виртуальной землей. Думаю... транзистор попробовать? А не проще операционник малопотребляющий поставить? op196 - 0.045ма если нужно 12 В питание ad8603, ad8541 - 0,04ма если питание 5В
|
|
|
|
|
Jan 30 2007, 18:26
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(smk @ Jan 30 2007, 16:13)  Цитата В ЭФО Цитата Тиня 25. $0,85. Вкусно. Я в Киеве. Что такое "ЭФО"? Если в Киеве, так наверное, дешевле чем здесь авр-ки не найдете. Правда, 25_ой нету. Зато есть 45 http://biakom.com/index.php?cPath=18_11053...d8bb855b1ba69c0
|
|
|
|
|
Jan 30 2007, 20:20
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Если в Киеве, так наверное, дешевле чем здесь авр-ки не найдете. Правда, 25_ой нету. Зато есть 45 http://biakom.com/index.php?cPath=18_11053...d8bb855b1ba69c0Знаем таких. Бывал. Есть еще Имрад. Конечно вопрос цены и надежности партнера... есть еще возможность закупать за рубежом и привозить сюда. Есть фирмы, что под заказ это делают. Ну да буду пообщаться... чего-то наобщаюсь.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Feb 1 2007, 10:31
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(algidim @ Jan 31 2007, 23:29)  отношение debegWIRE имеет к прогроммированию по SPI ? Оживить теперь его возможно только паралельным программатором ? У меня была такая же засада с debegWIRE, но с тини45. Помог http://elm-chan.org/works/avrx/report_e.htmlА вот с 48 могут быть более приятные засады, связанные с CKDIV. Если его прошить, придется пошаманить с режимами программирования, (тактованием кристалла) иначе внешне выглядит точно так же. Не отзывается.
|
|
|
|
|
Feb 1 2007, 10:42
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(algidim @ Feb 1 2007, 00:29)  Подскажите пожалуйста.В контроллере atmega48 программатором avreal выключил debegWIRE для уменшения энергопотребления и контроллер перестал определятся программатором. Извените за возможно глупый вопрос , но непойму кокое отношение debegWIRE имеет к прогроммированию по SPI ? Оживить теперь его возможно только паралельным программатором ? Судя по всему вы не выключили debegWIRE, а на оборот включили. Так как по умолчанию он отключен. debegWIRE у контроллеров заведен на Reset, так что блокирует ISP. Отключить его можно теперь или по самой же debegWIRE, или параллельным программатором.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|