Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

O que é Watchdog Timer?

Componentes e suprimentos

Arduino UNO
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Qual é a situação enquanto seu microcontrolador confunde em um loop infinito😖. Existe algum caso de travar ou travar seu microcontrolador durante a execução de uma tarefa? Quais são os métodos normais de solução de problemas? Botão Redefinir, direito ? É praticamente possível pressionar o botão o tempo todo? 😕. Então, que tal um dispositivo para fazer essa tarefa? parece bom. Legal ...! 🙂.

Sim ! Agora estamos discutindo sobre tal dispositivo que já está dentro de um microcontrolador. Isso é Watchdog timer.

Watchdog Timer.

" Um cronômetro de watchdog ( WDT ) é um temporizador de hardware que gera automaticamente uma reinicialização do sistema se o programa principal negligenciar a manutenção periódica. Muitas vezes, é usado para redefinir automaticamente um dispositivo incorporado que travou devido a uma falha de software ou hardware. "(os.mbed.com/cookbook/WatchDog-Timer).





Alimente o cachorro!


Se você tem um cachorro em sua casa. Você precisa alimentar esse cachorro em intervalos regulares. se você não conseguir se alimentar um dia, ele vai te morder! Como este cronômetro de watchdog funciona.

Temos uma parte principal no programa que é executada continuamente ( loop ) Estamos permitindo que o temporizador watchdog seja carregado com um valor inicial maior que o atraso total no programa principal. Cada vez que o programa principal zera este cronômetro. Se em qualquer caso o programa principal não voltar a zerar o cronômetro antes de chegar a zero, uma interrupção é gerada para zerar o processador. Da mesma forma, o temporizador de watchdog protege o microcontrolador da caixa de travamento.

Então, vamos tentar o cronômetro de watchdog no Arduino ;)

No Arduino, UNO usa ATMEGA328P microcontrolador.

Biblioteca de cronômetro de watchdog
  #include   

A biblioteca é necessária para usar o cronômetro de watchdog no Arduino





Habilitar cronômetro de Watchdog:


wdt_enable (WDT Reset Timer);

Para habilitar o cronômetro de watchdog, WDT RESET TIMER varia de 15ms - 8s



Por exemplo: wdt_enable (WDT0_8S); - Cronômetro de watchdog habilitado por 8 segundos





Reinicie o cronômetro do watchdog


wdt_reset ();

Esta função é usada para zerar o cronômetro de watchdog. A função de redefinição usa loop () . Se o seu programa usar um atraso () maior que é maior do que o atraso do limite do temporizador de watchdog, adicione a função de redefinição antes desse atraso também. Caso contrário, ele redefinirá o Micro-controlador antes de concluir essa tarefa.





Desativando o cronômetro do Watchdog


wdt_disable ();





Código de exemplo:

  #include  
void setup () {
Serial.begin (9600);
Serial.println ("Instalação iniciada:");
// fazer um atraso antes de habilitar o WDT
// este atraso ajuda a completar todas as tarefas iniciais
delay (2000);
wdt_enable (WDTO_4S);
}
void loop () {
Serial.println ("LOOP iniciado!");
for (int i =0; i <=5; i ++) {
Serial.print ( "Loop:");
Serial.print (i);
Serial.println ();
atraso (1000);
wdt_reset ();
}
// loop infinito para travar MCU
enquanto (1) {}
}





Saída


Fotografe seus comentários, perguntas e discussões na seção de comentários.

Código

  • Código completo
Código completo Arduino
 #include  void setup () {Serial.begin (9600); Serial.println ("Instalação iniciada:"); // faz um atraso antes de habilitar o WDT // este atraso ajuda a completar todas as tarefas iniciais delay (2000); wdt_enable (WDTO_4S);} void loop () {Serial.println ("LOOP iniciado!"); para (int i =0; i <=5; i ++) {Serial.print ("Loop:"); Serial.print (i); Serial.println (); atraso (1000); wdt_reset (); } // loop infinito para travar MCU enquanto (1) {}} 

Processo de manufatura

  1. O que é Moldagem por Inserção?
  2. O que é prototipagem?
  3. O que é um Motor Linear?
  4. O que é torneamento CNC?
  5. O que é uma Fundição?
  6. O que é uma bomba multiestágio?
  7. O que é um alimentador de prensa?
  8. O que é uma bomba submersível?
  9. O que é um robô de bebidas?
  10. O que é uma prensa mecânica?