Самостоятелен монтаж на алармени системи. Използване на RF модули

17 март 2012 г. от 18:30 ч

Използване на RF модули

  • Електроника за начинаещи

Понякога трябва да инсталирате между устройства безжична връзка. IN напоследъкЗа тази цел Bluetooth и Wi-Fi модули. Но едно е да прехвърляте видеоклипове и големи файлове, а друго е да управлявате машина или робот с 10 команди. От друга страна, радиолюбителите често изграждат, настройват и преработват приемници и предаватели за работа с готови командни енкодери/декодери. И в двата случая можете да използвате доста евтини RF модули. Характеристики на тяхната работа и използване под разреза.

Видове модули

RF модулите за предаване на данни работят в УКВ диапазона и използват стандартни честоти 433MHz, 868MHz или 2,4GHz (по-рядко 315MHz, 450MHz, 490MHz, 915MHz и т.н.) Колкото по-висока е носещата честота, толкова по-висока скорост може да бъде предадена информация.
По правило произведените RF модули са проектирани да работят с определен протокол за предаване на данни. Най-често това е UART (RS-232) или SPI. Обикновено UART модулите са по-евтини и също така позволяват използването на нестандартни (персонализирани) протоколи за предаване. Първоначално мислех да занитя нещо подобно, но помнейки горчивия си опит в производството на оборудване за радиоуправление, избрах доста евтините HM-T868 и HM-R868 (60 UAH = по-малко от $8 за комплект). Има и модели HM-*315 и HM-*433, които се различават от описаните по-долу само по носещата честота (съответно 315 MHz и 433 MHz). Освен това има много други модули, подобни на начина им на работа, така че информацията може да бъде полезна за собствениците на други модули.

Предавател

Почти всички RF модули са малки печатна електронна платкас контакти за захранване, предаване на данни и управляващи сигнали. Помислете за предавателя HM-T868
Има три пинов конектор: GND (общ), DATA (данни), VCC (+ захранване), както и лепенка за запояване на антената (използвах накрайник от MGTF проводник 8,5 см - 1/4 дължина на вълната).

Приемник

Приемникът HM-R868 на външен вид е много подобен на съответния му предавател

но има четвърти контакт на конектора му - ENABLE, когато към него се подаде захранване, приемникът започва да работи.

работа

Съдейки по документацията, работното напрежение е 2,5-5V, колкото по-високо е напрежението, толкова по-голям е работният диапазон. По същество това е радиоудължител: когато се подаде напрежение към входа DATA на предавателя, напрежението ще се появи и на изхода DATA на приемника (при условие, че напрежението е приложено и към ENABLE). НО има няколко нюанса. Първо: честотата на предаване на данни (в нашия случай е 600-4800 bps). Второ: ако няма сигнал на входа DATA за повече от 70ms, тогава предавателят преминава в режим на заспиване (по същество се изключва). Трето: ако в приемната зона на приемника няма работещ предавател, на изхода му се появяват всякакви шумове.

Нека проведем малък експеримент: свържете захранването към GND и VCC контактите на предавателя. Щифтът DATA е свързан към VCC чрез бутон или джъмпер. Също така свързваме захранването към контактите GND и VCC на приемника и свързваме ENABLE и VCC един към друг. Свързваме светодиод към изхода DATA (за предпочитане чрез резистор). Като антени използваме всеки подходящ проводник с дължина 1/4 дължина на вълната. Диаграмата трябва да изглежда така:


Веднага след включване на приемника и/или подаване на напрежение към ENABLE, светодиодът трябва да свети и да свети непрекъснато (е, или почти непрекъснато). След натискане на бутона на предавателя нищо не се случва със светодиода - продължава да свети. Когато пуснете бутона, светодиодът ще мига (изгасва и светва отново) и продължава да свети. Когато натиснете и пуснете бутона отново, всичко трябва да се повтори. Какво ставаше там? Когато приемникът беше включен, предавателят беше в спящо състояние, приемникът не намери нормален сигнал и започна да получава всякакви шумове и съответно на изхода се появиха всякакви шумове. Невъзможно е да се различи постоянен сигнал от шум с око и изглежда, че светодиодът свети непрекъснато. След натискане на бутона предавателят излиза от хибернация и започва да предава, на изхода на приемника се появява логическа „1” и светодиодът свети наистина непрекъснато. След отпускане на бутона, предавателят предава логическа “0”, която се приема от приемника и на изхода му също се появява “0” - светодиодът накрая изгасва. Но след 70 ms предавателят вижда, че на входа му все още има същата „0“ и заспива, генераторът на носеща честота се изключва и приемникът започва да получава всякакъв вид шум, шум на изхода - светодиодът светва отново.

