[ Accueil ] [ CONTACT ] [ PLAN du Site ] [ RCNV ] [ Publications ] [ Chantiers Bateaux ] [ Technique Modélisme ] [ Electronique ] [ Radios Vintage ] [ Multi-Switch ] [ Vrac ] [ Astuces ] [ Liens ] [ Base ] [ Compteur ]
 

     ...  rgl

 

Liaison RF 433 Mhz

 

Picaxe Application

(c)  Rg.LEGAT  

 

 

 SOMMAIRE:

-  Introduction - Présentation - Généralités

- HC-12 - 433Mhz - 100mW - 1800m.
             
   Conception
                 Les commandes AT
                 Utilitaire de configuration pour HC-12

                 Les 4 modes de transmission
                 Recommandations d'utilisation et de conception
                 Incompatibilités et fake copies !

- ...

 

     Introduction - Présentation - Généralités

Cette page s'intéresse à divers modules de transmission radio sans fil dans la bande des 433Mhz.

Il pourront notamment être utilisés pour les modules de télémétrie présentés sur ce site.  

 

     HC-12    433Mhz   100mW

Les modules compacts HC-12 sont des petits modules de communication à port série sans fil,  433 MHz, à très faible prix et avec une portée annoncée pouvant aller jusqu'à 1800 m en espace ouvert...

Par paire, ils peuvent créer une liaison UART sans fil qui peut être utilisée, par exemple, pour transférer des données de télémétrie à partir d'un petit microcontrôleur raccordé à divers capteurs..

Ce module est une alternative intéressante au nRF24L01+  étudié en détail sur ce site.

Son utilisation est certes plus aisée, et sa prise en main très rapide, car il ne possède pas autant de registres, mais, de ce fait, il offre moins de possibilités que le nRF24L01+.

Par exemple, la commande Serial IN placera le module en mode réception (RX) et une commande Serial OUT sélectionnera le mode émission (TX) sans manipulation de registres ou autres !

           

Le module HC-12 peut être soudé par patch, ou être enfiché dans un support à broches espacées de 2,54 mm, fixé et inséré directement sur la carte de circuit imprimé de l'utilisateur.

Le module a neuf broches au total et une prise d'antenne RF (ANT1), avec les définitions indiquées dans le tableau ci-dessous:
 



Les broches 1 à 6 ont chacune deux plots de connexion, les plots de connexion externes à demi-trou étant destinés au soudage par patch.
Lorsque le plot de connexion interne ANT2 de la broche 6 est utilisé pour la connexion, l'antenne à ressort peut être soudée ici à la main.
Les plots de connexion intérieurs à trous ronds aux broches 1-5 peuvent être utilisés pour souder une embase au pas de 2,54 mm qui peut être branché sur une prise PCB.

D'origine, il est fourni avec une petite antenne "ressort" mais une prise IPEX est prévue pour y brancher une antenne fouet 1/4 d'onde munie de son pigtail blindé.

Le HC-12 est un module compact construit autour de:

 

        Un émetteur-récepteur Si4463

Le Si4463 de SiliconLabs assure la communication sans fil dans ce circuit.
C'est un émetteur-récepteur de la famille «EZRadioPRO» à haute performance et à faible courant avec une puissance de sortie pouvant atteindre 20 dBm (100mW)
et une sensibilité de réception de -129 dBm.
A noter que cette puissance maximale, dans la bande des 433Mhz n'est pas autorisée dans de nombreux pays !
Deux mémoires Rx et Tx FIFO de 64 octets sont intégrées à la puce, ainsi que de nombreuses fonctionnalités avancées mais non implémentées dans la conception du HC-12.

Le Si4463 communique via un bus SPI avec un microcontrôleur STM8S003F3.

 

        Un microcontrôleur STM8S003F3

