Content uploaded by François Cardinaud
Author content
All content in this area was uploaded by François Cardinaud on Jun 04, 2019
Content may be subject to copyright.
Université Pierre et Marie Curie
L1 Cursus de Master en Ingénierie
Mécanique et Électronique
RAPPORT DE PROJET EXPÉRIMENTAL
STABILISATION EN ALTITUDE D’UN BALLON-SONDE
Étudiants :
Boris Fischer
François Cardinaud
Encadrant :
Régis Wunenburger
Semestre 2
Année Universitaire 2014-2015
Remerciements
« L’art d’enseigner est l’art d’aider à découvrir », disait Mark Van Doren. C’est avec beaucoup
d’intérêt et de plaisir que nous avons travaillé sur la conception d’un ballon-sonde. Nous voudrions
remercier chaleureusement M. Régis Wunenburger, dont l’aide précieuse nous a permis de mener à
bien notre projet. Nous remercions également Mmes G. Bezain, A. Drihem, et H. Taibi, d’avoir été à
nos côtés pendant une grande partie du projet et d’avoir participé à enrichir notre réflexion en nous
apportant des idées lumineuses.
1
Table des matières
Introduction 5
Résumé 6
Summary 7
1 Cadre du projet 8
1.1 Cadre physique : l’atmosphère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Introduction...................................... 8
1.1.2 Composition de l’atmosphère . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2.1 Composition chimique . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2.2 Les couches de l’atmosphère . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Caractéristiques physiques de l’atmosphère normalisée . . . . . . . . . . . . . . 9
1.1.3.1 Atmosphère normalisée . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3.2 Champ de pesanteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3.3 Température ................................ 10
1.1.3.4 Masseetpression ............................. 10
1.2 Cadre législatif : contraintes et autorisations . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Contrainteslégales.................................. 13
1.2.2 Responsabilité et autorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 La mécanique du ballon-sonde 14
2.1 Constitution générale d’un ballon-sonde . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1 Enveloppe....................................... 15
2.1.2 Réflecteurradar ................................... 15
2.1.3 Parachute....................................... 15
2.1.4 Nacelle......................................... 15
2.2 Forcesetstabilisation .................................... 15
2.2.1 Introduction...................................... 15
2.2.1.1 Lepoids................................... 16
2.2.1.2 La force d’Archimède . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 Détermination de la masse de gaz contenue dans le ballon . . . . . . . . . . . . 16
2.2.2.1 Équilibre des forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2.2 Protocole expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2.3 Exploitation des résultats . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Rapport du poids sur la force d’Archimède . . . . . . . . . . . . . . . . . . . . 21
2.2.3.1 Rapport en fonction du diamètre . . . . . . . . . . . . . . . . . . . . . 21
2.2.3.2 Rapport en fonction de la masse d’hélium . . . . . . . . . . . . . . . . 22
2.2.4 Microélectrovanne .................................. 23
2
3 La nacelle scientifique 25
3.1 Missiondelanacelle ..................................... 25
3.2 Lescomposantschoisis.................................... 26
3.2.1 Microcontrôleur.................................... 26
3.2.2 Modules complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.2.1 Localisation................................. 27
3.2.2.2 Stockage des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.3 Capteurs ....................................... 28
3.2.3.1 Température ................................ 28
3.2.3.2 Pression................................... 28
3.2.4 Résistance aux basses températures . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.5 Alimentation ..................................... 30
3.3 Miseenœuvredusystème.................................. 32
3.3.1 Retourextérieur ................................... 32
3.3.1.1 Température extérieure . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1.2 Pression extérieure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Retournacelle .................................... 33
3.3.2.1 Température intérieure . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.2.2 Niveaubatterie............................... 33
3.3.3 Communication.................................... 35
3.3.3.1 Géolocalisation............................... 35
3.3.3.2 Communication GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.3.3 Stockage : le module de carte SD . . . . . . . . . . . . . . . . . . . . . 37
3.3.4 Contrôleduballon .................................. 38
3.3.4.1 Microélectrovanne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.4.2 Diamètre de l’enveloppe . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Fonctionnementgénéral ................................... 40
3.4.1 Circuitfinal...................................... 40
3.4.2 Bilanduraisonnement................................ 41
3.4.3 Algorithmefinal ................................... 43
Conclusion 44
Compétences acquises 45
A Annexe : notions détaillées 46
A.1 AtmosphèreISA ....................................... 46
A.2 Torricelli............................................ 46
A.3 GazParfaits.......................................... 46
A.4 DGAC............................................. 46
A.5 Réflecteurradar........................................ 47
A.6 Forced’Archimède ...................................... 47
A.7 1ère loideNewton....................................... 47
A.8 Théorème fondamental de l’hydrostatique . . . . . . . . . . . . . . . . . . . . . . . . . 47
A.9 Laconductivitéthermique.................................. 48
A.10LaloideJoule ........................................ 48
B Annexe : raisonnements mathématiques détaillés 49
B.1 Équation (1.1) : Masse molaire de l’air . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
B.2 Courbe 1.1.3.2 : Accélération de pesanteur en fonction de l’altitude . . . . . . . . . . . 49
B.3 Équation (1.2) : Pression atmosphérique à altitude nulle . . . . . . . . . . . . . . . . . 49
B.4 Équation (1.3) : Pression atmosphérique de 0 à 11 km . . . . . . . . . . . . . . . . . . 49
3
B.5 Équation (1.4) : Pression atmosphérique de 11 à 20 km . . . . . . . . . . . . . . . . . . 50
B.6 Équation (2.5) : Expression de la force résultante de pression à l’intérieur du ballon . . 50
B.7 Équation (2.7) : Résultante des efforts linéiques . . . . . . . . . . . . . . . . . . . . . . 51
B.8 Équation (2.8) : Équilibre des forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
B.9 Équation (2.9) : Diamètre du ballon en fonction des paramètres de l’expérience . . . . 51
B.10 Incertitude de la grandeur de l’équation (2.10) : Différence de pression . . . . . . . . . 52
B.11 Équation (2.11) : Diamètre du ballon en fonction de la masse d’hélium . . . . . . . . . 52
B.12 Équation (2.12) : Rapport poids sur force d’Archimède en fonction du diamètre . . . . 53
B.13 Équation (2.13) : Rapport poids sur force d’Archimède en fonction de la masse d’hélium 53
C Annexe : programmes détaillés 54
C.1 Acquisition de la température avec un capteur DS18B20 . . . . . . . . . . . . . . . . . 54
C.2 Acquisition de la pression avec un capteur BMP180 . . . . . . . . . . . . . . . . . . . . 55
C.3 Acquisition de la pression avec un capteur MPX2200 . . . . . . . . . . . . . . . . . . . 56
C.4 Acquisition du niveau de la batterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
C.5 Acquisition des coordonnées GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
C.6 Envoid’unSMS........................................ 66
C.7 Réceptiond’unSMS ..................................... 67
C.8 Lecture et écriture sur une carte SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
D Annexe : cahier des charges 71
D.1 Fonction 1 : monter en altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
D.2 Fonction 2 : se stabiliser à une altitude donnée . . . . . . . . . . . . . . . . . . . . . . 72
D.3 Fonction 3 : vérifier l’état de l’expérience . . . . . . . . . . . . . . . . . . . . . . . . . . 72
D.4 Fonction 4 : récupérer le ballon-sonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
D.5 Fonction 5 : alimenter en énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Bibliographie 73
4
Introduction
Les ballons-sondes sont des dispositifs couramment utilisés pour effectuer des mesures météoro-
logiques. Ils sont relativement peu coûteux, et un vaste panel de ballons permet différents types de
mesures. Bien que les ballons-sondes soient intensivement utilisés aujourd’hui, leur invention demeure
assez récente.
En 1892, deux chercheurs français, Gustave Hermite et Georges Besançon, lancent depuis la ville
de Noisy-le-Sec un ballon de baudruche de 90 cm de diamètre. Celui-ci s’élève à 1200 m d’altitude et
est retrouvé à 75 km de la capitale avec les instruments qu’il transporte (un baromètre enregistreur
à mercure - inventé par Hermite - et un thermomètre). Ainsi naît le premier « ballon-sonde ». De plus,
en 1893, les deux chercheurs lancent un ballon de 6 m de diamètre, l’Aérophile. La performance de ce
ballon étonne déjà Hermite, qui croit d’abord à une erreur de mesure : le ballon monte apparemment
à plus de 16 km de hauteur et enregistre des températures descendant à −51 ◦C! [47] Ainsi commence
le développement des ballons-sondes, qui permettent aujourd’hui aux météorologues d’effectuer des
mesures régulières des conditions météorologiques en haute atmosphère. Grâce à Hermite et Besançon,
de grandes avancées scientifiques, telles la découverte de la stratosphère, ont été réalisées et ont mené
les scientifiques aux techniques utilisées aujourd’hui.
La preuve en est qu’aujourd’hui, ces techniques servent à la réalisation de projets universitaires
de jeunes étudiants curieux. [48] Dans le cadre de ce projet, nous avons décidé de concevoir et de
construire notre propre ballon-sonde, avec pour mission de le stabiliser à une altitude déterminée.
Cette altitude sera définie entre 15 et 20 km pour que le ballon soit au-dessus des jet-streams [21], mais
ne soit néanmoins pas trop haut afin de faciliter le suivi de l’expérience. La conception d’un tel objet
requiert une grande étape de recherche et de réflexion afin de concevoir un ballon qui supporte les
conditions qu’il doit affronter. De ce fait, ce rapport présente dans un premier temps les recherches que
nous avons effectuées sur l’environnement dans lequel le ballon évolue. Cet environnement comprend
d’une part les caractéristiques de l’atmosphère terrestre et d’autre part la législation qui encadre le
vol d’un ballon-sonde. Ensuite, nous étudions les éléments constitutifs d’un ballon-sonde, ainsi que les
calculs effectués pour prévoir les paramètres de vol du ballon. Nous concluons par le travail que nous
avons réalisé sur la conception de la nacelle du ballon.
Ce projet a enrichi nos connaissances et nos compétences dans de multiples domaines scientifiques
et nous a procuré beaucoup de plaisir tout au long de sa réalisation. Ce rapport tente d’exposer de
manière satisfaisante notre démarche.
5
Résumé
La réalisation de notre projet a comporté plusieurs étapes. Tout d’abord, en nous appuyant sur
les résultats d’une expérience réalisée en bassin, nous avons effectué l’étude mécanique du ballon-
sonde. Cette étape calculatoire nous a permis de déterminer les caractéristiques de l’atmosphère et les
forces auxquelles est soumis le ballon. Des recherches bibliographiques ont aussi été nécessaires afin de
maîtriser le cadre dans lequel nous travaillons.
Nous sommes passés ensuite par une étape de conception technique du ballon. Des recherches pour
déterminer les meilleures solutions techniques aux problèmes posés ont été nécessaires.
Enfin nous avons fait l’acquisition de la plupart des composants dont nous avions besoin pour le
ballon et tenté d’assembler un système fonctionnel. Le résultat final n’est malheureusement pas achevé,
mais nous avons accompli une grande partie du travail qui nous mène au lancer d’un ballon-sonde.
6
Summary
This projet required several steps in order to be carried out. First of all, by using the results we
obtained from an experiment, we studied the mechanical aspect of the balloon. This part involved lots
of calculations, which enabled us to determine the characteristics of Earth’s atmosphere, and the forces
exerted on the balloon . We had to do extensive research as well, for we needed to gather as much
information as possible on the setting in which we were to work in.
Then we worked on the technical conception of the balloon we wanted to launch. This part also
required lots of research, to determine the best possible solutions that we could find to the problems
we faced.
And finally, we acquired most of the components we needed for the building of the balloon. The
end result is unfortunately not complete, but we were still able to acoomplish a big part of the work
that will lead us to the final launch of our high-altitude balloon.
7
Chapitre 1
Cadre du projet
1.1 Cadre physique : l’atmosphère
1.1.1 Introduction
Le lancer d’un ballon-sonde a pour but de l’éloigner de la surface du sol afin de faire des mesures
à une ou plusieurs altitudes données. Cette élévation se solde par la traversée des différentes couches
de l’atmosphère terrestre. Afin de contrôler et d’optimiser l’expérience, il est donc indispensable de
connaître les propriétés de cette atmosphère.
Une atmosphère désigne l’ensemble des gaz qui enveloppent une planète. Dans le cas de la Terre,
l’atmosphère est composée principalement d’air. Elle est maintenue à la surface de la Terre grâce au
champ gravitationnel de cette dernière. C’est elle qui rend possible la vie sur la Terre en bloquant une
grande partie des rayonnements ultra-violet venant du soleil, ainsi qu’en étant responsable de l’effet
de serre. Ce dernier permet de stabiliser la température au sol et d’en réduire les écarts (notamment
entre la nuit et le jour). [17]
Dans cette partie, nous nous intéressons cependant moins à l’importance biologique de l’atmosphère
terrestre qu’à ses caractéristiques physiques. Nous commençons par étudier la composition chimique
de l’atmosphère ainsi que sa subdivision en couches d’altitude. Puis nous définissons l’atmosphère
normalisée et certaines de ses caractéristiques physiques, à savoir sa pression et sa température. Ces
données sont indispensables à la compréhension des forces s’appliquant sur un objet baignant dans
l’atmosphère.
1.1.2 Composition de l’atmosphère
1.1.2.1 Composition chimique
L’atmosphère est principalement composée d’air. On entend par air sec le mélange de gaz suivant :
en moyenne 78% d’azote, 21% d’oxygène, 0,93% d’argon, 0,034% de dioxyde de carbone, puis en
quantités négligeables et par ordre décroissant, du néon, de l’hélium, du méthane, du krypton, du
dihydrogène, du xénon, de l’ozone, du radon, etc. [17]
En ne considérant que les trois premiers gaz, on peut calculer la masse molaire de l’air 1:
Mair = 28,98 g/mol (1.1)
Cependant, l’atmosphère n’est pas composée exclusivement d’air sec. Selon l’altitude, une quantité
plus ou moins importante de vapeur d’eau s’ajoute aux gaz décrits ci-dessus. Cette quantité varie
et a tendance à diminuer avec l’altitude, en raison de la condensation de la vapeur d’eau pour des
températures inférieures à 0,0◦C. On estime qu’à 2 km d’altitude, 50% de la vapeur d’eau présente
au niveau de la mer ont disparu. Cela est particulièrement pratique pour l’observation astronomique
des rayonnements infrarouges qui sont absorbés par la vapeur d’eau présente dans l’atmosphère. [17]
1. Détail du calcul en annexe B.1.
8
1.1.2.2 Les couches de l’atmosphère
L’atmosphère terrestre n’a pas vraiment de limite supérieure. Les particules d’air, de moins en
moins soumises à l’attraction de la Terre, sont présentes en quantité de plus en plus faible jusqu’à une
"limite", la thermopause. Cette dernière s’étend de 500 à 1000 km. Au-delà, les particules s’échappent
vers l’espace. En revanche, on peut définir clairement les couches inférieures de l’atmosphère, selon des
critères de température, de concentrations gazeuses, et de mouvements d’air.
De 0 à 10 km : la troposphère La troposphère contient 80 à 90% de la masse totale d’air de
l’atmosphère, ainsi que la quasi-totalité de la vapeur d’eau. Ceci explique la présence des phénomènes
météorologiques (formation de nuages, d’orages, etc.) dans cette couche. Elle est chauffée par le rayon-
nement renvoyé par la croûte terrestre, et sa température diminue de manière presque linéaire avec
l’altitude.
La tropopause Limite entre la troposphère et la stratosphère, elle se situe à 9 km d’altitude aux
pôles et à 12 km à l’équateur. Elle est définie par une surface isobare d’environ 300 hPa. La température
s’y stabilise à presque −60 ◦C. La tropopause est le lieu de mouvements d’air convectifs puissants : les
jet-streams.
De 10 à 50 km : la stratosphère À cette altitude, l’absorption des rayonnements solaires par la
couche d’ozone permet à la température de remonter jusqu’à environ 0◦C. Elle est délimitée par la
stratopause à environ 50 km d’altitude.
De 50 à 80 km : la mésosphère La température y décroît à nouveau jusqu’à −80 ◦C. L’ozone
y disparaît au profit du dioxyde de carbone, qui joue un rôle important dans l’effet de serre. Elle est
séparée de la thermosphère par la mésopause à 80 km d’altitude.
Les trois couches ci-dessus forment la neutrosphère, nommée ainsi en raison de sa neutralité électrique.
Lui succède la ionosphère, qui présente une grande concentration de charges permettant la réflexion
d’ondes électromagnétiques pour les systèmes de télécommunication. [17]
1.1.3 Caractéristiques physiques de l’atmosphère normalisée
1.1.3.1 Atmosphère normalisée
On définit par atmosphère normalisée un modèle de l’atmosphère en terme de pression et de tem-
pérature. Il permet de s’affranchir des variations de ces deux grandeurs en fonction de la position sur
le globe et du temps. Elles ne dépendent donc plus que de l’altitude.
Plusieurs modèles existent et mettent en valeur des phénomènes différents. On peut notamment citer
les atmosphères types ISA (International Standard Atmosphere), OACI (Organisation de l’Aviation
Civile Internationale) ou encore l’U.S. Standard Atmosphere. Tous ces modèles sont les mêmes pour
des altitudes allant jusqu’à 32 km, et au-delà desquelles nous sortons du cadre de notre projet. Dans les
paragraphes suivants, nous tentons de déterminer les variations des variables d’état de l’atmosphère.
Nous les comparons aux valeurs définies par le modèle ISA, pris comme référence (voir notion en annexe
A.1).
1.1.3.2 Champ de pesanteur
L’expression de l’accélération de pesanteur gen fonction de l’altitude dépend de la masse de la Terre
(constante à l’échelle de notre expérience) et de la distance par rapport à son centre. En connaissant
ces grandeurs, on peut tracer l’évolution de l’accélération de pesanteur en fonction de l’altitude 2:
2. Détail de l’équation en annexe B.2
9
0 2 4 6 8 10 12 14 16 18 20
9.74
9.75
9.76
9.77
9.78
9.79
9.8
9.81
9.82
9.83
9.84
Altitude h(km)
Accélération de pesanteur g(m.s−2)
Accélération de pesanteur en fonction de l’altitude
On remarque donc que l’accélération de pesanteur varie de moins de 0,2% sur une différence d’al-
titude de 10 km. Dans la suite de ce dossier, nous ne tenons pas compte de ces variations en prenant
g= 9,81 ±0,05 m ·s−2.
1.1.3.3 Température
Les variations de température selon l’altitude dépendent de nombreux paramètres : ensoleillement,
relief, courants marins et atmosphériques, saisons, composition chimique de l’atmosphère, etc [43]. Ce
sont ces variations qui sont les principaux critères de la subdivision de l’atmosphère en couches (voir
1.1.2.2).
Dans la suite de ce dossier, nous nous contentons d’utiliser les valeurs de températures de l’atmo-
sphère normalisée ISA, que nous exposons dans le tableau ci-dessous (Table 1.1) [40]. Jusqu’à 11 km
d’altitude, nous pouvons modéliser l’évolution de la température par : T= 15−6,5h(en degrés Celsius
et avec hen kilomètres).
1.1.3.4 Masse et pression
La pression atmosphérique à un point donné est due à la masse de la colonne d’air située au-dessus
de ce point. Elle diminue avec l’altitude, car la colonne d’air est de plus en plus petite. Ainsi, la
10
Altitude (km) 0123456789
Température (◦C)15 9 2 -5 -11 -18 -24 -31 -37 -44
Altitude (km) 10 11 12 13 14 15 16 17 18 19
Température (◦C)-50 -57 -57 -57 -57 -57 -57 -57 -57 -57
Table 1.1 – Valeurs de température atmosphérique en fonction de l’altitude
pression atmosphérique dépend de la masse totale matm de l’atmosphère terrestre et de la variation du
champ de pesanteur. Dans la suite, nous supposons le champ de pesanteur constant, car nous ne nous
intéresserons qu’à des altitudes inférieures à 20 km.
Pression atmosphérique de référence La pression atmosphérique à h= 0 équivaut au poids
de l’ensemble de l’atmosphère réparti sur la surface de la Terre. En connaissant la masse totale de
l’atmosphère, on peut calculer cette pression 3:
P0= (9,90 ±0,05) ·104Pa (1.2)
Nous ne sommes pas loin des 1013,25 hPa définis par l’atmosphère standardisée ISA.
h
P0
Figure 1.1 – Expérience de
Torricelli
Une autre manière de mesurer expérimentalement cette pression
de référence, sans connaître la masse totale de l’atmosphère, est l’ex-
périence de Torricelli [1] (voir notion en annexe A.2). On remplit un
long tube d’un fluide (de préférence de densité élevée), puis on le re-
tourne dans un bassin rempli du même fluide, de sorte à ce que le fluide
ne puisse pas s’échapper du tube. On mesure ensuite la différence de
hauteur hentre la surface dans le tube et la surface dans le bassin.
À l’extrémité du tube, au-dessus de la colonne de fluide, la pression
est nulle (vide). Ainsi, d’après la loi fondamentale de l’hydrostatique
[37] (voir notion en annexe A.8), la pression atmosphérique P0vaut :
P0=ρfluidegh. Le fluide utilisé est généralement du mercure, car sa
densité est élevée. Avec de l’eau, la colonne ferait près d’une dizaine
de mètres.
Variations de pression entre 0 et 11 km Intéressons-nous
d’abord à la variation d’altitude entre 0 et 11 km, car sur cette plage
d’altitude nous avons vu que la température décroît de manière li-
néaire selon l’équation : T= 15 −6,5h(en degrés Celsius et avec h
en kilomètres) [40] (voir 1.1.3.3). En considérant l’air comme un gaz
parfait [12], on peut donner l’expression de la pression atmosphérique
en fonction de l’altitude h(en kilomètres) 4:
P(h) = 101325(1 −0,023h)5,26 Pa (1.3)
Variations de pression entre 11 et 20 km De 11 à 20 km, la température reste environ constante
et égale à −57 ◦C(voir 1.1.3.3). En considérant cette fois Tconstante, on peut donner l’expression de
la pression atmosphérique en fonction de l’altitude h(en kilomètres) 5:
P(h) = 21847e0,158(11−h) Pa (1.4)
3. Détail du calcul en annexe B.3
4. Détail du calcul en annexe B.4
5. Détail du calcul en annexe B.5
11
Comparaison aux résultats ISA En utilisant les deux expressions calculées précédemment, nous
pouvons tracer une courbe théorique des variations de la pression atmosphérique entre 0 et 20 km, que
nous pouvons comparer aux valeurs de l’atmosphère normalisée ISA :
0 2 4 6 8 10 12 14 16 18 20
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
·105
Altitude h(km)
Accélération de pesanteur g(m.s−2)
Pression atmosphérique en fonction de l’altitude
Courbe théorique entre 0 et 11 km
Courbe théorique entre 11 et 20 km
Valeurs de l’atmosphère normalisée ISA
Ainsi, nous voyons que nos résultats coïncident avec ceux de l’atmosphère normalisée ISA. Dans
le reste de ce dossier, nous utiliserons directement ces résultats normalisés, présentés dans le tableau
suivant (Table 1.2) :
Altitude (km) 0 123456
Pression (Pa)101325 89870 79500 70110 61640 54020 47180
Altitude (km) 7 8 9 10 11 12 13
Pression (Pa)41060 35600 30740 26440 22630 19330 16510
Altitude (km) 14 15 16 17 18 19 20
Pression (Pa)14100 12040 10290 8790 7500 6410 5470
Table 1.2 – Valeurs ISA de la pression en fonction de l’altitude
12
1.2 Cadre législatif : contraintes et autorisations
Le lancer de ballon-sonde, comme toute opération de survol du territoire français, est règlementée
par une législation pour les ballons libres non habités. Afin d’être en accord avec la loi, le ballon-sonde
doit comporter plusieurs éléments qui assurent un vol sans risques [11].
1.2.1 Contraintes légales
La loi définit la nacelle comme la charge utile portée par le ballon, composée de lots.
— « La masse de la nacelle ne doit pas dépasser 4 kg, tous lots combinés »;
— « la masse d’aucun lot ne peut dépasser 3 kg » ;
— « si un lot a une masse surfacique de plus de 13 g ·cm−2, sa masse ne doit pas dépasser 2 kg » ;
— « la force nécessaire au détachement du câble qui relie l’enveloppe à la nacelle doit être inférieure
à 230 N ». Afin de respecter cette règle, des calculs seront nécessaires afin de définir un câble
approprié.
1.2.2 Responsabilité et autorisation
Le lancer du ballon comporte des risques juridiques, car la loi stipule que seule la personne à
l’origine du lancer est responsable des dommages occasionnés par le ballon. Nous avons convenu qu’il
est préférable de faire une demande par le biais l’Université, afin que celle-ci assume la responsabilité
juridique du ballon-sonde. En effet, nous ne pourrions pas assumer nous-mêmes cette responsabilité.
De plus, ceci nous permet d’obtenir plus de crédibilité auprès de l’organisme chargé d’accorder les
autorisations de lancer de ballon-sonde. Pour obtenir cette autorisation, il faut faire une demande
à la Direction de l’Aviation Civile d’Île-de-France [32] (voir notion en annexe A.4). Nous devons lui
indiquer :
— la date, l’heure, et le lieu de lancement;
— la masse du système ;
— l’épaisseur et la nature de l’enveloppe ;
— les dimensions du système ;
— le gaz utilisé dans l’enveloppe ;
— le type de balise de communication, sa puissance et le type de modulation ;
— l’objectif du lancer.
Voici donc les caractéristiques que doit respecter notre ballon-sonde. Nous serons prêts à initier un
lancer lorsque nous aurons terminé la conception et la construction du ballon-sonde.
13
Chapitre 2
La mécanique du ballon-sonde
2.1 Constitution générale d’un ballon-sonde
Dans ce paragraphe, nous nous intéressons aux différents éléments qui composent un ballon-sonde.
Depuis l’invention du ballon-sonde, ses outils embarqués ainsi que sa construction ont été grandement
perfectionnés. Tout d’abord, il existe plusieurs types de ballons-sondes :
— ballon standard : conçu pour exploser à une certaine altitude (35 km plus ou moins 15 km) ;
— ballon ouvert : ouvert à la base pour permettre au gaz de s’échapper et garantir une durée de
vol à très haute altitude de plusieurs jours;
— ballon solaire : utilise la chaleur du soleil pour monter à une certaine altitude pendant la journée,
et redescend la nuit. Sa durée de vie est de plusieurs mois;
— ballon captif : ballon relié à un câble attaché à la terre, ce qui évite la dérive due au vent. [13] [14]
Mais tous les ballons-sondes, bien que différents dans leur principe de fonctionnement, comportent plus
ou moins les mêmes éléments constitutifs (voir figure 2.1).
Enveloppe du ballon
Parachute
Réflecteur radar
Nacelle scientifique
Antenne
Figure 2.1 – Composition générale d’un ballon-sonde
14
2.1.1 Enveloppe
L’enveloppe constitue une partie primordiale du ballon, car elle permet au système de s’élever en
altitude. Nos estimations montrent que la masse de notre nacelle est au moins de quelques kilogrammes
(cette masse varie en fonction des autres éléments que nous utiliserons). Plus grand est le diamètre,
plus grande est la masse de la nacelle que le ballon peut soulever. Nous disposons d’une enveloppe
de 500 g en latex, obtenue par l’intermédiaire de M. Wunenburger. Elle peut s’étirer jusqu’à 5.6m de
diamètre, ce qui est suffisant pour notre projet [42] (voir 2.2.3.1).
2.1.2 Réflecteur radar
La loi stipule qu’un ballon-sonde doit être équipé d’un réflecteur radar. Celui-ci est conçu pour
réfléchir les ondes émises par les émetteurs radars des aéronefs qui volent aux alentours du ballon.
Figure 2.2 – Réflecteur radar en carton et papier aluminium
Nous n’avons pas eu à acheter de réflecteur radar, car un tel objet peut être construit avec du
carton et du papier aluminium (suffisant pour réfléchir les ondes radio). Son faible poids ainsi que son
faible coût en font une bonne option pour notre projet. Le principe de fonctionnement du réflecteur
radar est simple : les ondes radar sont des ondes électromagnétiques, auxquelles une grande variété
de métaux - dont l’aluminium - sont imperméables. Ainsi, la configuration à angles droits en trois
dimensions des parois du réflecteur (cf. image) permet une réflexion totale de l’onde, qui est renvoyée
à l’émetteur, lui signalant la présence du ballon-sonde (voir notion en annexe A.5).
2.1.3 Parachute
La loi exige la présence d’un parachute sur le ballon. Il en est une partie importante, car il permet
à la nacelle de ne pas chuter à une vitesse trop élevé après éclatement de l’enveloppe (ou bien de son
dégonflage, dans notre cas). Ceci permet d’éviter d’endommager la nacelle lors du contact avec le sol et
de ne pas causer de dommages matériels ou corporels. Le parachute est attaché d’un côté à la nacelle
et de l’autre à l’enveloppe du ballon. Ainsi, lorsque l’enveloppe n’est plus gonflée, le parachute se gonfle
spontanément dès que le système se met à tomber.
2.1.4 Nacelle
Nous détaillons la constitution de la nacelle du ballon-sonde dans la troisième partie de ce rapport
(voir chapitre 3).
2.2 Forces et stabilisation
2.2.1 Introduction
L’objectif de cette partie est d’étudier les forces extérieures appliquées sur le ballon-sonde, afin de
déterminer son accélération et a posteriori son équilibre à une altitude définie.
15
Une fois lancé, en considérant une atmosphère calme et standardisée (sans tenir compte des vents
locaux et des variations d’état temporaires), ainsi qu’en négligeant les forces de frottements dues à son
mouvement, le ballon est soumis à deux forces :
— son poids ;
— la force d’Archimède.
C’est du rapport entre ces deux forces dont résulte l’évolution de l’altitude du ballon. Afin de
stabiliser ce ballon à une altitude donnée, l’étude de ces forces est donc une première approche
indispensable.
2.2.1.1 Le poids
Le poids #»
Pdu ballon-sonde est défini par la formule suivante (avec #»
gl’accélération de pesanteur) :
#»
P=mtot
#»
g(2.1)
La masse totale mtot du ballon-sonde présente trois composantes : la masse mede l’enveloppe du ballon,
la masse mgdu gaz qu’il contient et enfin la masse mnde la nacelle et du reste de la structure (câble,
parachute, antenne, etc). Nous avons étudié l’accélération de pesanteur gdans le chapitre traitant de
l’atmosphère (voir 1.1.3.2). Dans la suite, nous prenons : g= 9,81 ±0,05 m ·s−2.
La masse de l’enveloppe du ballon pouvant être mesurée pour un ballon donné, et la masse de la
nacelle étant définie par les composants embarqués dans cette dernière, il convient de s’intéresser avant
tout à la masse mgdu gaz à l’intérieur du ballon. En considérant ce gaz comme un gaz parfait [12]
(voir notion en annexe A.3), sa masse dépend de sa masse molaire Mg, du volume VBdu ballon, de
la température TBdans le ballon et de la pression PBà l’intérieur du ballon et de Rla constante
universelle des gaz parfaits, selon l’expression suivante :
PBVB=mgRTB
Mg
(2.2)
On considère que la température TBest la même que la température Text à l’extérieur du ballon.
Néanmoins, il faut tenir compte des variations de la température avec l’altitude.
2.2.1.2 La force d’Archimède
Dans le cas d’un objet de volume Vimmergé dans un fluide de masse volumique ρ(ici le ballon
immergé dans l’air), la poussée d’Archimède [37] (voir notion en annexe A.6), de sens opposé au poids,
s’exprime ainsi :
# »
πA=−ρV #»
g(2.3)
Dans notre cas, comme l’air à faible pression peut être considéré comme un gaz parfait, avec Mair
la masse molaire de l’air, Patm et Tatm respectivement la pression et la température atmosphérique, R
la constante universelle des gaz parfaits et VBet drespectivement le volume et le diamètre du ballon :
# »
πA=−MairPatm VB
RTatm
#»
g=−MairPatm πd3
6RTatm
#»
g(2.4)
Comme le poids, la force d’Archimède dépend du volume VBdu ballon et de l’accélération de
pesanteur g. De plus, elle dépend de la pression et de la température de l’air, qui varient avec l’altitude.
2.2.2 Détermination de la masse de gaz contenue dans le ballon
Nous avons vu que pour calculer le poids du ballon, nous avons besoin de la masse de gaz qu’il
contient. Si l’on suppose ce gaz parfait, nous avons vu que cette masse dépend directement du volume
du ballon et de sa pression intérieure(voir 2.2.1.1).
16
2.2.2.1 Équilibre des forces
Lorsque le ballon est gonflé (de diamètre d), son enveloppe est à l’équilibre : le ballon, s’il n’atteint
pas la limite de rupture, parvient à trouver un état où il ne tend ni à se gonfler davantage, ni à se
contracter.
Isolons une demi-sphère du ballon gonflé. Le bilan des forces auxquelles est soumise cette partie de
l’enveloppe du ballon (dont on néglige ici le poids) est le suivant :
— force résultante de la pression extérieure Patm (somme des forces infinitésimales # »
fint) ;
— force résultante de la pression intérieure PB(somme des forces infinitésimales # »
fext) ;
— force exercée par la partie inférieure du ballon sur la demi-sphère isolée (somme des efforts
linéiques infinitésimaux #»
t).
#»
x
#»
y
#»
z
O×
d
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
#»
t
#»
t
PB
Patm
Figure 2.3 – Bilan des forces sur une demi-sphère du ballon gonflé
Résultante des efforts de pression intérieurs La résultante des efforts de pression intérieure # »
Fint
est la somme des efforts # »
fint appliqués à chaque surface infinitésimale composant la surface du ballon.
Si on prend PBla pression à l’intérieur du ballon et dle diamètre du ballon, la résultante s’exprime
selon l’équation suivante 1:
# »
Fint =PBd2π
4
#»
y(2.5)
Résultante des efforts de pression extérieurs En appliquant le même raisonnement 2pour la
résultante des efforts de pression extérieurs # »
Fext , avec Patm la pression à l’extérieure du ballon et dle
diamètre du ballon, on obtient :
# »
Fext =−Patmd2π
4
#»
y(2.6)
1. Détail du calcul en annexe B.6.
2. Même calcul (annexe B.6) avec des forces de signe opposé.
17
Résultante des efforts linéiques exercés par la partie inférieure du ballon On ne connaît
pas l’épaisseur de la membrane du ballon. Cependant, on peut exprimer la force #»
Texercée par la partie
inférieure du ballon sur la partie supérieure comme la somme selon le périmètre du cercle de diamètre
ddes efforts linéiques infinitésimaux #»
t3:
#»
T=−tdπ #»
y(2.7)
Équilibre des forces Finalement, l’équilibre de la membrane du ballon [18] (voir notion en annexe
A.7) nous amène à l’équation suivante 4:
PB−Patm =4t
d(2.8)
Or, pour un ballon donné (avec un certain module de Young), la tension linéique #»
tne dépend
que de la déformation de la membrane, soit du diamètre ddu ballon gonflé. Ainsi nous constatons
que pour un ballon donné, la différence de pression PB−Patm ne dépend que de son diamètre. On
peut la mesurer dans des conditions expérimentales quelconques, par exemple dans de l’eau. Il suffit
de pouvoir mesurer la différence de pression qui existe entre l’intérieur et l’extérieur du ballon pour un
volume donné.
2.2.2.2 Protocole expérimental
L’objectif de l’expérience suivante est de mesurer (pour différents volumes) la différence de pression
entre l’intérieur et l’extérieur d’un ballon donné en le remplissant avec un fluide quasi incompressible,
en l’occurrence l’eau. Nous effectuons ici l’expérience pour un ballon météorologique de 50 g, dont
la taille moyenne lorsqu’il est gonflé (diamètre d’environ 60 cm) nous permet de nous adapter aux
conditions expérimentales à notre disposition.
Nous remplissons un bassin de dimensions connues aux deux tiers d’eau, puis immergeons le ballon
vide dans ce bassin. Son extrémité est reliée à un tuyau souple. Le système {ballon+tuyau} est exclu-
sivement rempli d’eau. Le ballon est maintenu juste sous la surface de l’eau. En remplissant le ballon
avec de l’eau (à travers le tuyau), son volume augmente. On peut alors observer la différence d’altitude
entre la surface dans le bassin et la surface dans le tuyau (indépendamment du chemin de ce dernier).
On mesure la largeur extérieure let la longueur extérieure Ldu bassin avec une règle en métal
de précision 0,5 mm. On fait de même pour l’épaisseur edu verre dont est constitué le bassin. On
obtient :
—l=598,5±0,5 mm ;
—L=599,5±0,5 mm ;
—e=12,0±0,5 mm.
On fixe ensuite la règle verticalement sur la paroi du bassin, afin de mesurer la hauteur h1de la
surface de l’eau dans le bassin. De plus, on mesure la hauteur h0sur la règle du bassin afin de connaître
le volume d’eau qu’il contient juste avant d’immerger le ballon. On obtient :
—h0=532 ±1 mm.
Ces mesures nous permettent de connaître le diamètre ddu ballon à tout moment de l’expérience 5:
d= (6(l−2e)(L−2e)(h1−h0)
π)1
3(2.9)
On immerge le ballon et on le remplit progressivement d’eau. On veille à ce qu’aucune bulle d’air
ne pénètre dans le ballon et à ce que ce dernier reste juste sous la surface de l’eau. Ainsi, on peut
considérer que la pression dans l’eau autour du ballon est environ égale à la pression atmosphérique
Patm mesurée au moment de l’expérience :
3. Détail du calcul en annexe B.7
4. Détail du calcul en annexe B.8
5. Détail du calcul en annexe B.9
18
—Patm =103400 ±100 Pa.
Lorsqu’on ne l’utilise pas pour remplir le ballon d’eau, le tuyau fixé à l’embouchure du ballon est
fixé verticalement le long d’un mur afin de pouvoir visualiser la hauteur h2de la surface de l’eau dans
le tube. Cette hauteur est mesurée à l’aide d’un mètre ruban de précision 1 mm, fixé le long du mur
de sorte à ce que l’origine verticale soit la même que l’origine de la règle fixée le long du bassin (on
retrouve cette altitude à l’aide d’un niveau à bulle).
L
e
d
PB
Patm
h1
h2
h0
Figure 2.4 – Expérience de détermination de la différence de pression entre l’intérieur et l’extérieur
d’un ballon donné
Alors, d’après le théorème fondamental de l’hydrostatique [37] (voir notion en annexe A.8), on peut
exprimer la différence de pression ∆pentre l’intérieur du ballon et la pression extérieure (ici la pression
atmosphérique) selon l’expression suivante, avec ρeau la masse volumique de l’eau, gl’accélération de
pesanteur, h2le niveau de l’eau dans le tube et h1le niveau de l’eau dans le bassin6:
∆p=ρeaug(h2−h1)(2.10)
Voici les résultats obtenus expérimentalement de la différence de pression entre l’intérieur et l’ex-
térieur du ballon en fonction du diamètre du ballon, dont on déduit également la tension linéique en
fonction du diamètre du ballon :
6. La formule de l’incertitude de cette grandeur est donnée en annexe B.10
19
0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6
500
520
540
560
580
600
620
640
660
680
700
Diamètre d(m)
Différence de pression ∆p(Pa)
Différence de pression en fonction du diamètre d’un ballon donné
0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6
45
50
55
60
65
70
75
80
85
90
95
Diamètre d(m)
Tension linéique t(N/m)
Tension linéique en fonction du diamètre d’un ballon donné
20
Pour la suite de l’exploitation de ces données, nous estimerons ten fonction du diamètre d(en
mètres) par la régression linéaire suivante : t= 150d±10 N/m(en vert sur le graphique ci-dessus).
2.2.2.3 Exploitation des résultats
Choix du gaz Afin de pouvoir obtenir une force d’Archimède qui soit plus grande en norme que
celle du poids du ballon, il faut que la densité du gaz contenu par le ballon soit significativement plus
petite que celle de l’air ambiant. C’est le cas de deux gaz, le dihydrogène et l’hélium :
—dair = 1 ;
—dH2= 0,069 ;
—dair = 0,139.
Nous choisirons l’hélium, car le dihydrogène est facilement combustible. Il présente donc un danger.
Calcul du diamètre du ballon pour une masse d’hélium donnée En considérant l’hélium
comme un gaz parfait, en estimant la tension linéique tpar t= 150d±10 N/m(comme vu à la fin
de la section 2.2.2.2, avec le diamètre den mètres) et en utilisant la relation (2.8), on peut exprimer le
diamètre ddu ballon en fonction de la masse d’hélium mHe qu’il contient 7:
d=3
s6mHe RTatm
MHe π(600 + Patm)(2.11)
avec : Patm et Tatm respectivement la pression et la température atmosphérique à une altitude donnée,
Rla constante universelle des gaz parfaits et MHe la masse molaire de l’hélium.
Nous constatons que pour une masse d’hélium donnée, le diamètre du ballon dépend d’une part
des conditions atmosphériques à une altitude donnée (température et pression) et d’autre part des
caractéristiques mécaniques du ballon choisi (tension linéique).
2.2.3 Rapport du poids sur la force d’Archimède
2.2.3.1 Rapport en fonction du diamètre
Nous avons maintenant à notre disposition toutes les données nécessaires au calcul du rapport du
poids (#»
P) sur la force d’Archimède (# »
πA). En approximant la tension linéique tpar t= 150d±10 N/m
(comme vu à la fin de la section 2.2.2.2, avec den mètres), on obtient 8:
#»
P
k# »
πAk=MHe 600
MairPatm
+MHe
Mair
+(mB+mn)6RTatm
MairPatm πd3(2.12)
On peut remarquer que plus le ballon est grand, plus ce rapport est petit.
De plus, on peut noter que plus la pression atmosphérique diminue (lorsque l’altitude augmente), plus
ce rapport est grand.
Voici les valeurs de ce rapport pour quelques altitudes en fonction du diamètre du ballon. On
suppose le ballon étudié indéfiniment étirable selon la même loi d’évolution de la tension linéique que
pour les valeurs mesurées expérimentalement. On prend ici mn+mB= 2 kg.
7. Détail du calcul en annexe B.11
8. Détail du calcul en annexe B.12
21
0.4 0.6 0.811.2 1.4 1.6 1.822.2 2.4 2.6 2.8 3
0
10
20
30
40
50
60
70
80
90
100
Diamètre d(m)
Rapport poids sur poussée d’Archimède
Rapport du poids sur la poussée d’Archimède en fonction du diamètre du ballon
h= 0 km
h= 5 km
h= 10 km
h= 15 km
h= 20 km
Afin que le rapport poids sur poussée d’Archimède reste inférieur à 1 tout au long de la montée, il
faut donc que le diamètre du ballon au moment du lancer (h= 0 km) soit très supérieur à 2 mètres. Or
le ballon que nous avons choisi pour cet étude ne permet pas de tels étirements. En effet, on estime que
le diamètre maximal d’un ballon météorologique de 50 g avant éclatement est compris entre 1 m et 1,5
m [42]. Afin de prévoir un lancer réalisable, il faut refaire les expériences précédentes avec un ballon
de 500 g par exemple, dont le diamètre à l’éclatement est supérieur à 5 m. Cependant, nous n’avons
pas à notre disposition les moyens permettant de mener ces expériences pour de telles grandeurs. Afin
de pouvoir mener l’étude théorique à son terme, nous choisissons de continuer le raisonnement avec le
ballon de 50 g étudié, en faisant l’hypothèse qu’il est indéfiniment étirable et que sa tension linéique
évolue de la même manière pour des grandes valeurs de diamètre que pour les résultats expérimentaux.
2.2.3.2 Rapport en fonction de la masse d’hélium
Dans la limite des hypothèses théoriques faites ci-dessus, nous avons donc maintenant deux expres-
sions. Une première exprime le diamètre du ballon en fonction de la masse d’hélium qu’il contient (voir
l ?équation (2.11)), et une autre exprime le rapport des forces en fonction du diamètre de ce ballon
(voir l?équation (2.12)). En combinant ces résultats, on peut exprimer le rapport des forces en fonction
de la masse initiale d’hélium dont on trace la courbe paramétrée par l’altitude. Cette courbe est plus
intéressante que la précédente (voir 2.2.3.1) dans la mesure où, faute de pouvoir contrôler directement
le diamètre du ballon (qui varie en fonction de l’altitude), on peut contrôler la masse initiale d’hélium
contenue dans le ballon au moment du lancer. Cette masse ne dépend pas de l’altitude si le ballon est
fermé.
Cette courbe permet de déterminer le rapport entre le poids du ballon et la force d’Archimède pour
une masse initiale d’hélium choisie au lancer (altitude nulle). Si ce rapport est plus petit que 1, le
ballon monte. Si ce rapport est plus grand que 1, le ballon descend. Dans notre cas, il est souhaitable
que ce rapport soit d’abord très inférieur à 1 (pour monter et compenser d’éventuelles perturbations
22
locales), puis soit égal à 1 à l’altitude de stabilisation désirée.
En remplaçant le diamètre ddu ballon (en mètres) par son expression en fonction de la masse mHe
d’hélium contenue dans le ballon (équation (2.11)) dans l’expression du rapport des forces en fonction
du diamètre (équation (2.12)), on obtient l’expression du rapport des forces en fonction de la masse
initiale d’hélium contenue dans le ballon9:
#»
P
k# »
πAk=MHe
Mair
(1 + mB+mn
mHe
)(1 + 600
Patm
)(2.13)
avec mHe la masse d’hélium, mBla masse du ballon, mnla masse de la nacelle, MHe et Mair les masses
molaires respectives de l’hélium et de l’air et Patm la pression atmosphérique à une altitude donnée.
Le terme 600
Patm étant de l’ordre de 10−3à basse altitude et de l’ordre de 10−2à haute altitude, on
peut le considérer négligeable devant 1. On constate que le rapport des forces, pour une masse initiale
d’hélium donnée, est presque constant quelle que soit l’altitude. On peut tracer la courbe de ce rapport
pour une masse de nacelle donnée et pour le ballon utilisé lors des expériences précédentes (on prend
mn+mB= 2 kg).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
Masse mHe (kg)
Rapport poids sur poussée d’Archimède
Rapport du poids sur la poussée d’Archimède en fonction de la masse d’hélium contenue dans le ballon
h= 0 km
h= 4 km
h= 8 km
h= 12 km
h= 16 km
h= 20 km
2.2.4 Microélectrovanne
Au vu des résultats précédents, nous constatons que pour une masse d’hélium donnée, le rapport
du poids sur la force d’Archimède reste constant quelle que soit l’altitude étudiée (entre 0 et 20 km).
Ainsi, nous pouvons conclure qu’il est nécessaire, pour stabiliser le ballon à une altitude donnée, de
contrôler la masse d’hélium contenue dans le ballon au cours de sa montée afin de changer le rapport
des forces.
9. Détail du calcul en annexe B.13
23
Ainsi, pour effectuer cette réduction de volume, nous avons conclu que l’utilisation d’une microélec-
trovanne sera optimale. Les vannes peuvent être normalement fermées ou normalement ouvertes. Dans
notre cas, nous utilisons une vanne normalement fermée, ce qui nous permet de faire des économies
d’énergie. En effet, la vanne ne s’ouvre que pendant un laps de temps court à l’échelle de l’ensemble
de l’expérience (au moment de libérer une partie du gaz). Il serait inutile de consommer de l’énergie
pour forcer une vanne normalement ouverte à rester fermée.
La microélectrovanne est une petite valve actionnée par un électroaimant. Ce composant nous
permet de contrôler automatiquement le volume du ballon, en actionnant électroniquement la vanne
lorsque le ballon doit être stabilisé. Cette vanne nous permet également de dégonfler le ballon lorsqu’il
qu’il est nécessaire de le faire descendre. Enfin, nous pouvons concevoir un dispositif qui actionne la
vanne si le ballon dérive trop ou en cas de batterie trop faible.
Cependant, il ne faut pas oublier que ces résultats découlent de l’extrapolation de nos résultats
expérimentaux dans un domaine d’étirement auquel le ballon de 50 g étudié n’a pas accès. Il est
donc indispensable, avant de pouvoir soumettre à la pratique les résultats exposés dans ce dossier,
de réitérer l’ensemble des expériences mécaniques pour un ballon plus grand, par exemple un ballon
météorologique de 500 g.
24
Chapitre 3
La nacelle scientifique
3.1 Mission de la nacelle
La nacelle scientifique est le cœur d’un ballon-sonde. C’est elle qui transporte les appareils et
capteurs qui remplissent la mission pour laquelle le ballon les emmène à des dizaines de kilomètres
d’altitude. Dans notre cas, la nacelle a un rôle sensiblement différent, puisque son objectif est de vérifier
que le dispositif de stabilisation du ballon fonctionne correctement. Ainsi, notre nacelle doit remplir
les missions suivantes, qui découlent du cahier des charges dressé pour notre ballon-sonde (voir annexe
D) :
1. Diriger la stabilisation du ballon : la nacelle contrôle la microélectrovanne qui permet de libérer
l’air du ballon au moment de la stabilisation. La commande de déclenchement doit pouvoir
provenir soit d’un signal extérieur, soit d’une mesure automatique. On peut également imaginer
un moyen de contrôler le volume du ballon en mesurant l’étirement de sa membrane.
2. Vérifier le succès de la mission : la stabilisation doit pouvoir être vérifiée, ou à l’inverse infirmée
pour une raison connue, afin de pouvoir envisager des améliorations ou des corrections du
système pour de futurs essais. Cette vérification se fait à l’aide de capteurs de température et
de pression. D’autres capteurs contrôlent l’état de bon fonctionnement du système électronique,
en mesurant le niveau de la batterie ou encore la température dans la nacelle.
3. Communiquer les résultats : l’état de l’expérience doit être transmis à l’utilisateur, en temps réel
ou par le biais d’un moyen de stockage, afin de pouvoir exploiter les résultats de l’expérience,
mais aussi dans l’optique de récupérer le matériel utilisé.
Nous pouvons représenter le schéma général du dispositif électronique par un diagramme fonctionnel
(voir figure 3.1).
Ainsi, notre nacelle contient des capteurs, un ordinateur, une source d’alimentation... Tout un
dispositif électronique qui laisse entrevoir trois grands écueils :
— la communication avec le sol à haute altitude ;
— la résistance du dispositif aux très basses températures ;
— l’autonomie en énergie.
Dans les sections suivantes, nous choisissons les composants électroniques destinés à remplir les
missions précédentes. Nous veillons tout particulièrement à ce qu’ils permettent de contourner ces trois
écueils. Nous voyons ensuite comment faire fonctionner ces composants, d’abord isolément, puis de
manière à les faire interagir entre eux et créer un système fonctionnel répondant aux missions de la
nacelle.
25
Ordinateur
Contrôle ballon
Microélectrovanne Capteur tension
membrane
Retour nacelle
Température in-
térieure
Niveau batterie
Retour extérieur
Température ex-
térieure
Pression exté-
rieure
Communication
Mémoire de sto-
ckage Relai de commu-
nication
Géolocalisation
(GPS)
Figure 3.1 – Organigramme des différentes fonctions du système électronique de la nacelle
3.2 Les composants choisis
3.2.1 Microcontrôleur
Nous avons besoin d’un système qui coordonne tous les composants électroniques embarqués dans
la nacelle du ballon. Après des recherches bibliographiques sur les différentes options disponibles sur
le marché, nous avons convenus de nous servir d’un module Arduino Uno.
Figure 3.2 – Une carte électronique Arduino Uno
Ce module apparaît comme la meilleure option pour notre projet. La carte Arduino est optimisée
pour contrôler différents capteurs, moteurs et autres modules électroniques. Ce petit microcontrôleur
présente les avantages d’être peu cher et de ne consommer que très peu d’énergie, ce qui permet
de l’alimenter à l’aide d’une simple pile électrique. De plus son petit poids le rend idéal pour le
contrôle de systèmes embarqués dans une nacelle. Il accepte aussi l’ajout de modules complémentaires
(appelés shields), ce qui permet par exemple d’ajouter un module de communication GPS/GSM sans
problèmes de compatibilité. Ainsi il permet de réaliser la plupart des tâches nécessaires au vol, telle
que la communication nacelle/sol, l’acquisition des données de capteurs, la commande du moteur de
la microélectrovanne, etc. Enfin, la communauté d’entre-aide autour des modules Arduino est très
grande : les utilisateurs trouvent facilement de l’aide sur une multitude de sujets différents. Ceci est
26
un grand avantage pour des utilisateurs inexpérimentés comme nous [10].
3.2.2 Modules complémentaires
3.2.2.1 Localisation
La communauté Arduino développe des circuits intégrés complémentaires, les shields, qui se fixent
directement sur la carte Arduino. Nos recherches nous ont menés à l’achat d’un module GPS/G-
PRS/GSM, central dans notre projet puisqu’il nous permet de localiser la nacelle au cours du vol et de
communiquer avec celle-ci. Le module comprend un GPS, qui est notre moyen principal de localisation
Figure 3.3 – Un module GPS/GPRS/GSM compatible Arduino
de la nacelle. Les données nous sont envoyées via SMS par le système GSM du module. Les informations
sont codées dans un langage nommé « Commandes Hayes », ou « Commandes AT » [2]. Ce système
GSM est avantageux par rapport à d’autres systèmes de communication, telle la communication par
ondes radio (couramment utilisée pour les ballons-sondes). En effet, il nous permet de localiser le ballon
du moment que le module capte le réseau GSM. Nous prévoyons de perdre le contact avec le ballon
lorsque celui-ci atteindra environ 1 km d’altitude. Toutes les commandes doivent être automatisées
après cette étape. Mais pendant la descente, le ballon est à nouveau localisable : l’avantage du GSM
est que la commande d’envoi du message SMS est faite, même sans réseau. Le message est donc ré-
ceptionné dès que le ballon se trouve à nouveau dans une zone de couverture de réseau GSM. Cela
nous permettra de le localiser, pourvu que les réserves d’énergie à bord soient suffisantes. Nous avons
été convaincus par l’efficacité de ce système par une expérience qui, après un bref apprentissage des
commandes GSM basiques, a consisté à envoyer un SMS par l’intermédiaire du module à l’un de nos
téléphones portables personnels.
3.2.2.2 Stockage des données
Nous avons aussi intégré un autre shield au système, peu cher et simple d’utilisation, qui permet
le stockage de données. Toutes les informations produites par les différents appareils de la nacelle sont
stockées sur un support de mémoire Flash, grâce à un petit module de carte SD fixé sur la carte
Arduino. Ce module nous est indispensable, car l’Arduino ne prévoit pas assez de capacité de stockage
Figure 3.4 – Un module de carte SD compatible Arduino
27
(de l’ordre de quelques centaines de kilooctets, déjà destinés au programme du microprocesseur).
3.2.3 Capteurs
Les capteurs embarqués dans la nacelles nous permettent de connaître les conditions météoro-
logiques à l’altitude où se trouve le ballon. Il doivent répondre aux contraintes imposées par notre
projet :
— Basse pression : les capteurs de pression doivent rester précis en haute altitude. En effet, les
mesures qu’ils effectuent sont utilisées pour commander l’ouverture de la microélectrovanne.
— Basse température : elle peut descendre à moins de −57 ◦Cdès 11 km d’altitude. [40]
— Faible disponibilité d’énergie électrique : moins le composant consomme, meilleure sera l’auto-
nomie générale du système.
Voici une liste des capteurs que nous utilisons et qui répondent à ces critères. Des essais en congélateur
et sous cloche à vide sont à prévoir afin d’évaluer les réelles performances de ces capteurs (ainsi que de
tous les autres composants) dans les conditions difficiles de la haute atmosphère.
3.2.3.1 Température
Le capteur de température que nous utilisons est le Dallas DS18B20. Celui-ci est très apprécié des
utilisateurs [36] et est fréquemment utilisé dans les nacelles de ballons-sondes.
Figure 3.5 – Capteur de température Dallas DS18B20
Ce capteur est connecté directement à une entrée analogique de la carte Arduino et permet une
mesure précise des températures intérieure et extérieure de la nacelle.
3.2.3.2 Pression
Nous avons décidé d’essayer deux capteurs de pression différents pour ce projet. Le premier, le
BMP180, est très utilisé par les amateurs de ballons-sondes. De plus, il est peu cher et est certifié
compatible avec l’Arduino, ce qui rend son utilisation plus aisée. Malheureusement ce capteur n’est pas
capable de descendre en-dessous de 300 hPa, ce qui n’est pas suffisant pour la haute atmosphère. Nous
utilisons donc également le Motorola MPX2200AP, qui peut descendre jusqu’à 0 Pa. En contrepartie,
ce capteur est plus cher [31].
Contrairement à d’autres modèles qui renvoient une pression différentielle, ces deux capteurs pré-
sentent la particularité de calculer des pressions absolues. Pour cela, ils comparent la pression ambiante
avec une chambre sous vide interne. Ceci rend l’utilisation de ces capteurs plus simple en termes de
calibration.
L’utilisation parallèle de ces deux capteurs nous fournira deux relevés de pression sur leur plage
de fonctionnement commune. Cela nous permettra de les comparer afin de mieux comprendre leurs
fonctionnements respectifs et d’affiner nos mesures.
28
Figure 3.6 – Capteur BMP180 Figure 3.7 – Capteur MPX2200AP
3.2.4 Résistance aux basses températures
Lors de la montée du ballon, ce dernier est soumis à des températures descendant jusqu’à −57 ◦C
[40]. Peu de composants électroniques fonctionnent correctement à de si basses températures. Malgré
nos efforts pour trouver des systèmes résistants à ces températures, nous nous trouvons dans la partie
très inférieure de la fourchette de températures conseillées par la plupart des constructeurs dès 8 km
d’altitude.
Afin de garantir un fonctionnement optimal du système électronique de la nacelle du ballon, il faut
développer des solutions pour parer ce problème de température. Pour cela, que la solution consiste
à utiliser la chaleur déjà présente dans la nacelle ou à faire un apport supplémentaire de chaleur, il
faut avant tout étudier l’isolation thermique du corps de la nacelle, afin de ne pas perdre d’énergie
inutilement en chaleur.
Isolation thermique Une isolation thermique peu onéreuse et relativement efficace peut être obte-
nue à l’aide d’une nacelle dont la structure extérieure est faite de polystyrène, sous sa forme expansée
(EPS, pour Expanded Polystyrene). Le polystyrène expansé présente une conductivité thermique de
l’ordre de 0,033 W ·m−1·K−1[19], ce qui le met au même niveau en terme d’isolement thermique que
des matériaux comme le liège ou la laine de verre, très utilisés dans l’isolation thermique de bâtiments
(dans les domaines de la construction, on considère qu’un matériau est isolant lorsque sa conductivité
thermique est inférieure à 0,065 W ·m−1·K−1) [22].
En plus d’assurer cette isolation, la faible masse volumique du polystyrène (environ 20 kg ·m−3)
nous permet de respecter la loi, qui impose une masse surfacique de la nacelle de moins de 13 g ·cm−2.
Ceci est dû au fait qu’un matériau dont la masse surfacique est trop élevée pourrait occasionner des
dommages à un aéronef qui viendrait à entrer en collision avec la nacelle. Si on modélise par exemple
la nacelle par un cube de côté 30 cm, construit à l’aide de plaques de polystyrène expansé d’épaisseur
de 3 cm, la masse surfacique de la nacelle vide est de 0,36 g ·cm−2, ce qui laisse une grande marge
pour la masse du contenu de la nacelle. L’utilisation du polystyrène expansé nous évite ainsi de devoir
abaisser la masse totale de la nacelle à 2 kg (masse de la nacelle maximale imposée par la loi pour une
densité surfacique trop grande).
De plus, le polystyrène assure la flottabilité et l’étanchéité de la nacelle en cas de chute dans un
plan d’eau, ainsi que la protection des composants qu’elle contient en cas de choc lors de la chute.
Enfin, son faible coût d’achat en font une excellente option pour notre projet.
Apport de chaleur supplémentaire Les composants du système électronique de la nacelle pro-
duisent un peu chaleur lors de leur fonctionnement et cette chaleur peut être conservée un certain
temps grâce à l’isolation de la nacelle. Néanmoins, elle finit par se dissiper entièrement à l’extérieur
de la nacelle si on prend un temps suffisamment grand. En effet, bien que la conductivité thermique
du polystyrène soit faible, elle n’est pas nulle. De plus, la nacelle devra tout de même comprendre une
petite ouverture pour permettre aux pressions extérieures et intérieures à la nacelle de s’équilibrer, afin
d’éviter l’explosion de celle-ci. Cette ouverture implique un refroidissement accru de l’intérieur de la
nacelle.
29
Mais dans le cas d’un simple test de stabilisation à une altitude donnée, dont la durée n’a pas
besoin d’être très longue, un système d’isolation peut suffire.
Si cette durée se prolonge, on peut d’abord imaginer l’utilisation de petites chaufferettes chimiques
(appelées couramment « bouillottes magiques »), dont le poids est de quelques centaines de grammes
(selon le modèle) et qui peuvent produire de la chaleur pendant plusieurs heures pour les plus perfor-
mantes. Si l’avantage de ces chaufferettes est leur facilité d’utilisation et leur indépendance en terme
d’énergie, leur durée d’utilisation est limitée et leur poids peut poser un problème.
Dans le cadre d’une mission nécessitant une stabilisation du ballon pendant une longue durée, on
peut imaginer la conception d’un système plus complexe, par exemple à l’aide de fils résistifs, branchés
directement sur la source d’alimentation de la nacelle. Le principe est simple : le courant qui travers le fil
(de résistance connue) crée une perte d’énergie sous forme de chaleur, selon la loi de Joule (voir notion
en annexe A.10). Ce système présente plusieurs avantages. D’une part, il est peu encombrant et de poids
faible en comparaison à celui des chaufferettes chimiques. Cela permet éventuellement d’imaginer une
meilleure répartition dans l’espace de la source de chaleur, afin que l’énergie thermique soit concentrée
autour des parties « vitales » du système électronique. D’autre part, sa source d’énergie est électrique,
et non chimique. On peut imaginer un contrôle direct de l’énergie dissipée à l’aide du microcontrôleur.
Grâce au retour du capteur de température intérieure, la carte Arduino pourra désactiver le système
de chauffage tant qu’on ne descend pas en-dessous d’un certain seuil de température. D’importantes
économies d’énergie pourront ainsi être réalisées. Toutefois ce dispositif est très gourmand en énergie,
ce qui nous amène au problème de la source d’alimentation électrique.
3.2.5 Alimentation
Consommation électrique du système En dehors de la microélectrovanne, qui ne sera utilisée
que pendant un intervalle de temps restreint, nous connaissons l’ensemble des composants du système
électronique de la nacelle. Nous pouvons dresser le tableau des consommations électrique de chacun
d’entre eux, grâce aux fiches techniques fournies par les constructeurs :
Composant Consommation maximale (mA)
Arduino Uno 55
Module GPS/GSM 200
Module SD 100
Buffer 74HC125 (voir 3.3.3.3) 70
MPX2200AP 6
BMP180 1
DS18B20 (2x) 2 x 1,5
Total 435 mA
Table 3.1 – Consommation électrique des composants électronique de la nacelle
Pour connaître la quantité d’énergie électrique nécessaire au bon déroulement de l’ensemble de la
mission, il suffit de multiplier la consommation totale en courant par la durée prévue de la mission.
Source d’énergie De nombreuses solutions d’alimentation sont possibles. On peut en distinguer
deux types : les sources limitées, dont la quantité d’énergie est définie au lancer (type batterie), et les
sources autogénératrices, qui produisent elle-même l’énergie électrique à partir de leur environnement
(type éolienne). L’utilisation de l’un ou de l’autre type dépend de la durée de la mission. Pour une
mission courte, une source de type batterie peut suffire en terme de capacité et limite la complexité
du système d’alimentation. En revanche, si l’on se projette dans une mission à long terme, l’utilisation
de plusieurs batteries devient rapidement un problème en terme de poids. C’est pourquoi on peut
imaginer un système d’éolienne (utilisation des courants de vent) ou de panneau solaire (le ballon-
sonde se trouvant au-dessus de la couche nuageuse, on pourra profiter de l’énergie solaire en journée,
30
et recharger une batterie pour la nuit). Cependant l’une ou l’autre de ces solutions demande une étude
approfondie, car il faut concevoir un système résistant à des conditions extrêmes et surtout ne posant
pas de problèmes de poids.
Dans le cadre de notre mission, nous utilisons une source de type accumulateur, qui présente
l’avantage d’une mise en œuvre relativement facile.
Les accumulateurs Il existe de nombreux modèles d’accumulateurs, de fonctionnements et tensions
variés. Le tableau suivant, non exhaustif, en présente les principaux types :
Type Énergie stockable Prix
Plomb-acide 30 à 200 Wh/kg environ 30 e/kWh
Nickel-métal 80 à 1000 Wh/kg environ 350 e/kWh
Lithium-ion 200 à 2000 Wh/kg environ 600 e/kWh
Table 3.2 – Principaux types d’accumulateurs et leurs caractéristiques
Le type lithium-ion présente l’avantage de présenter une autonomie et une durée de vie supérieures
aux autres types, ainsi qu’une meilleure résistance aux basses températures. Malgré son prix élevé,
c’est donc vers ce type d’accumulateurs que nous orientons nos recherches, car notre critère de sélec-
tion prioritaire est le rapport capacité/poids, pour lequel les accumulateurs lithium-ion sont les plus
performants.
Tension d’alimentation Le tableau suivant regroupe les tensions d’alimentation de chacun des
composants du système électronique de la nacelle :
Composant Tension d’alimentation (V)
Arduino Uno 7 - 12
Module GPS/GSM 6 - 12
Module SD 5
Buffer 74HC125 (voir 3.3.3.3) 0 - 7 (ici, 3,3)
MPX2200AP 10 - 16
BMP180 1,8 - 3,6
DS18B20 3 - 5,5
Table 3.3 – Tension d’alimentation des composants électroniques de la nacelle
La plupart de ces composants sont branchés directement sur la carte Arduino. On trouve sur cette
dernière trois sorties destinées à alimenter des composants externes : une sortie 3,3 V continu, une
sortie 5 V continu et une sortie Vin qui fournit la même tension que l’alimentation de l’Arduino. Tous
les composants listés ci-dessus sont branchés sur la sortie 3,3 V ou la sortie 5 V, à l’exception du
module GPS/GSM et du capteur de pression MPX2200AP. Le premier est alimenté directement par
le port Vin lorsqu’on le monte sur la carte Arduino. Le second, pour pouvoir être branché sur ce même
port, exige que la tension d’alimentation de la carte Arduino soit supérieure à 10 V. Nous cherchons
donc un accumulateur ou une mise en série d’accumulateurs lithium dont la tension totale est comprise
entre 10 et 12 V.
Il existe des accumulateurs lithium-ion de 12 V, mais il sont très chers (près de 100 e) et pèsent
généralement très lourd (de 500 g à 1 kg). En revanche, il semble que la solution de mise en série
d’accumulateurs plus petits soit moins onéreuse et moins lourde. Dans la suite, nous prenons l’exemple
d’une mise en série de trois accumulateurs Lilon ICR-18650NH-SP de la marque Emmerich, de tension
nominale 3,7 V, capacité 2200 mAh, poids 50 g, et prix unitaire de l’ordre de 10 e. [16]
Le poids total de l’alimentation est alors de 150 g et fournit une tension de 11,1 V au système
pendant cinq heures si ce dernier consomme une moyenne de 435 mA. Nous ne tenons pas ici compte
31
de la diminution de performances de l’accumulateur due aux basses températures. Nous nous contentons
de ces performances dans le cadre de notre projet.
3.3 Mise en œuvre du système
3.3.1 Retour extérieur
Afin de connaître l’évolution des conditions extérieures, d’une part pour confirmer les données
de l’atmosphère normalisée ISA, d’autre part pour connaître l’altitude à laquelle se trouve le ballon,
nous utilisons des capteurs de température et de pression, placés à l’extérieur de la nacelle et reliés à
l’Arduino.
3.3.1.1 Température extérieure
Le capteur de température DS18B20 de Dallas [36], utilise le protocole de communication 1-Wire
(développé par Dallas). Ce protocole de communication permet à un maître de communiquer avec un
ou plusieurs esclave(s) par l’intermédiaire d’une seule ligne de communication (ligne DQ du capteur).
Pour pouvoir manipuler facilement ce protocole, nous utilisons la bibliothèque OneWire, qui nous
permet de brancher le capteur DS18B20 directement sur une entrée/sortie digitale de l’Arduino (nous
utilisons ici l’entrée/sortie n◦8) (voir figure 3.8).
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
VDD
•
GND
•
+11V
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
SS - ∼10 •
MOSI - ∼11 •
MISO - 12 •
CLK - 13 •
GND •
AREF •
SDA •
SLC •
GND
•
DQ
•
VDD
•
DS18B20
4,7 kΩ
•
•
Figure 3.8 – Schéma de branchement d’un capteur DS18B20 sur la carte Arduino
Le programme permettant de lire la température est en annexe C.1.
3.3.1.2 Pression extérieure
Comme nous l’avons vu précédemment, nous allons utiliser deux capteurs de pression différents
pour mesurer la pression atmosphérique à l’extérieur du ballon.
Le capteur BMP180 et le protocole I2CLe capteur BMP180 utilise le protocole de communica-
tion I2C : Inter-Integrated Circuit. Ce protocole, comme le SPI [7], a été mis au point pour optimiser la
communication sur de petites distances entre un ou plusieurs microprocesseurs (dits maîtres) et un ou
plusieurs périphériques (modules externes, ou même d’autres microprocesseurs, dits esclaves). Cette
communication est synchronisée et se fait sur deux lignes : la ligne SCL (Signal CLock) qui synchronise
les maîtres et les esclaves, et la ligne SDA (Signal DAta) qui envoie les données. À l’inverse du protocole
SPI, le petit nombre de lignes ne permet à la communication d’aller que dans un seul sens à la fois, ce
32
qui diminue le débit de données. En revanche, la présence d’un signal horloge permet d’avoir un débit
supérieur au protocole série [6].
Sur la carte Arduino Uno, la ligne SCL correspond à la broche analogique A5 et la ligne SDA à la
broche analogique A4. On veille à bien alimenter le capteur avec la sortie 3,3V, comme préconisé par
le constructeur (voir figure 3.9). Afin de manipuler le protocole I2C, on utilise la bibliothèque Wire
dans le logiciel Arduino. On utilise également la librairie SFE_BMP180, conçue pour une utilisation
facilitée du capteur BMP180.
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
VDD
•
GND
•
+11V
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
SS - ∼10 •
MOSI - ∼11 •
MISO - 12 •
CLK - 13 •
GND •
AREF •
SDA •
SLC •
BMP180
IO •
VDD •
GND •
SCL •
SDA •
••
•
4,7 kΩ
•
4,7 kΩ
Figure 3.9 – Schéma de branchement d’un capteur BMP180 sur la carte Arduino
La broche IO n’est pas utile dans le cas d’une utilisation avec un Arduino Uno (elle permet une
utilisation avec des microprocesseurs ayant des niveaux logiques très bas).
Il faut savoir que le capteur BMP180 peut également mesurer la température, et utilise cette
dernière pour donner une valeur ajustée de la pression absolue. Le programme permettant de lire la
pression avec le capteur BMP180 est en annexe C.2.
Le capteur MPX2200AP Le capteur MPX2200AP a un fonctionnement beaucoup plus simple que
le BMP180, puisqu’il ne communique avec l’Arduino que via deux entrées analogiques. On peut lire
entre ces deux entrées une différence de potentiel comprise entre 0 et 40 mV, proportionnelle à une
pression allant de 0 à 200 kPa. Ainsi, une simple conversion de cette différence de potentiel permet
d’obtenir la tension mesurée par le capteur. En revanche, ce dernier doit être alimenté avec une tension
d’au moins 10 V. Nous pourrions le brancher sur la borne Vin de l’Arduino, qui doit restituer la tension
d’alimentation de la carte (ici 11,1 V). Cependant, nos essais montrent que la tension Vin peut être
légèrement inférieure à la tension d’alimentation de la carte. On fera donc le choix de brancher le
capteur directement sur l’accumulateur alimentant le système (voir figure 3.10).
Le programme permettant de lire la pression avec le capteur MPX2200AP est en annexe C.3.
3.3.2 Retour nacelle
3.3.2.1 Température intérieure
La mesure de la température intérieure, comme la température extérieure, est réalisée avec un
capteur DS18B20. Voir le paragraphe et le code correspondants pour plus de détails.
3.3.2.2 Niveau batterie
Il est important de connaître l’état du système d’alimentation à tout moment de l’expérience. Non
seulement cela nous permet de connaître la consommation réelle de la nacelle à de très basses tempé-
33
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
VDD
•
GND
•
•
+11V
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
SS - ∼10 •
MOSI - ∼11 •
MISO - 12 •
CLK - 13 •
GND •
AREF •
SDA •
SLC •
MPX2200
−Vout •
VDD •
+Vout •
GND •
Figure 3.10 – Schéma de branchement d’un capteur MPX2200AP sur la carte Arduino
ratures, mais surtout cela permet de donner le signal de descente (ouverture de la microélectrovanne)
avant que le niveau de batterie soit trop faible pour le faire.
Pour connaître l’état de charge de l’accumulateur, plusieurs moyens sont possibles. On peut mesu-
rer la tension aux bornes de l’accumulateur. En effet, lorsqu’un accumulateur se décharge, la tension à
ses bornes diminue très légèrement, selon une évolution définie par le constructeur. Cependant, cette
mesure ne permet pas de déterminer précisément combien de courant a été consommé par le système.
L’autre méthode possible, que nous développons ici, est une approximation de la consommation ins-
tantanée du système en courant électrique. Pour cela, on mesure régulièrement le courant débité par
l’accumulateur, et en fonction du temps entre deux mesures, on met à jour la capacité restante de l’ac-
cumulateur. Pour mesurer le courant, on mesure la tension aux bornes d’une petite résistance placée à
la sortie de l’accumulateur. Cependant, il faut savoir que la tension maximale admise par une entrée
analogique de l’Arduino est de 5 V. C’est pourquoi il faut d’abord abaisser chaque tension à l’aide d’un
pont diviseur (voir figure 3.11).
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
VDD
•
GND
•
+11V
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
SS - ∼10 •
MOSI - ∼11 •
MISO - 12 •
CLK - 13 •
GND •
AREF •
SDA •
SLC •
10 Ω
•
•
2 MΩ
1 MΩ
•
•
•
2 MΩ
1 MΩ
Figure 3.11 – Schéma du circuit permettant de vérifier la charge d’un accumulateur avec une carte
Arduino
Il faut évidemment connaître la capacité de l’accumulateur chargé afin d’estimer correctement la
charge restante à tout moment de l’expérience. Le programme permettant de calculer cette charge est
en annexe C.4.
34
3.3.3 Communication
3.3.3.1 Géolocalisation
Afin de pouvoir localiser notre ballon-sonde (dans le plan horizontal lors de la descente et dans
le plan vertical pendant la montée), nous branchons à notre système un module GPS qui permet de
définir la position exacte du ballon-sonde dans l’espace.
Le réseau GPS Le réseau GPS (Global Positioning System) est une constellation de satellites NAVS-
TAR (NAVigation Satellite Timing And Ranging) américains mis en place dans les années 1980-1990.
Il consiste en 24 satellites sur 6 plans orbitaux (inclinés de 55◦par rapport à l’équateur) à 20200
km d’altitude. Chacun de ces satellites envoie en permanence des signaux électromagnétiques haute
fréquence (porteuse de l’ordre du 1,5 GHz) comprenant des informations sur sa position (spatiale et
temporelle) par modulation de phase. Conçu d’abord pour des applications militaires, le système GPS
est aujourd’hui utilisé par un grand nombre d’utilisateurs : transports maritimes, aériens et terrestres,
géologie, travaux publics, prospection pétrolière, agriculture, etc. N’importe quel récepteur GPS peut
détecter ces signaux et en déduire sa position grâce au temps mis par le signal pour l’atteindre. Les
signaux de quatre satellites différents sont nécessaires à la détermination de la position, afin de résoudre
les quatre inconnues de position : temps, latitude, longitude et altitude. La constellation des satellites
est faite de sorte à ce que le maximum de satellites soient visibles à tout moment de n’importe quel
endroit de la planète.
La norme NMEA 0183 Historiquement, le GPS était conçu pour des applications militaires. C’est
pourquoi le protocole de communication avec un récepteur GPS est défini par une organisation liée
à la marine : la NMEA (National Marine Electronics Association, fondée en 1957 pour renforcer la
cohésion au sein des organisations électroniques pour la marine). La norme utilisée couramment est
la norme NMEA 0183, qui définit la communication des données GPS en série asynchrone 8 bits. Les
informations se présentent sous la forme de trames de caractères ASCII, composées comme suit :
$XX
|{z}
type d’émetteur
type de trame
z }| {
XXX , ..., ...,
| {z }
champs d’informations
checksum
z}|{
∗XX
Le type d’émetteur pour des données GPS est GP. Les types de trames qui peuvent suivre sont
nombreux. Nous parlerons ici du type GGA, qui fournit les coordonnées spatiales et temporelle. Puis
les champs d’information de la trame sont séparés par des virgules. Enfin, la checksum est une opération
ou-exclusif de tous les caractères de la trame (de $ à * compris) afin de vérifier qu’aucune donnée n’ait
été perdue (le résultat est affiché en hexadécimal).
Voici le schéma d’une trame GPGGA :
$GP GGA, hhmmss.dcm, ddmm.mmm, D, dddmm.mmm, D
, X, N N, XX, AAAA, M , DDDD, M, SSS S, NN NN ∗X X
Le détails des informations contenue par une trame est le suivant :
—$GPGGA : début de trame GPS contenant l’ensemble des coordonnées de position ;
—hhmmss.dcm : heure (hh heures, mm minutes, ss secondes et dcm millisecondes);
—ddmm.mmm,D : latitude (dd degrés, mm.mmm minutes, direction N pour nord ou S pour sud) ;
—dddmm.mmm,D : longitude (ddd degrés, mm.mmm minutes, direction W pour ouest ou E pour
est) ;
—X: fix du satellite (chiffre de 0 à 2), correspondant à la qualité du signal reçu;
—NN : nombre de satellites captés;
—XX : dilution de la précision horizontale;
—AAAA,M : altitude en mètres (M) au-dessus du niveau moyen de la mer ;
35
—DDDD,M : altitude en mètres (M) dans le système géodésique mondial (ellipsoïde WGS 84) ;
—SSSS : âge des données différentielles en secondes;
—NNNN : numéro de la station différentielle;
—*XX : checksum et fin de trame
Lorsqu’il est correctement alimenté et qu’il capte suffisamment de satellites, ce sont des trames de
ce type qu’envoie le module GPS à l’Arduino via le port série de ce dernier. Afin de garantir un signal
optimal, nous remplaçons la petite antenne intégrée du module par une antenne GPS plus longue et
plus performante.
Le protocole série Le protocole série (Serial ) est un protocole de communication asynchrone qui
permet à deux systèmes électroniques d’échanger des informations simultanément. Il comprend deux
lignes de communication, chacune destinée à la communication dans un sens. Contrairement aux pro-
tocoles SPI et I2C, il ne comprend pas de signal d’horloge, ce qui nécessite une définition concertée
du débit de données par les deux systèmes. Cela a pour effet de diminuer considérablement la vitesse
d’échange possible. Dans tous les programmes utilisant ce port, il faudra commencer par définir le
débit de communication par la commande Serial.begin( vitesse). Dans le cas de l’Arduino Uno, cette
vitesse est généralement définie à 9600 bits/seconde (c’est le baudrate).
La carte Arduino utilise les entrées/sorties numériques 0 (appelée aussi RX pour Receive Data) et
1 (appelée aussi TX pour Transmit Data) pour le protocole série avec des modules externes, ainsi que
le port USB pour la communication série avec un ordinateur. Le programme permettant d’acquérir et
de traiter les coordonnées du module GPS via le port série est en annexe C.5.
3.3.3.2 Communication GSM
Afin d’établir la communication avec la nacelle, nous utilisons le shield GPS/GPRS/GSM. Tout
d’abord, il faut comprendre le cœur du système électronique qui permet d’établir la communication
GSM : le modem.
Modem et réseau GSM Un modem (MOdulateur DÉmodulateur) est un dispositif qui permet de
connecter des machines entre elles. Cela signifie qu’il reçoit des données numériques par le biais d’un
canal analogique. Les modems sont présents partout, car ils permettent par exemple de connecter des
ordinateurs au réseau internet, ou bien des téléphones portables au réseau GSM. C’est pourquoi on peut
faire une analogie entre notre module GPS/GSM et un modem téléphonique classique. Dans l’exemple
du GPS, notre shield GPS/GPRS/GSM sert de modem : il reçoit effectivement les données numériques
des satellites prévus à cet effet. Ces données sont transmises via une onde électromagnétique - c’est le
canal analogique - qui sont décryptées par le shield GPS.
Ce shield fonctionne de manière similaire pour le réseau GSM, qui permet la communication par
téléphone portable. Ici, le module GPS/GPRS/GSM sert aussi de modem (tout comme un téléphone
portable qui sert lui-même de modem pour une communication téléphonique). Ainsi, le shield envoie
des données numériques au travers de son antenne, vers une antenne-relais. Cette dernière transfère le
signal jusqu’à un autre téléphone portable, qui démodule le signal reçu. Ces données envoyées par le
shield sont codées dans un langage dédié aux communications faites sur le réseau GSM : les commandes
AT.
Les commandes AT , ou Commandes Hayes (du nom du premier modem qui a utilisé ce lan-
gage), sont un ensemble d’instructions permettant aux modems de comprendre les opérations qu’ils
doivent effectuer. Plus particulièrement, elles sont adaptées aux communications téléphoniques [27].
Nous sommes donc amenés à les manipuler pour utiliser le réseau téléphonique GSM dans le cadre
de la communication avec la nacelle. Parmi les nombreuses commandes possibles, on peut dégager les
suivantes :
— composer un numéro de téléphone ;
36
— décrocher le téléphone ;
— envoyer un SMS ;
— connaître l’état de la connection.
Ce sont ces actions que nous avons besoin d’effectuer. Les commandes AT peuvent être utilisées de
deux manières différentes pour diriger module. Premièrement, les commandes peuvent être entrées
dans une console dédiée au shield GPS/GPRS/GSM, sous forme d’un code ASCII. Deuxièmement,
un programme préalablement écrit peut être sauvegardé dans la mémoire interne de l’Arduino. Ceci
permet au système de traiter des commandes automatiquement, sans recevoir d’autres informations de
la part de l’utilisateur.
C’est ainsi que nous programmons le module GPS/GPRS/GSM, afin qu’il nous envoie régulièrement
les informations dont il dispose. Voici une liste de quelques commandes élémentaires utilisées dans un
programme destiné à envoyer un SMS par l’intermédiaire du shield :
— AT : code d’attention qui est mis avant toutes les autres commandes. Il demande la réponse
OK du modem, ou bien demande 0 si ce dernier est prêt à recevoir des commandes ;
— AT+CMGF = 1 : code de sélection du format des messages. Ici, la valeur 1 indique un format
texte ;
— AT+CMGS="0683256966" : code d’envoi d’un message au numéro indiqué.
Ainsi, le module GPS/GPRS/GSM nous envoie les informations dont il dispose par SMS, que nous
recevons sur un téléphone portable (telles la localisation géographique, le qualité de la réception de
réseau GPS, etc.). De plus, nous avons la possibilité d’utiliser nous-mêmes des commandes AT pour
commander le module. Il suffit de les envoyer par SMS au module. Les codes permettant d’envoyer et
de recevoir des SMS avec le module GPS/GSM sont en annexe C.6 et C.7.
3.3.3.3 Stockage : le module de carte SD
La carte Arduino n’est dotée que de très peu de mémoire interne, destinée à stocker le programme
du microprocesseur. De plus, ce n’est que de la mémoire vive (RAM) : à chaque coupure d’alimentation,
les données sont perdues. Afin d’enregistrer le relevé des mesures effectuées par les différents capteurs
et modules, nous ajoutons au système un module de carte SD, permettant à l’Arduino d’enregistrer
les données directement sur une carte SD.
La carte SD Une carte SD est un support physique permettant de stocker des données dans de
la mémoire dite Flash, appelée également EEPROM (Electrically Erasable Programmable Memory).
Comme la mémoire vive (RAM), la mémoire Flash permet une écriture des données facile, et présente
l’avantage d’avoir une structure similaire à la mémoire morte (ROM), qui conserve les données malgré
une coupure d’alimentation. Voici le brochage d’une carte SD (ce brochage ne change pas avec les
formats mini et micro-SD, qui diffèrent seulement au niveau de la taille du boîtier) :
Carte SD
9
•1
•
2
•
3
•
4
•
5
•
6
•
7
•
8
•
Figure 3.12 – Broches d’une carte SD
Trois protocoles de dialogue différents sont possibles avec une carte SD :
—SD 1 bit : mode de transfert de données de type série synchrone sur 1 bit, qui utilise 3 lignes
(horloge, commande et une ligne de données) ;
—SD 4 bit : mode de transfert de données de type série synchrone sur 4 bits (plus rapide), qui
utilise 6 lignes (horloge, commande et quatre lignes de données) ;
—SPI : mode de transfert de données de type série synchrone sur 1 bit, qui permet la communi-
cation selon le protocole SPI avec de nombreux microprocesseurs, y compris Arduino.
37
Broche n◦Nom Mode SD Mode SPI
1 DAT3/CS Ligne de données 3 /SS
2 CMD/DI Ligne de commande MOSI
3 VSS1 Masse Masse
4 VDD Alimentation Alimentation
5 CLK Horloge Horloge
6 VSS2 Masse Masse
7 DAT0/DO Ligne de données 0 MISO
8 DAT1/IRQ Ligne de données 1 / ou IRG
9 DAT2/NC Ligne de données 2 /
Table 3.4 – Brochage d’une carte SD
Le port SPI Afin de communiquer avec des modules externes comme notre module SD, la carte
Arduino utilise le protocole SPI : Serial Peripheral Interface. Ce protocole, mis au point pour optimiser
la communication sur de petites distances entre un microprocesseur (dit maître) et un ou plusieurs
périphériques (modules externes, ou même d’autres microprocesseurs, dits esclaves), est composé de
quatre broches : MISO, MOSI, SCK et SS. La borne MISO (Master In, Slave Out permet à l’esclave
d’envoyer des données au maître. La borne MOSI (Master Out, Slave In permet au maître d’envoyer
des instructions à l’esclave. La borne SCK (Serial Clock synchronise la communication entre le maître
et l’esclave. Enfin, la ou les borne(s) SS Slave Select permettent d’activer ou de mettre en attente un
esclave. Ainsi, le maître peut communiquer successivement avec plusieurs périphériques branchés sur
les mêmes lignes MISO, MOSI et SCK en mettant au niveau bas uniquement la ligne SS de l’esclave
avec lequel il aimerait communiquer. Bien qu’il nécessite un nombre de lignes plus important que les
protocoles I2C et série, ce protocole permet une communication plus rapide que le protocole I2C car
les données peuvent circuler dans les deux sens simultanément (une ligne MISO et une ligne MOSI),
et plus rapide que le protocole série grâce à l’horloge qui synchronise le maître et l’esclave.
Branchements et programmation Sur l’Arduino Uno, les bornes attribuées au protocole SPI sont
les entrées/sorties numériques 10 à 13. Cependant, les entrées et sorties numériques de l’Arduino Uno
fournissent une tension de 5V (par rapport à la masse) lorsqu’ils sont à l’état haut. Or, le module de
carte SD que nous utilisons admet des tensions de 3,3 V. Afin de corriger les tensions de sorties de
l’Arduino, nous utilisons un composant supplémentaire, le circuit intégré 74H125.
Ce composant, alimenté avec une tension comprise entre 0 et 7 V, contient quatre buffers. Lorsqu’un
signal arrive à l’entrée d’un buffer, c’est le même signal qu’on retrouve à sa sortie, mais élevé ou abaissé
à la tension d’alimentation du circuit. Ainsi, si on branche la sortie numérique de l’Arduino sur l’entrée
d’un buffer, et qu’on alimente ce dernier avec l’alimentation 3,3 V de l’Arduino, le signal d’entrée est
recopié à la sortie, mais abaissé à une tension de 3,3 V (et non plus de 5 V). Ainsi, nous utiliserons
le 74H125 pour abaisser les signaux allant de l’Arduino au module SD : MOSI, SS et SCK. Notons
également que pour chaque buffer, une troisième broche Xpermet d’autoriser la recopie de l’entrée
sur la sortie lorsqu’elle est à l’état bas. Nous branchons ces trois broches sur la masse pour autoriser
la recopie des trois buffers utilisés (voir figure 3.13).
Le programme permettant de lire et d’écrire sur une carde SD par l’intermédiaire de ce module est
en annexe C.8.
3.3.4 Contrôle du ballon
3.3.4.1 Microélectrovanne
La microélectrovanne a pour mission de réduire la quantité d’hélium dans l’enveloppe du ballon
au moment de sa stabilisation, et de libérer l’ensemble du gaz pour amorcer sa descente. Elle est
38
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
VDD
•
GND
•
+11V
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
SS - ∼10 •
MOSI - ∼11 •
MISO - 12 •
CLK - 13 •
GND •
AREF •
SDA •
SLC •
74H125
VDD
•
4
•
E4
•
S4
•
3
•
E3
•
S3
•
1
•
E1
•
S1
•
2
•
E2
•
S2
•
gnd
•
Module
SD
GND
•
MISO
•
SCK
•
MOSI
•
SS
•
+5V
•
+3,3V
•
GND
•
• •
• •
Figure 3.13 – Schéma de branchement d’un module de carte SD sur la carte Arduino
commandée par l’Arduino. Il active automatiquement la microélectrovanne lorsque nous n’avons plus
de moyen de communiquer avec la nacelle (après sortie de la zone de couverture du réseau GSM).
N’ayant pas pu trouver de microélectrovanne adéquate, nous ne connaissons pas encore les moyens
dont nous avons besoin pour mettre en œuvre le système d’ouverture de l’enveloppe du ballon. Tout au
plus, sachant que la carte Arduino est dotée d’entrées analogiques et de sorties numériques, nous sup-
posons qu’il est possible de se servir de ces ports pour recueillir les données des capteurs et commander
la microélectrovanne en conséquence.
3.3.4.2 Diamètre de l’enveloppe
Afin de déterminer le diamètre du ballon, nous avons besoin d’un système de mesure du diamètre
de l’enveloppe du ballon. Cette mesure n’est pas indispensable, car l’Arduino calcule l’instant auquel
il doit ouvrir la microélectrovanne en comparant les données recueillies par les capteurs avec celles
qui sont définies pour l’altitude de stabilisation (données de l’atmosphère normalisée ISA). Mais cette
mesure nous permet de confirmer les caractéristiques mécaniques définies expérimentalement pour le
ballon utilisé, malgré les conditions de la haute atmosphère.
Pour effectuer cette mesure, nous avons pensé à un système de mesure du diamètre par résistance
variable. Ce système serait composé d’une simple bande métallique flexible dont une extrémité serait
fixée en un point de l’enveloppe du ballon. Une électrode serait reliée à cette bande. Puis, une autre
électrode indépendante de cette bande métallique serait elle aussi fixée sur le ballon, de sorte à pouvoir
coulisser sur la bande de métal en fonction de la variation de diamètre de l’enveloppe. L’électrode
mobile serait donc proche du point d’attache de la bande métallique lorsque le ballon aurait un pe-
tit diamètre, puis s’éloignerait au fur et à mesure que celui-ci augmenterait. Ainsi, avec un courant
électrique circulant entre la bande métallique et l’électrode coulissante, il serait possible d’obtenir une
valeur variable de la résistance de la bande métallique, ce qui nous permettrait, grâce au calibrage tiré
d’expériences préalables, d’obtenir une mesure indirecte du diamètre de l’enveloppe du ballon-sonde.
L’Arduino a la capacité de servir de voltmètre, car il comporte des entrées analogiques auxquelles nous
pouvons facilement brancher les électrodes de la résistance variable.
Cette méthode n’est qu’une piste pour suivre l’évolution de l’étirement du ballon et mériterait d’être
développée. Des recherches supplémentaires pourront permettre de déterminer d’autres techniques de
mesure plus complexes et/ou plus adaptées.
39
3.4 Fonctionnement général
3.4.1 Circuit final
Il faut maintenant combiner l’ensemble de ces systèmes pour les faire fonctionner en interaction
autour de la carte Arduino. Voici le bilan des branchements sur les broches de la carte Arduino Uno :
Broche Communication Branchement
IOREF
RESET
+3,3V Alimentation VDD 74HC125, VDD BMP180
+5V Alimentation VDD Module SD, VDD DS18B20
GND Masse Masses de tous les systèmes
Vin Alimentation Module GPS/GSM
A0 Entrée analogique Niveau batterie 1
A1 Entrée analogique Niveau batterie 2
A2 Entrée analogique +Vout MPX2200AP
A3 Entrée analogique −Vout MPX2200AP
A4 I2CSDA BMP180
A5 I2CSCL BMP180
0 (RX) Série RX Module GPS/GSM
1 (TX) Série RT Module GPS/GSM
2
∼3Sortie numérique Activation mode GSM
4 Sortie numérique Activation mode GPS
∼5Sortie numérique Activation module GPS/GSM
∼6
7 1-Wire DQ DS18B20 (1)
8 1-Wire DQ DS18B20 (2)
∼9
∼10 SPI SS Module SD (via 74H125)
∼11 SPI MOSI Module SD (via 74H125)
12 SPI MISO Module SD (via 74H125)
13 SPI SCK Module SD (via 74H125)
AREF
SDA
SLC
Table 3.5 – Attribution des broches de la carte Arduino Uno
Dans ce tableau manquent un système de commande d’une électrovanne et un capteur de tension
du ballon. On peut imaginer que l’ouverture de la microélectrovanne pourra se faire par une simple
commande numérique, via la sortie numérique n˚6, par exemple. En ce qui concerne le capteur de tension
du ballon, il est probable qu’on ait besoin pour ce dernier d’une entrée analogique. Étant donné que
dans l’agencement présent du système, toutes les entrées analogiques sont occupées, on pourra par
exemple faire le choix de remplacer l’un des capteurs de pression par ce capteur de tension. On garde
à l’esprit qu’aucun des deux n’est vraiment indispensable au bon fonctionnement de l’expérience : le
choix d’utiliser l’un ou l’autre dépendra donc de la direction donnée au projet.
Le circuit final du système électronique est le suivant (voir figure 3.14) (on se rappelle que manquent
la microélectrovanne ainsi qu’un retour sur la tension du ballon) :
40
ARDUINO UNO
A5
•
A4
•
A3
•
A2
•
A1
•
A0
•
Vin
•
GND
•
GND
•
+5V
•
+3,3V
•
RESET
•
IOREF
•
RX - 0 •
TX - 1 •
2•
∼3•
4•
∼5•
∼6•
7•
8•
∼9•
∼10 •
∼11 •
12 •
13 •
GND •
AREF •
SDA •
SLC •
74H125
VD
•
4
•
E4
•
S4
•
3
•
E3
•
S3
•
1
•
E1
•
S1
•2
•
E2
•
S2
•
gnd
•
Module
SD
GND
•
MISO
•
SCK
•
MOSI
•
SS
•
+5V
•
+3,3V
•
GND
•
• •
•
•
•
•
•
GND
•
DQ
•
VD
•
DS18B20
GND
•
DQ
•
VD
•
DS18B20
•
•
•
•
4,7 kΩ
Module GPS/GSM
GP S/GSM
•
GPS
•
GSM
•
RX
•
TX
•
GND
•
VDD
•
VDD
•
GND
•
+11V
10 Ω
•
•
• •
2 MΩ
1 MΩ
•
•
MPX2200
−Vout •
VDD •
+Vout •
GND • •
BMP180
IO •
VDD •
GND •
SCL •
SDA •
• •
•
•
•
4,7 kΩ
Figure 3.14 – Schéma du système électronique final
3.4.2 Bilan du raisonnement
Afin de garantir le bon déroulement du lancer du ballon, il faut développer un algorithme qui per-
mette de coordonner l’ensemble des composants développés ci-dessus tout en remplissant les objectifs
que nous nous sommes fixés. Ainsi, nous souhaitons que le ballon fasse des mesures de sa condition
(état extérieur, état de la nacelle, position, etc.) à intervalles réguliers, et qu’il communique ces infor-
mations (stockage sur carte SD et envoi par SMS). Lors de l’analyse de ces informations, s’il constate
que l’objectif d’altitude est atteint, il doit commander l’ouverture de la vanne pendant un temps donné.
Déclenchement de la stabilisation Deux solutions sont possibles pour que le ballon détecte qu’il
a atteint l’altitude visée. On peut tout d’abord utiliser la coordonnée d’altitude donnée par le GPS. En
effet, le signal satellite devrait être très bien reçu, même à très haute altitude (les satellites se trouvant
à 20200 km d’altitude). On peut également comparer les mesures de température et d’altitude à celles
données par l’atmosphère normalisée ISA pour l’altitude visée. Lorsque ces dernières coïncident à une
marge d’erreur près, le ballon lance le processus d’ouverture de la valve.
Durée d’ouverture de la valve Le seul contrôle que nous avons sur le volume du ballon est la
masse d’hélium qu’il contient, que nous pouvons diminuer en ouvrant la valve. Nous souhaitons donc
libérer de l’hélium de sorte à ce que la masse de gaz restante corresponde à un rapport poids sur force
d’Archimède égal à 1. Pour cela, il faut ouvrir la valve pendant un certain temps. Ce temps dépend du
débit de gaz de la valve, qui dépend d’une part de la valve, mais aussi de l’état du ballon (tension) et
des conditions extérieures (pression et température). Lors du déclenchement de l’ouverture de la valve,
il faut calculer le temps d’ouverture en fonction des caractéristiques de la valve (connues) et de l’état
du système (mesures).
Cette manière de stabiliser le ballon ne laisse que peu de marge d’erreur. En effet, si trop d’air est
libéré, impossible de revenir en arrière, et le ballon commence sa descente. Dans un développement plus
complexe du projet, on pourra étudier la solution de réinjecter de l’hélium dans le ballon à l’aide d’une
41
petite bonbonne de gaz, et ainsi d’équilibrer la masse d’hélium dans le ballon jusqu’à stabilisation.
Descente La descente est réalisée en ouvrant la valve définitivement. La totalité de la masse d’hélium
s’échappe alors du ballon, qui n’est freiné dans sa chute que par le parachute.
Plusieurs éléments doivent pouvoir déclencher la descente. D’une part, l’utilisateur peut envoyer
un SMS déclenchant l’ouverture définitive de la valve (en cas de problème au moment du lancer, par
exemple). Néanmoins, cette option est très limitée, car dès quelques kilomètres d’altitude, il est probable
que le ballon sorte de la couverture du réseau GSM. D’autre part, plusieurs cas sont à distinguer pour
lesquels il est important que le ballon déclenche automatiquement le processus de descente :
Batterie : le niveau de batterie descend en-dessous d’un certain seuil. Il est important que le
ballon ait suffisamment de batterie pour l’ensemble du processus de descente, non seulement pour
garder la valve ouverte jusqu’à échappement de tout le gaz, mais aussi afin d’être en mesure d’envoyer
le SMS permettant de localiser sa position après l’atterrissage.
Distance : le ballon parcourt une distance trop grande en raison des vents. Le ballon doit régu-
lièrement comparer sa position horizontale à ses coordonnées de décollage, pour des raisons juridiques
(sortie du territoire autorisé pour le lancer) mais aussi pratiques (distance à parcourir pour récupérer
le ballon ou même dépassement de la terre ferme).
Temps : le temps de l’expérience est trop long. Si pour des raisons quelconques (surestimation de
la capacité de la batterie, conditions météo idéales) aucun des deux points précédent venait à déclencher
la descente, on peut prévoir un temps maximum de vol afin de ne pas perdre le contrôle du ballon
(difficile à retrouver la nuit, par exemple).
42
3.4.3 Algorithme final
LANCER
Mesures
Acquisition
GPS
Srockage SD
Envoi SMS
oui
non
Descente
amorcée
?
Valve
ouverte
Calcul
distance
Vérification
SMS
Calcul
temps
Vérification
batterie
oui
non
Signal
descente
?
Valve
ouverte
oui
non
Stabilis.
amorcée
?
oui
non
Temps
ouverture
atteint ?
Valve
ouvert
Valve
fermée
Comparaison
altitude
oui
non
Amorcer
stabilis.
?
Calcul
durée
Valve
ouverte
Valve
fermée
43
Conclusion
Ainsi s’achève notre projet. Nous avons, lors de la réalisation de ce dernier, fait des recherches biblio-
graphiques, effectué des calculs, mis en place des expériences, appliqué des connaissances théoriques,
et bien plus encore, dans l’optique d’apporter une solution technique à notre problème initial.
Bien que nous soyons très satisfaits du stade que nous avons pu atteindre, nos résultats ont été
limités dans de nombreux sens. En effet, le raisonnement aurait pû être plus rigoureux, car nous avons
dû pousser nos résultats hors de leur domaine de validité (lors de l’expérience du ballon rempli d’eau).
Nous avons également rencontré des limites lors de la réalisation technique du projet. Par exemple,
nous n ?avons pas pu trouver une microélectrovanne qui convienne à nos besoins. De plus, le temps
nous ayant manqué, nous n’avons pas pu explorer tous les aspects scientifiques que nous aurions dû
étudier pour pouvoir prétendre effectuer un lancer. Entre autres, nous n’avons pas déterminé les forces
exercées sur le câble reliant l’enveloppe du ballon à la nacelle. Nous aurions aussi dû étudier les forces
auxquelles le ballon serait soumis lors de vents en altitude. Enfin, nous n’avons pas étudié le problème
de la condensation qui se produit sur l’enveloppe du ballon en haute atmosphère, ainsi que le problème
de l’alimentation des différents composants électroniques de la nacelle ou d’un apport de chaleur
supplémentaire pour une mission prolongée. Il reste donc encore une grande quantité de recherches
à faire pour remplir le cahier des charges que nous avons établi en début de projet. Néanmoins, même
si dans les limites de ce projet nous ne sommes pas en mesure de présenter un projet abouti, nous
espérons pouvoir continuer nos démarches pour couronner nos efforts d’un véritable lâcher de ballon.
À l’origine, nous avions choisi la mission de stabiliser le ballon-sonde à une altitude déterminée,
car nous réfléchissions aux applications que nous pourrions faire d’un tel ballon, notamment dans le
domaine des télécommunications. En effet, lors d’un éventuel incident qui endommagerait nos liaisons
téléphoniques ou internet, nous avons pensé que des ballons (rapidement lancés et stabilisés à une alti-
tude choisie) pourraient servir de relais de télécommunication de secours. Cette application n’est encore
qu’en phase de concept et peut sembler relever de la science-fiction. Pourtant certaines compagnies
semblent s’y intéresser de manière très concrète. On peut citer la société Google, qui est présentement
en train de développer un tel projet (nommé le projet Loon) [26]. Nous sommes donc certains que ce
projet recèle encore bien des choses à découvrir...
44
Compétences acquises
Avant d’avoir commencé à travailler sur le projet du ballon-sonde, nous ne savions pas à quel point
il nous ferait découvrir de multiples domaines scientifiques.
Nous avons tout d’abord eu l’occasion d’apprendre, lors de la rédaction de ce rapport, l’usage du
langage LaTeX, qui, nous en sommes sûrs, se révèlera très utile dans les années à venir, en raison des
capacités de présentation rigoureuse qu’il nous confère.
Nous avons également été confrontés à la rédaction rigoureuse d’un rapport rendant compte de nos
démarches et de nos résultats.
Nous avons touché à beaucoup de domaines scientifiques, incluant la mécanique, l’électronique, les
mathématiques, l’informatique, la physique...Autant de domaines dans lesquels des compétences et du
savoir supplémentaires ne peuvent être que bienvenus. Ainsi, nous sommes maintenant rodés à l’usage
des modules Arduino, et dans une moindre mesure, des circuit électroniques simples, ainsi qu’aux
calculs concernant l’élévation d’un ballon-sonde dans l’atmosphère.
Mais l’aspect qui nous a semblé le plus important, dans ce que ce projet nous a apporté, est qu’il
nous a permis d’effectuer une véritable démarche d’ingénieur. En effet, nous avons d’abord trouvé un
problème à résoudre, qui était de stabiliser un ballon-sonde à une altitude choisie. Puis nous avons
effectué des expériences et mis en équation les phénomènes scientifiques que nous avons pu observer.
Nous avons ensuite trouvé des solutions techniques aux problèmes qui nous étaient présentés. Nous
avons aussi eu l’occasion de redémontrer, ou bien de mettre en application expérimentalement ou ma-
thématiquement des phénomènes déjà connus, tels que la poussée d’Archimède, ou bien le principe
fondamental de l’hydrostatique. Ceci correspond bien à l’idée que nous nous faisons du métier d’ingé-
nieur. Bien sûr, notre démarche comprend des limites, telles que celle de l’absence d’expérimentation
finale, nous permettant de vérifier l’efficacité de notre système. De plus, nous n’avons pas pu réali-
ser toutes les expériences nécessaires à la vérification du modèle mathématique et physique que nous
avons mis en place. Mais le travail avec un délai imposé correspond aussi au métier de l’ingénieur. Les
contraintes juridiques que nous avons rencontrées nous ont aussi rappelé le cadre dans lequel travaillent
les professionnels.
Ainsi, il nous reste bien des choses à apprendre sur le métier de l’ingénieur. Mais ce projet nous a
donné la chance de pouvoir nous en approcher, ne serait-ce que très brièvement.
45
Annexe A
Annexe : notions détaillées
A.1 Atmosphère ISA
L’Atmosphère normalisée ISA (International Standard Atmosphere) est un modèle de d’atmo-
sphère normalisée qui indique les caractéristiques de l’atmosphère, afin de faciliter la communication
entre les équipes scientifiques, et permet de standardiser les études faites sur l’atmosphère [29].
A.2 Torricelli
L’expérience de Torricelli, du nom de son inventeur, Evangelista Torricelli, est une expérience
qui a permis de mettre en évidence la pression atmosphérique (on a d’ailleurs créé une unité de
pression, le torr, ou mmHg, en son honneur). Torricelli a réalisé une expérience dans laquelle il a
plongé l’extrémité d’un tuyau rempli de mercure dans une récipient lui aussi rempli de mercure, et a
constaté que le niveau de mercure du tuyau se stabilisait à 0,76 m. Il en a déduit que l’atmosphère
exerçait une pression sur le mercure du récipient, qui s’exerçait alors sur le mercure du tuyau, ce qui
le forçait à "remonter" dans le tuyau. Cette pression est connue comme la pression atmosphérique [1].
A.3 Gaz Parfaits
Un gaz parfait est un modèle simplifié d’un gaz à basse pression, dans lequel on considère que
ses molécules n’interagissent pas entre elles, hormis les collisions qu’elles subissent lors de leurs ren-
contres. Le volume des molécules est aussi négligé, car ce dernier est généralement infiniment petit en
comparaison avec le volume de gaz étudié. Dans ces conditions, le gaz parfait vérifie l’équation :
P V =nRT
avec Pla pression du gaz, Vle volume, nla quantité de matière, Rla constante universelle des gaz
parfaits, et Tla température [12].
A.4 DGAC
La Direction Générale de l’Aviation Civile (DGAC) est l’organisme d’État qui régule et
supervise la mise en circulation des aéronefs et autres objets volants dans le territoire aérien français.
C’est donc à elle que nous devons nous adresser pour obtenir une autorisation de lancer de ballon-
sonde. Il sera plus sûr de passer par l’Université pour faire cette demande, car elle pourra assumer la
responsabilité judiciaire que nous impose la DGAC [32].
46
A.5 Réflecteur radar
Le réflecteur radar (RAdio Detection And Ranging) est, comme son nom l’indique, un dispositif
permettant le renvoi d’ondes radio à l’appareil qui les a émises, afin de faciliter la détection du ballon
par tout aéronef circulant dans ses parages. En effet, les ondes radio, ne pouvant traverser l’aluminium
qui recouvre les parois du réflecteur, sont réfléchies par ces dernières. En raison de la disposition
des parois du réflecteur (des parois à 90˚en trois dimensions), les ondes radio peuvent être renvoyées
directement à l’émetteur.
Figure A.1 – La réflexion des ondes vers l’émetteur se fait quel que soit l’angle d’incidence
A.6 Force d’Archimède
La poussée d’Archimède est un phénomène très important de l’hydrostatique, et fut découverte
par Archimède, au 3ème siècle av. J.-C. L’énoncé de son théorème stipule que :
Tout corps plongé dans un fluide subit, de la part de ce fluide, une poussée verticale, dirigée
de bas en haut, égale au poids du volume de fluide déplacé, et appliquée au centre de gravité
du corps, appelé centre de poussée.
On en déduit la formule suivante :
~πA=−ρfluideVcor psg
Ceci est évidemment applicable au cas du ballon-sonde plongé dans l’air de l’atmosphère terrestre [37].
A.7 1ère loi de Newton
La première loi du mouvement de Newton stipule que :
Tout corps persévère dans son état de repos ou de mouvement rectiligne uniforme, à moins
qu’une force n’agisse sur lui, et le contraigne à changer d’état.
Dans le cadre de l’étude des forces de tension sur l’enveloppe du ballon, on considère que l’enveloppe
(isolée) est immobile ; la somme des forces qui s’exercent sur elle est donc nulle [33].
A.8 Théorème fondamental de l’hydrostatique
Le théorème fondamental de l’hydrostatique, tiré des découvertes de Blaise Pascal, possède
l’énoncé suivant :
47
Dans un liquide en équilibre de masse volumique uniforme, la différence des pressions entre
deux points est égale au poids de la colonne de liquide ayant pour section l’unité de surface,
et pour hauteur la différence de niveau des deux points. Toute pression exercée sur un liquide
se transmet par lui intégralement et dans toutes les directions.
De ceci découle la formule que nous avons utilisée pour l’expérience effectuée :
P2−P1 = ρgh
On notera que cette égalité ne tient pas compte du chemin parcouru par le fluide entre les deux points
étudiés. Seule la différence de hauteur compte [37].
A.9 La conductivité thermique
est une caractéristique propre à chaque matériau, qui indique la quantité de chaleur Q qui se
propage dans le matériau par conduction, c’est-à-dire la capacité du matériau à transférer l’énergie
thermique. Elle est exprimée en W/m.K. Ainsi, plus la valeur de la conductivité thermique est faible,
plus le matériau est un fort isolant thermique. C’est précisément le cas du polystyrène, qui est composée
en grande partie d’air, un excellent isolant thermique [22].
A.10 La loi de Joule
, du nom de James P. Joule, un physicien anglais du XIXesiècle, est une loi qui décrit le comporte-
ment d’un matériau lorsqu’il est traversé par une énergie électrique, en particulier l’effet Joule. Cette
loi donne la relation suivante :
E=RI2t
avec El’énergie thermique libérée par le matériau, Rla résistance électrique du matériau, Il’intensité
du courant qui le traverse, et tle temps [12].
48
Annexe B
Annexe : raisonnements mathématiques
détaillés
B.1 Équation (1.1) : Masse molaire de l’air
On a : MN= 28,02 g/mol,MO2= 32,00 g/mol et MAr = 39,95 g/mol, d’où :
Mair = 0,78MN+ 0,21MO2+ 0,01MAr
= 28,98 g/mol
B.2 Courbe 1.1.3.2 : Accélération de pesanteur en fonction de l’alti-
tude
Avec G= 6,674 ·10−11 ±10−14 m3·kg−1·s−2la constante universelle de gravitation, MT= 5,972 ·1024 ±1021 kg
la masse de la Terre, r= 6371 ±10 km le rayon moyen de la Terre et hl’altitude à partir de ce rayon,
on a :
g(h) = GMT
(r+h)2
B.3 Équation (1.2) : Pression atmosphérique à altitude nulle
Avec matm = (5,1480 ±0.0001) ·1018 kg la masse totale de l’atmosphère, g= 9,81 ±0.05 m ·s−2
l’accélération de pesanteur et rT= 6371 ±10 km le rayon moyen de la Terre, on a :
P0=matmg
4πr2
T
= (9,90 ±0,05) ·104Pa
B.4 Équation (1.3) : Pression atmosphérique de 0 à 11 km
Soient rTle rayon moyen de la Terre, gl’accélération de pesanteur, dm la masse infinitésimale
de la couche d’air enveloppant la Terre sur une hauteur infinitésimale dh à une altitude hdonnée, T
la température à cette altitude, Mair la masse molaire de l’air et Rla constante universelle des gaz
parfaits. En considérant l’ai comme un gaz parfait, on peut dire que :
dP(h) = dmhg
4π(rT+h)2
=−dhPhMg
RTh
49
d’où, en prenant Th=T0−6.5h(avec h en kilomètres) :
dP
dh=−Mg
R(T0−6,5h)Ph
La forme des solutions de cette équation différentielle du premier ordre est, si on prend gconstante :
P(h) = Cste(RT0−6,5Rh)M g
6,5R
=P0(1 −6,5h
T0
)Mg
6,5R
Avec P0= 1013.25 hPa,Mair = 28,98 g/mol,g= 9,81 ±0,05 m ·s−2et R= 8,314 J ·mol−1·K−1et
hen kilomètres, on obtient :
P(h) = 101325(1 −0,023h)5,26 Pa
B.5 Équation (1.4) : Pression atmosphérique de 11 à 20 km
Soient rTle rayon moyen de la Terre, gl’accélération de pesanteur, dm la masse infinitésimale
de la couche d’air enveloppant la Terre sur une hauteur infinitésimale dh à une altitude hdonnée, T
la température à cette altitude, Mair la masse molaire de l’air et Rla constante universelle des gaz
parfaits. En considérant l’ai comme un gaz parfait, on peut dire que :
dP(h) = dmhg
4π(rT+h)2
=−dhPhMg
RTh
En considérant cette fois T=−57 ◦Cconstante, P11 = 21847 Pa la pression à 11 km d’altitude (calculée
grâce à l’expression (1.3)), Mair = 28,98 g/mol,g= 9,81 ±0,05 m ·s−2,R= 8,314 J ·mol−1·K−1et
hen kilomètres, voici la forme des solutions de cette équation différentielle :
P(h) = P11eM g
RT (11−h)
= 21847e0,158(11−h) Pa
B.6 Équation (2.5) : Expression de la force résultante de pression à
l’intérieur du ballon
#»
x
#»
y
#»
z
O×
#»
zΘ
dl
# »
nθΘ
θ
d
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
# »
fint
# »
fext
#»
t
#»
t
PB
Patm
50
La résultante des efforts de pression intérieure # »
Fint est la somme des efforts # »
fint appliqués à chaque
surface infinitésimales dS de normale # »
nθΘ. Ainsi, si chaque surface infinitésimale dS de normale # »
nθΘ
est exprimée comme le produit de deux longueurs infinitésimales dl =d
2dθ et dL =d
2cos θdΘ:
# »
Fint =ZZS
PB
# »
nθΘdS
=PBZπ
2
0Z2π
0
# »
nθΘdLdl
=PBZπ
2
0Z2π
0
(cos θcos Θ #»
x+ sin θ#»
y+ cos θsin Θ #»
z)d
2cos θdΘd
2dθ
=PBZπ
2
0Z2π
0
(sin θ#»
y)d
2cos θdΘd
2dθ
=PB(d
2)2Zπ
2
0
2πsin θcos θdθ #»
y
=PBd2π
2
1
2
#»
y
=PBd2π
4
#»
y
B.7 Équation (2.7) : Résultante des efforts linéiques
On ne connaît pas l’épaisseur de la membrane du ballon. Cependant, on peut exprimer la force #»
T
exercée par la partie inférieure du ballon sur la partie supérieure comme la somme selon le périmètre
du cercle de diamètre ddes efforts linéiques infinitésimaux #»
t:
#»
T=Z2π
0
#»
td
2dΘ
=−tdπ #»
y
B.8 Équation (2.8) : Équilibre des forces
D’après la première loi de Newton, on a :
# »
Fint +
# »
Fext +
#»
T=#»
0
soit, avec PBla pression dans le ballon, dson diamètre, Patm la pression à l’extérieur et tl’effort
linéique infinitésimal exercé par la partie inférieure du ballon sur la partie supérieure :
PBd2π
4
#»
y−Patmd2π
4
#»
y−tdπ #»
y=#»
0
d’où, par projection sur l’axe #»
y:
PB−Patm =4t
d
B.9 Équation (2.9) : Diamètre du ballon en fonction des paramètres
de l’expérience
Soient lla largeur du bassin, Lsa longueur, el’épaisseur du verre le composant, h1la hauteur
de l’eau dans le bassin au cours de l’expérience et h0la hauteur initiale du niveau de l’eau. Alors le
51
volume VBdu ballon s’exprime ainsi :
VB= (l−2e)(L−2e)(h1−h0)
Or le diamètre du ballon se déduit de son volume selon l’expression suivante :
d= (6VB
π)1
3
= (6(l−2e)(L−2e)(h1−h0)
π)1
3
B.10 Incertitude de la grandeur de l’équation (2.10) : Différence de
pression
L’incertitude sur la différence de pression ∆pentre l’intérieur et l’extérieur du ballon est donnée par
la formule suivante, avec ρeau la masse volumique de l’eau, gl’accélération de pesanteur, h2l’altitude
de la surface dans le tube et h1l’altitude de la surface dans le bassin :
δ∆p= ∆ps(δρeau
ρeau
)2+ (δg
g)2+(δh2)2+ (δh1)2
(h2−h1)2
B.11 Équation (2.11) : Diamètre du ballon en fonction de la masse
d’hélium
Soient PBla pression dans le ballon, VBle volume du ballon, nHe le nombre de moles d’hélium
contenues dans le ballon, MHe la masse molaire de l’hélium, Rla constante universelle des gaz parfaits
et Tatm la température de l’air à une altitude donnée. L’hélium étant un gaz parfait, nous pouvons
appliquer la loi des gaz parfaits :
PBVB=nHe RTatm
Ornousavonsvudansl0quation(2.8)que :PB=4t
d+Patm
avec tla tension linéique et dle diamètre du ballon.
Nous pouvons donc exprimer la masse d’hélium mHe contenue dans le ballon ainsi :
mHe =MH e VBPB
RTatm
=MHe VB(4t+dPatm)
RTatmd
=MHe πd2(4t+dPatm )
6RTatm
En approximant la tension linéique tpar t= 150d±10 N/m(comme définit à la fin de la section
2.2.2.2, avec den mètres), on obtient :
mHe =MH e πd2(600d+dPatm )
6RTatm
=MHe πd3(600 + Patm )
6RTatm
En isolant d, on peut ainsi exprimer le diamètre du ballon en fonction de la masse d’hélium initiale
mHe placée dans le ballon :
d=3
s6mHe RTatm
MHe π(600 + Patm)
52
B.12 Équation (2.12) : Rapport poids sur force d’Archimède en fonc-
tion du diamètre
Soit mHe , la masse d’hélium dans le ballon de diamètre det de tension linéique t,mBla masse
de l’enveloppe du ballon, mnla masse de la nacelle, Rla constante universelle des gaz parfaits, Tatm
et Patm respectivement la température et la pression atmosphérique à une altitude donnée et Mair et
MHe les masses volumiques respectives de l’air et de l’hélium. Alors le rapport de la norme du poids
#»
Psur la norme de la force d’Archimède # »
πAs’exprime ainsi :
#»
P
k# »
πAk=mHe
6RTatm
MairPatm πd3+ (mB+mn)6RTatm
MairPatm πd3
=MHe (4t+Patmd)
MairPatm d+(mB+mn)6RTatm
MairPatm πd3
=MHe 4t
MairPatm d+MH e
Mair
+(mB+mn)6RTatm
MairPatm πd3
En approximant la tension linéique tpar t= 150d±10 N/m(comme vu à la fin de la section 2.2.2.2,
avec den mètres), on obtient :
#»
P
k# »
πAk=MHe 600d
MairPatm d+MH e
Mair
+(mB+mn)6RTatm
MairPatm πd3
=MHe 600
MairPatm
+MHe
Mair
+(mB+mn)6RTatm
MairPatm πd3
B.13 Équation (2.13) : Rapport poids sur force d’Archimède en fonc-
tion de la masse d’hélium
Reprenons l’expression du rapport des des forces en fonction du diamètre (équation (2.12)), et
remplaçons ce dernier par son expression en fonction de la masse d’hélium (équation (2.11)) :
#»
P
k# »
πAk=MHe 600
MairPatm
+MHe
Mair
+(mB+mn)6RTatm
MairPatm πd3
=MHe 600
MairPatm
+MHe
Mair
+(mB+mn)6RTatmMH eπ(600 + Patm)
MairPatm π6RTatm
=MHe 600
MairPatm
+MHe
Mair
+(mB+mn)MHe (600 + Patm)
MairPatm
=MHe
Mair
(600
Patm
+1+(mB+mn)(600 + Patm )
Patm
)
=MHe
Mair
(1 + mB+mn
mHe
+600
Patm
(1 + mB+mn
mHe
))
=MHe
Mair
(1 + mB+mn
mHe
)(1 + 600
Patm
)
53
Annexe C
Annexe : programmes détaillés
C.1 Acquisition de la température avec un capteur DS18B20
1// I n c l u s i o n d e l a b i b l i o t h è q u e On eWir e , q u i pe r me t d ’ u t i l i s e r f a c i l e m e n t l e p r o t o c o l e
OneWire
#include <OneWire . h>
3
OneWire ds ( 8) ; // C r é at i o n d ’ un o b j e t O neWi re : i c i , c ap t e u r DS18 B20 s u r l a b or n e 8
5
voi d setup (v oi d )
7{
S e r i a l . b eg i n ( 96 0 0 ) ;
9}
11 voi d l oop ( void )
{
13 byte i ;
b yt e p r e s e n t = 0 ;
15 byte type_s ;
byt e data [ 1 2 ] ;
17 byte ad dr [ 8 ] ;
float celsius ;
19
//REMPLISSAGE DES DONNEES DU LA SORTIE DQ DANS LE TABLEAU addr
21 i f ( ! d s . s ea r ch ( ad dr ) )
{
23 S e r i a l . p r i n t l n ( ) ;
d s . r e s e t _s e a r c h ( ) ;
25 de l ay ( 25 0) ;
return ;
27 }
29
S e r i a l . p r i n t l n ( ) ;
31
// P r é pa r at i o n à l ’ a c q u i s i t i o n d e l a t e mp é ra t ur e
33 d s . r e s e t ( ) ;
ds . s e l e c t ( ad dr ) ;
35 d s . w r it e ( 0 x4 4 , 1 ) ;
37 de l ay ( 10 00 ) ;
39 p r es e n t = d s . r e s e t ( ) ;
ds . s e l e c t ( ad dr ) ;
41 ds . w ri t e (0xBE) ;
43 // A c q u i s i t i o n d e l a te m p ér a t u re d an s l e ta b l e a u da t a
54
for ( i = 0 ; i < 9 ; i ++)
45 {
data [ i ] = ds . re a d ( ) ;
47 }
One Wire : : c rc 8 ( d at a , 8) ;
49
// C on ve rs io n d es d on né es en d e gr é s c e l s i u s
51 int 16_ t raw = ( data [ 1 ] << 8 ) | data [ 0 ] ;
i f (type_s )
53 {
raw = raw << 3 ;
55 i f ( da ta [ 7 ] == 0 x1 0 )
{
57 raw = ( raw & 0xFFF0) + 12 −data [ 6 ] ;
}
59 }
e l s e
61 {
b yt e c f g = ( d a ta [ 4 ] & 0 x6 0 ) ;
63 i f ( cf g == 0 x00 ) raw = raw & ~ 7 ;
e l s e i f ( c fg == 0x20 ) raw = raw & ~ 3;
65 e l s e i f ( c fg == 0x40 ) raw = raw & ~ 1;
}
67 celsius = ( float) r aw / 1 6 . 0 ;
69 // A f f i c h a g e d e l a te m p ér a t ur e
S e r i a l . p r i nt ( " Te mp er at ur e = " ) ;
71 S e r i a l . p r i nt ( c e l s i u s ) ;
S e r i a l . p r i nt ( " C e l s iu s , " ) ;
73 }
C.2 Acquisition de la pression avec un capteur BMP180
1// I n c l u s i o n d e s b i b l i o t h è q u e s
#include <SFE_BMP180 . h>
3#include <W ire . h>
5// C r éat i on d ’ un o b je t SFE_BMP180, co r res p ond a nt au c apt e ur
SFE_BMP180 p r e s s u r e ;
7
//FONCTION D’ACQUISITION DE LA PRESSION
9doub l e g e tP r e s s u r e ( )
{
11 char s t a t u s ;
doub l e T, P, p0 , a ;
13
// I n i t i a l i s a t i o n du c a pt eu r d e te mp ér at ur e
15 s t a t u s = p r e s s u r e . s t a rt T e m pe r a t ur e ( ) ;
i f ( s t a t u s != 0 )
17 {
19 d e la y ( s t a t u s ) ;
21 // A c q u i s i t i o n d e l a te m p ér a t u re
s t a t u s = p r e s s u r e . g et T em p e ra t ur e ( T) ;
23 i f ( s t a t u s != 0 )
{
25
// I n i t i a l i s a t i o n du c a pt eu r d e te mp ér at ur e
55
27 s t a t u s = p r e s s u r e . s t a r t P r e s s u r e ( 3 ) ;
i f ( s t a t u s != 0 )
29 {
31 d e la y ( s t a t u s ) ;
// A c q u i s i t i o n d e l a te m p ér a t u re
33 s t a t u s = p r e s s u r e . g e t P r e s s u r e ( P ,T ) ;
i f ( s t a t u s != 0 )
35 {
return(P) ;
37 }
e l s e S e r i a l . p r i n t l n ( " e r r o r r e t r i e v i n g p r e ss u r e m ea su rem en t\ n" ) ;
39 }
e l s e S e r i a l . p r i n t l n ( " e r r o r s t a r t i n g p r e s s ur e m ea sur em en t\ n" ) ;
41 }
e l s e S e r i a l . p r i n t l n ( " e r r o r r e t r i e v i n g t em pe r at u re me as ur eme nt \n " ) ;
43 }
e l s e S e r i a l . p r i n t l n ( " e r r o r s t a r t i n g t em p er a tu r e m eas ur em ent \ n" ) ;
45 }
47
voi d setup ( )
49 {
// I n i t i a l i s a t i o n du p o rt s é ri e ( o pt i on ne l )
51 S e r i a l . b eg i n ( 96 0 0 ) ;
53 // I n i t i a l i s a t i o n du c a pt eu r
i f ( p r e s s u r e . b e gi n ( ) )
55 S e r i a l . p r i n t l n ( " BMP180 i n i t s u c c e s s " ) ;
e l s e
57 {
S e r i a l . p r i n t l n ( "BMP180 i n i t f a i l ( d i sc on n ec te d ? ) \n\ n" ) ;
59 while( 1) ;
}
61 }
63
voi d l o o p ( )
65 {
doub l e P;
67
// A c q u i s i t i o n d e l a p r e s s i o n
69 P = g e t P r es s u r e ( ) ∗1 00 ; // P re ss i on en P as ca ls
71 // A f f i ch a g e du r é s u l t a t ( o p t io n n e l )
S e r i a l . p r i nt ( " P r e ss i o n : " ) ;
73 S e r i a l . p r i nt (P ) ;
S e r i a l . p r i n t l n ( " Pa" ) ;
75
de l ay ( 50 00 ) ;
77 }
C.3 Acquisition de la pression avec un capteur MPX2200
1// D é f i n i t i o n d e s e n t r é e s a n a l o g i q u e s
c o ns t i n t v o ut 1 = 3 ;
3c o ns t i n t v o ut 2 = 2 ;
5// D é f in i ti on de l a s e n s i b i l i t é du c ap te ur
56
co n st l o ng pmax = 20 0 000 ;
7co n st l o ng pmi n = 0 ;
co n st l o ng tmax = 4 0;
9co n st l ong t mi n = 0 ;
11 // v a r i a b l e s d e t e n s i o n
i n t tension1 ;
13 i n t tension2 ;
15 // d i f f é r e n c e de t e n s io n e t p r e s s i on c o rr e s po n da n t e
i n t tension ;
17 lo n g pression ;
19 voi d setup ( )
{
21 // I n i t i a l i s a t i o n du p o rt s é ri e ( o pt i on ne l )
S e r i a l . b eg i n ( 96 0 0 ) ;
23 }
25 voi d l o o p ( )
{
27 // A c q u i s i t i o n de s t e n s i o n s
t en s io n 1 = map ( analogRead ( vout1 ) , 0 , 1 02 3 , 0 , 5 00 0) ;
29 t en s io n 2 = map ( analogRead ( vout2 ) , 0 , 1 02 3 , 0 , 5 00 0) ;
t e n s i o n = t e n s i on 1 −tension2 ;
31
// C o nv e rt i o n en p r e s s i o n
33 p r e s s i o n = ( ( pmax−pmi n ) / ( tmax−tm in ) ) ∗tension ;
35 // A f f i ch a g e du r é s u l t a t
S e r i a l . p r i nt ( " P r e ss i o n : " ) ;
37 S e r i a l . p r i n t l n ( p r e s s i o n ) ;
S e r i a l . p r i n t l n ( ) ;
39 de l ay ( 50 00 ) ;
}
C.4 Acquisition du niveau de la batterie
// D é f i n i t i o n d e s p i n s d e l e c t u r e an a l o gi q u e
2c o ns t i n t a na l o g1 = 1 ;
c o ns t i n t a na l o g0 = 0 ;
4// C a pa c it é d ’ o r i g i n e de l ’ a c cu m ul a te ur e n m il l i am p èr e −m i l l i s e c o n d e
doub l e c a p a c i t e = 2 2 0 0 . 0 ;
6// R é si s ta n ce
c o ns t i n t r e s i s t a n c e = 1 0 ;
8
// v a r i a b l e s de t e n s i o n ( e n b i n a i r e pu i s en m i l l ia m p è r e s )
10 i n t tension1=0;
i n t b in 1 =0 ;
12 i n t tension2=0;
i n t b in 2 =0 ;
14 // c h ar g e r e s t a n t e
doub l e ch a r g e = c a p a c i t e ;
16 // d i f f é r e n c e de p o t e n t i e l ( t e ns i o n 1 −tension2)
doub l e te n si o n =0 . 0;
18 // c o ur a nt c i r c u l a n t d an s l a r e s i s t a n c e e
doub l e courant ;
20 // temps p re se n t
lo n g temp s =0;
57
22 // d i f f é r e n c e de te mps e n t re 2 m es u re s
doub l e de lta_ t ;
24
voi d setup ( )
26 {
S e r i a l . b eg i n ( 96 0 0 ) ;
28 }
30 voi d l o o p ( )
{
32 // m es u re du te mp s
te mps = m i l l i s ( ) ;
34
// a l e t r e de l a d é ch a rg e
36 i f ( c h a r ge < c a p a c i t e / 1 00 0 )
{
38 S e r i a l . p r i n t l n ( " B a t t e r i e dé c h a rg é e . " ) ;
de la y (3 60 0 00 0) ;
40 return ;
}
42 de l ay ( 50 00 ) ;
44 // l e c t u r e de s t e n s i o n s su r l e s d eux CANs
bin 1 = analogRead ( an al og 1 ) ;
46 bin 2 = analogRead ( an al og 0 ) ;
48 // c o n v e r s io n d e s d o nn é es en t e n s i o n s
t en s io n1 = map( b in1 , 0 ,1 02 3 , 0 , 5 00 0) ;
50 t en s io n2 = map( b in2 , 0 ,1 02 3 , 0 , 5 00 0) ;
// l a m u l t i p l i c a t i o n p ar t r o i s e s t d ue au p on t d i v i s e u r
52 t e n s i o n = ( t e n s i o n1 −tension2 )∗3 ;
c ou r an t = t e n s i on / r e s i s t a n c e ;
54 d el ta _ t = ( m i l l i s ( )−t emp s ) / 10 0 0;
// m i se à j o u r de l a c h a rg e re s t a n t e
56 charge = charge −(courant∗d el ta _t ) / 360 0;
58 // A f f i ch a g e r é s u l t a t s ( o p t io n n e l )
S e r i a l . p r i n t l n ( ) ;
60 S e r i a l . p r i n t l n ( m i l l i s ( ) / 1 00 0 ) ;
S e r i a l . p r i nt ( "T e n s io n 1 : " ) ;
62 S e r i a l . p r i n t l n ( t e ns i o n 1 ) ;
S e r i a l . p r i nt ( " Co ur an t : " ) ;
64 S e r i a l . p r i n t l n ( c o u ra n t ) ;
S e r i a l . p r i nt ( " Ch ar ge r e s t a n t e : " ) ;
66 S e r i a l . p r i n t l n ( c h a rg e ) ;
68 }
C.5 Acquisition des coordonnées GPS
//FONCTION DE CONVERSION DE TABLEAU DE CARACTÈRES DE TYPE ’CHIFFRE ’ EN NOMBRE FLOTTANT
( ex : { ’ 1 ’ , ’0 ’ , ’ . ’ , ’9 ’ } −> 1 0 . 9 )
2doub l e Da ta tr an s fe r ( char ∗tab , c h ar num) / / p a ra m è t re s : t a bl e a u de c a r a c t è r e s , no mbr e d e
c h i f f r e s ap r ès la v i r g ul e d é s i ré )
{
4doub l e temp = 0 . 0; / / v a r i a b l e d e s t o ck a g e du r é s u l t a t
uns i gn ed cha r i , j ;
6
58
i f ( t ab [ 0] == ’−’)// Ca s d es no mb re s n é g a t i f s : o n n e com menc e à l i r e l e s c a r a c t è r e s −
c h i f f r e s qu ’ au r an g 1 ( l e r an g 0 é ta nt l e s i gn e m oin s ) , pu i s on pa ss e l e r é su l t a t
en n é g a t i f
8{
i =1;
10
while( ta b [ i ] != ’ . ’ )/ / aj o ut d es c h i f f r e s avant l a v i r g ul e
12 {
temp=temp∗1 0+( t ab [ i ] −48 ) ; // on v e i l l e à b i en c o n v e r t i r l e co d e A SCII d es
caractères−n om bre s e n l e n omb re l u i −meme ( ’ 0 ’ = 4 8 , d ’ o ù 0= ’ 0 ’ −48)
14 i ++;
}
16
i ++;/ /o n i g n o re l a v i r g u l e
18
for( j = 0; j <num ; j ++)// a j ou t de s c h i f f r e s a p rè s l a v i rg ul e , comme s ’ i l é ta i en t av an t
l a v i r g u l e
20 {
temp=temp∗1 0+( t ab [ i ] −48 ) ;
22 i ++;
}
24
for( j = 0; j <num ; j ++)// d é ca l ag e du nomb re po ur q ue l e s c h i f f r e s q ui d oi v en t e t r e a p rè s
l a v i r g u l e l e s o i e n t
26 {
temp=temp /10 ;
28 }
30 temp=0−temp ; / / p as s a ge e n n ombr e n é g a t i f
}
32
e l s e / / Cas d es no mb re s p o s i t i f s : o n co mmen ce à l i r e l e s c a r a c t è r e s −c h i f f r e s dè s l e
rang 0
34 {
i =0;
36 while( ta b [ i ] != ’ . ’ )/ / aj o ut d es c h i f f r e s avant l a v i r g ul e
{
38 temp=temp∗1 0+( t ab [ i ] −48 ) ;
i ++;
40 }
42 i ++;/ /o n i g n o re l a v i r g u l e
44 for( j = 0; j <num ; j ++)// a j ou t de s c h i f f r e s a p rè s l a v i rg ul e , comme s ’ i l é ta i en t av an t
l a v i r g u l e
{
46 temp=temp∗1 0+( t ab [ i ] −48 ) ;
i ++;
48 }
50 for( j = 0; j <num ; j ++)// d é ca l ag e du nomb re po ur q ue l e s c h i f f r e s q ui d oi v en t e t r e a p rè s
l a v i r g u l e l e s o i e n t
{
52 temp=temp /10 ;
}
54 }
56 return temp ; / / r e to u r du r é s u l t a t
}
58
60 //FONCTION DE REPÉRAGE DE DÉBUT DE CHAINE DE CODE (NMEA) : CETTE FONCTION DETECTE LA
SUITE DE SIGNES "$GPGGA" . MISE EN ATTENTE DU PROGRAMME TANT QUE CETTE SUITE N ’ EST
59
PAS TROUVÉE, P UIS RETOURNE 1 .
char ID ( )
62 {
char i =0;
64 char v al ue [ 6] ={
’ $ ’ ,’G’ ,’ P ’ ,’G ’ ,’G’ ,’A ’ } ; / / c h a in e à r e p é r e r
66 char v al [ 6] ={
’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ } ; / / ch a in e l ue
68
while( 1)
70 {
i f ( S e r i a l . a v a i l a b l e ( ) )
72 {
v al [ i ] = S e r i a l . r ea d ( ) ; / / l e c t u r e du c a r a c t è r e s u r l e p or t s é r i e
74 i f ( v a l [ i]==v a lue [ i ] ) // s ’ i l c o r re s p o nd au c a r a c t è r e d e l a c h ai n e , o n a v an ce au
c a r a c t è r e s u i v a nt . S i no n , o n r ep r e nd l a c o mp a ra i so n d e l a ch a i n e d ep u i s l e dé bu t
po u r l e p r o c ha i n c a r a c t è r e lu su r l e p o rt s é r i e
{
76 i ++;
i f ( i ==6)
78 {
i =0;
80 return 1 ;
}
82 }
e l s e
84 i =0;
}
86 }
}
88
90 //CETTE FONCTION PERMET D’AVANCER DANS LE CODE LU SUR LE PORT SÉRIE JUSQU’À AVOIR
IGNORÉ UN CERTAIN NOMBRE DE VIRGULES, PASSÉ EN PARAMÈTRE : CELA PERMET D ’ACCÉDER
DIRECTEMENT À UNE PARTIE DE L ’INFORMATION D ’UNE CHAINE DE CODE (CHAQUE PAQUET D’
INFORMATION ETANT SÉPARÉ PAR UNE VIRGULE)
voi d comma( c har num) // num e s t l e no mbr e d e v i r g u l e s à i g n o r e r
92 {
char v al ;
94 char c o un t =0 ;
96 while( 1)
{
98 i f ( S e r i a l . a v a i l a b l e ( ) )
{
100 v al = S e r i a l . r e ad ( ) ;
i f ( va l==’,’)
102 count++;
}
104 i f ( coun t==num)
return ;
106 }
108 }
110
//CETTE FONCTION PERMET D ’OBTENIR ET D’AFFICHER L ’HEURE UTC. FORMAT DANS LA CHAINE :
HHMMSS. S SS ( h e ur e HH, m i nu te s MM, s ec o n de s [ p r é c i s i o n en m i l l i −s e c o n d es ] SS . S SS )
112 voi d UTC ( )
{
114 char i =0;
char t im e [1 0] ={
116 ’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’
60
} ;
118 doub l e t=0.0;
i n t m, s ;
120 lo n g h ;
122 i f ( ID ( ) ) //On se p la c e e n dé b u t de c h ai n e
{
124 comma( 1) ; / /L ’ he u re e s t e n de ux i èm e p o s i t i o n d an s l a c h a in e : on i g n o r e l a p r e mi è r e
virgule
126 while( i <10) //On s t o c k e l e s c a r a c t è r e s d e l ’ h e ur e d an s un t a b le a u
{
128 i f ( S e r i a l . a v a i l a b l e ( ) )
{
130 t im e [ i ] = S e r i a l . r e ad ( ) ;
i ++;
132 }
}
134
t=D a ta t r an s fe r ( t im e , 0) ; / / Co n ve r si on d e c e t a bl e a u en un f l o t t a n t r e pr é s e nt a n t l ’
h eu r e ( p r é c i s i o n de l a s e co n de )
136 t= t + 2 0 000 ; / / D éc a la g e a u bo n f u s e au h o r a i r e
h=t /1 00 00; // o b te n ti on de l ’ h eu re
138 t=t−h∗10 00 0 ; // on r e t i r e l ’ h eu re du no mbre t o t a l
m=t / 10 0; / / ob t en t io n de s min ute s
140 t=t−m∗100;/ /on r e t i r e l e s m in ut es du n ombr e t o t a l
s=t ; / / ob t en t io n de s s ec o nd es
142
i f (h>24)/ / S i l ’ a j us t e m en t a u b on f u s e au h o r a i r e d on ne un no mbr e t ro p g ra nd , on l e
réajuste
144 {
h=h −2 4;
146 }
148 // A f fi c ha g e de l ’ h eu re
S e r i a l . p r i nt ( h ) ;
150 S e r i a l . p r i nt ( "h") ;
S e r i a l . p r i nt (m) ;
152 S e r i a l . p r i nt ( "m" ) ;
S e r i a l . p r i nt ( s ) ;
154 S e r i a l . p r i n t l n ( "s") ;
}
156 }
158
//CETTE FONCTION PERMET D ’OBTENIR ET D’AFFICHER LES INFORMATIONS RELATIVES À LA QUALITÉ
DU SIGNAL GPS RECU. FORMAT DE LA CHAINE : F , NN ( a ve c F l e f i x d u s i g n a l GPS e t NN
l e nombre de s a t e l l i t e s ca p té s )
160 voi d qualite_signal ()
{
162 char v al= ’ 0 ’ ;
164
i f ( ID ( ) ) //On se p l ac e en d é b u t de c h ain e
166 {
comma( 6) ; / /L a q u a l i t é du s i g n a l s e t r o uv e en s e pt i è me p o s i t i o n : o n i g n o re 6
virgules
168
// o b t en t i o n e t a f f i c h a g e du f i x
170 S e r i a l . p r i nt ( " f i x q u a l i t y : " ) ;
172 while( v a l != ’ , ’ )
{
61
174 i f ( S e r i a l . a v a i l a b l e ( ) )
{
176 v al = S e r i a l . r e ad ( ) ;
178 i f ( v a l != ’,’)
{
180 S e r i a l . p r i nt ( v a l ) ;
}
182 }
}
184
// o b t en t i o n e t a f f i c h a g e du no mbre d e s a t e l l i t e s
186 S e r i a l . p r i nt ( " ; number o f s a t e l l i t e s : " ) ;
188 va l= ’ 0 ’ ;
190 while( v a l != ’ , ’ )
{
192 i f ( S e r i a l . a v a i l a b l e ( ) )
{
194 v al = S e r i a l . r e ad ( ) ;
196 i f ( v a l != ’,’)
{
198 S e r i a l . p r i nt ( v a l ) ;
}
200 }
}
202
S e r i a l . p r i n t l n ( ) ;
204 S e r i a l . p r i n t l n ( ) ;
206 }
208 }
210 //CETTE FONCTION PERMET D ’OBTEIR ET D ’AFFICHER LA LATITUDE. FORMAT DE LA CHAINE : DDLL.
LLL ( a v ec DD l e s de g ré s , LL . LLL l e s m in u te s )
voi d latitude ()
212 {
char i =0, d egr e , compt =0, v al ;
214 char l a t [ 8] = {
’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’
216 } ;
float latit ;
218
220 i f ( ID ( ) ) //On se p la c e e n dé b u t de c h ai n e
{
222 comma( 2) ; / /La l a t i t u d e se tr o u ve en t r o i s i è m e p o s i t i o n : o n i g n or e 2 v i r g u l e s
224 while( i <8 && com pt<2) // Ta nt qu e l e ta b l e a u n ’ e s t p as r e m p li et qu ’ on n ’ a pa s
d ép a s sé 2 v i r g u l e s ( c a s où i l n ’ y a p as de d on né e s r e çu e s , d an s q u e l c a s on a r r i v e
au p a qu et d ’ i n fo r m a t io n s s u i v an t a va nt d ’ a v o ir co m pl ét é l e t ab l e au )
{
226 i f ( S e r i a l . a v a i l a b l e ( ) ) / /o n r em p l i l e t a b l ea u a ve c l e s co o r do n né e s
{
228 v al = S e r i a l . r e ad ( ) ;
i f ( va l==’,’)
230 {
compt++;
232 }
e l s e
62
234 {
l a t [ i ] = v al ;
236 i ++;
}
238 }
}
240
i f ( com pt <2) // s i i l y a a v ai t d e s d on n ée s ( o n n ’ a pa s d ép a ss é de ux v i r g u l e s )
242 {
l a t i t = D at a tr a ns f er ( l at , 3 ) ; / / c o nv e r si o n du t ab l e au ( DDLL .LLL ) en f l o t t a n t
244 de gr e = l a t i t / 1 00 ; // o bt en t io n des d eg ré s
S e r i a l . p r i nt ( d eg r e , DEC) ; / / a f f i c h a g e de s d e gr é s
246 S e r i a l . p r i nt ( " de g " ) ;
S e r i a l . p r i nt ( l a t i t −100∗de gr e ) ; // a f f i c h a g e s d es m in u te s
248 S e r i a l . p r i nt ( " ’ " ) ;
}
250 e l s e / / s i o n n ’ a p as pu r e mp l i r l e ta b le a u , a ve r t i s se m e n t
{
252 S e r i a l . p r i n t l n ( " No d at a " ) ;
}
254
}
256 }
258 //CETTE FONCTION PERMET D ’OBTENIR ET D’AFFICHER LA DIRECTION DE LA LA LATITUDE . FORMAT
DE LA CHAINE : X (X é ga l à N [ n o r d ] ou S [ sud ] )
voi d l a t _ d i r ( )
260 {
char i = 0, v a l ;
262
i f ( ID ( ) )
264 {
comma( 3) ; / /La l a t i t u d e se tr o u ve en q ua t ri è me p o s i t i on : on i g n o re 3 v i r g u l e s
266 while( 1)
{
268 i f ( S e r i a l . a v a i l a b l e ( ) )
{
270 v al = S e r i a l . r e ad ( ) ; / / on l i t l a d i r e c t i o n
272 i f ( v a l != ’,’)// S i a uc un e d on né e , o n n ’ a f f i c h e pa s l a d i r e c t i o n
{
274 S e r i a l . w r it e ( v a l ) ;
S e r i a l . p r i n t l n ( ) ;
276 }
i ++;
278 }
i f ( i ==1)
280 {
i =0;
282 return ;
}
284 }
}
286 }
288 //CETTE FONCTION PERMET D ’OBTEIR ET D’AFFICHER LA LONGITUDE. FORMAT DE LA CHAINE :
DDDLL .LLL , X ( a v ec DDD l e s d eg r és , LL . LLL l e s m in ut es e t X é g a l à N [ no rd ] o u S [
su d ] )
voi d longitude ()
290 {
char i =0, d egr e , compt =0, v al ;
292 char l o n g i [ 9] = {
’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’
63
294 } ;
float l o n g i t u ;
296
298 i f ( ID ( ) ) //On se p la c e e n dé b u t de c h ai n e
{
300 comma( 4) ; / /L a l o ng i t u d e s e t r ou v e e n c in q u iè m e p o s i t i o n : on i g n o r e 4 v i r g u l e s
302 while( i <9 && com pt<2) // Ta nt qu e l e ta b l e a u n ’ e s t p as r e m p li et qu ’ on n ’ a pa s
d ép a s sé 2 v i r g u l e s ( c a s où i l n ’ y a p as de d on né e s r e çu e s , d an s q u e l c a s on a r r i v e
au p a qu et d ’ i n fo r m a t io n s s u i v an t a va nt d ’ a v o ir co m pl ét é l e t ab l e au )
{
304 i f ( S e r i a l . a v a i l a b l e ( ) ) / /o n r em p l i l e t a b l ea u a ve c l e s co o r do n né e s
{
306 v al = S e r i a l . r e ad ( ) ;
i f ( va l==’,’)
308 {
compt++;
310 }
e l s e
312 {
l o n g i [ i ] = v a l ;
314 i ++;
}
316 }
}
318
i f ( com pt <2) // s i i l y a a v ai t d e s d on n ée s ( o n n ’ a pa s d ép a ss é de ux v i r g u l e s )
320 {
322 l o n g i t u = D a t a t r a n s fe r ( l o n g i , 3 ) ; / / c o nv e r si o n du t ab l e au ( DDDLL. LLL) en f l o t t a n t
d eg r e = l o n g i t u / 1 0 0; // o b te n ti o n de s de g ré s
324 S e r i a l . p r i nt ( d eg r e , DEC) ; / / a f f i c h a g e de s d e gr é s
S e r i a l . p r i nt ( " de g " ) ;
326 S e r i a l . p r i nt ( l o n g it u −100∗d eg re ) ; // a f f i c h a g e d es m i nu te s
S e r i a l . p r i nt ( " ’ " ) ;
328 }
e l s e / / s i o n n ’ a p as pu r e mp l i r l e ta b le a u , a ve r t i s se m e n t
330 {
S e r i a l . p r i n t l n ( " No d at a " ) ;
332 }
334 }
}
336
//CETTE FONCTION PERMET D ’OBTENIR ET D’AFFICHER LA DIRECTION DE LA LA LONGITUDE. FORMAT
DE LA CHAINE : X (X é g a l à E [ e s t ] o u W [ o u e s t ] )
338 voi d lon_dir ( )
{
340 char i = 0, v a l ;
342 i f ( ID ( ) )
{
344 comma( 5) ; / /La l a t i t u d e se tr o u ve en s i x iè m e p o s i t i o n : o n i g n o re 5 v i r g u l e s
while( 1)
346 {
i f ( S e r i a l . a v a i l a b l e ( ) )
348 {
v al = S e r i a l . r e ad ( ) ; / / on l i t l a d i r e c t i o n
350
i f ( v a l != ’,’)// S i a uc un e d on né e , o n n ’ a f f i c h e pa s l a d i r e c t i o n
352 {
S e r i a l . w r it e ( v a l ) ;
64
354 S e r i a l . p r i n t l n ( ) ;
}
356 i ++;
}
358 i f ( i ==1)
{
360 i =0;
return ;
362 }
}
364 }
}
366
//CETTE FONCTION PERMET D ’OBTENIR ET D ’AFFICHER L ’ALTITUDE. FORMAT DE LA CHAINE : HHHHH
.H
368 voi d altitude ()
{
370 char i = 0, v a l= ’ 0 ’ ;
char a l t [ 8] = {
372 ’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’ ,’ 0 ’
} ;
374 float altitude ;
376 i f ( ID ( ) ) //On se p la c e e n dé b u t de c h ai n e
{
378 comma( 9) ; / /L ’ a l t i t u d e s e t r o u ve en d i xi è me p o s i t i o n : o n i g n or e 9 v i r g u l e s
380 while( v a l != ’ , ’ )// t a n t q u ’ o n n ’ a r r i v e p as e n b ou t d u p aq u et d ’ i nf o r m a ti o n , on
r e mp l i t l e t ab l e au
{
382 i f ( S e r i a l . a v a i l a b l e ( ) )
{
384 v al= S e r i a l . r ea d ( ) ;
386 i f ( v a l != ’,’)
{
388 a l t [ i ] = v al ;
i ++;
390 }
}
392 }
394 i f ( i >0)// s i i l y a v a i t des donn é e s ( on a au moins avancé d ’un r a ng dans le ta bl e au )
{
396 a l t i t u d e = D at a t r a ns f e r ( a l t , 1 ) ; / / c on v e rs i on du t a b le a u e n f l o t t a n t
S e r i a l . p r i n t ( a l t i t u d e ) ; //affichage de l ’ altitude
398 S e r i a l . p r i n t l n ( " m") ;
}
400 e l s e / / s i a uc un e d onné e , a ve rt is se me nt
{
402 S e r i a l . p r i n t l n ( " No d at a " ) ;
}
404
}
406 }
408
// INITIALISATION DES PORTS ET ACTIVATION DU MODE GPS
410 voi d setup ( )
{
412 // D é f i n i t i o n d e s p o r t s po ur l e m o du le s GPS/GSM
pi nMod e (3 ,OUTPUT) ;
414 pi nMod e (4 ,OUTPUT) ;
65
pi nMod e (5 ,OUTPUT) ;
416 // A c ti v at io n du mo dule
d i g i t a l W r i t e ( 5 ,HIGH) ;
418 de l ay ( 15 00 ) ;
d i g i t a l W r i t e ( 5 ,LOW) ;
420
// I n i t i a l i s a t i o n du mode GSM
422 d i g i t a l W r i t e ( 3 ,LOW) ; / / En a bl e GSM mode
d i g i t a l W r i t e ( 4 ,HIGH) ; / / Di s ab l e GPS mode
424 de l ay ( 20 00 ) ;
S e r i a l . b eg i n ( 96 0 0 ) ;
426 de l ay ( 50 00 ) ;
S e r i a l . p r i n t l n ( "AT" ) ;
428 de l ay ( 20 00 ) ;
430 // m is e s o us t e ns i o n du mode GPS
S e r i a l . p r i n t l n ( "AT+CGPSPWR=1" ) ;
432 de l ay ( 10 00 ) ;
// r e s e t du mode GPS
434 S e r i a l . p r i n t l n ( "AT+CGPSRST=1" ) ;
de l ay ( 10 00 ) ;
436
// A c ti v at io n du mode GPS
438 d i g i t a l W r i t e ( 4 ,LOW) ; / / En a bl e GPS mode
d i g i t a l W r i t e ( 3 ,HIGH) ; / / Di s ab l e GSM mode
440 de l ay ( 20 00 ) ;
442 S e r i a l . p r i n t l n ( "$GPGGA s t at e me n t i n f o r ma t i o n : " ) ;
S e r i a l . p r i n t l n ( ) ;
444 }
446 //PROGRAMME PRICIPAL : OBTENTION DE LA POSITION GPS
voi d l o o p ( )
448 {
while( 1)
450 {
S e r i a l . p r i nt ( "UTC: " ) ;
452 UTC( ) ;
S e r i a l . p r i nt ( "Signal : ") ;
454 qualite_signal () ;
S e r i a l . p r i nt ( " La t : " ) ;
456 latitude () ;
l a t _ d ir ( ) ;
458 S e r i a l . p r i nt ( "L on : " ) ;
longitude () ;
460 lon_dir () ;
S e r i a l . p r i nt ( " A lt : " ) ;
462 altitude () ;
S e r i a l . p r i n t l n ( ’ ’ ) ;
464 S e r i a l . p r i n t l n ( ’ ’ ) ;
}
466 }
C.6 Envoi d’un SMS
voi d setup ( )
2{
// D é f i n i t i o n d e s p o r t s po ur l e m od ule GPS/GSM
4pi nMod e (3 , OUTPUT) ;
66
pi nMod e (4 , OUTPUT) ;
6pi nMod e (5 , OUTPUT) ;
// A c ti v at io n du mo dule
8d i g i t a l W r i t e ( 5 , HIGH) ;
de l ay ( 15 00 ) ;
10 d i g i t a l W r i t e ( 5 ,LOW) ;
12 // B a sc ul em e nt e n mode GSM
d i g i t a l W r i t e ( 3 , LOW) ;
14 d i g i t a l W r i t e ( 4 , HIGH) ;
de l ay ( 20 00 ) ;
16
// I n i t i a l i s a t i o n po rt s ér i e
18 S e r i a l . b eg i n ( 96 0 0 ) ;
de l ay ( 50 00 ) ;
20 de l ay ( 50 00 ) ;
de l ay ( 50 00 ) ;
22 }
24
voi d l o o p ( )
26 {
28 // E nv o i du SMS
S e r i a l . p r i n t l n ( "AT" ) ;
30 de l ay ( 20 00 ) ;
S e r i a l . p r i n t l n ( "AT" ) ;
32 de l ay ( 20 00 ) ;
// Send m e s s a ge
34 S e r i a l . p r i n t l n ( "AT+CMGF=1" ) ;
de l ay ( 10 00 ) ;
36 S e r i a l . p r i n t l n ( "AT+CMGS=\" 06XXXXXXXX\ " " ) ; //Numéro de té l ép h on e
de l ay ( 10 00 ) ;
38 S e r i a l . p r i nt ( " Me ss ag e à e nv o ye r " ) ;
de l ay ( 10 00 ) ;
40 S e r i a l . w r it e ( 2 6 ) ;
while( 1) ;
42 }
C.7 Réception d’un SMS
i n t l ed pi n = 1 3;
2char i nc h ar ;
4voi d setup ( )
{
6// D é f i n i t i o n d e s p o r t s po ur l e m od ule GPS/GSM
pi nMod e (3 , OUTPUT) ;
8pi nMod e (4 , OUTPUT) ;
pi nMod e (5 , OUTPUT) ;
10
pi nMo de ( l e d pi n ,OUTPUT) ;
12
// I n i t i a l i s a t i o n du p o rt s é ri e
14 S e r i a l . b eg i n ( 96 0 0 ) ;
16 // A c ti v at io n du mo dule
d i g i t a l W r i t e ( 5 ,HIGH) ;
18 de l ay ( 15 00 ) ;
67
d i g i t a l W r i t e ( 5 ,LOW) ;
20
// B a sc ul em e nt e n mode GSM
22 d i g i t a l W r i t e ( 3 ,LOW) ;
d i g i t a l W r i t e ( 4 ,HIGH) ;
24 de l ay ( 20 00 ) ;
de l ay ( 50 00 ) ;
26 de l ay ( 50 00 ) ;
28 // E f f ac e l e s SMS d éj à r e ç us
S e r i a l . p r i n t l n ( "AT+CMGD=1 ,4 " ) ;
30 }
32 voi d l o o p ( )
{
34 i f ( S e r i a l . a v a i l a b l e ( ) >0)
{
36 i n ch a r=S e r i a l . r e ad ( ) ; / / L ir e l a p r em iè re l e t t r e d u sms
38 //A l a r é c e p t i o n d ’ un sm s , l a d e r n i è r e comma nde AT r e ç u e s u r l e po r t s é r i e e s t ’ T I ’
i f ( in ch ar== ’T ’ )
40 {
de l ay ( 10 ) ;
42 i n ch a r=S e r i a l . r e ad ( ) ;
i f ( in cha r==’ I ’ )
44 {
de l ay ( 10 ) ;
46 S e r i a l . p r i n t l n ( "AT+CMGR=1" ) ; / / L i r e l e sms e n mé moi re
de l ay ( 10 ) ;
48 }
}
50 // S i r é c e p t i o n d e ’ LH ’ , a l lu m e l a l e d
// S i r é c e p t i o n de ’ LL ’ , é t e i n t l a l e d
52 e l s e i f ( in ch ar== ’L ’ )
{
54 de l ay ( 10 ) ;
i n ch a r=S e r i a l . r e ad ( ) ; / / L ir e l a d euxi èm e l e t t r e du s ms
56 i f ( in cha r==’H ’ )
{
58 de l ay ( 10 ) ;
d i g i t a l W r i t e ( l e d p in , HIGH ) ; / / al l um e Le d
60 de l ay ( 50 ) ;
S e r i a l . p r i n t l n ( "AT+CMGD=1 ,4 " ) ; / / E f f ac e l e s ms
62 de l ay ( 50 0) ;
}
64 i f ( in cha r==’ L ’ )
{
66 de l ay ( 10 ) ;
d i g i t a l W r i t e ( l e d p in ,LOW) ; // E te i nd L ed
68 de l ay ( 50 ) ;
S e r i a l . p r i n t l n ( "AT+CMGD=1 ,4 " ) ; / / E f f ac e l e SMS
70 de l ay ( 50 0) ;
}
72 }
}
74 }
C.8 Lecture et écriture sur une carte SD
68
//bibliothèques SPI et SD
2#include <S PI . h>
#include <SD. h>
4
// c r é a t i o n d e l ’ o b j e t SD
6F i l e m yF il e ;
8voi d setup ( )
{
10 // i n i t i a l i s a t i o n du po rt s é ri e
S e r i a l . b eg i n ( 96 0 0 ) ;
12 while ( ! S e r i a l )
{
14 }
16 // a c t i v a t i o n du SS du mo du le SD
pi nMod e (1 0 , OUTPUT) ;
18
// i n i t i a l i s a t i o n d e l a c om muni ca tion a ve c l e m odule SD
20 i f ( ! SD . b e g i n ( 1 0 ) )
{
22 S e r i a l . p r i n t l n ( " i n i t i a l i z a t i o n f a i l ed ! " ) ;
return ;
24 }
S e r i a l . p r i n t l n ( " i n i t i a l i z a t i o n done . " ) ;
26
28
30 // o u v er t ur e d ’ un f i c h i e r po ur é c r i t u r e
// s i l e f i c h i e r n ’ e x i s t e pas , i l e s t c ré é
32 m yF il e = SD . o pe n ( " t e s t . t xt " , FILE_WRITE) ;
34 // E c r i t u r e d a ns l e f i c h i e r s i o u v er t u r e c o r r e c t e
i f (myFile )
36 {
m yF il e . p r i n t l n ( " Te xt e à é c r i r e . . . ") ;
38
// s au v eg ar de e t f e rm et ur e du f i c h i e r
40 m yF il e . c l o s e ( ) ;
}
42 e l s e
{
44 S e r i a l . p r i n t l n ( " e r r o r op e ni n g t e s t . t x t " ) ;
}
46
48
50 // O u ve rt u re d ’ un f i c h i e r po ur l e c t u r e
m yF il e = SD . o pe n ( " t e s t . t xt " ) ;
52 // S i o u ve r tu r e , l e c t u r e d u c on t en u
i f (myFile )
54 {
S e r i a l . p r i n t l n ( " t e s t . t x t : " ) ;
56
// T ant q ue d es d on n ée s s o nt d i s p o n i b l e s , on l e s a f f i c h e
58 while ( m yF il e . a v a i l a b l e ( ) )
{
60 S e r i a l . w r it e ( m yF ile . r e ad ( ) ) ;
}
62
// f e rm et ur e du f i c h i e r
69
64 m yF il e . c l o s e ( ) ;
}
66 e l s e
{
68 S e r i a l . p r i n t l n ( " e r r o r op e ni n g t e s t . t x t " ) ;
}
70 }
72 voi d l o o p ( )
{
74
}
70
Annexe D
Annexe : cahier des charges
D.1 Fonction 1 : monter en altitude
Respect de la
législation
Entrer dans la
catégorie « ballon
léger »
Masse totale < 4 kg
Masse d’un lot < 3kg
(si masse surfacique <
13g/cm2), sinon < 2kg
Force nécessaire au dé-
tachement de la nacelle
< 230 N
Obtenir une autorisa-
tion de vol
S’adresser à la Di-
rection de l’Aviation
Civile de la région
concernée
Assurance UPMC
Dispositif passif
(non-motorisé) Ballon
Enveloppe Ballon météorologique
500g
Gaz Non dangereux
(inerte)
Moins dense que l’air
Résistance aux
conditions de vol
Résistance à la
température
Système mécanique Soleil
Condensation
Système électronique
Résistance aux forces
(vent, accélération)
Câble suffisamment so-
lide
Intempéries Départ par beau temps
Visiblité Avions Réflecteur radar
Volatiles Couleur
Table D.1 – Fonction 1 : monter en altitude
71
D.2 Fonction 2 : se stabiliser à une altitude donnée
Conservation de l’alti-
tude
Contrôler la masse de
gaz dans le ballon
Microélectrovanne
Résistance aux
conditions extérieures
sur le long terme
Résistance à la
température
Système mécanique Soleil
Condensation
Système électronique
Résistance aux forces
(vent,accélération)
Câble suffisamment so-
lide
Intempéries Départ par beau temps
Durée de vol Expérience test
Rester dans un rayon
accessible
Ne pas quitter la région
concernée
Prévisibilité des condi-
tions météorologiques
Solution de long terme Durée et conditions in-
déterminées
Table D.2 – Fonction 2 : se stabiliser à une altitude donnée
D.3 Fonction 3 : vérifier l’état de l’expérience
Mesurer l’état du
ballon-sonde
Localisation
Horizontale GPS
Verticale (altitude) Thermomètre
GPS
Capteur de pression
Conditions extérieures Pression Capteur de pression
Température Thermomètre exté-
rieur
État du système
électronique
Thermomètre intérieur
Retour de la fonction-
nalité de chaque appa-
reil
État du système
mécanique
Etirement de l’enve-
loppe
Résistance variable
Point de contact
nacelle-ballon
Force de résistance
Contact
Interprétation des
résultats
Centralisation des
données
Ordinateur embarqué Carte Arduino
Ordinateur au sol Téléphone portable
Calcul Ordinateur Ordinateur au sol
Communication
Stockage des données
Mémoire ordinateur
embarqué
Limitée au programme
Mémoire ordinateur au
sol
Mémoire téléphone
Mémoire externe em-
barqué
Carte SD
Respect de la législa-
tion
Réseau GSM
Retransmission en di-
rect
GSM
Table D.3 – Fonction 3 : Vérifier l’état de l’expérience
72
D.4 Fonction 4 : récupérer le ballon-sonde
Descente Contrôle de la vitesse Parachute
Largage Microélectrovanne
Atterrissage
Amortissement choc
solide
Coussin, structure
Étanchéité Polystyrène
Solidité structure Polystyrène
Localisation
GPS
Visibilité Couleur, lumières
Imagerie GoPro
Contact en cas de perte
Table D.4 – Fonction 4 : récupérer le ballon-sonde
D.5 Fonction 5 : alimenter en énergie
Respect de la
législation
Entrer dans la
catégorie « ballon
léger »
Masse totale < 4 kg
Masse d’un lot < 3kg
(si masse surfacique <
13g/cm2), sinon < 2kg
Force nécessaire au dé-
tachement de la nacelle
< 230 N
Obtenir une autorisa-
tion de vol
S’adresser à la Di-
rection de l’Aviation
Civile de la région
concernée
Assurance UPMC
Dispositif passif
(non-motorisé) Ballon
Enveloppe Ballon météorologique
500g
Gaz Non dangereux
(inerte)
Moins dense que l’air
Résistance aux
conditions de vol
Résistance à la
température
Système mécanique Soleil
Condensation
Système électronique
Résistance aux forces
(vent, accélération)
Câble suffisamment so-
lide
Intempéries Départ par beau temps
Visibilité Avions Réflecteur radar
Volatiles Couleur
Table D.5 – Fonction 5 : alimenter en énergie
73
Bibliographie
[1] (http://www.cnrs.fr/sciencespourtous/abecedaire/pages/torricelli.htm).
[2] (http://www.technologuepro.com/gsm/commande_at.htm).
[3] Arduino :Hardware & Related Initiatives - Navigation, 2012. (http://playground.arduino.
cc/Main/SimilarBoards).
[4] Arduino :Language Reference, 2015. (http://arduino.cc/en/Reference/HomePage).
[5] Arduino :SD Library, 2015. (http://arduino.cc/en/Reference/SD).
[6] Arduino :Serial, 2015. (http://arduino.cc/en/reference/serial).
[7] Arduino :SPI Library, 2015. (http://arduino.cc/en/Reference/SPI).
[8] National Marine Electronics Association :NMEA 0183 Standard, 2012. (http://www.nmea.
org/content/nmea_standards/nmea_0183_v_410.asp).
[9] Massimo Banzi :Démarrez avec Arduino - Principes de base et premiers montages, 2e édition.
Dunod, 2013.
[10] BattoMicro :Choisir et acheter son Arduino pour débuter, 2014. (https://battomicro.
wordpress.com/2014/03/20/tutorial-choisir-et-acheter-son-arduino-pour-debuter/).
[11] Laurent BESSET :Réglementation aérienne pour les ballons libres non habités de la catégorie
léger, 2011. (http://ballonsolaire.pagesperso-orange.fr/reglementation4m.htm).
[12] C.J.ADKINS :Equilibrium Thermodynamics. Cambridge University Press, 1983.
[13] CNES :Ballons Stratosphériques Ouverts (BSO), 2015. (http://www.cnes.fr/web/CNES-fr/
9188-aerostats-ballons-stratospheriques-ouverts-bso-page-1.php).
[14] CNES :Montgolfières InfraRouges (MIR), 2015. (http://www.cnes.fr/web/CNES-fr/
9194-aerostats-montgolfieres-infrarouges-mir-page-1.php).
[15] Raymond COMOLET :Mécanique expérimentale des fluides - 1. Statique et dynamique des
fluides non visqueux, 5e édition. Dunod, 2002.
[16] Conrad :Accu LiIon 3,7 V 2200 mAh Emmerich ICR-18650NH-SP, 2015. (http://www.
conrad.fr/ce/fr/product/251007/Accu-LiIon-37-V-2200-mAh-Emmerich-ICR-18650NH-SP?
ref=list).
[17] C.POMEROL,Y.LAGABRIELLE,M.RENARD et S.GUILLOT :Éléments de géologie,
14ème édition. Dunod, 2011.
[18] Ministère de l’éducation nationale :Les lois de Newton, 2015. (http://eduscol.education.
fr/orbito/orb/meca/meca12.htm).
[19] Centre de Ressources des Technologies pour l’Environnement :Polystyrène expansé (PSE),
2010. (http://www.crtib.lu/Leitfaden/content/FR/116/C463/).
[20] Dale DEPRIEST :NMEA Data, 2012. (http://www.gpsinformation.org/dale/nmea.htm).
[21] D.M.LUDLUM et R.CHABOUD :Photo-guide de la météorologie. Delachaux & Niestle, 2002.
[22] D.MOLLE et P.M.PATRY :RT 2012 et RT existant : Réglementation thermique et efficacité
énergétique, Construction et rénovation. Eyrolles, 2011.
74
[23] F.DAIGNE et D.MOUHANNA :Concepts et Méthodes de la Physique, Polycopié de cours,
Première Partie, 2014.
[24] FFBRA :Fédération Française des Ballons Radioamateurs, 2015. (http://www.ballons.f1psh.
info/index.php/fr/).
[25] Futura Forums :Faire fonctionner une batterie aux très basses
températures, 2008. (http://forums.futura-sciences.com/physique/
269697-faire-fonctionner-une-batterie-aux-tres-basses-temperatures.html).
[26] Google :BALLOON-POWERED INTERNET FOR EVERYONE, 2015. (http://www.google.
com/loon/).
[27] Abidi HATEM :Les commandes AT, 2010. (http://www.technologuepro.com/gsm/commande_
at.htm).
[28] Xavier HINAULT :La carte Arduino Uno, 2013. (http://www.mon-club-elec.fr/pmwiki_
reference_arduino/pmwiki.php?n=Main.MaterielUno).
[29] ICAO :Organisation de l’Aviation Civile Internationale, 2015. (http://www.icao.int/).
[30] Oscar LIANG :Arduino GPS Tutorial - Complete Guide, 2013. (http://blog.oscarliang.net/
arduino-gps-tutorial/).
[31] Vesoul Lycée Belin :Capteur de pression MOTOROLA MPX 2200 AP, 2011. (http://index.
ballonsonde.com/Capt_press/).
[32] du développement durable et de l’énergie Ministère de l’écologie :Transports - Secteur Aérien,
2015. (http://www.developpement-durable.gouv.fr/-Secteur-Aerien,1633-.html).
[33] Isaac NEWTON :Principes mathématiques de la philosophie naturelle (trad. par Emilie du
Chatelet). 1756.
[34] OpenClassrooms :GPS Tracking et Arduino GSM Shield, 2014. (http://openclassrooms.
com/forum/sujet/gps-tracking-et-arduino-gsm-shield).
[35] Yves PELLETIER :Carte SD et Arduino, 2012. (http://electroniqueamateur.blogspot.fr/
2012/06/carte-sd-et-arduino.html).
[36] Yves PELLETIER :Mesurer une température avec un Arduino, 2012. (http://
electroniqueamateur.blogspot.fr/2012/09/mesurer-une-temperature-avec-un-arduino.
html).
[37] P.H.COMMUNAY :La Mécanique des fluides - Dynamique de vie. Groupe de Recherche et
d’édition, 2000.
[38] Raspberry Pi :Pictorial Buying Guide for A, B and B+, 2012. (http://www.raspberrypi.org/
forums/viewtopic.php?f=91&t=83446).
[39] Jean-Marc PIEPLU :GPS et Galileo - Systèmes de navigation par satellite. Eyrolles, 2006.
[40] Radiosonde.eu :Caractéristiques de l’atmosphère, 2015. (http://www.radiosonde.eu/RS09/
RS09D.html).
[41] Radiosonde.eu :La chasse aux radio-sondes, 2015. (http://www.radiosonde.eu/index.html).
[42] Radiosonde.eu :Les enveloppes de ballon-sonde, 2015. (http://www.radiosonde.eu/RS09/
RS09C02.html).
[43] R.DELMAS,G.MEGIE et V.H.PEUCH :Physique et chimie de l’atmosphère. Belin, 2005.
[44] David REY :Interfaces GSM - Montages pour téléphones portables, 2e édition. ETSF, 2010.
[45] Maurice REYNE :Les énergies - Comparaisons techniques et socio-économiques. Lavoisier, 2009.
[46] DF Robot :GPS/GPRS/GSM Module V3.0, 2015. (http://www.dfrobot.com/wiki/index.
php/GPS/GPRS/GSM_Module_V3.0_(SKU:TEL0051)).
[47] Michel ROCHAS : L’invention du ballon-sonde. La Météorologie, (novembre, n˚43), 2003.
75
[48] Planète Sciences :Un Ballon Pour l’École, 2014. (http://www.planete-sciences.org/espace/
-UBPE-).
[49] Freescale Semiconductor :200 kPa On-Chip Temperature Compensated Silicon Pressure
Sensors - MPX2200 Series, 2008. (http://cache.freescale.com/files/sensors/doc/data_
sheet/MPX2200.pdf).
[50] NPX Semiconductors :74HC125 - Product data sheet, 2015. (http://www.nxp.com/
documents/data_sheet/74HC_HCT125.pdf).
[51] NXP Semiconductors :I2C-bus specification and user manual, 2014. (http://www.nxp.com/
documents/user_manual/UM10204.pdf).
[52] Gammon Software Solutions :Power saving techniques for microprocessors, 2012. (http:
//www.gammon.com.au/forum/?id=11497).
[53] Christian Tavernier :Arduino, applications avancées. Dunod, 2012.
[54] Joachim TISAL :Le réseau GSM - Evolutions GPRS, I-Mode et WAP, 4e édition. Dunod, 2003.
[55] TutoArduino :Les cartes SD, 2014. (https://tutoarduino.com/les-cartes-sd/).
[56] Walook :Réalisation de projet Arduino-Ballon-sonde, 2013. (http://walook.fr).
[57] W.C.KAYE et T.H.LABY :Table of Physical and Chemical Constants. Longmans Green, 1966.
76