LES CONNECTEURS

cette page a pour objectif de recenser et documenter les spécifications des connecteurs courants en électronique.

le but n’est pas de faire un récapitulatif exhaustif mais de recenser les plus utilisés sur des PCB ou câbles pour de l’électronique DIY a base de microcontrôleurs .

Les connecteurs JST

ils sont principalement utilisés pour de la connectique de capteurs , de batteries rechargeables, de moteurs Pas a Pas type NEMA, de cartes d’imprimante 3D, et en modélisme radiocommandé sur les servomoteurs.

on les désigne sous le nom JST qui est le standard originel du fabriquant J.S.T. Mfg. Co. (Japan Solderless Terminal).

la caractéristique principale de ces connecteurs est le pas d’écartement des broches. et les connecteurs femelle a souder sur les circuits existent en broche droites (le plus courant) , en broche perpendiculaires et en connecteur pour montage en surface (CMS).

voici 2 tableaux récapitulatifs des désignations et écartements correspondants:

ARDUINO: Capteurs Ultrason

nous allons voir ici comment faire une mesure de distance avec un capteur Ultrason.

nous examinerons 2 types de capteur , le capteur classique disponible dans tous les kit arduino, a savoir le HC-SR04 mais aussi un capteur un peu plus evolué , le capteur A02YY , qui est un capteur étanche a commande UART.

Capteur ULTRASON le principe

les capteur a ultrason sont des circuits électroniques comportant un Émetteur et un récepteur a Ultrasons.

l’émetteur envoie une impulsion sonore qui est réfléchie par les obstacles situés en face. le récepteur capte l’écho reçu en retour. on mesure le temps mis entre le départ du son et le retour, et connaissant la vitesse de propagation du son dans le milieu ou s’effectue la mesure on peut en déduire la distance.

Distance = (temps x vitesse du son) / 2

Le capteur HC-SR04

principe de commande:

le circuit du capteur est alimenté en 5V via ses broches Gnd et Vcc , il comporte une broche Trig (Trigger) permettant de commander l’envoi du signal , et une broche Echo permettant de détecter le signal du retour d’echo.

il suffit donc d’alimenter le capteur via le Gnd et le 5V de l’arduino et de brancher les broches Trig et Echo sur des sorties de l’arduino.

histoire de changer de l’éternel affichage dans le moniteur série , nous allons ici directement utiliser un petit écran Oled I2C 128×64 pixels pour afficher le résultat. le principe du Bus I2C est expliqué ici : Bus I2C

pour la gestion en I2C , nous utiliserons la librairie “Wire.h” et pour le petit écran Oled I2C nous utiliserons les librairies “Adafruit_SSD1306.h” et “Adafruit_GFX.h” . ces librairies seront a installer en préalable sur votre IDE arduino.

pour le pilotage globale , nous utiliserons un Arduino Nano ce qui permettra un ensemble très compact .

Cablage Arduino:

  • la broche Trig du HC-SR04 est raccordée a la broche D7 de l’arduino nano
  • la broche Echo du HC-SR04 est raccordée a la broche D6 de l’arduino nano
  • la broche SCL de l’ecran OLED est raccordée a la broche A5 de l’arduino nano
  • la broche SDA de l’ecran OLED est raccordée a la broche A4 de l’arduino nano
  • les broches GND et Vcc des 2 composants sont a raccorder aux broches GND et 5V du Nano
  • l’arduino Nano sera alimenté par le cable USB de telechargement du programme . pour un montage autonome , voir derniere photo en bas de page sur le cas du deuxieme capteur .

Programme:

#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define OLED_ADDR   0x3C    // OLED display TWI address
Adafruit_SSD1306 display(-1);
#define ECHpin 6
#define TRIGpin 7
unsigned long duree ;
const float SOUND_SPEED = 343.00 / 1000;
float distance = 0.00;

void setup() {
 pinMode(ECHpin, INPUT);
 pinMode(TRIGpin, OUTPUT);
 digitalWrite(TRIGpin, LOW);
 Wire.begin( );                // démarre la communication I2C
 display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); // initialize l'ecran OLED
 display.clearDisplay();     //efface l'affichage OLED
 display.display(); 
}

void loop() {
 digitalWrite(TRIGpin, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIGpin, LOW);
 // mesure du temps aller retour de l'impulsion US
 duree = pulseIn(ECHpin, HIGH);
 distance = duree  * SOUND_SPEED / 2.0 ;
 display.clearDisplay();
 display.display();  
 display.setTextColor(WHITE);
 display.setTextSize(1);
 display.setCursor(35,1);    
 display.print("DISTANCE" );
 display.display(); // actually display all of the above 
 display.setTextSize(2);
 display.setCursor(10,17);    
 display.print(distance);
 display.setCursor(85,17);    
 display.print(" mm");
 display.display();
 delay(5000);
}

Résultat:

dans la photo ci dessous , le montage posé horizontalement sur une table, et qui mesure la hauteur au plafond en mm .

Nota: il faudra étalonner le montage en mesurant la cote réelle et modifier la vitesse du son en conséquence . il faut savoir que la vitesse du son dans l’air est fonction de la température et de la densité de l’air a l’endroit de la mesure. pour faire un appareil de mesure précis , il faudrait aussi mesurer la température et ajouter une table de correction …

.

Le capteur A02YY :

les differents Modeles :

dans la famille des capteurs A02YY , il existe 5 types dont voici un tableau récapitulatif des caractéristiques principales:

