Installasjon av alarmanlegg på egen hånd. Bruke RF-moduler

17. mars 2012 kl. 18.30

Bruke RF-moduler

  • Elektronikk for nybegynnere

Noen ganger må du installere mellom enheter trådløs tilkobling. I I det siste For dette formålet, Bluetooth og Wi-Fi-moduler. Men det er én ting å overføre videoer og heftige filer, og en annen ting å kontrollere en maskin eller robot med 10 kommandoer. På den annen side bygger radioamatører ofte, justerer og omskaper mottakere og sendere for å fungere med ferdige kommandokodere/dekodere. I begge tilfeller kan du bruke ganske billige RF-moduler. Funksjoner av deres arbeid og bruk under kuttet.

Modultyper

RF-moduler for dataoverføring opererer i VHF-området og bruken standard frekvenser 433MHz, 868MHz eller 2,4GHz (sjeldnere 315MHz, 450MHz, 490MHz, 915MHz, etc.) Jo høyere bærefrekvens, jo høyere hastighetsinformasjon kan overføres.
Som regel er produserte RF-moduler designet for å fungere med noen dataoverføringsprotokoller. Oftest er dette UART (RS-232) eller SPI. Vanligvis er UART-moduler billigere og tillater også bruk av ikke-standardiserte (egendefinerte) overføringsprotokoller. Først tenkte jeg på å nagle noe sånt som dette, men da jeg husket min bitre erfaring med å lage radiokontrollutstyr, valgte jeg de ganske billige HM-T868 og HM-R868 (60 UAH = mindre enn $8 per sett). Det finnes også modellene HM-*315 og HM-*433, som bare skiller seg fra de som er beskrevet nedenfor i bærefrekvensen (henholdsvis 315 MHz og 433 MHz). I tillegg er det mange andre moduler som ligner på måten de fungerer på, så informasjonen kan være nyttig for eiere av andre moduler.

Sender

Nesten alle RF-moduler er små kretskort med kontakter for tilkobling av strøm, overføring av data og styresignaler. Tenk på senderen HM-T868
Den har en tre-pinners kontakt: GND (vanlig), DATA (data), VCC (+ strøm), samt en patch for lodding av antennen (jeg brukte en stump MGTF-ledning 8,5 cm - 1/4 bølgelengde).

Mottaker

HM-R868-mottakeren er i utseende veldig lik den tilsvarende senderen

men det er en fjerde kontakt på kontakten - ENABLE; når strøm tilføres den, begynner mottakeren å fungere.

Jobb

Etter dokumentasjonen å dømme er driftsspenningen 2,5-5V, jo høyere spenningen er, desto større er driftsområdet. I hovedsak er det en radioforlenger: når spenning påføres DATA-inngangen til senderen, vil spenning også vises på DATA-utgangen til mottakeren (forutsatt at spenningen også tilføres til ENABLE). MEN, det er flere nyanser. For det første: dataoverføringsfrekvensen (i vårt tilfelle er den 600-4800 bps). For det andre: hvis det ikke er noe signal ved DATA-inngangen i mer enn 70 ms, går senderen i hvilemodus (slår seg i hovedsak av). For det tredje: hvis det ikke er noen fungerende sender i mottaksområdet til mottakeren, vises all slags støy ved utgangen.

La oss gjennomføre et lite eksperiment: koble strøm til GND- og VCC-kontaktene til senderen. DATA-pinnen kobles til VCC via en knapp eller jumper. Vi kobler også strøm til GND- og VCC-kontaktene til mottakeren, og kobler ENABLE og VCC til hverandre. Vi kobler en LED til DATA-utgangen (helst gjennom en motstand). Som antenner bruker vi hvilken som helst passende ledning 1/4 bølgelengde lang. Diagrammet skal se slik ut:


Umiddelbart etter at du har slått på mottakeren og/eller satt spenning på ENABLE, skal LED-en lyse og brenne kontinuerlig (vel, eller nesten kontinuerlig). Etter å ha trykket på knappen på senderen skjer det ingenting med LED-en - den fortsetter å lyse. Når du slipper knappen, vil LED-en blinke (slukner og lyser igjen) og fortsetter å lyse. Når du trykker og slipper knappen igjen, skal alt gjenta seg. Hva skjedde der? Når mottakeren ble slått på, var senderen i en sovende tilstand, mottakeren fant ikke et normalt signal og begynte å motta all slags støy, og følgelig dukket det opp all slags støy ved utgangen. Det er umulig å skille et kontinuerlig signal fra støy med øyet, og det ser ut til at LED-en lyser kontinuerlig. Etter å ha trykket på knappen, kommer senderen ut av dvalemodus og begynner å sende, en logisk "1" vises på mottakerutgangen og LED-en lyser virkelig kontinuerlig. Etter å ha sluppet knappen, sender senderen en logisk "0", som mottas av mottakeren, og en "0" vises også ved utgangen - LED-en slukker til slutt. Men etter 70 ms ser senderen at det fortsatt er den samme "0" ved inngangen og går i dvale, bærefrekvensgeneratoren slår seg av og mottakeren begynner å motta all slags støy, støy ved utgangen - LED-en lyser en gang til.

Av ovenstående følger det at hvis signalet på senderinngangen er fraværende i mindre enn 70 ms og er i riktig frekvensområde, vil modulene oppføre seg som en vanlig ledning (vi tar ikke hensyn til interferens og andre signaler foreløpig ).

Pakkeformat

RF-moduler av denne typen kan kobles direkte til en maskinvare UART eller datamaskin via MAX232, men gitt særegenhetene ved deres operasjon, vil jeg anbefale å bruke spesielle protokoller beskrevet i programvaren. For mine formål bruker jeg pakker av følgende type: startbiter, bytes med informasjon, en kontrollbyte (eller flere) og en stoppbit. Det er lurt å gjøre den første startbiten lengre, dette vil gi tid til at senderen våkner, mottakeren kan stille seg inn på den, og mottaksmikrokontrolleren (eller hva du måtte ha) til å begynne å motta. Så noe sånt som "01010", hvis dette er utgangen til mottakeren, er det mest sannsynlig ikke støy. Deretter kan du sette inn en identifikasjonsbyte - det vil hjelpe deg å forstå hvilken enhet pakken er adressert til og er enda mer sannsynlig å avvise støy. Inntil dette øyeblikket er det tilrådelig å lese og sjekke informasjonen i separate biter; hvis minst en av dem er feil, fullfører vi mottaket og begynner å lytte til sendingen igjen. Ytterligere overført informasjon kan leses med en gang byte for byte, og skrives til de aktuelle registrene/variablene. På slutten av mottaket utfører vi kontrolluttrykket; hvis resultatet er lik kontrollbyten, utfører vi de nødvendige handlingene med den mottatte informasjonen, ellers lytter vi til sendingen igjen. Som kontroll uttrykk kan betraktes som hvilken som helst sjekksum, Hvis overført informasjon litt, eller du er ikke sterk i programmering - du kan bare beregne noen aritmetisk uttrykk, der variablene vil være de overførte bytene. Men det er nødvendig å ta hensyn til at resultatet må være et heltall og det må passe inn i antall kontrollbyte. Derfor er det bedre i stedet aritmetiske operasjoner bruk bitvis logikk: AND, OR, NOT og spesielt XOR. Hvis det er mulig, er det nødvendig å lage en kontrollbyte, siden radiokringkasting er en veldig forurenset ting, spesielt nå, i verden av elektroniske enheter. Noen ganger kan selve enheten forårsake forstyrrelser. For eksempel hadde jeg et spor på brettet med 46 kHz PWM 10 cm fra mottakeren som forstyrret mottaket sterkt. Og dette er ikke å nevne det faktum at RF-moduler bruker standardfrekvenser, der andre enheter kan fungere i dette øyeblikket: walkie-talkies, alarmer, radiokontroll, telemetri, etc.

Moduler er designet for trådløs overføring data over lange (opptil 1 km) avstander under direkte siktforhold. Topphastighet flyt når modulert av master oscillatordata er omtrent 3 kbit/sek.
Hvis det kreves høyere overføringshastigheter, bør et buffertrinn før effektforsterkeren moduleres med data. Mottaksdelen etter detektoren bør endres litt, som .
(motstand i lavpassfilteret 10 k - kortslutning, fjern kapasitansen ved inngangen til komparatoren 1000p og reduser "bremsing"-kapasitansen på 1 mikrofarad til 0,01 mikrofarad). Deretter " gjennomstrømning"Mottaker/sender-par vil øke betydelig (opp til 100 - 150 kbit/s). Et piezokeramisk filter (10,7 MHz), i tilfelle høyhastighetsutveksling, bør brukes med en båndbredde på minst 300 kHz.
Nedenfor er et diagram over mottaksdelen.

Mottakeren er en superheterodyn med enkeltfrekvenskonvertering (IF - 10,7 MHz).
Mellomfrekvens er forskjellen mellom senderfrekvensen og mottakerens lokaloscillatorfrekvens. Senderen sender ut med en frekvens på 418 MHz. Mottakerens lokaloscillatorfrekvens er 407,3 MHz (SAW-resonatorer i mottaker og sender kan byttes).
HF-delen er uten noen spesielle funksjoner - alle dens komponenter er standard.
Det har blitt testet mange ganger ulike enheter og har vist seg godt.
RF-signalet, etter å ha passert de nødvendige stadiene med konvertering og forsterkning, oppdages og konvolutten, som passerer gjennom lavpassfilteret, mates til inngangen til komparatoren, koblet i henhold til en "flytende terskel"-krets, som sikrer maksimal følsomhet.
Mottakeren har en følsomhet på 1 - 2 µV, som ikke er dårligere enn industrielle mikromontasjer. Kretsen er optimalisert for en forsyningsspenning på 2,5 - 3 volt.
Strømmen som forbrukes av mottakeren er ca. 15 mA.
Ved utgangen av komparatoren vises dataene i invers form (oscillogram nedenfor).

Datasender.

Senderen er en krets uten noen spesielle funksjoner. Den er også optimalisert for en forsyningsspenning på 2,5 - 3 volt.
Strøm ved en forsyningsspenning på 3 volt, 50 - 70 milliwatt. Strømforbruket er ca. 60 mA. Effekten kan økes ved å slå på senderen fra 5 volt, den kan nå 120 - 150 milliwatt. Strømmen vil stige til 120 mA, noe som kan være farlig for sluttfasen. Transistor i sluttfasen, med økt spenning strømforsyning, er det mer tilrådelig å bruke 2SC3357 uten endringer i kretsen.

I dag blir dingser som fungerer med en mikrokontroller som bruker radiofrekvenskretser (moduler) stadig mer populære. I artikkelen vil vi prøve å finne ut hvordan det fortsatt er mulig å jobbe med to moduler - XY-MK-5V-mottakeren og XY-FST (FS1000A)-senderen (dette er merkingen på modulbrettene). Eksternt ser slike moduler slik ut:

Disse modulene opererer med en frekvens på 433 MHz, men som det fremgår av bildet, er konfigurasjoner av de samme modulene som opererer ved frekvenser på 315 MHz og 330 MHz mulig. Og så vidt jeg vet er antallet frekvenskonfigurasjoner ikke begrenset til disse tre. Det er viktig å merke seg at begge modulene må settes til samme frekvens, ellers vil de ikke fungere med hverandre. Du vet aldri hvem som får det inn i hodet sitt. :)

Disse modulene representerer en enkel kretsdesign superregenerative mottakere med en gitt frekvens, designet for å motta (sende) et digitalt signal. Alt fungerer ekstremt enkelt. Senderen har tre pinner - to for strøm og en for data. Mottakeren har også to strømpinner og to pinner for å motta data fra mikrokontrolleren, disse to datapinnene er faktisk én pinne, bare loddet parallelt med hverandre. Således, hvis en logisk en påføres senderdatautgangen, vil en logisk en også vises ved mottakerens datautgang. Grovt sett er slike moduler radiofrekvensutvidelser av én mikrokontrollerpinne, som erstatter en ledning. Alt er enkelt og muntert, dessuten er kostnaden for et sett med mottaker og sender ekstremt liten og utgjør ca. konvensjonell enhet avhengig av selgerens lyst til profitt.

Jeg vil også merke meg noen få funksjoner ved slike moduler angående det ovennevnte. Hvis vi tar to moduler, kobler du dem til strøm, kobler en LED til mottakerdatautgangen og kobler enten pluss- eller minusstrømmen til senderdatautgangen. Som forventet vil LED enten være på eller av avhengig av hvor senderdatautgangen er koblet til. Men det var ikke tilfelle! I begge tilfeller vil vi ganske enkelt ha kaos ved mottakerens datautgang, og de mest observante vil kanskje legge merke til i løpet av den første perioden med å koble senderdatautgangen til det positive at LED-en kort blinker sterkt og igjen begynner å kaotisk endre lysstyrken. Saken er at det er mye forstyrrelser på radioen, spesielt i urbane miljøer. Nå kan du spørre, hvorfor trenger vi en slik "awil"? Ikke få panikk! Husk at i det første øyeblikket fungerte LED fortsatt i et brøkdel av et sekund som forventet helt i begynnelsen - på, av? Så vi tar det og øker ganske enkelt pulsfrekvensen ved senderdatautgangen. Du kan koble til en generator der og bruke et oscilloskop for å overvåke tilstanden til mottakerens datautgang. Vi justerer generatoren til frekvensen rektangulære pulser fra 10 Hz til 10 kHz. Og på oscilloskopskjermen skjer miraklet vi forventer - et rektangel som ligner på det på generatoren, kanskje bare litt forvrengt.

Ser vi litt fremover, sender oscillogrammet fra mottakeren verdien til binær 1110-1110:

Og hvis senderen er i ro, blir ingen data overført, oscillogrammet fra mottakeren vil ganske enkelt ha et kaotisk sett med pulser:

Dataene vil fortsatt ikke bli overført konstant, senderdatautgangen vil ikke alltid motta signaler fra mikrokontrolleren, så beskyttelse mot et slikt kaotisk signal (støy) vil være nødvendig.

Så la oss se på parametrene til mottaker- og sendermodulene:

Mottaker:

  • forsyningsspenning 5 V
  • strømforbruk 4 mA
  • frekvens 433,92 MHz
  • følsomhet -105dB
  • antenne - 32 cm enkjernet ledning

Sender:

  • overføringsavstand fra 20 til 200 meter avhengig av forsyningsspenning og forhold miljø
  • forsyningsspenning fra 3,5 til 12 V
  • overføringshastighet opptil 4 kb/s
  • sendereffekt 10 mW
  • frekvens 433 MHz
  • antennelengde 25 cm

Dermed har vi undersøkt selve radiofrekvensmodulene, deres virkemåte og parametere, alt som gjenstår er å koble dem til mikrokontrolleren og overføre data, det er det vi skal gjøre videre.

La oss tegne et grunnleggende elektrisk diagram:

Diagrammet viser kommunikasjon mellom to mikrokontrollere via en radiokanal ved bruk av modulene XY-MK-5V og XY-FST (FS1000A). Firmware og kilde for begge mikrokontrollerne er vedlagt nedenfor.

Driftslogikken er som følger - Attiny13-mikrokontrolleren endrer variabelen dynamisk og overfører konstant verdien via radiokanal til Atmega8-mikrokontrolleren. I den andre mikrokontrolleren mottas data og verdien til variabelen vises på LCD-skjermen. For å være rettferdig er det verdt å merke seg at interferens noen ganger fortsatt kryper inn i nyttige data. Det ble nevnt ovenfor at støy må filtreres på en eller annen måte. Filtreringen er organisert på en slik måte at for å motta nyttige data, må den første byten i overføringen være en adressebyte. Så snart verdien til den første byten samsvarer med den som er lagret, kan den andre byten trygt aksepteres som nyttige data. Data overføres flere ganger på rad for å forhindre tap av data. Alt er ganske enkelt. For å øke støyimmuniteten kan lengden på adresseinformasjonen økes til to eller tre byte.

Signalet for senderen genereres avhengig av antallet som skal sendes. Et tall i binær er en sekvens av nuller og enere. Således, avhengig av tilstanden til hver bit i byten, sendes en null eller en ener til senderen - dette er hvordan et rektangulært (digitalt) signal dannes. Mottakeren mottar dette signalet og også, avhengig av tilstanden (null eller en), dannes 8 bits av byten og vi mottar det overførte nummeret og gjør deretter med det (med den mottatte informasjonen) det vi trenger.

En flytende krystallskjerm (LCD) brukes til visning. Jeg brukte 2004A-skjermen - 4 linjer med 20 tegn, men du kan bruke en mer kjent skjerm - 2 linjer med 16 tegn. LCD-skjermen er koblet til mikrokontrolleren i fire bitsystem. Variabel motstand R2 er nødvendig for å justere kontrasten til tegn på skjermen. Ved å rotere glidebryteren til denne motstanden oppnår vi de klareste avlesningene på skjermen for oss. Bakgrunnsbelysningen til LCD-skjermen er organisert gjennom pinnene "A" og "K" på skjermkortet. Bakgrunnsbelysningen slås på gjennom en strømbegrensende motstand - R1. Jo høyere verdi, desto svakere vil skjermen være bakgrunnsbelyst. Denne motstanden bør imidlertid ikke neglisjeres for å unngå skade på bakgrunnsbelysningen. Knappene S1 og S2 kreves for å tilbakestille mikrokontrollerne. Motstander er koblet til tilbakestillingspinnene til begge mikrokontrollerne, og trekker plussstrømforsyningen til pinnen. Dette er nødvendig for å hindre at mikrokontrollerne spontant starter på nytt ved forstyrrelser eller støy.

Hele kretsen er drevet av enkel modul strømforsyning på krafttransformatoren. AC spenning rettet av fire 1N4007 dioder VD1 - VD4, blir krusninger jevnet ut av kondensatorene C1 og C2. Fire likeretterdioder kan byttes ut med én diodebro. Transformatoren som brukes er merke BV EI 382 1189 - konverterer 220 volt vekselstrøm ved 9 volt AC. Kraften til transformatoren er 4,5 W, som er ganske nok og med litt reserve. En slik transformator kan erstattes med hvilken som helst annen krafttransformator, passer for deg. Eller bytt ut denne strømmodulen til kretsen med pulskilde spenning, kan du sette sammen en flyback-omformerkrets eller bruke noe lignende klar blokk strømforsyning fra for eksempel telefon er et spørsmål om smak og behov. Den likerettede spenningen fra transformatoren er stabilisert på L7805 lineær stabilisatorbrikke; den kan erstattes med en innenlandsk analog av fem-volts lineær stabilisator KR142EN5A, eller du kan bruke en annen spenningsstabilisatorbrikke i samsvar med dens tilkobling i kretsen (for eksempel LM317 eller byttestabilisatorer LM2576, LM2596, MC34063 og så videre).

Hvis kretsen er planlagt brukt til mer enn bare en introduksjon til RF-moduler, vil den andre mikrokontrolleren trenge en separat strømforsyning.

Hele kretsen ble satt sammen og feilsøkt på utviklingstavler for mikrokontrollere Atmega8 og Attiny13:

Som du ser ble modulene brukt uten antenner, selvfølgelig på et lite stykke kommunikasjon vil bli gjennomført, men kvaliteten på kommunikasjonen blir dårligere. Du bør ikke følge mitt eksempel i denne forbindelse - ikke vær lat, lag antenner for modulene og lodd dem. Produsenten angir antennelengder på 32 og 25 centimeter for henholdsvis mottaker og sender. Notatet sier imidlertid at det er viktig å bruke en antenne på 17 cm. Her er jeg litt forvirret over hvor lang antennen skal være. Produsenten bemerker også at plasseringen av antennen også påvirker kvaliteten på signalmottak. Her kan den beste plasseringen velges ved hjelp av en vitenskapelig metode - i hvilken posisjon signalet er bedre, plasser deretter antennen der. I kinesiske enheter ved å bruke lignende moduler, er den laget i form av en spiral og enkelt plassert langs mottakeren.

Noen få ord om applikasjonen - ved å bruke slike kretser kan du overføre og motta informasjon om temperatur eller noe annet på punkter som er fjernt fra hovedmikrokontrolleren. Ved å bruke den aksepterte koden kan du også administrere alle ikke- komplekse kretsløp eksternt (skriv på/av). Vel, generelt, bruk den hvor du vil.

For programmering må du kjenne sikringsbitkonfigurasjonene til mikrokontrollere for Atmega8:

Artikkelen inkluderer fastvare for mikrokontrollere, kilder i , samt en video som demonstrerer driften av kretsen og overføring av informasjon fra mikrokontroller til mikrokontroller (tiny13 teller fra 0 til 255 og overfører konstant verdien til en annen mikrokontroller, hvor denne verdien vises på LCD skjerm skjerm, på video vil verdien bli overført opp til 111 og i dette øyeblikket kobler vi datalinjen fra sendermodulen, nummeret vil forbli i den siste overførte tilstanden - 111).

Liste over radioelementer

Betegnelse Type Valør Mengde MerkButikkNotisblokken min
IC1 MK AVR 8-bit

ATmega8

1 Til notisblokk
IC2 MK AVR 8-bit

ATtiny13A

1 Til notisblokk
VR1 Lineær regulator

L7805AB

1 Til notisblokk
VD1-VD4 Likeretterdiode

1N4007

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

DIY RF-moduler

Noen ganger oppstår det en situasjon når SAW-resonatorer er tilgjengelige for de frekvensene som industrien ikke produserer mottaksmoduler for. Og det er ingen hemmelighet at kostnadene for industrielle mikromonteringer er omtrent 7 euro (RX 5000), kan avskrekkende alle fra å eksperimentere. Moderne elementbase lar deg montere både en sender og en mottaker selv med egenskaper som i det minste ikke er dårligere enn industrielle moduler.

Datasender.

En standardkrets testet av mange radioamatører. Består av en kontrollert masteroscillator og effektforsterker. Strøm er ca. 10 mW, strømforbruk er 15 mA. Hovedoscillatorstrømmen er ca. 2 mA. Strømforbruket og effekten til det siste trinnet kan justeres ved hjelp av forspenningsmotstander. Det bør huskes at en sluttrinnstrøm på mer enn 50 mA kan skade transistoren som brukes i dette designet.

Datamottaker.

Mottakeren er en superregenerator med en følsomhet på ca. 1 µV. Forblir i drift fra 3 til 6 volt uten å "gå noe sted" i frekvens. Forbindelsen mellom superregeneratoren og antennen er induktiv, noe som unngår de skadelige effektene av interferens og sterke signaler for driften av den superregenerative kaskaden.

Mottakeren stilles inn ved å flytte og flytte fra hverandre spolens svinger i kollektorkretsen. Bruk av kondensatorer parallelt med kollektorspolen er uønsket da dette forringer kvalitetsfaktoren til kretsen. Ved en frekvens på 423,2 MHz har kretsen 9 omdreininger.

I en rekke tester viste det seg at bruken av UHF i forbindelse med en korrekt konfigurert mottaker av denne typen ikke gir noe når det gjelder å forbedre følsomheten, men bare forverrer dynamikken til superregeneratoren, noe som gir rom for litt uforsiktighet i innstillingene. . AM-signalet som mottas av mottakeren har en veldig liten amplitude, så det blir først forsterket og deretter matet til inngangen til en komparator (terskelenhet). Logg 1 vises ved utgangen til komparatoren hvis spenningsnivået ved inngangen overskrider et visst nivå.

Når du setter opp mottakeren, er det praktisk å kontrollere signalet som sendes ut av senderen i analog form etter den første forsterkeren (pinne 1 på LM 358) ved å koble inngangen til en konvensjonell ULF der.