От горното следва, че ако сигналът на входа на предавателя липсва за по-малко от 70 ms и е в правилния честотен диапазон, тогава модулите ще се държат като обикновен проводник (засега не обръщаме внимание на смущения и други сигнали ).

Формат на опаковката

RF модули от този типмогат да бъдат свързани директно към хардуерен UART или компютър чрез MAX232, но предвид особеностите на тяхната работа, бих посъветвал използването на специални протоколи, описани в софтуера. За моите цели използвам пакети от следния тип: стартови битове, байтове с информация, контролен байт (или няколко) и стоп бит. Препоръчително е да направите първото стартиране малко по-дълго, това ще даде време на предавателя да се събуди, на приемника да се настрои към него и на приемащия микроконтролер (или каквото имате) да започне да приема. Тогава нещо като „01010“, ако това е изходът на приемника, тогава най-вероятно не е шум. След това можете да поставите идентификационен байт - той ще ви помогне да разберете към кое устройство е адресиран пакетът и дори е по-вероятно да отхвърли шума. До този момент е препоръчително да четете и проверявате информацията в отделни битове; ако поне един от тях е неправилен, завършваме приемането и започваме да слушаме предаването отново. Допълнително предадената информация може да бъде прочетена наведнъж байт по байт, записвайки в съответните регистри/променливи. В края на приемането изпълняваме контролния израз; ако резултатът му е равен на контролния байт, извършваме необходимите действия с получената информация, в противен случай слушаме отново предаването. Като контролен изразможе да се счита за всяка контролна сума, Ако предавана информациямалко, или не си силен в програмирането - можеш просто да изчислиш малко аритметичен израз, в който променливите ще бъдат предадените байтове. Но е необходимо да се вземе предвид, че резултатът трябва да бъде цяло число и трябва да се побере в броя на контролните байтове. Затова е по-добре вместо това аритметични операцииизползвайте побитова логика: И, ИЛИ, НЕ и особено XOR. Ако е възможно, е необходимо да се направи контролен байт, тъй като радиоразпръскването е много замърсено нещо, особено сега, в света на електронните устройства. Понякога самото устройство може да причини смущения. Например, имах писта на платката с 46 kHz PWM на 10 см от приемника, която силно пречи на приемането. И това да не говорим за факта, че RF модулите използват стандартни честоти, на които в момента могат да работят други устройства: уоки-токита, аларми, радиоуправление, телеметрия и др.

Модулите са предназначени за безжично предаванеданни на дълги (до 1 km) разстояния при условия на пряка видимост. Максимална скоростпотокът, когато се модулира от данни на главния осцилатор, е около 3 kbit/sec.
Ако са необходими по-високи скорости на предаване, буферното стъпало преди усилвателя на мощността трябва да бъде модулирано с данни. Приемащата част след детектора трябва да се промени леко, като .
(резистор в нискочестотния филтър 10 k - късо съединение, премахване на капацитета на входа на компаратора 1000p и намаляване на „забавящия“ капацитет от 1 микрофарад до 0,01 микрофарад). Тогава " пропускателна способност„Двойките приемник/предавател ще се увеличат значително (до 100 - 150 kbit/s). Пиезокерамичен филтър (10,7 MHz), в случай на високоскоростен обмен, трябва да се използва с честотна лента от поне 300 kHz.
По-долу има диаграма на приемната част.

Приемникът е суперхетеродин с едночестотно преобразуване (IF - 10,7 MHz).
Междинната честота е разликата между честотата на предавателя и честотата на локалния осцилатор на приемника. Предавателят излъчва на честота 418 MHz. Честотата на локалния осцилатор на приемника е 407,3 MHz (резонаторите SAW в приемника и предавателя могат да се сменят).
ВЧ частта е без особености - всички нейни компоненти са стандартни.
Тествано е многократно различни устройстваи се е доказала добре.
RF сигналът, преминал през необходимите етапи на преобразуване и усилване, се открива и неговата обвивка, преминавайки през нискочестотния филтър, се подава към входа на компаратора, свързан по схема "плаващ праг", което осигурява неговата максимална чувствителност.
Приемникът има чувствителност от 1 - 2 µV, което не е по-ниско от индустриалните микровъзли. Веригата е оптимизирана за захранващо напрежение от 2,5 - 3 волта.
Консумираният ток от приемника е около 15 mA.
На изхода на компаратора данните се извеждат в обратна форма (осцилограма по-долу).

Предавател на данни.

Предавателят е верига без никакви специални характеристики. Освен това е оптимизиран за захранващо напрежение от 2,5 - 3 волта.
Захранване при захранващо напрежение 3 волта, 50 - 70 миливата. Консумацията на ток е около 60 mA. Мощността може да се увеличи чрез включване на предавателя от 5 волта, може да достигне 120 - 150 миливата. Токът ще се повиши до 120 mA, което може да бъде опасно за крайния етап. Транзистор в крайния етап, с повишено напрежениезахранване, по-препоръчително е да използвате 2SC3357 без никакви промени във веригата.

Днес джаджи, които работят с микроконтролер, използвайки радиочестотни вериги (модули), стават все по-популярни. В статията ще се опитаме да разберем как все още е възможно да работим с два модула - приемника XY-MK-5V и предавателя XY-FST (FS1000A) (това е маркировката на платките на модула). Външно такива модули изглеждат така:

Тези модули работят на честота 433 MHz, но както се вижда от снимката са възможни конфигурации на същите модули, работещи на честоти 315 MHz и 330 MHz. И доколкото знам, броят на честотните конфигурации не е ограничен до тези три. Важно е да се отбележи, че и двата модула трябва да са настроени на една и съща честота, в противен случай те няма да работят един с друг. Никога не знаеш кой им го набива в главата. :)

Тези модули представляват прост проектиране на веригасуперрегенеративни приемници на дадена честота, предназначени да приемат (предават) цифров сигнал. Всичко работи изключително просто. Предавателят има три пина - два за захранване и един за данни. Приемникът също има два захранващи щифта и два щифта за получаване на данни от микроконтролера, тези два щифта за данни всъщност са един щифт, просто запоени успоредно един на друг. По този начин, ако се приложи логическа единица към изходните данни на предавателя, логическа единица ще се появи и на изходните данни на приемника. Грубо казано, такива модули са радиочестотни разширения на един щифт на микроконтролера, заместващ проводник. Всичко е просто и весело, освен това цената на комплект приемник и предавател е изключително малка и възлиза на приблизително 1 конвенционална единицав зависимост от жаждата на продавача за печалба.

Бих искал също да отбележа няколко характеристики на такива модули по отношение на горното. Ако вземем два модула, свържете ги към захранване, свържете светодиод към изхода за данни на приемника и свържете плюс или минус захранване към изхода за данни на предавателя. Както се очаква, светодиодът ще бъде включен или изключен в зависимост от това къде е свързан изходът за данни на предавателя. Но това не беше така! И в двата случая просто ще имаме хаос на изхода на данните на приемника и най-внимателният може да забележи по време на началния период на свързване на изхода на данни на предавателя към положителния, че светодиодът мига за кратко ярко и отново започва хаотично да променя яркостта. Работата е там, че има много смущения в радиото, особено в градска среда. Сега може да попитате защо се нуждаем от такова „авило“? Не изпадайте в паника! Спомняте ли си, че в началния момент светодиодът все още работи за части от секундата, както се очакваше в самото начало - включен, изключен? Така че ние го вземаме и просто увеличаваме честотата на импулса на изходните данни на предавателя. Можете да свържете генератор там и да използвате осцилоскоп, за да наблюдавате състоянието на изходните данни на приемника. Настройваме генератора на честотата правоъгълни импулсиот 10 Hz до 10 kHz. И на екрана на осцилоскопа се случва чудото, което очакваме - правоъгълник, подобен на този на генератора, може би само леко изкривен.

Гледайки малко напред, осцилограмата от приемника предава стойността на двоичен 1110-1110:

И ако предавателят е в покой, не се предават данни, осцилограмата от приемника просто ще има хаотичен набор от импулси:

Данните все още няма да се предават постоянно, изходните данни на предавателя не винаги ще получават сигнали от микроконтролера, така че ще е необходима защита срещу такъв хаотичен сигнал (шум).

Така че, нека да разгледаме параметрите на модулите на приемника и предавателя:

Приемник:

  • захранващо напрежение 5 V
  • консумация на ток 4 mA
  • честота 433.92 MHz
  • чувствителност -105dB
  • антена - 32см едножилен проводник

Предавател:

  • разстояние на предаване от 20 до 200 метра в зависимост от захранващото напрежение и условията заобикаляща среда
  • захранващо напрежение от 3,5 до 12 V
  • скорост на предаване до 4 kb/s
  • мощност на предавателя 10 mW
  • честота 433 MHz
  • дължина на антената 25см

