D'après un idée de Wolfgang Borst (Allemagne)

Tout microcontrôleur moderne a son chien de garde intégré. Ce paisible animal empêche le microcontrôleur (que nous appellerons µC) de rester coincé dans une boucle sans fin, en raison d'une erreur de programmation ou de conditions de fonctionnement imprévues qui l’empêchent de réagir aux sollicitations externes ou internes. Le principe est simple. C’est celui d'une minuterie, remise à zéro régulièrement par le µC lui-même au moyen de commandes appropriées et dans un délai déterminé. Si cette remise à zéro n’intervient pas, une réinitialisation du µC est forcée à la fin de ce délai. Ainsi, le µC  qui a perdu les pédales va redémarrer et tout rentre dans l’ordre.

Tout, vraiment tout ?

Non, hélas, car dans certains cas, rares, très rares, avec les circuits intégrés CMOS – catégorie à laquelle appartiennent les µC – il peut se produire un verrouillage (latch-up), ce qui équivaut à une paralysie totale. Vraiment plus rien ne fonctionne, même la remise à zéro n'a aucun effet sur le µC. Pour se prémunir contre ce péril rare mais grave, on fait appel à un chien de garde externe au µC. La justification de cette mesure se trouve dans 1ère loi de Murphy que nul électronicien sensé n'est censé ignorer.

Un schéma qui a du chien

 
Chien de garde à NE555 avec son collier de MOSFET.
Notre chien de garde est un temporisateur NE555. Il a de grosses pattes, c’est moins un chihuahua qu’un dogue danois. Si les impulsions d’initialisation venant du µC n’arrivent plus, le chien et ses MOSFET coupent purement et simplement la tension d'alimentation pendant 5 secondes environ. Après ça, même le plus givré des µC redémarre. Cela marchera toujours, sauf si le µC est défectueux. Avec les valeurs spécifiées pour R2, R3 et C5, le délai est d'environ 10 s. Le rapport cyclique des impulsions de réinitialisation doit être inférieur à 50%. Une impulsion (positive) de quelques µs à l'entrée de déclenchement suffit pour décharger le condensateur C5 à travers T2.

Le composant actif est ici le bon vieux NE555, monté en multivibrateur astable. Les impulsions de µC doivent constamment décharger C5 avant que la tension sur la broche 6 n'atteigne le seuil (2/3 de la tension d’alimentation) d’alerte. Quand cela se produit, la sortie broche 3 passe au niveau bas et T1 coupe la tension d'alimentation du µC et de tout son circuit. Même sans radiateur, T1 supporte facilement une intensité d’1 A.

Comme la tension d’alimentation du circuit intégré NE555 doit être de 5 V au moins, on lui préfèrera la version CMOS du circuit, plus facile à utiliser avec des microcontrôleurs alimentés sous 3,3 V. L’intensité du courant consommé est moindre. Pour T1, il faudra un MOSFET de puissance qui se contentera d’une tension de commande plus faible. Pour en réduire le nombre de composants et donc l’encombrement, on pourrait modifier le circuit en utilisant le double temporisateur 556.