Raspberry Pi et Arduino : construire des systèmes fiables avec les minuteries de chien de garde (3 / 6 étapes)

Etape 3: Comment configurer le temporisateur interne Arduino

Résumé : À l’étape 3 de ce Instructable, nous examinons comment configurer le temporisateur interne Arduino. Nous avons également parler de questions avec le temporisateur interne Arduino et expliquer pourquoi un temporisateur externe, est un meilleur choix dans les systèmes de nombreux, mais pas toutes.

Mise en place le temporisateur interne Arduino


L’Arduino est une machine beaucoup plus simple qu’un Pi de framboise. Toutefois, il est effectivement plus facile d’accrocher un Arduino que c’est une Pi framboise parce que tout le code est simple fileté sur l’Arduino. Single threaded signifie qu’il y a un seul programme en cours d’exécution à la fois sur le Arudino (à l’exception des interruptions, d’une manière de penser). Au fait, que si vous n’avez qu’un seul thread en cours d’exécution à la fois, tout raccrocher que le thread s’arrête l’ordinateur. Naturellement, il y a des autres problèmes qui peuvent provoquer votre code d’écrasement et Arduino pour enfermer. Délais d’attente sur les périphériques, puissance questions, RFI, etc, etc. Mauvais code à l’aide de la fonction millis() est un problème classique. Vous devez gérer le renversement à 49,5 jours si vous n’utilisez pas une horloge en temps réel.

Comment utiliser le chien de garde interne Arduino (si vous pouvez le faire fonctionner)

Tout d’abord de tous une définition. L’OMC est définie comme la quantité maximale de temps que le temporisateur peut compter avant il doit être réinitialisé (en d’autres termes, lorsqu’il va redémarrer l’ordinateur si l’ordinateur s’en va).

Il y a beaucoup de choses qui vont empêcher le chien de garde interne de travailler dans l’Arduino, alors méfiez-vous.

Voici une façon de travailler avec le temporisateur interne de Arduino. Tout d’abord, l' OMC de tous les modèles de l’Arduino est un MAXIMUM de 8 secondes. Gardez cela à l’esprit. Ayant une plus longue l’OMC couvre beaucoup plus de péchés à mon avis (l’OMC est de 16 secondes sur le Raspberry Pi chien de garde interne – qui n’est pas encore assez long à notre goût), donc l' Arduino l’OMC est un peu court. Nous avons souvent séries processus qui s’exécutent plus de 8 secondes dans nos conceptions. Oui, vous pouvez incorporer tapoter dans le code, mais lorsque vous utilisez des bibliothèques externes, c’est une douleur.

Pour essayer votre Arduino WDT, construire une nouvelle esquisse dans l’IDE de Arudino. AVERTISSEMENT : Si vous utilisez un ArduinoMega 2560 ou un appareil similaire, vous pouvez « brique molle » votre appareil. Consultez les commentaires figurant dans la section problèmes ci-dessous. Mon Arduino UNO de SainSmart a bien fonctionné avec ce croquis. Commencez par

Exécutez l’esquisse et laisser tourner pendant 30 secondes environ. Vous ne devriez jamais voir le message « Arduino redémarré » à nouveau après le redémarrage. Puis, commentez l’instruction de RESETWATCHDOG comme ceci :

#define RESETWATCHDOG

Maintenant lorsque vous exécutez le croquis, si votre chien de garde fonctionne, alors vous devriez voir le redémarrage de l’Arduino toutes les 8 secondes ou plus dans le moniteur de la série.

Problèmes avec le temporisateur interne de Arduino

Utilisation de la WatchDogTimer interne de l’Arduino est problématique au mieux. Le temporisateur Arduino a une OMC de 8 secondes donc si vous téléchargez une nouvelle esquisse et le vieux croquis a l’organisme de surveillance est activée, vous pouvez obtenir en une séquence de redémarrage infini. Cela s’appelle « briquage de doux ». L’Arduino est alors quasiment sans valeur (sans beaucoup de travail), mais elle est toujours en cours. Expire le chien de garde, bootloader mises en chantier, les travaux de bootload expire pendant un certain temps, le chien de garde, etc, etc, etc. Certains chargeurs de démarrage maintenant désactiver la surveillance appropriée, mais attention il y a beaucoup de Arduinos là-bas (comme le Mega 2560 - dont nous sommes de grands fans) cela ne fonctionne toujours pas. Vous pouvez mettre à jour le bootloader, mais ce n’est pas une tâche facile. Il s’agit d’un problème que nous avons rencontrés plusieurs fois.

  1. Le chien de garde interne Arduino n’alimente pas le cycle du système. Il recharge l’Arduino via la ligne Reset. Cela signifie qu’il ne redémarre pas dans toutes les conditions. Surtout en faible puissance / conditions de chute de tension est souvent vécue avec Des systèmes solaires alimenté. J’ai vu cela dans Projet Curacao.
  2. Il y a des problèmes avec le chargeur de démarrage (voir ci-dessus)
  3. Le temporisateur interne n’est pas complètement indépendant de l’Arduino. Si votre code effectue un saut sur un morceau de code désactive la WDT, vous avez terminé. Essayez de remplacer votre pile pour voir quelles choses intéressantes peuvent arriver au code dans un petit système embarqué comme l’Arduino.
  4. maximum de l’OMC est 8 secondes. Vous pouvez facilement être en routine, comme la communication série pendant plus de 8 secondes. Toutes les possibilités de trouver et de mettre les appels wdt_reset() au bon endroit sont difficile et avec certaines routines séries, impossibles.

Articles Liés

