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
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).
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.
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!!
-
Fig. 4: Fenêtre du RP2040
-
Fig. 5: Glissé déposé du fichier .uf2
Auteur: Nicolas VERDIER et Paul MIAILHE pour BerryRocket.com
Licence: CC-BY-NC 4.0