Canon Magnétique et Infra-rouge

## But du Projet

Le but de ce projet est de mesurer la vitesse de la bille qui entre en collision avec l'aimant et la vitesse de la bille en sortie après la collision, puis on souhaite montrer que l'énergie totale du système (énergie cinétique et énergie potentielle magnétique) se conserve au cours du temps.

## Présentation du projet

Pour mesurer la conservation d'énergie, il va falloir déterminer l'énergie cinétique de la bille incidente et de la bille éjectée. En effet, les énergies potentielles magnétiques de ces billes seront calculées théoriquement et les valeurs seront directement entrées dans l'algorithme de calcul.

Pour mesurer les vitesses respectives des deux billes, nous allons utiliser quatre photodiodes infrarouges dont deux seront placées avant l'aimant tandis que les deux autres seront placées après. Les photodiodes sont là pour détecter le passage des billes. On peut faire plusieurs trou pour déplacer les photodiodes et calculer la vitesse à des points différents.

Le principe est le suivant : en connaissant la distance qui sépare deux photodiodes, et en mesurant le temps que mettent les billes pour aller d'une photodiodes à l'autre, on sera en mesure de calculer la vitesse de la billes incidente et celle de la bille éjectée.

## Cahier des charges

Un Arduino fournira 5V a chacune des photodiodes.

