Estamos construindo um data logger de baixa energia baseado no ATmega328P, a fim de usar o carregador de inicialização e o IDE do Arduino etc. Pilha AA. Os dados do sensor serão armazenados a um máximo de 76 bytes / s por 4 meses, fornecendo cerca de 750 MiB de dados. Portanto, temos a necessidade de um grande dispositivo de memória, que ainda consome pouca energia.
Pelo que sei, a única solução prática para armazenar tantos dados é usar um cartão SD. No entanto, os cartões SD parecem usar um pouco mais de energia do que podemos pagar, corrente ociosa de 0,2 mA para os cartões que temos agora e mais quando estão escrevendo.
Então, algumas perguntas:
- Um interruptor lateral alto é a única maneira prática de controlar o consumo de energia do cartão SD?
- Existem advertências de que devemos estar atentos ao trocar a alimentação do cartão? Por exemplo, é o nível de desgaste de um processo que será executado após a gravação de um bloco ou pode acontecer a qualquer momento.
- Existem outras alternativas que devemos considerar?
arduino
low-power
microsd
datalogger
geometrikal
fonte
fonte
Respostas:
Se você estiver orçando em média 0,3 mA a cada µA conta. Não é um problema para o microcontrolador, mas o cartão SD consumirá dezenas de mAs. Você quer que ele seja ligado o mínimo possível. Mas o ATmega328P possui apenas 2 kB de RAM, o que significa que o buffer de amostra ficará cheio em menos de meio minuto e, então, é hora de gravar no cartão SD. Duas vezes por minuto
Eu consideraria uma TI MSP430 em vez do AVR. Ainda é o controlador de menor potência comumente disponível. Ele economizará o µA necessário ao gravar no cartão SD. O MSP430F5418A também possui 16 kB de RAM, para que você precise ligar o cartão SD apenas uma vez a cada três minutos e meio.
Você pode executar o MSP430 em seu oscilador de baixa frequência e alternar para o DCO de alta frequência (oscilador controlado digitalmente) para gravar no cartão SD, para que isso leve o mínimo de tempo possível.
Para alimentar o cartão SD, eu realmente usaria um interruptor do lado superior. O BSS215P é um P-MOSFET de nível lógico adequado.
editar
Se você não se importa com um pacote BGA, um dispositivo NAND Flash pode ser uma alternativa ao cartão SD. Este pode operar no modo MMC ou SPI. Consome menos que um cartão SD, mas ainda consome 200 µA no modo de espera, portanto, você ainda deseja desligá-lo com o FET do lado superior. Certifique-se de diminuir as entradas / saídas do chip antes de desligar a energia. Isso vale para o cartão SD também.
fonte
(Respondendo ao meu próprio post com informações úteis)
Realizei algumas experiências com um conjunto limitado de cartões SD para verificar o consumo de energia. Eles parecem variar muito entre os fabricantes e dentro dos tipos, alguns cartões consomem 10 vezes mais energia do que outros.
Existem dois resultados abaixo. O primeiro é o consumo atual estimado durante o sono e o segundo é o consumo atual médio de aproximadamente 1 setor de gravação a cada 5 segundos para minha placa .
Não incluí corrente de pico porque parece não ser uma medição confiável com o meu multímetro. Provavelmente porque o cartão foi gravado apenas por alguns ms. Mas notei que todas as placas tinham uma medição de pico de 5 - 6mA (suavizada), enquanto o Lexar dava 2 - 3mA (suavizada). Observe que a corrente máxima real é uma ordem de magnitude maior que isso, mas indica que o cartão Lexar tem baixa corrente de gravação e suspensão.
Vencedor atual
Lexar 8GB Classe 6
Atualizarei esta lista à medida que mais testes forem realizados. (Última atualização: 14-08-2014)
fonte
Testes agradáveis. Confira o tutorial do registrador de dados de baixa potência usando os cartões Arduino Pro Mini e SD: http://www.osbss.com/tutorials/temperature-relative-humidity/
Provavelmente contém exatamente o que você precisa (a interrupção do RTC ativa, cerca de um ano de duração da bateria, etc.) Nosso consumo de energia "convencional" é de cerca de 0,195mA a 3,3V, e isso pode diminuir para 0,11mA ou muito mais baixo, se você usar outras placas ou o próprio chip ATmega328P.
Assim como @stevenvh disse, você precisará de um transistor para controlar a energia do leitor de cartão SD quando o processador estiver no modo de suspensão.
fonte
As menores correntes de sono que eu vi nos cartões SD são de 0,05 mA para os antigos sandisk 256Mb e, como o pessoal do OSBSS, raramente recebo meu data logger com menos de 0,1 mA, porque os cartões SD típicos parecem consumir cerca de 0,07 mA. Ainda assim, ao chegar a esse território, você poderá facilmente obter de 3 a 4 meses de AA, se o seu regulador de inicialização for suficientemente eficiente.
Certifique-se de verificar se você está acessando as conexões não usadas no adaptador de cartão SD ou as correntes de sono podem ser muito maiores. Explore também a biblioteca de baixa energia do Rocket Screem, pois isso permite que você insira diferentes modos de suspensão 328P com facilidade.
Quanto à mudança: o sujeito que escreveu as bibliotecas SD para o arduino adverte contra a retirada de energia dos cartões SD no playground do Arduino, por isso não segui essa abordagem. Eu ficaria curioso para saber como isso funcionou para os caras do OSBSS (?)
fonte