Ir ao conteúdo
  • Cadastre-se

Outro Watchdog timer com nomde mcu


Posts recomendados

Olá, estou fazendo um sistema usando o nodemcu que mede pressão e temperatura em um tanque, vou usar o watchdog como metodo de segurança. Fiz um temporizador com 555, quando alimentado o led fica aceso, o botão seria pra representar o nodemcu, toda vez que aperto o botão o led apaga e assim que eu solto ele volta a acender (é apenas um teste, esse botão não vai ficar ai). O meu objetivo é fazer um programa para o watchdog na IDE do arduino que fique verificando a cada periodo (por exemplo a cada 5 segundos) se o nodemcu esta funcionando, o nodemcu deve dar uma resposta ao watchdog dizendo que ele esta funcionando dentro desses 5 segundos, caso o nodemcu não responda o watchdog nesse periodo de tempo o sistema deve ser desligado. O que o botão faz é fazer o trabalho do nodemcu manualmente (apenas como um teste). Não sei como fazer o programa e gostaria de ajuda. desde então agradeço.

Sem título.png

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Azidéia...

 

Mesmo sendo 0,2Hz você pode tentar um filtro algo como...

Filtro-passa-banda-passivo.png

...com valores bem altos. Na ausência da V de entrada, seu pulso, a V da saída deve variar o suficiente pra ser detectada pelo sistema. Até mesmo a nível lógico. E pode fazer também tudo a nível de hw: sem pulso, desliga o sistema com mosfet, transistor ou relé. E fica na paz com o sw.

 

Agora..., no programa também fica desafiador. O lance é você ler o sinal, guardar pra fazer um OR exclusivo depois de 5 segundos. Pseudo código...

a=entr_sinal;
passaram-se_5_segundos_trabalhando_normal;
if (!(a^entr_sinal)) desliga; //se for igual...

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Ana_A.Z. ,

 

Já pensou que uma fez feito o Reset o Nodemcu precisa de vários segundos para refazer a conexão Wi-Fi ?

 

O conceito de Watchdog é usar o recurso existente dentro da CPU, então não pode ser externo. Isso de 555 acionando o Reset não é bem um Watchdog, é Reset  mesmo !

 

Paulo

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Paulão, a boa ideia 555 da guria foi apenas pra simular a situação real. Provavelmente ela não tem o tal nodemcu

Em 16/06/2019 às 00:24, Ana_A.Z. disse:

O que o botão faz é fazer o trabalho do nodemcu manualmente (apenas como um teste)

 

Em 16/06/2019 às 00:24, Ana_A.Z. disse:

o botão seria pra representar o nodemcu

 

Em 16/06/2019 às 00:24, Ana_A.Z. disse:

(é apenas um teste, esse botão não vai ficar ai)

Prestenção véy!

Apesar de semelhante, o wdog interno e externo são distintos. O interno é algo como uma jogada de água fria na cara pra se manter acordado. Também pro caso de travamento do sistema, erros gerais causados por variáveis com "vida própria", e etc, reinicia-o. O externo é um despertador ou um aviso "to vivo!". (Pensei que) no caso da guria, seria uma segurança adicional pro caso de falha no sensor: o mc reseta e tenta reiniciar o sistema. Isso é relativamente comum em equipamentos médicos, militares e afins...

Ah tá .. ela quer que o sistema desligue... então seria algo como ... morreu? Então vou acabar de matar!😁

  • Haha 1
Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz ,

 

Sim, eu entendí que é uma simulação apenas, é que no watchdog real a memória não é afetada, não se perde nada de informação, e conseguimos saber se o microcontrolador está totalmente funcional rodando o programa normalmente ou se estava travado aguardando alguma coisa que não acontece nunca ou pior do que isso tratando alguma coisa que nunca deveria ter ocorrido.

 

Já usando alguma interrupção externa não temos nenhuma garantia que a interrupção seja atendida se o programa tiver se perdido ou se as interrupções estiverem desabilitadas , por exemplo.

 

E usar o Reset significa zerar toda a Ram e começar tudo de novo...

 

Eu achei importante mostrar as diferenças conceituais ...

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
5 horas atrás, aphawk disse:

no watchdog real a memória não é afetada, não se perde nada de informação

Bem lembrado. Apesar que há quem goste de inciar as variáveis ou zerar a ram manualmente no início

unsigned char a=0;

...

Desde que consciente, tudo bem. "Detalhes tão pequenos..."

5 horas atrás, aphawk disse:

E usar o Reset significa zerar toda a Ram e começar tudo de novo...

No caso, a garota radicalizou e quer desligar tudo!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...