Aller au contenu


Photo
- - - - -

Pilotage drone avec manette de PS3

ps3 fpv drone hexacopter nano mini pilotage rc radiocommande

26 réponses à ce sujet

#1 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 09:38

Bonjour j'ai récemment construit mon propre drone, le châssis est imprimé avec mon imprimante 3D de chez Dagoma qui a une surface d'impression 20x20x20cm.

Je leurs ai envoyé une photo du drone, il leur a plu et voudraient le commercialiser mais le problème est que je le contrôle avec une radio commande spektrum a plus de 100€ ce qui "plombe" le budget de mon mini drone qui sans la télécommande mais avec le fpv tourne autour de 75€ ma question est donc :

- Peut on adapter une télécommande de type ps3 ? (c'est une manette avec un récepteur usb que l'on branche normalement au pc fournis avec un adaptateur pour micro usb --> donc adaptable au téléphone).

- J'ai deja trouvé la "manette idéale" mais je ne sais pas comment la brancher avec le drone et ou brancher (surement uart1 ou uart2 ?) 

Peut être avec le USB 3.0 DIP module ?

Je pense qu'il y aura toute une configuration derrière (code en C, C++, ou java) mais ça ne me fais pas peur et je suis très motivé pour ce projet.

Si vous avez des idées, conseils ou même des questions n'hésitez pas. Merci ;)

 

 

Image(s) jointe(s)

  • USB-3-0-female-humpback-turn-DIP-module-flat-rev-font-b-inline-b-font-female.jpg
  • télécharger (1).jpg
  • -font-b-Wireless-b-font-Gamepad-PC-For-font-b-PS3-b-font-Android-Phone.jpg
  • dx6.jpg


#2 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 09:40

Petite précision avec l'image de la carte de vol ;)

Image(s) jointe(s)

  • 51Ixc46pWpL.jpg


#3 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 10:18

C'est possible (presque tout est possible en fait). Le code sera probablement en Java vu qu'il devra tourner sur un téléphone Android, si c'est un iPhone, il te faudra 15000 d'adaptateurs pour brancher la manette et apprendre Swift ou Objective C pour programmer dessus (comment ça j'aime pas l'iPhone :diablo: ?).

 

Ensuite, il faut que le téléphone puisse communiquer avec le drone, donc soit que le drone soit contrôlé par Wi-Fi (le bluetooth ayant une portée trop courte), mais c'est assez limité au niveau de la portée (Une 50aine de mètres grand max). Sinon, si tu veux plus de portée, il te faudra une carte qui communique avec le même protocole que ta télécommande. Pour pouvoir vraiment t'aider, il faudrait donner plus de détails sur la carte de vol, le kit FPV, la télécommande, ... .

 

Et j'aurais tendance à te déconseiller la manette PS3 pour cette utilisation, c'est une manette sans-fil à 70€ (de mémoire) que tu utiliseras de manière filaire, alors que la manette filaire pour Xbox 360 tourne entre 25 et 30€ (et encore moins en occasion).



#4 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 10:36

Merci beaucoup de ta réponse, la manette de ps3 n'est pas une vrai c'est une autre marque elle ne coute que 10-12€.

Je n'ai pas bien compris la partie ou je doit connecter la manette au téléphone, connecter la manette directement au drone ne serai pas plus simple ?

Par ce que j'aimerais recevoir le fpv sur le téléphone qui serais accroché a la manette ;) 



#5 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 11:05

Je pensais que tu voulais passer par un téléphone parce que tu as précisé que la manette est adaptable au téléphone, mais c'est vrai que ce n'est pas obligatoire.

 

