V.O. 28-07-2019
rev 27/11/2024
* Test sur un Module Transceiver HC12 V2-4 avec PIC12F1840 ..28/07/2019
* Resultats
de portée (Version 2-4)
* 2em
Test Reseau de 4 mesures de Temperatures distantes en mode FU2 (
V 2-4 avec 18F26K22
07/09/2019
* Reduire
la consommation ?
* Essais de
Portée avec 2x HC12 (Version 2-6) (16/10/2019)
* 3em
Test Concentrateur 4 modules HC12 en mode FU3 9600
( 18F26K22,18F47J53,12F1840 ..20/10/2019)
* 4em Test avec 2
Nouveaux HC12 reçus (en
V2-4). BAD SERIE
!
* 5em (reprise de )Test avec 2 autres HC12 neuf
mais toujours en V2-4 (mai
2021)
* Essais avec modules GT38
(nov 2024)
recapitulatif : HC12_Tests_2021_2019.xls
Test modules tranceiver HC-12
version 2-4
28/07/2019
datasheet
HC12 #01 coté RECEPTEUR
relié au PC via cordon USB #3 LTTL (connecteur plat 6 pins)
pin 1 HC12 -- +VCC du cordon USB
pin 2 HC12 ---0V
pin 3 HC12 RX <---- Vert -------- Prolific clavier Teraterm
9600,8,N,1
pin 4 HC12 TX -----> Blanc -------prolific Ecran
pin 5 HC12 SET ---- 0V
Test mode AT:
AT+V
www.hc01.com HC-12_V2.4
AT+RX
OK+B9600
OK+RC001
OK+RP:+05dBm
nota:
Channel 100 is 473.0MHz.
Channel 2 is 441.4MHz.
Channel 1 is 433.4MHz.
Attention :
AT+B19200
OK+B19200
AT+FU2
OK+FU2,B4800 <-- le fait de
mettre FU2 ou FU1 , reduit la vitesse à 4800 !
note:
AT+SLEEP
After receiving the command, the module enters sleep mode after
exiting from AT, the
working current is about 22µA, and this mode doesnt allow
serial port data
transmission. Then enter AT setting state again, and the module
will exit from sleep
mode automatically.
e.g.:When wireless data transmission is not needed, to save power,
send AT+SLEEP
command to module, and the module returns OK+SLEEP.
essai non concluant .. à suivre
Tous les modules sont équipés d'une Antenne "RESSORT"
L=~22mm dia ~5mm
HC12 #02 coté Emetteur
L' emetteur HC12#02 est configuré COMME le HC12#01
meme vitesse en Bauds, meme Canal , meme mode.
Un PIC12F1840 est utilisé pour envoyer toutes les secondes, la
mesure
de température issue d'un capteur O.W.S. DS18B20.
via la sortie UART1 du PIC., TX -> RX du HC12 #2
Une led associée à la sortie RAx du PIC , peut etre commandée
par le PC (HC12#1 coté Recepteur
Le PIC peut aussi recevoir des infs du HC12#01 sur sa Pin RX UART.
Le Recepteur distant HC12#01 pourt demander un changement de
puissance sur le HC12 #02
ou demander l'allumage ou extinction de la led (coté PIC)
Le recepteur HC12#01 affiche sur l'ecran Terminal PC ce qu'il
reçoit
et peut envoyer une commande via le clavier terminal PC
Le PIC etant programmé pour pouvoir reconnaitre la commande et
ensuite l'executer
Le PIC passant momentanement son HC12#02 en mode AT ..
via une sortie du PIC --> pin SET du module HC12
La consommation des modules est d'environ
16 à 17mA .
Ne change pas en emission ???
Le schema :
#define OWS_Pin &PORTA,2
#define Led_Rouge LATA.F0 // RA0
#define SET_Pin LATA.F1
Software :
// rajout commande choix puissance à distance PU=x avec x de
1 à 8 => commande AT+P1 à AT+P8
// portée maxi 25M à travers 2 murs et 1 cloison
// PIC12F1840 Dip8 + HC12
// envoi chaque sec valeur de l'indice 0 à 65535 + mesures
capteur DS18B20
// si reception par HC12 distant , analyse la commande recue et
reagit
// ex de cde distance LED=1 ou LED=0 , concerne la led sur RA0 du
PIC12F
// mode P8 maxi activé et FU04 1200 bauds
// conso moyenne 25mA
// et 11mA en mode AT ( pin SET du HC08 au 0V)
// revient à 25mA en laissant SET à 1 ( en l'air , pullup
interne
// MCU presque FULL en RAM !!!!!!!!!!!!!!!!!!!!!!!!!
// Used RAM (bytes): 237 (99%) Free RAM (bytes): 3 (1%)
// Used ROM (program words): 2269 (55%) Free ROM (program words):
1827 (45%)
// 9600 bauds maxi avec HC12 en mode FU3
// 1200 bauds en mode FU4
projet MikroC : Test_HC12_Transceiver_433Mhz.zip
source C : _12F1840_UART_RA4_RA5_IT_Timer1_HC12_DS18B20_190716.c
Résultats
obtenus :
Le Recepteur HC12 #01 est placé dans mon bureau, connecté au
terminal TERTERM PC
Toutes les secondes la mesure de temperature s'affiche sur l'ecran
, précdée d'un indice incrmenté
pour verifier l'evolution .. affichage déroulant stocké dans un
fichier log.
Osc stable ..OK
Compilateur : MikroC 7.5.0
Directory :C:\_MikroC\_MesProjets_MikroC\_HC12_Transceiver_433Mhz
Projet :12F1840_UART_RA4_RA5_IT_Timer1_HC12_DS18B20.mcppi
Source :_12F1840_UART_RA4_RA5_IT_Timer1_HC12_DS18B20_190716
MCU :12F1840 DIP8 Config: P12F1840_Fosc_Interne_16MHz.cfgsch
POWER_SUPPLY: 4.5V
Attention :Pin 1 =VDD pin 8=Gnd
Capteur OWS DS18B20 sur RA2 Led sur RA0 pin SET sur RA1
HC12 FU2 mode
UART1 1200,8,N,1 pin2=RA5=RX Pin3=RA4=Tx r
Test registres DS18B20
Family Code : 28 ID1= FF4715811603 CRC=
24
IT UART RA4-RA5 & Timer1
1 DS#1= 28.20
2 DS#1= 28.18
3 DS#1= 28.18
coté recepteur !
1 DS#1= 28.20
2 DS#1= 28.18
3 DS#1= 28.18
4 DS#1= 28.24
... etc ..
93 DS#1= 28.62
94 DS#1= 28.62
Test de Portée:
Dans le Jardin , je deplace l'emetteur de 1m à la fois, jusqu'à
ce que la liaison soit perdue. ( plus de progression de l'indice
!)
Liaison déja perdue au dela de 17M
( 1 mur et 1 cloison à traverser)
Ce meme test réalisé avec d'autres configurations :
Mode FU3 9600 bauds , ou mode longue portée FU2 1200 bauds
guere mieux .. je suis loin des portées obtenues par des
collègues : Distance > 110M
modele HC12 ?
acheté sur Ali... suivant ce lien
mes modules reçus n'ont AUCUN MARQUAGE sur la
face arrière !
contrairement aux 2 photos de gauche qui montrent un marquage
éloquent
alors que sur l'annonce il y avait sur la photo arrierre :
Ces 4 modules , identhiques, sont equipés d'un quartz 30.00MHz
et d'une Puce SI 4463 1B
vu les pauvres resultats obtenus en
terme de distance <17M ,
cela pourrait s'expliquer avec des "FAKES"
contrefaçons.
Donc TRES décus ! car la portéee ne depasse que de peu ,celle d'un
couple BlueTooth RN41.(20M).
A suivre avec d'autres modules ..marqués
..
07/09/2019
Eh BEN NON !
il s'avere que ces modules ne sont plus distribuées en Europe
avec la possibilité d'utiliser la puissance maxi 100mW.
même si les modules presentent le marquage complet au dos.
suivre cet échange
de post sur Fantaspic.fr , à ce sujet.
D'apres
ce document :
'annexe A7 du Tableau National de Répartition des Bandes de
Fréquences
Puissances Apparentes Rayonnées (PAR)
PAR limitée à 10 mW dans la bande 433 MHz (sans licence)
433.050 à 434.790
donc la gamme couverte par le HC12 en 100 canaux.
TEST Reseau de 4 mesures de Temperatures
distantes
avec 18F26K22
Plutôt que de les benner , je vais donc les utiliser en
optimisant les distances inter-modules HC12.
Coté MAITRE :
Alimentation Batterie LI-Ion 4.0V , 3600mAH
Mesures : => U=3.78V,
consommation globale I=20 à 22mA
un PIC18F26K22 servira de CONCENTRATEUR ( HC12
jaune Maitre) pour interroger les differenst modules (ESCLAVES)
environnant.
pour celà , toutes les 5 secondes , le maitre
change de canal pour interroger l'esclave suivant , correspondant
(sur son meme canal !)
J'ai conservé une vitesse de 9600 bds et le mode FU3,
vu que , de toute façon ,le mode LONGUE PORTEE ,
FU04 à 1200 bauds, n'est plus accessible en France .. (et en
Europe) ???).
à noter : en mode FU04, on est forcément à 1200bds..or pour
modifier les parametres ,il faut etre à 9600 bauds
ce qui impliquerait de changer la vitesse de l'UART en cours de
programme.. c'est faisable !
mais pas la peine de se compliquer la vie, puisqu'on reste ici à
9600bds
There are two ways to enter command
mode:
1. while energized, pull Pin 5 (SET) low
2. disconnect the power supply,
connect Pin 5 (SET) to GND,
re-energize the module
When the second method (pin 5 SET tied to ground
before power is applied), the
module always enters command mode with the serial port configured
for 9600bps, 8
data bits, no parity, 1 stop bit, irrespective of any previously
configured
settings.
Il faudrait donc une sortie collecteur ouvert du PIC pour
commander la pin SET ,
pour ne pas mettre un etat ZERO , meme fugitif , à la mise sous
tension de l'ensemble PIC + HC12.
apres etre passé en mode AT, des la 1ere commande.( AT+C0XX XX =
numero de canal)
Le maitre dialogue avec le HC12 , avec UART1 , mode interrupt sur
RX UART1,
il effectue une mesure de temperature locale via
une sonde OWS DS18B20
un UART3 TX bit bang (19200 bds) sert à ESPIONNER tout le
traffic
j'ai conservé la possibilté d'utiliser UART2 ..pour une future
connection ..
Le maitre, balaye 4 HC12 distants sur les cannaux 010,012,014,016
j'ai laissé un GAP de largeur 1 canal =400Khz entre chaque ,pour
bien les separer.
Le maitre envoie ensuite une invitation à entrer un mesage et se
met en écoute ,
pendant une fenetre temporelle de 3 secondes
pendant ce laps de temps, il peut donc recuperer une info "Msg=xxxxxxxx"
ou une commande prédéfinie :
"LEDR=1, ou LEDR=0 ou LEDV=1 ou LEDV=0
ce qui aura pour effet d'allumer ou eteindre la Led R ou V
connectée au 18F26K22.
puis , au bout des 3 secondes ecoulée, Envoie SA MESURE de
temperature à l'esclave .. ( qui en fera ce qu'il veut !)
La boucle principale se ferme apres la liaison au 4em HC12
distant, elle s'effetue en 26,8 secondes.
Configuration de tests
Necessite 3 terminaux PC YAT ( + 3 cordons Prolifics USB/TTL)
1 terminal Espion sur le concentrateur
1 terminal sur HC12 Rose canal 010
1 terminal sur HC12 Bleu canal 016 (avec PIC12F)
Eclave #1 = HC12 Bleu distant canal #016
relié à un PIC12F1840 MCU en DIP8 dialoguant
via l'UART1
Alimentation : 3 piles AA 1,5V
Mesures : U=4.42V consommation globale = 16.4mA
schema:
comme ICI, mais sortie UART3 TX au lieu de la Led
J'ai rajouté un UART3 soft (9600 bds) pin RA0 pour ESPIONNER
le trafic sur un terminal YAT
A l'init du PIC12F1840, le HC12 (Rose)est configuré :
(11:29:36.512) OK
(11:29:36.544) OK+C016
(11:29:36.544) OK+FU3
(11:29:36.585) OK+B9600
(11:29:36.585) OK+RC016<CR>
nota: version firmware
AT+V
www.hc01.com HC-12_V2.4
et il faut attendre l'interrogation par leconcentrateur pour voir
arriver la mesure de temperature du HC12 distant canal~#16
car il (concentrateur) balaye successivement les canaux de 010 ,012,014,016
celui ci voit alors arriver en réponse du PIC12F
(11:29:42.676) 1 HC#016= 22.37
détails :
Le PIC12F effectue une mesure de temperature locale
( devenant donc distante) via une sonde OWS DS18B20
Ce PIC tourne avec une boucle principale calée sur delay 3sec +
timeout 25 secondes = 28 sec ,
durée un peu superieure à la duree de boucle du CONCENTRATEUR (26.8sec)
La sortie de cette boucle ( Timer1 Timeout 25sec) se fait
normalement sur l'evenement interruption UART1
Cet evenement est le TOP synchro de la liaison..
Pendant ce temps, le PIC a largement le temps d'effectuer SA
mesure de temperature !
le HC12 recevant l'invite de dialogue emise par le CONCENTRATEUR
: "Waiting msg!"
il renvoit ,au Concentrateur cette mesure de temperature , precédée par l'entete "Msg="
La liaison se termine par la reception de la mesure de
temperature envoyée par le concentrateur
et donc ensuite phase d'attente..26sec
nota:
ce PIC en DIP8 ne peut pas envoyer d'autres infos en plus ..Humidite,Pression,
car pas assez d' E/S et de RAM !
Eclave #2 = HC12 Rose distant canal #010
ce HC12 est simplement relié à un Terminal YAT 9600 bauds
Alimenté via le cordon USB Prolific
il peut emettre un message quelconque Msg=Hello
au Concentrateur , des qu'il recoit l'invite "Waiting Msg"
En dehors de cette fenetre temporelle de 3 sec maxi .. pas d'envoi
possible.
Il peut aussi envoyer un message specifique :
commande pour allumer ou eteindre la led R ou V sur
le concentrateur
LEDR=1 , LEDR=0, LEDV=1,LEDV=0.
La liaison se termine par la reception de la mesure de
temperature émise par le concentrateur
et donc ensuite phase d'attente...26sec
Eclave #3 = HC12 Vert distant canal #014
Helas!
A la suite d'une fausse manip,
inversion connectique, mon HC12 Vert est à moitié Mourru !
Il recoit
bien l'info concentrateur , mais je ne peux plus dialoguer en
mode AT avec lui,
ni envoyer de message ( je suppose que l'entree RX du HC12 est HS
!) .
CH14 2773 DS#1= 23.62 <----
temperature mesurée par le concentrateur 18F26K22
Waiting msg ! <---- malheureusement , entree HC2 RX HS .. on ne peut rien renvoyer
CH14 2777 DS#1= 23.62
Waiting msg !
CH14 2781 DS#1= 23.62
ce qui donne ce tableau d'echange
Software :
Coté Maitre (Concentrateur) PIC18F26K22 :
Concentrateur_HC12_18F26K22_190907.zip
source : P18F26K22_Concentrateur_HC12_190904.c
chargeur : P18F26K22_Concentrateur_HC12_190904.hex
Cote Esclave PIC12F1840 :
Esclave_HC12_12F1840_190907.zip
source : _12F1840_UART_RA4_RA5_IT_Timer1_DS18B20_HC12_esclave016_190907.c
chargeur :
12F1840_UART_RA4_RA5_IT_Timer1_HC12_DS18B20_190907.hex
Objectif
REDUIRE LA CONSOMMATION :
Situation de départ :
test sur module (seul ) HC12 Bleu canal 14
,
mode FU3 ,
relié à terminal PC YAT à 9600 bauds via un cordon Prolific
USB/TTL
test mode SLEEP :
Action | consommation |
SET=1 | 16 mA |
SET=0 | 16 mA |
AT | 16mA |
OK | 3.68 mA |
SET=1 | 16 mA |
SET=0 | 16mA |
OK+SLEEP | 3.68 mA |
SET=1 | 16 mA |
Nota: passer en mode AT ou en mode SLEEP .. meme effet !
Teste en mode FU2 à
4800 bauds (IMPOSES !) , terminal à 9600bds
Action | Consommation |
SET=1 | 16mA |
SET=0 | 16mA |
AT | 16 mA |
OK | 3.68mA |
AT+FU2 | 3.68mA |
OK+FU2,B4800 | 3.68mA |
SET=1 | < 12 µA |
envoi HELLO | monte à 16mA puis redescent à 10µA |
SET=0 | 3.68mA |
SET=1 | <12µA |
pour continuer en mode AT , il FAUT changer la vitesse du
terminal à 4800 bauds !
Test avec en face le module HC12 Jaune ( recupéré de la platine
concentrateur)
HC12 Jaune relié à Terminal YAT 9600
Module reconfigué pour 4800bds mode FU2 et meme canal 014
(18:06:19.897) AT
(18:06:19.935) OK
(18:06:34.021) AT+RX
(18:06:34.063) OK+B4800
(18:06:34.090) OK+RC014
(18:06:34.170) OK+RP:+20dBm
(18:06:34.217) OK+FU2
Envoi depuis HC12 jaune
E------> (18:04:37.149) HELLO CHAPS ,ARE YOU FINE
R<---- (18:04:53.383) YES and yourself ?
coté HC12 Bleu :
R<------(18:04:37.663) HELLO CHAPS ,ARE YOU FINE
E------->(18:04:52.881) YES and yourself ?
La consommation passe de <12µA au repos,
mais monte aussitot à 16mA que ce soit en Emission ou en
Reception
si on passe en mode SLEEP .. plus de communication ?
Enregistrement de la consommation
du HC12 distant : PIC12F1840 + HC12 canal 16 en
mode FU2 (4800 baud)
Interrogé par le concentrateur 18F26K22+HC12 explorant les
canaux 10,12,14,16 sequentiellement ,
avec un cycle complet de 26 secondes
Usage du multimetre FI515 en mode enregistrement mA
avec cordon special liaison Opto-Isolée RS232 DB9 F + Cordon TU-S9
DB9-M ------- USB
Programme d'application : D:\FI5151\Bs8151xV4.exe
Mesure de la Consomation globale en sortie alim 3 piles AAA
(4.7V )
La Capture terminal YAT en ESPION sur concentrateur PIC18F26K22 (
via UART3) ,
demandant la mesure au HC Cannal 016 avec Horodatage activé..
est collée dans l'enregistrement
La consom. baisse notablement entre les interrogations ..
Vu le niveau mini, il ne me parait pas utile de mettre en plus le
PIC12F en sommeil ,entre les demandes de mesure..
13/10/2019
1er TEST avec 2 nouveaux HC12 version 2-6, en mode FU2 4800bds
aimablement prétés par PSPIC
1er New Module (PSPIC) connecté 18F26K222
Concentrateur HC12 (LOCAL)
COM3 9600 bds
avec pin SET au GND (0V)
AT
OK
AT+V
www.hc01.com HC-12 v2.6
modif pour passage en mode FU2 4800 bds et canal
#010
AT+FU2
OK+FU2,B4800
AT+C010
OK+C010
AT+RX
OK+B4800
OK+RC010
OK+RP:+20dBm
OK+FU2
de meme pour :
2em New Module (PSPIC) connecté sur PIC12F1840 ( DISTANT)
AT+V
www.hc01.com HC-12 v2.6
modif pour passage en mode FU2 4800 bds et canal
#016
3em module (ancien HC12 Bleu) connecté sur
Terminal YAT ( à 1M)
AT+V
www.hc01.com HC-12_V2.4
modif pour passage en mode FU2 4800 bds et canal
#014
Test avec GPS / clicker 18F47J53 + OLED (tres peu visible en
plein jour )
Resultats décevant ..44M de portée
HC12 Canal 16 en mode FU2 4800 alim 4.25V ( et 4.5V coté
Concentrateur)
voir Concentrateur_18F26K22_Log_complet_191016.log
extrai ci dessous :
(11:34:12.180) Envoi Cde Set channel :
AT+C010
(11:34:14.180) Retour: OK+C010
(11:34:14.242) Changement Canal OK
(11:34:14.367) à l'ecoute du CANAL 10
(11:34:17.399) CH10 1188 DS#1= 19.93
(11:34:19.446)
(11:34:19.446) Envoi Cde Set channel : AT+C012
(11:34:21.461) Retour: OK+C012
(11:34:21.508) Changement Canal OK
(11:34:21.633) à l'ecoute du CANAL 12
(11:34:24.664) CH12 1189 DS#1= 19.93
(11:34:26.711)
(11:34:26.727) Envoi Cde Set channel : AT+C014
(11:34:28.727) Retour: OK+C014
(11:34:28.789) Changement Canal OK
(11:34:28.899) à l'ecoute du CANAL 14
(11:34:31.945) CH14 1190 DS#1= 19.93
(11:34:33.977)
(11:34:33.992) Envoi Cde Set channel : AT+C016
(11:34:36.008) Retour: OK+C016
(11:34:36.055) Changement Canal OK
(11:34:36.180) à l'ecoute du CANAL 16
(11:34:39.180) Msg reçu : 3;4.197149;45.824413;22
(11:34:39.242) CH16 1191 DS#1= 19.93
(11:34:41.273)
conditions de test :
rafraichissement ~30sec ( cycle du concentrateur pour explorer 4
modules HC12
et accorder 3 sec pour repondre à chacun)
alim 3 piles AAA LR6 Alkaline ,
via module KEIWEISI USB F/M LCD indicateur Volt/mA
indique 4,22V
Mesure au multimetre Aux bornes des piles
4.53 V à vide, et 4.35 V en charge
* A noter la possibilité de renvoi automatique d'un message avec
le terminal YAT
Send
... Automatique Response
........ Trigger ..... Any line
......... Response .. [ Send Text]
donc sur canal 14
quant il reçoit Waiting msg !
renvoi automatiquement Msg=OK sur canal 14 (message
predefini dans le champ Send Text)
Test de Portée (provisoire):
Portée mesurée : >20M
de mon bureau jusqu'à un angle eloigné .. PIC12F +HC12 posé au
sol (ce qui n'est pas une solution ideale)
manque d'espace pour tester plus loin ..
mais pour aller dehors, il faut changer de solution : voir ci-dessous
TRACKER HC12
Maxima distance atteint : 44M seulement .
2 em TEST avec les 2 nouveaux HC12 version
2-6
mais en mode FU3 et 9600 bds
Montage de test :
Partie DISTANTE !
Repérage raccordement des fils sur pins module HC12 (canal 016)
Utilisation du Clicker2 18F47J53 comme partie Distante envoyant
ses coordonnées GPS
5 | VCC | Rouge |
4 | GND | marron |
3 | RXD | Vert |
2 | TXD | Jaune |
1 | SET | Bleu |
![]() |
![]() |
![]() |
![]() |
LE HC12 Distant sur canal 16 , avec GPS: | details connectique | affectations des pins | le HC12 canal 12 avec PIC12F1840 + capteur |
SOFTWARE :
Coté DISTANT : CLICKER2
18F47J53
Avec carte Clicker2 18F47J53 + GPS Unlox 7N + Ecran OLED SD1306
Alimentation 3 piles AA de 1,5V ... 4.85V mesuré
Software reduit :
Enlevé la partie mesure de temperature
Synchro cycle sur reecpetion "waiting msg !"
qui permet ensuite l'acquisition mesures GPS, et l'envoi des ses
datas
L'OLED affiche le numero de trame en cours et les donnees
relevées par le GPS
le numero de trame doit evoluer toutes les 5 secondes,
sinon, c'est qu'on perd la communication.
Dossier:C:\_MikroC\_MesProjets_MikroC\_18F47J53_GPS_UART1_UART2_DS18B20_OLED
Projet:Clicker_18F47J53_UART1_Oled_GPS7N_UART2_HC12_canal16_191017.mcppi
Source : Clicker_18F47J53_UART1_Oled_SSD1306_GPS7N_UART2_HC12_canal016_FU3__191017.c
Autres : OLED_I2C2_190801.c , OLED_I2C_190801.h , OLED_Tables_1908.h
Hardw: PIC Clicker 18F47J53
Oled SSD1306 128x32 0.96
GPS UBlox 7N
UART2
Power supply: 5V via USB
MCU : 18F47J53_QFN_44pin
UART1 HC12 4800,8,N,1 TX pin RC6 , Rx pin RC7
UART2 mapped 9600,8,N,1 GPS TX -> Rx pin RD5-RP23
pin RD6-RP22 -> Espion Terminal
Infos affichées via UART1 modulées en fonction de BP1 et BP2
Bus I2C pour Ecran OLED SD1306 128x32
RD0 --> I2C2 -> SCL OLED
RD1 --> I2C2 -->SDA OLED
ou 4 lignes de 20 cars 6x8p
Init UART à 9600 bauds si config usine ! pour acces cdes AT sur
HC12
conf actuelle :
OK+B9600
OK+RC016
OK+RP:+20dBm
OK+FU3
Source : Clicker_18F47J53_UART1_Oled_SSD1306_GPS7N_UART2_HC12_canal016_FU3_191019.c
chargeur: Clicker_18F47J53_UART1_Oled_GPS7N_UART2_HC12_canal16_191019.hex
Partie FIXE :
Concentrateur BASE 18F26K22 + HC12
version 2-6
Log des echanges sur terminal YAT
Alim 3,2V à 4,5V
Software modifié pour ne dialoguer que via le canal #016
Cycle reduit de 30 sec à 5 sec
La base interroge le HC12 distant toutes
les 5 secondes
et attent entre temps, une reponse du HC12 distant , commençant
par "KML,"
Source : P18F26K22_Concentrateur_Special_HC12_Canal16_FU3_9600_191017.c
Chargeur : P18F26K22_Concentrateur_Special_HC12_canal_16_FU3_9600_191017.hex
Resultat :
Nota : Base à Altitude 217M ,Maxir=223M Mini = 206M
Mesures effectuées par temps Nuageux et pluvieux...
Boulette
: Le HC12 Local sur la BASE 18F26K22 etait alimentée en 3,2V au
lieu de 4,5V.
( à cause que mon Pickit2 ne programme correctement mon 18F26K22
qu'en dessous de 3,4V) .. Probleme jamais résolu ..
et j'ai oublié de remonter la tension à 4,5V pour les tests ..
Le HC12 distant etait alimenté via ses 3 piles de 1,5V => 4.85V
( Le module LCD USB pour mesure U/Ien serie avec l'alim USB n'était
pas installé, pour ne pas affecter la tension d'alim HC12 et GPS)
120 points GPS OK.. sur une collecte de 190 points
Perte de liaison dans la Zone d'ombre ,à L'EST ..
La distance Maxi obtenue est de 195 M .. à l'extreme sud
et 130 M à l'extreme OUEST.
les datas GPS récupérées ont été incluses dans un gabarait
fichier *.KML pour etablir le tracé VIOLET sur Google Earth
J'ai rajouté un Trajet "VERT" reprensentant le TRAJET
REEL effectué à Pied.
Conclusion premiere : Tres bon Resultat de Portée
sans doute , favorisé aussi par la topologie du terrain, vu que
la base est sur un point HAUT .
3em Test avec
CONCENTRATEUR sur 4 modules HC12 mixtes (2 versions
differentes)
en mode FU3 9600bds sur les 4 clients. (dont 1 aux abonnés
absents)
le Concentrateur, PIC26K222 :
est equipé d'un module HC12 Version 2-6 ,
interroge les 4 modules chaque 5 sec ,
envoie SA propre mesure de temperature ,
invite à repondre , via "Waiting
msg !"
capté par une machine d'état .
Le cycle complet de balayage des 4 modules distants s'effectue en
25 secondes.
Chaque HC12 dispose de environ 4sec pour répondre.
un HC12 doit repondre soit avec l'entete "Msg=",
soit "KML,", soit "LEDx=y"
les canaux 10,12,14 peuvent donc allumer ou eteindre la led Verte
ou Rouge du concentrateur.
Ceci est une maquette
demontrant seulement quelques possibilites..
Exemple de dialogue ESPION concentrateur avec :
* module HC12 canal 10 v2-4... non connecté
* module HC12 canal 12 v2-4 connecté à Terminal YAT, en mode
Auto Réponse. "Msg
reçu : ici Canal 12"
* module HC12 canal 14 v2-4 avec PIC12F1840 : mesure de
temperature DS18B20 "Msg reçu
: from T#014: 21.93"
* module HC12 canal 16 v2-6 avec PIC18F47J53 : mesure GPS ."GPS= 4.197066,45.824489,234.7 "
17:28:13.592)
(17:28:13.657) Set channel : AT+C010
(17:28:14.606) Retour: OK+C010
(17:28:14.679) Canal OK
(17:28:14.802) à l'ecoute du CANAL 10
(17:28:19.487) CH10 1240 21.56
(17:28:19.994)
(17:28:20.123) Set channel : AT+C012
(17:28:21.009) Retour: OK+C012
(17:28:21.080) Canal OK
(17:28:21.204) à l'ecoute du CANAL 12
(17:28:25.850) Msg reçu : ici Canal 12
(17:28:25.920)
(17:28:25.920) CH12 1241 21.56
(17:28:26.415)
(17:28:26.415) Set channel : AT+C014
(17:28:27.429) Retour: OK+C014
(17:28:27.492) Canal OK
(17:28:27.616) à l'ecoute du CANAL 14
(17:28:32.269) Msg reçu : from T#014: 21.93
(17:28:32.339)
(17:28:32.339) CH14 1242 21.56
(17:28:32.836)
(17:28:32.837) Set channel : AT+C016
(17:28:33.852) Retour: OK+C016
(17:28:33.920) Canal OK
(17:28:34.044) à l'ecoute du CANAL 16
(17:28:38.696) GPS= 4.197066,45.824489,234.7
(17:28:38.773)
(17:28:38.773) CH16 1243 21.56
(17:28:39.259)
(17:28:39.329) Set channel : AT+C010
SOFTWARE :
maj : 20/10/2019
il y a donc 3 applications en jeu
Le concentrateur 18F26K22 :
projet :P18F26K22_Concentrateur_4xHC12_V2_6_FU3_9600_191020.zip
source : P18F26K22_Concentrateur_4x_HC12_V2_6_FU3_9600_191020.c
chargeur : P18F26K22_Concentrateur_4x_HC12_FU3_9600_191020.hex
La mesure de Temperature distante via PIC12F1840 et HC12
canal 014:
projet : P12F1840_UART_RA4_RA5_IT_Timer1_DS18B20_HC12_FU3_9600_canal_014_191020.zip
source : P12F1840_UART_RA4_RA5_IT_Timer1_DS18B20_HC12_FU3_9600_canal_014_191020.c
chargeur : P12F1840_UART_RA4_RA5_IT_Timer1_HC12_FU3_9600_C014_DS18B20.hex
la mesure GPS HC12 canal 016 via PIC18F47J53 (et
affichage local OLED SSD1306):
projet : Clicker_18F47J53_UART1_Oled_GPS7N_UART2_HC12_canal16_191019.zip
source : Clicker_18F47J53_UART1_Oled_SSD1306_GPS7N_UART2_HC12_canal016_FU3_191019.c
chargeur : Clicker_18F47J53_UART1_Oled_GPS7N_UART2_HC12_canal16_191019.hex
Le HC12- canal 12 est simplement relié via un cordon Prolific
USB/TTL à u n PC Terminal YAT
qui renvoi automatiquement "ici
Canal 12" des
reception d'un message .
4em TEST avec 2 Nouveaux HC12
Cde de 4 nouveaux HC12 le 17/10/2019
reçus le 08/11/2019, ....en version 2-4 ! et non V2-6 !
Test ici de 2 d'entre eux
Fort Heureusement, le marquage au dos est conforme !
08/11/2019
Reception des 4 nouveaux modules HC12
avec SET=0V
Test 1er configuration module :
AT+V
www.hc01.com HC-12_V2.4
AT+RX
OK+B9600
OK+RC001
OK+RP:+20dBm
OK+FU3
modif canal 001 -> 012
AT+C012
OK+C012
AT+RX
OK+B9600
OK+RC012
OK+RP:+20dBm
OK+FU3
consommation du module en mode SET=0 4.04mA
avec SET=1 => 16mA
Mise en service concentrateur 18F26K22 avec HC12 maitre version 2-6
en mode FU3 9600bds, balaye, les Canaux #010,012,014,016
Recoit bien le Canal #016
emis par PIC18F47J53+GPS+HC12 version 2-6 canal #16
avec ses datas GPS..
par contre , AUCUNE infos recues par les 2
nouveaux, HC12
configurés ,alors, respectivement en HC12 canal 12 et Canal 14
Nouveau test Bi-LATERAL entre ces 2 nouveaux HC12 version
2-4
un sur terminal COM 14 , nommé ici Gauche (Left on PC display )
l'autre sur terminal COM 3 nommé ici Droite (Right on PC Display)
les 2 sont configuées en Canal#12
et les echanges passent Bien
Ma conclusion est que ces
4 nouveaux HC12 ne sont pas conformes à la Datasheet
differences de frequence assignées aux numeros de canaux ?
Probablement lié à la precision /modele de quartz utilisés .(30MHZ).
TEST DE PORTEE 09/11/2019
Test #1 GPS avec 2 HC12 -seulement) neufs (et
version V2-4) confgurés sur Canal 016
recuperation datas :
(12:17:11.591) GPS= .197132,45.824379,216.6
(12:17:37.185) GPS= .197166,45.824418,217.2
(12:18:02.778) GPS= .197199,45.824418,219.8
(12:18:28.372) GPS= .197199,45.824418,220.6
(12:18:53.981) GPS= .197215,45.824394,223.4
(12:19:19.574) GPS= .197166,45.824322,222.9
(12:19:45.699) x
(12:20:10.730) GPS= .197149,45.824251,219.9
(12:20:36.324) GPS= .197333,45.824418,217.1
(12:21:01.948) x
(12:21:27.479) GPS= .197350,45.824418,216.1
(12:21:53.120) x
(12:22:18.698) x
(12:22:44.229) GPS= 4.197066,45.824418,216.6
(12:23:09.822) GPS= 4.197183,45.824356,213.9
(12:23:35.416) GPS= 4.197166,45.824365,220.9
(12:24:01.009) GPS= 4.197149,45.824379,223.1
Anomalie : manque 4. sur les valeurs Latitude
petit bug suite remplacement entete de la ligne "KML,"
par "GPS= ", taille passée de 4 à 5 chars
et donc l'offset pointant sur la valeur 4, et depassait la
position du 1er digit ..
SOFTWARE update:
P18F26K22_Concentrateur_4x_HC12_FU3_9600_191109.mcppi
P18F26K22_Concentrateur_4x_HC12_V2_6_FU3_9600_191109.c
P18F26K22_Concentrateur_4x_HC12_FU3_9600_191109.hex
des trous de reception, et portée reduite !!
voir TEST_1_portee_new_HC12_V2-4__191109.kml
MAIS , apres verif. alim. par piles de l'emetteur
HC12 GPS : Vcc=3.55V
seulement
=> test à refaire !
3 piles neuves AA -> 4.91V à vide
4.65V en charge ( raccordées au montage PIC18F47J53+GPS+HC12)
2em Test :
****************************************
Pas mieux .... =>
BAD HC12 serie !
****************************************
Reclamation au vendeur le 15/11/2019 ..
doir me renvoyer un autre set ..
attente reception ...JAMAIS REPONDU
5em
(reprise de) TEST avec 2 Nouveaux HC12
30/05/2021
Modules issus de la meme Cde de 4 HC12 le 17/10/2019, reçus le
08/11/2019,
....mais en version 2-4 ! et non V2-6 !
pour une tentative d'appairage de module
Rep"rage module #5 avec pastille orange .
TEST DIRECT :
Interface CHG340 USB / LTTL ( strap coté 3,3V)
Alim module par le +5V USB en sortie iterface CHG 340
Relié direct à Terminal YAT 9600 bds : Terminal_HC12_www_hc01_com_202105.yat
pint SET reliée au 0V GND
AT
OK
AT+V
www.hc01.com HC-12_V2.4
AT+RX
OK+B9600 <--------- Speed par defaut
OK+RC001
OK+RP:+20dBm
OK+FU3
AT+FU3
OK+FU3
AT
OK
Test entre 2 HC12
reliés à 2 terminaux YAT
9600bds via
interfaces CHG340G (USB/LTTL)
Test_Direct_entre_HC12_Jaune_et_HC12_Vert.jpg
COM20 =HC12 YELLOW
COM17 =HC12 VERT
échange OK
Test de
base avec entrée SET du HC12 reliée au Gnd 0V :
pour verifier que les 2 HC12 puissent communiquer
avec le meme mode et le meme canal 16 de frequence.
avec SET =0 le dialogue se fait sur chaque terminal avec son
propre HC12 connecté via TX RX interface CHG340 USB/LTTL
AT OK AT+RX OK+B9600 OK+RC016 OK+RP:+20dBm OK+FU3 |
AT OK AT+RX OK+B9600 OK+RC016 OK+RP:+20dBm OK+FU3 |
coté HC12 Yellow | coté HC12 Green |
La liaison SET sur HC12 est ensuite enlevée pour pouvoir
echanger des messages .
Les messages transitent alors entre les 2 HC12 , via les AIR UHF
433MHz
----------------------------------------
Test couple HC12 en direct sur terminaux
Test_Direct_entre_HC12_Bleu_et_HC12_Vert.jpg
COM20 =HC12 BLEU
COM17 =HC12 VERT
échange OK
----------------------------------------
échange BAD avec
HC12 ORANGE
defectueux ..
reçoit OK, mais n'envoit rien au module distant ?
bien qu'il reponde en mode AT
HC12 VERT en face
----------------------------------------
Test de portée :
entre :
* Tracker GPS pour Tests Liaisons entre 2 Modules
HC12
rappel : utilise un module 18F47J53 clicker + GPS uart U7 + OLED
I2C SSD1306 + HC12 Jaune + capteur T° OWS DS18B20
le RX UART1 pour le GPS,
le TX Uart1 pour envoi sur HC12 ; envoi Temperature et
coordonnees GPS toute les 3 sec
le RX UART2 pour reception HC12
et TX UArt2 pour debugging application sur terminal
alim via 3 piles 1,5 neuves => 4.6V
-----------------------------------------
18F47J53 sortie terminal -> CHG340G -> YAT COM20 9600
-----------------------------------------
Dossier:C:\_MikroC\_MesProjets_MikroC\_18F47J53_GPS_UART1_UART2_DS18B20_OLED
Projet:Clicker_18F47J53_UART1_Oled_DS18B20_GPS7N_UART2_2021.mcppi
Source : Clicker_18F47J53_UART1_Oled_SSD1306_DS18B20_GPS7N_UART2_9600bds__2021-0531.c
Autres : OLED_I2C2_190801.c , OLED_I2C_190801.h , OLED_Tables_1908.h
Hardw: PIC Clicker 18F47J53
Oled SSD1306 128x32 0.96
DS18B20 sensor
GPS UBlox 7N
UART2
Power supply: 4.5V
MCU : 18F47J53_QFN_44pin
UART2 for GPS 9600,8,N,1 TX pin RC6 , Rx pin RC7
UART1 for HC12 mapped 9600,8,N,1 TX pin RD6-RP22 , Rx pin RD5-RP23
pin RB4 output => cde SET (mode AT) HC12
Infos affichées via UART1 modulées en fonction de BP1 et BP2
Bus I2C pour Ecran OLED SSD1306 128x32
RD0 --> I2C2 -> SCL OLED
RD1 --> I2C2 -->SDA OLED
ou 4 lignes de 20 cars 6x8p
Config HC12
AT
Retour de HC12 local :
ERROR
AT+RX
Retour de HC12 local :
ERROR
Test Sonde OWS DS18B20 sur RA2 ........ sonde #6
avec cable long
Family Code : AA0D82381401 CRC=
CD
Mesure DS18B20= 24.31°C
(14:22:09.228) Test Sonde OWS DS18B20 sur RA2 ... sonde avec cable tres court (douteuse
sous 3,3V)
(14:22:09.371) Family Code : 28 ID1 = 976879971903
CRC= D0
(14:22:09.408) Mesure DS18B20= 24.43°C
(14:22:10.051)
(14:22:10.051) I2C2 init at 100Khz
(14:22:10.189) Check Device @ 120 on I2C2 HARDW is not found
(14:22:10.225) Check Device @ 116 on I2C2 HARDW is not found
(14:22:10.398) Check Device @ 118 on I2C2 HARDW is not found
(14:22:10.551) Check Device @ 120 on I2C2 HARDW found OK
(14:22:10.815) OLED init
(14:22:11.238) OLED ON
(14:22:12.011) Temper= 24.4 °C UART2, waiting GPS datas : KML :
5.197166,45.824527,220.7
(14:22:14.795) Temper= 24.5 °C UART2, waiting GPS datas : KML :
5.197166,45.824532,220.8
(14:22:17.577) Temper= 24.5 °C UART2, waiting GPS datas : KML :
5.197166,45.824532,221.2
(14:22:20.360) Temper= 24.5 °C UART2, waiting GPS datas : KML :
5.197166,45.824527,222.0
(14:22:23.143) Temper= 24.5 °C UART2, waiting GPS datas : KML :
5.197183,45.824499,222.3
-----------------------------------------
coté HC12 Vert
sur terminal YAT alimenté via converteur USB TTL CHG340 cavalier
sur 3,3V
reçoit les trames GPS au format KML
-----------------------------------------
Init UART1 9600bds
Retour Mappages pins UART1 et UART2 = 4 ..OK
00 ID1 = 000000000000 CRC= 00
OLED init
Lon : 5.197149 N Lat : 45.824379 E Alt : 230.5 Satel: 04 HDOP : 6.25
Fix: 1
Lon : 5.197149 N Lat : 45.824365 E Alt : 232.5 Satel: 04 HDOP : 6.26
Fix: 1
Lon : 5.197149 N Lat : 45.824365 E Alt : 232.7 Satel: 04 HDOP : 6.26
Fix: 1
Lon : 5.197149 N Lat : 45.824365 E Alt : 233.7 Satel: 04 HDOP : 6.26
Fix: 1
Lon : 5.197149 N Lat : 45.824365 E Alt : 233.8 Satel: 04 HDOP : 6.27
Fix: 1
La communication
disparait au delà de 10M !
Conlusion :
RIEN A
FAIRE avec ces HC12 NON CONFORMES ...
Synoptique Hardware :
Software coté PIC18F87J53 ( HC12 Jaune) :
projet : Clicker_18F47J53_UART1_Oled_DS18B20_GPS7N_UART2_2021.mcppi
chargeur : Clicker_18F47J53_UART1_Oled_DS18B20_GPS7N_UART2_2021-0531.hex
source : Clicker_18F47J53_UART1_Oled_SSD1306_DS18B20_GPS7N_UART2_9600bds_2021_0531.c
complet : _18F47J53_GPS_UART1_UART2_DS18B20_OLED_2021-05.zip
Test avec
modules GT38 ( Novembre 2024 )
Utilisation du même
montage à base de PIC12F1840 et module GT38 Bleu
pour emettre une mesure de temperature DS18B20 toute les 2 sec
vers un autre module GT38 Jaune distant , connecté à un
terminal YAT PC .
un switch entre la Pin SET et 0V , permet d epasser le module en
modte AT.
recevant cette info, et pouvant envoyer une commande clavier :
Relay=1 ou Relay=0
commande traitée par le PIC12F.
ATTENTION : le GT38 dialogue à 9600bds en mode AT
en mode FU4 , la liaison entre les 2 GT38 , est à 1200Bds
Le PIC demmare à 9600bds, et apres init du module , commute
ensuite à 1200bauds
du coté terminal YAT, 1200bds pour les echanges, sinon 9600 pour
la config AT
Le software PIC12F8140 est prevu aussi pour foctionner avec un
espion UART3 9600 bds sur RA0
mais en suppriant la
possibilité de commande relais pin RA0
un Autre outil est utilisé: Cle USB SDR radio numerique avec
apply Air SPY
Avec cet outil on visualise bien si le module EMET et sur quel
canal ..