Projet CanSat : Différence entre versions

De Wiki d'activités IMA
(semaine 13)
(semaine 13)
Ligne 160 : Ligne 160 :
 
La carte sera réalisée seulement pour cette mission. Cela nous permettra d'estimer la place de l’électronique dans la "canette" par la suite. Nous pourrons aussi réfléchir à la possibilité de faire une carte utilisant un arduino nano en fonction des missions annexes.
 
La carte sera réalisée seulement pour cette mission. Cela nous permettra d'estimer la place de l’électronique dans la "canette" par la suite. Nous pourrons aussi réfléchir à la possibilité de faire une carte utilisant un arduino nano en fonction des missions annexes.
  
De plus, il est nécessaire que la cansat ne dépasse pas 66mm de diamètre, 115mm de hauteur, et 350g en poids.
+
De plus, il est nécessaire que la cansat ne dépasse pas 66mm de diamètre, 115mm de hauteur, et 350g en poids. La batterie doit tenir au minimum 45minutes.
 
<br>
 
<br>
 
<br>
 
<br>

Version du 25 mars 2013 à 14:44

Présentation du projet

Encadrants :

Alexandre Boé / Nicolas Defrance / Thomas Vantroys

Binôme :

Céline Burtaire / Robin Gouenard

Objectif :

Réaliser un prototype permettant de participer à la compétition CanSat

Les dates d'inscriptions pour participer à la compétition 2013 étant antérieures au début du projet, cette année nous nous concentrerons sur les fonctions récurrentes (vitesse, altitude...).

Plus d'informations sur la compétition :

Liste du matériel

Présent :

A acheter :


Avancement du projet

Introduction

Le CanSat est une sonde embarquée dans un volume équivalent à une canette de soda. Cette sonde est lancée en fusée pour atteindre jusqu'à 800 mètres d'altitude ou en ballon pour atteindre une altitude de 150 mètres. Différentes informations doivent être transmises en temps réel:

  • Températures
  • Altitudes
  • coordonnées GPS
  • ...

Nous avons choisis ce projet car il permet une grande liberté. En effet, les fonctionnalités du "satellite" doivent être définies au début du projet. De plus, il est pluridisciplinaire puisqu'il faut des connaissances en informatique, électronique mais aussi en physique et mécanique.

Séances après séances

Analyse du problème

(Jusqu'au 25 Février 2013)


Nous avons pris du temps pour analyser nos problèmes et les solutions plausibles. Nous avions décider de tester la montre TI eZ430 chronos car elle possède déjà un altimètre et un capteur de température, ainsi qu'un système de transmission. Cependant, après avoir fait quelques tests, la distance de transmission n'est pas assez grande (on souhaite un minimum de 150m).

Nous avions donc le choix entre commander des capteurs et les programmer via arduino, ou récupérer les informations de la montre. Nous avons choisis la première option car elle semble plus accessible.

Choix des composants

( 25 Février)

  • Capteur de température : TMP36
  • Module Zigbee Pro


27 Févirer

Le capteur de température a été testé avec l'arduino et nous avons commencé à configuré le XBee Pro par liaison USB.

Nous avons réfléchis à la mise en place du module XBee sur notre montage. Afin de procéder aux premiers tests nous utilisons un shield arduino, cependant, nous devons commander / construire deux connecteurs femelles avec le bon pas pour ensuite le monter sur notre carte.

28 Févirer

Architecture



Début de la configuration des Zigbee.

L'architecture du Cansat sera idéalement réalisée en 3 cartes rondes. Les capteurs et l'antenne sont aux extrémités pour avoir un accès plus direct avec l’extérieur. Ce modèle n'est cependant pas fixé mais nous aide à structuré nos tests. Nous attendrons de réaliser les tests sur un montage complet avant de corriger les erreurs de placements éventuelles ou de voir si tout pourrait tenir sur une seule carte.







4-6 Mars

Nous avons testé une utilisation simple des modules Zigbee afin de simuler la transmission de données du CanSat vers un ordinateur distant. La transmission s'effectue de la façon suivante : un arduino envoi un message en boucle sur son port série (broches RX/TX). Deux Zigbee XB24 sont configurés à l'aide de commandes AT avec un PC et le logiciel X-CTU, l'un des Xbee est relié au RX/TX de l'arduino et l'autre au PC. On visualise alors sur l'ordinateur les données reçues.

Nous avons alors eu un problème. En effet, les données arrivaient de manière aléatoire, quelques fois reçues, quelquefois non, et ce sans changer le programme ou la configuration. Nous avons d'abord pensé à un dysfonctionnement matériel (shield Zigbee, arduino, ...) et nous avons donc essayer de changer un par un ces éléments. Le problème persistait et ce malgré le fait que les deux Xbee communiquaient bien entre eux (réponse positive à la commande ATND). Nous avons tenté de remplacer la communication arduino-PC par une communication arduino-arduino, changé le protocole de communication, mis à jour les firmwares des XB24, mais la transmission était toujours aléatoire. Finalement nous sommes parvenu à régler ce problème en laissant de coté l'émission série à l'aide des broches RX/TX au profit d'un port série virtuel (librairie Software Serial).


Durant la semaine 10, nous avons testé l’accéléromètre ADXL345 (carte sparkfun). Cette carte communique avec le protocole I2C. N'ayant jamais utilisé un tel capteur, nous avons tout d'abord téléchargé et testé le programme fournit sur le site du fabricant (bildr Tutorial - Stable Orientation). Ce programme nous servira de base pour avoir un exemple de communication avec le bus I2C et savoir où chercher les données souhaitées.


7 Mars

Test avec capteur de t°

La communication entre les ZigBees fonctionne. Nous l'avons testée en réalisant un montage avec le capteur de température (voir photo).


Code de test:
#include <SoftwareSerial.h>
const int rxpin = 10;            // Software Serial RX
const int txpin = 11;                  // Software Serial TX
SoftwareSerial mySerial(rxpin, txpin); // RX, TX
int temperaturePin = 0; // Relevé de température sur la broche analogique 0 

void setup()  
{
  mySerial.begin(9600); // initialisation du Software Serial
  mySerial.println("Debut du programme");
}

float getVoltage(int pin) // convertit la valeur de la tension du capteur en température
{
 return (analogRead(pin) * .004882814);
}

void loop()
{
float temperature = getVoltage(temperaturePin);
temperature = (temperature - 0.5) * 100;
mySerial.println(temperature);           
delay(1000);
}


semaine 11

[capteur I2C]

semaine 12

[capteur I2C et échange]

semaine 13

Les capteurs ont été reçus et testés, il est temps de faire la carte et son programme.

Afin de préciser les prochaines étapes de conception, nous avons besoin d'étudier le règlement du projet CanSat (concours national). Nous nous occupons cette année du sondage atmosphérique, la mission d'atterrissage et la mission libre seront étudiées si le sujet est poursuivi l’année prochaine puisqu'elles peuvent changées chaque année.

  • Le programme

Pour le sondage atmosphérique, il est demandé de relever la température et l'altitude toutes les 5secondes au moins et de transmettre ces mesures vers une station au sol. Le programme tiendra donc compte de cette contrainte.

  • La carte

La carte sera réalisée seulement pour cette mission. Cela nous permettra d'estimer la place de l’électronique dans la "canette" par la suite. Nous pourrons aussi réfléchir à la possibilité de faire une carte utilisant un arduino nano en fonction des missions annexes.

De plus, il est nécessaire que la cansat ne dépasse pas 66mm de diamètre, 115mm de hauteur, et 350g en poids. La batterie doit tenir au minimum 45minutes.


Prochaines étapes

prochaine séance

  • Tester l’accéléromètre et extraire les bonnes données
  • Trouver le type d'alimentation pour la carte
  • Programmer l'ATMEGA directement en C

ensuite

  • Traitement des données
  • Assembler le montage complet (arduino, labdec, capteurs, modules ZigBee) et tester
  • Réaliser le typon
  • Montage de la carte
  • Test simple (salle de cours, distance faible, conditions connues)
  • Test sur avion (hauteur, distance, vibration)
  • Test en chute libre