Revenir en arrière   Modelisme.com > Aeromodelisme > Aéro / Vol en immersion

Répondre
 
LinkBack Outils du sujet Affichage du sujet
Ancien 06/12/2011, 15h30   #1 (permalink)
Nouveau membre
 
Inscrit : October 2010
Messages: 15
Lightbulb Modem Audio pour telemetrie et antenna tracking GPS

Vu qu'on me le demande sur pas mal de forum et que ma boite mail commence à vraiment vraiment saturer et dans des langues que je pige pas, voilà de quoi faire un modem utilsant le canal audio de votre tx/rx fpv préféré et donc de retransmettre le flux NMEA de votre GPS en vol vers le sol, bref, antenna tracking, logging de votre parcours, etc.... La transmission est bufferisée, donc peu importe la bande passante entre le GPS et le modem et entre le modem et le sol, le flux sera juste un peu découpé....

(A) J'ai jamais fait de dev sur avr ni de traitement de signal, donc il est fortement possible que le code soit très moche ou que l'implementation soit bizarre, bref j'ai fait "à l'instinct", mais ça marche très bien en tout cas

A l'orgine ça tourne sur un attiny2313 avec le PB0 comme sortie son, mais c'est vraiment light, je recommande un atmega8, ça coute le meme prix, soit ~3/4 euro sur ebay à tout peter. A part ça, il faut juste 2/3 resistance/condo comme sur tous les montage atmel de base, rien de plus. Pour la partie demodulation -> pc + carte son (source fourni) ou quasiment le meme montage electronique a base d'atmel, par contre j'ai pas pris le temps de dev ce code là, mais ça revient à compter des bits (ahah...ahah...ahah.... la blague est faite)

Bon par contre, je suis encore toujours trop occupé (ecommerce, noel, tout ça...) pour bien expliquer/rentrer dans les détails, etc... donc je balance juste une archive "en vrac", pour ceux qui ont déjà taté le terrain ça devrait etre parlant, pour les autres, bah.... wait, desolé pour la faim dans le monde, etc...

L'archive contient les sources en C pour le modem "atmel", c'est en bfsk, mais en decommentant les bons truc, en passe en qfsk (2 bits/4 états par train d'impulsion). Idem, la taille du buffer c'est un define et le double buffering s'active en decommentant 2/3 truc.

L'autre partie, c'est un proj java au format netbeans pour fournir de quoi demoduler le signal, reconstruire le flux NMEA, le valider et extraire les opcodes qui vont bien et puis d'autre truc pour l'antenna tracking que je n'ai pas fini. C'est un peu le bordel, mais normalement c'est clair. Y a juste les fichiers à la racine du package qui servent a rien, pour le reste, faut check le main de DebugAudioModemStream et de DebugGPSAnalysis (attention au implementation "SIM" qui sont juste des classes de test simulant des flux)

Voilà, je ferai un vrai sujet quand j'aurais le temps, avec des photos, des shema elec, du code propre et compilé, etc... promis

PS: à toutes les eventuelles questions du type "pourquoi", je vous invite à lire la partie (A) pour le "parce que"
Fichiers attachés
Type de fichier : zip audio_modem_telemetrie.zip (52,9 Ko, 33 téléchargements)

Dernière modification de penpen77, 06/12/2011 à 15h33
penpen77 est déconnecté   Répondre en citant
Ancien 06/12/2011, 20h18   #2 (permalink)
Membre actif
 
Inscrit : November 2006
Messages: 169
Par défaut

Heyy mais c'est un super taff.
Je vais regarder tout ça attentivement.

Merci pour ton taff.
__________________
Concepteur du projet Arobot (Robots tout terrain).
Developpeur et Webmaster du JBC explorer (Explorer de fichiers PHP).
Photographie : Blog Photo
Mon Blog.
psykokwaky est déconnecté   Répondre en citant
Ancien 11/12/2011, 11h00   #3 (permalink)
Nouveau membre
 
Inscrit : October 2010
Messages: 15
Par défaut

sur du stripboard, attiny2313 a gauche, atmega8 a droite

l'un comme l'autre, faut compter moins de 10€ de composant
Miniatures attachées
Modem Audio pour telemetrie et antenna tracking GPS-2011-12-11-11.51.57.jpg  
penpen77 est déconnecté   Répondre en citant
Ancien 06/01/2012, 20h59   #4 (permalink)
Nouveau membre
 
Inscrit : January 2012
Lieu: Toulouse
Messages: 9
Par défaut

Super boulot !
Merci pour ce partage !

Quel débit d'informations (bit/sec) peut-on obtenir en utilisant le canal audio d'un émetteur vidéo ?
Ca dépend directement de l'échantillonnage audio de l'émetteur, n'est-ce pas ?
Il est de combien avec nos émetteurs FPV généralement ? 10kHz à 20kHz ?

J'ai un projet pour lequel j'aurais besoin d'un débit d'au moins 2.4kbps (mais le plus sera le mieux !).
Pour l'instant j'évalue encore les différentes possibilités, mais je commence à pencher pour un canal numérique dédié de type XBee ou équivalent.
J'avais exposé mes réflexions ici : Réception télémétrie sur PC

Note pour les intéressés : certains émetteurs vidéo transmettent en stéréo, soit deux canaux audio ce qui nous permet de doubler le débit (mais nous prive de son).
LittleWing est déconnecté   Répondre en citant
Ancien 06/01/2012, 22h37   #5 (permalink)
Nouveau membre
 
Inscrit : October 2010
Messages: 15
Par défaut

Oula.... j'ai l'impression de revivre un partiel là....

dans mes souvenir (a prendre avec des pinces à cornichons géante donc) la bande passante "voix/rtc" c'est ~3/4khz quelque chose comme 300-4000hz, là j'ai fait un truc qui s'approche du bfsk, on module la frequence sur 2 trains différents en fonction des 0/1 (enfin si je me plante pas, toujours les pinces à cornichons, le pifometre et tout...) J'echantillonne à 1.5/2khz, donc on va dire une bande passante de 2000bps max soit 250 o/s max, disons 200 o/s vu qu'on transmet du ascii-alpha qui est stocastiquement plus "lourd" en 0, donc majoritairement des impulsion courtes. En faisant de la modulation de phase,transformée en Z, nyanyanyanya on peux facilement isoler 4 états au lieux de 2 et donc faire du qfsk/qpsk ou qqchose du genre et doubler la bande passante. Idem doit y avoir moyen d'ameliorer l'échantillonnage pour augmenter le débit et in fine, si on n'est pas trop avenant niveau latence et que l'on a assez de mémoire, on peu faire de la compression (arithmétique, rle, ce genre de truc qui fonctionne bien sur des chaines courtes) et puis le multiplexage stéréo aussi

Il y a aussi moyen de scouater une partie du flux vidéo, faire une sorte de filigramme digital

mais c'est clair que le zigbee est le plus simple/pratique/efficace avec une bande passante largement plus élevée, mais c'est un poil plus cher aussi (entre un avr à 4$ et un kit rfbee/xbee à 100€ clef en main, bah....) Il y a du 900Mhz et 2.4Ghz de dispo, mais je ne sais pas quels sont les impact niveaux brouillage sur les tx rc/video qu'on utilise ici.

Et puis il y a la bande 433 aussi, mais là, je connais pas du tout du tout
penpen77 est déconnecté   Répondre en citant
Ancien 06/01/2012, 22h44   #6 (permalink)
Nouveau membre
 
Inscrit : October 2010
Messages: 15
Par défaut

Pendant que j'y pense, je viens de lire ton post là et je me disais que ça pourrait être utile:

J'ai un remzibi et j'aimerais bien un horizon artificiel, donc je prevois de coller un accéléro de nunchuk en i2c sur le atmega8 que j'utilise pour le modem et comme ça balancer sur l'uart les infos. Le remizibi à un mode pour intrepreter des données externe ( ($i,xxx,yyy) en fouillant sur rcgroup, liaison ardupilot mega). Donc inclure les données de l'accelero dans le flux audio, ça sera peanuts.

Reste que niveau distance/bande passante/evolutivité/facilité, c'est le zigbee qui gagne
penpen77 est déconnecté   Répondre en citant
Ancien 07/01/2012, 00h33   #7 (permalink)
Membre Sénior
 
Avatar de Kilrah
 
Inscrit : March 2003
Lieu: Payerne (Suisse)
Messages: 2 308
Par défaut

Citation:
Envoyé par penpen77 Voir le message
J'ai un remzibi et j'aimerais bien un horizon artificiel, donc je prevois de coller un accéléro de nunchuk
Un accéléro seul ne suffit pas à donner un horizon artificiel sur un aéronef
Obligatoirement gyro en plus, mais ça dérive, et c'est pour ça qu'au final pour quelque chose de correct on finit toujours par mettre la totale soit 3x accéléro, 3x gyro et 3x magnéto...
Kilrah est déconnecté   Répondre en citant
Ancien 07/01/2012, 01h42   #8 (permalink)
Nouveau membre
 
Inscrit : October 2010
Messages: 15
Par défaut

oui oui, je parlais de morceau de multiwii en fait, mais entre un nunchuck+wmp made in china à moins de 10$ le tout et un 9DoF à 70-100 euros, y a pas moyen
penpen77 est déconnecté   Répondre en citant
Ancien 07/01/2012, 12h48   #9 (permalink)
Nouveau membre
 
Inscrit : January 2012
Lieu: Toulouse
Messages: 9
Par défaut

Intéressant tout ça. Le débit pourrait donc atteindre quelques kbps.
Si je pouvais monter entre 3 et 4kbps (par canal audio) avec la modulation qui va bien, la solution deviendrait viable pour mon projet.

Si je me trompe pas il est impossible d'avoir un débit supérieur à la fréquence d'échantillonnage (à priori 4kHz donc 4kbps)... du moins sans utiliser une modulation d'amplitude... ce qui me semble peu recommandé si on souhaite avoir un signal robuste. Faudrait que je ressorte mes cours de math et de traitement du signal

Citation:
là j'ai fait un truc qui s'approche du bfsk, on module la frequence sur 2 trains différents en fonction des 0/1 (enfin si je me plante pas, toujours les pinces à cornichons, le pifometre et tout...)
C'est ce que j'ai cru comprendre en analysant les sources du modulateur : du BFSK avec un signal carré (pas de sinusoïdes).

Citation:
Il y a aussi moyen de scouater une partie du flux vidéo, faire une sorte de filigramme digital
Oui ça m'était venu à l'esprit de modifier une partie du signal vidéo pour intégrer des données (quitte à dégrader une zone de l'image). Mais là ça devient très complexe, aussi bien du côté de la modulation que de la démodulation

Citation:
mais c'est clair que le zigbee est le plus simple/pratique/efficace avec une bande passante largement plus élevée
Reste que niveau distance/bande passante/evolutivité/facilité, c'est le zigbee qui gagne
Je suis d'accord. Par contre je pensais que la portée serait plus importante avec l'émetteur vidéo étant donné sa puissance (quelques centaines de mW en 5.8GHz... pas légal ).
D'autant plus qu'il n'y aurait du coup pas de brouillage avec d'éventuelles radio-commandes 2.4GHz.
De toute façon je compte rester en vol à vue (et en double commande) donc la portée n'est pas un souci.

Dernière modification de LittleWing, 07/01/2012 à 14h57
LittleWing est déconnecté   Répondre en citant
Ancien 09/01/2012, 12h05   #10 (permalink)
Nouveau membre
 
Inscrit : January 2012
Lieu: Toulouse
Messages: 9
Par défaut

Tiens, ta réponse a été supprimée. Etonnant
Effectivement, de ce point de vue là, ça laisse de la marge comme tu disais ^^


Comme je disais dans l'autre fil de discussion, la carte ArduIMU+ V3 me semble très intéressante pour mon projet.
Il y a notamment moyen d'utiliser les ports de sortie numérique de la carte pour attaquer l'entrée audio de l'émetteur vidéo (en modifiant le programme du micro-contrôleur).

Et du coup je me demandais s'il y avait un moyen pas trop compliqué de "transformer" un port de sortie numérique en sortie analogique ? Plusieurs pistes me viennent à l'esprit :

La plus simple : pour chaque période d'échantillonnage audio, faire varier rapidement la valeur de sortie du port numérique pour atteindre une valeur analogique moyenne cible.
Par exemple pour une valeur de sortie de 50%, on inverserait la valeur de sortie numérique une dizaine de fois (par exemple) pendant la période échantillonnage audio : 0 1 0 1 0 1 0 1 0 1 (50% de 1 et 50% de 0)
Pour une valeur de 70% on écrirait ceci pendant la période d'échantillonnage audio : 1 0 1 1 0 1 1 0 1 1 (70% de 1 et 30% de 0)

Reste à savoir si l'émetteur vidéo se laisse "bluffer" par cette astuce en moyennant la tension d'entrée sur une période d'échantillonnage ou s'il prend sa valeur à un instant T ?

Dans le cas négatif, il faudrait rajouter un petit circuit électronique faisant ce "moyennage" de tension (entre la sortie numérique et l'entrée audio de l'émetteur).
Ce doit être assez basique comme circuit : quelques condensateurs et transistors ??? Je n'ai pas le niveau en électronique, si vous avez un avis sur la question je suis preneur !
(EDIT : je commence à voir qu'il s'agit de pusle/PWM to analog converter ou de filtre passe bas... mais si vous avez plus d'infos)

Ou bien faudra-t-il impérativement un convertisseur DAC ? Dans ce cas en connaissez-vous un assez simple et compact acceptant une entrée série (1-wire ou 4-pin) ou I²C ?


Autre question : quelle plage de tension accepte l'entrée audio d'un émetteur vidéo FPV (par exemple celui là : Emetteur 600mW 5,8 GHz ImmersionRC pour le FPV) ? De 0 à +5V ? De -3.3V à +3.3V ?

Merci d'avance pour vos conseils

Dernière modification de LittleWing, 09/01/2012 à 12h19
LittleWing est déconnecté   Répondre en citant
Répondre

Outils du sujet
Affichage du sujet

Règles des messages
Vous ne pouvez pas créer de sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas importer de fichiers joints
Vous ne pouvez pas modifier vos messages

BB codes : Activé
Smileys : Activé
BB code [IMG] : Activé
Code HTML : Désactivé
Trackbacks are Activé
Pingbacks are Activé
Refbacks are Activé


Sujets similaires
Sujet Auteur du sujet Forum Réponses Dernier message
Aide pour calculer et tracer votre centrage io Aéro / Construction 869 17/05/2012 14h11
[TUTO] Tout savoir sur les accus LiPo, Chargeurs, Alimentations, connecteurs... Quentin YZ Auto / Matériel électrique 186 26/02/2012 19h47
conversion d'un Trex 450 pro en Eurocopter EC635 fz6rider Hélico / maquette 130 14/01/2012 23h42
cours de Mécanique Fondamentale (les Bases indispensables) Ail-Vdp Aéro / Débutant 112 31/10/2011 10h38
EASYFLY d'EASYMODEL => Nouveau Clone EASYGLIDER qui decoiffe a 149E !! Spartacus-42 Aéro / Planeurs 1063 18/10/2010 13h53

modelisme.com | Faites également la promotion de votre Page

Fuseau horaire : GMT +1. Il est 09h24.


Propulsé par vBulletin® version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 PL2
Version française par vBulletin-Ressources.com
Copyright Libraltitude SAS 2010