[RF/Radioelec] Aide au choix/compréhension des différents modules RF
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Aide au choix/compréhension des différents modules RF



  1. #1
    scaypapa

    Aide au choix/compréhension des différents modules RF


    ------

    Bonjour,

    Je cherche à utiliser un petit module sans fil pour transmettre des données d'un PIC à un autre. Mais je ne connais pas tellement le sujet et il y a l'embarras du choix entre les différentes technologies.
    Pourriez-vous s'il vous plaît m'aider à m'aiguiller et à comprendre les différences fondamentales entre les différents systèmes proposés ?

    Ce dont j'ai besoin :
    • Simplement un émetteur et un récepteur, si possible pouvant communiquer dans les 2 sens. L'un d'eux étant portable et branché sur batterie, l'autre étant fixe et alimenté par le secteur (via un petit transfo 5V) ou par une prise USB.
    • Quelque chose de simple à mettre en œuvre, si possible fonctionnant "Out Of the Box". Je voudrais envoyer/recevoir mes données via Usart ou SPI à partir d'un PIC vers le module embarqué, et récupérer les mêmes données de l'autre côté sur le module fixe avec un autre PIC.
      Ce dernier devra retransmettre ou récupérer des données en Usart à 31250 bauds vers/depuis un équipement filaire.
    • Une consommation et un encombrement les plus faibles possibles, au moins pour le module embarqué.
    • Une portée de 300m environ. Je dis ça en ayant en tête que quand on parle de 300m de portée, on l'entend sur un terrain plat et sans obstacles. En intérieur, ça diminue facilement à 10m s'il y a des murs en béton armé.
    • Un coût de revient global aussi faible que possible évidemment .

    Ce que je me demande :
    • Je vois toutes sortes de dénominations sur internet, mais je n'en connais pas les différences. Que veulent dire concrètement "RF", "RFID", "IEEE 802.15.4", "LoRa", "MiWi", "ZigBee", "XBee"... J'imagine que selon les marques, il y a encore d'autres modèles.
    • Certains disposent d'une antenne type PCB, d'autres d'une petite antenne soudée au PCB, d'autres encore demandent à connecter une vraie antenne externe. Je pense bien que ça a une influence sur la portée du système, mais dans quelles proportions ?
      Peut-on associer par exemple un élément compact avec une antenne PCB (pour la partie embarquée) avec un élément avec antenne externe ? Et surtout, comment choisir la configuration idéale ?
    • Quelle fréquence choisir ? Je vois des modules en 2.4GHz, 928MHz, 433MHz etc... Est-ce que ce choix est lié à la vitesse finale de mon signal (31250 bauds) ou est ce que ça n'a rien à voir ? Qu'est-ce que ça change concrètement ? Aussi, comment se prémunir d'interférences éventuelles si un autre équipement sans fil se trouve dans la portée du système ?
    • Comment se passe la configuration de ces modules ? J'ai maintenant l'habitude de programmer des PIC en USB par le biais du PicKit3. Est-ce que ces modules se configurent de la même manière ou est-ce le µC qui y sera connecté qui doit envoyer des informations d'initialisation au module lors du démarrage ?

    Voilà, en gros je ne connais pas du tout le sujet et j'aurais besoin d'aiguillage pour pouvoir choisir ce qui sera le plus adapté à ma situation...
    Merci beaucoup.

    J'ai fait un petit shéma pour tenter d'être un peu plus clair...
    Nom : RF.jpg
