Circuito de temporizador de 6 meses

8

Eu preciso projetar um circuito de temporização. Após 6 meses, um LED deve acender. O LED pode então ser desligado pressionando um botão e a contagem regressiva de 6 meses deve começar novamente. Alguém tem alguma idéia de onde eu iria começar? Um timer 555 é capaz de fazer algo por um período dessa duração ou eu precisaria de algo mais? Qualquer ajuda seria muito apreciada..

[adicionado] será usado como um lembrete para trocar um filtro de água, de modo que ele deve ser desligado de uma bateria pequena. algo pequeno, fácil de configurar e com baixo consumo de corrente também seria útil .. qualquer ajuda apreciada .. obrigado para a entrada anterior ..


fonte
7
Isso precisa ser portátil ou será conectado a uma fonte CA? Nesse caso, você pode contar cruzamentos de 60 (ou 50) Hz, que são muito precisos a longo prazo.
tcrosley
1
Não tente usar a fonte de alimentação CA - você não pode contar com a energia por seis meses seguidos sem tomar medidas extraordinárias.
Michael Kohne 12/10
1
Eu vi esse aplicativo usado em filtros de água para alertá-lo quando o filtro precisar ser substituído. Eles podem funcionar por muitos anos sem ter que substituir uma bateria, então eu suponho que eles possam fazer isso com muita facilidade.
Kellenjb
3
@ Vincent Conlon: De que precisão você precisa? No exemplo do filtro de água, tenho certeza de que a precisão é horrível, mas não acho que alguém se importe se você for alertado uma semana antes ou mais tarde.
Kellenjb

Respostas:

8

Com base nesta resposta , acho que um 555 não funcionará. Você precisaria de um capacitor enorme e de um resistor enorme, e a precisão seria terrível.

