Мы строим регистратор данных с низким энергопотреблением на базе ATmega328P, чтобы использовать загрузчик Arduino, IDE и т. Д. В идеале потребляемая мощность должна составлять менее 0,3 мА при 3,3 В, чтобы срок службы одного устройства составлял около 4 месяцев. Батарея АА. Данные датчика будут храниться со скоростью не более 76 байт / с в течение 4 месяцев, что дает около 750 МБ данных. Поэтому нам нужно большое запоминающее устройство, которое все еще потребляет мало энергии.
Из того, что я могу сказать, единственное практическое решение для хранения такого количества данных - это использование SD-карты. Однако SD-карты, похоже, потребляют немного больше энергии, чем мы можем себе позволить, ток простоя 0,2 мА для карт, которые у нас сейчас есть, и больше, когда они пишут.
Итак, некоторые вопросы:
- Является ли переключатель верхней стороны единственным практичным способом управления энергопотреблением SD-карты?
- Есть ли какие-то предупреждения, о которых мы должны знать при переключении питания на карту? Например, выравнивание износа - это процесс, который будет выполняться после записи блока, или это может произойти в любое время.
- Есть ли другие альтернативы, которые мы должны рассмотреть?
источник
Ответы:
Если вы планируете в среднем 0,3 мА, то учитывается каждый мкА. Не такая большая проблема для микроконтроллера, но SD-карта будет потреблять десятки мАс. Вы хотите включить его как можно меньше. Но ATmega328P имеет только 2 КБ ОЗУ, поэтому ваш буфер сэмплов будет заполнен менее чем за полминуты, а затем пришло время для записи на SD-карту. Два раза в минуту
Я бы рассмотрел TI MSP430 вместо AVR. Это по-прежнему самый распространенный контроллер с самой низкой мощностью. Это сэкономит вам мкА, которые вам понадобятся при записи на SD-карту. MSP430F5418A также имеет 16 Кб оперативной памяти, так что у вас есть власть на SD карту только один раз каждые три с половиной минуты.
Вы можете запустить MSP430 на его низкочастотном генераторе и переключиться на высокочастотный DCO (генератор с цифровым управлением) для записи на SD-карту, чтобы это заняло как можно меньше времени.
Для питания SD-карты я бы действительно использовал верхний переключатель. BSS215P представляет собой подходящий логический уровень Р-МОП - транзистор.
править
Если вы не возражаете пакет BGA NAND флэш - устройство может быть альтернативой SD - карты. Этот может работать в режиме MMC или SPI. Он потребляет меньше, чем SD-карта, но все равно потребляет 200 мкА в режиме ожидания, поэтому вам все равно придется отключить его с помощью полевого транзистора. Обязательно сделайте I / O для микросхемы низким перед отключением питания. Это касается и SD-карты.
источник
(Отвечая на свой пост с полезной информацией)
Я провел несколько экспериментов с ограниченным набором SD-карт, чтобы проверить их энергопотребление. Похоже, они сильно различаются между производителями и типами, некоторые карты потребляют в 10 раз больше сна, чем другие.
Ниже приведены два результата. Первый - это приблизительное потребление тока в спящем режиме, а второй - среднее потребление тока примерно для 1 сектора записи каждые 5 секунд для моей платы .
Я не включил пиковый ток, потому что это кажется не надежным измерением с моим мультиметром. Вероятно, потому что карта записывается только в течение нескольких мс. Но я заметил, что все карты дали пик измерения 5-6 мА (сглаженный), в то время как Lexar дал 2 - 3 мА (сглаженный). Обратите внимание, что реальный максимальный ток на порядок больше этого значения, но он указывает на то, что у карты Lexar низкий ток записи, а также режим сна.
Текущий победитель
Lexar 8GB Class 6
Я буду обновлять этот список по мере проведения дополнительных испытаний. (Последнее обновление: 2014-08-14)
источник
Хорошие тесты. Ознакомьтесь с нашим руководством по использованию регистратора данных с низким энергопотреблением с использованием карт Arduino Pro Mini и SD: http://www.osbss.com/tutorials/tempera-relative-humidity/
Он, вероятно, содержит именно то, что вам нужно (прерывание RTC пробуждает его, около года работы от батареи и т. Д.). Потребляемая нами «основная» мощность составляет около 0,195 мА при 3,3 В, и это может снизиться до 0,11 мА или намного ниже, если вы используете другие платы или сам чип ATmega328P.
Как сказал @stevenvh, вам понадобится транзистор для управления питанием устройства чтения карт SD, когда процессор находится в режиме ожидания.
источник
Самые низкие токи сна, которые я видел для SD-карт, составляют около 0,05 мА для старых Sandisk 256 МБ, и, как и люди из OSBSS, я редко получаю свой регистратор данных ниже 0,1 мА, потому что типичные SD-карты, кажется, потребляют около 0,07 мА. Тем не менее, когда вы достигнете этой территории, вы легко сможете получить 3-4 месяца от АА, если ваш регулятор загрузки достаточно эффективен.
Убедитесь, что вы подтягиваете неиспользуемые соединения на адаптере SD-карты, иначе токи отключения могут быть намного выше. Также изучите библиотеку с низким энергопотреблением от Rocket Screem, поскольку она позволяет легко переходить в различные режимы ожидания 328P.
Что касается переключения: сотрудник, который написал SD-библиотеки для Arduino, предостерегает от отключения питания SD-карт на игровой площадке Arduino, поэтому я не придерживался этого подхода. Мне было бы интересно услышать, как это сработало для ребят из OSBSS (?)
источник