Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Qu'est-ce que le minuteur de surveillance ?

Composants et fournitures

Arduino UNO
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Quelle est la situation alors que votre micro-contrôleur se confond dans une boucle infinie😖. Existe-t-il des cas tels que bloquer ou bloquer votre micro-contrôleur lors de l'exécution d'une tâche😖. Quelle est la méthode de dépannage normale ? Bouton de réinitialisation, à droite ? Est-il pratiquement possible d'appuyer sur le bouton tout le temps ?😕. Alors, qu'en est-il d'un appareil pour effectuer cette tâche ? ça a l'air bien. Cool... !🙂.

Oui ! Maintenant, nous discutons d'un tel appareil qui est déjà à l'intérieur d'un micro-contrôleur. C'est le minuteur de surveillance.

Minuteur de surveillance.

"Une minuterie de surveillance ( WDT ) est une minuterie matérielle qui génère automatiquement une réinitialisation du système si le programme principal néglige de l'entretenir périodiquement. Il est souvent utilisé pour réinitialiser automatiquement un appareil intégré qui se bloque en raison d'une défaillance logicielle ou matérielle. " (os.mbed.com/cookbook/WatchDog-Timer).

Nourrissez le chien !

Si vous avez un chien chez vous. Vous devez nourrir ce chien à intervalles réguliers. si vous ne pouvez pas vous nourrir un jour, il vous mordra ! Comme cette minuterie de surveillance fonctionne.

Nous avons une partie principale du programme qui s'exécute encore et encore (boucle ). Nous activons le temporisateur de chien de garde est chargé avec une valeur initiale supérieure au délai total dans le programme principal. Chaque fois que le programme principal réinitialise cette minuterie. Si, dans tous les cas, le programme principal ne réinitialise pas le minuteur avant le décompte jusqu'à zéro, une interruption est générée pour réinitialiser le processeur. De même, la minuterie de surveillance protège le micro-contrôleur du boîtier suspendu.

Alors, essayons le minuteur de surveillance dans Arduino;)

Dans Arduino UNO utilise ATMEGA328P micro-contrôleur.

Bibliothèque de minuteurs de surveillance

#include  

La bibliothèque est nécessaire pour utiliser la minuterie de surveillance dans Arduino

Activer le minuteur Watchdog :

wdt_enable(WDT Reset Timer);

Pour activer le temporisateur de surveillance, WDT RESET TIMER varie de 15ms - 8s

Exemple :wdt_enable(WDT0_8S); --Minuteur de chien de garde activé pendant 8 secondes

Réinitialiser la minuterie du chien de garde

wdt_reset();

Cette fonction est utilisée pour réinitialiser le temporisateur de chien de garde. La fonction de réinitialisation utilise à l'intérieur de loop() . Si votre programme utilise un plus grand delay() qui est supérieur au délai de seuil du temporisateur de chien de garde, ajoute également la fonction de réinitialisation avant ce délai. Sinon, il réinitialisera le micro-contrôleur avant de terminer cette tâche.

Désactivation de la minuterie Watchdog

wdt_disable();

Exemple de code :

#include 
void setup(){
Serial.begin(9600);
Serial.println("Configuration démarrée :");
// faire un délai avant d'activer WDT
// ce délai aide à terminer toutes les tâches initiales
delay(2000);
wdt_enable(WDTO_4S);
}
boucle vide(){
Serial.println("LOOP démarré ! ");
for(int i=0; i<=5; i++){
Serial.print( "Loop :");
Serial.print(i);
Serial.println();
delay(1000);
wdt_reset();
}
//boucle infinie pour accrocher le MCU
while(1){}
}

Sortie

Tirez vos commentaires, questions, discussion dans la section des commentaires.

Code

  • Code complet
Code completArduino
#include void setup(){ Serial.begin(9600); Serial.println("L'installation a démarré :"); // faire un délai avant d'activer WDT // ce délai aide à terminer toutes les tâches initiales delay(2000); wdt_enable(WDTO_4S);}boucle vide(){ Serial.println("LOOP démarré ! "); for(int i=0; i<=5; i++){ Serial.print("Loop :"); Serial.print(i); Serial.println(); retard(1000); wdt_reset(); } //boucle infinie pour bloquer le MCU while(1){}}

Processus de fabrication

  1. Qu'est-ce que le moulage par insertion ?
  2. Qu'est-ce que le prototypage ?
  3. Qu'est-ce qu'un moteur linéaire ?
  4. Qu'est-ce que le tournage CNC ?
  5. Qu'est-ce qu'une Fonderie ?
  6. Qu'est-ce qu'une pompe multicellulaire ?
  7. Qu'est-ce qu'un chargeur de presse ?
  8. Qu'est-ce qu'une pompe submersible ?
  9. Qu'est-ce qu'un robot de boissons ?