Pilotage carte à carte au travers de TDL2A-433

Bonjour,

Avant de me lancer tête baisser dans un combat sans fin. J'aimerais avoir d'une part votre avis, d'autre part quelques conseils.

Je suis obliger de réaliser une communication bi-directionnel entre deux cartes arduino méga 2560. Pour ce faire, je suis limité sur l'emploie des fréquences. Plus elles sont basse pour moi, mieux c'est ! C'est pourquoi j'ai éliminé d'emblée les XBEE et consorts. Je vais donc utilisé du 233 Mhz qui serais à priori suffisamment bas pour mon cas précis.

Pour réaliser une telle communication, j'ai l’intention de me basé sur l'emploie de deux TDL2A-433 disponible au travers de Lextronic.

Là ou j'aimerais avoir des indications sur le code et sur la capacité de deux cartes arduino, ici des méga 2560 à sortir et recevoir des données entre elle. Quelle type de code ou de librairie serais susceptible de convenir ? A priori, il n'y a pas de gestion protocolaire d'envoie et de réception car les modules TDL2A-433 ont déjà un tel système embarqué.

Voila, s'il y a des suggestions, des indications, je suis preneur avant de me lancer.

Merci pour votre aide.

Bonjour

je n'ai pas d'expérience avec ces modules mais je me demande ce que peux être ton application pour considérer que ces modules sont plus intéressant que des XBee. Ils sont quand même assez chers. Pourquoi ne pas avoir considéré des modules 433MHz AM ou FSK ?

Sinon, ils devraient fonctionner sans problème. Il s'agit toute fois de communication half-duplex c'est à dire que tu ne peux pas parler et recevoir en même temps.
La notion de protocole dont parle la briève description concerne plutôt la gestion du half-duplex pour que les modules ne se brouillent pas entre eux.
Ce qu'on appelle la couche d'accès au réseau.

Cela ne te prive d'avoir a créer la couche de protocole de niveau applicatives. Il va falloir quand même définirla forme de tes messages avec des caractéristiques qui permettent de se synchroniser, de se récupérer en cas d'erreur, etc ...
je t'invite à lire mon tuto sur les protocoles de communication.

a+

Bonjour,

Merci pour ta réponse.

Le choix c'est porté sur ces modules en raison qu'ils devront fonctionner en milieu aquatique. Plus la fréquence est basse, mieux c'est. L'autre raison et la taille de l'antenne. Elle est assez réduite au quart d'onde en 433 Mhz.

Le xbee correspond techniquement à cela sauf que le 2Ghz et plus ne passe pas en milieux aquatique.

Il me semble, de ce que j'avais compris, que les modules gérais eux-même la protocolisation des données. En d'autre termes, ils reçoivent et mette en tampon des données qu'ils transitent ensuite selon leurs protocole. Mais je me trompe peut-être ! Sinon, il y a la possibilité de faire une action externe pour gérer à notre convenance envoie et réception. Ce que je veux éviter à tout prix ! Trop complexe à gérer pour un si petit projet.

Enfin, si je dois faire deux voies en full duplex, à ce moment là, il me faut employer deux fréquences. Et le porte-monaie... Bref ! C'est déjà assez cher comme ça. Dommage que les xbee n'existe pas sur des gammes de fréquences plus basse !

Yep!

J'ai acheté il y a quelques temps ce module, mais pas encore eue le temps de jouer avec :

Ce module propose différentes fréquences paramétrables, 315 Mhz, 433, 868 et 915.

Le datasheet est disponible ainsi qu'un exemple de code pour l'emission / réception sur atmega48 et pic.

Le tarif me semble raisonnable.

EDIT1 : Le module est connu sous la réference RF12 (RFM12, HOPE RF) et semble avoir vu le développement de librairie et modules ici ou là.
Exemple : http://vvvv.org/documentation/jeenode-arduino-like-rf12-based

(Différentes versions du module sont dispos sur ebay)

@+

Zoroastre.

Ebay :0 Chu pas fan !
Ton outil semble correct avec sa PLL. Mais est-ce qu'elle laisse la liberté de la conception de l'antenne ? Non ! Pas sûr ! Il faut savoir que l'antenne peut-être adapté au milieu sous certaines conditions. Mais avant d'en arrivé là, il faut qu'en l'air donc, de module à module ça fonctionne correctement.

Je cherchais les avis avant de me lancé sur un type de produit. Aujourd'hui je comprends qu'il existe autant de produits et de dérivés qu'il est possible d'en imaginé. Il suffit donc de trouvé le meilleur et le plus rentable. Si je me base au prix, il est clair que le ful-duplex sur deux voix semble de plus probant tout en étant en plus simple et peu cher ! C'est sans compter qu'il faudra 4 antennes et donc 4 adaptation, et du coup, c'est moins rentable qu'un module plus cher avec deux antennes seulement adaptées.

Lorsque je parle d'adaptation, ça va de la longueur de l'antenne à son adaptation par filtre RC / LC. Et bien oui, il est possible de jouer la dessus pour faire une antenne de taille raisonnable tout en autorisant une sélectivité correct. C'est là ou les amis radio-amateurs m'aide énormément.

Ce qui m'aurais grandement aider c'est si quelqu'un avait déjà mis en oeuvre les modems décit dans mon premier post. Il aurais été plus simple pour moi de me cantonné au protocole qu'à des choix de type hard. J'ai bien du mal m'exprimé dans ma question =( Aujourd'hui, j'aimerais re-centrer le débat sur la communication entre carte.

Si j'en crois ce que j'ai pu lire dans des livres dédiée à la robotique et un peu de reverse ingénéring sur pic, ceux qui en ont fait envoie des caractères puis exécute à la réception du caractère par un simple traitement. Ok pour 4 boutons, 4 actions possible chacune faisant un cran de 10ms. Mais le pilotage de la PWM, la sélectivité des sorties et surtout la transmission de trame courte sont bien moins pratiqués. Pourquoi ?
Je pense faire très simple. Les radiométrix de type modem intégrant déjà une sécurisation en plus d'une synchronisation. En théorie du moins. Je peux donc envoyé une trame étant simplement A:100 pour sortie A valeur 100. A ce moment là, il est facile de sélectionné comme on le ferais avec un simple bouton et d'y adjoindre la quantité de PWM voulue au travers du 100. Ceci dit, une trame série, je m'en suis rendu compte fini par un "0". Donc j'ai pas non plus besoin de réinventé la roue pour finir ma trame. Elle passera en clair dans les radiométrix.

Donc voila, s'il y a en a qui ont essayer ce type de connexion et / ou qui ont pu faire d'autres montage du même tonneau, je serais ravi.

Bonsoir,

Et bien !!! Je suis heureux de vous dire que ça fonctionne très bien. On peut bien faire Tx / Rx <-> TDL2A <- Onde -> TDL2A <-> Rx / Tx.

La transmission étant codé dehors, c'est comme si j'avais une liaison série direct.

Je laisse ouvert le sujet car maintenant, je vais travaillé sur la partie protocolaire. Comme je m'affranchi de l'encodage, j'ai plus que du traitement tel que Voie,Valeur. Exemple pour allumer une diode à distance:
S01,255 -> ici on a S pour sortie, 01 pour la 01 et 255 pour allumer. Si je veux éteindre S01,0 -> et la la sortie 1 sera éteinte.

C'est simple je n'ai plus qu'un parseur à intégrer.

Je compte employé une classe. Le but sera d'encapsuler un nombre de fonctions afin de réduire le code principal à de simples ordres. Tant en émission qu'en réception.

Pour le traitement des données, je pense partir ainsi:
//Initialisation des variables VarS01, VarS02...

//init()
//Ce que fait l'init

//loop()
//Si on a une donné série
//Charger la variable avec sa donnée
//Ecrire chacune des sorties avec ses variables
//Emettre les données distante
//Boucler

Comme on peut le remarqué en cas de panne de transmission pour le moment je m'en tiens à la donné dernière correct. Un système viendra éventuellement couper par sécurité. Il faudra surement que j'exploite un ordre décisionnel en fonction d'une interruption. Je verrais ça un peu plus tard. Pour le moment, en local et sous surveillance ça devrais le faire.

Je prend le post en marche, quelque chose me perturbe : tu as écrit :
Le xbee correspond techniquement à cela sauf que le 2Ghz et plus ne passe pas en milieux aquatique.

Qu'appelles tu milieu aquatique ? Parce que les ondes utilisées dans l'eau par les sonnars sont de l'ordre de la fraction de hertz à une dizaine de hertz, avec l'antenne adaptée !
S'il doit y avoir propagation dans l'eau, avec du 200 MHz cela demande des vérification sur le terrain.

En effet, je prévoie de faire des tests via une balise qui sera immergée.

A noter que la recherche du gain (au niveau de l'antenne) sera primordiale à cest fréquences là. Ceci dit, si il est plus avantageux de faire dans le KHz, l'antenne serais alors tellement longue qu'elle serais pas facile à loger dans un modèle réduit ! En revanche, si j'augmente un peu cette fréquence je peux prendre une antenne plus petite.

Il conviendra dans tous les cas de figure de :

  • Garder le 1/4 d'onde.
  • de faire des antenne adaptés avec un gain important.
  • De tester en milieux définitif.
  • De mesurer au mesureur de champ tout les paramètres d'antenne et de propagation.

En espérant avoir répondu à tes questions.

Et bien voila, ça fonctionne.

En réception par contre on peut synchroniser avec une interruption. Mais bon, rien de bien difficile.