Quand les photodiodes ne détectent rien (pas d'obstacles), la tension a leur bornes est 5V. Le passage d'une bille devant le capteur fera chuter la tension à 0V. Grâce à l'Arduino, nous calculeront les intervalles de temps souhaités.

La bille incidente sera lancé depuis une bobine de cuivre placé légèrement en hauteur. Dans cette bibine ce trouve un cylindre d'oxyde de fer. Un générateur de courant continu fournira une tension d'environ 16V aux bornes de la bobine dans laquelle circulera un courant de 6A. Quand le courant passe la bille reste collée à la bobine. Il suffit de couper le courant pour que la bille se désaimante et acquière une vitesse initiale. Elle descendra le long d'une baguette de pvc (ou autre) pour ce rendre dans la gouttière en forme de L.

Après mesures des vitesses, les énergies finale et initiale seront calculées dans l'algorithme puis affichées sur un écran.

## Capteurs nécessaire

Il nous faut 4 capteur photodiode infrarouge que l'on a déjà.

Ce capteur à normalement une distance de détection entre 2 et 60 cm. Nous avons réussi à avoir jusqu’à 30 cm.

Angle de détection 35°

Distance de détection contrôlé par le potentiomètre.

Caractéristiques :

- VCC alimentation 5V

-GND masse

-Out interface de sortie numérique

## Besoins électriques

Générateur de courant continu pour fournir 16V aux bornes de la bobine.

## Besoins Mécaniques

La baguette et la gouttière en plexiglas (qu'il faudra percer pour mettre les photodiodes).

## Arduino

Nous avons choisis de prendre un arduino Mega pour avoir 4 pins d'interruption.

A0, A1, A2, A3 seront utilisées pour lire les tensions respectives des photodiodes ( de gauche à droite sur le schéma du montage ).

Schéma du montage arduino/afficheur (le capteur n'a pas été fait, il est donc une possible amélioration de l'instrument)

Schéma du montage arduino/capteur à faire 4 fois.

## Programme Arduino

Programme :

#include <stdio.h>    // Pour la fonction sprintf

const byte entree\_capt\_1= 2;

const byte entree\_capt\_2= 3;

const byte entree\_capt\_3= 18;

const byte entree\_capt\_4= 19;   // les pins d'interruption

//le temps ecoule au passage des billes

float delta\_t1;
float delta\_t2;

//energies

float e\_initiale,e\_finale;

float dist1, dist2;  //distances entre les couples de capteurs

float masse\_bille1;
float masse\_bille2;   //masses des billes en kg

float vitesse1;float vitesse2;

volatile unsigned long temps1;
volatile unsigned long temps2;
volatile unsigned long temps3;
volatile unsigned long temps4;

void setup()

{  Serial.begin(9600);

  masse\_bille1=0.014;             masse\_bille2=0.014; dist1=0.02;
  dist2=0.02;           //les donnees

  temps1=0;
  temps2=0;
  temps3=0;
  temps4=0;

  pinMode(entree\_capt\_1,INPUT);
  attachInterrupt (digitalPinToInterrupt(entree\_capt\_1), interrupt\_1, RISING);
  pinMode(entree\_capt\_2,INPUT);
  attachInterrupt (digitalPinToInterrupt(entree\_capt\_2), interrupt\_2, FALLING);
  pinMode(entree\_capt\_3,INPUT);                                              // on appelle l'interruption
  attachInterrupt (digitalPinToInterrupt(entree\_capt\_3), interrupt\_3, FALLING);
  pinMode(entree\_capt\_4,INPUT);
  attachInterrupt (digitalPinToInterrupt(entree\_capt\_4), interrupt\_4, FALLING);

}

void interrupt\_1()
{
    if (temps1 == 0) {
        temps1=micros();
        Serial.print ("1 ");
        Serial.println (temps1);
    }
}

void interrupt\_2()
{
    if (temps2 == 0) {
        temps2=micros();
        Serial.print ("2 ");
        Serial.println (temps2);
    }
}

void interrupt\_3()
{
    if (temps3 == 0) {
        temps3=micros();
        Serial.print ("3 ");
        Serial.println (temps3);
    }
}

void interrupt\_4()
{
    if (temps4 == 0) {
        temps1=micros();
        Serial.print ("4 ");
        Serial.println (temps4);
    }
}

void loop()
{
    char affiche[70];

    if (temps4 !=0) {
        // calculs des vitesses et des energies
        delta\_t1=1.e-6\*(float)(temps2-temps1);
        delta\_t2=1.e-6\*(float)(temps4-temps3);
        vitesse1=dist1/delta\_t1;
        vitesse2=dist2/delta\_t2;
        e\_initiale= 0.5\*masse\_bille1\*vitesse1\*vitesse1;
        e\_finale=0.5\*masse\_bille2\*vitesse2\*vitesse2;

        //affichage

        sprintf(affiche,"Vitesse initiale : %e m/s        ", vitesse1);
        Serial.println(affiche);

        sprintf(affiche,"Vitesse finale : %e m/s          ", vitesse2);
        Serial.println(affiche);

        sprintf(affiche,"Energie cin�tique initiale : %e J", e\_initiale);
        Serial.println(affiche);

        sprintf(affiche,"Energie cin�tique finale : %e J  ", e\_finale);
        Serial.println(affiche);

        delay(5000);

        temps1=0;
        temps2=0;
        temps3=0;
        temps4=0;
    }
}

## Tests

Test du programme mesurant la vitesse.

Le programme marche bien. Cependant la vitesse affiché est top arrondis. Nous allons donc modifier le programme pour avoir une vitesse la plus exacte possible.

Test du programme calculant l'énergie cinétique..

## Mesures

Des mesures sont nécessaire :

-Le masse de la bille = 14g

-Le rayon de la bille = 6mm

-Le volume de l'aimant = 1.331 cm^3

calcule du moment magnétique de l'aimant :

moment magnétique de l'aimant = 1.331

-Distance entre l'aimant et le point de mesure de la première vitesse = 8.5 cm

-Distance entre l'aimant et le point de mesure de la deuxième vitesse = 11.5 cm

-La vitesse de la bille 1 = 1.5 m/s

-La vitesse de la bille 2 = 2.5 m/s

On voit bien qu'il y a une augmentation de la vitesse mais est ce qu'il y a conservation de l'énergie mécanique ?

-Energie cinétique 1 = 0.01575 J

-Energie cinétique 2 = 0.04375 J

Aux points où les vitesses sont calculées, nous considérons que l'énergie potentielle est nulle, en effet elles sont de l'ordre de 10^-7. Nous calculons donc l'énergie des systèmes seulement avec les énergies potentielles des billes fixées à l'aimant.

-Energie potentielle du système 1 = -0.0670244 J

-Energie potentielle du système 2 = -0.13223326 J

L'énergie potentielle diminue ce qui est normal puisque l’énergie cinétique augmente.

A partir de maintenant nous pouvons calculer la différence d'énergie cinétique et la différence d'énergie potentielle, si il y a conservation de l’énergie mécanique alors les différences d'énergies devraient être égaux.

Ec1-Ec 2 = -0.03157 J

Ep2-Ep1 = -0.06521 J

Les résultats sont du même ordre de grandeur et ne sont pas très éloigné on peut donc dire qu'il y a conservations d'énergie. La différence peut être dû à la précisions de capteurs, à l'angle où les capteurs captent, et au frottement.

## Problèmes rencontrés

Les photodiodes sont plus ou moins sensibles. Lors qu'on les a testé pour la première fois, elle était collées au sol et le détecté. Il a donc fallu régler les potentiomètre pour quelles ne le détectent plus.

Second problème avec les photodiodes. Elles ne détectent pas tous la bille correctement. Certaines détectent la bille quand elle est à seulement 1 cm de distance. Nous n'avions pas rencontré ce problème la première fois. Pour le résoudre, comme les villes sont assez grosses, nous pouvons surélever les capteurs pour les éloigner du sol et donc augmenter leur sensibilité. Autres solutions, nous pouvons aussi dessouder la diode sur le capteur et la placé en face du récepteur plutôt que côte à côte.

La première bobine que l'on a testé chauffer trop car avait besoin d'environ 8 Ampères pour que la bille reste collée. Il a donc fallu rajouter des spires pour arriver à un courant de 6A. Cependant elle chauffe toujours un peu donc le temps pendant lequel elle est traversée par un courant reste limité.

Le dispositif que lequel la bille roule peut être amélioré. Les trous sur la gouttière sont trop basse, La bille peut rentrer dans les trous si la surface sur laquelle le dispositif est posé n'est pas plat.

Nous avons eu dû mal à faire le programme de calcule de la vitesse. Nous avons décidé d'utilisé les interruptions pour le programme. Mais nous avons 4 capteurs, et l'arduino que nous possédons ne dispose que de 2 pins d'interruption, il nous faut donc un nouvelle arduino avec deux pins d'interruption.

Nous avons testé l'afficheur mais aucun caractère ne s'afficher dessus. Le problème ne vient ni du programme ni de la plaquette utilisé. Avec un autre afficheur on voit bien quelque chose s'afficher.

La mesure des vitesses par notre instrument ne marche pas toujours. Il faut que la surface sur laquelle est posé l'instrument soit bien plat. Ensuite, Il faut refaire l'expérience plusieurs fois pour avoir quelques résultats satisfaisants. Pour améliorer la performance de l'instrument à ce niveau il faudrait repenser tout le montage mécanique de l'instrument. Faire en sorte que la bille ne puisse par sortir du rail par exemple en faisant une vrai gouttière. Il faudrait aussi changer la manière dont on dispose les capteurs.