Le STM8S003F3 de chez STMicroelectronics est un microcontrôleur 8 bits avec 8 ko de mémoire flash, 128 octets de mémoire EEPROM et un ADC 10 bits.
Il prend en charge UART, SPI et I2C et possède plusieurs broches d'E / S.
Il offre bon nombre des mêmes fonctionnalités que ses homologues ATMega et XMC.
Il est programmé pour contrôler le Si4463 ainsi que pour gérer la comunication UART entre le HC-12 et tout ce à quoi il est connecté à l'autre bout.
Le STM8S fournit une interface de données série transparente pour communiquer avec le module, permettant à deux modules
HC-12 d'agir comme un TTL
câblé en série à niveau logique sans aucun périphérique matériel connecté étant étant donné le lien RF.
La configuration est conservée dans la mémoire non volatile intégrée.

 

Caractéristiques du produit

 

  Transmission sans fil longue distance (FU3: 1000 m en espace ouvert, débit en bauds 5000bps dans l'air. FU4: 1800 m en espace ouvert, débit en bauds de 500 bps "dans l'air").

   Plage de fréquences de travail (433,4 - 473,0 MHz, avec 100 canaux de communication espacés de 400Khz).

 Puissance de transmission maximale de 100 mW (20dBm). 8 niveaux de puissance peuvent être définis.

   Quatre modes de travail, adaptés aux différentes situations de vos applications.

 Le MCU intégrée établit la communication avec le périphérique externe via une connexion sur le port série, aucune programmation ni configuration requise pour une utilisation de base.

   Le nombre d'octets transmis en continu est illimité (en FU1 et FU3 modes seulement).

   Mise à jour de la version du logiciel via le port série

  Alimentation: (DC 3.2V ~5.5V). Le module peut toutefois être utilisé avec des dispositifs de tension UART de 3,3V et 5V (sécurité 5V).

 

Paramètres de configuration des Commandes AT

Les commandes AT sont utilisées pour définir les paramètres du module et basculer entre les fonctions du module lorsque le module est en mode commande.

Une fois définies, ces modifications ne seront valides qu'après la sortie du mode commande.
Les paramètres sont stockés dans une mémoire non volatile, ils ne seront donc pas perdus lorsque l'alimentation sera coupée !

  

1)    Entrée en mode commande

 

Il existe deux manières d'entrer en mode commande:

 

1.            - tout en étant sous tension, mettre la broche 5 (SET) à l'état bas

 

2.            - débranchez l'alimentation, connectez la broche 5 («SET») à GND (état bas), réactiver le module *

 

Remarque: la broche 5 possède une résistance de rappel 10k connectée en interne, ce qui permet de piloter la broche par une sortie à collecteur ouvert provenant d'un périphérique connecté.

 

L'une ou l'autre des deux méthodes ci-dessus placera le module en mode commande, prêt à accepter les commandes AT; relâcher la broche 5 («SET») dans les deux cas quitte le mode de commande.
Si les paramètres du module ont changé après avoir quitté le mode commande, les nouveaux paramètres sont basculés dans un délai de 200 ms.

 

* Lorsque la deuxième méthode (broche 5 «SET» reliée à GND avant la mise sous tension), le module entre toujours en mode de commande avec le port série configuré pour 9600bps, 8 bits de données, aucune parité, 1 bit d'arrêt, quels que soient les paramètres configurés précédemment.

 

2)    Instructions - Commandes "AT"

 

AT

Commande de test initial.     Exemple: envoyez la commande “AT” au module qui devra répondre “OK”.

 

  AT + Bxxxx

Modifiez le débit en bauds du port série.
Le débit en bauds peut être défini sur 1200bps, 2400bps, 4800bps, 9600bps, 19 200bps, 38 400bps, 57 600bps ou 115 200bps.
La valeur par défaut est 9600bps.

 

Exemple: pour définir le débit en bauds du port série du module sur 19 200 bps, envoyez d'abord la commande «AT + B19200» au module, qui retournera alors «OK + B19200».
Une fois sorti du mode commande, le débit en bauds sera maintenat de 19 200 bps.

 

  AT + Cxxx

Changer de canal de communication sans fil, sélectionnable de 001 à 127 (pour les canaux sans fil supérieurs à 100, la distance de communication ne peut pas être garantie).

La valeur par défaut du canal sans fil est 001, avec une fréquence de travail de 433,4 MHz.
Le pas de canal est de 400 KHz et la fréquence de travail du canal 100 est de 473,0 MHz.

 

Exemple: pour que le module fonctionne sur le canal 21, envoyez d'abord la commande «AT+ C021» au module, qui retournera alors «OK + C021».

Après avoir quitté le mode commande, le module travaillera sur le canal 21, à la fréquence de travail de 441,4 MHz.

 

Remarque: lorsque vous utilisez plusieurs systèmes de communication TX/RX ou si vous émettez sur plusieurs canaux, étant donné que la sensibilité de réception du module HC-12 en réception sans fil est relativement élevée, lorsque le débit en bauds du port série est supérieur à 9 600 bps, vous devez laisser un espace libre de 5 canaux entre chaque groupe.
Même lorsque le débit en bauds du port série ne dépasse pas 9 600 bauds, sur une courte distance (moins de 10 m), un espace de séparation libre de cinq canaux est aussi hautement recommandé.

 

  AT + FUx

Changez le mode de transmission transparent du port série du module.
Quatre modes sont disponibles, à savoir FU1, FU2, FU3 et FU4.
Par défaut le mode FU3 est activé.
Une communication sans fil normale ne peut se produire que lorsque la vitesse du port série et le mode de transmission transparent de deux modules sont identiques.
Pour plus de détails, veuillez vous reporter à la section ci-dessous 
«Modes de transmission».

 

Exemple: envoyez la commande "AT + FU1" au module et le module renvoie "OK + FU1".

 

  AT + Px

Définissez la puissance d'émission du module, avec x sélectionnable de 1 à 8.
La puissance d'émission correspondante du module est indiquée ci-dessous:

 

Valeur x

1

2

3

4

5

6

7

8

Puissance en transmission

-1 dBm 0,8mW

2 dBm 1,6mW

5 dBm 3,2mW

8 dBm 6,3mW

11 dBm 12mW

14 dBm 25mW

17 dBm 50mW

20 dBm 100mW

 

La valeur par défaut est 8 et plus la puissance d'émission est élevée, plus la distance possible de communication sans fil est grande.
Lorsque le niveau de puissance d'émission est défini sur 1, la puissance d'émission est minimale. A noter, chaque fois que la puissance d’émission est réduite de 6 dB, la distance de communication est réduite de moitié.

 

Exemple: envoyez la commande "AT + P5" au module et le module renvoie "OK + P5". Après avoir quitté le mode commande, la puissance d'émission du module est définie sur 11 dBm.

 

 >>> Veillez à respecter les législations en vigeur: Une puissance supérieure à 10mW est interdite dans de nombreux pays !

 

  AT + Ry

Obtenez un paramètre unique à partir du module, où y est une lettre quelconque parmi B, C, F et P, représentant respectivement: débit en bauds, canal de communication, mode de transmission transparente du port série et puissance de transmission.

 

Exemple 1:

Envoyez la commande «AT + RB» au module et si le module renvoie «OK + B9600», il est confirmé que le débit en bauds du port série du module est de 9600bps.

 

Exemple 2:

Envoyez la commande «AT + RC» au module et si le module renvoie «OK + RC001», il est confirmé que le canal de communication du module est 001.

 

Exemple 3:

Envoyez la commande “AT + RF” au module, et si le module renvoie “OK + FU3”, il est confirmé que le module fonctionne en mode de transmission transparent FU3 du port série.

 

Exemple 4:

Envoyez la commande “AT + RP” au module, et si le module renvoie “OK + RP: + 20dBm”, il est confirmé que la puissance d'émission du module est réglée sur 20dBm (100mW).

 

  AT + RX

Obtenir tous les paramètres du module.
Renvoie le mode de transmission transparent du port série, le débit en bauds du port série, le canal de communication et la puissance de transmission dans cet ordre.

 

Par exemple: envoyez la commande "AT + RX" au module, et le module renvoie "OK + FU3 \ r \ n OK + B9600 \ r\n OK + C001 \ r \ n OK + RP: +20 dBm \ r \ n ”.
  (“\r\n” signifie le retour chariot \ nouvelle ligne – CRLF)

  AT + Udps

Définissez les bits de données (d), la parité (p) et les bits d’arrêt pour la communication par port série.

Pour la parité, N signifie aucun, O signifie un contrôle impair et E un contrôle pair.
Pour les bits d'arrêt, 1 signifie un bit d'arrêt, 2 signifie deux bits d'arrêt et 3 signifie 1,5 bits d'arrêt.

 

Par exemple: pour définir le format de port série sur huit bits de données, une parité impaire et un bit d'arrêt, envoyez la commande «AT + U8O1» au module.
Le module renverra «OK + U8O1».

 

  AT + V

Demander des informations sur la version du micrologiciel auprès du module.

Par exemple: envoyez la commande "AT + V" au module, et le module renvoie "HC-12_V2.4".

 

  AT + SLEEP

Après avoir reçu cette commande, le module passe en mode veille après avoir quitté le mode commande, le courant de travail étant d’environ 22uA.

Ce mode ne permet pas la transmission de données par port série.

En entrant à nouveau en mode commande, le module quittera automatiquement le mode veille.

 

Par exemple: lorsque la transmission de données sans fil n'est pas nécessaire, pour économiser de l'énergie, envoyez une commande “AT + SLEEP” au module et le module renvoie “OK + SLEEP”.

 

  AT + DEFAULT

Réglez le débit en bauds et la configuration du port série, le canal de communication, l'alimentation et le mode de transmission transparent du port série sur les valeurs d'usine.

 

Par exemple: envoyez la commande "AT + DEFAULT" au module, et le module renvoie "OK + DEFAULT", avec les valeurs d'usine par défaut restaurées.

 Le débit en bauds du port série par défaut est de 9600bps, 8 bits de données, aucune parité, 1 bit d’arrêt,
 le canal de communication est C001
 la puissance de transmission est de 20dBm /100mW
 et le mode de transmission transparente du port série est de FU3.

 

  AT + UPDATE

Mettez le module en attente d'une mise à jour logicielle.
Après réception de cette commande, le module ne répondra à aucune autre commande AT tant qu’il n’a pas été réactivé.

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

   Les commandes Série AT sont à  envoyer sur le port RxD du module HC-12. 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Utilitaire de configuration pour HC-12

 

Les commandes AT seront surtout utilisées en début de programme, dans la phase d'initialisation, pour configurer les paramètres de fonctionnement du module.

 

Notez toutefois qu'il est possible de configurer le module HC-12 à l'aide d'un petit logiciel externe sans faire usage des commandes AT !

Le module doit alors être raccordé à un port USB du PC, muni d'une petite interface USB/Serial.

Cet articife permet d'épargner les ports du microcontrôleur puisqu'il ne sera alors plus nécessaire de gérer les pins SET et RxD, une fois le module configuré et mis en place dans votre montage.

             
 
Cliquez sur l'image pour télécharger l'utilitaire et son mode d'emploi

 

-------------------------------------------------------------------------------------------------------------------------------------------------------

 

Les modes de transmissions

 

Lorsque le module HC-12 quitte l’usine, son mode transparent de transmission par port série par défaut est FU3.

Dans ce mode, le module reste à l'état de vitesse maximale et le courant de repos est d'environ 16 mA.

Le module ajuste automatiquement le débit en bauds de la transmission sans fil dans l'air en fonction du débit en bauds du port série, avec la relation correspondante indiquée dans le tableau ci-dessous:

 

Vitesse en Baud du Port série

1200

bps

2400

bps

4800

bps

9600

bps

19200

bps

38400

bps

57600

bps

115200

bps

Vitesse en Baud dans l'air

5000bps

15000bps

58000bps

236000bps

 
Pour obtenir la distance de communication la plus longue, le débit en bauds du port série doit être réglé sur faible (1200bps ou 2400bps).
Pour une transmission rapide de données en masse, définissez le débit en bauds du port série sur une valeur élevée, mais sachez que la distance de communication sera réduite en conséquence.

 

La sensibilité de réception du module à différentes vitesses de transmission dans l'air est indiquée dans le tableau ci-dessous:

 

Vitesse en Baud dans l'air

5000bps

15,000bps

58,000bps

236,000bps

Réception sans fil

-117dBm

-112dBm

-107dBm

-100dBm

 

En règle générale, chaque fois que la sensibilité de réception est réduite de 6~10 dB, la distance de communication est réduite de moitié.

Lorsque la broche «SET» du module est mise à l'état bas, le mode de transmission transparent du port série et d'autres paramètres peuvent être définis à l'aide des commandes AT, vues ci-dessus.
 

Le mode FU1 est un mode d'économie d'énergie modéré, avec un courant de fonctionnement au repos d'environ 3,6 mA.

Dans ce mode, le module peut également être configuré sur l’un des débits en bauds du port série indiqués dans le tableau ci-dessus, mais le débit en bauds dans les airs est uniforme de 250 000 bps.

 

Le mode FU2 est un mode d’économie d’énergie extrême, avec un courant de travail au repos d’environ 80 µA.

Dans ce mode, le module ne prend en charge que des débits en bauds de 1200, 2400 et 4800 bps, avec la vitesse de transmission dans l'air à 250 000 bps et la distance de communication est courte.

Si, par la suite, le module est configuré sur un autre débit en bauds du port série, le module ne pourra pas effectuer de communication sans fil normale.

 

En même temps, dans les modes FU1 et FU3 configurés en mode FU2, le débit en bauds de plus de 4800 sera automatiquement réduit à 4800 bps. En mode FU2, seul le transfert d'une petite quantité de données (chaque paquet dans les 20 octets), l'intervalle de temps de transmission des paquets ne peut pas être trop court (de préférence plus de 2 secondes), sinon cela entraînerait une perte de données.

 

Le mode FU3 est le mode par défaut.

 

Le mode FU4 est utile pour une portée maximale, jusqu'à 1,8 km.
Mais un seul débit de 1200 bps en bauds est pris en charge, le débit en bauds dans l'air étant réduit à 500 bps pour une distance de communication améliorée.

Ce mode ne peut être utilisé que pour de petites quantités de données (chaque paquet doit être inférieur ou égal à 60 octets) et l'intervalle entre les paquets envoyés ne doit pas être trop court (de préférence plus de 2 secondes) afin d'éviter toute perte de données.

 

Ces éventuelles pertes peuvent être contrôlées par l'ajout d'une routine de contrôle CRC dans le paquet envoyé.
De telles routines CRC sont étudiées ici.

 

Le tableau suivant donne les valeurs de référence typiques pour les différents modes:

 

Mode

FU1

FU2

FU3

FU4

Remarques

Courant de repos

3,6mA

80uA

16mA

16mA

Valeur moyenne

Délais de Transmission

15-

25mS

500mS

4-80mS

1000mS

Transmission de 1 byte

Délai de boucle mesure 1

31mS

 

 

 

Port série à 9600 Bauds, transmission de 1 byte

Délai de boucle mesure 2

31mS

 

 

 

Port série à 9600 Bauds, transmission de 10 bytes

 

Plage de fonctionnement à pleine puissance (20dBm)

 

100m

 

100m

600m à 9600bps

 
1800m
à
1200bps

 

Vue dégagée entre les modules et des conditions idéales

1000m à 2400bps

 

Remarque: Lors des tests 1 et 2, le délai de boucle correspond au temps d'aller-retour pris pour les données envoyées à l'entrée (broche RxD) d'un module, pour retourner à la sortie (broche TxD) du même module, quand un deuxième module (distant) a été configuré avec les broches TxD et RxD connectées ensemble.

 

 En résumé

Chaque HC-12 peut donc fonctionner dans l'un des modes suivants:
 
FU1 - Mode d'économie d'énergie modéré avec un débit en bauds «over the air» de 250000 bps.
          Le débit en bauds du port série peut être réglé sur n'importe quelle valeur prise en charge

FU2 - Mode d'économie d'énergie extrême avec une vitesse «over the air» de 250000 bps.
           Le débit du port série est limité à 1200bps, 2400bps, 4800bps