Eu recomendo usar o mais simples dos microcontroladores de 8 bits. Você precisaria lidar com os números com cuidado, mas um PIC16F84A (ou um Arduino, ou muitos outros dispositivos similares) poderia fazê-lo. Posso configurar um timer de 1 segundo e contar 15778463 expirações do timer, armazenando a contagem em uma variável de 32 bits. (Para variáveis ​​de 32 bits do Arduino, consulte http://www.arduino.cc/en/Reference/Double )

pingswept
fonte
2
Hum ... double? Errado. Você quer dizer long, ou de preferênciaint32_t .
Nick T
8
AH, você está certo. Rude, mas certo.
pingswept
12
Hum ... int32_t? Errado. Você quer dizer uint32_t, a menos que esteja esperando tempo para voltar também.
Toby Jaffey
1
@Nick enquanto tecnicamente verdadeiro, a maioria das implementações de C em microcontroladores de 8 bits não segue a promoção de tipo definido pela ansi. Geralmente, eles usam apenas o maior tipo na declaração.
Mark
1
Lembre-se de que, sem um RTC ou um oscilador externo, a precisão aqui será bastante terrível, especialmente por um período tão longo. E não se esqueça de escrever periodicamente a contagem atual na EEPROM!
Nick Johnson
6

Primeiro, é um pequeno projeto interessante, mas você está realmente usando a ferramenta errada. Isso é algo que vem sendo resolvido desde séculos usando uma ferramenta conhecida como agenda.

agenda

Vamos fazê-lo eletronicamente de qualquer maneira, apenas por diversão. Você não parece precisar de uma precisão muito alta; não importa se o filtro é substituído um dia antes ou depois (um dia em seis meses é 0,5% de precisão). Faço uma anotação de que ela precisa ficar sem bateria, portanto deve ser de baixa potência.

Vou começar mudando os requisitos . Você deseja um LED como indicador, mas seu dispositivo precisa estar bastante presente na sala de estar para ter certeza de ver o LED aceso, mesmo quando estiver piscando. (Observe que pode ser necessário piscar para evitar que a bateria se esgote antes que o LED seja notado; afinal, o LED pode acender logo após você ir para a cama.)
Eu usaria uma campainha em vez de um LED . E para evitar que a campainha toque no meio da noite, precisaremos de um tempo preciso, que também nos dirá a hora do dia. Isso significa que um 555 está fora, e teremos que confiar em um microcontrolador. Um pequeno microcontrolador custa menos de 50 centavos e rodar em um cristal de 32.768kHz não consome muito (em um projeto, usei um MSP430F1101 que consumiu menos de 4μA) e possui precisão de minutos ao longo de meses.
Mas isso significa que você precisa ter cuidado no momento em que inicia o cronômetro, e isso não é muito fácil de usar.
Digite o receptor do relógio atômico . O DCF77 na Europa e o WWVB na América do Norte transmitem o tempo como pulsos de 1 segundo. O microcontrolador pode funcionar em um relógio RC interno (não precisa ser tão preciso) e manter o tempo com base no código de tempo recebido. Para economizar energia, o receptor de relógio atômico pode ativar o microcontrolador a cada 1 segundo de pulso, para que o controlador possa atualizar a hora e a data e voltar a dormir. Você pode programar o microcontrolador para emitir um sinal às 14:00 no primeiro sábado após o tempo limite, por exemplo.

Depois, há a fonte de alimentação . A solução de microcontrolador precisa apenas de algunsμA, portanto, uma célula de lítio CR3032 (boa para 500 mAh) pode durar vários anos. Mas o tempo entre os eventos é tão longo que, eventualmente, a bateria desiste na metade de um período de 6 meses e o tempo de substituição do filtro passa despercebido.
Eu sugeriria um dispositivo alimentado por rede elétrica , usando um pequeno transformador; Eu tenho um monte de transformadores de 6V, 0.35VA para esse tipo de produtos pequenos. Como um longo período de seis meses não garante que não haverá falta de energia, você precisará de um backup de bateria / capacitor . Aqui na Bélgica, temos menos de uma queda de energia em 2 anos, em média, a mais longa que experimentei durou 2 horas. Eu não usaria uma bateria, pelo menos não uma célula primária. Um recarregável serve, mas vamos usar uma supercap . A 0.μUm dispositivo funcionando por mais de 24 horas. O microcontrolador pode monitorar a energia da rede elétrica, de modo que, se o tempo limite de 6 meses ocorrer durante uma queda de energia, o microcontrolador pode adiar o sinal até que a energia seja restaurada.

Para um aplicativo que requer tão pouca interação do usuário, ainda é útil ter algum tipo de feedback . Você pode piscar um LED uma vez a cada segundo para indicar que o cronômetro está funcionando e, se quiser, uma versão de luxo pode exibir a contagem de dias restantes em um LCD ou LED de três dígitos.


editar (re comentário de Ben)
No passado, usei esses pequenos módulos receptores DCF77 da Conrad .

módulo dcf77

Eu moro na Europa, daí DCF77, para WWVB (América do Norte) existem módulos semelhantes .
As conexões são simplesmente fontes de alimentação (1,2V a 15V) e 2 saídas DCF77, uma não invertida e outra invertida. As saídas são de coletor aberto, portanto, com a extensão correta adequada para qualquer voltagem em que o microcontrolador funcione.


Leitura adicional:

stevenvh
fonte
Boa abordagem, mas há uma enorme omissão flagrante quando se trata do hardware que você usaria para receber as transmissões de data e hora.
Ben Voigt
@ Ben - justo o suficiente. Adicionado à minha resposta.
Stevenvh
Seu link para "módulos semelhantes" está inoperante. Você poderia fornecer um número de modelo e / ou atualizar seu link?
precisa saber é
6

Arduino (ou outro microcontrolador) com um IC de relógio em tempo real super preciso DS3231 . Quando o botão é pressionado, a hora e a data são armazenadas na memória - o MCU pode verificar a data e a hora e desligar quando estiver pronto; ou quando o botão pressionado reinicia etc.

stevenvh
fonte
1
+1 RTC com certeza. DS3234 se você preferir usar SPI em vez de I2C.
Craig
Esse é um ótimo chip. Acompanhe todas as contagens e horários tediosos para você. Muito mais fácil do que contar pulsos e fazer todas as conversões em tempo real.
Captncraig 03/10/19
2 ppm certamente é bom, mas exagero. Um cristal padrão de 20 ppm servirá aqui: não acho importante o minuto exato para trocar o filtro de água (desde que não esteja no meio da noite).
Stevenvh
4

A parte complicada seria a precisão em um intervalo de tempo tão grande.

Você pode considerar um oscilador de cristal combinado com uma cascata de contadores binários. Consulte a folha de dados 4060 para obter exemplos.

mouviciel
fonte
4

Eu acho que você deve usar um cronômetro 555 para cronometrar intervalos de 16 minutos e depois alimentá-lo em um contador de algum tipo para dividi-lo. Um contador de 14 bits faria o intervalo em cerca de 6,06 meses.

Thomas O
fonte
3
Você não deve usar um 555 com um período de 16 minutos; melhor cascatear dois contadores e executar o 555 em uma frequência mais sã (kHz ou mais). Melhor não usar o 555, se você se preocupa muito com a tolerância.
Nick T
Um CMOS 555 funcionará facilmente por horas. O OP parecia sugerir que a precisão não era um problema.
Thomas O
Mesmo que a precisão não fosse um problema, um 555 executado em um período de tempo tão longo será tão impreciso que o tornará essencialmente um tempo arbitrário. Gosto muito mais da solução MSP430, barata e o cristal fornecido será razoavelmente preciso durante o período de tempo necessário.
ttt