Schémas et description des circuits radio 433 MHz. Kit de radiocommande fait maison basé sur un téléphone combiné (433 MHz)

433/315 MHz, vous le découvrirez dans cette courte revue. Ces modules radio sont généralement vendus par paires - avec un émetteur et un récepteur. Vous pouvez acheter une paire sur eBay pour 4 $, ou même 2 $ la paire si vous en achetez 10 à la fois.

La plupart des informations disponibles sur Internet sont fragmentaires et peu claires. Par conséquent, nous avons décidé de tester ces modules et de montrer comment établir une communication USART -> USART fiable avec eux.

Brochage du module radio

En général, tous ces modules radio disposent d'une connexion de 3 contacts principaux (plus une antenne) ;

Émetteur

  • Tension vcc (alimentation +) 3V à 12V (fonctionne à 5V)
  • GND (terre -)
  • Réception de données numériques.

Destinataire

  • Tension vcc (puissance +) 5V (certains peuvent fonctionner à 3,3V)
  • GND (terre -)
  • Sortie des données numériques reçues.

Transfert de données

Lorsque l'émetteur ne reçoit pas de données à l'entrée, l'oscillateur de l'émetteur s'éteint et consomme environ quelques microampères en mode veille. Pendant les tests, 0,2 µA sont sortis de l'alimentation 5 V à l'état éteint. Lorsque l'émetteur reçoit des données, il émet sur une porteuse de 433 ou 315 MHz et, avec une alimentation de 5 V, consomme environ 12 mA.

L'émetteur peut également être alimenté par une tension plus élevée (par exemple 12 V), ce qui augmente la puissance de l'émetteur et, par conséquent, la portée. Les tests ont montré une alimentation 5V jusqu'à 20 m à travers plusieurs murs à l'intérieur de la maison.

Le récepteur lorsqu'il est allumé, même si l'émetteur ne fonctionne pas, recevra des signaux statiques et du bruit. Si un signal est reçu sur la fréquence porteuse opérationnelle, le récepteur réduira automatiquement le gain pour supprimer les signaux les plus faibles et, idéalement, isolera les données numériques modulées.

Il est important de savoir que le récepteur passe un certain temps à ajuster le gain, donc pas de « rafales » de données ! La transmission doit commencer par une "intro" avant les données principales et le récepteur aura ensuite le temps d'ajuster automatiquement le gain avant de recevoir les données importantes.

Test des modules RF

Lors du test des deux modules à partir d'une source +5 V CC, ainsi qu'avec une antenne fouet verticale de 173 mm. (pour une fréquence de 433,92 MHz c'est "1/4 d'onde"), de vrais 20 mètres ont été obtenus à travers les murs, et le type de modules n'affecte pas beaucoup ces tests. Nous pouvons donc supposer que ces résultats sont typiques de la plupart des blocs. Une source de signal numérique avec une fréquence précise et un rapport cyclique de 50/50 a été utilisée pour moduler les données de l'émetteur.

Veuillez noter que tous ces modules ne fonctionnent en règle générale de manière fiable que jusqu'à 1 200 bauds ou un maximum de 2 400 bauds en transmission série, à moins bien sûr que les conditions de communication ne soient idéales (force du signal élevée).

Ci-dessus, une version simple d'un bloc permettant de transmettre en série des informations à un microcontrôleur qui seront reçues d'un ordinateur. Le seul changement est l'ajout d'un condensateur au tantale 25V 10uF aux broches d'alimentation (Vcc et GND) des deux modules.

Conclusion

De nombreuses personnes utilisent ces radios avec des contrôleurs Arduino et autres, car c'est le moyen le plus simple d'établir une communication sans fil d'un microcontrôleur à un autre microcontrôleur, ou d'un microcontrôleur à un PC.

Discutez de l'article MODULES RADIO RF À 433 MHz

Ce récepteur a été conçu comme un « concept de week-end » et est destiné à
surveiller la fréquence 433 MHz, évaluer la situation en ondes, écouter les signaux des émetteurs AM/WFM/PWM, ainsi que travailler avec une antenne directionnelle pour la radiogoniométrie et la recherche de balises radio et de microphones radio. Le récepteur est réalisé selon un circuit super-régénérateur avec un transistor fonctionnant en mode barrière, qui a été testé à plusieurs reprises dans des équipements de radiocommande. L'ULF utilise la puce d'ampli opérationnel LM358 largement utilisée, l'un de ses amplificateurs fonctionne comme un amplificateur préliminaire avec contrôle de gain et le second comme répéteur pour correspondre à des écouteurs à faible impédance avec des résistances de bobine de 20 à 50 ohms. Contrairement aux récepteurs radio similaires, la fréquence de coupure du filtre passe-bas après le détecteur est réduite à 3-4 kHz pour réduire le bruit en l'absence de signal, et la capacité du condensateur qui shunte l'entrée de l'antenne est augmentée pour réduire l'influence. de l'antenne directionnelle résonante « canal d'onde » sur l'accord du circuit détecteur. La sensibilité du récepteur est d'environ quelques microvolts, la bande passante est d'environ 1 MHz. Le signal d'un émetteur 423 MHz d'une puissance de 80 mW à une distance >2 m est reçu à un niveau comparable au niveau de bruit (lorsque le récepteur est réglé sur 433 MHz). La fréquence de réception est déterminée par le réglage de la bobine L2 et peut être modifiée dans de larges limites.

Diagramme schématique du récepteur
Une LED jaune avec une tension directe d'environ 2 V sert à stabiliser le mode super-régénérateur et sert également d'indicateur de mise sous tension. La plage de tension d'alimentation est de 3,7 à 0 V, la consommation de courant lorsqu'elle est alimentée à partir de 9 V en l'absence de signal est de 4 mA, lors de la réception d'un signal et d'un volume complet est de 12 mA. Le réglage du récepteur revient à accorder (en comprimant et en étirant les spires de la bobine L2) le circuit du super-régénérateur à la fréquence requise.


Photo de la carte récepteur assemblée.



Récepteur avec antenne "canal d'onde" à 3 éléments

Initialement, il était prévu de connecter une antenne directionnelle via des lignes de communication en bande sur une feuille de fibre de verre à 2 faces, mais en raison du fonctionnement instable du récepteur lorsque vous touchez les éléments de l'antenne, la connexion du vibrateur actif à l'entrée du récepteur a dû être effectuée. sur une ligne à 2 fils (à partir de fils de câble plats) de 160 mm de long .

La connexion s'effectue à l'aide de vis puisque les dimensions d'installation du connecteur BNC dépassent la taille de la carte récepteur.


Ceci est une photo du récepteur avec une antenne fouet ordinaire de 17 cm.

Dessin de circuit imprimé.
L'installation est réalisée sur un stratifié de fibre de verre double face d'une épaisseur de 1 mm. Les contacts marqués en blanc sont connectés à la feuille située sous la carte (terre) avec de courts morceaux de fil. Attention! Imprimez le tableau pour LUT dans un MIROIR !

Fait amusant! Il existe d'autres émetteurs mais compatibles à 433 MHz, notamment un et deux. De plus, il existe un récepteur alternatif. Mais ce n'est pas totalement compatible, puisque la sortie Toujours produit une sorte de signal, que la transmission ait réellement lieu ou non.

Pour mes expériences, j'ai également utilisé une télécommande de garage achetée sur eBay avec un interrupteur DIP interne :

Avec un peu de chance, de telles télécommandes peuvent encore être trouvées sur eBay et sur AliExpress avec une recherche du type « ouvre-porte de garage 433 MHz avec commutateur DIP ». Mais récemment, elles ont été remplacées par des télécommandes « programmables » capables de recevoir et de copier le signal d'autres télécommandes. On arrive même au point où les vendeurs envoient des télécommandes sans commutateur DIP, même si cela est clairement indiqué sur la photo qu'ils fournissent et est indiqué dans la description du produit. Vous ne devriez pas non plus vous fier à la similitude externe de la télécommande avec celle que j’ai utilisée. Cependant, si vous décidez de répéter les étapes de cette note, la présence ou l'absence Commutateur DIP ne jouera pas un grand rôle.

Les modules sont extrêmement simples à utiliser dans vos projets :

Le récepteur et l'émetteur ont des broches VCC, GND et DATA. Au niveau du récepteur, la broche DATA est répétée deux fois. Les modules sont alimentés en 5 V. La photo de gauche montre un circuit dans lequel la LED est connectée à la broche DATA du récepteur. Sur la droite se trouve un circuit avec un émetteur dont la broche DATA est connectée à un bouton et une résistance de rappel. De plus, les deux circuits utilisent le stabilisateur LM7805. Cela ne pourrait pas être plus simple.

Enregistrons le signal à l'aide de Gqrx et ouvrons le fichier résultant dans Inspectrum :

Ici, nous voyons les mêmes signaux courts et longs que l'oscilloscope nous a montrés. À propos, cette méthode de codage du signal est appelée On-Off Keying. C’est peut-être le moyen le plus simple de transmettre des informations par ondes radio que vous puissiez imaginer.

Nous l'exécutons et sur le Scope Plot, nous voyons :

Presque le même signal que celui que l’oscilloscope nous a montré !

Comme vous pouvez le constater, les modules radio bon marché à 433 MHz nous offrent une énorme marge de créativité. Ils peuvent être utilisés non seulement entre eux, mais également avec de nombreux autres appareils fonctionnant à la même fréquence. Vous pouvez les utiliser avec succès dans des appareils purement analogiques sans microcontrôleur, par exemple avec une minuterie 555. Vous pouvez implémenter vos propres protocoles avec des sommes de contrôle, une compression, un cryptage, etc., sans aucune restriction, par exemple sur la longueur des paquets, comme le NRF24L01. Enfin, les modules sont parfaits pour envoyer des messages diffusés.

Quelles applications étonnantes pour ces modules radio vous viennent à l’esprit ?

Ajout: Vous pourriez également être intéressé par les articles

Schéma schématique d'un système de radiocommande construit sur la base d'un téléphone combiné, fréquence de fonctionnement - 433 MHz. Les téléphones portables étaient très populaires à la fin des années 90 et ils sont toujours vendus partout. Mais les communications cellulaires sont plus pratiques et remplacent désormais partout les lignes fixes.

Une fois achetés, les téléphones deviennent inutiles. Si cela crée un combiné inutile mais utilisable avec un commutateur tonalité/impulsion, vous pouvez créer un système de télécommande basé sur celui-ci.

Pour que le combiné devienne un générateur de code DTMF, vous devez le mettre en position « tonalité » et lui fournir suffisamment d'énergie pour le fonctionnement normal de son circuit de numérotation par tonalité. Ensuite, envoyez un signal de celui-ci à l’entrée de l’émetteur.

Diagramme schématique

La figure 1 montre un schéma de l'émetteur d'un tel système de radiocommande. La tension du combiné téléphonique est fournie à partir d'une source de 9 V CC via la résistance R1, qui dans ce cas est la charge du circuit de numérotation par tonalité du téléphone. Lorsque l'on appuie sur les boutons du TA, il y a une composante variable du signal DTMF sur la résistance R1.

De la résistance R1, le signal basse fréquence va au modulateur de l'émetteur. L'émetteur se compose de deux étages. Le transistor VT1 est utilisé comme oscillateur maître. Sa fréquence est stabilisée par un résonateur SAW à 433,92 MHz. L'émetteur fonctionne à cette fréquence.

Riz. 1. Schéma de principe d'un émetteur 433 MHz pour un combiné téléphonique.

L'amplificateur de puissance est réalisé à l'aide du transistor VT2. La modulation d'amplitude est réalisée dans cette étape en mélangeant le signal AF avec la tension de polarisation fournie à la base du transistor. Le signal basse fréquence du code DTMF de la résistance R1 entre dans le circuit de génération de tension basé sur VT2, composé des résistances R7, R3 et R5.

Le condensateur C3, avec les résistances, forme un filtre qui sépare RF et LF. L'amplificateur de puissance est chargé sur l'antenne via un filtre en forme de U C7-L3-C8.

Pour empêcher la fréquence radio de l'émetteur de pénétrer dans le circuit téléphonique, l'alimentation lui est fournie via l'inductance L4, qui bloque le chemin du signal RF. Le chemin de réception (Figure 2) est réalisé selon un schéma super-régénératif. Un détecteur super-régénératif est réalisé sur le transistor VT1.

Il n'y a pas de contrôle de fréquence RF, le signal de l'antenne passe par la bobine de communication L1. Le signal reçu et détecté est alloué à R9, qui fait partie du diviseur de tension R6-R9, qui crée un point médian à l'entrée directe de l'ampli opérationnel A1.

L'amplification principale LF se produit dans l'amplificateur opérationnel A1. Son gain dépend de la résistance R7 (une fois ajustée, elle permet d'ajuster le gain à l'optimum). Ensuite, via la résistance R10, qui régule le niveau du signal détecté, le code DTMF est envoyé à l'entrée du microcircuit A2 de type KR1008VZh18.

Le circuit décodeur de code DTMF sur la puce A2 n'est presque pas différent du circuit standard, sauf que seuls trois bits du registre de sortie sont utilisés. Le code binaire à trois bits obtenu à la suite du décodage est transmis à un décodeur décimal sur le multiplexeur K561KP2. Et puis - en sortant. Les sorties sont désignées en fonction des numéros avec lesquels les boutons sont étiquetés.

Riz. 2. Schéma de circuit d'un récepteur radiocommandé avec une fréquence de 433 MHz et avec un décodeur basé sur K1008VZh18.

La sensibilité de l'entrée K1008VZh18 dépend de la résistance R12 (ou plutôt du rapport R12/R13).

Lorsqu'une commande est reçue, une commande logique apparaît sur la sortie correspondante.

En l'absence de commande, les sorties sont dans un état de haute résistance, à l'exception de la sortie correspondant à la dernière commande reçue - elle sera zéro logique. Ceci doit être pris en compte lors de l’exécution du schéma à contrôler. Si nécessaire, toutes les sorties peuvent être ramenées à zéro à l'aide de résistances fixes.

Détails

L'antenne est un fil métallique de 160 mm de long. Les bobines émettrices L1 et L2 (Fig. 1) sont les mêmes, elles ont 5 tours de PEV-2 0,31, sans cadre, d'un diamètre interne de 3 mm, enroulées tour à tour. La bobine L3 est la même, mais enroulée par incréments de 1 mm.

La bobine L4 est un inducteur prêt à l'emploi de 100 µH ou plus.

Une fois installées, les bobines réceptrices (Fig. 2) L1 et L2 sont situées à proximité l'une de l'autre, sur un axe commun, comme si une bobine était le prolongement de l'autre. L1 - 2,5 tours, L2 - 10 tours, PEV 0,67, diamètre d'enroulement interne 3 mm, sans cadre. Bobine L3 - 30 tours de fil PEV 0,12, elle est enroulée sur une résistance constante MLT-0,5 avec une résistance d'au moins 1M.

Chatrov S.I. RK-2015-10.

Littérature : S. Petrus. Rallonge radio pour tuner satellite télécommande IR, R-6-200.

  • Facile à connecter. Les modules en question, contrairement au nRF24L01+, sont alimentés par une tension de 5 V.
  • Disponibilité. Les modules radio sont produits par de nombreux fabricants, dans différentes versions et sont interchangeables.
  • Défauts:

    • A une fréquence de 433,920 MHz, de nombreux autres appareils fonctionnent (lustres radio, prises radio, porte-clés radio, modèles radio, etc.), qui peuvent « brouiller » la transmission de données entre les modules radio.
    • Manque de feedback. Les modules sont divisés en récepteur et émetteur. Ainsi, contrairement au module nRF24L01+, le récepteur ne peut pas envoyer de signal d'accusé de réception à l'émetteur.
    • Faible vitesse de transfert de données, jusqu'à 5 kbit/s.
    • Le récepteur MX-RM-5V est essentiel même pour les petites ondulations sur le bus d'alimentation. Si Arduino contrôle des appareils qui introduisent même des ondulations petites mais constantes dans le bus d'alimentation (servos, indicateurs LED, PWM, etc.), alors le récepteur considère ces ondulations comme un signal et ne répond pas aux ondes radio de l'émetteur. L'effet d'ondulation sur le récepteur peut être réduit de l'une des manières suivantes :
      • Utilisez une source externe pour alimenter l'Arduino, pas le bus USB. Puisque la tension de sortie de nombreuses alimentations externes est contrôlée ou lissée. Contrairement au bus USB, où la tension peut « s'affaisser » considérablement.
      • Installez un condensateur de lissage sur le bus d'alimentation du récepteur.
      • Utilisez une alimentation stabilisée séparée pour le récepteur.
      • Utilisez une alimentation séparée pour les appareils qui introduisent une ondulation dans le bus d’alimentation.

    Nous aurons besoin:

    • Modules radio FS1000A et MX-RM-5V x 1 jeu.
    • Trema LED (rouge, orange, vert, bleu ou blanc) x 1pc.
    • Un jeu de fils femelle-femelle pour connecter les modules radio x 1 jeu.

    Pour implémenter le projet, nous devons installer les bibliothèques :

    • Bibliothèque iarduino_RF433 (pour travailler avec les modules radio FS1000A et MX-RM-5V).
    • Bibliothèque iarduino_4LED, (pour travailler avec l'indicateur LED Trema à quatre chiffres).

    Vous pouvez découvrir comment installer des bibliothèques sur la page Wiki - Installation de bibliothèques dans l'IDE Arduino.

    Antenne:

    Le premier amplificateur de tout récepteur et le dernier amplificateur de tout émetteur est l’antenne. L'antenne la plus simple est une antenne fouet (un morceau de fil d'une certaine longueur). La longueur de l'antenne (réceptrice et émettrice) doit être un multiple du quart de la longueur d'onde de la fréquence porteuse. Autrement dit, les antennes fouet peuvent être quart d'onde (L/4), demi-onde (L/2) et égales à la longueur d'onde (1L).

    La longueur d'une onde radio est calculée en divisant la vitesse de la lumière (299"792"458 m/s) par la fréquence (dans notre cas 433"920"000 Hz).

    L = 299"792"458 / 433"920"000 = 0,6909 m = 691 mm.

    Ainsi, la longueur des antennes pour modules radio à 433,920 MHz peut être : 691 millimètres(1L), 345 millimètres(L/2), ou 173 millimètres(L/4). Les antennes sont soudées aux plages de contact, comme indiqué sur le schéma de connexion.

    Vidéo:

    Diagramme de connexion:

    Destinataire:

    Une fois démarré (dans le code de configuration), le croquis configure le fonctionnement du récepteur radio, indiquant les mêmes paramètres que l'émetteur, et lance également le travail avec l'indicateur LED. Après quoi, il vérifie constamment (dans le code de boucle) s'il y a des données reçues par le récepteur radio dans le tampon. S'il y a des données, elles sont lues dans le tableau de données, après quoi la valeur de l'élément 0 (lectures du curseur Trema) est affichée sur l'indicateur LED, et la valeur de l'élément 1 (lectures du potentiomètre Trema) est convertie et utilisée pour régler la LED. luminosité.

    Code du programme :

    Émetteur:
    #inclure // Connectez la bibliothèque pour travailler avec l'émetteur FS1000A arduino_RF433_Transmitter radio(12); // Créez un objet radio pour travailler avec la bibliothèque arduino_RF433, indiquant le numéro de broche auquel l'émetteur est connecté int data ; // Créez un tableau pour la transmission des données void setup())( radio.begin(); // Initiez le fonctionnement de l'émetteur FS1000A (vous pouvez spécifier la vitesse de NUMBER bits/sec comme paramètre, alors vous n'avez pas pour appeler la fonction setDataRate) radio.setDataRate (i433_1KBPS); // Spécifiez la vitesse de transfert des données (i433_5kbps, i433_4kbps, i433_3kbps, i433_2kbps, i433_1kbps, i433_500bps, i433_100bps), i433_1kbps - 1kbit/second Radio .openwritingpipe (5); // Ouvrez 5 canaux pour le transfert de données (l'émetteur ne peut transférer des données que par un seul canal : 0...7)) // Si vous appelez à nouveau la fonction openWritingPipe en spécifiant un numéro de canal différent, l'émetteur commencera à transmettre des données via le nouveau canal. spécifié pipe void loop())( data = analogRead(A1); // lit les lectures du curseur Trema de la broche A1 et les écrit dans l'élément 0 du tableau de données data = analogRead(A2); // lit les lectures du Trema potentiomètre de la broche A2 et écrivez-les dans 1 élément du tableau de données radio.write(&data, sizeof(data)); // envoie les données du tableau de données indiquant le nombre d'octets du tableau que nous voulons envoyer delay(10); // pause entre les paquets)
    Destinataire:
    #inclure // Connectez la bibliothèque pour travailler avec le récepteur MX-RM-5V #include // Connectez la bibliothèque pour travailler avec un indicateur LED à quatre chiffres iarduino_RF433_Receiver radio(2); // Crée un objet radio pour travailler avec la bibliothèque iarduino_RF433, indiquant le numéro de la broche à laquelle le récepteur est connecté (ne peut être connecté qu'aux broches qui utilisent des interruptions externes) iarduino_4LED dispLED(6,7); // Créez un objet dispLED pour travailler avec les fonctions de la bibliothèque iarduino_4LED, indiquant les broches d'affichage (CLK, DIO) int data ; // Crée un tableau pour recevoir les données const uint8_t pinLED=11; // Créer une constante indiquant la sortie PWM à laquelle la LED est connectée void setup())( dispLED.begin(); // Initier le fonctionnement de l'indicateur LED radio.begin(); // Initier le fonctionnement du MX -Récepteur RM-5V (vous pouvez l'utiliser comme paramètre pour spécifier la vitesse NOMBRE de bits/sec, vous n'avez alors pas besoin d'appeler la fonction setDataRate) radio.setDataRate (i433_1KBPS); // Spécifiez la vitesse de réception des données (i433_5KBPS , i433_4KBPS, i433_3KBPS, i433_2KBPS, i433_1KBPS, i433_500BPS, i433_100BPS), i433_1KBPS - radio 1kbit/s. openReadingPipe (5); // Ouvrir le canal 5 pour recevoir des données (si vous appelez la fonction sans paramètre, tous les canaux seront ouverts à une fois, de 0 à 7) // radio.openReadingPipe (2); // Ouvrir le tube 2 pour recevoir des données (de cette façon, vous pouvez écouter plusieurs tubes à la fois) // radio.closeReadingPipe(2); // Fermer le tube 2 de la réception des données (si vous appelez la fonction sans paramètre, tous les tuyaux seront fermés d'un coup, de 0 à 7) radio.startListening (); // Allumez le récepteur, commencez à écouter le tuyau ouvert // radio.stopListening (); // Éteignez le récepteur si nécessaire ) void loop())( if(radio.available())( // S'il y a des données reçues dans le tampon radio.read(&data, sizeof(data)); // Lire le data dans le tableau de données et spécifiez le nombre d'octets à lire dispLED.print(data); // Afficher les lectures du curseur Trema sur l'indicateur analogWrite(pinLED, map(data,0,1023,0,255)); // Définir la luminosité de la LED en fonction de l'angle de rotation du potentiomètre Trema) / / Si on appelle la fonction disponible avec un paramètre sous forme de référence à une variable de type uint8_t, alors on obtiendra le numéro du tuyau par lequel le les données sont arrivées (voir leçon 26.5)
    Chargement...Chargement...