Перейти к содержанию

    

Энергопотребление STM32F103C8T6

Доброго всем дня!

 

В данный момент времени пытаюсь добиться минимального потребления у микроконтроллера STM32F103C8T6 с дешевой китайской платы, вот этой:

61tv%20oGg%201L._SY355_.jpg

Перевожу в STOP mode по руководству из SPL, оживляю по RTC, вроде бы все работает. В режиме обычного потребления имею где-то 8 мА, строго по руководству (я снизил частоту до 8 МГц, больше мне не надо). А вот в режиме остановки получаю больше 1мА, хотя по документам должно быть в районе 20 мкА, что как бы совсем не очень. Прочитал кучу документов, выполнил следующие действия:

1) отключаю перед уходом в сон АЦП

2) отключаю тактирование всех пинов и перевожу их в Analog Input, чтобы не тратить энергию на триггеры Шмитта

3) обнаружил на форумах указание на то, что может течь ток в случае неподключенного пина Vbat, подсоединил его к 3.3V

Уже прозвонил все резисторы на плате, нигде нет напряжения, существенного тока течь не может.

Схема платы вот такая:

stm32f103c8t6_schematic.png

Вроде бы ничего предосудительного нет, встречал намеки на потребеление через ненагруженный LDO-регулятор, но вроде бы товарищи писали, что существенный ток там не течет. Он обозначен на схеме как rt8183-b, но опять же форумы утверждают, что на деле это RT9193 от Richtek.

 

В какую сторону еще можно посмотреть, что подправить, хотелось бы потребление максимум 100мкА, и вроде бы у людей это получалось, причем без настолько существенных мероприятий.

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
..

в пдф-е на ваш LDO сказано, что он во включённом режиме , без нагрузки потребляет 100 мка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Красный светодиод отключить.

Схему нормальную приложить, а то слишком мелкая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Красный светодиод отключить.

 

Ясно дело, да и ток замерить после LDO перед МК, как по правилам. В дискавери для этого спец. перемычка была, ну а китайцы наверно ее нафиг убрали :biggrin:

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Красный светодиод отключить.

Схему нормальную приложить, а то слишком мелкая.

Светодиод отключен, конечно, он же не 1мА ест, а 2,5.

 

в пдф-е на ваш LDO сказано, что он во включённом режиме , без нагрузки потребляет 100 мка.

100 мкА и 1мА - это все-таки разного порядка величины, нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
100 мкА и 1мА - это все-таки разного порядка величины, нет?

..100 мка он без нагрузки потребляет, а сколько под нагрузкой неизвестно, потом я ориентировался на ваше пожелание получить всего 100 мка .

Потом у вас в схеме кнопка на землю , нажата она или нет? Подключена ли куда ваша схема когда вы ток замеряете, к программатору или к юсб?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ясно дело, да и ток замерить после LDO перед МК, как по правилам. В дискавери для этого спец. перемычка была, ну а китайцы наверно ее нафиг убрали :biggrin:

Да, перемычки нет, так что померять ток будет сложно, проще выпаять его совсем :)

 

 

..100 мка он без нагрузки потребляет, а сколько под нагрузкой неизвестно, потом я ориентировался на ваше пожелание получить всего 100 мка .

Потом у вас в схеме кнопка на землю , нажата она или нет? Подключена ли куда ваша схема когда вы ток замеряете, к программатору или к юсб?

Так нагрузки никакой нет, преобразователь только для питания от USB, а я его напрямую запитываю 3.3В от лабораторного источника питания. Так что в данный момент он никакой функции не несет, вопрос только в том, не гадит ли он при этом...

Да, кнопка не нажата, светодиод на 3.3В отпаян, по идее ничего ток не ест, проблема может быть только внутри самого контроллера или с этим преобразователем.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я так понял что приведённая принципиальная схема не соответствует действительности, причём совсем .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
я так понял что приведённая принципиальная схема не соответствует действительности, причём совсем .

Почему? Схема может быть запитана как от USB через разъем CN3 и преобразователь U1, так и напрямую от 3.3В через разъем CN4.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Так что в данный момент он никакой функции не несет, вопрос только в том, не гадит ли он при этом...

 

Дак проблема-то ни о чем, откинуть 4 и 5 ногу ЛДОшки и проверить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Дак проблема-то ни о чем, откинуть 4 и 5 ногу ЛДОшки и проверить...

Убрал его совсем. Показания вообще не поменялись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удалось определить виновника утечки. Плата тут не при чем, ток потребляет АЦП, хотя я его вроде бы отключаю вот так:

ADC_Cmd(ADC1, DISABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, DISABLE);

Без АЦП потребление порядка 20 мкА, с включенным АЦП - 800 мкА, с дополнительно включенной внутренней опорой (я хочу использовать ее для измерения напряжения питания) потребляет 1,2 мА.

Пока что буду думать, как все это хозяйство действительно выключить на время сна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос закрыт. Достигнутый уровень потребления в Stop Mode - 15 мкА, что соответствует заявленным в даташите 14 мкА.

С отключенным на время сна АЦП потребление снизилось до 70 мкА. SysTick на потребление никак не влияет, разве что упрощает отладку, с ним и подключенным отладчиком войти в режим сна не выходит.

Еще 55 мкА потреблял вроде бы неиспользуемый LDO, видимо, через резистивный делитель, используемый в обратной связи:

current.png

 

Всем спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация