19) Les études préliminaires pour la version n°5.

Avant de développer le logiciel d’exploitation de cette « version de luxe », nous allons établir un cahier des charges ambitieux qui va exiger probablement certaines études de faisabilité. Globalement on va reprendre plus ou moins les fonctionnalités des autres versions, mais on peut envisager d’utiliser la mémoire non volatile EEPROM autrement que pour y loger des textes. (C’est l’un des moyens les plus efficaces pour économiser de la place en mémoire de programme, et qui dit « cahier des charges ambitieux » implique inévitablement que l’on recherchera désespérément à économiser du code.)
En première page de ce tutoriel était précisé : « il aurait été faisable d’ajouter une horloge temps réel, et d’enregistrer les résultats dans la mémoire EEPROM pour échantillonner sur de longues périodes. Toutefois pour ce didacticiel j’ai préféré opter pour la facilité … »

Outre le fait qu’ajouter une horloge temps réel augmenterait le coût du petit appareil, sa mise en Å“uvre augmenterait surtout la taille du code, car il faudrait ajouter des routines pour sa mise à l’heure. Toutefois, rien n’interdit d’enregistrer la valeur moyenne sur une longue période et pouvoir visualiser sur cette dernière l’évolution des paramètres. Sur un graphique. L’enregistrement serait un peu comme celui d’une caméra de surveillance vidéo c’est à dire avec un décalage continu, seuls les derniers échantillons enregistrés étant consultables. Dans cette hypothèse nous serons amenés à déterminer :


C’est pour répondre à ces questions qu’une étude de faisabilité sera nécessaire.

Cahier des charges fonctionnel « ambitieux ».

Par « ambitieux » il faut comprendre que l’on va se faire plaisir au maximum, quitte à réduire les exigences en fonction de la faisabilité et des compromis qu’il faudra consentir au cours des études de faisabilité et des contraintes rencontrées lors du développement. La Fig.96 présente une idée générale de ce que pourrait être le coffret de l’appareil qui reste relativement dépouillé. Contrairement à ce qui était prévu pour les autres versions, le potentiomètre P branché sur A5 est en façade c’est à dire qu’il sera utilisé dans l’usage normal de l’appareil. Quand on activera le BP, dès que le clic deviendra long la LED jaune J préviendra l’opérateur. Sur un clic court on alternera entre écran normal ou écran en veille, c’est à dire noir. (En affichage par défaut.) Cette possibilité permet d’allonger considérablement la durée de vie du composant OLED, car après sa mise en service on arrive vite à oublier l’appareil qui sera alors en « sentinelle ». On rallumera uniquement pour « le plaisir » ou si une alarme se déclenche. Bien entendu, comme sur les autres versions la détection des problèmes sur les capteurs sera effective. Si le clic est long, l’effet sera fonction de la position du potentiomètre dont quatre positions angulaires seront significatives d’une consigne différente :

NOTE : L’utilisation de la ligne série du Moniteur de l’IDE n’est plus du tout utile. C’est à l’aide du démonstrateur P16_Cadran_analogique.ino que seront déterminées les valeurs des constantes MIN et MAX des limites potentiométriques mesurées sur A7.

Changement de la répartition des broches d’E/S.

L’hiver va bientôt arriver, car nous sommes fin Septembre. Avec lui la baisse des températures, et l’atelier dans lequel je réalise mes coffrets va devenir trop froid pour permettre un travail de précision. Aussi, contrairement à tous mes autres projets, je vais créer ce boitier dès maintenant. On peut ici se le permettre, car les versions précédentes ont largement dégrossi le développement logiciel, sans compter le fait que le « cahier des charges » est clairement établi. Préambule à l’étude du coffret : Avoir concrétisé le circuit imprimé qui supporte la carte NANO et les divers composants. Alors, si cette approche semble mettre les bÅ“ufs avant la charrue, elle présente un avantage incontestable : Celui d’optimiser la répartition des éléments autour de la carte pour simplifier au maximum l’étude du circuit imprimé. C’est ainsi que les changements suivants par rapport aux affectations de P15 ont été sélectionnés :
Le B.P, l’afficheur OLED, le DHT11 et le MQ135 restent inchangés. La LED Arduino reste disponible pour se voir éventuellement faciliter
le développement logiciel.
Noter que deux petits connecteurs HE14 de type mini-DIP permettent à convenance de croiser GND et +Vcc sur les deux broches d’alimentation de l’écran OLD pour les sélectionner en fonction du composant approvisionné.

Le circuit imprimé qui supporte la presque intégralité des composants.

Passage obligé, avant de concevoir le coffret, on doit réaliser et tester entièrement le circuit imprimé qui supportera l’ensemble des composants de cette réalisation. Sur la Fig.98 le circuit imprimé est vu coté composants avec en 1 et en 2 les LEDs qui sont insérées sur des connecteurs HE14 femelle pour être réhaussée et pouvoir traverser la face supérieure du coffret. En 3 le DHT11 est également inséré sur un HE14 et en position verticale. Pour effectuer la validation du circuit imprimé c’est commode. Toutefois il occupe bien trop de place en hauteur. Probablement qu’à l’étude du coffret il faudra le déporter sur l’une des faces latérales du boitier. En 4 le capteur de CO2 est immobilisé par quatre petits boulons ØM2 et surélevé par des entretoises pour avoir la hauteur suffisante, car sur le dessous il y a un petit ajustable proéminent. Ce module est connecté au connecteur HE14 en 5. Noter que tous les HE14 mâle coudés tel que 5, 8 et 9 sont soudés en biais pour pointer vers le haut et ainsi faciliter l’introduction des connecteurs mâle. Sur 8 se branche le potentiomètre de 10kΩ curseur au centre. Il faudra dans la liaison ne pas inverser le connecteur, car la déviation de l’aiguille et surtout plus tard la variation des valeurs simulées serait inversée. En 9 se branche le bouton poussoir et en 10, surélevé au maximum par un connecteur HE14 à broches longues, l’afficheur OLED. On remarque en 6 deux petits HE14 à rois broches munis de petits « starps » pour pouvoir librement choisir la polarité de l’alimentation sur OLED en fonction du composant approvisionné. Non mentionné dans le cahier des charges, en 7 on peut déporter à l’extérieur le B.P. de RESET ce qui évitera comme sur la Fig.96 d’avoir un orifice de passage pour un stylet sur la face de dessus du coffret. Enfin, plusieurs fils sont isolés. Pour certains, comme en 11, un croisement impose d’avoir au moins l’un des deux fils isolés. C’est dans le sous-dossier <Le circuit imprimé> de <Photographies> que sont rangées les photographies Image3.JPG à Image 16.JPG relatives à la réalisation du circuit imprimé. En particulier Image3.JPG montre le circuit imprimé avec la préparation des liaisons de visserie du capteur de CO2 et de l’afficheur OLED. Puis, jusqu’à Image 8.JPG les détails de mise en Å“uvre du circuit imprimé. Image 9.JPG présente en vue rapprochée l’immobilisation de l’afficheur OLED coté opposé à son connecteur HE14. Sur Image 10.JPG et sur Image 11.JPG est bien visible l’orientation du HE14 coudé pour faciliter le branchement du connecteur femelle. D’Image 12.JPG à Image 14.JPG quelques détails de réalisation. Un peu caché sous la carte Arduino NANO en Image 15.JPG le HE14 à trois broches avec lequel on peut brancher à l’extérieur du boitier un bouton de RESET. Enfin sur Image 16.JPG le circuit imprimé terminé.

Un peu de rêve pour les mal nantis.

Difficile de bricoler Arduino quand on ne possède strictement aucun appareil de mesure. Aussi, je vous propose dans ces lignes la possibilité d’une cinquième fonction sur clic long où notre mesureur de CO2 se transformerait en un Voltmètre analogico-numérique. Dans le titre, le mot rêve est là pour vous prévenir que ce ne sera peut être pas possible, car on manquera de place en mémoire de programme. Toutefois, qui peut le plus, peut le moins. C’est à dire que ça n’engage que trois petits composants et un HE14 à deux branches. Aussi le circuit imprimé va le prévoir, et si c’est possible : YOUOUOUOUPPPYYYYY !

Examen du schéma retenu. Considérons la Fig.101 sur laquelle les deux douilles pour fiches bananes de 2mm ne seront insérées dans le coffret que si cette option est possible. La résistance de 270kΩ annule la tension sur A6 quand le voltmètre « est en l’air ». La diode D protège l’entrée A6 si l’on injecte par erreur une tension négative. Elle se comporte presque comme un court-circuit, et il importe de limiter le courant. Par exemple, avec une pile de 9V la tension aux bornes de cette diode était de -0,7V. L’intensité dans la résistance de 12kΩn’est alors que de 0,7mA ce qui reste dérisoire.

