Diversity DIY

Modérateur : Dehas

Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

version fini et opérationnel:
ImageImage


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

Belle réalisation.
Coté adaptation d'impédance je me demande ce que ceci vas donner ... a suivre après tes essais. Dispose tu de quoi faire les mesures et donc l'adaptation d'impédance ?


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

comme je débute donc, j'ai respecté les règles de bases:
J'ai bien respecter les côtes d'impression pour tous et puis j'ai vérifier a l ohmmètre qu'il n'y a pas de contact entre la flasque et et l'antenne même.

après je ne sais pas comment on fait des test d’impédance et je pense pas être équiper pour faire d'autres genre de test, je pensais le faire en live des que le temps me le permet.


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

Si tu connais une personne ayant un Bird ou autre en 5.8ghz afin de faire la mesure rapproche toi de lui. L'idéal serait un radio amateur.
Car en effet à ces fréquence le moindre écart de frequence vas te faire perdre très rapidement gain de l'antenne.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

Ok, je me renseignerais dans mon club si quelqu'un peut m'aider


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

l'idéale sera de faire cette mesure soit:
sur TA fréquence (canal) de travail
sur tous les canaux afin de voir sur lequel l'antenne rayonne le mieux et donc ensuite de travailler sur cette fréquence.

Dans le meilleur des mondes tu devrait obtenir 1:1 mais 1:1.3 serait déjà génial.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

après quelque tests,

je suis allé a 800m plus au moins, je suis content. :ghee: :ghee:

par contre j'ai l accu du montage qui est tombé a plat donc pas pu faire le test sur une plus longue distance.

Je sais que je peux brancher un buzzer sur l'arduino, et je voudrais faire la meme chose en y integrant un code low voltage:.

Je suis tombé sur cette vidéo qui me correspond: https://www.youtube.com/watch?v=4LjWRGm2dnY on remplace la Led par un buzzer et c est bon. :]

MAis le gars de la vidéo ne donne pas son code de programmation et sur internet je trouve pas.

quelqu'un pourrait me donner un lien ou autre pour m'aider dans ma quete :]

et mon deuxième soucis est que la vidéo génère des espèces de vagues, problème de masse d’après un copain


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

800m pas si mal en effet?
C'est quoi ton accu une lipo ? Quel voltage de cet accu ?
Tu pourra au besoin utiliser un bon diviseur afin de le mesure depuis ton arduino.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

Mon accu est 2 module lithium ( batterie de pc portable) de 3.7v en série

Après si c est chiant a faire je passe en lipo avec buzzer


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
Vincent81
Quadricopter
Messages : 196
Enregistré le : dim. 30 nov. 2014 12:31
Réputation : 0
Localisation : Puylaurens, Tarn, France
Contact :

Re: Diversity DIY

Message non lu par Vincent81 »

Non, c'est assez facile.
Tu met 2 résistances de 10k en série entre le + et le - batterie, tu connecte le point milieu sur une entrée analogique de l'arduino et tu écrit un ptit bout de soft du même style que la mesure rssi. Le + chiant ça vas être de trouver les seuils, sauf si tu arrive a maîtriser la liaison série ;-) ...


Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

En supposant 3.7 x 2 soit 7,4 volts et 5 volts en sortie du pont diviseur nous aurions:
R14k8
R2 10k
Ensuite un map cas diviseur la valeur lue par un digitalread / 1024 il suffit par exemple de dire que si nous sommes à une valeur de 512 (milieux de valeur) nous actionnons le buzzer.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

merci pour ton aide encore, j'ai vu qu'il fallait un pont diviseur, était pas trop cette partie qui m inquiète. (sauf pour les résistances a calculer :] .

c est la partie programme du arduino qui m’embête et ou je suis une grossse bille.

je vous ai assez embêter avec le programme pour la commutation du diversity, je pense me rabattre sur un buzzer lipo pour vous laissez tranquille.


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
Vincent81
Quadricopter
Messages : 196
Enregistré le : dim. 30 nov. 2014 12:31
Réputation : 0
Localisation : Puylaurens, Tarn, France
Contact :

Re: Diversity DIY

Message non lu par Vincent81 »

Hello,
J'avais du temps ce matin :

Code : Tout sélectionner

int Relay       = 2;
int PinHelix    = A1; // Broche de la Mesure du RSSI de l'antenne Helix
int PinDipole   = A0; // Broche de la Mesure du RSSI de l'antenne Dipole
int PinBat      = A3; // Broche de la Mesure de la tension Batterie
int Led_RX1     = 3;  // led 1 pour le Dipole omnidirectionnelle
int Led_RX2     = 4;  // led 2 pour l'Helix directionnelle
int Buzz        = 5;  // Broche du Buzzer

int EcartRssi,HelixRssi,DipoleRssi,VBat,MBat,BuzzEtat;

unsigned long Millisec;
unsigned long OldMillisec = 0;

int Seuil = 10; // Seuil de basculement entre récepteur : a régler.

int BatLow = 60;  // Niveau batterie faible : a regler
int BatZero = 40; // Niveau batterie HS

void setup() {
  pinMode(Led_RX1, OUTPUT);
  pinMode(Led_RX2, OUTPUT);

  pinMode(PinHelix, INPUT);
  pinMode(PinDipole,INPUT);
  pinMode(PinBat,   INPUT);

  pinMode(Relay,  OUTPUT);
  pinMode(Buzz,   OUTPUT);

  // initialisation liaison serie pour tester
  Serial.begin(9600);
  
} // End setup()

void loop() {

  // Mesure des RSSI
  HelixRssi   = analogRead(PinHelix);
  DipoleRssi  = analogRead(PinDipole);
  EcartRssi   = HelixRssi - DipoleRssi;

  Serial.print("Helix: ");
  Serial.print(HelixRssi);
  Serial.print(" - Dipole: ");
  Serial.print(DipoleRssi);

  // Pilotage du relai et de Leds suivant les RSSI mesurés
  // Si les 2 valeurs sont identique au seuil prés, nous passons sur l'antenne dipole par defaut
  // ce qui vas éviter que le relais travail trop dans le cas ou les 2 valeurs sont trop proche.
  if ((abs(EcartRssi) < Seuil) || (EcartRssi < 0))  {
    // nous nous mettons d'office sur l'antenne dipole
    digitalWrite(Relay, LOW);
    digitalWrite(Led_RX1, LOW); // la led (helix) est eteinte
    digitalWrite(Led_RX2, HIGH); // la led (dipole) est allumée
  } else {
    digitalWrite(Relay, HIGH); // nous passons sur l'Helix
    digitalWrite(Led_RX1, HIGH); // la led (helix) est allumée
    digitalWrite(Led_RX2, LOW); // la led (dipole) est eteinte
  }

  // Mesure de la Batterie
  VBat = analogRead(PinBat);
  MBat = map(VBat, 0, 1024, 0, 100); // Transforme la valeur mesuré de la batterie (0..1024) en 0..100

  Serial.print(" - Batterie: ");
  Serial.print(VBat);
  Serial.print(" / ");
  Serial.println(MBat);

  if (MBat < BatLow) { // Batterie faible

    VBat = MBat - BatZero; // 20 si batterie faible, 0 si batterie HS
    
    Millisec = millis();

    if (Millisec - OldMillisec >= (VBat * 100)) {
      OldMillisec = Millisec;

      // Clignotement du Buzzer d'autant plus rapide que la batterie est faible
      if (BuzzEtat == LOW) {
        BuzzEtat = HIGH;
      } else {
        BuzzEtat = LOW;
      }

      // SI LE BUZZER EST UN BUZZER ACTIF, c'est a dire qu'il buzze alimenté en 5v
//- Buzzer Actif
      digitalWrite(Buzz, BuzzEtat); 

      // SI LE BUZZER EST UN BUZZER PASSIF (Piezo), c'est a dire qu'il faut lui envoyer la "note"
//- Buzzer Passif
//      if (BuzzEtat == LOW) {
//        tone(Buzz,1500,2000)
//      } else {
//        noTone(Buzz);
//      }
    }
    
  } else { // (MBat >= BatLow)
//- Buzzer Actif
    digitalWrite(Buzz, LOW);

//- Buzzer Passif
//  noTone(Buzz);
  }

  
  delay(200); // nous attendons 500ms (ou autre valeur) avant de boucler. Là aussi le but est de ne pas faire trop travailler le relais.
  
}// end loop()


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

quand je vois ton code, ca me trou le cul 8/ 8/ 8/

j'ai plus qu a aller acheter mes 2 résistances, le buzzer Piezo j'ai pris celui d'une Carte mère qui trainait.

maintenant faut que je lise ton code pour le comprendre et régler tout ca

pour le genre du buzzer a regler, il faut le déclarer, d apres tes codes tu es sur un buzzer actif ??

faut decommenter :

Code : Tout sélectionner

