OK1UFC

 

HC-12

aktualizace 2024 a 2026

  
Úvod

Modul HC-12 je malý komunikační transceiver, který umožňuje transparentní datovou komunikaci přes sériový port v režimu half-duplex. Transceiver se vyznačuje snadnou konfigurovatelností, miniaturními rozměry, velice slušnými vysokofrekvenčními parametry a nízkou cenou. Pro realizaci jednoho sériového komunikačního kanálu potřebujeme 2 stejně nakonfigurované moduly HC-12.

Jak modul používám?

1. Připojení k PC

K PC mám modul připojený s využitím převodníku USB - RS232 (TTL). Kdysi jsem nakoupil (Aliexpress) nějaké levné typy, které mají kabel ukončen řadovým konektorem s roztečí 2.5 mm. Do konektoru jsou zakončeny vodiče takto (tabulka 1):

  Barva vodiče Signál, význam Poznámka

 

1. modrá CTS není využito
2. žlutá RTS není využito
3. zelená TXD jde na RxD modulu HC-12
4. bílá RXD jde na TxD modulu HC-12
5. černá GND napájení modulu
6. červená +5 V napájení modulu

 
Převodník USB-RS232 používá čip FTDI. V PC musí být instalován ovladač převodníku.
Po připojení převodníku se objeví ve správci zařízení nový port, např. COM6. Komunikační modul je napájen z PC. Pro komunikaci a napájení jsou použity vodiče: +5 V, GND, RXD a TXD.
Z modulu HC-12 mám vyveden RF vstup/výstup na anténní konektor pro připojení antény v pásmu 70 cm nebo používám s modulem dodanou šroubovicovou anténku.

2. Připojení k mikropočítači s PICAXE

K mikropočítači mám modul připojený podle schématu uvedeného na 2. obrázku na této stránce. Pro komunikaci jsou použity piny RXD, TXD a GND. U mikrokontroléru PICAXE nejsou použity rezistory u pinu 4 (ty nemají u převodníku TTL smysl). Pin 4 je tedy zapojen přímo. Z mého převodníku TTL nelze do PICAXE zavádět program. Proto nepoužívám ani přepínač pro zavádění programu a program zavádím z patice jednoduchého programátoru.
Komunikační modul je napájen ze zdroje mikropočítače napětím +5V.
Před použitím musí být modul nakonfigurován z PC. Připojení k PC - viz předchozí odstavec. Konfigurace - viz následující odst.

3. Napájení modulu, připojení sériové linky

Modul HC-12 má na jedné straně desky 5 pinů, které mají tento význam (tabulka 2):

  Pin Význam Použití      
1. Pin 1 +Vcc napájení z převodníku USB-RS232
2. Pin 2 GND společná napájecí a signálová zem
3. Pin 3 RxD vstup dat do UART
4. Pin 4 TxD výstup dat z UART HC-12
5. Pin 5 SET přepínání konfiguračního/přenosového režimu

4. Konfigurace modulu (nastavení parametrů)

Pokud je Pin 5 spojen s GND, modul HC12 je v konfiguračním režimu. Z programu se sériovým terminálem přijímá AT příkazy, kterými lze nastavit mnoho vlastností, například použitý komunikační kanál, jeden ze tří transparentních komunikačních módů FU1, ..., FU3, vysílaný výkon, příkazy AT+By, AT+Cxxx (baudová rychlost, kanál...) a další příkazy na nastavení datových bitů, řídících bitů a dalších parametrů. Podrobnosti jsou přesně a srozumitelně uvedeny na konci manuálu.

U modulů jsem si nevšiml žádných zákeřností. Pro konfiguraci parametrů lze používat software "sériový terminál", např. oblíbený Hercules terminál.
Před prvním použitím modulu jsem vždy programoval:

1. Baudovou rychlost, např.: AT+B9600

2. Kanál, tj. frekvenci, na které budou dva moduly mezi sebou komunikovat. Moduly, které jsem obdržel, přestože byly od jednoho dodavatele, tak měly naprogramované různé kanály! Programování kanálu se dělá příkazem AT+Cxxx, kde:
     - xxx je číslo kanálu; kanál C000 má kmitočet 433.000 MHz, další kanál má kmitočet vždy o 0.4 MHz vyšší;
     - C011 má kmitočet 433.000 + 11 x 0.4 = 433.000 + 4.4 MHz = 437.400 MHz;
Po naprogramování Baudové rychlosti a kanálu můžeme vyzkoušet přenos dat mezi moduly. Mě totohle u všech modulů po provedení pouze uvedených 2 kroků fungovalo.
 

3. HC-12 configuration utility je užitečný malý program, pomocí kterého provedete komfortně a jednoduše konfiguraci modulu z PC.
Stránky autora jsou zde: https://github.com/robert-rozee/HC-12-config;
SW lze stáhnout také ze stránek: https://www.sakul.cz/cs/navody/modul-hc-12.php;
Rovněž doporučuji prostudovat další zajímavé věci (například parádní program SakulSerialTerminal) na www.sakul.cz, tímto autorovi, panu Lukáši Kořínkovi (Sakul) děkuji.

4. HC-12 configuration utility lze stáhnout také zde na této stránce.

