La librairie INDI a été installée sur un RaspBerry Pi sous Linux RaspBian Stretch.
Avant d’utiliser un client INDI pour RaspBerry Pi en Python il est nécessaire d’installer PyIndi-client en suivant le mode d’installation suivant
Pour Ubuntu 22.04 sur un Raspberry Pi4B il a été nécessaire d’installer :
sudo apt install python3-setuptools sudo apt install python-dev-is-python3 libindi-dev swig sudo apt install python3-pip sudo apt-get install libcfitsio-dev sudo apt-get install libnova-dev
Il faut également ajouter les modules comme indiqué par François-Xavier N5FXH :
sudo pip install skyfield jdcal ephem
Ensuite installer Pyindi-client
pip install pyindi-client
Le logiciel pilote, écrit en langage C par Patrick F1EBK, membre de l’association DP , dialogue à l’aide de messages XTML avec un serveur INDI qui assure l’interface entre celui-ci et un ou plusieurs clients. Les logiciels d’astronomie Stellarium et Cartes du Ciel (Skychart) sont des clients compatibles INDI qui communiquent par Internet avec le serveur. Des essais dont également en cours avec l’application KSTAR sous KDE.


Une carte interface câblée par Laurent F6FVY avait été étudiée et développée en collaboration par KK6MK et F1EHN. Elle était destinée à commander à distance les moteurs de l’antenne du radio télescope à travers une carte de multiplexage également réalisée par Laurent. Dans un premier temps la carte a été remise en état (mauvaises soudures de la prise série rs232) avec ajout d’un afficheur LCD par Patrick F1EBK pour faciliter les vérifications du logiciel « firmware » de la carte. Il a fallu reprogrammer le contrôleur PIC car le logiciel était non fonctionnel. La carte ne lisait pas correctement les valeurs des codeurs optiques.

Bien que la carte réparée soit capable de piloter et de lire la position de l’antenne, elle n’était pas dimensionnée pour le radiotélescope car elle ne permettait d’activer que quatre commandes sans y adjoindre des composants supplémentaires. Elle ne pouvait donc commander que les mouvement d’ascension droite à petite vitesse vers l’ouest ou l’est et les mouvements en déclinaison négative ou positive. Il manquait au moins trois autres commandes pour que le radiotélescope soit opérationnel. Ces trois commandes supplémentaires sont d’une part la poursuite et d’autre part le déplacement de l’antenne à grande vitesse dans les deux directions ouest et est. C’est pourquoi nous avons développé une carte à base du micro contrôleur ARDUINO qui est entièrement compatible avec la carte KK6MK-F1EHN et comporte un jeu de commandes plus étendu. Le pilote INDI tourne sur un Raspberry Pi dédié à la commande de rotation de la parabole par l’intermédiaire d’une liaison série USB à 9600 bauds avec la carte interface comme l’ancienne carte.

On peut voir ci-dessus côte à côte le prototype de la nouvelle carte d’interface à base d’Arduino et l’ancienne carte KK6MK-F1EHN.
Le logiciel du prototype de la carte interface est opérationnel comme on peut le voir sur cette vidéo. L’écran LCD affiche les changements de l’Ascension Droite (AD) tandis que l’antenne tourne. Il montre également les commandes transmises par le logiciel client d’astronomie (PVP signifie Petite Vitesse Plus). Lorsque l’antenne atteint les coordonnées de la cible le logiciel envoie une commande de passage en mode poursuite (TRK pour tracking). Pendant les essais de mise au point du pilote la rotation de l’antenne est simulée par des roues codeuses hexadécimales reliées à la carte. Un simulateur plus évolué des mouvements de l’antenne a été réalisé avec un Raspberry Pi et une carte série/parallèle 32 ports. Il simule les valeurs envoyées par les codeurs optiques de position (code Gray en parallèle sur 12 bits) et doit servir à valider la version finale du pilote logiciel. Il est prévu de tester ensuite le câblage des codeurs optique depuis la sortie des codeur jusqu’à la lecture par le logiciel.
Pour que les nouvelles commandes soient relayées vers le panneau de commande des moteurs il a été nécessaire d’ajouter des connexions sur le rack entre la nouvelle carte interface (dite carte KBF pour radio club F6KBF) et le panneau de commande des moteurs.


