Réalisation du transmetteur RF et Récepteur RF 2.4 GHz

  1. Conception et réalisation d’un quadrotor UAV
  2. ZITOUNI Abdelhak Amine
  3. Les drones: l’historique et les différentes catégories
  4. Domaines d’application et mouvements du quadrotor
  5. Modélisation dynamique d’un quadrotor
  6. Les quadrotors, conception de système du drone
  7. Réalisation du transmetteur RF et Récepteur RF 2.4 GHz
  8. Contrôleur de vol du quadrotor et signaux du récepteur RF
  9. Unité de mesure de l’inertie gyroscopique MPU-6050
  10. Le contrôleur PID du quadrotor et contrôle des ESC
  11. Données angulaires du Gyroscope et vol du quadrotor

Réalisation du transmetteur RF et Récepteur RF 2.4 GHz

Réalisation du transmetteur RF :

Schéma électronique :

Le circuit électronique de l’émetteur radio 2,4 GHz Figure 3.14, est basé d’un microcontrôleur Atemega328, NRF24l01 et deux joysticks.

Il avait 6 canaux de transmission qui corresponds aux commandes (Pitch, Roll, Yaw, Throttle et les deux commutateurs SW1 et SW2).

Schéma électronique du transmetteur RF 2.4 GHz.
Figure 3.14 : Schéma électronique du transmetteur RF 2.4 GHz.

Au niveau de l’alimentation nous devons fournir les 12 volts de la batterie à l’entrée de l’Arduino Nano et au régulateur de tension 3.3V.

Ce dernier est nécessaire pour faire chuter la tension de 12V à 3.3V, parce que le module NRF24 fonctionne à cette tension et en plus il absorbe trop de courant ainsi que l’Arduino ne pourra pas fournir autant de courant.

La sortie négative de la batterie est connecté à l’une des broches GND de l’Arduino et la sortie positive à l’interrupteur ON / OFF, l’autre broche du commutateur ira directement à la broche Vin de l’Arduino et à l’entrée du régulateur de tension 3.3V.

Les broches CE et CSN de la NRF24 doivent être branchées sur les pins numériques de l’Arduino Nano qui correspondent aux même sens déclaré dans le programme principale.

Même pour les auteurs broches MISO, MOSOI et CLK qui sont dédiés pour la communication SPI.

Chacun des 4 potentiomètres est connecté aux entrées analogiques A0, A1, A2 et A3 de l’Arduino Nano. Nous devons d’abord fournir 5 volts à la broche droite de chaque potentiomètre et la masse à la broche gauche.

De cette manière, nous aurons 0 volts aux entrées analogiques quand le potentiomètre est dans la plus basse position et 5 volts quand il est dans la plus haut et n’importe quelle tension (de 0 à 5 volts) dans l’intervalle.

L’Arduino Nano a un convertisseur analogique numérique (ADC) de 10 bits qui nous donnera des valeurs de 0 à 1024 unités.

Les deux canaux de commutateurs SW1 et SW2 sont des canaux numériques et ne sont pas identiques à celles des potentiomètres, car ils n’ont que des valeurs de 0 et 1 logique.

Le circuit imprimé double face du transmetteur RF Figure 3.15 est réalisé à l’aide du logiciel Eagle CAD soft.

Schéma du circuit imprimé du transmetteur RF 2.4 GHz.
Figure 3.15 : Schéma du circuit imprimé du transmetteur RF 2.4 GHz.
Transmetteur RF 2.4 GHz durant la réalisation.
Figure 3.16 : Transmetteur RF 2.4 GHz durant la réalisation.

Algorithme du transmetteur RF :

Au début, il est nécessaire de définir la librairie de l’NRF24 et l’adresse du canal de transmission radio, la même adresse doit apparaître dans les instructions du programme du récepteur pour assurer le cryptage de nos informations. Avant de commencer par le programme principal, il faut calibrer les joysticks en utilisant L’ADC de l’Arduino Nano.

L’utilisation de la fonction AnalogRead permet de lire les valeurs analogiques de chaque potentiomètre des deux joysticks qui corresponds aux commandes à envoyer, puis les affichés sur le moniteur série de l’Arduino IDE à l’aide de l’instruction Serial.print ( » « ) en faisant varier la position des joysticks dont chaque colonne représente la valeur d’un canal « une commande » Figure 3.17.

Capture d’écran des valeurs analogiques affichées sur le moniteur série de l'Arduino IDE
Figure 3.17 : Capture d’écran des valeurs analogiques affichées sur le moniteur série de l’Arduino IDE.

Ces valeurs analogiques sont codées sur 10 bits, de sorte que le taux des potentiomètres peut aller de 0 à 1024 en décimale.

On note ensuite les valeurs correspondantes aux positions (minimal, centrale et maximal) des joysticks pour les utilisées dans le programme principal du transmetteur RF, j’ai trouvé :

Throttle = min : 115 centre : 645 max : 989
Yaw= min : 62 centre : 622 max : 980
Pitch= min : 25 centre : 594 max : 929
Roll= min : 75 centre : 612 max : 974

Réalisation du transmetteur RF et Récepteur RF 2.4 GHz

