Už delší dobu se zabývám konstrukcí MCU řízené radiostanice s tímto transceiverem.
Pro snadnější práci jsem provedl překlad datasheetu + doplněno o vlastní praktické poznatky z konstrukce a programování (hlavně funkce pro inicializaci, příjem a vysílání). Dokument je pro současné i budoucí zájemce zde: ulozto.cz/xgKaW643/rfm12bp-manual-cz-v2-pdf
Charakteristika transeiveru RFM12BP-433
Přenosová rychlost: 115,2 kbps (s ext. RC filtrem až 256 kbps)
VF výkon: 0,5W !
Citlivost: -115 dBm
Napětí logiky: 3,3V
Napětí VF zesilovače: 12V
Komunikace s MCU: SPI
Cena: 283 Kč (tme.cz), cca. 12,5$ (aliexpress)
Vyrábí se i ve variantách pro pásma 315MHz, 868MHz a 915MHz
To RFM12BP-433 má rozhraní SPI i UART? To je jedno co se použije, nebo je to SPI na nastavováví a UART na vysílání? Ten modul vypadá složitě, bych potřeboval něco, co tam proste vložím a bez většího nastavování by to přenášelo. Hlavně aby to nechytalo bordel v klidovým stavu…
RFM12BP-433 má pouze SPI. “Redukci” mezi UART a SPI musí obstarat MCU. Nicméně HopeRF vyrábí přímo i UART moduly (akorát je nutné dodat MAXe pro konvezi úrovní).
Co se příjmu bordelu týče, tak ten je v ISM 433Mhz značný. Určitě bych šel raději do pásma 868, ale vlastní zkušenost nemám.
RFM12BP proti bordelu bojuje dvojbajtovou synchronizací na začátku (standardně 0x2D, 0xD4 - druhý synchro bajt je uživatelsky nastavitelný), než spustí přerušení, ale ani to nestačí. Jsou i další možnosti, jak filtrovat příjem. Já osobně jsem šel cestou, že přenáším radiové pakety fixní délky ve složení:
Takže na začátku jsem přidal ještě jeden (třetí) synchronizační bajt 0xCA, který testuju v rutině přerušení a pokud je přijat - jedná se o “můj” paket a jeho zpravcování je dále řízeno informacemi v servisním bajtu. Pokud není 0xCA, jedná se téměř jistě o smetí a paket je zahozen a dojde pouze k výpisu informace na UART terminál a můžu teda potvrdit, že je to poměrně často (cca. Tak 3x za minutu).
Co se jednoduchosti nastavení týká, tak do přenosové rychlosti cca. 30kbps funguje vše v pohodě. Při vyšších rychlostech už je nutné laborovat s šířkou pásma přijímače, kmitočtovým zdvihem vysílače, citlivostí, útlumem přijímače a výkonem, takže 115,2 kbps bez “bordelu” a s přijatelnou BER jen tak lehce dosáhnout nejde.
Pásmo 868 MHz používám a je tam to samé jako na 433 MHz. Používám ty nejjednodušší moduly od HOPE a připojuju je přímo na UART. To co z přijímače leze filtruje UART. Napájení 2,5V-5V, bohužel rychlost přenosu jenom 600-9600bd. Sice v datasheetu píšou “data rate can be defined by customer from 300bps~100kbps”, ale to už není běžně dostupné u nás. Je to sice transmitter a receiver zvlášť, ale není potřeba žádné nastavování.