Bricolage d'hiver
Posté: Lun 09 Mar, 2015 09:59
Comme il n'y a pas de vacuum sur mon avion et que tous les instruments sont électriques, je trouve intéressante l'idée d'un horizon artificiel en backup indépendant de l'avion. Je regardais les iLevil, Stratus et Garmin GDL-39 3D, etc., mais j'hésitais parce que je trouvais ça très cher. En continuant ma recherche, je suis tombé sur une annonce d'un AHRS (Attitude and Heading Reference System) à 19.95$, comprenant 3 gyroscopes, 3 accéléromètres et 3 magnétomètres. Difficile à croire, mais j'ai compris le prix en voyant que ça demanderait un peu de travail pour pouvoir l'utiliser:
Et en magasinant un peu plus, j'ai trouvé une version qui comprend un altimètre barométrique pour 8$ de plus ( https://www.pololu.com/product/2470 ). Wow.
Comme c'est l'hiver, qu'il fait un froid de canard et que mon hélice est partie à son overhaul, j'ai un peu de temps libre. Pour moins de 30$, je pense que je viens de trouver une manière intéressante de le meubler et, si ça marche, de joindre l'utile à l'agréable. Ce petit bidule peut fournir toute l'information nécessaire pour fournir un backup de l'horizon artificiel, du compas, du DG, de l'altimètre et du VSI. Hmmm. Mais ça va demander un peu de temps. Ok, on passe la commande.
Évidemment, ça prend un processeur pour faire marcher ça. Préférablement un processeur avec une interface I2C intégrée puisque le bidule utilise ce protocole pour communiquer. Une petite recherche rapide m'amène sur un article où on parle du tout nouveau Raspberry Pi 2 qui, pour 35$, fournit un processeur ARMv7 quad-core à 900MHz, 1GB de mémoire et toutes les entrées/sorties nécessaires pour brancher tout ce qu'on peut imaginer dont, et surtout, une interface I2C native ( http://arstechnica.com/information-tech ... -35-price/ ). Moins gros qu'un paquet de cartes à jouer et 35$. Wow, on n'arrête pas le progrès!
Ça prend aussi un écran pour visualiser l'instrument. J'aurais pu me contenter d'un petit écran de 2" ou 3" mais bon, j'aime bien le format du Garmin Aera. Je commande donc un écran tactile de 5".
Et ça prend un programme pour faire fonctionner tout ça. Comme le Pi roule une version de Unix, c'est assez conventionnel comme programmation mais c'est pas vraiment réaliste de programmer directement sur le bidule parce que bien que ça soit assez puissant comme processeur, c'est loin d'un processeur d'ordinateur de bureau heavy duty. Pour pouvoir travailler sur un ordinateur, c'est pas mal plus simple si cet ordinateur roule Unix également. J'ai donc installé VMWare Player sur mon ordinateur Windows 8.1 et j'ai installé Ubuntu 14 dans cette machine virtuelle. Après beaucoup de taponnage, j'avais un compilateur croisé (cross-compiler) permettant de générer du code pour le Pi à partir de l'ordinateur et QTCreator, un environnement de développement C++ multi-plate-forme, configuré et capable de compiler les programmes pour le Pi et de les déployer et les exécuter directement sur le Pi (vraiment génial ce setup). Et tous ces outils sont complètement gratuits (VMWare Player, Ubuntu 14, Qt5, QtCreator, etc.)
Reste maintenant à faire le programme.
Les données brutes du AHRS sont des accélérations qu'il faut intégrer numériquement pour arriver à déduire l'orientation du circuit et compenser avec les données du magnétomètres pour éliminer la dérive. Pas extrêmement complexe mais ça m'a forcé à fouiller dans mes anciens livres de maths pour rafraîchir mes quaternions.
Finalement, il faut programmer un affichage de l'attitude mesurée. Je me suis inspiré du RC Allen RCA2600 pour programmer un look similaire:
Finalement, voici le premier prototype:
À ma grande surprise, c'est extrêmement stable et précis. On voit le AHRS sur le breadboard (le circuit à l'extrême droite). Il va rester à ajouter l'altitude et le cap magnétique sur l'affichage (à la Garmin G1000 avec des rubans) et de trouver une manière intelligente d'entrer le calage altimétrique et ça sera complet pour l'AHRS.
Et on verra pour la suite. Le circuit juste en haut de l'AHRS est justement un GPS WAAS de la taille d'une pièce de 2$. Un coup parti, autant avoir la position, la track GPS, la vitesse sol, etc.
Finalement, il restera à ajouter une pile (c'est un instrument de backup après tout, il doit être autonome), un circuit de charge et un régulateur de voltage pour brancher ça dans l'allume cigarette de l'avion. Et un boîtier en plastique par impression 3D pour loger tout ça. J'envisage que ça aura le format d'un Garmin Aera, mais plus mince.
C'est quand même incroyable qu'il soit possible d'assembler ce genre de chose à la maison et pour une poignée de dollars. Vive la technologie!
Et en magasinant un peu plus, j'ai trouvé une version qui comprend un altimètre barométrique pour 8$ de plus ( https://www.pololu.com/product/2470 ). Wow.
Comme c'est l'hiver, qu'il fait un froid de canard et que mon hélice est partie à son overhaul, j'ai un peu de temps libre. Pour moins de 30$, je pense que je viens de trouver une manière intéressante de le meubler et, si ça marche, de joindre l'utile à l'agréable. Ce petit bidule peut fournir toute l'information nécessaire pour fournir un backup de l'horizon artificiel, du compas, du DG, de l'altimètre et du VSI. Hmmm. Mais ça va demander un peu de temps. Ok, on passe la commande.
Évidemment, ça prend un processeur pour faire marcher ça. Préférablement un processeur avec une interface I2C intégrée puisque le bidule utilise ce protocole pour communiquer. Une petite recherche rapide m'amène sur un article où on parle du tout nouveau Raspberry Pi 2 qui, pour 35$, fournit un processeur ARMv7 quad-core à 900MHz, 1GB de mémoire et toutes les entrées/sorties nécessaires pour brancher tout ce qu'on peut imaginer dont, et surtout, une interface I2C native ( http://arstechnica.com/information-tech ... -35-price/ ). Moins gros qu'un paquet de cartes à jouer et 35$. Wow, on n'arrête pas le progrès!
Ça prend aussi un écran pour visualiser l'instrument. J'aurais pu me contenter d'un petit écran de 2" ou 3" mais bon, j'aime bien le format du Garmin Aera. Je commande donc un écran tactile de 5".
Et ça prend un programme pour faire fonctionner tout ça. Comme le Pi roule une version de Unix, c'est assez conventionnel comme programmation mais c'est pas vraiment réaliste de programmer directement sur le bidule parce que bien que ça soit assez puissant comme processeur, c'est loin d'un processeur d'ordinateur de bureau heavy duty. Pour pouvoir travailler sur un ordinateur, c'est pas mal plus simple si cet ordinateur roule Unix également. J'ai donc installé VMWare Player sur mon ordinateur Windows 8.1 et j'ai installé Ubuntu 14 dans cette machine virtuelle. Après beaucoup de taponnage, j'avais un compilateur croisé (cross-compiler) permettant de générer du code pour le Pi à partir de l'ordinateur et QTCreator, un environnement de développement C++ multi-plate-forme, configuré et capable de compiler les programmes pour le Pi et de les déployer et les exécuter directement sur le Pi (vraiment génial ce setup). Et tous ces outils sont complètement gratuits (VMWare Player, Ubuntu 14, Qt5, QtCreator, etc.)
Reste maintenant à faire le programme.
Les données brutes du AHRS sont des accélérations qu'il faut intégrer numériquement pour arriver à déduire l'orientation du circuit et compenser avec les données du magnétomètres pour éliminer la dérive. Pas extrêmement complexe mais ça m'a forcé à fouiller dans mes anciens livres de maths pour rafraîchir mes quaternions.
Finalement, il faut programmer un affichage de l'attitude mesurée. Je me suis inspiré du RC Allen RCA2600 pour programmer un look similaire:
Finalement, voici le premier prototype:
À ma grande surprise, c'est extrêmement stable et précis. On voit le AHRS sur le breadboard (le circuit à l'extrême droite). Il va rester à ajouter l'altitude et le cap magnétique sur l'affichage (à la Garmin G1000 avec des rubans) et de trouver une manière intelligente d'entrer le calage altimétrique et ça sera complet pour l'AHRS.
Et on verra pour la suite. Le circuit juste en haut de l'AHRS est justement un GPS WAAS de la taille d'une pièce de 2$. Un coup parti, autant avoir la position, la track GPS, la vitesse sol, etc.
Finalement, il restera à ajouter une pile (c'est un instrument de backup après tout, il doit être autonome), un circuit de charge et un régulateur de voltage pour brancher ça dans l'allume cigarette de l'avion. Et un boîtier en plastique par impression 3D pour loger tout ça. J'envisage que ça aura le format d'un Garmin Aera, mais plus mince.
C'est quand même incroyable qu'il soit possible d'assembler ce genre de chose à la maison et pour une poignée de dollars. Vive la technologie!