Affichages : 170
Taille : 26,8 Ko

    -----
    Dernière modification par scaypapa ; 12/11/2018 à 10h06.

  2. #2
    jiherve

    Re : Aide au choix/compréhension des différents modules RF

    Bonjour
    tout d'abord choisir une fréquence d’émission légale pas trop encombrée et respecter les règles d'utilisation ainsi souvent on ne peut émettre en permanence
    Ensuite amha s'orienter vers les petits module HF ayant une interface type RS232 cela existe chez Aurel et cela reste abordable.
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    f6bes

    Re : Aide au choix/compréhension des différents modules RF

    Bjr scaypapa,
    Je te cites: "....Simplement un émetteur et un récepteur, si possible pouvant communiquer dans les 2 sens.."
    Dans ce cas c'est 2 émetteurs et deux récepteurs, si tu veux comuniquer bi latéralement.
    L'émetteur "primaire" faudra bien qu'il recoive ( donc réception) ce que lui envoie ( émission) le récepteur "primaire".
    Bien sur faut pas qu'il se brouille entre eux.
    D'autres part faut établir un protocole de transmission si tu veux etre certain que ton récepteur à nien "compris" le message qui lui est destiné.
    Tu peux transmettre SANS vérifications, mais sans savoir si c'est bien reçu ! Un bon protocole fait en sorte que le message
    est répété jusqu'à ce que le récepteur dise..."j'ai bien reçu et SANS erreur ( données manquantes )

    On se prémunit des interférnces avec un sytéme ACK (confirmation que le message a été bien reçu)

    L'influence de l'antenne (PCB) ou VRAIE antenne BIEN dégagée, peut etre énorme.
    A 2.4 Ghz tu peux faire qq dizaines de métres (PCB) comme 10 kilométres ( vraie antenne BIEN dégagée du..SOL)
    Plus la fréquence est basse, plus c'est..relativement...plus facile ( tout est...relatif !!)

    Bonne journée
    La mesquinerie et rabrouement est un indicateur d'état d'esprit de l'auteur.

  4. #4
    invite3c199cf9

    Re : Aide au choix/compréhension des différents modules RF

    Bonsoir,
    Tu peux utiliser 2 transceivers comme celui-ci:
    https://www.ebay.fr/itm/433Mhz-HC-12...3h1:rk:22:pf:0
    L'investissement est raisonnable...
    Ces modules communiquent par liaison série, il te faut donc un UART disponible sur chaque PIC.

  5. A voir en vidéo sur Futura
  6. #5
    scaypapa

    Re : Aide au choix/compréhension des différents modules RF

    D'abod merci beaucoup pour vos réponses.

    @f6bes:
    En effet, c'était une grosse approximation de ma part de parler d'émetteur et récepteur, je voulais plutôt parler de "transceivers".
    Pour la gestion de la bonne compréhension des messages, en effet, mais ce problème est vraiment logiciel et géré par les PICs (ça viendra quand j'aurais le matériel sous la main).
    En gros, je me crée un code, par exemple
    • 0xFF = "OK"
    • 0xF0 = "j'ai un message pour toi"
    • Pour transmettre un message à l'autre côté, j'envoies : UART_Write(0xF0);
    • De l'autre côté, si je reçois 0xF0, je revoies 0XFF
    • Si le premier recoit bien 0xFF, il continue par le message lui-même sur la même méthode (le contrôle au niveau récepteur se fait alors sur la pertinence du message reçu : il doit être cohérent)
    • Sinon, je renvoie l'octet perdu
    • Au bout de 3-5 essais infructueux, je peux considérer que la liaison est perdue et agir en conséquences

    Ce n'est pas prévu pour le moment, mais cette méthode me permettrait également de parler avec divers modules, en leur donnant à chacun une adresse (0xF0 pour le premier, 0xF1 pour le second, 0xF2 pour le troisième etc).

    @ltp1com2:
    En effet, je ne pensais pas qu'il en existait de si peu chers. J'avoue que ça me fait un peu peur d'utiliser du matériel sans marque mais c'est bien ce genre de choses dont j'ai besoin (en gros une simple liaison RS232 sans fil).

    Aussi, j'aimerais comprendre concrètement quelle est l'influence de la fréquence. En effet, je trouve principalement des modèles 400-500MHz, 800-900MHz ou 2.5GHz. Quel est concrètement l'influence de ce paramètre sur la vitesse de communication, la portée, la stabilité... ?
    Ceci pour pouvoir choisir moi-même ce qui sera le plus adapté.

    On trouve différentes marques et de nombreux modèles pour chacune, pour des prix variant de 5 à 30€ le tranceiver. Dur de choisir sans réelles connaissances du problème. Je vois souvent "802.15.4". Est-ce que ça correspond à un protocole propriétaire (ZigBee) ou est-ce générique ?
    Pour finir, si je pars sur un modèle communiquant avec mes PIC en Usart et affichant le protocole 802.15.4 à 2.5GHz, de Seeed par exemple (qui ont apparemment l'avantage d'être open source). Est-ce que si le modèle choisi n'est plus fabriqué à l'avenir, je pourrais continuer à l'utiliser avec un modèle équivalent d'une autre marque ou est-ce qu'ils ne parleront pas du tout la même langue ?

    Je suis désolé pour toutes ces questions, mais le sujet n'a pas l'air simple malgré que beaucoup soient donnés pour fonctionner "OOB".
    Encore merci pour votre aide.
    Dernière modification par scaypapa ; 12/11/2018 à 20h12.

  7. #6
    David71120

    Re : Aide au choix/compréhension des différents modules RF

    Bonjour,
    Si ça peut apporter un peu d'eau au moulin, j'utilise dans plusieurs applications les modules cités par lpt1com2, ils sont très efficaces et très simple d'utilisation.
    Ils sont tellement peu chers que j'en avais pris une bonne dizaine " au cas où " et au final, cela fait plus de deux ans qu'ils tournent sans problème même en extérieur pour certains. Ceux en trop m'ont servi pour d'autres applications.
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

  8. #7
    f6bes

    Re : Aide au choix/compréhension des différents modules RF

    Rremoi Scaypapa,
    Je te cite:"..Si le premier recoit bien 0xFF, il continue par le message lui-même sur la même méthode (le contrôle au niveau récepteur se fait alors sur la pertinence du message reçu : il doit être cohérent)
    Sinon, je renvoie l'octet perdu
    Au bout de 3-5 essais infructueux, je peux considérer que la liaison est perdue et agir en conséquences.."

    Le controle se fait à l'aide d'un "chek sum" que le récepteur destinataire doit RENVOYER à l' émétteur originel.
    SI le chek sum n'est PAS valide ( donc erreur) c'est la procédure mise en place qui se charge de REPETER le message.
    Ce n'est donc PAS toi personnellement.
    La procédure doit inclure (à toi d'en juger) combien de fois devra etre répéter le message le cas échéant.
    La procédure doit bien entendu t'avertir que la liaioson a échouée au bout de x.. essais.
    Bonne journée
    La mesquinerie et rabrouement est un indicateur d'état d'esprit de l'auteur.

  9. #8
    scaypapa

    Re : Aide au choix/compréhension des différents modules RF

    Merci. Oui ça donne de l'eau, puisque ce que je cherche, c'est vos avis et retours d'expérience
    En effet ça a l'air pas mal et assez courant, dommage qu'on n'en trouve pas sur les sites de distributeurs habituels.

    Je regardais aussi le nRF24L01+ qui avait l'avantage de gérer lui-même les éventuels conflits ou compromissions de données, mais qui est moins pratique puisqu'il communique en SPI. Mon µC devrait alors éviter de se mettre en sommeil ou se réveiller régulièrement pour aller lire dans les registres du nRF afin de savoir si des données sont disponibles.
    En Usart, c'est beaucoup plus pratique puisque le PIC peut être réveillé par une arrivée de données.
    J'ai encore 2-3 petites questions du coup parce que par contre, je trouve la datasheet très mal écrite.

    Je trouve des tutos pour Arduino, mais je fonctionne avec un PIC (programmé par MPLab/XC8) et j'ai du mal à comprendre comment configurer le truc.

    1) La datasheet stipule :
    Power pin, the requirements of 3.2V to 5.5V DC power supply, the supply current is not less than 200mA. (Note: If the module is to work for a long time in the transmit state, it is recommended that the power supply voltage of more than 4.5V when connected to a 1N4007 diode, to avoid the module built-in LDO fever.)
    Je trouve cette phrase très biscornue. Voici ce que je comprends, dites-moi si je me trompe.
    Les niveaux Rx/Tx étant donnés à 3.3V, je devrai adapter Tx (5V depuis mon µC) avec un pont diviseur.
    Il semble que pour Vdd, il y ait un régulateur LDO 3.3V intégré. Si j'alimente en 3.3V, il ne sera donc pas suffisemment alimenté.
    Est-ce qu'ils veulent dire que l'idéal est alors d'alimenter en 5V avec une diode série pour faire descendre le niveau en-dessous de 4.5V ?

    2) Question législation, j'ai cru comprendre qu'en France la fréquence de 433MHz est limitée à 10mW, ce qui semble correspondre à 10dBm.
    Il faut donc que je configure le HC-12 avec "AT+P4" pour le limiter à 8dBm. Dites-moi si je me trompe...

    3)Concrètement au niveau de mon soft je ne comprends pas bien comment envoyer des messages "AT+xxxxx", est-ce que cette démarche est la bonne ? Est-ce qu'il y a plus simple ?
    Code:
    void UART_Wrtie(char Data) {
        while (!TXSTA1bits.TRMT); // attente de la fin d'un précédent envoi
        TXREG1 = Data;
    }
    char UART_Read(void) {
        while (!PIR1bits.RC1IF);
        if (RCSTA1bits.FERR || RCSTA1bits.OERR) return 0xFF;
        return RCREG1;
    }
    Code:
    // Placer la pin "SET" à 0
    __delay_ms(40);
    char i = 5;
    while (i) {
        i--;
        UART_Write("A");
        UART_Write("T");
        UART_Write("+");
        UART_Write("P");
        UART_Write(8);
        if (UART_Read() != "O") continue; // passe à l'itération suivante
        if (UART_Read() != "K") continue;
        if (UART_Read() != "+") continue;
        if (UART_Read() != "P") continue;
        if (UART_Read() != 8) continue;
        i++ ; // succès
        break; // sort de la boucle
    }
    if (!i) {
        // Le paramétrage a été impossible.
    }
    J'utiliserai le même genre de procédure pour mes transmissions, mais cette fois les données que j'envoies sont de l'hexa et non plus des caractères, donc c'est plus clair dans ma tête...

    Merci beaucoup à vous.
    Dernière modification par scaypapa ; 13/11/2018 à 10h11.

  10. #9
    scaypapa

    Re : Aide au choix/compréhension des différents modules RF

    PS : Je ne peux plus éditer mon message, mais j'ai volontairement omis l'effacement d'éventuelles précédentes erreurs de lecture (FERR et OERR) dans ma fonction UART_Read pour simplifier le code.
    Aussi, je me suis trompé sur la valeur de AT+Px (ça devrait être 4 pour le configurer à 8dBm). Mais ma question porte surtout sur la procédure...
    Dernière modification par scaypapa ; 13/11/2018 à 10h20.

  11. #10
    scaypapa

    Re : Aide au choix/compréhension des différents modules RF

    @f6bes:

    Bonjour,
    Je viens de voir ton nouveau message mais je ne comprends pas bien ce que tu veux dire. Est-ce que le module (par exemple le HC12) se charge automatiquement de transmettre un checksum à mon PIC ? Dans ce cas, comment le reconnaître ?
    Parce que ce que sinon, j'ai l'impression qu'on parle de la même chose :
    • Mon µC1 veut transmettre un message, il l'envoie par Usart au HC12
    • Mon µC2 recoit un message (à priori )
    • Si le message lui semble cohérent, il renvoit son checksum (0xFF), sinon il renvoie n'importe quoi d'autre.
    • Mon µC1 reçoit un message.
    • Si c'est bien 0xFF, la transmission s'est bien déroulée.
    • Sinon le µC1 revoie le message.
    • Au bout de 3 à 10 essais infructueux, le µC1 considère la liaison perdue et en informe l'utilisateur.

    Ou est-ce que tu veux dire que plutôt qu'un checksum toujours identique (0xFF), le µC2 devrait renvoyer l'octet reçu pour que le µC1 puisse contrôler que le message n'a pas été compromis en cours de route ?
    Dernière modification par scaypapa ; 13/11/2018 à 10h33.

  12. #11
    f6bes

    Re : Aide au choix/compréhension des différents modules RF

    Remoi,
    Je n'ai aucune idée de la contrustion d'un cheksum.
    Il dépend de chaque message envoyé, me semble t il.
    Donc le cheksum est différent selon les messages
    ( c'est une "somme" calculée d'aprés les octets et valeur du message)
    Donc c'est variable à chaque message.
    Le récepteur "recalcule" le cheksum du message reçu. Si le message a subi
    des " avaries" le cheksum calculé sur ce message défectueux , ne sera pas semblable
    au cheksum envoyé au départ.
    Donc par comparaison on sait qu'il y a une erreur.
    Bonne journée
    La mesquinerie et rabrouement est un indicateur d'état d'esprit de l'auteur.

  13. #12
    scaypapa

    Re : Aide au choix/compréhension des différents modules RF

    Re bonjour,

    J'ai donc commandé 2 HC-12, pour le prix je ne vais pas me ruiner et ça me permettra au moins de faire des essais.
    Mais ensuite, je me pose la question de la légalité de ce produit en France...
    Déjà, ce qui m'étonne c'est qu'on ne le trouve que sur des sites comme ebay, price minister ou alibaba, la plupart du temps venant de Chine. Les sites spécialisés dans l'électronique n'en proposent pas.
    Savez-vous pourquoi ?
    Deuxièmement, j'ai toujours bien du mal à expliquer ce qui fait la différence entre ce type de produit (2-5€ pièce) et des produits type XBee ou autre qu'on trouve difficilement à moins de 15-20€ pièce, voire des fois plus.
    Est-ce que vous en connaissez la raison ?

    Merci.

Discussions similaires

  1. Compréhension du protocole bluetooth appliqué aux modules bluetooth
    Par invite7808af07 dans le forum Électronique
    Réponses: 13
    Dernier message: 02/03/2015, 14h27
  2. le choix des modules TOR (API)
    Par lila lila dans le forum Électronique
    Réponses: 9
    Dernier message: 12/04/2014, 10h27
  3. Lacunes de compréhension des différents espaces
    Par inviteb4d8c3b4 dans le forum Mathématiques du collège et du lycée
    Réponses: 8
    Dernier message: 17/10/2007, 18h02
  4. Choix modules de M1 à montpellier 2 au master PPP
    Par invitefb672dcf dans le forum Paléontologie
    Réponses: 1
    Dernier message: 13/08/2007, 13h15
  5. choix de modules master maths
    Par invitefa636c3d dans le forum Orientation après le BAC
    Réponses: 6
    Dernier message: 09/09/2005, 00h24
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...