« BR Mini Avionic » : différence entre les versions

De BerryRocket
Aucun résumé des modifications
 
(13 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
<gallery mode="packed" heights="180">
[[Fichier:AssemblageElectronique 2023-Nov-12 09-33-20PM-000 CustomizedView44942476123.png|333x333px|centre|sans_cadre]]
 
</gallery>


== Généralités ==
== Généralités ==
La Berry Rocket Mini-Avionic est un ensemble de 3 cartes permettant d'acquérir et d'enregistrer les paramètres de vol d'une minifusée et de déclencher le déploiement de son parachute en pilotant un servocommande (voir wiki de la Mini Origin). On distingue :
La Berry Rocket Mini-Avionic est un ensemble de 3 cartes (fig. 1) permettant d'acquérir et d'enregistrer les paramètres de vol d'une minifusée et de déclencher le déploiement de son parachute en pilotant un servocommande (voir wiki de la Mini Origin). On distingue:
* Un ordinateur de bord (OBC) basé sur une  carte [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] agissant comme le cerveau de la fusée  
* Un ordinateur de bord (OBC) basé sur une  carte [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] agissant comme le cerveau de la fusée  
* Une carte [[BR Interface]] permettant de ce recevoir cet OBC et faire le lien entre les différents périphériques  
* Une carte [[BR Interface]] permettant de ce recevoir cet OBC et faire le lien entre les différents périphériques  
Ligne 14 : Ligne 12 :
* Altitude à l'aide d'un capteur de pression statique
* Altitude à l'aide d'un capteur de pression statique
* Température
* Température
 
[[Fichier:AssemblageElectronique v7.png|centré|vignette|435x435px|Fig. 1: Les 3 cartes composant l'ensemble Berry Mini Avionic]]
La carte [[BR Interface]] permet également à l'utilisateur de piloter jusqu'à 3 servomoteurs en mode PWM et d'utiliser des capteurs ou actionneurs externes grâce aux bus l'UART et I2C disponibles sur des connecteurs dédiés. Un buzzer produit également des mélodies informant de l'état de la fusée. Un connecteur spécifique permet enfin d'alimenter la pile de 3 cartes avec un pack batterie LiPo de 7.2V.
La carte [[BR Interface]] permet également à l'utilisateur de piloter jusqu'à 3 servomoteurs en mode PWM et d'utiliser des capteurs ou actionneurs externes grâce aux bus UART et I2C disponibles sur des connecteurs dédiés. Un buzzer produit également des mélodies informant de l'état de la fusée. Un connecteur spécifique permet enfin d'alimenter la pile de 3 cartes avec un pack batterie LiPo de 7.4V 2S 600mAh. Les dimensions du pack batterie sont précisées ci-dessous (Fig. 2).
[[Fichier:Battery mini.png|centré|Fig. 2: Batterie LiPo utilisée pour alimenter la Berry Avionic. Il est important d'utiliser un modèle respectant les dimensions indiquées.|vignette|402x402px]]


== Schématique ==
== Schématique ==
Le schéma du [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] est disponible sur le WEB et ses caractéristiques largement détaillées sur le site de la fondation Raspberry. La figure ci-dessous indique toutefois les lignes qui sont exploitées par la [[BR Interface]] et la  [[BR Mini Sensor]] lorsque les cartes sont assemblées pour constituer la BR Mini Avionic
Le schéma du [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] est disponible sur le WEB et ses caractéristiques largement détaillées sur le site de la fondation Raspberry. La figure ci-dessous indique toutefois les lignes qui sont exploitées par la [[BR Interface]] et la  [[BR Mini Sensor]] lorsque les cartes sont assemblées pour constituer la BR Mini Avionic.
[[Fichier:Pico pinout.png|centré|sans_cadre|776x776px|Fig. 1 : Utilisation des broches du Raspberry Pico dans l'assemblage BR Avionic]]
[[Fichier:Pico pinout.png|centré|Fig. 3: Utilisation des broches du Raspberry Pico dans l'assemblage BR Mini Avionic|vignette|706x706px]]


== Assemblage ==
== Assemblage ==
Lors de l'assemblage du stack BR Rocket Avionic, il est important de '''<u>bien repérer le sens des cartes</u>''' (voir Fig. 2 et 3.).
Lors de l'assemblage du stack BR Rocket Avionic, il est important de '''<u>bien repérer le sens des cartes</u>''' (voir Fig. 1).


=== Assemblage de la version basique (sans la carte [[BR Mini Sensor]]) ===
=== Assemblage de la version basique (sans la carte [[BR Mini Sensor]]) ===
Dans cette configuration, seules les cartes [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] et [[BR Interface]] sont utilisées. Pour détecter le décollage de la fusée on exploite le signal issu de l'accéléro-contact de la  [[BR Interface]]  connecté à l'entrée GP28 du Raspberry. Le pilotage du servocommande permettant d'ouvrir la trappe contenant le parachute s'effectue alors après un temps préprogrammé dans le code de la [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] . Ce temps de culmination est défini à partir d'un outil de prévision de vol comme Stabtraj.
Dans cette configuration, seules les cartes [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] et [[BR Interface]] sont utilisées. Pour détecter le décollage de la fusée on exploite le signal issu de l'accéléro-contact de la  [[BR Interface]]  connecté à l'entrée GP28 du Raspberry (GP_ACC). Le pilotage du servocommande permettant d'ouvrir la trappe contenant le parachute s'effectue alors après un temps préprogrammé dans le code de la [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] . Ce temps de culmination est défini à partir d'un outil de prévision de vol comme [https://www.planete-sciences.org/espace/IMG/xlsx/stabtraj_v3-4.2-2.xlsx Stabtraj].


=== Assemblage de la version complète (avec la carte [[BR Mini Sensor]]) ===
=== Assemblage de la version complète (avec la carte [[BR Mini Sensor]]) ===
Dans cette configuration, on ajoute à la version basique la carte [[BR Mini Sensor]] (ou un équivalent) . Pour détecter l'instant de culmination de la fusée et piloter le servocommande qui va ouvrir la trappe du parachute, on exploite dans ce cas les informations produites par les capteurs d'accélération ou d'altitude. Il reste toutefois possible d'exploiter l'accéléro-contact pour avoir un système d'ouverture redondant.
Dans cette configuration, on ajoute à la version basique la carte [[BR Mini Sensor]] (ou un [https://www.waveshare.com/pico-10dof-imu.htm équivalent]) . Pour détecter l'instant de culmination de la fusée et piloter le servocommande qui va ouvrir la trappe du parachute, on exploite dans ce cas les informations produites par les capteurs d'accélération ou d'altitude. Il reste toutefois possible d'exploiter l'accéléro-contact pour avoir un système d'ouverture redondant.


== Mise sous tension & Tests ==
== Mise sous tension & Tests ==
La BerryRocket Mini-Avionic peut se programmer en Python ou en C/C++. Le Python est facilement accessible et permet de créer un programme rapidement à partir de nos exemples. Le C/C++ permet d'optimiser les performances du code pour échantillonner plus rapidement les capteurs par exemple.
La BerryRocket Mini Avionic peut se programmer en Python ou en C/C++. Le Python est facilement accessible et permet de créer un programme rapidement à partir de nos exemples. Le C/C++ permet d'optimiser les performances du code pour échantillonner plus rapidement les capteurs par exemple.


* Dans sa version de base (sans la carte [[BR Mini Sensor]]), c'est une minuterie qui va décider de l'instant ou le servocommande sera piloté  Vous pouvez télécharger un code exemple en Python (Basic_main.py) permettant de détecter le décollage de la fusée et de piloter le système de récupération (ouverture de la trappe parachute).
* Dans sa version de base (sans la carte [[BR Mini Sensor]]), c'est une minuterie qui va décider de l'instant ou le servocommande sera piloté  Vous pouvez télécharger un code exemple en Python (Basic_main.py) permettant de détecter le décollage de la fusée et de piloter le système de récupération (ouverture de la trappe parachute).
* Dans le cas de la version complète, on pourra exploiter les données de l'accéléromètre 3 axes pour détecter l'instant du décollage ou du capteur de pression pour déterminer directement la culmination. Dans ce cas, il faut pouvoir échantillonner les différents capteurs. Un exemple de code (Berry_sensors_test.py) permettant la lecture des capteurs de la carte [[BR Mini Sensor]] est partagé sur notre Git. Il vous appartiendra de l'adapter à votre besoin notamment pour enregistrer les valeurs dans un fichier et les exploiter après vol. Avec ce type de capteurs, il est possible de restituer la trajectoire en 3D de la fusée au cours de son vol.
* Dans le cas de la version complète, on pourra exploiter les données de l'accéléromètre 3 axes pour détecter l'instant du décollage ou du capteur de pression pour déterminer directement la culmination. Dans ce cas, il faut pouvoir échantillonner les différents capteurs. Un exemple de code (Berry_sensors_test.py) permettant la lecture des capteurs de la carte [[BR Mini Sensor]] est partagé sur notre Git. Il vous appartiendra de l'adapter à votre besoin notamment pour enregistrer les valeurs dans un fichier et les exploiter après vol. Avec ce type de capteurs, il est possible de restituer la trajectoire en 3D de la fusée au cours de son vol.
Si vous choisissez de programmer votre carte en [https://micropython.org/ MicroPython] (recommandé) vous devez alors télécharger [https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2 ce fichier .uf2] (mis à disposition sur le site [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] ) et le glisser-déposer dans la fenêtre (Fig. 4 et 5). Le [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] se réinitialise automatiquement et vous pouvez alors y déposer votre premier programme de test. Il existe de nombreux environnement de développement pour les cartes basées sur la puce [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pico] mais [https://thonny.org/ Thonny] est sans doute à privilégier si vous débutez. Bonne programmation!!<gallery mode="packed" heights="180">
Fichier:Micro60.png|Fig. 4: Fenêtre du RP2040
Fichier:Micro61.png|Fig. 5: Glissé déposé du fichier .uf2
</gallery>
''Auteur'': ''Nicolas VERDIER et Paul MIAILHE pour [https://berryrocket.com/ BerryRocket.com]''
''Licence:'' [https://creativecommons.org/licenses/by-nc/4.0/deed.fr CC-BY-NC 4.0]

Dernière version du 4 août 2024 à 06:10

Généralités

La Berry Rocket Mini-Avionic est un ensemble de 3 cartes (fig. 1) permettant d'acquérir et d'enregistrer les paramètres de vol d'une minifusée et de déclencher le déploiement de son parachute en pilotant un servocommande (voir wiki de la Mini Origin). On distingue:

  • Un ordinateur de bord (OBC) basé sur une carte Raspberry Pico agissant comme le cerveau de la fusée
  • Une carte BR Interface permettant de ce recevoir cet OBC et faire le lien entre les différents périphériques
  • Une carte BR Mini Sensor ou Pico 10DOF optionnelle permettant de mesurer les paramètres de vol de la fusée

Dans sa configuration complète (avec la carte BR Mini Sensor), l'ensemble BR Mini Avionic permet d'accéder aux paramètres suivants:

  • Accélération sur 3 axes
  • Vitesse angulaire sur 3 axes
  • Altitude à l'aide d'un capteur de pression statique
  • Température
Fig. 1: Les 3 cartes composant l'ensemble Berry Mini Avionic

La carte BR Interface permet également à l'utilisateur de piloter jusqu'à 3 servomoteurs en mode PWM et d'utiliser des capteurs ou actionneurs externes grâce aux bus UART et I2C disponibles sur des connecteurs dédiés. Un buzzer produit également des mélodies informant de l'état de la fusée. Un connecteur spécifique permet enfin d'alimenter la pile de 3 cartes avec un pack batterie LiPo de 7.4V 2S 600mAh. Les dimensions du pack batterie sont précisées ci-dessous (Fig. 2).

Fig. 2: Batterie LiPo utilisée pour alimenter la Berry Avionic. Il est important d'utiliser un modèle respectant les dimensions indiquées.

Schématique

Le schéma du Raspberry Pico est disponible sur le WEB et ses caractéristiques largement détaillées sur le site de la fondation Raspberry. La figure ci-dessous indique toutefois les lignes qui sont exploitées par la BR Interface et la BR Mini Sensor lorsque les cartes sont assemblées pour constituer la BR Mini Avionic.

Fig. 3: Utilisation des broches du Raspberry Pico dans l'assemblage BR Mini Avionic

Assemblage

Lors de l'assemblage du stack BR Rocket Avionic, il est important de bien repérer le sens des cartes (voir Fig. 1).

Assemblage de la version basique (sans la carte BR Mini Sensor)

Dans cette configuration, seules les cartes Raspberry Pico et BR Interface sont utilisées. Pour détecter le décollage de la fusée on exploite le signal issu de l'accéléro-contact de la BR Interface connecté à l'entrée GP28 du Raspberry (GP_ACC). Le pilotage du servocommande permettant d'ouvrir la trappe contenant le parachute s'effectue alors après un temps préprogrammé dans le code de la Raspberry Pico . Ce temps de culmination est défini à partir d'un outil de prévision de vol comme Stabtraj.

Assemblage de la version complète (avec la carte BR Mini Sensor)

Dans cette configuration, on ajoute à la version basique la carte BR Mini Sensor (ou un équivalent) . Pour détecter l'instant de culmination de la fusée et piloter le servocommande qui va ouvrir la trappe du parachute, on exploite dans ce cas les informations produites par les capteurs d'accélération ou d'altitude. Il reste toutefois possible d'exploiter l'accéléro-contact pour avoir un système d'ouverture redondant.

Mise sous tension & Tests

La BerryRocket Mini Avionic peut se programmer en Python ou en C/C++. Le Python est facilement accessible et permet de créer un programme rapidement à partir de nos exemples. Le C/C++ permet d'optimiser les performances du code pour échantillonner plus rapidement les capteurs par exemple.

  • Dans sa version de base (sans la carte BR Mini Sensor), c'est une minuterie qui va décider de l'instant ou le servocommande sera piloté Vous pouvez télécharger un code exemple en Python (Basic_main.py) permettant de détecter le décollage de la fusée et de piloter le système de récupération (ouverture de la trappe parachute).
  • Dans le cas de la version complète, on pourra exploiter les données de l'accéléromètre 3 axes pour détecter l'instant du décollage ou du capteur de pression pour déterminer directement la culmination. Dans ce cas, il faut pouvoir échantillonner les différents capteurs. Un exemple de code (Berry_sensors_test.py) permettant la lecture des capteurs de la carte BR Mini Sensor est partagé sur notre Git. Il vous appartiendra de l'adapter à votre besoin notamment pour enregistrer les valeurs dans un fichier et les exploiter après vol. Avec ce type de capteurs, il est possible de restituer la trajectoire en 3D de la fusée au cours de son vol.

Si vous choisissez de programmer votre carte en MicroPython (recommandé) vous devez alors télécharger ce fichier .uf2 (mis à disposition sur le site Raspberry Pico ) et le glisser-déposer dans la fenêtre (Fig. 4 et 5). Le Raspberry Pico se réinitialise automatiquement et vous pouvez alors y déposer votre premier programme de test. Il existe de nombreux environnement de développement pour les cartes basées sur la puce Raspberry Pico mais Thonny est sans doute à privilégier si vous débutez. Bonne programmation!!


Auteur: Nicolas VERDIER et Paul MIAILHE pour BerryRocket.com

Licence: CC-BY-NC 4.0