Така разгледахме самите радиочестотни модули, тяхната работа и параметри, остава само да ги свържем към микроконтролера и да предаваме данни, което ще направим по-нататък.

Нека начертаем основна електрическа схема:

Диаграмата демонстрира комуникация между два микроконтролера чрез радиоканал с помощта на модулите XY-MK-5V и XY-FST (FS1000A). Фърмуер и източникза двата микроконтролера са дадени по-долу.

Логиката на работа е следната - микроконтролерът Attiny13 динамично променя променливата и непрекъснато предава стойността й по радиоканал към микроконтролера Atmega8. Във втория микроконтролер се получават данни и стойността на променливата се показва на LCD дисплея. За да бъдем честни, струва си да се отбележи, че понякога намесата все още се промъква в полезни данни. Беше посочено по-горе, че шумът трябва да бъде филтриран по някакъв начин. Филтрирането е организирано по такъв начин, че за да се получат полезни данни, първият байт на предаването трябва да бъде адресен байт. Веднага щом стойността на първия байт съвпадне със съхранената, вторият байт може безопасно да бъде приет като полезни данни. Данните се предават няколко пъти подред, за да се предотврати загуба на данни. Всичко е съвсем просто. За да се увеличи шумоустойчивостта, дължината на адресната информация може да се увеличи до два или три байта.

Сигналът за предавателя се генерира в зависимост от номера, който трябва да бъде предаден. Число в двоична система е поредица от нули и единици. Така в зависимост от състоянието на всеки бит в байта към предавателя се изпраща нула или единица - така се формира правоъгълен (цифров) сигнал. Приемникът приема този сигнал и също в зависимост от състоянието (нула или единица) се формират 8 бита от байта и ние получаваме предаденото число и след това правим с него (с получената информация) каквото ни трябва.

За показване се използва дисплей с течни кристали (LCD). Използвах дисплея 2004A - 4 реда по 20 знака, но можете да използвате по-познат дисплей - 2 реда по 16 знака. LCD дисплеят е свързан към микроконтролера на четири битова система. Променлив резистор R2 е необходим за регулиране на контраста на знаците на дисплея. Чрез въртене на плъзгача на този резистор постигаме най-ясни за нас показания на екрана. Подсветката на LCD дисплея е организирана чрез щифтове “A” и “K” на платката на дисплея. Подсветката се включва чрез токоограничаващ резистор - R1. Колкото по-висока е стойността, толкова по-слабо ще бъде осветен дисплеят. Въпреки това, този резистор не трябва да се пренебрегва, за да се избегне повреда на подсветката. Бутоните S1 и S2 са необходими за нулиране на микроконтролерите. Резисторите са свързани към щифтовете за нулиране на двата микроконтролера, като изтеглят плюсовото захранване към щифта. Това е необходимо, за да се предотврати спонтанното рестартиране на микроконтролерите в случай на смущения или шум.

Цялата верига се захранва от прост модулзахранване на силовия трансформатор. AC напрежениекоригирани от четири 1N4007 диода VD1 - VD4, пулсациите се изглаждат от кондензатори C1 и C2. Четири изправителни диода могат да бъдат заменени с един диоден мост. Използваният трансформатор е марка BV EI 382 1189 - преобразува 220 волта променлив токпри 9 волта AC. Мощността на трансформатора е 4,5 W, което е напълно достатъчно и с известен резерв. Такъв трансформатор може да бъде заменен с всеки друг силов трансформатор, подходящ за вас. Или сменете този захранващ модул на веригата с импулсен източникнапрежение, можете да сглобите схема на обратноходов преобразувател или да използвате нещо подобно готов блокзахранването от телефон например е въпрос на вкус и нужди. Изправеното напрежение от трансформатора се стабилизира върху чипа за линеен стабилизатор L7805; може да бъде заменен с домашен аналог на петволтовия линеен стабилизатор KR142EN5A или можете да използвате друг чип за стабилизатор на напрежение в съответствие с връзката му във веригата (за например LM317 или превключващи стабилизатори LM2576, LM2596, MC34063 и т.н.).

Ако схемата е планирана да се използва за повече от просто въведение в RF модулите, тогава вторият микроконтролер ще се нуждае от отделно захранване.

Цялата верига беше сглобена и отстранена грешката табла за развитиеза микроконтролери Atmega8 и Attiny13:

Както можете да видите, модулите са използвани без антени, разбира се кратко разстояниекомуникацията ще се осъществява, но качеството на комуникацията ще бъде по-лошо. Не бива да следвате моя пример в това отношение - не бъдете мързеливи, направете антени за модулите и ги запоявайте. Производителят посочва дължини на антената от 32 и 25 сантиметра съответно за приемника и предавателя. В забележката обаче пише, че е важно да се използва антена с дължина 17 см. Тук малко се обърках колко трябва да е дълга антената. Производителят също така отбелязва, че местоположението на антената също влияе върху качеството на приемане на сигнала. Тук може да се избере най-доброто място с помощта на научен метод - в коя позиция сигналът е по-добър, тогава поставете антената там. IN китайски устройстваизползвайки подобни модули, той е направен под формата на спирала и просто поставен по дължината на приемника.

Няколко думи за приложението - с помощта на такива схеми можете да предавате и получавате информация за температура или нещо друго в точки, отдалечени от главния микроконтролер. Също така, като използвате приетия код, можете да управлявате всички не- сложни веригидистанционно (напишете вкл./изкл.). Е, като цяло, използвайте го където искате.

За програмиране трябва да знаете конфигурациите на битовите предпазители на микроконтролерите за Atmega8:

Статията включва фърмуер за микроконтролери, източници в , както и видео, демонстриращо работата на веригата и прехвърлянето на информация от микроконтролер към микроконтролер (tiny13 брои от 0 до 255 и постоянно предава стойността на друг микроконтролер, на който тази стойност се показва на LCD екрандисплей, на видео стойността ще бъде предадена до 111 и в този момент изключваме линията за данни от предавателния модул, номерът ще остане в последното предавано състояние - 111).

Списък на радиоелементите

Обозначаване Тип Деноминация Количество ЗабележкаМагазинМоят бележник
IC1 MK AVR 8-битов

ATmega8

1 Към бележника
IC2 MK AVR 8-битов

ATtiny13A

1 Към бележника
VR1 Линеен регулатор

L7805AB

1 Към бележника
VD1-VD4 Изправителен диод

1N4007

4 Към бележника
RF1 RF приемникXY-MK-5V1 Към бележника
RF2 RF предавателFS1000A1 XY-FST Към бележника
C1, C9 10 µF2 Към бележника
C2, C4-C7, C10 Кондензатор100 nF6 Към бележника
C3 Електролитен кондензатор1000 µF1 Към бележника
C8 Електролитен кондензатор220 µF1 Към бележника
R1 Резистор

Направи си сам RF модули

Понякога възниква ситуация, когато има SAW резонатори за тези честоти, за които индустрията не произвежда приемни модули. И не е тайна, че цената на индустриалните микровъзли е около 7 евро (RX 5000), което може да обезкуражи всеки да експериментира. Модерен елементна базави позволява сами да сглобите както предавател, така и приемник с характеристики, които поне не са по-лоши от тези на индустриалните модули.

Предавател на данни.

Стандартна схема, тествана от много радиолюбители. Състои се от управляван главен осцилатор и усилвател на мощност. Мощността е около 10 mW, консумацията на ток е 15 mA. Токът на главния осцилатор е около 2 mA. Консумацията на ток и мощността на крайния етап могат да се регулират с помощта на резистори за отклонение. Трябва да се помни, че ток на крайния етап над 50 mA може да повреди транзистора, използван в този дизайн.

Приемник на данни.

Приемникът е суперрегенератор с чувствителност около 1 µV. Остава работещ от 3 до 6 волта, без да "отива никъде" в честотата. Връзката между суперрегенератора и антената е индуктивна, което избягва вредните ефекти от смущения и силни сигнализа работата на суперрегенеративната каскада.

Приемникът се настройва чрез преместване и раздалечаване на завоите на бобината в колекторната верига. Използването на кондензатори, успоредни на колекторната бобина, е нежелателно, тъй като това влошава качествения фактор на веригата. При честота 423,2 MHz веригата има 9 завъртания.

В многобройни тестове се оказа, че използването на UHF във връзка с правилно конфигуриран приемник от този тип не осигурява нищо по отношение на подобряване на чувствителността, а само влошава динамиката на супер-регенератора, позволявайки известна небрежност в неговите настройки . АМ сигналът, получен от приемника, има много малка амплитуда, така че първо се усилва и след това се подава към входа на компаратор (прагово устройство). Log 1 се появява на изхода на компаратора, ако нивото на напрежение на неговия вход надвиши определено ниво.

Когато настройвате приемника, е удобно да контролирате сигнала, излъчван от предавателя в аналогова форма след първия усилвател (щифт 1 на LM 358), като свържете там входа на конвенционален ULF.