Comme l’NRF24l01 envoi les données dans des paquets de 8bit/s, alors l’utilisation de la fonctions prédéfinie map(, , , , ); dans le programme principale du transmetteur RF permet de coder les valeurs précédentes à des grandeurs de 8 bits (0 à 255) afin de les envoyer aux récepteur RF en utilisant la fonction prédéfinit radio.write(&data, sizeof(MyData)).

La lecture des valeurs numérique des commutateurs SW1 et SW2 sera une valeur booléenne de 0 ou 1 logique (ON/OFF). L’NRF24L01 peut envoyer jusqu’à 32 canaux différents de 8 bits chacun, dans ce cas nous enverrons que les 6 canaux de 8 bits qu’il correspond enfaite aux valeurs des commandes: (Tangage, Roulis, Lacet, Gaz et les deux switches).

Le programme Principal du transmetteur RF est expliqué dans cet organigramme:

Le programme Principal du transmetteur RF

Récepteur RF 2.4 GHz :

Tout émetteur a besoin d’un récepteur. Habituellement, les récepteur radio génèrent des signaux de sortie PWM qui varie de 1000 à 2000 microsecondes, parce que c’est les largeurs d’impulssion nécessaire pour le fonctionnement des ESCs.

Dans ce contexte, l’utilisation des registres de Timer de l’Arduino Nano permet facilement de généré les signaux PWM pour les 6 différents canaux qui correspondent enfaite aux mêmes valeurs de 8 bits envoyés par le transmetteur.

Circuit et schéma électronique :

Le circuit électronique du récepteur radio 2,4 GHz est basé sur les mêmes composants que le transmetteur l’Arduino Nano, NRF24l01 et la socket-8-pin pour NRF24 qui détient d’un régulateur de 3.3v ASM1117.

Les connexions de l’Arduino Nano au NRF24l01 sont les mêmes que dans le transmetteur radio, comme il est illustré dans le schéma ci-dessus Figure 3.18.

Les connexions au module radio sont les mêmes que dans le cas du transmetteur. Pour alimenter le récepteur nous pourrions obtenir 11.1 volts directement de la batterie Lipo du drone. Les broches D2, D3, D4, D5, D6 et D7 sont utilisés comme canaux de sortie PWM car ils peuvent générer ces signaux et proviennent du même registre de PORT (DDRD).

(CH1: D2, CH2: D3, CH3: D4 et CH4 : D5) sont les canaux qui corresponds respectivement aux commandes (Throttle, Yaw, Pitch et Roll) tandis que (CH5: D6) et (CH6: D7) sont les deux canaux auxiliaires numériques destinés pour les switches.

Schéma électronique du récepteur RF 2.4 GHz
Figure 3.18 : Schéma électronique du récepteur RF 2.4 GHz

Le circuit imprimé double face du récepteur RF Figure 3.19 est réalisé à l’aide du logiciel Eagle CAD soft.

Schéma du circuit imprimé du récepteur RF 2.4 GHz
Figure 3.19 : Schéma du circuit imprimé du récepteur RF 2.4 GHz

Algorithme du récepteur RF 2.4GHz :

Nous commençons le code en initialisant la configuration de l’interruption PWM et la bibliothèque du module NRF24, au début on utilise la même adresse du canal que dans l’émetteur radio.

L’Arduino nano reçoit chaque paquet de données de 8 bits dans chaque canal, ce qui nous donne des valeurs décimales au maximum de 255, pour lire ces valeurs dans l’Arduino Nano du récepteur il suffit d’utiliser la fonction prédéfinie radio. read(&data, sizeof(MyData)).

L’utilisation de la fonction prédéfinie map (, , , ,);permet de codées ces valeurs de 8 bits pour que les signaux s’arrange entre 1000μs et 2000μs. La fonction prédéfinie du comptage writeMicroseconds (); permettent de gérer les périodes des signaux PWM avec précision.

L’algorithme du transmetteur RF est expliqué ci-dessous:

blank

blank

Test des signaux de sortie du récepteur RF :

Après la construction de l’émetteur RC et du récepteur, nous devons tester les signaux de contrôle PWM sortant du récepteur car ce sont les impulsions de commande à introduire au contrôleur de vol.

On peut connecter les broches numériques de sortie du récepteur RF au canal d’entré d’un oscilloscope afin que nous puissions visualiser un seul signal PWM puis on fait varier les positions des joysticks.

Pour voir la variation des quatre signaux tous à la fois, j’ai utilisé un petit programme de test pour Arduino qui apporte les valeurs des signaux de commandes PWM sur le moniteur série de l’Arduino IDE, ces valeurs vont de 1000μs jusqu’à 2000μs avec une impulsion centrale de 1500μs, Figure 3.20.

blank
Figure 3.20 : Valeurs correspondantes aux signaux PWM afficher sur le moniteur série de l’Arduino IDE.

Cliquez sur suivant article pour lire la suivante partie de ce mémoire:

Abonnez-vous!
Inscrivez-vous gratuitement à la Newsletter et accédez à des milliers des mémoires de fin d’études !
Publier son mémoire!
WikiMemoires - Publier son mémoire de fin d’études !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *