Installation af alarmanlæg på egen hånd. Brug af RF-moduler

17. marts 2012 kl. 18.30

Brug af RF-moduler

  • Elektronik for begyndere

Nogle gange skal du installere mellem enheder trådløs forbindelse. I På det sidste Til dette formål er Bluetooth og Wi-Fi moduler. Men det er én ting at overføre videoer og heftige filer, og en anden ting at styre en maskine eller robot med 10 kommandoer. På den anden side bygger, justerer og genskaber radioamatører ofte modtagere og sendere til at arbejde med færdige kommandokodere/dekodere. I begge tilfælde kan du bruge ret billige RF-moduler. Funktioner af deres arbejde og brug under snittet.

Modultyper

RF-moduler til datatransmission fungerer i VHF-området og -anvendelsen standard frekvenser 433MHz, 868MHz eller 2,4GHz (mindre almindeligt 315MHz, 450MHz, 490MHz, 915MHz osv.) Jo højere bærefrekvens, jo højere hastighedsinformation kan transmitteres.
Som regel er fremstillede RF-moduler designet til at fungere med nogle datatransmissionsprotokol. Oftest er dette UART (RS-232) eller SPI. Typisk er UART-moduler billigere og tillader også brugen af ​​ikke-standardiserede (brugerdefinerede) transmissionsprotokoller. Først tænkte jeg på at nitte noget som dette, men da jeg huskede min bitre erfaring med at lave radiostyringsudstyr, valgte jeg de ret billige HM-T868 og HM-R868 (60 UAH = mindre end $8 pr. sæt). Der er også modellerne HM-*315 og HM-*433, som kun adskiller sig fra de nedenfor beskrevne i bærefrekvensen (henholdsvis 315 MHz og 433 MHz). Derudover er der mange andre moduler, der ligner den måde, de fungerer på, så oplysningerne kan være nyttige for ejere af andre moduler.

Sender

Næsten alle RF-moduler er små printplade med kontakter til tilslutning af strøm, transmission af data og styresignaler. Overvej senderen HM-T868
Den har et trebenet stik: GND (fælles), DATA (data), VCC (+ strøm), samt en patch til lodning af antennen (jeg brugte en stub MGTF-ledning 8,5 cm - 1/4 bølgelængde).

Modtager

HM-R868-modtageren ligner i udseende meget dens tilsvarende sender

men der er en fjerde kontakt på dens stik - ENABLE; når der er strøm på den, begynder modtageren at fungere.

Job

At dømme efter dokumentationen er driftsspændingen 2,5-5V, jo højere spænding, jo større driftsområde. I bund og grund er det en radioforlænger: når spænding påføres DATA-indgangen på senderen, vil spænding også vises på DATA-udgangen på modtageren (forudsat at spændingen også er påført til ENABLE). MEN, der er flere nuancer. For det første: datatransmissionsfrekvensen (i vores tilfælde er den 600-4800 bps). For det andet: Hvis der ikke er noget signal ved DATA-indgangen i mere end 70 ms, går senderen i dvaletilstand (i det væsentlige slukker). For det tredje: Hvis der ikke er nogen fungerende sender i modtagerens modtageområde, vises alle former for støj ved dens udgang.

Lad os udføre et lille eksperiment: Tilslut strøm til GND- og VCC-kontakterne på senderen. DATA-pinden er forbundet til VCC via en knap eller jumper. Vi tilslutter også strøm til GND- og VCC-kontakterne på modtageren og forbinder ENABLE og VCC til hinanden. Vi tilslutter en LED til DATA-udgangen (helst gennem en modstand). Som antenner bruger vi enhver passende ledning 1/4 bølgelængde lang. Diagrammet skal se sådan ud:


Umiddelbart efter at have tændt for modtageren og/eller sat spænding på til ENABLE, bør LED'en lyse og brænde konstant (nå, eller næsten konstant). Efter at have trykket på knappen på senderen sker der intet med LED'en - den fortsætter med at lyse. Når du slipper knappen, blinker LED'en (slukker og lyser igen) og fortsætter med at lyse. Når du trykker og slipper knappen igen, skal alt gentages. Hvad foregik der? Da modtageren blev tændt, var senderen i en sovende tilstand, modtageren fandt ikke et normalt signal og begyndte at modtage al slags støj, og følgelig optrådte alle former for støj ved udgangen. Det er umuligt at skelne et kontinuerligt signal fra støj med øjet, og det ser ud til, at LED'en lyser konstant. Efter at have trykket på knappen, kommer senderen ud af dvaletilstand og begynder at sende, et logisk "1" vises ved modtagerens udgang, og LED'en lyser virkelig konstant. Efter at have sluppet knappen, sender senderen et logisk "0", som modtages af modtageren, og et "0" vises også ved dens udgang - LED'en slukker endelig. Men efter 70 ms ser senderen, at der stadig er den samme "0" ved indgangen og går i dvale, bærefrekvensgeneratoren slukker, og modtageren begynder at modtage al slags støj, støj ved udgangen - LED'en lyser en gang til.

Af ovenstående følger det, at hvis signalet på senderens indgang er fraværende i mindre end 70 ms og er i det korrekte frekvensområde, så vil modulerne opføre sig som en almindelig ledning (vi er ikke opmærksomme på interferens og andre signaler i øjeblikket ).

Pakkeformat

RF moduler af denne type kan tilsluttes direkte til en hardware UART eller computer via MAX232, men i betragtning af de særlige forhold ved deres drift, vil jeg anbefale at bruge specielle protokoller beskrevet i software. Til mit formål bruger jeg pakker af følgende type: startbits, bytes med information, en kontrolbyte (eller flere) og en stopbit. Det er tilrådeligt at gøre den første startbit længere, dette vil give tid til at senderen vågner, modtageren kan tune ind på den, og den modtagende mikrocontroller (eller hvad du nu har) til at begynde at modtage. Så noget som "01010", hvis dette er output fra modtageren, så er det højst sandsynligt ikke støj. Så kan du sætte en identifikationsbyte - det vil hjælpe dig med at forstå, hvilken enhed pakken er adresseret til og er endnu mere tilbøjelig til at afvise støj. Indtil dette tidspunkt er det tilrådeligt at læse og kontrollere oplysningerne i separate bits; hvis mindst en af ​​dem er forkert, afslutter vi modtagelsen og begynder at lytte til udsendelsen igen. Yderligere transmitteret information kan læses på én gang byte for byte, skrives til de relevante registre/variabler. Ved slutningen af ​​modtagelsen udfører vi kontroludtrykket; hvis resultatet er lig med kontrolbyten, udfører vi de nødvendige handlinger med den modtagne information, ellers lytter vi til udsendelsen igen. Som kontrol udtryk kan betragtes som enhver kontrolsum, hvis overførte oplysninger lidt, eller du er ikke stærk i programmering - du kan bare regne nogle aritmetisk udtryk, hvor variablerne vil være de transmitterede bytes. Men det er nødvendigt at tage højde for, at resultatet skal være et heltal, og det skal passe ind i antallet af kontrolbytes. Derfor er det bedre i stedet aritmetiske operationer brug bitvis logik: AND, OR, NOT og især XOR. Hvis det er muligt, er det nødvendigt at lave en kontrolbyte, da radioudsendelse er en meget forurenet ting, især nu i verden af ​​elektroniske enheder. Nogle gange kan selve enheden forårsage interferens. For eksempel havde jeg et spor på tavlen med 46 kHz PWM 10 cm fra modtageren, som i høj grad forstyrrede modtagelsen. Og dette er ikke for at nævne det faktum, at RF-moduler bruger standardfrekvenser, hvor andre enheder kan fungere i dette øjeblik: walkie-talkies, alarmer, radiostyring, telemetri osv.

Moduler er designet til trådløs transmission data over lange (op til 1 km) afstande under direkte sigtbarhed. Maksimal hastighed flow, når moduleret af master oscillator data er omkring 3 kbit/sek.
Hvis højere transmissionshastigheder er påkrævet, bør et buffertrin før effektforstærkeren moduleres med data. Den modtagende del efter detektoren bør ændres lidt, da .
(modstand i lavpasfilteret 10 k - kortslutning, fjern kapacitansen ved indgangen på komparatoren 1000p og reducer "slow down" kapacitansen på 1 mikrofarad til 0,01 mikrofarad). Derefter " gennemløb"Modtager/sender-par vil stige betydeligt (op til 100 - 150 kbit/s). Et piezokeramisk filter (10,7 MHz), i tilfælde af højhastighedsudveksling, bør bruges med en båndbredde på mindst 300 kHz.
Nedenfor er et diagram over den modtagende del.

Modtageren er en superheterodyn med enkeltfrekvenskonvertering (IF - 10,7 MHz).
Mellemfrekvens er forskellen mellem senderens frekvens og modtagerens lokaloscillatorfrekvens. Senderen udsender med en frekvens på 418 MHz. Modtagerens lokaloscillatorfrekvens er 407,3 MHz (SAW-resonatorer i modtager og sender kan ombyttes).
HF-delen er uden særlige funktioner - alle dens komponenter er standard.
Det er blevet testet mange gange forskellige enheder og har vist sig godt.
RF-signalet, efter at have bestået de nødvendige stadier af konvertering og forstærkning, detekteres, og dets konvolut, der passerer gennem lavpasfilteret, føres til indgangen på komparatoren, forbundet i henhold til et "flydende tærskel"-kredsløb, som sikrer dets maksimal følsomhed.
Modtageren har en følsomhed på 1 - 2 µV, hvilket ikke er ringere end industrielle mikroenheder. Kredsløbet er optimeret til en forsyningsspænding på 2,5 - 3 volt.
Den strøm, der forbruges af modtageren, er omkring 15 mA.
Ved udgangen af ​​komparatoren vises dataene i omvendt form (oscillogram nedenfor).

Datatransmitter.

Senderen er et kredsløb uden særlige funktioner. Den er også optimeret til en forsyningsspænding på 2,5 - 3 volt.
Strøm ved en forsyningsspænding på 3 volt, 50 - 70 milliwatt. Strømforbruget er omkring 60 mA. Effekten kan øges ved at tænde for senderen fra 5 volt, den kan nå 120 - 150 milliwatt. Strømmen vil stige til 120 mA, hvilket kan være farligt for den sidste fase. Transistor i sidste fase, med øget spænding strømforsyning, er det mere tilrådeligt at bruge 2SC3357 uden ændringer i kredsløbet.

I dag bliver gadgets, der arbejder med en mikrocontroller ved hjælp af radiofrekvenskredsløb (moduler), mere og mere populære. I artiklen vil vi forsøge at finde ud af, hvordan det stadig er muligt at arbejde med to moduler - XY-MK-5V-modtageren og XY-FST (FS1000A)-senderen (dette er mærkningen på modulkortene). Eksternt ser sådanne moduler sådan ud:

Disse moduler fungerer ved en frekvens på 433 MHz, men som det kan ses på billedet, er konfigurationer af de samme moduler, der fungerer ved frekvenser på 315 MHz og 330 MHz, mulige. Og så vidt jeg ved, er antallet af frekvenskonfigurationer ikke begrænset til disse tre. Det er vigtigt at bemærke, at begge moduler skal indstilles til samme frekvens, ellers vil de ikke arbejde med hinanden. Man ved aldrig, hvem der får det ind i hovedet. :)

Disse moduler repræsenterer en enkel kredsløbsdesign super-regenerative modtagere af en given frekvens, designet til at modtage (transmittere) et digitalt signal. Alt fungerer ekstremt enkelt. Senderen har tre ben - to til strøm og en til data. Modtageren har også to strømben og to stifter til modtagelse af data fra mikrocontrolleren, disse to datastifter er faktisk en stift, bare loddet parallelt med hinanden. Således, hvis en logisk påføres senderens dataudgang, vil der også vises en logisk på modtagerens dataudgang. Groft sagt er sådanne moduler radiofrekvensudvidelser af en mikrocontrollerstift, der erstatter en ledning. Alt er enkelt og muntert, desuden er prisen på et sæt modtager og sender ekstremt lille og beløber sig til ca. konventionel enhed afhængig af sælgers lyst til profit.

Jeg vil også gerne bemærke nogle få funktioner ved sådanne moduler vedrørende ovenstående. Hvis vi tager to moduler, skal du tilslutte dem til strøm, tilslutte en LED til modtagerens dataudgang og tilslutte enten plus- eller minusstrømmen til senderens dataudgang. Som forventet vil LED enten være tændt eller slukket afhængigt af, hvor senderens dataudgang er tilsluttet. Men det var ikke tilfældet! I begge tilfælde vil vi simpelthen have kaos ved modtagerens dataudgang, og de mest observante vil måske bemærke i den indledende periode med at forbinde senderens dataudgang til det positive, at LED'en kort blinker kraftigt og igen begynder at kaotisk ændre lysstyrken. Sagen er den, at der er meget interferens i radioen, især i bymiljøer. Nu kan du spørge, hvorfor har vi brug for sådan en "awil"? Gå ikke i panik! Husk, i det første øjeblik virkede LED'en stadig i et splitsekund som forventet i begyndelsen - tændt, slukket? Så vi tager det og øger simpelthen pulsfrekvensen ved senderens dataudgang. Du kan tilslutte en generator der og bruge et oscilloskop til at overvåge tilstanden af ​​modtagerens dataudgang. Vi justerer generatoren til frekvensen rektangulære impulser fra 10 Hz til 10 kHz. Og på oscilloskopskærmen sker det mirakel, vi forventer - et rektangel, der ligner det på generatoren, måske kun lidt forvrænget.

Ser man lidt fremad, sender oscillogrammet fra modtageren værdien til binær 1110-1110:

Og hvis senderen er i hvile, transmitteres ingen data, oscillogrammet fra modtageren vil simpelthen have et kaotisk sæt af impulser:

Dataene vil stadig ikke blive transmitteret konstant, senderens dataudgang vil ikke altid modtage signaler fra mikrocontrolleren, så beskyttelse mod et sådant kaotisk signal (støj) vil være nødvendig.

Så lad os se på parametrene for modtager- og sendermodulerne:

Modtager:

  • forsyningsspænding 5 V
  • strømforbrug 4 mA
  • frekvens 433,92 MHz
  • følsomhed -105dB
  • antenne - 32 cm enkeltleder ledning

Sender:

  • transmissionsafstand fra 20 til 200 meter afhængig af forsyningsspænding og forhold miljø
  • forsyningsspænding fra 3,5 til 12 V
  • transmissionshastighed op til 4 kb/s
  • sendereffekt 10 mW
  • frekvens 433 MHz
  • antennelængde 25 cm

Således har vi undersøgt selve radiofrekvensmodulerne, deres funktion og parametre, det eneste, der er tilbage, er at forbinde dem med mikrocontrolleren og transmittere data, hvilket vi vil gøre næste gang.

Lad os tegne et grundlæggende elektrisk diagram:

Diagrammet viser kommunikation mellem to mikrocontrollere via en radiokanal ved hjælp af modulerne XY-MK-5V og XY-FST (FS1000A). Firmware og kilde for begge mikrocontrollere er angivet nedenfor.

Driftslogikken er som følger - Attiny13-mikrocontrolleren ændrer variablen dynamisk og sender konstant dens værdi via radiokanal til Atmega8-mikrocontrolleren. I den anden mikrocontroller modtages data, og værdien af ​​variablen vises på LCD-displayet. For at være retfærdig er det værd at bemærke, at interferens nogle gange stadig kryber ind i nyttige data. Det blev nævnt ovenfor, at støj skal filtreres på en eller anden måde. Filtreringen er organiseret på en sådan måde, at for at modtage nyttige data skal den første byte i transmissionen være en adressebyte. Så snart værdien af ​​den første byte stemmer overens med den, der er gemt, kan den anden byte sikkert accepteres som nyttige data. Data overføres flere gange i træk for at forhindre tab af data. Alt er ret simpelt. For at øge støjimmuniteten kan længden af ​​adresseinformationen øges til to eller tre bytes.

Signalet til senderen genereres afhængigt af antallet, der skal transmitteres. Et tal i binær er en sekvens af nuller og enere. Alt efter tilstanden af ​​hver bit i byten sendes et nul eller et til senderen - det er sådan et rektangulært (digitalt) signal dannes. Modtageren modtager dette signal og også, afhængigt af tilstanden (nul eller en), dannes 8 bits af byten, og vi modtager det overførte nummer og gør derefter med det (med den modtagne information), hvad vi har brug for.

Et flydende krystaldisplay (LCD) bruges til visning. Jeg brugte 2004A-skærmen - 4 linjer á 20 tegn, men du kan bruge en mere velkendt skærm - 2 linjer á 16 tegn. LCD-skærmen er forbundet til mikrocontrolleren i fire bit system. Variabel modstand R2 er nødvendig for at justere kontrasten af ​​tegn på displayet. Ved at dreje skyderen på denne modstand opnår vi de klareste aflæsninger på skærmen for os. Baggrundsbelysningen på LCD-skærmen er organiseret gennem benene "A" og "K" på displaytavlen. Baggrundsbelysningen tændes gennem en strømbegrænsende modstand - R1. Jo højere værdien er, jo svagere vil displayet være baggrundsbelyst. Denne modstand bør dog ikke forsømmes for at undgå beskadigelse af baggrundsbelysningen. Knapperne S1 og S2 er nødvendige for at nulstille mikrocontrollerne. Modstande er forbundet til nulstillingsbenene på begge mikrocontrollere og trækker plusstrømforsyningen til stiften. Dette er nødvendigt for at forhindre, at mikrocontrollerne spontant genstarter i tilfælde af interferens eller støj.

Hele kredsløbet drives af enkelt modul strømforsyning på strømtransformatoren. AC spænding rettet af fire 1N4007 dioder VD1 - VD4, udjævnes krusninger af kondensatorerne C1 og C2. Fire ensretterdioder kan udskiftes med én diodebro. Den anvendte transformator er mærke BV EI 382 1189 - konverterer 220 volt vekselstrøm ved 9 volt AC. Transformatorens effekt er 4,5 W, hvilket er ganske nok og med en vis reserve. En sådan transformer kan udskiftes med enhver anden krafttransformer, der passer til dig. Eller udskift dette strømmodul i kredsløbet med pulskilde spænding, kan du samle et flyback-konverterkredsløb eller bruge noget lignende klar blok strømforsyning fra for eksempel en telefon er alt sammen et spørgsmål om smag og behov. Den ensrettede spænding fra transformeren er stabiliseret på den lineære stabilisatorchip L7805; den kan udskiftes med en husholdningsanalog af den fem-volts lineære stabilisator KR142EN5A, eller du kan bruge en anden spændingsstabilisatorchip i overensstemmelse med dens tilslutning i kredsløbet (f. eksempel LM317 eller omskiftningsstabilisatorer LM2576, LM2596, MC34063 og så videre).

Hvis kredsløbet er planlagt til at blive brugt til mere end blot en introduktion til RF-moduler, så skal den anden mikrocontroller have en separat strømforsyning.

Hele kredsløbet blev samlet og fejlrettet på udviklingstavler til mikrocontrollere Atmega8 og Attiny13:

Som du kan se, blev modulerne brugt uden antenner, selvfølgelig på en kort afstand kommunikation vil blive gennemført, men kvaliteten af ​​kommunikationen bliver dårligere. Du bør ikke følge mit eksempel i denne henseende - vær ikke doven, lav antenner til modulerne og lod dem. Producenten angiver antennelængder på 32 og 25 centimeter til henholdsvis modtager og sender. Der står dog i notatet, at det er vigtigt at bruge en antenne på 17 cm. Her er jeg lidt i tvivl om, hvor lang antennen skal være. Producenten bemærker også, at placeringen af ​​antennen også påvirker kvaliteten af ​​signalmodtagelsen. Her kan den bedste placering vælges ved hjælp af en videnskabelig metode - i hvilken position signalet er bedre, placer så antennen der. I kinesiske enheder ved hjælp af lignende moduler, er det lavet i form af en spiral og blot placeret langs modtageren.

Et par ord om applikationen - ved hjælp af sådanne kredsløb kan du sende og modtage information om temperatur eller noget andet på punkter fjernt fra hovedmikrocontrolleren. Ved hjælp af den accepterede kode kan du også administrere enhver ikke- komplekse kredsløb eksternt (skriv on/off). Nå, generelt, brug det, hvor du vil.

Til programmering skal du kende sikringsbitkonfigurationerne af mikrocontrollere til Atmega8:

Artiklen indeholder firmware til mikrocontrollere, kilder i , samt en video, der demonstrerer kredsløbets funktion og overførsel af information fra mikrocontroller til mikrocontroller (tiny13 tæller fra 0 til 255 og sender konstant værdien til en anden mikrocontroller, hvor denne værdi vises på LCD skærm display, på video vil værdien blive transmitteret op til 111, og i dette øjeblik afbryder vi datalinjen fra sendermodulet, nummeret forbliver i den sidst transmitterede tilstand - 111).

Liste over radioelementer

Betegnelse Type Pålydende Antal BemærkButikMin notesblok
IC1 MK AVR 8-bit

ATmega8

1 Til notesblok
IC2 MK AVR 8-bit

ATtiny13A

1 Til notesblok
VR1 Lineær regulator

L7805AB

1 Til notesblok
VD1-VD4 Ensretter diode

1N4007

4 Til notesblok
RF1 RF modtagerXY-MK-5V1 Til notesblok
RF2 RF senderFS1000A1 XY-FST Til notesblok
C1, C9 10 µF2 Til notesblok
C2, C4-C7, C10 Kondensator100 nF6 Til notesblok
C3 Elektrolytisk kondensator1000 µF1 Til notesblok
C8 Elektrolytisk kondensator220 µF1 Til notesblok
R1 Modstand

DIY RF-moduler

Nogle gange opstår der en situation, hvor SAW-resonatorer er tilgængelige for de frekvenser, som industrien ikke producerer modtagemoduler til. Og det er ingen hemmelighed, at prisen på industrielle mikrosamlinger er omkring 7 euro (RX 5000), kan afskrække enhver fra at eksperimentere. Moderne element base giver dig mulighed for selv at samle både en sender og en modtager med egenskaber, der i det mindste ikke er værre end industrielle modulers.

Datatransmitter.

Et standardkredsløb testet af mange radioamatører. Består af en styret masteroscillator og effektforstærker. Strøm er omkring 10 mW, strømforbrug er 15 mA. Hovedoscillatorstrømmen er omkring 2 mA. Strømforbruget og effekten af ​​det sidste trin kan justeres ved hjælp af forspændingsmodstande. Det skal huskes, at en sluttrinsstrøm på mere end 50 mA kan beskadige transistoren, der bruges i dette design.

Datamodtager.

Modtageren er en super-regenerator med en følsomhed på omkring 1 µV. Forbliver i drift fra 3 til 6 volt uden at "gå nogen steder" i frekvens. Forbindelsen mellem superregeneratoren og antennen er induktiv, hvilket undgår de skadelige virkninger af interferens og stærke signaler til driften af ​​den superregenerative kaskade.

Modtageren indstilles ved at flytte og flytte spolevindingerne i kollektorkredsløbet fra hinanden. Brugen af ​​kondensatorer parallelt med kollektorspolen er uønsket, da dette forringer kredsløbets kvalitetsfaktor. Ved en frekvens på 423,2 MHz har kredsløbet 9 omdrejninger.

I adskillige test viste det sig, at brugen af ​​UHF i forbindelse med en korrekt konfigureret modtager af denne type ikke giver noget med hensyn til at forbedre følsomheden, men kun forværrer dynamikken i super-regeneratoren, hvilket giver mulighed for en vis skødesløshed i dens indstillinger . AM-signalet modtaget af modtageren har en meget lille amplitude, så det bliver først forstærket og derefter ført til indgangen på en komparator (tærskelenhed). Log 1 vises ved udgangen af ​​komparatoren, hvis spændingsniveauet ved dens indgang overstiger et vist niveau.

Ved opsætning af modtageren er det praktisk at styre signalet, der udsendes af senderen i analog form efter den første forstærker (ben 1 på LM 358) ved at tilslutte indgangen på en konventionel ULF der.