Résoudre des systèmes d’équations par élimination

Résoudre des systèmes d’équations par élimination

Résoudre des systèmes d'équations par éliminationS'il vous plaît comme la vidéo.S'abonner à ma chaîne sur YouTube.
Sécurité & flexibilité dans l’économie – la Rise des systèmes de paiement numérique

Sécurité & flexibilité dans l’économie – la Rise des systèmes de paiement numérique

il y a eu une révolution en cours ! Si vous ne savez pas ce que cela signifie tout à fait, Eh bien – je parle de l'internet. Maintenant l'internet a complètement révolutionné presque tous les aspects de ce que nous faisons. Que ce soit l'augmentation
BestCare lab, offrant des systèmes de santé grands

BestCare lab, offrant des systèmes de santé grands

étant donné le rôle d'un laboratoire médical joue un rôle majeur, la qualité doit être prédominante. Il existe plusieurs laboratoires médicaux qui fonctionnent afin de doter les services plus prometteurs. BestCare lab est un tel laboratoire médical q
Vous rencontrez des problèmes pour lire les MP4 sur Nexus 7 ?

Vous rencontrez des problèmes pour lire les MP4 sur Nexus 7 ?

Certains utilisateurs ont des problèmes pour lire les fichiers MP4 sur Nexus 7. Cela a causé beaucoup de problèmes, bien que les développeurs de ce logiciel affirment que le format de fichier MP4 est supporté sur Nexus 7. Utilisateurs ont rapporté fo
Automatisation des systèmes de verrouillage et détection Intrusion dans les maisons

Automatisation des systèmes de verrouillage et détection Intrusion dans les maisons

Internetdes choses est la technologie de l'avenir qui est lentement à venir et gagne du terrain dans le secteur des télécommunications. Ici, nous avons essayé de créer un système de sécurité qui est contrôlé par l'Internet. Le but du projet était de
Modulaires « dipneustes » reflux et débit des systèmes de culture hydroponique ou aquaponique.  Plus facile ?

Modulaires « dipneustes » reflux et débit des systèmes de culture hydroponique ou aquaponique. Plus facile ?

Culture hydroponique dipneustes vise à produire un système modulaire ponics où chaque module peut être indépendant et facilement commutables. Il utilise une pompe à air externe afin de simplifier l'ensemble du système. Filtres de blocage sera une cho
Transmission de données d’internet non-connecté systèmes solaires avec Arduino, PHP et MySQL

Transmission de données d’internet non-connecté systèmes solaires avec Arduino, PHP et MySQL

DescriptionL'objectif de ce projet arduino est d'acquérir et de transférer des données via le réseau GSM. L'avantage est de pouvoir collecter des données (par exemple la surveillance d'une installation solaire) même s'il n'y a pas de connexion intern
Résoudre des systèmes linéaires avec MATLAB

Résoudre des systèmes linéaires avec MATLAB

La capacité à résoudre des équations linéaires multivariable est essentielle dans l'ingénierie. Bien qu'il existe de nombreux outils qui vous permettent de le faire : manuscrite des procédures, calculatrices, etc., ce traitement va décrire l'utilisat
Air comprimé Interrupteur exploité pour 2 nouveau air propulsé des systèmes hydroponiques.

Air comprimé Interrupteur exploité pour 2 nouveau air propulsé des systèmes hydroponiques.

Il s'agit d'une démonstration de l'interrupteur « geyser » qui réinitialise de reflux s'écouler dans les systèmes.
Construire des dômes monolithique sur Google SketchUp

Construire des dômes monolithique sur Google SketchUp

suite à mon tutoriel sphère géodésique, je vais illustrer comment vous pouvez construire un type spécial de dôme monolithique pour votre usage personnel.La toute première chose que vous devez faire est d'avoir Google SketchUp installé. Vous pouvez le
Inhalation de vapeur, des problèmes respiratoires chez les volailles biologiques. Inhalation - poules.  Inhalación gallinas.

Inhalation de vapeur, des problèmes respiratoires chez les volailles biologiques. Inhalation - poules. Inhalación gallinas.

L'utilisation de l'inhalation de vapeur organique, montrée dans ma vidéo précédente pour traiter vos volailles en cas de problèmes respiratoires.Bio de commentaire UTI l'inhalation humide, montré dans ma vidéo précédente, versez votre volaille en cas
Comment prouver que vos frères et sœurs sont des fantômes. (Avec preuves photographiques!!!)

Comment prouver que vos frères et sœurs sont des fantômes. (Avec preuves photographiques!!!)

Pour tous ce ible, vous aurez besoin est en forme de loupe et une caméra.Etape 1: Avoir votre frère debout contre un mur. Il ne peut pas être n'importe quoi sur le mur comme interrupteurs. Il ne peut inclure que votre frère.Étape 2: Tenez votre loupe
Construire un réacteur à Arc avec les compétences et les outils de base

Construire un réacteur à Arc avec les compétences et les outils de base

j'ai pensé que ce serait cool d'aller comme Tony Stark pour l'Halloween, et je me tournai vers Instructables pour des idées sur la façon de construire un réacteur de l'Arc. Le problème est que les réacteurs d'Arc meilleure et la plus précise sur le s
Comment construire une cabane en rondins avec les encoches de la queue d’aronde

Comment construire une cabane en rondins avec les encoches de la queue d’aronde

bien sûr la première chose dont vous avez besoin est des journaux. Une bonne source peut être quelqu'un qui a une scierie portative dans votre région. Contacter woodmizer scieries pour obtenir une liste des propriétaires près de chez vous.Si vous ave