Pb de portée avec E/R 434 Mhz... 10 m maxi

Informations et questions sur les composants tiers de la boutique (émetteur/récepteur RF, capteurs...)

Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude jbb » Lun 28 Jan 2013 22:10

Bonjour,

Je suis en train de faire un petit montage avec un arduino uno Rev3, le kit arduino minimaliste, un emetteur et un recepteur 434Mhz, un ecran nokia (tous ces éléments sur le site de snootlab).

En fait je veux que l'arduino envoit un message (en l'occurence en mesure de tension) par radio a l'autre arduino "minimaliste" (en fait juste le microcontroleur et l'oscillateur) pour que ce dernier affiche la valeur de la tension sur l'écran nokia.

Et donc ça marche a peu près et ma valeur de tension s'affiche correctement sur le l'écran Nokia... sauf que ma portée est de seulement 10 m contrairement au 150 m annoncés et qui me laissent bien rêveurs. Alors je suis un peu surpris vu qu'en plus tout le monde à l'air super content de cet E/R.

Mon émetteur est alimenté en 5V, le recepteur en 5 V. L'arduino uno Rev3 est alimenté par l'USB. Si j'alimente l'emetteur en 9V la portée passe alors à 5 m (oui vous lisez bien 5m), si je l'alimente en 12V la portée passe à 3m. J'ai déjà tester le système chez moi et en pleine campagne et obtenu ces mêmes résultats (en campagne l'emetteur était situé sur un arduino ATmega 2560)

Comme système d'antenne je mets 2 petits cordons de Snootlab, un sur l'emetteur, un sur le recepteur (http://snootlab.com/cables/20-kit-10-cordons-6-m-m.html), puisqu'ils mesurent à peu près 17,4 cm et qu'a ce qui parait c'est ça la bonne taille ... :oops: (alors que c'est même pas les plus grandes antennes qui émettent le mieux...). J'ai essayé avec une antenne sur l'émetteur d'au moins 50 cm et ça n'a rien changé.

Alors du coup je ne comprends point et vu que j'ai bien déjà beaucoup ramé pour en arriver là, je lance un appel à toute personne pouvant me donner ne serait ce qu' une piste, un indice, pour solutionner cela.

A plus
jb

PS: Au passage je ne résiste pas a vous donnez le linkounet salvateur qui m'a montrer comment utiliser mon arduino uno Rev3 pour programmer de manière très simple et claire l'Atmega du kit minimaliste très justifié dans ce cas.:
http://blog.biophysengr.net/2012/06/wri ... p-pre.html
jbb
 
Messages: 5
Inscription: Mer 5 Déc 2012 20:05

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude Lionel » Lun 28 Jan 2013 22:18

Bonjour,

auriez vous quelques photos de votre montage ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude Sarish » Mar 29 Jan 2013 10:26

Bonjour,
Vitesse d'émission ?
Sur la doc il est bien précisé que plus tu envoie vite, moins tu envoie loin.

Pour calculer une antenne style quart d'onde (celle que tu utilise) la formule est (300/F(Mhz))/0.04 est tu auras ta longueur d'antenne, quart d'onde, en cm en l'occurrence 17,28 cm.

/!\ ATTENTION /!\ Surtout bien mettre les antennes dans le même sens si ton émission est verticale faire la réception verticale.

Ensuite comme le suppose Lionel le problème peut effectivement venir d'un problème de montage/câblage.
Sarish
 
Messages: 33
Inscription: Lun 9 Juil 2012 10:22

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude Lionel » Mar 29 Jan 2013 11:08

Excelente suggestion,

disons que l'intégration du code utilisé serait de bon aloi !!
ça permettrait de vérifier aussi l'hypothèse de sarish

merci !!
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude jbb » Sam 2 Fév 2013 14:56

Salut,

Merci beaucoup pour vos réponses et votre intérêt pour ce petit projet.

Pour les antennes, j'ai mis des antennes un peu rigide de 17.3 cm, les deux verticales pendant l'émission réception (voir les photos). ça n'a pas amélioré la portée.

Pour le code, il me semble bien mettre la vitesse permettant une portée maxi. J'ai fait une version de code simplifiée pour l'émetteur, qui donne exactement les mêmes résultats que la version que j'utilise en vrai, ça permet une meilleure clareté et d'éviter les faux problèmes, pour ceux qui auront une idée d'ou peu venir le problème.

Donc, ci-joint les codes :
Emetteur :
Code: Tout sélectionner
  #include <VirtualWire.h>
            #include <Wire.h>
           
            byte count_A = 0;
            byte count_B = 0;
            char msg[2] = {'#','#'};
            float ratio=0;
      

 void setup()
            {
             
              Serial.begin(57600);                                     //Initialisation de la liaison série
              vw_setup(2000);                // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
         vw_set_tx_pin(3);
         }

void loop()
            {
            float batvolt = analogRead(0); // envoit de la tension de batterie par radio
            count_A = map(batvolt, 0, 1023, 0, 255); // map the value so that it can be used for PWM signal
            count_B = map(ratio, 0, 100, 0, 255);      
            msg[0] = count_A;
            msg[1] = count_B;
       vw_send((uint8_t *)msg, 2);
       vw_wait_tx();
             }


pour le récepteur :
Code: Tout sélectionner
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <VirtualWire.h>


Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

void setup()   {
  display.begin();
  display.setContrast(60);
  display.clearDisplay();   // clears the screen and buffer

  vw_setup(2000);                 // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de librairie VirtualWire.
  vw_set_rx_pin(9);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
  vw_rx_start();                    // On démarre le récepteur.

 }

void loop() {
 
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
 
  display.setTextSize(2.5);
  display.setTextColor(BLACK); // 'inverted' text
  display.setCursor(0,0);

    if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
    {
    int i;
   
    // Un message est reçu
    // afficher les 3 valeures reçues
    // la tension   
    float a;
    a=239600+(buf[0]*(1023/255)-216)*(268200-239600)/345;
    // la conso24h
    float b;
    b = buf[1]*(1023/255)*10000;
    // la prod24h
    //float c;
    //c = buf[2]*(1023/255)*10000;
    display.println(a/10000);
    display.println(b/10000);
    //display.println(c/10000);
    display.display();
    delay(200);
    display.clearDisplay();
     }
 
}


Il s'agit en fait de codes copiés et un peu modifiés de l'exemple Adafruit pour le Nokia et du tuto sur l'E/R sur le site de Snootlab.
La réception se faisant su la pin 9 pwm (ou numero 15 de la puce Atmega).
L'émission se fait sur la pin 3 pwm de l'arduino Rev 3.

EmetteurArduinoRev3.jpg
l'arduino rev3 alimente l'émetteur en 5V, l'émission se fait par la sortie pwm num 3, les fil en sortie 10,11,12,13 servent a programmer l'émetteur, on voit l'antenne en bleu, les entrées analogique sont misent sur l'alim 3 V de l'arduino rev3 (j'ai essayé sans, ça ne change rien a la porté)
EmetteurArduinoRev3.jpg (101.92 Kio) Vu 2584 fois

RecepteurAvant.jpg
Le récepteur avec les broches d'insertion de l'écran Nokia, en haut l'Atmega, en bas a gauche le regulateur 5V et ses condensateurs pour alimenter l'ATmega, on voit aussi l'interupteur qui alimente quand on veut consulter l'écran (alim avec une pile 9V), un pont à résistance fait le 3.2V pour alimenter l'écran, les 2 petits adaptateurs blancs en haut avec deux entrées chacun servent a programmer l'ATmega, ceux du bas servent à alimenter en 5V (avec l'arduino Rev3) quand on programme l'ATmega
RecepteurAvant.jpg (104.97 Kio) Vu 2584 fois

RecepteurEcranArriere.jpg
la partie arrière du shield réception + écran, des soudures pas toujours jolies mais j'ai tester le montage en regardant les tensions, j'ai pas vu l'incohérence
RecepteurEcranArriere.jpg (103.53 Kio) Vu 2584 fois


Je réalise les tests de porté en sortant de chez moi avec l'ensemble récepteur, juste après ma porte l'écran me donne la tension mesurée par l'Arduino Rev3 quand j'appuie et maintiens l'intérupteur enfoncé (il donne aussi une autre valeur juste en dessous puisque j'aimerais faire envoyer deux valeurs en fait ...), cette tension (et l'autre valeure) s'affichant après l'apparition de la fleur du tuto sur l'écran Nokia ... fleur que j'ai laissé parce que c'est jolie. Si je m'éloigne un peu (10 m) de ma porte, et que j'enfonce de nouveau l'intérupteur, la fleur apparaît mais plus les deux autres valeurs, d'où ma grande décéption : le truc semble marcher donc j'en conclus qu'il n'y a pas de grosse bétise coté programmation et montage, par contre il semble que c'est vraiment la portée qui est incriminée ... pb d'alim ? pourtant j'ai augmenter l'alim de l'émetteur à 9 puis 12 V et la porté se réduit ... j'ai l'impression de toucher au but mais qu'un truc important m'échappe encore.

En espérant que ces précisions serviront à vous donner plus d'idées pour m'aider à résoudre ce problème.

Bon week end à tous

jb
jbb
 
Messages: 5
Inscription: Mer 5 Déc 2012 20:05

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude jbb » Mar 5 Mar 2013 23:31

Salut,

Afin d'avancer un peu avec ce problème, j'ai fait un test simple du système E/R 434 Mhz distribué par Snootlab, en reprenant le tuto et le programme indiqués sur le site de Snootlab (celui qui fait transmettre le mot "Snootlab").

J'ai donc fais un test tout simple :
un Arduino Uno Rev3 sur l'émetteur le tout alimenté par une pile 9V + une antenne type petit fil de connection rigide de 17.5cm
un autre arduino Uno Rev 3 sur le recepteur le tout branché en USB sur l'ordi portable + une antenne type petit fil de connection rigide de un peu plus de 17.5cm

Je fais le test en transportant le recepteur (et l'ordi portable) dans le long couloir de mon immeuble (mes voisins se ferment à clefs en me voyant avec mon attirail :shock: ). La protée est d'environ 35 - 45 m donc encore loin des 150 m annoncés avec le "vw_setup(2000)". Il y a une porte en verre fermée entre l'emetteur et le recepteur ...

Comme ce fut commenté par Sarish l'orientation de l'antenne à l'air de bcp influencer la réception quand on est loin. Parfois quand on met pas d'antenne sur le récepteur ça marche presque mieux ...

Donc ... si quelqu'un arrive à constater les 150m de portée je suis très intéressé pour connaitre son montage, quelles antennes, quel programme ?
De mon côté je vais quand même me renseigner pour acheter : des antennes un peu plus adéquates et probablement aussi un système E/R un peu plus "chiadé", j'espère que ça existe. Si quelqu'un à ce genre de références ça m'aiderait aussi beaucoup.

Merci

jb
jbb
 
Messages: 5
Inscription: Mer 5 Déc 2012 20:05

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude SaW3r » Mer 6 Mar 2013 11:03

Bonjour,

je suis l'auteur du tutoriel que vous avez suivi (qui permet d'envoyer le mot "Snootlab"). J'ai suivi votre sujet depuis quelques temps et je vous informe que je vais réaliser d'autres tests afin de déterminer la portée EXACTE puisque la valeur de 150 mètres que je donne dans le tutoriel reste théorique. Même si je suis quasiment sur que cette portée sera confirmé puisque lorsque mon émetteur était placé à l'intérieur de ma maison et que je n'avais pas placé le delay de 200 millisecondes comme je le précise dans le tutoriel, mon portail automatique ne répondait plus et l'ouverture à distance de ma voiture aussi alors qu'elle se trouve à 100 mètres et qu'il y avait des portes, des murs...

Donc, le test que je vais réaliser consiste à aller dans un champ sans obstacle avec deux cartes Arduino UNO, l'une avec l'émetteur et la seconde avec le récepteur. Elles seront alimentées chacune à l'aide d'une pile 9V et auront une antenne de 17cm. Si mon émetteur reçois le mot "Snootlab" envoyé par mon émetteur, alors la carte Arduino se chargera d'allumer une diode sinon elle l'éteindra. J'avancerais par pas de 1 mètre en m'éloignant petit à petit. Cela me permettra de constater le moment exact ou la coupure se fera. Je prendrais des photos de tout cela et l'ajouterais au tutoriel de référence.

Merci d'avoir rapporté ce problème en tout cas !
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Pb de portée avec E/R 434 Mhz... 10 m maxi

Message non lude Sarish » Jeu 7 Mar 2013 11:38

Pour vous faire gagner un peu de temps :
Les conditions :
- en envoie a 500 bits seconde (vw_setup(500);)
- Alimentation 5V émetteur 9v récepteur
-Temps neigeux avec 5cm de neige au sol (absorption ou réverbération je ne sait pas).
- Dans un champs

portée 300m mais les messages reçues ne sont pas toujours bon (je tablerais sur du 60% de bon a peu près).
Et si on inverse les Alim j'ai pu aller jusqu'a 500m mais avec seulement 25% des messages bon.



recepteur :

Code: Tout sélectionner
#include <VirtualWire.h>
#include "var.h"

void setup()   {
  vw_setup(500);
  vw_set_rx_pin(9);             
  vw_rx_start();     
Serial.begin(9600);               
 }
void loop() {
      if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
    {
  Serial.write(buf);
    delay(200);
     }
 }


emetteur :

Code: Tout sélectionner
#include <VirtualWire.h>
void setup()
{
    vw_setup(500);               
    vw_set_tx_pin(3);             
}

void loop()
{
   const char *msg = "Portée ok !";                   
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();                                                                           
}
Sarish
 
Messages: 33
Inscription: Lun 9 Juil 2012 10:22


Retourner vers Composants tiers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité