Au tout début du projet, je réalise plusieurs cartes bien utiles, convaincu qu'il me fallait une référence externe de précision,
sous la forme d'une fréquence basée sur un quartz, et la nécessité aussi d'avoir une fréquence variable et commandée :
- un double contrôleur en half / full step de moteur pas à pas
- un oscillateur à quartz à division par puissance de 2
- un diviseur de fréquence décimal entre 3-10000 commandé par I2C
Les cartes sont restées à l'état de cartes d'essai mais peuvent être bien utiles
pour d'autres projets, notamment la commande d'une monture équatoriale.
En effet il suffit de mettre ces trois cartes en série pour commander n'importe quelle
monture équatoriale (ou tout du moins la vitesse sidérale de base).
De gauche à droite, les 3 cartes.
Commande moteur, diviseur fréquence 2^N, diviseur décimal commandé en I2c.
La dernière carte intègre un CMOS CD4059 directement au dessus d'un MCP23017.
Afin de faire fonctionner le tout, la commande I2C a nécessité la définition d'un masque de conversion bit à bit
Les broches correspondant aux 4 unités puissance de 10 (1,10,100,1000) n'étant plus dans le bonne ordre.
La fréquence finale est donnée par :
Fq = fréquence du quartz
N = facteur de division du diviseur puissance de deux
X = facteur de division du diviseur décimal
Fq / F = ( 2^N ) * X
Fq = fréquence du quartz
N = facteur de division du diviseur puissance de deux
X = facteur de division du diviseur décimal
Fq / F = ( 2^N ) * X
____________________________________________________________________________________________________
Voici un exemple de montage utilisant les 3 cartes où il est possible de générer des fréquences EXTERNES à la Raspi
programmées dynamiquement par le port I2C :) et faisant au final touner deux moteurs pas à pas avec des vitesses
variables
____________________________________________________________________________________________________
Je commence réellement mes tests avec une raquette de commande classique à 4 boutons.
Cette première carte est relié aux ports Gpios de la RaspberryPi par l'intermédiaire d'une nappe.
Les quatre boutons permettent dans un premier temps de tester la fonctionnalité de déplacement des moteurs à la demande.
J'en profite pour tester la librairie WiringPi de gestion des Gpios de la RaspberryPi.
Non satisfait et afin de ne pas être dépendant d'une librairie tierce, j'écris ma propre librairie en langage C.
J'en profite pour tester la librairie WiringPi de gestion des Gpios de la RaspberryPi.
Non satisfait et afin de ne pas être dépendant d'une librairie tierce, j'écris ma propre librairie en langage C.
Cela permet de tester et valider le passage par le système de fichier /sys pour l'attaque des Gpios
de manière classique par l'ouverture d'un descripteur de fichier en lecture / écriture par appel système (open/write),
et notamment les fréquences max admissibles, largement au dessus de celles utilisées (au regard des périodes de basculement)
Ce permier proto comprend :
- deux contrôleurs du commerce permettant un mode micro pas en 1/16
- une régulation en tension
- quatres entrées numériques
Avec toute la connectique, les moteurs, la raquette et la batterie 12V.
Une fois ce premier prototype validé et testé, je poursuis en mettant en place en entrée un clavier numérique avec matrice 4*4,
ce qui me permet d'entrer n'importe quel objet du ciel et de faire une première simulation d'un objet céleste.
ce qui me permet d'entrer n'importe quel objet du ciel et de faire une première simulation d'un objet céleste.
Je peux toujours néanmoins entrer l'objet depuis un terminal Linux sur le système avec une connexion port série (uart),
ou bien une connexion Ethernet, mais le simple fait d'activer le réseau génère un peu de consommation Cpu.
Ma recherche pour des besoins futurs se tourne alors vers un client réseau très léger : j'utilise finalement Dropbear,
qui est open-source, en attendant de trouver encore plus léger.
Cette extension de la première carte inclut également 2 contrôleurs de moteurs externes en 1/16eme de pas.
Prototype numéro 2 - La monture azimutale n'est pas encore prête ..
Prototype numéro 2 - La monture azimutale n'est pas encore prête ..
J'en profite pour valider tous les calculs mathématiques, notamment ceux concernant les planètes, qui nécessitent un travail supplémentaire
avant de déduire les vitesses depuis les coordonnées équatoriales puis horaires de l'objet (obtention des coordonnées héliocentriques puis
géocentriques des planètes à partir du modèle de Képler)
J'intègre sur une nouvelle carte une commande infrarouge et réalise un premier circuit imprimé,
tout en gardant la commande moteur par des contrôleurs externes du commerce en 1/16eme ou 1/32eme de pas.
Je finalise en parallèle une petite monture azimutale avec un système d'entraînement original basé sur des serres câbles
L'ancienne carte d'essai et la nouvelle carte.