Du coup il faudra que tu fasses une petite partie électronique avec un connecteur USB, un microcontrôleur pour lire les commandes de la manette (tu peux utiliser un téléphone, un ordinateur, une raspberry... mais c'est trop cher pour le commercialiser, par rapport à un microcontrôleur à 1€), et un emetteur radio (qui emet à la même fréquence que la télécommande pou éviter d'avoir à changer l'électronique du drone.

 

Soit il faut choisir un microcontrôleur qui intègre une partie USB (à ma connaissance les PIC18F2550, PIC18F4550, l'ATMega 32u4, et un paquet de STM32, il y en a d'autres, mais c'est ceux que je connais), soit ajouter un convertisseur USB -> UART, type FTDI ou CH340.

 

Tu pourrais le faire en reliant des modules entre eux (prise USB -> Arduino / Nucleo / Tiva... -> Emetteur radio), mais relier plusieurs cartes entre elles comme cela pose un problème de fiabilité (si un fil se débranche, tout est cassé), ça prend plus de place, et ça coute plus cher (problématique pour un appareil commercialisé).



#6 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 11:59

Encore merci pour ta réponse ;) aurais tu des modèles de microcontrôleurs USB a me conseiller ? Si possible assez compactes dans les eaux de la carte de vol. Et est-ce obliger de connecter la carte a l'émetteur radio ? La carte possède 2 "ports radio : Uart1 et Uart2 le 1 serais pour le récepteur radio et le 2 pour le micro Contrôleur ?

#7 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 02:43

En fait il me manque des détails sur le drone pour bien comprendre.

Pour l'instant, tu as une carte Naze 32 F3 EVO comme carte de vol, qui reçoit les commandes de la télécommande (la ou c'est marqué DSM / DSMX / DSM2 à mon avis, vu que c'est une télécommande spektrum), et tu veux remplacer la télécommande par une manette PS3.

 

Si tu branches la manette PS3 à la carte de vol, soit ton drone sera bloqué par le fil, soit tu seras en bluetooth (il me semble que la manette PS3 utilise le bluetooth) et tu seras limité à une dizaine de mètres.

 

L'idée, c'est donc d'avoir Port USB + Microcontrôleur + Emetteur du côté de la manette, donc dans les mains du pilote, le microcontrôleur interprétant les commandes de la manette avant de les envoyer par l'emetteur.

 

Si l'emetteur utilise la même fréquence et le même protocole que la télécommande (DSM / DSMX / DSM2), c'est tout ce dont tu auras besoin, sinon, il te faudra un récepteur dans le drone, et éventuellement un autre microcontrôleur pour convertir les données reçues en DSM / DSMX / DSM2 ou UART. 



#8 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 03:34

Oui excuse moi le récepteur spektrum est bien branché sur 3.3v / GND / RX3. Donc si je comprend bien il n'y a rien n'a ajouter sur le drone, seulement sur la manette :

Brancher le récepteur bluetooth de la manette (ou en filaire) au port USB du micro-contrôleur lui même connecter a l'émetteur ?

Pourrait tu me mettre le lien (Je ne sais pas si les liens commerciaux sont autorisés sur le forum) ou le nom d'un émetteur DSM2. Merci.



#9 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 04:26

Je pense avoir trouver un kit 2.4ghz pour arduino : il comprend 1 récepteur, 1 émetteur et une sorte de clé USB qui joue le rôle de micro contrôleur ?

Comme le montre l'image il connecte son pc a son arduino donc eut être faire pareil avec une manette et la carte de vol ?

Image(s) jointe(s)

  • HTB14HQVGXXXXXbWXVXXq6xXFXXXk.jpg
  • HTB1UyMKGpXXXXa8aXXXq6xXFXXX8.jpg


#10 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 06:22

Le microcontrôleur n'est pas sur la carte rouge, c'est juste un convertisseur USB => série (et je suis presque sur que c'est un CH340). Le microcontrôleur ici c'est le gros composant sur l'arduino (ATMega 328p). Il y a aussi probablement un ou deux STM32 par petit module noir.

 

La manette devrait être connectée en USB, parce qu'en bluetooth ça fait une batterie de plus à charger, le fonctionnement de la manette PS3 en bluetooth est (a ce que j'ai pu lire) très compliqué et ça te fait integrer un module bluetooth avec ton microcontrôleur.

 

Pour la partie radio, ces kits utilisent le 2.4GHz mais probablement pas le bon protocole pour que le recepteur soit branché directement au contrôleur de vol. D'après le peu de choses que j'ai pu trouver sur ton contrôleur de vol, il peut accepter les commandes en PPM ou SBUS. Je n'ai pas trouvé beaucoup d'informations, mais je pense qu'il faut déjà que tes modules 2.4GHz aient une portée suffisante, et il te faudrait un truc dans ce genre :

 

Sur le pilote :

 

Manette --> Port USB --> Microcontrôleur --> Emetteur 2.4GHz.

La manette communique en USB avec le microcontrôleur, d'ailleurs il y a déjà des gens qui l'ont fait

Le microcontrôleur communique avec l'emetteur en utilisant l'UART (mais cela pourrait eventuellement être I2C ou SPI sur d'autres modules).

 

Dans le drone :

 

Recepteur 2.4GHz --> Microcontrôleur --> Naze 32 F3 Evo

Le récepteur recoit les commandes du pilote en 2.4GHz (protocole inconnu, mais ça on s'en tape, ça va par paire).

Le récepteur transmet les commandes au microcontrôleur par l'UART (même chose, I2C ou SPI éventuellement possible).

Le microcontrôleur transmet les données au contrôleur de vol par PPM ou SBUS.

 

Dans le cas ou le firmware du contrôleur de vol est libre, il est possible de le modifier pour recevoir directement les commandes par l'UART et se passer de microcontrôleur supplémentairedans le drone.

 

Pour les microcontrôleurs, j'aurais tendance à te conseiller d'utiliser arduino pour le prototypage si tu es débutant en microcontrôleurs (ce qui semble être ton cas), sinon, go STM32 (meilleures performances, meilleur rapport fonctionnalités/prix,...).

 

EDIT : Je viens de trouver un article sur le SBUS (en anglais), qui serait en fait un signal UART, mais inversé (par une porte logique ou un simple transistor).



#11 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 07:30

Je ne sais pas si le firmware du contrôleur de vol est libre mais ce serais cool de ne pas avoir a rajouter de micro contrôleur sur le drone car il n'y a pas vraiment la place ...

Je ne m'y connait pas vraiment en programmation (j'ai quelques petites notions en Java) et je ne sais pas si j'aurais le niveau pour reprogrammer le firmware du contrôleur de vol mais je vais essayer et je suis très motivé ;)

J'ai donc besoin si le firmware est libre :

Du côté manette :

- 1 x Manette ps3

- 1 x Câble pour relier la manette au micro contrôleur

- 1 x Micro contrôleur STM32 

- 1 x Émetteur

Du côté drone :

- 1 x Récepteur branché sur l'Uart

+ Programmer le firmware et une très bonne motivation ;)

Si il n'est pas libre :

Du côté manette :

- 1 x Manette ps3

- 1 x Câble pour relier la manette au micro contrôleur

- 1 x Micro contrôleur STM32 

- 1 x Émetteur

Du côté drone :

- 1 x Récepteur branché au Micro contrôleur

- 1 x Micro contrôleur STM32  branché a la carte de vol

Après si j'utilise 2 micros contrôleurs ou que je programme le firmware "peut importe" quel émetteurs / récepteurs du moment qu'ils sont tout deux compatible ça fonctionnera ?

Je ne sais pas si cela a un rapport mais j'ai trouvé la mention Uart sur un récepteur (Photo).

Tu m'as deja bien aidé et je te remercie ;)

 

Image(s) jointe(s)

  • uart.png


#12 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 08:00

En fait si sur le module il y a marqué TX(D) et RX(D), il est compatible UART.

 

Dans tous les cas, tu devras utiliser du C ou C++.

 

Ensuite, tu n'es pas obligé d'utiliser un microcontrôleur STM32, ils sont assez compliqués à utiliser (par rapport aux microcontrôleurs AVR par exemple).

 

Tu n'as pas la place d'ajouter beaucoup de choses sur le drone, mais tu peux réaliser une carte électronique de la même taille que le module, mettre un microcontrôleur dessus, et tu augmenteras légerement la hauteur du module, mais pas sa largeur ni sa longueur. En plus, tu libereras de la place en enlevant le module spektrum. Par contre, il te faudra quelques compétences en électronique pour faire ça. 

 

Par contre je te préviens que même en étant motivé, ça risque d'être très compliqué, tu auras besoin de faire de la conception électronique, et de la programmation sur microcontrôleur (qui n'a rien à voir avec du java sur PC). Par contre, si c'est pour que dagoma commercialise le produit, ils peuvent peut être t'apporter un soutien technique (et éventuellement matériel) sur ces points.

