Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 15 sur 45

Construction d'une radiocommande R/C !

  1. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Smile Construction d'une radiocommande R/C !

    Bonjour

    J'ouvre ce sujet pour vous montrer la radiocommande que je fabrique, boîtier, électronique, et logiciel sont faits à partir de zéro (pas de bibliothèque arduino, ni de bibliothèque avr, ni de bibliothèque c++ en supplément du langage lui même, ..), par contre je ne créé pas les manches de la radio (je n'avais qu'une semaine pour faire les usinages).

    dsc06923.jpg
    dsc06927.jpg
    dsc07168.jpg
    dsc07166.jpg
    dsc07145.jpg

    Le programme de cette radio fait 4036 lignes (et sera téléchargeable bientôt), le principe de ce programme est entièrement basé sur mon système que j'ai développé (MODULE), et est entièrement téléchargeable sur mon site (logiciel + plans des cartes).

    L'automate programmable est le MODULABLE M32, il est équipé de l'ATmega1284P.

    Le composant qui fait la communication 2.4GHz est le nRF24L01+, mon système de programmation comporte une classe (Nrf24l01p.h) dédiée à ce composant.

    Les caractéristiques de la radiocommande:
    - Automate programmable MODULABLE M32 équipé du microcontrôleur ATmega1284P.
    - Émetteur/récepteur radio 2.4Ghz (composant nRF24L01+, portée 1km environ).
    - Communication bi-directionelle.
    - Antenne Trèfle omnidirectionnelle 3 branches.
    - Communication par trames de 32 bits.
    - Affichage digital avec afficheur à digits MAX7219.
    - Buzzer de signalement.
    - Système à tolérance de pannes (fail-safe) envoyé au modèle sur 6 bits (0 à 63).
    - 1 menu principal + 1 menu des paramètres/réglages.
    - Réglage de la tension de batterie faible du modèle (de 0V à 100V).
    - Réglage d'une temporisation (de 0s à 3600s).
    - Aucune mémoire de modèles (la mémoire est située dans les modèles).
    - Possibilité de copier les réglages d'un modèle vers un autre très facilement.
    - Jusqu'à 16 paramètres/réglages personnalisés envoyés par le modèle.
    - Verrouillage des menus (plus de réglages possibles, ni d'extinction de la radiocommande).
    - Affichage de la tension de la batterie de la radiocommande.
    - Alarme (visuelle et sonore) niveau de batterie faible de la radiocommande.
    - Affichage de la tension de la batterie du modèle.
    - Alarme (visuelle et sonore) niveau de batterie faible du modèle (si paramétrée).
    - Affichage d'une temporisation (temps d'utilisation du modèle/autre).
    - Affichage des trims (verrouillage et remise à 0 possible par le bouton de sélection).
    - Affichage d'une télémétrie personnalisée.
    - Affichage des paramètres/réglages personnalisés.
    - Menu de mise à jour des paramètres/réglages du modèle.
    - Allumage ou extinction de la radiocommande ou du modèle dans n'importe quel ordre.
    - Accumulateur NIMH (+1.2V par élément) 8S 600mAh (+9.6V).
    - Prise de charge de la batterie (XT30).
    - Boîtier fermé en Aluminium, Acier inoxydable, bois (contreplaqué 5mm), et Ertalon.
    - Dimensions: 214mm x 204mm x 117mm.
    L'interface électromécanique entre l'homme et la machine:
    - 2 manches analogiques (1 gaz/rouli + 1 tangage/lacet) sur 10 bits (0 à 1023).
    - 4 interrupteurs de trims (3 positions) sur 2 bits chacun (0 à 2).
    - 1 interrupteur de coupure moteur/autre (2 positions) sur 1 bit (0 à 1).
    - 3 interrupteurs auxiliaires (3 positions) sur 2 bits chacun (0 à 2).
    - 1 bouton rotatif auxiliaire sur 10 bits (0 à 1023).
    - 1 bouton rotatif de sélection du menu sur 10 bits (0 à 1023).
    - 1 bouton poussoir de sélection du menu (2 positions, dont 1 momentanée) sur 1 bit (0 à 1).
    - 1 interrupteur d'alimentation maintenue on/off (2 positions).
    Le concept de cette radiocommande:
    Depuis les premiers temps ou je pilote des modèles radiocommandés dans des associations d'aéromodélisme jusqu'à aujourd'hui, je me suis souvent demandé et au vu de l'avancée précédente et actuelle en matière d'électronique embarquée:
    Mais pourquoi donc les radiocommandes du commerce ont'elle des mémoires de modèles ? Les mémoires de modèles permettent en effet de retenir les réglages relatifs à un modèle, dans la mémoire de la radiocommande.
    À ce propos je ne citerais que l'exemple d'un ami au terrain de modélisme sans le nommer, qui par mégarde se trompe assez régulièrement de mémoire de modèles (il vol avec beaucoup de choses). En conséquence cela lui arrive souvent d'écraser ses réglages, ou d'écraser son modèle tout simplement au sens physique du terme !

    En fait, cette "lacune" des mémoires de modèles dans les radiocommandes modernes trouve historiquement ses racines dans la conception même des premiers radio-émetteurs/récepteurs. En effet, les premières radiocommandes se contentaient uniquement d'être émetteur d'information, et le modèle étant lui simplement un récepteur. Dans cette situation (unidirectionnelle), il est facile de comprendre que le modèle reste toujours muet.

    Plus tard, les concepteurs et divers industriels se sont décidés (au vue de la demande qui augmentait) à ajouter une communication du modèle vers la radiocommande, sur un circuit électronique bien distinct et avec une antenne radio supplémentaire sur le modèle et la radiocommande. C'est un retour air/sol qui a été appelé télémétrie (en rapport avec la télémétrie à l'époque des débuts de la conquête spatiale jusqu'à nos jours).

    L'avancée en matière de miniaturisation des composants permet aujourd'hui d'avoir dans une même puce un émetteur et un récepteur, qui se sert de la même antenne radio pour communiquer, ces systèmes sont appelés tranceivers (émetteurs/récepteurs).
    Le concept que je développe ici permet de vous expliquer l'idée même de ma radiocommande, celle-ci n'a en effet aucune mémoire de modèles, aillant souhaité aller au bout de ma logique, c'est le modèle qui contient la mémoire !
    Cette idée simple permet beaucoup de choses, notamment le fait que c'est le modèle qui envoi des paramètres et réglages personnalisés à la radiocommande, qui à l'origine dispose d'un menu des paramètres et réglages presque vide. La radiocommande se voit alors garnie de paramètres personnalisés relatifs au modèle qui est actuellement en communication avec elle. Elle dispose également de l'affichage de la tension de la batterie du modèle en temps réel, et d'une télémétrie personnalisée en fonction du modèle.

    Une fois cette notion comprise, tout est alors possible. Ma radiocommande dispose d'un maximum de 16 paramètres personnalisés par le modèle, ceci est largement suffisant parce que par définition même, ils sont spécifiques au modèle considéré.

    Terminé les réglages et menus à n'en plus finir (souvent la plupart du temps inutilisés) dans les radiocommandes du commerce ! Dans ce que je propose ici, vous disposez des réglages uniquement nécessaires au modèle mis en oeuvre, ce qui facilite grandement son utilisation sur le terrain de modélisme !

    Si vous souhaitez en savoir plus et avoir d'autres explications pour mieux comprendre ce projet, je ne peux que vous conseiller de lire l'article que j'ai écrit sur mon blog qui est un peu plus documenté (demandez moi les liens si besoin).

    J'y explique par exemple "La copie des paramètres d'un modèle", ou bien encore "La vitesse de communication", ce qui peut vous intéresser !


    N'hésitez pas si vous avez des questions

    -----

     


    • Publicité



  2. gienas

    Date d'inscription
    janvier 2005
    Messages
    27 741

    Re : Construction d'une radiocommande R/C !

    Bonjour sylvainmahe et tout le groupe

    Pour une raison incompréhensible, ton message a été publié dans les projets, ce qui est, en principe impossible.

    Il a été replacé dans le forum traditionnel, où c'est sa place normale.

    Attention, cependant, que pour être "dans les clous" du forum,

    Citation Envoyé par sylvainmahe Voir le message
    ... Le programme de cette radio fait 4036 lignes (et sera téléchargeable bientôt) ...


    Ceci doit figurer dans le fil de discussion, sans avoir à le demander, et

    Citation Envoyé par sylvainmahe Voir le message
    ... N'hésitez pas si vous avez des questions ...
    Ceci est bien entendu, sous entendu.
    Dernière modification par gienas ; 17/08/2017 à 13h55.
     

  3. paulfjujo

    Date d'inscription
    juillet 2004
    Localisation
    Dagneux 01120
    Âge
    66
    Messages
    2 104

    Re : Construction d'une radiocommande R/C !

    bonjour,

    Super design !
    aussi bien mecanique qu'electronique.

    au fait, l'ensemble pese combien ?

    lien sur ton blog ?
    Dernière modification par paulfjujo ; 17/08/2017 à 15h38.
     

  4. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    Bonjour gienas, oui le programme sera mis en pièce jointe quand j'aurais clôturé le projet.


    Merci pour le commentaire sinon, pour la masse de la radio, je dirais un petit peu plus lourd que ma FUTABA T12FG du commerce, mais pas beaucoup plus finalement.
    Je peux l'équiper d'une sangle autour du cou pour être plus à l'aise pour piloter de toute façon

    Si tu veux le lien vers plus d'infos (c'est ce que tu demandes, à la modération de virer le lien si je me suis trompé), ici tu en auras plus: #### Lien autopromotionnel supprimé.

    Mais il me semble que les liens vers nos propres sites, sont considérés ici comme de la pub.
    Dernière modification par gienas ; 17/08/2017 à 18h36. Motif: le lien est à mettre dans le profil, pas dans le corps des messages
     

  5. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Post Re : Construction d'une radiocommande R/C !

    Si vous êtes intéressé par les caractéristiques de mon automate programmable qui équipe la radiocommande:
    - Microcontrôleur ATmega164P, Atmega324P, Atmega644P ou ATmega1284P.
    - Régulateur de tension LM7805 +5V 1A assisté par un transistor Darlington BD646 8A.
    - 2 ports d'alimentation de +7V à +35V.
    - 1 port pour la programmation en SPI.
    - 32 entrées/sorties (partie commande), avec 32 +5V et 32 GND (partie puissance).
    - Fréquence de fonctionnement: 16Mhz.
    - Dimensions: 88.9mm x 40.64mm.
    - Entres-axes de fixations: 81.28mm x 33.02mm.
    - Fixations par vis M3 (perçages diamètre 3.2mm).
    Ici c'était en version avec régulateur LT1073:
    dsc07071.jpgdsc07033.jpg

    J'ai mi le plan de cette carte en pièce jointe (avec en plus mon système MODULE), #####.
    Fichiers attachés
    Dernière modification par gienas ; 17/08/2017 à 18h39. Motif: Idem #-1
     


    • Publicité



  6. freepicbasic

    Date d'inscription
    août 2006
    Localisation
    France
    Âge
    61
    Messages
    4 525

    Re : Construction d'une radiocommande R/C !

    Tu dit que tu utilise un module RF24L01+ !
    As tu testé la portée de ce module ?
    Les modules avec antenne PCB n'ont qu'une centaine de mètres de portée.
    Le datasheet dit jusqu'à 1km.
    Certains site disent "avec de la chance" LOL.
    D'autres vendent des modules en disant 1.8km...
    Bref , y a de tout avec le même circuit.
    Apparemment celui de la photos as un connecteur, y a t il aussi un ampli intégré en plus ?
    un lien sur ce modèle serait sympa.

    Sur le fichier librairie , il y a plusieurs µp , je suppose que le prog ne passe pas sur un 328 par exemple ?

    Pourquoi utiliser un afficheur LEDs qui consomme et affiche peu de données.

    Il y a des fonctions gyro sur la lib tu envisage aussi un récepteur ?
    Ton prog d'émission est compatible avec une marque existante ?
    L'antenne récepteur est comme celle de l'émetteur (Pinwhell) ?

    Pour le PCB et schéma , tu utilise quelle logiciel ?
    Pourrait tu le mettre sous forme JPG ?
    Dernière modification par freepicbasic ; 18/08/2017 à 11h27.
    A+, pat
     

  7. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    Citation Envoyé par freepicbasic Voir le message
    Tu dit que tu utilise un module RF24L01+ !
    As tu testé la portée de ce module ?
    Les modules avec antenne PCB n'ont qu'une centaine de mètres de portée.
    Le datasheet dit jusqu'à 1km.
    Certains site disent "avec de la chance" LOL.
    D'autres vendent des modules en disant 1.8km...
    Bref , y a de tout avec le même circuit.
    Apparemment celui de la photos as un connecteur, y a t il aussi un ampli intégré en plus ?
    un lien sur ce modèle serait sympa.

    Sur le fichier librairie , il y a plusieurs µp , je suppose que le prog ne passe pas sur un 328 par exemple ?

    Pourquoi utiliser un afficheur LEDs qui consomme et affiche peu de données.

    Il y a des fonctions gyro sur la lib tu envisage aussi un récepteur ?
    Ton prog d'émission est compatible avec une marque existante ?
    L'antenne récepteur est comme celle de l'émetteur (Pinwhell) ?

    Pour le PCB et schéma , tu utilise quelle logiciel ?
    Pourrait tu le mettre sous forme JPG ?
    Déjà bonjour

    Je vais prendre "tes questions" étapes par étapes, parce qu'il y en a beaucoup:

    Tu dit que tu utilise un module RF24L01+ !
    As tu testé la portée de ce module ?


    Il a un circuit pour booster la puissance effectivement, il est donné pour + d'1km avec une antenne baton (pas terrible), moi je l'ai testé avec antenne trèfle:
    https://www.tindie.com/products/ICSt...ll_prod_search


    Sur le fichier librairie , il y a plusieurs µp , je suppose que le prog ne passe pas sur un 328 par exemple ?
    Il ne passe pas sur un 328p déjà par rapport au nombre d'entrées/sorties (étant donné que je ne voulais pas multiplexer les inters et potars), ensuite par rapport à la mémoire effectivement. Le 48p, 88p, 168p, et 328p en boîtier DIP28, et le 164p, 324p, 644p, et 1284p en boîtier DIP40, ce qui correspond aux 2 automates programmables que j'ai conçu: le MODULABLE M20 (20 entrées/sorties) et le MODULABLE M32 (32 entrées/sorties). Donc il n'est dans tous les cas pas question du 328p ici puisque pour mes projets futurs je ne fabrique plus que le M32 qui me plaît bien.


    Pourquoi utiliser un afficheur LEDs qui consomme et affiche peu de données.
    Parce que justement il ne consomme pas beaucoup (y a qu'à mettre un ampèremètre dessus), que je les utilisent dans tous mes projets, et que j'ai horreur des écrans lcd, celui la permet d'afficher toutes les infos dont j'ai besoin, et est surtout extrêmement rapide à rafraîchir à la vitesse du SPI, contrairement à une matrice de milliers de points.

    Utilisé aussi par exemple sur mon compteur Geiger, ça rempli parfaitement ses fonctions:
    dsc02873.jpg


    Il y a des fonctions gyro sur la lib tu envisage aussi un récepteur ?
    C'est un système complet (regardes les photos), le modèle R/C est fabriqué depuis longtemps et vol avec mon algorithme perso:
    dsc02048.jpgdsc06758.jpg

    En pièce jointe je t'ai mis le programme de vol du quadri si tu veux, qui fonctionne avec n'importe quelle radio et récepteur standard de modélisme.

    Ton prog d'émission est compatible avec une marque existante ? non
    L'antenne récepteur est comme celle de l'émetteur (Pinwhell) ? émetteur/récepteur c'est une trèfle 3 et 4 branches.

    Pour le PCB et schéma , tu utilise quelle logiciel ? Kicad avec ma bibliothèque de composants perso (également en pièce jointe si tu veux).
    Pourrait tu le mettre sous forme JPG ? oui, mais je les met toujours au format Gerber standard utilisé par tout le monde
    Je peux prendre une photo si tu veux..

    N'hésites pas si tu as d'autres remarques.
    Fichiers attachés
     

  8. freepicbasic

    Date d'inscription
    août 2006
    Localisation
    France
    Âge
    61
    Messages
    4 525

    Re : Construction d'une radiocommande R/C !

    Tu compile avec quoi ?
    La librairie fonctionne sous AVR studio 4 ?
    Et aussi sous arduino ?
    As tu fait un manuel de ta radio ?
    Les manches de commande viennent d'où ?
    5K linéaire ?
    Pourquoi une tension si élevée 9.6V ?
    Avec 2 x 3.7V , ce n'était pas suffisant ?

    Peux tu publier un premier jet du soft , même si ce n'est pas terminé ?
    Dernière modification par freepicbasic ; 18/08/2017 à 17h45.
    A+, pat
     

  9. freepicbasic

    Date d'inscription
    août 2006
    Localisation
    France
    Âge
    61
    Messages
    4 525

    Re : Construction d'une radiocommande R/C !

    le bouton rotatif c'est un contact droite gauche ou une roue codeuse ?
    A+, pat
     

  10. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    Citation Envoyé par freepicbasic Voir le message
    Tu compile avec quoi ?
    La librairie fonctionne sous AVR studio 4 ?
    Et aussi sous arduino ?
    As tu fait un manuel de ta radio ?
    Les manches de commande viennent d'où ?
    5K linéaire ?
    Pourquoi une tension si élevée 9.6V ?
    Avec 2 x 3.7V , ce n'était pas suffisant ?

    Peux tu publier un premier jet du soft , même si ce n'est pas terminé ?
    le bouton rotatif c'est un contact droite gauche ou une roue codeuse ?
    Tu compile avec quoi ?
    avr-gcc

    La librairie fonctionne sous AVR studio 4 ?
    je ne sais pas, je n'est jamais rien utilisé à part avr-gcc en ligne de commande sur linux ubuntu

    Et aussi sous arduino ?
    je ne pense pas étant donné que ça n'a rien à voir avec arduino

    As tu fait un manuel de ta radio ?
    J'ai pas vraiment fait un manuel, mais pour l'instant un bon aperçu des fonctions sur mon site + quelques détails de procédures (voir pièce jointe).

    Les manches de commande viennent d'où ?
    N'ayant eu qu'une semaine pour faire les usinages (dans l'ancien atelier de mon père), j'ai pas pris le temps de faire les manches effectivement. Ce sont ceux en plastique de l'AURORA9 de chez hitec.

    5K linéaire ? Oui, le circuit de conversion analogique/numérique du microcontrôleur est optimisé pour fonctionner avec des impédances en entrée de 10kΩ, et peut fonctionner correctement de 1kΩ à 100kΩ.

    Pourquoi une tension si élevée 9.6V ?
    Heureusement que je ne te parle pas du 400V de mon compteur geiger alors
    Pourquoi 9.6V, parce que cela donne plus d'autonomie tout simplement (sans changer l'intensité), et que mon dropout (datasheet) est de 2V, faisant tourner le microcontrôleur à 5V (pour rester dans les données constructeur pour 16Mhz de cadence), et que je peux alimenter jusqu'à +35V le régulateur.

    Peux tu publier un premier jet du soft , même si ce n'est pas terminé ?
    Je préfère tout tester en vol avant sur le terrain.


    le bouton rotatif c'est un contact droite gauche ou une roue codeuse ?
    Ni l'un ni l'autre, c'est un potentiomètre 10k, et avec MODULE je lui met un cycle d'hysteresis avec ma classe Hysteresis.h , donc c'est très sympa à utiliser le menu dans ces conditions, en moins de 5 minutes toute à l'heure j'ai réglé entièrement mon quadri-hélicoptère, autrement dit j'ai réglé ces paramètres (que tu peux trouver déja réglé dans le programme que je t'ai mis en pièce jointe dans mon autre réponse):

    FREQUENCY ESC = 1000; (en hertz)
    CUT ESC = 100; (en micrseconde)
    MIN ESC = 129; (en micrseconde)
    MAX ESC = 248; (en micrseconde)
    SPEED PITCH = 340; (en degrés par seconde)
    SETUP_SPEED_ROLL = 340; (en degrés par seconde)
    SPEED YAW = 340; (en degrés par seconde)
    GAIN PITCH = 97; (en pourcentage)
    GAIN ROLL = 94; (en pourcentage)
    GAIN YAW = 97; (en pourcentage)
    TRAVEL PITCH ROLL VS YAW = 40; (en pourcentage)
    THRUST PROPELLER = 90; (en pourcentage)
    LOCK = 60; (en pourcentage)
    LIMIT THROTTLE = 90; (en pourcentage)


    Soit pas mal de paramètres, j'aurais mi plus de 5 minutes à régler cela avec ma FUTABA T12FG du commerce, mais surtout, j'aurais tout simplement pas pu les régler ! En fait il m'aurais fallut 19 voies à mon récepteur de modélisme standard, soit 5 voies de pilotage (throttle, pitch, roll, yaw, throttle cut) + les 14 paramètres.



    Si tu veux plus d'infos et de réponses à tes questions sur la radiocommande et ce qui entour ce projet, je t'ai mi en pièce jointe des pdf que tu peux consulter (il y a des exemples et une aide pour se servir de la bibliothèque sur lequel est basé le programme de la radiocommande et du quadri-hélicoptère).
    Fichiers attachés
     

  11. freepicbasic

    Date d'inscription
    août 2006
    Localisation
    France
    Âge
    61
    Messages
    4 525

    Re : Construction d'une radiocommande R/C !

    Questions:

    Envisage tu de créer un forum sur ton blog ?

    J'essais sur UBUNTU;
    Sur le 1er exemple tu met comment charger le compilateur les lib et l'usbasp ! (je l'ai fait)
    Mais tu ne met pas la ligne pour compiler et dans quel répertoire tu met le fichier,
    car j'ai vu que l'include de module, c 'est ../module/etc..
    Le mieux serait de mettre la même structure de fichiers que toi!

    Apparemment tu connais bien Linux , répondrais tu à des questions Linux ?

    Connais tu "multiWII" ?

    Sur linux utilise tu eclipse ?

    La lib tu l'as créé ou c 'est une lib public ?
    Quelle origine?

    Peut on la porter sur l' ATMEGA2560 ?

    Pourrait tu faire une vidéo de la manip pour gérer les modèles et paramètres avec les boutons ?

    Peut tu commenter ce que font ces paramètres programmables ?

    La communication est duplex ?
    Sur le récepteur tu met le même module ?
    Sais tu s'il y a un PA comment il font la réception ?
    (car l'antenne est après le PA et la sortie du RF24 est connecté au PA, ou alors il faut 2 modules)


    protocole;
    Tu envoie 64 bits , tu dis 2 fois 32 bits, c'est le nRF24L01 qui l'envoie en 2 fois ?
    Tu met 0X55 ou 0xAA comme entête ?
    Il y a un CRC ?
    Il n'y a pas d'extensions pour communication futur ?
    (du genre une 3 iem salve de 32 bits facultative, ça obligerait peut être à signer chaque bloc pour les différencier)





    Commentaires:

    Ton boitier (y compris le chassis du quadri) est MAGNIFIQUE, mais tout le monde n'a pas accès à un tour fraiseuse et plaque d'alu...
    L'atmega1264 est assez cher et moins répandu que l' ATMEGA2560.
    Envisage tu une version "low cost" ou avec "différentes options" ,
    personnellement je pensais mettre un LCD et plusieurs petite carte genre arduino nano.
    Et pour le récepteur un STM32.
    A+, pat
     

  12. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    Citation Envoyé par freepicbasic Voir le message
    Questions:

    Envisage tu de créer un forum sur ton blog ?

    J'essais sur UBUNTU;
    Sur le 1er exemple tu met comment charger le compilateur les lib et l'usbasp ! (je l'ai fait)
    Mais tu ne met pas la ligne pour compiler et dans quel répertoire tu met le fichier,
    car j'ai vu que l'include de module, c 'est ../module/etc..
    Le mieux serait de mettre la même structure de fichiers que toi!

    Apparemment tu connais bien Linux , répondrais tu à des questions Linux ?

    Connais tu "multiWII" ?

    Sur linux utilise tu eclipse ?

    La lib tu l'as créé ou c 'est une lib public ?
    Quelle origine?

    Peut on la porter sur l' ATMEGA2560 ?

    Pourrait tu faire une vidéo de la manip pour gérer les modèles et paramètres avec les boutons ?

    Peut tu commenter ce que font ces paramètres programmables ?

    La communication est duplex ?
    Sur le récepteur tu met le même module ?
    Sais tu s'il y a un PA comment il font la réception ?
    (car l'antenne est après le PA et la sortie du RF24 est connecté au PA, ou alors il faut 2 modules)


    protocole;
    Tu envoie 64 bits , tu dis 2 fois 32 bits, c'est le nRF24L01 qui l'envoie en 2 fois ?
    Tu met 0X55 ou 0xAA comme entête ?
    Il y a un CRC ?
    Il n'y a pas d'extensions pour communication futur ?
    (du genre une 3 iem salve de 32 bits facultative, ça obligerait peut être à signer chaque bloc pour les différencier)





    Commentaires:

    Ton boitier (y compris le chassis du quadri) est MAGNIFIQUE, mais tout le monde n'a pas accès à un tour fraiseuse et plaque d'alu...
    L'atmega1264 est assez cher et moins répandu que l' ATMEGA2560.
    Envisage tu une version "low cost" ou avec "différentes options" ,
    personnellement je pensais mettre un LCD et plusieurs petite carte genre arduino nano.
    Et pour le récepteur un STM32.
    Bonjour

    Je vais être obligé (désolé) de recopier encore tes questions pour plus de clarté, car il y en as beaucoup pour y répondre.


    Envisage tu de créer un forum sur ton blog ?
    Ce ne sera jamais fait non, à l'époque j'ai déjà fait ça en php sur un autre site, même avec un tchat temps réel (ou on voyait les frappes clavier des intervenants en temps réel, ceci pour ajouter plus de convivialité et de spontanéité à la conversation), mais ici le blog restera comme ça.


    J'essais sur UBUNTU;
    Sur le 1er exemple tu met comment charger le compilateur les lib et l'usbasp ! (je l'ai fait)
    Mais tu ne met pas la ligne pour compiler et dans quel répertoire tu met le fichier,
    car j'ai vu que l'include de module, c 'est ../module/etc..
    Le mieux serait de mettre la même structure de fichiers que toi!

    Dans l'archive de MODULE, tu as en fait un fichier batch que j'ai écrit qui s'appelle Compiler.sh, ce fichier la fait tout pour toi (compilation + upload), il détecte le microcontrôleur sur la carte (dans les 8 supportés par MODULE), change les fusibles, réinitialise notament les lock bits par un cycle "erase", (comme ça peut import d'ou les gens récupèrent leur microcontroleur, d'une poubelle ou quoi, ça doit marcher),. etc..

    Voila la ligne (pour compiler) qu'il y a dans ce fichier Compiler.sh:
    Code:
    avr-gcc main.cpp -mmcu=atmega$device -Wall -Wno-sign-compare -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -std=c++11 -o main.elf
    Si tu veux tout faire en manuel, les fusibles du microcontrôleur doivent être les bons (lfuse: 0xff hfuse: 0xdf efuse: 0xfc), le programmateur que j'utilise est un USBasp, donc ma ligne avr-dude est:
    Code:
    avrdude -P /dev/ttyACM0 -c usbasp -p m$device -U flash:w:main.hex:i

    Pour la structure de tes répertoires, tu as un dossier qui s'appelle "toto" on va dire, le dossier "module" est dans "toto", et le dossier de ton projet, je vais reprendre "example" (comme dans mon archive) est aussi dans "toto".

    Dans ce dossier "example" il y a ton main.cpp, et la routine de compilation + upload. Donc les inclusions de fichiers (include) ont se chemin d'adresse effectivement:
    Code:
    #include "../module/1284p/GpioRead.h"
    #include "../module/1284p/GpioWrite.h"
    etc...

    Apparemment tu connais bien Linux , répondrais tu à des questions Linux ?
    Connais tu "multiWII" ?

    Oui je connais sans m'y intéresser, depuis le début de ce projet à vrai dire (puisque ça fait plus de 15 ans que je pratique l'aéromodélisme), l'origine (il me semble bien) ce sont des universitaires qui ont créés un concours de "choses volantes en tri et quadricoptère" (c'est un peu les inventeurs de la formule compacte qu'on connaît actuellement), le but était le vol autonome ou semi-autonome, mais ça remonte à longtemps, on en voyait les débuts dans le magasine RCM assez connu, je ne sais pas si ça existe encore ce concours. L'armée s'y intéressait beaucoup à l'époque.


    Sur linux utilise tu eclipse ?
    Non je l'ai jamais utilisé, mais il parait qu'il est bien.
    Sur windows je programmais avec nodepad++, juste un editeur de texte au final avec la coloration syntaxique, la j'utilise gedit sur linux qui est un peu l'équivalent.
    C'est juste un bloc-note coloré on peut dire


    La lib tu l'as créé ou c 'est une lib public ?
    Quelle origine?

    Laquelle, MODULE? Si c'est le cas, oui, c'est une création personnelle (voir documentation1.zip doc1 module.pdf).
    Si je me trompe, alors précises ton interrogation?


    Peut on la porter sur l' ATMEGA2560 ?
    Oui, sans problème. C'est d’ailleurs pas très très difficile car, Microchip (anciennement Atmel) je trouve ont fait un boulo super concernant les adresses de leurs registres communes à toute leur gamme ATmega.

    Par exemple j'ai du mettre 30 minutes, ou peut être 1 heure pour porter du 328p au 168p, parce que je souhaitais tout vérifier. Alors qu'en fait tout correspondait parfaitement sauf la mémoire flash de 32k vers 16k. Pour passer du 328p au 1284p par exemple, c'était un peu plus long parce qu'ils n'ont pas les mêmes pins et distribution des pins, mais rien de méchant.


    Pourrait tu faire une vidéo de la manip pour gérer les modèles et paramètres avec les boutons ?
    De la radiocommande, oui quand j'aurais fini d'y mettre l'électronique à l'intérieur. Pour l'instant elle à les boyaux sortis.


    Peut tu commenter ce que font ces paramètres programmables ?
    Les paramètres programmables envoyés par le (ou du) quadricoptère?

    Si c'est le cas:
    FREQUENCY ESC = 1000; (en hertz)
    C'est la fréquence du pwm envoyé au contrôleurs de moteur brushless, qui sont actuellement sur mon prototype des kiss esc 18A, mais un controlleur brushless perso qui fonctionne avec MODULE est actuellement en conception aussi:

    dsc06985.jpgdsc06986.jpg

    (il est gros parce que c'est un prototype afin d'y voir plus clair)
    Pour l'instant je dois perfectionner mon système de digitalisation du back EMF, mais il fonctionne déjà pas mal.


    CUT ESC = 100; (en microseconde)
    La coupure moteur des contrôleurs de moteur brushless.

    MIN ESC = 129; (en microseconde)
    Le ralenti moteur des contrôleurs de moteur brushless.

    MAX ESC = 248; (en microseconde)
    Le plein gaz des contrôleurs de moteur brushless.

    SPEED PITCH = 340; (en degrés par seconde)
    La vitesse maximum que tu souhaites avoir en tangage (quand ton manche est braqué à fond).

    SETUP_SPEED_ROLL = 340; (en degrés par seconde)
    La vitesse maximum que tu souhaites avoir en roulis (quand ton manche est braqué à fond).

    SPEED YAW = 340; (en degrés par seconde)
    La vitesse maximum que tu souhaites avoir en lacet (quand ton manche est braqué à fond).

    GAIN PITCH = 97; (en pourcentage)
    Le gain (ou sensibilité) de la boucle d'asservissement gyroscope pour l'algorithme de vol sur l'axe de tangage, comme pour un hélicoptère à rotor classique et à gyroscope du commerce, il faut ici faire des tests en vol pour trouver la valeur maximale avant le "pompage", autrement dit avant la rentrée en résonance de cette boucle.

    Avec un hélicoptère à rotor classiques cela se trouve en effectuant des translations rapides en avant et en arrière, et dans le vent + vent relatif (cela se juge à l'oreille pour savoir si le gain est bien réglé).

    GAIN ROLL = 94; (en pourcentage)
    Le gain (ou sensibilité) de la boucle d'asservissement gyroscope pour l'algorithme de vol sur l'axe de roulis.

    GAIN YAW = 97; (en pourcentage)
    Le gain (ou sensibilité) de la boucle d'asservissement gyroscope pour l'algorithme de vol sur l'axe de lacet.

    TRAVEL PITCH ROLL VS YAW = 40; (en pourcentage)
    Dans mon algorithme, les débattements sont toujours au maximum (la en l’occurrence de 129us à 248us comme réglé plus haut), cela signifie que l'algorithme dispose du "plein pouvoir" pour stabiliser le vol. Ce pourcentage est pas évident à expliquer, 40% signifie que 40% des débattements sont attribués au tangage et au roulis pour effectuer les corrections, et que 60% (le reste) du débattement est confié au lacet.

    Imaginons que tu construises un hélicoptère au chassis plus court que le miens, et donc aux bras de levier moins importants, les hélices sont donc plus proches les unes des autres, il faudra donc moins de différentiel de gaz pour effectuer des mouvements sur l'axe de lacet, et donc il y aura besoin de moins de débattements alloués au lacet comparé au tangage et roulis, ce paramètre de 40% (donc 60% laissé au lacet) pourra être remonté.


    THRUST PROPELLER = 90; (en pourcentage)
    Ça c'est la gestion du rendement des hélices qui augmente en fonction de leurs vitesse, cela agit sur les valeurs de gains écrites plus haut. Autrement dit, quand tu es plein gaz, tu as 90% de tes gains (indiqués en paramètre), quand tu es gaz au ralenti, tu as 100%.

    C'est pour avoir des gains optimisés quel que soit le rendement des hélices.


    LOCK = 60; (en pourcentage)
    Quand tu effectues une action sur le manche de tangage, roulis, ou lacet, les gains que tu as indiqué en paramètre se voient augmenter de 60% (avec un lissage au cours du temps, mais passons) sur l'axe concerné. C'est pour la voltige ! Ça participe au verrouillage du quadricoptère lors des actions vives sur les manches et pour des acrobaties.


    LIMIT THROTTLE = 90; (en pourcentage)
    Participe au verrouillage du quadri lors des mise gaz ralenti, plein gaz, gaz ralenti, plein gaz, etc...
    Ça remet pas tout à fait plein gaz justement, ça met 90% (ici) de gaz, ce qui laisse l'algorithme avec plus de liberté pour effectuer ses corrections.

    En fait j'ai ajouté ce paramètre parce que j'ai un quadricoptère complètement sur-motorisé, pour une fois je suis sorti des données constructeur en faisant par exemple fonctionner des moteurs prévus en 3s avec du 4s. Ils tournent à 36000trs minute environ, mais ce qui m'intéresse c'est la voltige à vue (uniquement), pas le coté "drone" (avec caméra), ce qui explique.

    Faut bien comprendre que quand on est gaz au ralenti, on ne peux pas sur des moteurs mettre encore moins de gaz pour effectuer des corrections, et quand on est plein gaz, la seule méthode est de diminuer les tours de certains moteurs pour effectuer des corrections de l'assiette du modèle.

    Il s'avère qu'a des puissances trop grandes des moteurs, j'ai constaté que c'est plus compliqué de stabiliser un vol en diminuant le gaz sur les moteurs concernés plutôt qu'en augmentant le gaz. Ce 90% en paramètre (ou ce qu'on veut %, c'est à définir en fonction de ta config) permet de laisser une marge de 10% à l’algorithme pour mettre du gaz en positif pour effectuer des corrections d'assiette.

    Mais c'est très très subtil, faut vraiment faire de la voltige pour s'en rendre compte !


    Après, désolé si c'était des paramètres de la radiocommande dont tu parlais...


    La communication est duplex ?
    Dans les 2 sens oui, étant donné que c'est tranceiver.


    Sur le récepteur tu met le même module ?
    La radiocommande et le modèle sont équipés exactement de la même chose, c'est un montage parfaitement symétrique.


    Sais tu s'il y a un PA comment il font la réception ?
    (car l'antenne est après le PA et la sortie du RF24 est connecté au PA, ou alors il faut 2 modules)

    Oui il y a un PA, après comment est fait le truc, je ne sais pas trop.


    protocole;
    Tu envoie 64 bits , tu dis 2 fois 32 bits, c'est le nRF24L01 qui l'envoie en 2 fois ?

    Dans ma classe Nrf24l01p.h, les variables que tu créé (à envoyer) sont 32 bits signés (ce qui laisse pas mal de flexibilité du système au niveau du type de données que tu peux envoyer).

    Le nRF24L01+ qu'en à lui envoi la clé unique (32 bits) + la variable (ta donnée perso sur 32 bits) + l'adresse de la variable que tu as défini (8 bits) + j'imagine un checksum.

    Ma radiocommande elle envoi :
    - Gaz sur 10 bits (0 à 1023).
    - Axe de rouli sur 10 bits (0 à 1023).
    - Axe de tangage sur 10 bits (0 à 1023).
    - Axe de lacet sur 10 bits (0 à 1023).
    - Interrupteur de coupure moteur/autre sur 1 bit (0 à 1).
    - Interrupteur auxiliaire A sur 2 bits (0 à 2).
    - Interrupteur auxiliaire B sur 2 bits (0 à 2).
    - Interrupteur auxiliaire C sur 2 bits (0 à 2).
    - Bouton rotatif auxiliaire D sur 10 bits (0 à 1023).
    - Système à tolérance de pannes (fail-safe) sur 6 bits (0 à 63).
    - Ordre de mise à jour sur 1 bit (0 à 1).

    Donc ça prend 2 communications avec le nRF24L01+, pas plus.
    Le modèle lui retourne sa tension de batterie (sur 10 bits), sa télémétrie perso (en supplément, sur 21 bits), et la confirmation qu'il a fait la mise à jour des paramètres quand c'est demandé depuis la radiocommande (sur 1 bit).


    Tu met 0X55 ou 0xAA comme entête ? Ou ?


    Il y a un CRC ? Oui, et un accusé de réception.


    Il n'y a pas d'extensions pour communication futur ?
    (du genre une 3 iem salve de 32 bits facultative, ça obligerait peut être à signer chaque bloc pour les différencier)
    Je ne pense pas à vrai dire.
     

  13. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    Commentaires:

    Ton boitier (y compris le chassis du quadri) est MAGNIFIQUE, mais tout le monde n'a pas accès à un tour fraiseuse et plaque d'alu...

    Merci pour les encouragements, après, mon idée de base était de faire une radiocommande plus ou moins à l’arrache toute en bois, pour bien faire kéké sur les terrains de modélisme avec leurs radiocommandes du commerce, mais comme d'hab, je dévie du projet initial comme toujours.

    Les gens ne sont pas obligés de faire comme ça, tu prends une planche de contre plaqué, tu visses tes cartes électronique dessus, tu met une sangle vite fait bien fait, 2 manches, 1 inter, et voila la radio est faite (comme certains projets sympas et amusants qu'on voit sur le net).

    Pour un tour ou une fraiseuse, il faut regarder des fois sur les annonces, ou les lycées techniques, ou vieilles entreprises qui mettent ce genre de matériel carrément à la casse (puisque maintenant cela se fait beaucoup en usinage commande numérique). Après, faut de la pratique, moi j'ai commencé l'usinage j'avais même pas 10 ans, j'en est 32 maintenant (mais tout s’apprend).


    L'atmega1264 est assez cher et moins répandu que l' ATMEGA2560.
    Envisage tu une version "low cost" ou avec "différentes options" ,
    personnellement je pensais mettre un LCD et plusieurs petite carte genre arduino nano.
    Et pour le récepteur un STM32.


    Tout est possible, c'est vrai. J'envisage pas le 2560 parce que je ne soude que des composants traversants, j'ai eu beaucoup de réflexion à ce sujet, mais moi j'aime bien le coté bricoleur avec de l'électronique qui fait un peu vieille école. C'est un choix.

    Encore une fois tout est possible, si tu veux faire ça avec le 2560, c'est tout à ton honneur.

    Pour le reste LCD, etc.. c'est également libre à toi (ce n'est pas mon truc), mais beaucoup se tournent vers le lcd. Par contre "au revoir" à mon avis la vitesse de la boucle (à moins d'un miracle).


    J'espère avoir répondu à peu prêt à tes questions
     

  14. sylvainmahe

    Date d'inscription
    septembre 2014
    Messages
    201

    Re : Construction d'une radiocommande R/C !

    L'atmega1284 est assez cher et moins répandu que l' ATMEGA2560

    Oui pour le "répandu", mais non pour le prix.

    Sur un site ou je vais souvent, le 1284P est à 7.25€, alors que le 2560 est à 15.91€ !
     

  15. freepicbasic

    Date d'inscription
    août 2006
    Localisation
    France
    Âge
    61
    Messages
    4 525

    Re : Construction d'une radiocommande R/C !

    7.65 € Arduino complet avec le câble port compris;
    http://www.ebay.fr/itm/Mega-2560-R3-...YO0g-aWjv7AlMw

    Sur ton site il n'y a aucun schéma ?
    J'ai l'impression que tu fait des cartes direct , sans schéma !

    As tu le schéma du driver ?
    Et du soft ?
    tu dis 1000hz pour le driver , normalement on envoie du PPM comme un servo ?

    Quelle capacité la batterie du quadri ?

    Quelle référence les moteurs ?

    Je n'ai pas bien compris le ralenti sur un moteur électrique, peut tu expliquer ?
    Et l'arret moteur ?
    Sur les moteurs thermiques, on règle de façon à ce que le triim mini cale le moteur lorsqu'il est au ralenti !
    Mais avec un électrique ? ( à moins que ce soit pour garder la compatibilité...)

    Tu parle de calcul en mode acrobatique par rapport au ralenti, pas compris peux tu expliquer ?
    (je n'ai pas cette expérience...)


    Je pensais que M20 était un système (soft) autonome , en fait c'est la carte et la lib ?


    Je vais me mettre sur le soft , ça devrait être assez portable c est du GCC !
    Dernière modification par freepicbasic ; 20/08/2017 à 07h44.
    A+, pat
     


    • Publicité







Sur le même thème :





 

Discussions similaires

  1. radiocommande
    Par monjis dans le forum Électronique
    Réponses: 4
    Dernier message: 22/03/2009, 09h24
  2. radiocommande
    Par Manu-44 dans le forum Électronique
    Réponses: 1
    Dernier message: 25/08/2007, 21h06
  3. radiocommande
    Par tictic57 dans le forum Électronique
    Réponses: 20
    Dernier message: 23/10/2006, 16h38
  4. la radiocommande
    Par zakariaminus dans le forum Électronique
    Réponses: 10
    Dernier message: 06/01/2006, 00h12
  5. commander radiocommande par pc????
    Par fred888 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/08/2005, 21h52