5. Propojení modulu s USB/RS232 převodníkem
(tabulka 3)

 

HC-12: číslo pinu

HC-12: význam pinu

kabel převodníku: barva vodiče

 

1. 1 +Vcc červená
2. 2 GND černá
3. 3 RxD zelená
4. 4 TxD bílá
5. 5 SET ---

Pin č. 5 není vyveden na kabel převodníku. Je vyveden na přepínač konfiguračního/přenosového režimu.

Stručný popis modulu

V uvedeném odkazu na stručný manuál je uveden popis modulu (transceiveru). Jeho základní vlastnosti jsou:

Určení modulu: pro přenos dat; 2 stejně nakonfigurované moduly se chovají jako transparentní sériová linka v režimu half-duplex.
RxD a TxD: úrovně TTL, nastavitelné parametry bitových rychlostí, počtu bitů, atd.
Přenášený počet bytů v jedné relaci: není limitován.
Konfigurace: po sériové lince pomocí AT příkazů; do konfiguračního režimu se modul přepíná spojením pinu 5 s GND.

Použité pásmo: 70 cm
Maximální výkon: cca +20 dBm (100 mW)
Rozměry: 27.8mm × 14.4mm × 4mm
Napájení: +5V (3.2 V až 5.5 V)

Použitý typ čipu transceiveru Silicon Labs: Si4463, datasheet zde.
Modulace: Čipy Si446x podporují pět různých možností modulace: GFSK (Gaussian Frequency Shift Keying), FSK (Frequency Shift Keying), čtyřúrovňovou GFSK (4GFSK), čtyřúrovňovou FSK (4FSK) a OOK (On-Off Keying). Pomocí nastavení GFSK lze realizovat také modulaci MSK (Minimum Shift Keying). Jedná se o velice sofistikovaný druh modulace, kterou používají např. digitální amatérské módy FT8. Interní nízkošumový zesilovač (LNA) je navržen jako širokopásmový; pomocí tří externích diskrétních součástek jej lze přizpůsobit tak, aby pokryl jakékoli běžné frekvenční pásmo pod 1 GHz (sub-GHz). Tento LNA se vyznačuje extrémně nízkou úrovní šumu, což potlačuje šum následujících stupňů a zajišťuje optimální citlivost; díky tomu nejsou zapotřebí žádné externí moduly pro zesílení ani vstupní (front-end) moduly. Zesílení LNA je řízeno interním algoritmem automatického řízení zesílení (AGC). Za LNA následuje I-Q směšovač, filtr, zesilovač s programovatelným zesílením (PGA) a analogově-digitální převodník (ADC). I-Q směšovače převádějí signál na mezifrekvenci. PGA následně upravuje zesílení tak, aby signál odpovídal dynamickému rozsahu ADC. ADC potlačuje nežádoucí signály mimo pracovní pásmo a převádí signál do digitální podoby, kde probíhá filtrování, demodulace a další zpracování. Na výstupu LNA a PGA jsou integrovány detektory špičkových hodnot, které slouží algoritmu AGC. Pro výstupní výkony nižší než +17 dBm lze piny RX a TX externě propojit přímo; podrobnosti naleznete v referenčních návrzích s přímým propojením na webových stránkách společnosti Silicon Labs.

Citlivost RX je závislá na rychlosti přenosu dat - viz obrázek z datasheetu a také na použité architektuře, viz datasheet a manuál modulu HC-12.

Zkouška přenosu

Testování dělám po konfiguraci páru modulů pomocí oblíbeného Hercules terminálu. Na vzdáleném konci mám propojeno RXD a TXD.

   

Přepínání konfiguračního a přenosového režimu

Pro programování musí být pin č. 5 spojen se zemí. Pokud v tomto režimu napíšeme příkaz, který modul zná, potvrdí ho OK, případně zopakuje povel a potvrdí OK - viz obrazovky pod textem. Pokud modul příkaz nepozná, napíše Error.

V levém obrázku jsem poslal po RS232 v konfiguračním režimu příkaz AT+C011; modul příkaz provedl a odpověděl OK+C11.

Na pravém obrázku jsem poslal po RS232 Text 1 v konfiguračním módu. To je chyba, modul odpověděl ERROR. Přepnul jsem modul do přenosového režimu, pro jistotu jsem zavřel a znovu otevřel port. Potom jsem poslal Text 1, který samozřejmě dorazil do druhého modulu. Na panelu se samozřejmě žádný ERROR neobjevil.
 

 
Závěr

Modul HC-12 jsem nijak podrobně nezkoumal. Provedl jsem pouze tyto kroky a dílčí zkoušky:

- napájecí napětí každého modulu HC-12 jsem blokoval elektrolytickým kondenzátorem 1000 M (220 M, co bylo zrovna po ruce);
- vyvedl jsem si na spínač piny SET a GND;
- provedl a vyzkoušel jsem konfiguraci pomocí AT příkazů; vše OK;
- nakonfiguroval jsem stejně 2 moduly, vyzkoušel přenos - viz výše; zkouška OK;
- začal jsem linku používat; na mém pozemku všude OK.
 

 

 
   TU 73, Mira, ok1ufc