FU3 - Mode polyvalent par défaut.
           La vitesse «Over the air» varie en fonction de la vitesse du port série.
           Il en va de même pour la portée maximale:

               1200 bps ~ 1000 m
               2400 bps ~ 1000 m
               4800 bps ~   500 m
               9600 bps ~   500 m
            19200 bps ~   250 m
             38400bps ~   250 m
            57600 bps ~   100 m
          115200 bps ~   100 m

FU4 (disponible dans la version 2.3 ou plus récente) - Mode longue portée.
         La vitesse "Over the air" est limitée à 500bps et la vitesse du port série à 1200bps.
         Parce que la vitesse est inférieure à la vitesse du port, seuls les petits paquets peuvent être envoyés:
         Max 60 octets avec un intervalle de 2 secondes.
         Dans ce mode, la portée est augmentée à 1800 m !
 
La paire de HC-12 qui crée une liaison sans fil doit fonctionner dans le même mode (FU1, FU2, FU3, FU4) et avec la même vitesse !

 

Recommandations - Considérations de conception

• Ne connectez pas une diode électroluminescente et une résistance directement à la sortie TxD du module car cela peut affecter la communication du port série.
• Si vous utilisez un PC ou un MCU pour modifier dynamiquement les paramètres du module, après avoir tiré la broche 5 («SET») faible, attendez au moins 40 ms
  avant d'envoyer des commandes AT au module. Après avoir relâché la broche 5 («SET»), attendez au moins 80 ms pour que le module revienne au mode d'intercommunication du port série.
• Le HC-12 peut nécessiter jusqu'à 100 mA de courant lors de la transmission. 
  Assurez-vous qu'un courant suffisant est disponible - un périphérique de pont USB peut ne pas être en mesure de fournir un courant suffisant.
   Il est recommandé de prévoir un condensateur tampon sur l'alimentation d'au moins 22 uF, de préférence 1 000 uF.
• Lors des essais en phase de réalisation, espacez les modules TX et RX d'au moins 2 mètres. 
• Toujours utiliser des paires de Hc-12 de la même série de production ! Vérifiez que les numéros de production sur chacune des puces sont absomument identiques.

  

Incompatibilités

Notez qu'il existe plusieurs séries de production des modules HC-12, produits dans différents pays (Chine, Philippine, ...).
Le pays d'origine est spécifié au regard du marquage de la puce principale (CHN, PHL, ...).

C'est la raison pour laquelle il est impératif d'utiliser des modules absolument identiques et produits à la même époque.
En effet, outre la probabilité que les firmwares aient évolués au fil du temps, la compatibilité des modules de différentes origines n'est effectivement pas assurée.
Des mesures effectuées sur des modèles CHN et PHL démontrent, par exemple, un décalage de l'ordre de 30Khz par canal. (https://www.thebackshed.com/forum/ViewTopic.php?TID=10443)

En fait, lors des tests à faible distance, tout semble fonctionner correctement,mais dès qu'on éloigne les modules, plus aucune transmission n'est possible.

Cela rend totalement incompatibles des modules de génération ou de sites de production différents !

Veuillez donc à toujours acheter vos modules par paires, auprès de votre même fournisseur.

          

MAUVAISES COPIES !

Il existe même de mauvaises copies présentant des erreurs au niveau du circuit imprimé ! (https://www.instructables.com/id/HC-12-Distance-Problems/)
Il est cependant possible d'y remédier:

Mesurez ainsi si la connexion est établie entre les deux composants du haut se situant à gauche du socket d'antenne.
(A cause du vernis de la sérigraphie, cette connexion n'est pas toujours apparente. Il y a donc lieu de la vérifier au testeur.)
A défaut, établissez une liaison avec un plot de soudure pour remédier à la situation fautive.

Le logo www.hc01.com sur la sérigraphie au verso ne vous garantit pas que vous disposez d'un module original !

(https://picaxeforum.co.uk/threads/picaxe-08m2-et-le-module-rf-hc-12.32046/   Post #9 PieM)

Veuillez donc à toujours vérifier la connexion entre ces deux composants et, à défaut, la rétablir !

 

     Titre suivant ...

 

 x


 
 

   Trafic Visiteurs:  20

 
[ Electronique ]
Copyright © Roger LEGAT - 2008 - Tous Droits réservés - (Thds V2)