//- Buzzer Passif
//      if (BuzzEtat == LOW) {
//        tone(Buzz,1500,2000)
//      } else {
//        noTone(Buzz);
//      }


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
Vincent81
Quadricopter
Messages : 196
Enregistré le : dim. 30 nov. 2014 12:31
Réputation : 0
Localisation : Puylaurens, Tarn, France
Contact :

Re: Diversity DIY

Message non lu par Vincent81 »

Si c'est un buzzer de PC, de trés forte chance que cela soit un piezo passif.
Dans ce cas, met en commentaire les ligne aprés //- Buzzer actif et enlève le commentaire aprés les lignes //-Buzzer passif.
J'ai mis la RS, tu pourras tester ce qu'il mesure en ouvrant Outils/Moniteur série dans Arduino.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

bruno a écrit :En supposant 3.7 x 2 soit 7,4 volts et 5 volts en sortie du pont diviseur nous aurions:
R14k8
R2 10k
Ensuite un map cas diviseur la valeur lue par un digitalread / 1024 il suffit par exemple de dire que si nous sommes à une valeur de 512 (milieux de valeur) nous actionnons le buzzer.

L'arduino tu le branches entre R1 ou R2 ??


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

Oui la sortie du pont diviseur est entre R1 et R2.


Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

et donc le calcul du pont diviseur est :

Vout = R2 / (R1+R2) x Vin


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

pardon je voulais dire pour l'ordre des résistances.

un schéma c est mieux:

Image

je fais le montage de droite ou de gauche?? :], je crois que c est celui de droite mais je suis pas sur


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
Vincent81
Quadricopter
Messages : 196
Enregistré le : dim. 30 nov. 2014 12:31
Réputation : 0
Localisation : Puylaurens, Tarn, France
Contact :

Re: Diversity DIY

Message non lu par Vincent81 »

Non, celui de gauche.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

le moniteur serie ca marche nickel.

par contre le buzzer il clique doucettement toutes les 2 secondes:

je tente de modifier le code pour passer en mode buzzer passif, mais j ai une erreur, j ai mis ca en code:

Code : Tout sélectionner

int Relay       = 2;
int PinHelix    = A1; // Broche de la Mesure du RSSI de l'antenne Helix
int PinDipole   = A0; // Broche de la Mesure du RSSI de l'antenne Dipole
int PinBat      = A3; // Broche de la Mesure de la tension Batterie
int Led_RX1     = 4;  // led 1 pour le Dipole omnidirectionnelle
int Led_RX2     = 3;  // led 2 pour l'Helix directionnelle
int Buzz        = 5;  // Broche du Buzzer

int EcartRssi,HelixRssi,DipoleRssi,VBat,MBat,BuzzEtat;

unsigned long Millisec;
unsigned long OldMillisec = 0;

int Seuil = 10; // Seuil de basculement entre récepteur : a régler.

int BatLow = 100;  // Niveau batterie faible : a regler
int BatZero = 40; // Niveau batterie HS

void setup() {
  pinMode(Led_RX1, OUTPUT);
  pinMode(Led_RX2, OUTPUT);

  pinMode(PinHelix, INPUT);
  pinMode(PinDipole,INPUT);
  pinMode(PinBat,   INPUT);

  pinMode(Relay,  OUTPUT);
  pinMode(Buzz,   OUTPUT);

  // initialisation liaison serie pour tester
  Serial.begin(9600);
  
} // End setup()

