jeudi 31 août 2017

Satellite: Positionneur pour la parabole bande C - 7

Murphy s'est encore invité ce week-end alors que le positionneur était installé et que la connexion RS485 allait être testée. Fonctionnel dans l'atelier, le positionneur ne répondait à aucune commande après installation sur son support. 

La liaison a d'abord été mise en cause avant de découvrir que le problème provenait du blocage d'une fonction de gestion du bus I2C dans le code, fonction appelée durant la séquence d'initialisation. Aucune communication ne pouvait en conséquence avoir lieu.

Après investigation du code source de la librairie 'Wire' fournie avec l'IDE Arduino, il apparaît que celle-ci comporte plusieurs boucles de test de l'état de flags dans les registres de gestion du bus I2C, boucles n'intégrant aucune condition de sortie autre que le changement d'état du flag. Il s'avère qu'un défaut apparu dans mes capteurs I2C conduit à un état dans lequel le drapeau ne sera modifié et donc à une boucle infinie. Encore un code écrit avec l'idée que tout fonction toujours bien. Ce problème a d'ailleurs été relevé il y a quelques années sans que rien n'ait été fait pour le résoudre ce qui est plutôt gênant au regard de l'usage grandissant de l'environnement Arduino dans des plateformes embarquées et/ou mobile...

J'ai repris mon code pour 1-transmettre le message d'information au plus tôt dès l'initialisation de la liaison série, 2-intégrer une copie modifiée de la librairie 'Wire' dans laquelle un time-out est intégré dans chaque boucle et un code d'erreur ad'hoc transmis en cas de problème, 3-afficher l'état du bus I2C au plus tôt.

La modification du code de la librairie 'Wire' a bien permis de résoudre le problème de verrouillage dans une boucle mais l'inspection du reste de son code m'a conduit à devoir rechercher une alternative plus fiable.
La librairie 'Arduino I2C Master' est en cours de test et semble donner toute satisfaction en imposant que très peu de modification dans le code, fournissant même une fonction de recherche de tous les dispositifs I2C présents sur bus.

J'ai ainsi pu programmer rapidement un Arduino Nano comme plateforme de test de mes capteurs I2C confirmant l'existence d'un réel problème de communication avec eux. J'ai rapidement soupçonné que celui pouvait avoir pour origine l'encapsulation du capteur dans de l'araldite, me souvenant à cette occasion avoir déjà rencontré tel problème lié aux contraintes physiques imposées par un constituant trop rigide.

Pour en avoir le cœur net, je me suis attaqué à la désencapsulation des capteurs en tentant d'assouplir l'Araldite voir de la dissoudre sans détruire les deux composants constituant le capteur. Un chauffage dans un bain d'eau bouillante et durant plusieurs minutes permet d'assouplir l'époxy sans toutefois permettre de l'enlever.


Le trempage dans un gel de décapant bois pendant une journée permet de finir le travail en gélifiant l'époxy. J'ai ainsi pu découvrir que certaines des soudures du convertisseur AD7992 avaient lâchées. Ce même composant remonté sur une nouvelle platine fonctionne parfaitement.

J'ai ainsi pu récupérer les deux convertisseurs mais hélas pas les références de tension ADJ160 dont les pattes de fixation étaient trop fragilisées.


Les deux nouvelles platines ont été protégées par plusieurs de couches de vernis de tropicalisation ('conformal coating'), plus souple mais plus facile à enlever en cas de nouveau problème. Les capteurs ont été remontés dans le positionneur lequel va être remis en situation ce week-end avec un code embarqué bien plus robuste.

dimanche 20 août 2017

Satellite: Positionneur pour la parabole bande C - 6

Le nouveau pied de la parabole est prêt à être installé depuis quelques temps. Le temps nuageux de ce week-end était parfaitement approprié à ce travail.
 
Une fouille de 40x40x70 accueille un appui béton sur lequel viendra se poser le pied. L'ensemble est ensuite rempli de 125kg de  mortier.
 

La surface supérieure du massif est recouverte de terre et la partie supérieure du pied est protégée de la pluie le temps d'installer le positionneur le week-end prochain. Le tube servant à la fixation de la monture précédente est conservé pour l'instant.


La monture de la parabole a été installée la veille. Il reste à peaufiner le positionnement, à la peindre et à la fixer sur le positionneur une fois celui-ci installé et réglé.


 

jeudi 17 août 2017

Divers: Panne autoradio

Murphy a encore frappé, et bien sûr la veille du départ en congé. En reprenant la voiture en fin d'après-midi, je découvre que l'autoradio 'Update List' de ma Clio RS est muet quand il marchait encore le matin même. 

Il s'agit ici d'un autoradio spécifique à la gamme Renault qui a pour particularité d'utiliser le bus CAN multimédia pour prendre les commandes au volant et présenter les informations sur un afficheur dédié. Ce modèle n'est pas compatible avec le modèle précédent dit 'Tuner List' qui utiliserait un bus I2C (à vérifier toutefois).


Je démonte l'ensemble le soir même sans rien trouver d'anormal sur les tensions ou sur les haut-parleurs. J'en profite pour reprendre la câblage du 'Parrot' lequel est raccordé directement sur les haut-parleurs par le biais d'un adaptateur et donc sans passer par la commande 'Mute' du système radio. L'autoradio fonctionnant parfaitement hors l'absence de son, j'envisage que l'amplificateur puisse être défaillant et remonte l'ensemble.

Sitôt revenu de congés, je me penche de nouveau sur le problème disposant d'un autoradio de remplacement acheté dans une casse de province. J'aurais pu décider d'approvisionner un autoradio plus récent disposant d'une fonction main-libre et d'un accès USB mais je n'ai hélas trouvé aucun modèle me permettant de récupérer l'affichage.

Le problème subsiste hélas après remplacement ce qui m'amène à penser que si j'ai bien vérifié la continuité de la connexion des haut-parleurs, je n'ai pas vérifié que l'un d'entre eux n'ait pas une connexion à la masse. Et c'est bien évidemment le cas sur l'un des haut-parleurs arrières. Après démontage, il s'avère que l'une des cosses de raccordement était trop proche de la découpe dans la tôle de la porte et a fini par toucher celle-ci. Le fonctionnement revient à la normal une fois ce problème corrigé, et ceci pour les deux autoradios. La protection de l'amplificateur -  mode bridge -  fonctionne plutôt bien, il est simplement regrettable qu'aucun message ne s'affiche qui permette de détecter un tel problème.

Dans le montage d'origine les haut-parleurs Blaupunkt sont équipés d'un connecteur spécifique éliminant tout risque de mise à la masse inopinée. Le changement des quatre haut-parleurs par des modèles plus performants m'a conduit à utiliser des adaptateurs disposant de cosses à sertir non isolées, et que j'ai oublié d'isoler.