Performance de ce petit appareil. Pour utiliser au mieux le convertisseur analogique numérique le calibre à pleine échelle sera de 5V, qui de plus s’accorde parfaitement avec les graduations du cadran analogique virtuel. La Fig.102 présente une approche de l’affichage qui sera visualisé si cette fonction est maintenue dans le programme final d’exploitation. Une entrée analogique sur l’ATmega328 présente une résistance d’environ 100MΩ. C’est donc la résistance de 270kΩ qui détermine l’impédance d’entrée. Généralement on estime qu’un voltmètre pour ne pas perturber le circuit sur lequel il mesure doit présenter une résistance d’environ 20kΩ par volt, ce qui était le cas avec les meilleurs multimètres utilisant un galvanomètre. Dans notre cas on arrive à 54kΩ/V ce qui est carrément excellent. Enfin, pour un calibre d’environ 5V on obtient en théorie 1023 mesures, soit une sensibilité de 5mV. L’appareil affiche au centième de volt avec arrondi, donc tous les chiffres significatifs présentés seront crédibles.

Étalonnage. En tête de programme, repéré par des @@@@@@@@@@@@ on trouve la constante #define CoefVmetre 1.05 qui devra être peaufinée quand l’appareil sera terminé avec ses composants définitifs. Sur le prototype, on constate que le CAN talonne à la valeur 1023 alors que sur l’entrée il n’y a que 4,8V (Au lieu de 5v.) mesuré avec un multimètre précis. Par contre, pour 4,5V réel il indique 4,29V. D’où le terme correcteur de valeur 4.5 / 4.29 = 1.05. La précision affichée dans ces conditions est excellente sur l’intégralité du calibre. Un dépassement indiqué par MAX ? montré dans l’encadré jaune de la Fig 103 sera soupçonné à partir de 4,9V. Si cette option est conservée, dans le logiciel d’exploitation il faudra ajuster la constante de la butée du CAN Butee_Vmetre ce qui évitera d’avoir à revoir toutes les transpositions. Le but ici consiste à évaluer le coût en octets de programme de cette option. Si vous ne disposez pas d’un voltmètre précis et que personne dans votre entourage ne peut vous en prêter, utilisez le 3,3V régulé fourni par la carte NANO. Il se trouve que cette tension est très précise et faute de mieux vous permettra de calibrer votre appareil.

Le programme de vérification du circuit imprimé.

Avant de profiter des beaux jours et de foncer à l’atelier pour créer le coffret, il importe de vérifier entièrement le circuit imprimé. C’est le démonstrateur P17_Test_materiel_V5.ino qui est chargé de cette phase incontournable, et qui a permis d’émuler le voltmètre de la Fig.102 et déterminé l’occupation mémoire de cette option. Téléverser ce démonstrateur puis :
Protocole de vérification du matériel :
• Faire un RESET avec un B.P. extérieur. (Pour tester le branchement correct du connecteur HE14.)
• Par des Clics courts vérifier l’allumage de la LED triple avec BLEUE / VERTE / ROUGE / *****.
• PPM est affiché en bas du cadran analogique. Les valeurs affichées de CO2, de HYD et de TMP doivent être crédibles prouvant le bon raccordement des deux capteurs.
• Faire tourner le bouton du potentiomètre sur toute sa plage angulaire. L’aiguille doit suivre sur le cadran analogique virtuel et l’angle d’orientation globalement se correspondre.
• Faire un Clic court pour allumer la LED en BLEUE. Puis faire un Clic long qui doit allumer la LED jaune jusqu’au relâcher du B.P. Le système doit passer en option Voltmètre. C’est à ce stade qu’observant les valeurs numérisées avec le Moniteur de l’IDE que sont ajustés les paramètres Butee_Vmetre et CoefVmetre dans le démonstrateur P17_Test_materiel_V5.ino.
• Faire un Clic court pour allumer VERTE. À partir d’ici chaque Clic long alterne entre mode VEILLE et écran actif. Écran noir la LED Arduino continue à s’éclairer par impulsions et le B.P. reste actif pour changer la LED triple de couleur par exemple.
• Pour préparer la suite des études, et en particulier l’exploitation du potentiomètre pour sélectionner l’une des six fonctions envisagées, on en profite avec l’affichage sur le Moniteur de l’IDE de noter les valeurs numérisées par A7 pour les six positions d’index du potentiomètre. Elles fluctuent un peu ce qui est normal, seul l’ordre de grandeur de CAN est important. Sur le prototype les valeurs de la Fig.104 ont été retenues. (En exploitation une précision de dix unités est suffisante.)
C’est bon, le C.I. est entièrement validé, nous allons pouvoir anticiper l’arrivée de l’hivers et passer à la réalisation du coffret relativement compact qui mesure 170mm x 76mm hors tout avec une hauteur d’environ 45mm pieds en caoutchouc non pris en compte. Avant de passer au chapitre suivant consultez impérativement le document Réalisation des coffrets.PDF.

La suite est ici.