Sinon, il est peut être possible de trouver une télécommande moins chere que celle de spektrum.



#13 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 08 juillet 2017 - 08:09

Ah d'accord je vois de ce que tu veux parler superposer la carte et le micro contrôleur c'est une bonne idée ;) (Un peut comme les racer-cubes)

Je pense qu'ils peuvent même m'apporter un soutient dans la programmation je vais leurs demander. Une télécommande moins chère serais cool mais il faut une bonne télécommande qui sera surement plus cher que tout les composants et la manette ... Et puis faut bien que je fasse quelque chose de mes vacances ;)

Aurait tu des conseils pour commencer le langage c / c++ ou me dire quels partie travailler / utile a mon projet ? Merci.

Image(s) jointe(s)

  • télécharger (2).jpg


#14 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 08 juillet 2017 - 10:01

Pour ce que tu veux faire, les bases du C ou du C++ devraient suffire, boucles, conditions, tout ça, tu devrais comprendre rapidement, c'est comme en java. La ou tu auras plus de mal, c'est les pointeurs (c'est la ou la plupart des débutants galèrent en C), c'est ce qui permet de manipuler la mémoire, ce qui est très utile sur microcontrôleur, car tout est contrôlé par la mémoire.

 

Je pense qu'apprendre le fonctionnement d'un microcontrôleur peut être utile, mais je ne sais pas trop ou trouver un cours ou autre la dessus. Si tu utilises arduino, il y a pas mal de ressources en ligne, il y en a un peu pour PIC, mais après pour le reste, c'est compliqué.

 

Pour la partie électronique, pas besoin d'apprendre à résoudre des équations différentielles dans le domaine de Laplace ou autre, quelques bases d'électronique pratique suffiront (alimenter un microcontrôleur, relier le port série et les entrées / sorties, réaliser une carte, ... ). De préférence avec des composants CMS (c'est plus chiant à souder, mais ça prend moins de place et c'est moins cher).

 

Et quand je vois l'image, c'est exactement a ce genre de choses que je pensais, mais en moins gros.



#15 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 09 juillet 2017 - 10:15

J'ai commencé a apprendre le C pour débuter, j'ai vu les variables, les conditions if, else et if else et les boucles while, while do et for pour le moment c'est assez simple mais ça commence a se compliquer avec les fonctions mais ça ne me décourage pas. Pour la partie électronique le plus simple serai de "directement" apprendre / étudier le micro contrôleur que je vais utiliser ? Comment pourrai-je savoir si le firmware est libre ? Et est-ce plus facile de programmer le firmware ou un micro contrôleur ? Merci ;)

 



#16 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 09 juillet 2017 - 11:00

Tu peux savoir si le firmware est libre en trouvant une documentation de ta carte de vol (que je n'ai pas réussi à trouver).

Il sera plus facile de programmer un microcontrôleur car le code sera "simple" :

 

Côté manette :

Lire les commandes, les envoyer par UART au module 2.4GHz

 

Côté drone :

Lire sur l'UART les données du module 2.4GHz, les convertir pour les envoyer au contrôleur de vol, les envoyer par au contrôleur de vol

 

Alors que si tu dois reprogrammer le firmware, il faudra comprendre son code, et une erreur pourrait empêcher le drone de fonctionner.

 

Pour les microcontrôleurs, à ma connaissance, tous les microcontrôleurs fonctionnent sur le même principe, donc comprendre le fonctionnement d'un microcôntroleur en général devrait te servir (sauf avec arduino car tout est tellement simplifié que tu n'en as pas besoin), puis ensuite apprendre comment programmer le microcontrôleur de ton choix (les outils de compilation, de flash, les bibliothèques fournies par le constructeur ou des projets open source, ...).

 

Pour la partie électronique à proprement parler, pou réaliser une carte électronique tu auras besoin de connaissances de base en électronique (mais vraiment de base), et tu auras besoin d'apprendre à utiliser un logiciel de saisie de schéma / routage (je te conseille KiCad, c'est ma préférence personnelle car il est assez complet, et surtout libre, pas comme certains qui ont des prix à 4 chiffres).