Sur ces photos on voit l’arrivée des commandes de la carte F1EHN (câbles marron-rouge-orange-jaune) ainsi que les 3 nouvelles commandes de déplacement spécifiques à la carte KBF (cable vert-bleu-violet). Détail de l’arrivée de toutes les commandes au niveau de la carte de multiplexage. Le câble gris-blanc commande la mise en marche et l’arrêt de la puissance moteur. Lors des essais effectués il y a plusieurs années une inversion du câblage avait été constatée sur un des codeurs opto-électroniques. Avec la nouvelle carte de commande, nous procédons à de nouvelles vérifications avant de confier au nouveau dispositif, carte KBF et logiciel pilote INDI, les commandes de l’antenne du radiotélescope.
Les photos suivantes montrent le banc d’essai de l’ensemble carte interface et pilote logiciel de commande à distance du radiotélescope. Les essais sont effectués par Patrick F1EBK dans la folie N4 sur fond d’enregistrements dans le studio de la radio Internet *DUUU.

Ci-dessus vue de l’ensemble du banc d’essai : à gauche, tiroir équipé de la carte prototype Arduino, le Raspberry Pi, avec la carte série/parallèle 32 ports, l’interface reliée au connecteur du fond de panier ; au milieu un RaspBerry Pi qui gère un serveur INDI et le logiciel de simulation des codeurs optiques.



Sur la photo l’afficheur de la carte interface montre les commandes reçues par l’intermédiaire du pilote logiciel et affiche les valeurs angulaires transmises sur les 12 ports de chaque entrée des positions angulaires Ascension Horaire et Déclinaison. Pendant les essais, chacun des 12 bits de poids 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 et 2048 est passé successivement de la position 0 à la position 1. L’affichage des valeurs est en hexadécimal. Le test est effectué successivement sur l’AH et sur la DEC , ce qui prouve que le logiciel pilote fonctionne bien en relecture des codeurs optiques et que les connexions de tous les bits sont correctement câblées. Cliquer sur le lien suivant pour voir la vidéo du banc d’essai.
Parmi les commandes supplémentaires, en plus de celles des vitesses rapides et de la poursuite, la nouvelle carte interface permet de contrôler la mise en route de modules séparés comme des préamplificateurs ou un amplificateur de puissance. Les deux photos suivantes montrent l’acquittement des commandes préampli 1 ON et préampli 1 OFF. La commande par le logiciel client de coupure ou de mise en route de l’alimentation électrique des moteurs a également été validée. Deux commandes supplémentaires sont en réserve.



Patrick F1EBK continue le câblage du système de commande du radiotélescope. La dernière amélioration porte sur l’alimentation du simulateur RaspBerry Pi directement par le rack.
Pendant que l’antenne est verrouillée au zénith il n’est pas possible de valider le pilote logiciel en activant les moteurs. Un simulateur a donc été développé qui reçoit les ordres de déplacement de la carte d’interface et lui envoie en retour les positions simulées des codeurs. Le simulateur est en quelque sorte un télescope virtuel. Voici le schéma fonctionnel qui décrit le pilotage à distance du télescope par le client Cartes du Ciel. La carte multiplexeur est utilisée pour que la carte F6KBF prenne la main sur les commandes des moteurs de la parabole quand l’inverseur du tableau de commande est en position « commande à distance ».

Fonctionnement général du simulateur (et aussi de la version physique) :
Le driver compare la position demandée par le client avec la position de chaque axe lue sur la carte F6KBF, c’est lui qui prend la décision de commander les déplacement pour annuler toute erreur de position. La carte F6KBF a 3 rôles principaux : – Elle retourne au driver (via la liaison série) les positions des 2 axes (AD et Dec.). Ces positions sont lues sur les 24 entrées représentant les positions des 2 codeurs. – Elle transmet au simulateur (ou à la carte multiplexage) les commandes de déplacement. – Elle fourni les servitudes (alimentation des préamplificateurs, réserves). Le simulateur reçoit les commandes de déplacement, et modifie la position (virtuelle) des codeurs AD et Déc. Il communique à la carte F6KBF cette nouvelle position via les 24 signaux (simulant l’état des codeurs). Dans la version physique, c’est l’alimentation des moteurs (via la carte de multiplexage et les relais de puissance) qui va provoquer la rotation des axes. Les codeurs vont mesurer cette rotation pour informer la carte F6KBF de la nouvelle position.
Le repère équatorial est en rotation permanente (1 tour par jour), le driver a donc un rôle de ‘superviseur’ en mode poursuite (tracking) : il vérifie en permanence que l’erreur ne dépasse pas 1 pas codeur. Si c’est le cas, il prend les mesures pour annuler cette erreur : – Si l’axe AD est en avance, il arrête simplement le moteur de poursuite, et il laisse la rotation terrestre annuler l’erreur. – Si l’axe AD est en retard, il passe en PV+ pour annuler l’erreur. – Sur l’axe de déclinaison, toute erreur (même 1 pas codeur) provoque la rotation du moteur de déclinaison pour annuler cette erreur.
Une réflexion sur “Nouveau pilote logiciel et nouvelle carte interface KBF”