Entrar    Registrar

Implementação de Horímetro

Software e Hardware para uC STM

Moderadores: andre_teprom, 51

  • Autor
    Mensagem

Implementação de Horímetro

Mensagempor eliveltonpsantos » 26 Set 2018 10:14

Estou com dúvida sobre a implementação de um horímetro na minha aplicação.

Estou desenvolvendo um dispositivo num microcontrolador STM32L041F6P7 que, além das demais funções, precisa salvar quanto tempo o dispositivo ficou ligado desde a fabricação do mesmo, ou seja, um horímetro. Ele possui uma fonte chaveada e o dispositivo pode ser ligada na tomada, na bateria de um veículo ou numa bateria interna. O problema que preciso de ajuda é como que vou manter esse tempo salvo, sendo que o dispositivo pode ser desligado a qualquer momento inesperadamente (não há um botão "salvar")?

Para contar o tempo, tenho um Timer incrementando uma variável a cada 1 segundo.

(i) Eu poderia salvar esse valor na EEPROM interna do microcontrolador a cada 1 segundo, mas tenho receio de que esses inúmeros ciclos de escrita estraguem a EEPROM interna após um tempo, além do que esse ciclo pode ocupar demais minha aplicação.
(ii) Pensei também em salvar em intervalos maiores, como a cada 10 ou 30 segundos; apesar de reduzir os ciclos de escrita na EEPROM, o usuário pode desligar a qualquer momento e eu perder esse tempo, o que é meio crítico nesse meu caso.

Alguém teria uma sugestão de como implementar isso?
eliveltonpsantos
Bit
 
Mensagens: 22
Registrado em: 30 Jun 2017 09:14

Re: Implementação de Horímetro

Mensagempor cfreund » 26 Set 2018 12:35

Capacitor ou bateria para salvar quando faltar energia.

Salvar a cada minuto na EEPROM usando wear leveling. Salvando a cada segundo e levando em conta 100.000 ciclos PE, expectativa de vida de um ano. Se salvar a cada minuto, 60 anos.
Cláudio Freund
Avatar do usuário
cfreund
Byte
 
Mensagens: 459
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Implementação de Horímetro

Mensagempor tcpipchip » 26 Set 2018 15:28

podes usar

FRAM

TCPIPCHIP
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 5745
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Implementação de Horímetro

Mensagempor KrafT » 26 Set 2018 16:24

Pq não usa os 20-byte backup registers?
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2140
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Implementação de Horímetro

Mensagempor cfreund » 26 Set 2018 16:56

KrafT escreveu:Pq não usa os 20-byte backup registers?


Mantém mesmo sem estar energizado?
Cláudio Freund
Avatar do usuário
cfreund
Byte
 
Mensagens: 459
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Implementação de Horímetro

Mensagempor KrafT » 26 Set 2018 19:35

cfreund escreveu:
KrafT escreveu:Pq não usa os 20-byte backup registers?


Mantém mesmo sem estar energizado?


Vai que ele opte por manter o RTC rodando?
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2140
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Implementação de Horímetro

Mensagempor cfreund » 26 Set 2018 19:50

Desligado não funciona Kraft. Esses registros de backup resistem somente a RESET e Standby.
Cláudio Freund
Avatar do usuário
cfreund
Byte
 
Mensagens: 459
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Implementação de Horímetro

Mensagempor KrafT » 26 Set 2018 20:11

Como disse: Se ele quiser deixar o RTC rodando (leia-se: provendo os recursos necessários ao RTC), ele pode usar essa memória. Embora não precise necessariamente rodar o RTC, entendo que não se justificaria modificar o circuito e não aproveitar o recurso que se torna disponível.

Veja que só estou explorando uma possibilidade. Se ele não puder "de jeito maneira nenhuma" acrescentar o hardware necessário para usar essa alternativa, não tem problema, eu não fico triste. É uma sugestão sem a ambição de ser verdade inexorável.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2140
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Implementação de Horímetro

Mensagempor cfreund » 26 Set 2018 20:59

KrafT escreveu:Como disse: Se ele quiser deixar o RTC rodando (leia-se: provendo os recursos necessários ao RTC), ele pode usar essa memória. Embora não precise necessariamente rodar o RTC, entendo que não se justificaria modificar o circuito e não aproveitar o recurso que se torna disponível.

Veja que só estou explorando uma possibilidade. Se ele não puder "de jeito maneira nenhuma" acrescentar o hardware necessário para usar essa alternativa, não tem problema, eu não fico triste. É uma sugestão sem a ambição de ser verdade inexorável.


Meu velho, quando te perguntei foi uma dúvida, já q o problema era falta de energia e fiquei curioso. Como vc não respondeu, fui olhar no ds e repliquei aqui o que eu encontrei. Mas ok... acredito que o rapaz tenha captado a mensagem.

Abs!
Cláudio Freund
Avatar do usuário
cfreund
Byte
 
Mensagens: 459
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Implementação de Horímetro

Mensagempor KrafT » 26 Set 2018 21:10

Off topic: Eu odeio com todas as forças do meu ser os MCUs que tem RTC, mas não tem pino dedicado para a bateria do RTC. Meu ódio aumentou ainda mais quando um ATSAM4 se autodestruia se fosse acordado logo após entrar em sleep: O LDO interno se perdia e manda 3,3 V para o core, que se bem me lembro é 1,2 V. Kabum!!! RIP SAM4 :cry:
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2140
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Implementação de Horímetro

Mensagempor eliveltonpsantos » 27 Set 2018 10:34

Como imaginei, não tem uma resposta definitiva para isso; mas com esse "brainstorming" consegui ver melhor o que fazer...

KrafT escreveu:Pq não usa os 20-byte backup registers?

Essa seria a melhor opção, mas esse MCU não tem o pino dedicado para a bateria (VBAT).

Por enquanto, a melhor opção foi o Wear Leveling mesmo.
Caso tenham alguma outra sugestão, fiquem à vontade...
eliveltonpsantos
Bit
 
Mensagens: 22
Registrado em: 30 Jun 2017 09:14

Re: Implementação de Horímetro

Mensagempor cfreund » 27 Set 2018 12:45

eliveltonpsantos escreveu:Essa seria a melhor opção, mas esse MCU não tem o pino dedicado para a bateria (VBAT).


Nem precisa. Consumo de 230 nA/h.
Cláudio Freund
Avatar do usuário
cfreund
Byte
 
Mensagens: 459
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Implementação de Horímetro

Mensagempor eliveltonpsantos » 27 Set 2018 15:23

Encontrei no próprio site do MCU o Application Notes AN4718: How to design a VBAT system based on STM32L0/L1 series (with external components) e achei bem interessante. Vou repensar o impacto disso no meu circuito e preço, mas é uma ideia que eu não tinha pensado.
Você não está autorizado a ver ou baixar esse anexo.
eliveltonpsantos
Bit
 
Mensagens: 22
Registrado em: 30 Jun 2017 09:14

Re: Implementação de Horímetro

Mensagempor rafael » 29 Set 2018 03:00

Amigo o "tcpchip" te deu a solução logo no início... Usa fram e Tah resolvido... Tem uns modelos de baixa capacidade que são baratos.

Fram eh o mais indicado para esse tipo de situação... Não depende de bateria, capacitor nem nada do gênero...


Enviado do meu iPhone usando Tapatalk
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Bit
 
Mensagens: 42
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Voltar para STMicroelectronics

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes