Skip to main content

Tournicayou (Photogrammétrie)

Construction d'un appareil photogrammétrique dans le cadre de l'UE Atelier Fablab LU3SV062

Informations

  • Étudiants :
    • Zoé ALBENGA (zoealbenga@outlook.com)
    • Lucas Gorini
  • Encadrants : 
    • Responsables de l'UE : Fabrice Minoletti et Pierre Théry
    • Responsable du projet : Pierre Théry
  • Parcours : SV/ST : UE_FabLab : LU3ST062 
  • Date : S6

Contexte


 

Objectifs

Notre objectif de réalisation pour cette UE est la d'un socle pour la photogrammétrie. Celui-ci aurait comme application dans un premier temps la réalisation "d'image en 3D" pour certaines pierres ponces, puis à usage plus large par la suite.

Matériel

  • Carte Arduino

Construction

Étape 1 : 
Étape 2 : 
Étape 3 : 
Étape 4 : 
Étape 5 : 
Étape 6 : 
Étape 7 : 

Journal de bord

30/01/26

1ère Séance : Sujet Photogrammétrie (Schéma) + Découverte de ARDUINO

  • Premières réflexions réalisation sur la de ce support à photogrammétrie.
  • Réalisation de plusieurs dessins "idées" (voir photos).
  • Première manipulation avec le logiciel ARDUINO, premier codage. Bien difficile....1er essai ARDUINO.png
 

Codage avec Arduino, led clignotant SOS en morse.

06/02/26

2ème Séance : Retour sur le support (Schémas) + Mise en place des différentes étapes

  • Reprise de la structure du support de photogrammétrie --> bras tournant autour du support
  • Mise en place des différentes étapes :
    • Moteur + programmation
    • Moule à Tarte
    • Arduino + caméras + affichage ordi à voir ?
    • Bras : support caméras + Led
      • Bonus : écran + angles + focus caméras
13/02/2026

3ème Séance : Freecad + Arduino

FREECAD

Apprentissage des fonctions de base du logiciel Freecad. Plusieurs essaies infructueux de la conception de la pièce crantée permettant le soutien du moteur autour de l'objet à photographier.

Vidéos youtube visionnées pour le modèle Freecad : 

LE COULOMMIERS EST TERMINÉ (18/02) - Mauvaise dimension

Pour créer le coulommiers, qui fait office d'engrenage interne permettant le déplacement du bras, il faut créer deux corps différents sur FreeCad. Les corps sont créés sur le module Part design

  • Un cercle de 600 mm de diamètre et 200 mm de haut
  • Un engrenage à développante de Dp = 495 mm, M = 2,5 mm, z = 198 et 200 mm de haut

Une fois les deux corps formés, il faut utiliser une booléenne pour former le rouage final grâce au module Part

Attention : Les valeurs inscrites sont les valeurs erronées

ARDUINO

Familiarisation avec le logiciel Arduino et réalisation d'un premier montage :

  • Matériels :
    • Arduino Uno + câble USB de liaison Arduino/Ordinateur
    • Câbles de connexion
    • Step Motor 28 BYJ-48

 

  • Schéma de connexion :

Montage step motor 28BYJ-48.png

  •  Code : 
    • Ce code permet au moteur de réaliser une rotation dans le sens des aiguilles d'une montre, attendre 1 secondes (s), puis de faire une rotation dans le sens contraire des aiguilles d'une montre, puis de nouveau attendre 1 s.
#include <Stepper.h> 

double stepsPerRevolution = 2048;

Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);  // Pin inversion to make the library work

void setup() { 
  myStepper.setSpeed(10);
  Serial.begin(9600); 
  } 

  void loop() {
    // 1 rotation counterclockwise:
    Serial.println("counterclockwise");
    myStepper.step(stepsPerRevolution);
    delay(1000); 

   // 1 rotation clockwise: 
   Serial.println("clockwise");
   myStepper.step(-stepsPerRevolution); 
   delay(1000); 
}

 Une librairie Stepper.h existe.

    • Succès de ce premier montage et code associé. Manipulation du code nous permettant d'obtenir une rotation dans le sens des aiguilles d'une montre avec arrêt de 1 s. (suppression de la première partie de la void loop) 
    • Rapide essaies de changement de vitesse = ÉCHEC --> comprendre pourquoi à la prochaine séance.

--> Prochaine étape : Réaliser le montage avec ajout d'un potentiomètre permettant de contrôler la vitesse de rotation ainsi que le sens (--> potentiomètre vers la droite= sens des aiguilles d'une montre ; potentiomètre à gauche = sens inverse )

20/02/2026

4ème Séance : Freecad + Arduino

Partie Freecad : 

Modélisation du rouage pour le moteur pas à pas, et reprise de dimension du coulommiers. Pour calculer le nombre de dents de chaque rouage, externe (Moteur) comme interne (Coulommiers) nous avons suivi l'équation suivante :

Dp/M = z

Dp  => Le diamètre primitif ; M => Module du rouage ; z => Nombre de dents

Pour que deux engrenages puissent fonctionner ensemble il faut respecter 3 conditions :

  • Ils doivent avoir un module égal
  • Ils doivent avoir un angle de pression égal (par convention 20°)
  • Leur diamètre primitif doit être tangent

Pour le dernier point, la distance entre le centre des rouages Dr = ((z1+z2)*M)/2

Pour le coulommiers :

La modélisation comporte deux corps.

  • Un cercle de 300 mm de diamètre et 100 mm de haut
  • Un engrenage à développante de Dp = 250 mm, M = 2,5 mm, z = 100 et 100 mm de haut

Pour former le rouage interne, il faut faire la différence des deux corps grâce à la booléenne dans le module Part. (c.f. https://www.youtube.com/watch?v=3wPDnRFfgEg) 

Pour le rouage externe ce dernier doit être fixé sur la "tige" du moteur faisant 19 mm de long. Il faut creuser un cylindre de 5mm de diamètre au centre du rouage avec une corde de 3mm afin de respecter l'aspect de la tige.

La modélisation comporte deux corps.

  • Un cylindre de 5mm de diamètre coupé d'une corde de 3mm et faisant 19mm de haut
  • Un engrenage externe de Dp = 45 mm, M = 2,5 mm, z = 18 et 19 mm de haut

Impression 3D des pièces pour tests ultérieurs.

ARDUINO

Retour sur le montage et la réalisation du circuit de la semaine dernière = ÉCHEC. Nous n'avons pas trouver la raison pour laquelle la réussite de la semaine passée n'était plus réalisable. (Changement de moteur, vérification et retour sur les explications du code, changement de code, vérification du fonctionnement de la carte Arduino uno...)

Réalisation d'un autre montage avec le moteur Servo :

  • Matériels :
    • Arduino Uno + câble USB de liaison Arduino/Ordinateur
    • Câbles de connexion
    • Step Motor MicroServo SG90

 

  • Schéma de connexion :

montage-servo.png


  •  Code : 
    • Ce code permet au moteur de réaliser une rotation dans le sens des aiguilles d'une montre, attendre 1 secondes (s), puis de faire une rotation dans le sens contraire des aiguilles d'une montre, puis de nouveau attendre 1 s.
#include <Servo.h>  // on ajoute la bibliothèque servo

Servo servoMoteur;   //On crée un objet servo appelé servoMoteur

void setup(){ 
  Serial.begin(9600);
  //On associe le servo à la broche 2
  servoMoteur.attach(2);
  servoMoteur.write(0); // on initialise le servo sur l'angle 0
}
 
void loop(){
  // tour de 0 à 180º
  for (int i = 0; i <= 180; i++){
    servoMoteur.write(i);
    Serial.print("Angle:  ");
    Serial.println(i);
    delay(30);
  }
 // tour de 180 a 0º
  for (int i = 179; i > 0; i--){
    servoMoteur.write(i);
    Serial.print("Angle:  ");
    Serial.println(i);
    delay(30);
  }
}
    • Après plusieurs échecs, et des changements de codes, succès de la manipulation. Notre moteur se déplace de l'angle 0 à l'angle 90, puis à celui 180 avant de revenir à 0 et de recommencer sa boucle. Après chaque déplacement celui-ci fait une pause de 1 s. Notre moteur avance degré par degré.
    • Modification de notre code pour réaliser un mouvement de 20° en  20° avec 1 s de délai entre chaque déplacement.

27/02/2026

Objectif de la séance : Finaliser le code arduino pour le moteur, tester les pièces 3D, conception du bras

13/03/2026