Processeurs

Si on pouvait trouver un processeur avec tout le hardware nécessaire, ce seul processeur suffirait.
Le projet comporte

  • un processeur pour le calcul en temps réel (un calcul par 20 ms) et tout ce qui est strictement indispensable pour voler.Ce processeur est éventuellement en double, pour la redondance
  • l'interface avec l'utilisateur (UI) fonctionne à une échelle de temps 'humaine' ,utilise probablement un petit processeur Linux.
  • un processeur pour l'interface 'radio' et télémétrie, qui est optionnel pour le module d'émission Jeti TU2

processeur de calcul

Un microprocesseur RP2040, utilisé avec micropython. Il réalise tout ce qui est nécessaire pour voler:

  • lecture des organes de commande avec des DIO et ADC, complété par les mesures de télémétrie. Ainsi toutes les 'mesures' sont rassemblées.
  • envoi vers le processeur d'interface
    • des commandes de menu
    • messages qui encadrent les actions sur un trim (une des 12 combinaisons)
  • dans la mesure où le lcd est géré par ce microprocesseur: affichage de messages envoyés par UI
  • calcul des positions des gouvernes
  • les fichiers sont dans un espace 'flash', pour chaque modèle:
    - le programme
    - le fichier des paramètres
    La durée mesurée d'une boucle est 13,5 ms , dont 9 ms pour le calcul et le solde pour l'acquisition et conversion des mesures.

écriture du programme pour un modèle

Ce programme comporte des instructions en Python, il est généré en répondant à quelques questions. Voir 1. Résumé

redondance du processeur de calcul

Avec une carte de base adaptée on peut commuter:

  • deux processeurs de calcul se partageant une carte de lecture des signaux DIO/ADC
  • deux processeurs de calcul chacun avec sa carte DIO/ADC...mais évidemment avec un dédoublement de tous les fils entre une entrée DIO /ADC et l'organe de commande
    La redondance des transmissions est un autre problème, il faut prévoir un commutateur entre deux récepteurs.

processeur radio

Ce n'est pas strictement nécessaire : les fonctions pour générer le signal PPM sont possibles dans le deuxième core et les PIO du processeur de calcul . De même le processeur UI de type RP2040 gère la télémétrie.
Un processeur indépendant est un atout pour une transmission radio telle que Lora , qui pourrait exiger une programmation en C++( un microprocesseur' est programmé soit en micro-python, soit en C++)

Processeur pour UI

UI est l'interface utilisateur, qui fonctionne en temps réel mais avec l'échelle de temps humaine.
Le choix est un microprocesseur pico avec wifi. Les sons sont fournis par un module Dfplayer qui combine carte sd,processeur et amplificateur.

UI modèle en vol

Les commandes du pilote proviennent des boutons de l'émetteur, à travers du processeur de calcul, décrit plus haut.
Le processeur UI est informé par le processeur de calcul et dicte des messages pour le pilote :

  • commandes pour un menu menu, qui est exceptionnel en vol
    • boutons de manche avec swtrim en bas
    • boutons ba et ba2
  • boutons de trim pour régler en vol jusqu'à 12 paramètres (4 trims et le switch strim )
  • phase de vol avec SW4 + boutons de manche avec swtrim centré
  • bien entendu les organes de commande , sticks et des boutons (diter par exemple chaque modification de switch)
    A noter que la commande menu est toujours accompagnée du 'mode ': vol/sol et accès émetteur/smartphone

L'information du pilote est par l'oreillette et chaque texte dicté est dupliqué sur le lcd (sécurité si l'oreillette est tombée....)

UI émetteur en main / modèle 'au sol'

Le switch 'svol' fait la distinction et sert également de coupure de sécurité pour le moteur.
Les boutons de commande sont identiques aux commandes 'en vol'.
Dans ce mode 'sol' le petit lcd est utilisable avec un menu simple pour des fonctions indispensables au démarrage/arrêt ou fréquemment nécessaires:
- éteindre l'émetteur
- au démarrage:
- affichage du modèle , c'est toujours le dernier modèle utilisé
- batterie: affichage de la tension ou de la capacité disponible ou de la durée d'utilisation disponible
- choisir un autre modèle à utiliser dans une courte liste (liste des modèles emportés...) et redémarrer
- affichage des trims
- affichage des gouvernes
- choisir un paramètre et l'affecter à une combinaison strim/dtrim pour réglage en vol

UI avec smartphone ou laptop

L'émetteur est déposé , allumé et inutilisé.
Son wifi est allumé , un smartphone ou laptop est connecté par wifi à l'émetteur.
Ceci fourni un interface confortable , avec un écran de taille raisonnable et un clavier.

A condition de ne faire des modifications que d'un seul côté à la fois, un copilote peut gérer en vol les modifications par smartphone.
Ce qui est modifié est le fichier des paramètres, qui est dans le processeur de calcul

Simulateur

Quand le laptop n'est pas connecté à l'émetteur, il dispose d'un programme'simulateur' qui permet également de créer un nouveau modèle , de complètement le régler et de consulter la documentation.

Communications

Les messages entre processeurs circulent facilement : calcul<->radio<->UI .
La communication est en chaîne , un processeur situé entre deux processeurs doit avoir deux portes série .
Le protocole (voir etx.py) comporte une validation et admet une longueur indéterminée. Les messages erronés sont perdus.
Du point de vue hardware c'est une communication série, 8 bits sans parité , par UART ou câble USB.
La vitesse peut être importante (ceci sont des vitesses qui ont été testées entre deux pico):

Bauds durée/byte
9600 1,042 ms
115200 86.8µs
460800 21.7 µs
921600 10 µs