void loop() {

  // Mesure des RSSI
  HelixRssi   = analogRead(PinHelix);
  DipoleRssi  = analogRead(PinDipole);
  EcartRssi   = HelixRssi - DipoleRssi;

  Serial.print("Helix: ");
  Serial.print(HelixRssi);
  Serial.print(" - Dipole: ");
  Serial.print(DipoleRssi);

  // Pilotage du relai et de Leds suivant les RSSI mesurés
  // Si les 2 valeurs sont identique au seuil prés, nous passons sur l'antenne dipole par defaut
  // ce qui vas éviter que le relais travail trop dans le cas ou les 2 valeurs sont trop proche.
  if ((abs(EcartRssi) < Seuil) || (EcartRssi < 0))  {
    // nous nous mettons d'office sur l'antenne dipole
    digitalWrite(Relay, LOW);
    digitalWrite(Led_RX1, LOW); // la led (helix) est eteinte
    digitalWrite(Led_RX2, HIGH); // la led (dipole) est allumée
  } else {
    digitalWrite(Relay, HIGH); // nous passons sur l'Helix
    digitalWrite(Led_RX1, HIGH); // la led (helix) est allumée
    digitalWrite(Led_RX2, LOW); // la led (dipole) est eteinte
  }

  // Mesure de la Batterie
  VBat = analogRead(PinBat);
  MBat = map(VBat, 0, 1024, 0, 100); // Transforme la valeur mesuré de la batterie (0..1024) en 0..100

  Serial.print(" - Batterie: ");
  Serial.print(VBat);
  Serial.print(" / ");
  Serial.println(MBat);

  if (MBat < BatLow) { // Batterie faible

    VBat = MBat - BatZero; // 20 si batterie faible, 0 si batterie HS
    
    Millisec = millis();

    if (Millisec - OldMillisec >= (VBat * 100)) {
      OldMillisec = Millisec;

      // Clignotement du Buzzer d'autant plus rapide que la batterie est faible
      if (BuzzEtat == LOW) {
        BuzzEtat = HIGH;
      } else {
        BuzzEtat = LOW;
      }

      // SI LE BUZZER EST UN BUZZER ACTIF, c'est a dire qu'il buzze alimenté en 5v
//- Buzzer Actif
      digitalWrite(Buzz, BuzzEtat); 

      // SI LE BUZZER EST UN BUZZER PASSIF (Piezo), c'est a dire qu'il faut lui envoyer la "note"
//- Buzzer Passif
     if (BuzzEtat == LOW) {
       tone(Buzz,1500,2000)
      } else {
        noTone(Buzz);
     }
    }
    
  } else { // (MBat >= BatLow)
//- Buzzer Actif
    digitalWrite(Buzz, LOW);

//- Buzzer Passif
 noTone(Buzz);
  }

  
  delay(200); // nous attendons 500ms (ou autre valeur) avant de boucler. Là aussi le but est de ne pas faire trop travailler le relais.
  
}// end loop()
faut vraiment que je buche l arduino, le code je peche grave, tu peux m aide vincent ?? stp


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

j'ai essayé ca comme code pour buzzer passif, mais ca marche pas :pleur4: :pleur4: :pleur4:

Code : Tout sélectionner

 // SI LE BUZZER EST UN BUZZER ACTIF, c'est a dire qu'il buzze alimenté en 5v
//- Buzzer Actif
      digitalWrite(Buzz, BuzzEtat); 

      // SI LE BUZZER EST UN BUZZER PASSIF (Piezo), c'est a dire qu'il faut lui envoyer la "note"
//- Buzzer Passif
      if (BuzzEtat == LOW) {
       tone(Buzz,1500,2000)
      } else {
        noTone(Buzz);
     }
    }
    
  } else { // (MBat >= BatLow)
//- Buzzer Actif
    digitalWrite(Buzz, LOW);

//- Buzzer Passif
 noTone(Buzz);
  }

  
  delay(200); // nous attendons 500ms (ou autre valeur) avant de boucler. Là aussi le but est de ne pas faire trop travailler le relais.
  
}// end loop()
j'ai une erreur Arduino :
error: expected ';' before '}' token
expected ';' before '}' token

sur le ligne: } else {


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
bruno
Pilote toutes catégories
Messages : 1820
Enregistré le : mar. 15 avr. 2014 11:39
Réputation : 1
Localisation : Créteil (94)

Re: Diversity DIY

Message non lu par bruno »

Donc dans ton code:

Code : Tout sélectionner

 if (BuzzEtat == LOW) {
       tone(Buzz,1500,2000)
      } else {
        noTone(Buzz);
     }
et ton exception te dit:

Code : Tout sélectionner

error: expected ';' before '}' token
expected ';' before '}' token

sur le ligne: } else {
Ce qui veux dire qu'il te manque un
;(error: expected ';' before '})
et donc si tu regarde bien ton code il te manque effectivement un ; sur une ligne.

Allé un petit effort.


Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

OK j y retourne !!!


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Avatar du membre
TiTTaN
Octocopter
Messages : 634
Enregistré le : ven. 2 janv. 2015 12:00
Réputation : 0
Localisation : DAX
Genre :

Re: Diversity DIY

Message non lu par TiTTaN »

ca marche, il est vivant le buzzer

j'ai rajouté le point virgule derriere
tone(Buzz,1500,2000)


TBS Discovery-=-RD210-=-QAV250 Low Racer-=-GERPC Mark4 HD5-=-Taranis X9D+ 2019-=- Google DJI Digital FPV
Répondre

Retourner vers « Electronique (Cartes, Moteurs, ESC, Radios) »