Quad 250 : (2) FPV et OSD avec Micro MinimOSD

Dans ce second article sur le montage du Nighthawk 250 on va se focaliser précisément sur le système FPV.

Avant de commencer, reportez vous aux précédents articles pour connaitre la liste des pièces et les premières phases du montage.

Un petit rappel rapide, le FPV (First Person View) est un système de transmission vidéo permettant principalement le pilotage en immersion. On voit en quelque sorte avec les yeux du drone et ça permet de faire beaucoup de choses (pilotage hors ligne de vue, retransmission sur écran, etc.).

Ça va ressembler a ça à la fin (en moins bien piloté bien sûr) :

NB : les liens vers des produits ci-dessous sont purement informatifs, il y’a énormément de systèmes a tous les prix.

Principes de base du FPV

Le système FPV se compose essentiellement de :

On remarquera que les éléments utilisés ici, sur le quad fonctionnent en 12V.

Il existe également des caméras et des transmetteurs FPV 5V. Si on veut pas se compliquer la vie on évite de mélanger. Un système 12V permet en général une alimentation directe depuis la batterie LiPO 3S, sans devoir convertir la tension.

Voici à quoi ressemble un montage FPV basique :

Schéma FPV basique
Schéma FPV basique

Simple non ?

Sauf que voila, avoir juste le retour vidéo c’est bien sympa mais on veut aller un peu plus loin.

Pour cela on va utiliser un module OSD (On Screen Display) permettant d’ajouter des informations dans le flux vidéo FPV.

Module OSD

Il existe plusieurs modules OSD sur le marché. Certains spécifiques aux modèles de contrôleur de vol et d’autres plus génériques. Notre choix se porte pour ce montage sur un module MinimOSD Micro.

MICRO-MINIMOSD-Minim-OSD-Mini-OSD-W-KV-TEAM-MOD-For-APM-PIXHAWK-Naze32
Micro MinimOSD avec les pins déjà soudés

C’est un module minuscule (15mmx15mm) basé sur une puce Atmega328P et bootloader Arduino (en somme c’est un Arduino). Il a le mérite d’être très disponible et pas cher, comptez 10$ environ.

Il dispose de plusieurs firmwares alternatifs et peut-être utilisé avec beaucoup de contrôleurs de vol (Ardupilot, MultiWii, Naze32, CC3D, Pixhawk, etc.). En général il est livré avec le firmware KV Team Mod.

La version micro a l’avantage de la taille (3 fois plus petit que le « normal »), par contre pas de régulateur de courant. Il va falloir l’alimenter en 5V.

Ce module se place en coupure sur le flux vidéo et ajoute des informations issues de la batterie (tension),  du contrôleur de vol (moteurs armés/désarmés, cap, orientation, mode de vol, etc.) mais également des informations qu’il génère tout seul (temps de vol, alertes pré-définies, etc).

On va d’abord parler de l’installation puis on verra le paramétrage.

Préparation

Pour ce montage un certain nombre d’outils et logiciels sont indispensables :

Dans les basiques :

  • Fer à souder
  • Fil type servo (pour effectuer les connexions & raccords)
  • Gaine thermo-retractable (pour travailler proprement et éviter les courts-circuits :))
  • Connecteurs Dupont femelle (super-pratique)

Pour la programmation du MinimOSD :

Cablâge

Notre schéma FPV simple va quelque peu évoluer pour intégrer le module Micro MinimOSD. Le module se présente de cette façon, en fonction de ce que vous avez acheté il aura des pins déjà soudés ou alors il faudra souder soi-même :

MinimOSD Micro
MinimOSD Micro

Sur l’image ci-dessus, on repère les groupes de connecteurs suivants :

  • en haut : l’interface série (programmation du module et connexion au FC)
  • en bas : les sondes (2 sondes batterie, RSSI)
  • à gauche : entrée et sortie vidéo
  • a droite : alimentation du module (qui n’est pas indispensable si on alimente via l’interface série)

On remarque de suite qu’il n’y a pas d’alimentation pour la vidéo (seulement entrée/sortie signal et ground). On va devoir bricoler quelque chose pour alimenter la caméra et le transmetteur FPV 🙂

Voici mon schéma de montage dérivé du modèle FPV simple :

nigthhawk250-minimosd-schema

Les quelques remarques :

  • La connexion serie se fait sur l’UART2 du contrôleur Naze32 (on vérifiera qu’il est bien activé dans l’interface de Cleanflight). Un tour dans la notice du contrôleur est indispensable pour bien repérer les différents connecteurs et possibilités de raccordement.
  • Sur une interface série classique le TX de l’émetteur arrive sur le RX du récepteur et inversement.
  • Le MinimOSD est alimenté en 5V depuis une des sorties moteur du contrôleur qui n’est pas utilisée.
  • Par précaution on met un ground commun pour la caméra vidéo, le transmetteur FPV et les entrées/sorties vidéo du MinimOSD.

Voici ce que ça donne pour le montage réel :

Câblage FPV caméra et récepteur
Câblage FPV caméra et transmetteur

Sur cette première image voici mon câblage pour la caméra et le transmetteur FPV. En bas le connecteur JST (rouge) vers le BEC 12V de la power distribution board. Il va alimenter la caméra et le transmetteur.

En haut, les deux connecteurs servo pour raccorder la caméra d’un coté et le transmetteur de l’autre. Les autres fils libres, ici 1 jaune et 1 blanc ainsi que 2 masses reliées entre elles vont se raccorder sur le MinimOSD sur les entrées Video IN, Video OUT et les 2 GND.

Pour le reste des raccordements :

Connexion série et sonde de batterie
Connexion série et sonde de batterie

Sur l’image ci-dessus on remarque, à gauche, le connecteur série, raccordé sur le 5V/GND du moteur 4 sur le naze32. Le TX/RX proviennent des connecteurs CH4 et CH3 du naze32 correspondant à UART2.

On fait ce raccordement sur ce port série car le récepteur télécommande est configuré en CPPM (tous les canaux passent par le même fil, sur le connecteur CH1).

Si le récepteur est en PWM (1 fil par canal on utiliserait alors le connecteur TX/TX situé sur le dessus de la carte naze32 correspondant au port série UART1).

Sur la droite de l’image on voit le connecteur JST provenant du BEC 12V servant à alimenter la caméra et le transmetteur FPV. Tout à droite on a la sonde batterie que va se raccorder sur le connecteur BAT1/GND du MinimOSD.

Une fois le tout branché ça ressemble à ça :

2016-03-03 23.06.09 2016-03-03 22.55.00

Remarque : j’utilise ici une vieille caméra pour les tests. Elle est pas vraiment adaptée à ce type de cadre.

Ma caméra définitive (1000TVL Micro) fonctionne parfaitement une fois installée. Détails dans cet article qui lui est dédié.

On est pas mal prêts pour tester on dirait, tout du moins le câblage est en place. Avant de commencer on va flasher le firmware MWOSD sur le module MinimOSD et le configurer.

Flashage du firmware MWOSD

Tout d’abord pourquoi ce firmware ? Tout simplement parce qu’il est complet en terme de fonctionnalités et de support de Cleanfight et que son développement est actif.

Pour la suite des opérations vous avez besoin d’un minimum de connaissances sur le fonctionnement de l’environnement Arduino, l’utilisation de l’adaptateur série.

Pour un peu de lecture préparatoire un fera un tour sur le site officiel mwosd et sur le GitHub du projet pour télécharger les différents fichiers nécessaires, lire la doc, etc.

J’ai utilisé la version beta pour mon installation (1.6 pre-release) que vous pouvez récupérer depuis la page des releases ou via un « git clone ».

Le firmware se compose de 2 parties :

  • Dans le dossier MW_OSD : fichiers source du firmware qu’on va ouvrir avec l’éditeur Arduino et uploader sur le MinimOSD.
  • Dans le dossier MW_OSD_GUI : l’interface graphique de paramètrage. Un dossier par système d’exploitation (Win, Mac, Linux) ce qui est bien pratique.

Une fois l’IDE Arduino installé on va ouvrir le fichier MW_OSD/MW_OSD.ino en double-cliquant dessus.

Ceci va ouvrir l’ensemble des fichiers nécessaires sous forme d’onglets, le seul qui va nous intéresser est « Config.h ». C’est le fichier de paramétrage du firmware.

Capture d’écran 2016-03-04 à 11.15.15

Lisez attentivement les commentaires et la doc avant de faire des manipulations. Pour ma part j’ai défini les paramètres suivants :

  • OSD Hardware : MINIMOSD (est fonction du type de carte MinimOSD)
  • SWAPVOLTAGEPINS (sur ma carte bat1/bat2 sont inversés)
  • Flight Controller : CLEANFLIGHT
  • Display Settings : j’ai uniquement activé AUTOCAM (pour détection automatique NTSC/PAL), c’est pas indispensable.

Il y’a beaucoup d’options modifiables, la majorité est correctement réglée. En cas de problème on va beaucoup jouer avec les display settings notamment. Lisez la doc et la FAQ de MWOSD !

One fois la configuration définie, on sauvegarde et on va flasher le firmware sur le MinimOSD.

Avant cette opération on va configuer l’environnement Arduino avec le bon type de carte, le bon port COM, etc :

Capture d’écran 2016-03-04 à 11.26.51

  • Type de carte : Arduino Pro or Pro Mini
  • Processeur : ATmega328 (5V, 16 MHz)
  • Port : Celui correspondant à votre adaptateur USB/Série (chez moi c’est /dev/cu.usbserial-XXXXX)

Voila, il n’y a plus qu’a cliquer sur « Téléverser » et attendre que ça se passe 🙂

Capture d’écran 2016-03-04 à 11.29.36

Si tout s’est bien passé votre MinimOSD est passé sous MWOSD. On peut passer à la configuration.

Configuration

On va a présent lancer l’interface de configuration (dossier MW_OSD_GUI).

MWOSD GUI sous MAC OS X
MWOSD GUI sous MAC OS X

Connexion au module

Tout à gauche en haut le sélecteur de port COM. Lorsque vous cliquer sur celui correspondant à votre interface USB/Série l’interface va se connecter au module MinimOSD (les lignes passent en vert).

On peut commencer les réglages.

Uploader les fonts

Première chose à faire, uploader les fonts. Pour cela cliquez sur « Upload » dans la rubrique « Font Tools ». Sans cette étape l’affichage de l’OSD dans le flux vidéo ne marche pas ou affiche des choses bizarres. Il faut toujours penser à uploader les polices de caractères.

Remarque : il y’a 3 polices par défaut. La standard (default), une « large » et une « bold ». On choisit celle à utiliser via le bouton « SELECT ». J’utilise la font par défaut pour ma part.

Il y’a tout un tas d’options et de dispositions, je vous laisse adapter selon vos goûts/besoins, etc. Vous aurez un aperçu du rendu dans la fenêtre de Prévisualisation à droite de l’interface.

Je vais juste parler de la tension de la batterie (Main Voltage).

Tension de la batterie

Capture d’écran 2016-03-04 à 12.04.14

Il faut adapter à son nombre de cellules (3 dans mon cas), définir le seuil d’alerte (11V) et le voltage adjust. C’est le point le plus important pour être sûr que la valeur affichée correspond bien à la réalité.

Pour ajuster le voltage on peut tâtonner ou alors essayer de calculer la bonne valeur d’ajustement (c’est mieux quand même 🙂 ).

J’ai pris le calcul dans cet excellent article du blog d’Oscar Liang sur MinimOSD.

On mesure d’abord l’impact d’un point de « voltage adjust »  sur la valeur affichée.

Pour cela on prend 2 mesures avec l’OSD en changeant le voltage adjust :

  • Adjust = 200 –> 11,8V sur l’OSD
  • Adjust=110 –> 6,7V sur l’OSD

on calcule :

(11,8-6,7)/(200-110) = 5,1/90 = 0,056

Donc un point de « voltage adjust » fait varier la tension affichée de 0,056V.

Sachant cela, on mesure la tension réelle de la batterie pour connaître le décalage de l’OSD avec la réalité (voltmètre, testeur de batterie, chargeur LiPO).

Dans mon cas v=11,2V.

Maintenant on calcule le voltage adjust réel à utiliser.

110 – (6,7-11,2)/0,056 = 190,3 (=190)

Donc la bonne valeur à indiquer pour « Voltage Adjust » est 190. Vous devez bien évidement faire le calcul vous même, avec votre batterie et votre installation.

Il n’y  plus qu’a tester et voir si c’est conforme à la réalité.

Remarque : il faut activer aussi l’option « Enable ADC 5V Ref »

Affichage du RSSI

Une autre information utile est le RSSI du récepteur radio, notamment pour savoir si on est  un peu trop loin, si on risque de perdre le signal. Le module MinimOSD dispose nativement d’un connecteur RSSI. On peut en principe lui donner l’information en PWM.

Lors de mes tests j’ai pas réussi à récupérer correctement le RSSI depuis mon récepteur D4R-II. L’OSD n’affichait plus rien lorsque je connectais la sortie RSSI sur le MinimOSD. Ceci quelle que soit la configuration dans MW-OSD GUI ou directement dans le firmware (config.h). J’ai abandonné pour le moment.

Néanmoins tout n’est pas perdu. MWOSD est capable de récupérer le RSSI directement depuis le contrôleur de vol (Display RSSI > Use FC RSSI).

OSD

Conclusion

On a construit un système FPV avec OSD et ça c’est cool.

Par contre j’ai rencontré pas mal de problèmes en cours de route sur lesquels je me suis pas trop étendu :

  • Le choix de la caméra vidéo : la puce du MinimOSD n’est pas suffisamment puissante pour fonctionner avec certaines caméras haute définition. Avec ma petite caméra Tarot 600TVL et quelques heures de galère j’ai réussi à afficher un OSD tremblotant en désactivant quasiment toute l’interface (j’ai gardé la batterie et le chrono). Donc avant de construire ce système cherchez bien sur Internet si d’autres ont eu des problèmes ou s’il y’a une incompatibilité. J’ai utilisé cette caméra pour le montage final.
  • Le support du RSSI en direct et PWM depuis le récepteur de la télécommande ne fonctionne pas correctement. J’ai mis de coté pour l’instant.

Bref, après ce pavé qui a nécessité pas mal de tâtonnement on va s’intéresser à un sujet plus léger la prochaine fois : installer des leds et les piloter via Cleanflight.

Pour aller plus loin :

Open Source

MWOSD est un projet open source. Vous pouvez soutenir son développement en donnant un peu de sous.

Dans le prochain article nous allons installer quelques LED sur le quad, histoire d’en jeter un max mais pas seulement.

4 réponses sur “Quad 250 : (2) FPV et OSD avec Micro MinimOSD”

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.