#17 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 09 juillet 2017 - 11:56

J'ai trouvé un document pdf qui donne plein d'informations sur la carte et sur le firmware, on peut voir load firmware online et local --> Cela signifie qu'il est libre ?

Je regarde actuellement la taille des micros contrôleurs pour voir si il y aurait la place de mette le nouveau récepteur et le micro contrôleur a la place du récepteur deja existant ce qui m'éviterais de modifier le modèle 3D du drone.

Il existe des micros contrôleurs "tout près"  (PS3 Dualshock Controller (Bluetooth) - USB Host) qui sont assez cher mais ce serais peut être plus simple ou une bonne source d'inspiration pour le code interne ? ;) 

Image(s) jointe(s)

  • pinout5a.png

Fichier(s) joint(s)



#18 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 09 juillet 2017 - 01:22

Donc le firmware du F3 evo est libre, et dispo ici.

 

Pour la taille des microcontrôleurs, un microcontrôleur c'est juste un composant électronique, pas une carte, et il y en a des vraiment petits (Par exemple sur le SensorTile de ST Microelectronics, tu as un microcontrôleur STM32, 4 ou 5 capteurs, et un module bluetooth, le tout sur une carte de 1.35cm X 1.35 cm). 

 

Tu peux par exemple trouver en STM32 le STM32F411 (qui dans son format QFN fait 7 X 7mm, même si certains diront qu'on ne peut pas souder du QFN à la main, c'est faux, c'est compliqué mais faisable). Chez Atmel l'AT32UC3B0128 (9x9mm), ou encore chez microchip le PIC32MM0256 (6x6mm). Donc la taille n'est pas vraiment un problème. 

 

 

Le problème avec ton microcontrôleur "tout prêt", c'est qu'il n'est pas vraiment tout prêt,  il a du code pour lire les informations qui viennent de la manette, et c'est tout. Il n'a même pas d'UART (enfin, pas câblé) pour communiquer avec le module 2.4GHz, par contre, lire la partie du code qui interprète les données de la manette peut être utile. Et celui du PDF ne correspond pas à celui de la photo.

 

Aussi, je ne connais pas bien les protocoles utilisés en RC, donc il faudra a mon avis lire le code du contrôleur de vol, choisir un des protocoles disponibles, et envoyer les données avec ce protocole.



#19 R3MY41

R3MY41

    Membre

  • Membres
  • 19 messages

Posté 09 juillet 2017 - 01:46

D'accord bah c'est super cool que le firmware soit libre ! Je ne vais pas me lancer tout de suite dans la programmation du firmware mais essayer avec les micro contrôleurs et par la suite essayer sans mais on vas y aller étape par étape. Si je comprend bien il faut 2 Micro contrôleurs mais ils sont bien soudé a une carte ? Est ce que des modèles comme celui-ci conviendraient ou d'autres du même genre ? Parce que je me vois mal essayer sachant que je ne suis pas très doué avec les soudures (les câbles simplement branchés me conviennent ;) )

Image(s) jointe(s)

  • 1-PCS-Nano-CH340-ATmega328P-Mini-USB-Nano-3-0-Contr&ocirc.jpg


#20 maximusk

maximusk

    Membre passionné

  • Membres
  • PipPipPip
  • 304 messages
  • Gender:Male
  • Location:Le Mans

Posté 09 juillet 2017 - 02:31

Cela conviendrait pour apprendre les bases, pas pour ton projet.

 

1) Les arduino nano fonctionnent en 5V (donc si tu l'interfaces avec ton controleur de vol, qui est en 3.3V, il ne va pas apprécier du tout).

2) Il n'y a pas d'USB host pour arduino nano sans ajouter du matériel, probablement trop volumineux pour ton drone.

 

Le problème avec les microcontrôleurs soudés à une carte, c'est qu'ils ne sont pas faits pour faire des projets finis, mais plutot du prototypage rapide, tu as donc une grosse quantité d'entrées / sorties dont tu ne te serviras pas et ça prend beaucoup trop de place pour le mettre dans le drone (enfin je pense). A ma connaissance, la seule carte arduino avec USB host est l'arduino DUE, qui est à mon avis beaucoup trop grosse (10cm x 5 cm), et qui coute 40€.





Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : ps3, fpv, drone, hexacopter, nano, mini, pilotage, rc, radiocommande

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users