dans ce tutos , nous allons voir le modèle A02YYTW qui a l’avantage d’être commandable de la même façon que le capteur HC-SR04 et donc plus économe en énergie que par exemple le modèle UW qui lui est en émission réception constante et ou il faut récupérer les données a la volée.

brochage du câble du capteur

Principe de fonctionnement

ici la petite particularité par rapport au capteur HC-SR04, c’est que la carte electronique du A0221AT calcule directement la distance et l’envoie sous forme de chaine de 4 caractères sur le bus série avec un protocole de type Tx/Rx . dans le programme Arduino, il va donc falloir implémenter un protocole serie avec la bibliotheque “SoftwareSerial.h” et un protocole Myserial pour le bus serie du capteur , afin de lire les bits reçus du capteur et calculer la distance correspondante .

ci dessous un extrait de la data sheet du capteur qui explique cela pour les modules UART contrôlés.

Câblage Arduino:

il est similaire a celui du HC-RS04 plus haut avec :

  • la broche Rx (cable jaune) du capteur (equivalent au Trig du HC-SR04) est raccordée a la broche D7 de l’arduino nano
  • la broche Tx (cable blanc) du capteur (equivalent au Echo du HC-SR04) est raccordée a la broche D7 de l’arduino nano
  • la broche SCL de l’écran OLED est raccordée a la broche A5 de l’arduino nano
  • la broche SDA de l’écran OLED est raccordée a la broche A4 de l’arduino nano
  • les broches GND et Vcc des 2 composants sont a raccorder aux broches GND et 5V du Nano

Programme:

#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define OLED_ADDR   0x3C    // OLED display TWI address
Adafruit_SSD1306 display(-1);
#define RXpin 6
#define TXpin 7
SoftwareSerial mySerial(RXpin,TXpin); // RX, TX connected to US sensor
unsigned char data[4]={};
float distance = 0.00;

void setup() {
 pinMode(RXpin, INPUT);
 pinMode(TXpin, OUTPUT);
 Wire.begin( );                // démarre la communication I2C
 Serial.begin(9600);
 mySerial.begin(9600); 
 display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); // initialize
 display.clearDisplay();     //and clear display
 display.display(); 
}

void loop() {
 mySerial.flush();
 delay(30);
 digitalWrite(TXpin,HIGH);
 delay(30);
 digitalWrite(TXpin,LOW);
 delay(30);
  digitalWrite(TXpin,HIGH);
 delay(60);
     for(int i=0;i<4;i++)  {
       data[i]=mySerial.read();
     }
 distance = (data[1]*256)+data[2];
 display.clearDisplay();
 display.display();  
 display.setTextColor(WHITE);
 display.setTextSize(1);
 display.setCursor(35,1);    
 display.print("DISTANCE" );
 display.display(); // actually display all of the above 
 display.setTextSize(2);
 display.setCursor(10,17);    
 display.print(distance);
 display.setCursor(85,17);    
 display.print(" mm");
 display.display();
 delay(5000);
}

voici ci dessous, une photo d’une adaptation du montage et du programme ci dessus pour calculer le volume d’eau residuel dans une cuve rectangulaire de camping car.

a partir de la distance entre le dessus de cuve et la surface de l’eau, on calcule le volume d’air supérieur de la cuve que l’on retranche au volume global de la cuve .

pour l’alimentation electrique , sont utilisées 2 pile Li-ion 18650 de 3,7 V en série connectées a la broche GND et Vin du Nano. ce qui rends le dispositif autonome.

il est parfaitement imaginable de faire de même dans un puits de section cylindrique .

NOTA: le capteur fonctionne sur une plage de distance de 3cm a 4,5 mètres .

PIcam PAN / TILT

présentation d’un montage basique PAN TILT d’une PI camera pilotée par un Raspberry PI.

le principe du montage est d’afficher l’image de la camera sur écran et d’utiliser une souris ou un trackpad pour pointer dans l’image le nouveau point de focus central . après clic sur le bouton gauche , la camera change d’orientation (mouvement Pan/Tilt) pour pointer sur le nouveau point désigné dans l’image.

vue CAO du montage:

Vue du Montage réel:

il est fait a partir de pièces imprimées 3D , les moteurs pas a pas sont des 28BYJ-48 bien connus dans les montages proto a base d’arduino. ici ils seront commandés par un Raspberry PI (schéma plus bas).

Principe de commande et câblage:

pour la partie commande et affichage , nous allons utiliser un Raspberry PI 4B 8Go et utiliser le port GPIO pour piloter les 2 moteurs pas a pas 28BYJ-48 du montage Pan/Tilt via deux drivers Pololu A4988. la camera est une simple PIcam V1 a quelques euros ( def. photo maxi: 2592×1944 , def video max: 1920 x 1080 30fps)

le principe de ce type de commande avec Pololu A4988 est expliqué ici :

https://www.e-techno-tutos.com/2021/03/14/moteur-pas-a-pas-type-nema-17/

avec pour particularité de remplacer un NEMA17 par un 28BYJ-48 dont la modification de branchement est décrite ici (pilotage par un Arduino Uno):

https://www.e-techno-tutos.com/2022/03/18/arduino-pap-28byj-48-a4988/

ci dessous une vue schématique des branchements sur le port GPIO. les sorties GPIO2 et GPIO3 vont sur les entrée STEP/DIR du driver 1 et les sorties GPIO5 et GPIO6 vont sur les entrée STEP/DIR du driver 2. les 2 drivers sont alimenté en puissance par une alim 5V externe (ici pile 9V et régulateur 5V) car le 5V du RPI 4B est insuffisant pour l’ensemble ce qui pourrait provoquer une chute de puissance et des dysfonctionnements globaux.

pour mémo rappel des brochages du GPIO

pour la partie driver Pololu , sont utilisés ici des petites platines proto spécifique que l’on trouve sur Amazone ou aliexpress et qui supportent les pololu A4988.

pour piloter un 28BYJ-48 , vu les faibles puissances en jeu , pas besoin de radiateur sur les drivers Pololu.

petite vue globale du montage proto une fois tout branché :

petite vue de l’ensemble une fois le PI démarré et le programme ci dessous lancé .

LE PROGRAMME PYTHON

voici le lien vers le programme python au format txt (changer l’extension “.txt” en “.py” pour une utilisation sur RPI:

le détail du pgme:

#import des librairies
import cv2
from time import sleep 
import RPi.GPIO as GPIO
#config port GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
st1=6
dir1=5
st2=3
dir2=2
GPIO.setup(st1, GPIO.OUT)
GPIO.setup(dir1, GPIO.OUT)
GPIO.setup(st2, GPIO.OUT)
GPIO.setup(dir2, GPIO.OUT)
# fonction "motion" = action suite appui bouton et  position curseur souris        
def motion(event,x,y, flags, paramq):
    if event==cv2.EVENT_LBUTTONDOWN:
        Xpos=(x - 640)
        Ypos=(360 - y)
        S1=abs(round(Xpos/10))
        A= abs(round(Ypos/Xpos, 1))         
        if Xpos<=0:
            d1=0            
        else:
            d1=1
        if Ypos<=0:
            d2=1
        else:
            d2=0
        GPIO.output(dir1,d1)
        GPIO.output(dir2,d2)
        # mouvement combiné Pan/tilt par pas de 10 pixels en x
        for n in range(S1):            
            for x in range(10):
                GPIO.output(st1,1)
                sleep(0.001)
                GPIO.output(st1,0)
                sleep(0.001)
            for y in range(int(10*A)):
                GPIO.output(st2,1)
                sleep(0.001)
                GPIO.output(st2,0)
                sleep(0.001)
#programme principal
# ouverture camera, fenetre camera et definition affichage
Vcam="CAMERA"
cv2.namedWindow(Vcam, cv2.WINDOW_AUTOSIZE)
cv2.moveWindow(Vcam, 630, 220) 
cap0=cv2.VideoCapture(0) 
# defintion largeur/hauteur de la camera (ici mode HD)
cap0.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap0.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
if cap0.isOpened(): 
    rval, frame0 = cap0.read()
else:
    rval = False 
# boucle affichage et tracage centre image   
while rval:   
    cv2.imshow(Vcam, frame0)
    rval, frame0 = cap0.read()
    cv2.line(img=frame0, pt1=(640, 0), pt2=(640, 720), color=(0, 255, 255), thickness=2, lineType=8, shift=0)
    cv2.line(img=frame0, pt1=(0, 360), pt2=(1280, 360), color=(0, 255, 255), thickness=2, lineType=8, shift=0)
    # gestion appui clavier touche q = arret camera
    key=cv2.waitKey(1) & 0xFF
    if  key == ord('q'):            
        break
    # si pas arret camera , appel fonction "motion"
    else:    
        cv2.setMouseCallback("CAMERA",motion)
# arret camera et fermeture fenetres si appui touche q
cap0.release()
cv2.destroyAllWindows()

commentaires / explications:

  • le programme utilise 3 librairies : OpenCV ( import cv2 ) pour la partie camera et gestion des évènements clavier/souris , Time (from time import sleep) pour les pause pgmes, et GPIO ( import RPi.GPIO as GPIO ) pour la gestion des entrées sorties de l’interface GPIO.
  • les 10 lignes suivantes font définition des variables et la configuration des sorties du port GPIO pour l’envoi des impulsions STEP/DIR sur les entrées des drivers.
  • def motion() est une fonction qui définis les action sur appui gauche du bouton souris => on prend la valeur de position (x,y) en pixels de la souris dans l’image , on recalcule la position par rapport au milieu de l’image , on fixe la valeur des sortie dir des 2 moteurs pas a pas et on lance une boucle de mouvement combiné sur les 2 axes en fonction des décalages pixels entre centre de l’image et position de la souris sur l’image.
  • le programme central ouvre une fenêtre de visualisation, lance l’affichage camera et teste l’appui clavier puis appelle la fonction motion si clic gauche souris.

résultat sur écran raspberry:

a gauche, le programme ouvert avec l’IDE Thonny Python et a droite la fenêtre d’affichage de la camera . en jaune les lignes horizontales et verticales matérialisant le centre de visée de la caméra.

petite vidéo du résultat:

points a améliorer:

  • l’affichage caméra est figé pendant le mouvement Pan/Tilt ,ceci est du a l’intégration de l’affichage dans le module de programme . l’affichage n’est re-genéré qu’après le mouvement => utiliser le threading ou le multiprocessing pour séparer les deux processus et ainsi avoir un processus d’affichage independant permettant de rafraichir l’affichage en temps réel pendant le mouvement.
  • la position après mouvement est très approximative , integration pifométrique pixels camera / position finale => affiner la méthode de calcul en coordonnées polaires de la nouvelle position en fonction des pixels souris , de la focale de la camera , de la définition d’affichage et du microstepping des pas a pas.
  • la “dichotomie” du déplacement combiné x/y est sommaire (ratio entre la position x/y et arrondis sommaire sur le pas des boucles) => intégrer un calcul de décalage par rapport a la pente théorique et faire une correction (x,y) dans la boucle a chaque itération pour rattraper la position par rapport a la trajectoire théorique (principe de l’algorithme de Bresenham) .

SOFTWARE ASTRO

le traitement et le contrôle numérique est devenu courant en astronomie, de nombreux software ont été développés , explorons la liste des logiciels libres les plus utilisés que ce soit en astrophoto ou en contrôle/guidage.

PLANETARIUMS

STELLARIUM

le planétarium le plus connus , il est en version LIBRE pour les systèmes windows, linux et mac OS. outre les fonction de visualisation de la voute céleste, il possède des fonctions de guidage de montures et est compatible de différents standards (ASCOM, INDI, etc ..). il existe une version pour smartphone avec une version basique gratuite et une version payante complète.

lien d’information et de telechargement PC: https://stellarium.org/fr/

CARTE DU CIEL

la deuxième star des planétariums est le logiciel “Carte du Ciel”. concurrent direct de stellarium , ses capacités sont les mêmes (planétarium et conduite de monture)

lien d’information et de téléchargement PC: https://www.ap-i.net/skychart//fr/start

STACKING PHOTO

SIRIL

actuellement , le software gratuit le plus en vogue , la panoplie des options de SIRIL vont du prétraitement des images à l’empilement (stacking) en passant par la calibration et l’amélioration. il est gratuit et compatible tout OS (window, mac, linux)

lien d ‘information et de téléchargement : https://siril.org/fr/

REGISTAX

également gratuit , registax est l’équivalent de siril mais spécialisé pour le planétaire. il est un peu plus simple a mettre en oeuvre que SIRIL . il possede un mode de traitement automatique (copie, traitement alignement selection et empilage) . mais les parametres peuvent etre egalement réglés a la main pour un meilleur résultat.

lien d’information et de téléchargement: https://www.astronomie.be/registax/

DEEPSKYSTACKER

DEEPSKYSTACKER est le pendant de REGISTAX mais pour le ciel profond. lui aussi a un mode basique automatique avec des paramètres standards.

lien d ‘information et de téléchargement: http://deepskystacker.free.fr/french/index.html

PRISE DE VUE APN

CANON EOS UTILITY

disponible gratuite sur le site CANON, il permet de piloter les boitier EOS de la gamme CANON . une fois installé sur votre PC et branché a votre APN via son port USB, vous prenez le contrôle complet de l’appareil : prises de vues, sélection des réglages (mode, ISO , temps de pose , etc..). il est particulièrement utile en mode BULB (pause longue) via son module minuteur permettant du timelaps pauses longues (réglage du nombre de vues , temps de pause, temps interposes). le chargement des photos sur le PC peut être automatisé pendant la séquence de prise de vue avec visualisation temps réel . c’est le super couteau suisse pour APN CANON EOS …

doc et telechargement : https://www.canon.fr//software/eos-utility

PRISE DE VUE APN et CAMERA CCD

SHARPCAP

sans doute un des soft les plus connus, il existe en version gratuite et version payante. la version gratuite possède déjà des options étonnantes, auxquelles, moyennant paiement on accède a un certains nombre d’outils évolués : stacking, alignement polaire, sequences de vues plannifiées, etc..

doc et téléchargement : https://www.sharpcap.co.uk/

SPECIFIQUES LINUX

KSTAR – EKOS

cet ensemble est constitué de deux gros modules , le planétarium KSTAR et le logiciel de contrôle d’observatoire EKOS. KSTAR est le pendant LINUX de Stellarium , complété d’une suite d’outils EKOS nanti de son protocole de communication INDI. l’ensemble constituant un package tout en un de contrôle d’observatoire qui va du contrôle de la monture , a la prise de vue , au contrôle de coupole et au contrôle d’une station météo et de camera automatique extérieures . le protocole INDI est quasi sans limite sur la capacité a contrôler des éléments extérieurs via microcontrôleurs et reseau. s’agissant d’un ensemble open source , il est meme possible de développer ses propres interfaces. le package peut même être installé sur un Raspberry PI 4. on le trouve d’ailleurs sous cette forme dans le pack STELLARMATE qui n’est rien d’autre qu’un raspberry PI avec KSTAR EKOS , l’ensemble installé dans un joli boitier rendant le produit plus “commercial”. le célébré boitier ZWO ASIAIR n’est lui aussi rien d’autre qu’un RPI déguisé avec dedans KSTAR EKOS .

lien documentation et téléchargement KSTAR: https://apps.kde.org/fr/kstars/

lien documentation et téléchargement INDI/EKOS: https://www.indilib.org/

LOGICIELS LIBRES MAKERS

une petite rubrique sur les logiciels libres et/ou OPEN SOURCE utiles pour les makers. la liste ci dessous n’est pas exhaustive et sera éventuellement complétée au cours du temps.

BUREAUTIQUE

LIBRE OFFICE

cousin germain de la suite bureautique Microsoft Office , LIBRE OFFICE est la copie conforme “gratuite” de la célèbre suite , avec une compatibilité complète des formats de fichiers. les fichiers WORD, EXCEL, POWER POINT sont utilisable dans libre office. point supplémentaire, le traitement de texte LibreOffice Writer peut meme editer les fichier PDF qui deviennent modifiable .

lien d’information et téléchargement: https://fr.libreoffice.org/

TRAITEMENT PHOTO

GIMP:

concurrent direct de photoshop dont il reprend une majorité d’outils ou de fonctionalités, c’est un incontournable “gratuit” du traitement et de la retouche photo.

lien d’information et téléchargement: https://www.gimp.org/

DESSIN / VECTORISATION

INKSCAPE:

probablement le soft libre donc gratuit le plus connu de la catégorie, il permet de faire du dessin vectoriel mais aussi de vectoriser des images bitmap et de les exporter dans divers formats dont le DXF. cerise sur le gateau , il y a un module GCODE qui permet de faire des programme GCODE de gravure ou fraisage a partir du dessin vectorisé . c’est le couteau suisse du dessin vectoriel.

lien d’information et téléchargement: https:/inkscape.org

CAO / FAO MECANIQUE

FREECAD

très similaire a CATIA dans ses concepts , c’est sans contestation possible , le meilleur logiciel libre “tout en un” de catégorie professionnelle. il regroupe les outils de CAO 2D et 3D volumique, calculs de RDM , cinématique, module FAO fraisage 3 axes, simulation d’usinage. et bien d’autre choses encore.

lien d’information et téléchargement: https://www.freecadweb.org

BLENDER

deuxième star de la 3D open source, BLENDER. concurrent gratuit de STUDIO MAX, c’ est un logiciel libre de modélisation, d’animation et surtout de rendu 3D . il permet de faire de la sculpture 3D, du texturage , du dépliage mais aussi du montage video non lineaire et de la composition

lien d’information et téléchargement: https://www.blender.org/

MESHMIXER

un des rares outils gratuit d’Autodesk (pourvu que ça dure), Meshmixer est un outil basique de manipulation de forme STL. il est tres utile dans le cadre de l’impression 3D . il permet entre autre de visualiser rapidement des fichiers STL , de transformer des surfaces STL en volumes, et de manipuler les formes stl (rotation, facteur d’echelle, coupe , etc..)

lien d’information et téléchargement: https://meshmixer.com/

ELECTRONIQUE & MICROCONTROLEURS

CIRCUITS ELECTRONIQUES

dans le domaine de la conception et de la réalisation de circuits imprimés en Open source gratuit , la reference c’est FRITZING . en plus du module de circuit imprimé avec chemin automatique, il possede un module platine d’essai qui va de pair avec les montage ARDUINO et permet egalement de faire une vue schématique du montage . il possede en plus une bibliotheque de composant gigantesque qui peut etre complétée par un tas de composant trouvable en ligne . il est compatible des format d’export permettant de faire réaliser ses PCB en ligne.

lien d’information et téléchargement: https://fritzing.org/

IDE ARDUINO

l’indispensable Interface de développement ARDUINO qui vous permettra la programmation de tout un tas de microcontrôleurs ARDUINO ou équivalents ou compatibles ( ESP32, ESP32cam, etc..)

lien d’information et téléchargement: https://www.arduino.cc/en/software

CONTROLE DE CNC via GRBL

UGSplatform (3axes)

sans doute le meilleur logiciel libre de pilotage de microcontroleurs avec GRBL . la dernière version d’Universal Gcode sender relookée . en plus de l’interface de contrôle de la CNC , un utilitaire de dessin basique permettant ensuite de faire des poches, des contours , des perçages .

lien info et telechargement: https://winder.github.io/ugs_website/download/

GRBLGRU (5 axes)

pour du contrôle de CNC jusqu’a 5 axes avec GRBL MEGA 5X installé sur une carte ARDUINO MEGA. on retrouve le meme type d’interface qu’avec Universal Gcode sender

lien d’info et téléchargment : https://www.grblgru.com/

lien pour GRBL MEGA 5X: https://github.com/fra589/grbl-Mega-5X

bCNC (3axes)

pour ceux qui ont un PC lent ou un peu vieux encore en 32 bits ou surtout qui veulent faire une CNC avec un raspberry PI , il existe une version de controleur ecrit en python. il est multi plateforme (window, macos, linux) , et possede quelques options sympa dont l’autolevel, et le probe,

lien d’info et de téléchargement: https://github.com/vlachoudis/bCNC

LaserGRBL

le pendant d’universal Gcode sender pour laser avec GRBL . inconvénient , ne fonctionne que sur plateforme window.

lien d’info et téléchargement: https://lasergrbl.com/

INKSCAPE pour numériser un plan papier au format DXF

problème courant dans bien des domaines, dématérialiser un plan papier dans différents formats.

nous allons voir ici comment transformer un plan papier au format DXF pour utilisation sur soft CAO, FAO ou outils de découpe laser.

le software utilisé est INKSCAPE , un freeware disponible ici:

https://inkscape.org/release/inkscape-1.2.1/

pour passer du stade papier au stade DXF , en plus du logiciel Inkscape , nous allons utiliser un appareil photo ou un smartphone,

pour l’exemple nous allons travailler a partir d’une photo smartphone d’un couple de section transversale du plan de réalisation d’un jet DASSAULT RAFALE de plus de 2,5m de long (plan format A0).

1: Ouvrir l’image sous Inkscape

comme sur tout logiciel , on utilise dans le menu du haut l’option “FICHIER/OUVRIR

puis on sélectionne l’image dans le répertoire de stockage

on veille a laisser les options qui s’affichent comme sur le menu ci dessous

2: Vectoriser l’image

on selectionne l’image ouverte en cliquant avec la flèche de souris dessus

puis on ouvre le menu “Chemin/ vectoriser un objet matriciel

dans la fenêtre qui s’affiche , on selectionne l’option seuil de luminosité et on fait varier la valeur jusqu’à obtenir le meilleur résultat possible; 0,6 donne en général de bons résultats sur une image noir et blanc bien contrasté même s’il y avait des plis papier sur le plan d’origine. dans tous les cas faire des essais en variant le paramètre et en regardant le résultat avec “mettre a jour” puis quand OK , on valide sur “appliquer” .

3: Supprimer l’image de base

la vectorisation crée un objet supplémentaire superposé a l’image de base. il faut donc supprimer l’image initiale et ne garder que l’objet vectorisé . pour cela sélectionner avec la flèche de pointeur de souris et déplacer l’image dans la fenêtre puis la supprimer avec un clic droit + supprimer.

4: Enregistrer au format DXF

une fois qu’il ne reste plus que l’objet vectorisé , il ne reste tout simplement plus qu’a sauvegarder au format DXF : “Fichier/Enregistrer sous”

puis on saisi le répertoire de destination et un nom de fichier et le format DXF. normalement si pas de problème , le travail est terminé.

c’est a ce stade que l’on peut choisir d’autres formats d’enregistrement ; PDF par exemple ou tout autre format de fichier admis par INKSCAPE.

5: Verifier sur un soft CAO ou FAO et mettre a l’echelle

ne reste plus qu’a vérifier sur un soft CAO en ouvrant le fichier DXF que tout est OK puis a mettre a l’échelle avec une option d’echelle de façon a faire correspondre la taille du profil DXF a la taille souhaitée par rapport au plan initial => mesurer sur le plan papier initial les dimensions de l’objet et faire coïncider aux unités de dessin du fichier CAO.

LIMITES DE LA METHODE:

s’agissant d’une vectorisation d’une image bitmap, ne vous attendez pas a un fichier CAO constitué de grandes lignes droites et de cercles dont les centres sont bien déterminés.

vous aurez en fait une grande quantité de points reliés par des lignes et ceci également au niveau des arcs de cercles.

de plus , l’enregistrement au format DXF , va generer des lignes doubles liées aux deux bordures de l’épaisseur du trait de dessin. il faudra donc faire un travail de purge de ces doublons de lignes .

il peut également y avoir des points ou des traits parasites hors profil numérisé dus aux contrastes clair/sombre de la photo et transformés en vecteurs, donc la aussi petit travail de purge/suppression sur le DXF.

la précision du résultat dépendra également du matériel de prise de vue et de la définition de son capteur photo ainsi que de l’éclairage (contraste des lignes) . il faut privilégier l’utilisation d’un Appareil Photo Numérique avec des capteurs permettant des formats de definition type 6000×4000 pixels plutot qu’un smartphone a petite définition de capteur . et si possible faire la prise de vue sur un trépied fixe fixé au dessus du plan a numériser avec un éclairage additionnel.

exemple de résultat sur FREECAD:

exemple de résultat sur AUTOCAD

exemple de résultat sous CAMBAM

SLIDER PHOTO pour TIMELAPSE 3 AXES

presentation d’un SLIDER 3 axes (PAN/TILT/Translation) DIY pour du timelapse photo .

le projet présenté ci dessous a pour objectif primaire de faire du timelapse photo mais en “dynamique” sur 3 axes , un axe de translation longitudinale et 2 axes de pivot PAN et TILT . il peut être utilisé de jour mais aussi de nuit pour du timelapse astro .

AVERTISSEMENT : ce projet est présenté a titre indicatif comme base d’inspiration a ceux qui voudraient faire un projet similaire . aucun fichier CAO , aucun fichier STL et aucun programme arduino ou autre ne sera fourni => pas la peine de déranger pour les demander

LES CONCEPTS DE BASE

l’idée originale du projet était de monter un appareil photo reflex, fixé sur un chariot muni de 2 axes PAN et TIL , le chariot se déplaçant lui meme sur une glissier a base de rail Alu Vslot l’ensemble commandé par un ARDUINO UNO , un CNC SHIELD avec des drivers POLOLU A4988 , des pas a pas 28BYJ-48 et programmé par un ecran clavier I2C

LE RAIL LONGITUDINAL

pour l’axe de translation longitudinal , le fil conducteur c’est de reprendre le principe de guidage et d’entrainement de bon nombre d’imprimantes 3D et de graveuses laser de type portique avec du rail alu Vslot sur lequel roule un chariot a galets (profil Vslot) entrainé par un moteur pas a pas 28BYJ-48 . l’écartement des 2 rails est réalisé par des cales faites sur imprimante 3D. le moteur pas a pas est logé dans une des 2 traverses du chariot , et comporte sur son axe une poulie GT2 qui engrène sur une courroie caoutchouc. la courroie est tendue dans la rainure du rail en profil Vslot entre les deux extrémités du rail et passe sous les deux galets Vslot mais par dessus la poulie Gt2 en bout de moteur . le comportement est identique a celui d’un pignon attaquant une crémaillère mais a un cout bien moindre .

la pièce rouge sur la vue CAO qui porte le moteur est imprimée 2 fois , ce sera l’autre coté du chariot mais sans moteur dessus .

LE SYSTEME PAN/TILT

ici , il s’agit de réaliser deux axes de pivot perpendiculaires , un axe vertical et un axe horizontal et de prendre a nouveau des pas a pas 28BYJ-48 pour mouvoir/tourner l’ensemble . la partie complexe de l’ensemble a été de concevoir une équerre support permettant de monter le pas a pas de l’axe horizontal et d’y loger également des roulements a billes pour la fluidité des mouvements :

compte tenu des contraintes d’impression 3D , le bras pivot a été fait en 2 parties goupillées et collées ensembles selon le concept de la vue CAO 3D ci dessus et donne comme résultat réel l’ensemble de la photo ci dessous .

LE CHARIOT SUPPORT

au final , le chariot support est simple a faire , 2 tube alu de section carré et quelques vis font la jonction des 2 traverses porte galet du chariot. un bloc support pas a pas imprimé 3D pour loger le moteur de l’axe de rotation vertical vient compléter l’ensemble ( piece en bleu sur la vue ci dessous).

une poutre support d’axe vertical avec un logement porte roulements vient compléter le mécanisme du chariot :

LE CHARIOT COMPLET

reste a assembler l’ équerre/bras support pan/tilt sur le chariot et y fixer une plaque alu pliée pour porter l’APN reflex:

test de mise en place de l’APN (ici un NIKON D3200) pour valider les implantations.

L’ ÉLECTRONIQUE DE COMMANDE

le coeur du systeme est un ARDUINO UNO surmonté d’un Shield CNC ( carte support pour 3 drivers POLOLU A4988) permettant de commander 3 moteurs pas a pas . ici aussi on ne réinvente pas l’eau chaude , c’est du materiel standard du commerce utilisé dans les CNC DIY a base d’ARDUINO et controle via GRBL (pour ceux éventuellement intéressés voir ici ) :

reste a mettre tout ça dans un boitier intégré sous le chariot :

le boitier se clippe tout simplement dans une plaque support histoire de pouvoir démonter facilement si panne et/ou besoin d’accès au dispositif.

la plaque est rivetée ( rivets pop) sous les traverse alu du chariot. Les 2 trous oblongs de part et d’autre de la plaque servent au passage de la vis de fixation du systeme pan tilt en partie supérieure.

ci dessous petite photo qui permet de comprendre que c’est l’intégration du boitier support arduino et son shield CNC qui a déterminé l’écartement des 2 rails alu profil Vslot .

LE BOITIER DE SAISIE:

ici pour faire compact et léger , reprise d’un principe utilisé sur d’autre projets ARDUINO , à savoir un boitier Ecran/clavier I2C maison.

on complete avec un petit support en tôle alu et on fixe le clavier sur le chariot avec un velcro pour qu’il soit amovible mais reste bien en place pendant les mouvements de translation de l’ensemble une fois reposé sur le support.

DERNIERS PRÉPARATIFS et TEST :

reste a mettre les courroies GT2 , un câble d’alimentation et une batterie 12V lithium ion embarquée, un câble avec jack pour le déclenchement prise de vue photo ( branché sur une broche de l’arduino UNO) , un gros bout de programme ARDUINO ( plusieurs dizaines d’heures de “jus de cervelle” pour faire fonctionner tout ça) , 2 trépieds photo pour supporter l’ensemble et c’est parti pour un Test en live :

les paramètres de fonctionnement a saisir ( debut de la video) , sont le nombre de point d’arrêt sur la trajectoire, les angles pan et tilt et le temps d’arret entre chaque point . pour que le mouvement et les points d’arrêts soient soit visibles surla video , un nombre de point de trajectoire réduit a été utilisé dans la démo ci dessous .

prochaine étape , une version ou le clavier I2C est remplacé par un module bluetooth HC-05 sur l’arduino et un smartphone avec l’appli REMOTE XY (voir ici )

etape ulterieure , un raspberry PI pour de la video en mouvement continu et des évolutions sur les possibilités de programmation (way point, suivi automatique de cible avec PIcamera, , recuperation des photos et des videos, controle des parametres APN via USB avec la librairie GPHOTO etc…).

les systèmes a base d’ARDUINO montrent vite leurs limites en terme de capacité mémoire programme, et possibilité de calculs complexes ainsi que les limites en terme d’Interface Homme-Machine, il est en effet plus commode d’utiliser des mini PC ou des calculateurs type Raspberry PI associé a des mini écrans tactiles et des mini claviers avec trackpad de façon a conserver l’aspect nomade .

Une Girouette Arduino Basique

nous allons voir ici le principe de réalisation d’une girouette Arduino basique.

l’idée est de combiner l’utilisation d’un codage type CODE GRAY avec des diodes émettrice/réceptrices infrarouge.

sur la base de 4 couples de diodes , on a un codage sur 16 secteurs soit une position angulaire tous les 22,5 ° ce qui est déjà tres largement suffisant pour une girouette de station météo basique DIY.

concernant le codage GRAY , voici le schéma du codeur utilisé , il diffère de celui trouvé sur WIKIPEDIA parce qu’il permet d’avoir un calcul simple de l’angle correspondant en fonction des valeurs “binaires” combinées (voir plus bas dans le pgme C++) en utilisant le principe de décomposition binaire <=> décimal ( dans le programme plus bas, le résultat est arrondi a l’entier sans la décimale) .

voici le tableau binaire correspondant avec en partie basse la valeur décimale correspondant:

pour la réalisation, il aurait été possible d’utiliser des bloc OPB704 ( voir ici ) mais pour rendre le montage plus pratique , une roue codeuse imprimée 3D a été réalisée pour utiliser directement des diodes émettrices et réceptrices. l’idée c’est d’intégrer le codeur GRAY dans le plateau supérieur et de coller derrière une feuille de papier alu de cuisine comme réflecteur .

le programme ARDUINO:

cette version permet un affichage de l’angle directement sur ecran LCD I2C:

# include <Wire.h>
# include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);

void setup() { 
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  Serial.begin(9600); 
  lcd.init();
  lcd.backlight(); 
}

void loop() {
  int x1 = digitalRead(2);
  int x2 = digitalRead(3);
  int x3 = digitalRead(4);
  int x4 = digitalRead(5);
  int A = 360 -((x1*8 + x2*4 + x3*2 + x4)*22.5);
  lcd.clear() ;
  lcd.setCursor(9,1);
  lcd.print(A);
  delay (50);   
}

et pour conclure ce petit tuto , une petite video de démo:

aménager la partie vie d’un observatoire

ici quelques idées pour l’aménagement de la partie vie d’un observatoire autonome, avec des elements basiques pour un confort minimal de l’astronome.

CHAUFFAGE / CUISINE

pour les nuits fraiches d’été ou carrément froides d’hiver, quelques éléments permettant de procurer une source de chaleur plutôt ponctuelle pour l’astronome mais aussi pourquoi pas de faire de la cuisine basique pendant une nuit d’observation complète. il est a noter , que la partie vie de l’observatoire devra être isolée de la zone instrument de façon a éviter les turbulence de convection dues a la chaleur autour des instruments d’observation ou de prise de vues.

cuisinière gaz équipée d’un radiant :

pas besoin de longues explications , voici le campingaz Bistro 2 ; 20€ sur AMAZONE fin 2021 , équipé d’une cloche radiante elle aussi au prix d’environ 20 € aussi sur AMAZONE. l’un vous permettra de faire de la cuisine type camping ou bouillir de l’eau pour un café ou une soupe et l’autre permettra de transformer le Bistro 2 en radiant d’appoint . dans les 2 cas , penser a avoir de bonnes aérations de votre local , et ne pas dormir ou s’absenter en laissant tourner l’ensemble.

le poêle a bois :

autre solution intéressante si vous avez du bois , le poêle a bois . comme la cuisinière gaz , il permet de combiner chauffage et cuisson . il en existe beaucoup de modèles , mais je vous propose ici l’un des modèles les plus connus des campeurs : le mini poêle a bois OUTBACKER modèle “Original” que l’on trouve en vente sur les sites de matériel de camping mais aussi directement chez OUTBACKER pour 180€ ( hors livraison):

site OUTBACKER

de dimension extrêmement compact : 250mm x 250mm de section par 360 mm de long il peut se longer facilement dans un petit recoin de votre observatoire , il est fourni avec une cheminée qu’il faudra raccorder a l’extérieur et il possède des pieds qui se replient sous le caisson. pour finir , il est fourni avec un sac de transport pour ceux qui souhaiteraient l’utiliser en camping ( c’est a l’origine un poêle de tente de bivouac):

POINT D’EAU / ÉVIER BASIQUE :

voici comment faire un évier basique a cout compétitif : un bac inox , une bonde d’evacuation et une douchette , les 3 trouvés comme d’habitude sur AMAZONE pour 23 euros le bac inox 265 X 325 X 100 mm, 6 € la bonde d’evacuation et 13 euros la douchette avec son tuyau soit 42 euros au total. il vous restera a percer le bac inox pour y adapter la bonde d’évacuation. la douchette peut être raccordée a un bidon placé en hauteur et l’évier a un autre bidon placé en dessous pour récupérer les eaux grises.

SIÈGE COUCHETTE:

histoire d’éventuellement dormir sur place en cas de coup de pompe pendant la nuit , ci dessous , pour les bricoleurs, petite vue CAO pour un principe de siège couchette avec 2 matelas de 70cm par 1m . nécessite de réaliser un caisson bois auquel on adjoint une planche d’extension qui sert de dossier en position “repliée” . le caisson peut être doté de logements inférieurs pour y mettre des caisses plastiques de rangement.

OBSERVATOIRE et Autonomie: récupération d’eau de pluie

dans le cadre de mon projet d’observatoire privé fixe, celui ci étant loin de la maison et dans une partie de terrain non alimenté en électricité ni en eau , outre le problème de l’énergie (voir rubrique panneau photovoltaïque) , se pose la question de l’eau pour laquelle la réponse simple est la collecte des eaux de pluies .

pour la collecte des eaux pluviales, outre l’installation de chéneaux , il faudra prévoir une solution de stockage.

la solution la plus simple et économique pour le stockage est la cuves désignée sous l’anglicisme IBC soit Intermediate Bulk Container qui se traduit en français par GRV = Grand Récipient pour Vrac.

on trouve ce type de réservoir neuf en version 1000 litres pour un prix moyen de 180 a 200 euros ( tarifs 2022) et d’occasion pour environ 50 euros. ils existent posées sur palettes bois ou palettes plastique. pour une question de durabilité, préférer la version palette plastique.

afin d’éviter la formation de vase et d’algues dans l’eau , ici aussi si possible acheter une cuve noire ou sinon la recouvrir d’une bâche prévue a cet effet ( moins de 30 euros en achat en ligne début 2021).

pour les chéneaux de collecte , la aussi on trouve sur internet des dispositif type INEFA de petite section adaptée aux petites toitures des abris de jardin .

autre point a prendre en compte, prévoir un trop plein , ci dessous solution a partir d’un tube coudé prévu a cet effet et raccordé a un tuyau enterré: