- RFM69HCW RF модул
- RFM69HCW
- RFM69 Модул Pinouts и описание
- Подготовка на съвет за разработка по поръчка
Стъпка 3: Подгответе печатни платки за нея, следвам този урок за домашна печатна платка. Отпечатах отпечатъка върху медна дъска и го пуснах в разтвора за офорт
Стъпка 4: Следвайте процедурата както за дъските, така и за спойка на модула си. След запояване и двата ми модула изглеждат по-долу
В Конекторите на RFM69HCW Модул RF е дадено в по-долу фигура
- Необходими материали
- Хардуерна връзка
- Изпълнение на примерната скица
- Работа на примерната скица
Що се отнася до предоставянето на безжични възможности на вашите проекти, 433Mhz ASK хибриден предавател и приемник е често срещан избор сред инженерите, разработчиците и любителите, поради Ниската си цена, лесна за използване библиотека и подкрепата на общността. Също така сме изградили няколко проекта като RF контролирана домашна автоматизация и безжичен звънец, използвайки този 433MHz RF модул. Но често пъти ASK хибриден предавател и приемник просто не е достатъчен, той е с малък обхват и еднопосочната комуникационна природа го прави неподходящ за много приложения
За да разрешат този постоянно възникващ проблем, разработчиците от HopeRF измислиха страхотен нов RF модул, наречен RFM69HCW. В този урок ще научим за RFM69HCW RF модула и неговите предимства. Първо, ще направим домашна печатна платка за RFM69HCW и след това ще свържем RFM69HCW с Arduino, за да проверим нейната работа, за да можете да я използвате в проекти по ваш избор. И така, нека започнем.
RFM69HCW RF модул
RFM69HCW е евтин лесен за използване радио модул, който работи в нелицензирана лента ISM (промишленост, наука и медицина), подобна на RF модула nRF24L01, който използвахме в предишни проекти. Той може да се използва за комуникация между два модула или може да бъде конфигуриран като мрежова мрежа за комуникация между стотици модули, което го прави идеален избор за изграждане на евтини безжични мрежи с малък обхват за сензори, използвани в домашна автоматизация и други проекти за събиране на данни.
Характеристики на RFM69HCW:
- +20 dBm - 100 mW Изходна мощност
- Висока чувствителност: до -120 dBm при 1,2 kbps
- Слаб ток: Rx = 16 mA, 100nA задържане на регистъра
- Програмируем Pout: -18 до +20 dBm на стъпки от 1dB
- Постоянна радиочестотна характеристика в диапазон на напрежение на модула
- FSK, GFSK, MSK, GMSK и OOK модулации
- Вграден битов синхронизатор, извършващ възстановяване на часовника
- 115 dB + динамичен обхват RSSI
- Автоматичен RF Sense с ултра бърз AFC
- Пакет двигател с CRC-16, AES-128, 66-байтов FIFO Вграден сензор за температура
- Бюджет с висока връзка
- Много ниска цена
RFM69HCW
Честота
RFM69HCW е създаден да работи в лентата ISM (промишленост, наука и медицина), набор от нелицензирани радиочестоти за устройства с малък обсег на действие. Различните честоти са законни в различни области, така че затова модулът има много различни версии 315 433 868 и 915 MHz. Всички основни RF параметри за комуникация са програмируеми и повечето от тях могат да бъдат динамично зададени, също така RFM69HCW предлага уникалното предимство на програмируемите теснолентови и широколентови комуникационни режими.
Забележка: Поради сравнително ниската си мощност и малък обхват, внедряването на този модул в малък проект няма да бъде проблем, но ако мислите да направите продукт от него, уверете се, че използвате правилната честота за твоето местоположение.
Обхват
За да разберем по-добре обхвата, трябва да се справим с доста сложна тема, наречена RF Link Budget. И така, какъв е този бюджет за връзки и защо е толкова важен? Бюджетът за връзки е като всеки друг бюджет, нещо, което имате в началото и което харчите с течение на времето, ако бюджетът ви е изразходван, не можете да харчите повече.
Бюджетът на връзката също е свързан с връзка или връзката между подателя и получателя, той се запълва от мощността на предаване на подателя и чувствителността на приемника и се изчислява в децибели или dB, също е честота- зависим. Бюджетът на връзката се приспада от всякакви препятствия и шум между подателя и приемника като разстояния кабели стени дървета сгради, ако бюджетът на връзката се изразходва, приемникът създава само малко шум на изхода и няма да получим използваем сигнал. Според листа с данни на RFM69HCW , той има бюджет за връзка от 140 dB в сравнение с 105 dB от хибридния предавател ASK, но какво означава това, че това е важна разлика? За щастие откривамеБюджетни калкулатори за радиовръзки онлайн, така че нека направим някои изчисления, за да разберем по-добре темата. Първо, нека приемем, че имаме линия на видимост между подателя и получателя и всичко е перфектно, тъй като знаем, че нашият бюджет за RFM69HCW е 140 dB, така че нека проверим най-голямото теоретично разстояние, което можем да комуникираме, задаваме всичко на нула и разстоянието до 500KM, Честота до 433MHz и получаваме хоризонтална получена мощност от 139,2 dBm
Сега настроих всичко на нула и разстоянието на 9KM Честота на 433MHz и получаваме хоризонтална получена мощност от 104,3 dBm
Така че с горното сравнение, мисля, че всички можем да се съгласим, че модулът RFM69 е далеч по-добър от хибридния предавател ASK и приемния модул.
Антената
Внимание! Прикрепването на антена към модула е задължително, тъй като без него модулът може да бъде повреден от собствената си отразена мощност.
Създаването на антена не е толкова трудно, колкото може да звучи. Най-простата антена може да бъде направена само от едноверижна жица 22SWG. На дължината на вълната на честота може да бъде изчислена по формулата V / F , където V е скоростта на предаване и е е (средно) предаване честота. Във въздуха v е равна на c , скоростта на светлината, която е 299.792.458 m / s. Дължината на вълната за 433 MHz честотна лента е 299.792.458 / 433.000.000 = 34,54 cm. Половината от това е 17,27 см, а една четвърт е 8,63 см.
За обхвата 433 MHz дължината на вълната е 299.792.458 / 433.000.000 = 69,24 cm. Половината от това е 34,62 см, а една четвърт е 17,31 см. Така че от горната формула можем да видим процеса на изчисляване на дължината на антенния проводник.
Изискване за захранване
RFM69HCW има работно напрежение между 1.8V до 3.6V и може да изтече до 130mA ток, когато се предава. По-долу в таблицата можем ясно да видим консумацията на енергия на модула при различни условия
Предупреждение: Ако избраният от вас Arduino използва 5V логически нива, за да комуникира с свързването на модула директно към Arduino, това ще повреди модула
Символ |
Описание |
Условия |
Мин |
Тип |
Макс |
Мерна единица |
IDDSL |
Ток в режим на заспиване |
- |
0,1 |
1 |
uA |
|
ИДДИЛ |
Ток в режим на готовност |
RC осцилатор активиран |
- |
1.2 |
- |
uA |
IDDST |
Ток в режим на готовност |
Кристалният осцилатор е активиран |
- |
1.25 |
1.5 |
uA |
IDDFS |
ток в Synthesizer режим |
- |
9 |
- |
uA |
|
IDDR |
ток в режим на получаване |
- |
16. |
- |
uA |
|
IDDT |
Захранващ ток в режим на предаване с подходящо съвпадение, стабилен в диапазона VDD |
RFOP = +20 dBm, на PA_BOOST RFOP = +17 dBm, на PA_BOOST RFOP = +13 dBm, на RFIO щифт RFOP = +10 dBm, на RFIO щифт RFOP = 0 dBm, на RFIO щифт RFOP = -1 dBm, на RFIO щифт |
- - - - - - |
130 95 45 33 20. 16. |
- - - - - - |
mA mA mA mA mAmA |
В този урок ще използваме два Arduino Nano и два преобразувателя на логическо ниво, за да комуникираме с модула. Използваме Arduino nano, защото вграденият вътрешен регулатор може да управлява пиковия ток много ефективно. Диаграмата на Fritzing в раздела за хардуера по-долу ще ви го обясни по-ясно.
ЗАБЕЛЕЖКА: Ако вашето захранване не може да осигури 130 mA пиков ток, вашият Arduino може да се рестартира или по-лошо модулът да не успее да комуникира правилно, в тази ситуация кондензатор с голяма стойност с ниско ESR може да подобри ситуацията
RFM69 Модул Pinouts и описание
Етикет |
Функция |
Функция |
Етикет |
МРАВКА |
Изход / вход на RF сигнал. |
Захранваща земя |
GND |
GND |
Заземяване на антената (същото като заземител) |
Цифрови I / O, конфигуриран софтуер |
DIO5 |
DIO3 |
Цифрови I / O, конфигуриран софтуер |
Нулирайте входа на спусъка |
RST |
DIO4 |
Цифрови I / O, конфигуриран софтуер |
SPI Chip select input |
NSS |
3.3V |
Захранване 3.3V (поне 130 mA) |
Вход за SPI часовник |
SCK |
DIO0 |
Цифрови I / O, конфигуриран софтуер |
SPI Въвеждане на данни |
МОСИ |
DIO1 |
Цифрови I / O, конфигуриран софтуер |
SPI извеждане на данни |
MISO |
DIO2 |
Цифрови I / O, конфигуриран софтуер |
Захранваща земя |
GND |
Подготовка на съвет за разработка по поръчка
Когато купих модула, той не се предлагаше със съвместима платка, така че решихме да го направим сам. Ако може да се наложи да направите същото, просто следвайте стъпките. Освен това имайте предвид, че не е задължително да следвате тези стъпки, можете просто да запоявате проводници към RF модула и да ги свързвате към макет и пак ще работи. Следвам тази процедура само за да получа стабилна и здрава настройка.
Стъпка 1: Подгответе схемите за модула RFM69HCW
Стъпка 3: Подгответе печатни платки за нея, следвам този урок за домашна печатна платка. Отпечатах отпечатъка върху медна дъска и го пуснах в разтвора за офорт
Стъпка 4: Следвайте процедурата както за дъските, така и за спойка на модула си. След запояване и двата ми модула изглеждат по-долу
В Конекторите на RFM69HCW Модул RF е дадено в по-долу фигура
Необходими материали
Ето списъка с нещата, които ще ви трябват за комуникация с модула
- Два модула RFM69HCW (със съвпадащи честоти):
- 434 MHz (WRL-12823)
- Два Arduino (използвам Arduino NANO)
- Два преобразувателя на логическо ниво
- Две дъски за разбиване (използвам поръчкови дъски за разбиване)
- Бутон
- Четири светодиода
- Един 4.7K резистор четири 220Ohms резистор
- Джъмперни проводници
- Емайлиран меден проводник (22AWG), за да се направи антената.
- И накрая запояване (ако вече не сте го направили)
Хардуерна връзка
В този урок използваме Arduino nano, който използва 5 волта логика, но модулът RFM69HCW използва 3.3 волта логически нива, както можете ясно да видите в горната таблица, така че за правилната комуникация между две устройства е необходим преобразувател на логическо ниво, в диаграмата за фризиране по-долу показахме ви как да свържете Arduino nano към модула RFM69.
Fritzing Diagram Sender Node
Възел на подателя на таблицата за свързване
Arduino Pin |
RFM69HCW щифт |
I / O щифтове |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RED |
D9 |
- |
LED_BLUE |
D10 |
NSS |
- |
D11 |
МОСИ |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Възел на приемника на диаграмата
Възел на приемника на таблицата за свързване
Arduino Pin |
RFM69HCW щифт |
I / O щифтове |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
МОСИ |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Изпълнение на примерната скица
В този урок ще настроим два Arduino RFM69 възела и ще ги накараме да комуникират помежду си. В раздела по-долу ще знаем как да стартираме и стартираме модула с помощта на библиотеката RFM69, която е написана от Феликс Русу от LowPowerLab.
Импортиране на библиотеката
Надяваме се, че вече сте правили малко програмиране на Arduino и знаете как да инсталирате библиотека. Ако не вземете, проверете раздела за импортиране на.zip библиотека на тази връзка
Включване на възлите
Включете USB на възела на подателя към вашия компютър, трябва да се добави нов номер на COM порта към списъка "Инструменти / порт" на Arduino IDE, да се напише, сега включете възела на приемника, друг COM порт трябва да се появи в Инструменти / Списък с портове, също го напишете, с помощта на номера на порта ще качим скицата на подателя и възела на получателя.
Откриване на две сесии на Arduino
Отворете две сесии на Arduino IDE, като щракнете двукратно върху иконата на Arduino IDE след зареждането на първата сесия, задължително е да отворите две сесии на Arduino, защото по този начин можете да отворите две прозорци на Arduino сериен монитор и едновременно да наблюдавате изхода на два възела
Отваряне на примерния код
Сега, когато всичко е настроено, трябва да отворим примерния код и в двете сесии на Arduino, за да го направим, goto
Файл> Примери> RFM6_LowPowerLab> Примери> TxRxBlinky
и щракнете върху него, за да го отворите
Промяна на примерния код
- В горната част на кода потърсете #define NETWORKID и променете стойността на 0. С този Id всички ваши възли могат да комуникират помежду си.
- Потърсете #define FREQUENCY променете това, за да съответства на честотата на платката (моята е 433_MHz).
- Потърсете #define ENCRYPTKEY, това е вашият 16-битов ключ за криптиране.
- Потърсете #define IS_RFM69HW_HCW и го коментирайте, ако използвате модул RFM69_HCW
- И накрая, потърсете #define NODEID, той по подразбиране трябва да бъде зададен като ПОЛУЧАТЕЛ
Сега качете кода на вашия приемник възел, който предварително сте настроили.
Време е да модифицирате скицата за възела на подателя
Сега в макроса #define NODEID го променете на SENDER и качете кода във вашия Sender Node.
Това е всичко, ако сте направили всичко правилно, имате два пълни работещи модела, готови за тестване.
Работа на примерната скица
След успешното качване на скицата ще наблюдавате червения светодиод, който е свързан с щифта D4 на Arduino, сега се натиска бутонът в възела на подателя и ще забележите, че червеният светодиод се изключва и зеленият светодиод, който е свързан към ПИН D5 на Arduino светва, както е показано на изображението по-долу
Можете също така да наблюдавате натиснат бутон! текст в прозореца за сериен монитор, както е показано по-долу
Сега наблюдавайте синия светодиод, който е свързан към ПИН D9 на възела на подателя, той ще мига два пъти и в прозореца на серийния монитор на приемния възел ще видите следното съобщение, а също и синия светодиод, който е свързан към извода D9 в приемният възел ще светне. Ако видите горното съобщение в прозореца за сериен монитор на възела на приемника, а също и ако светодиодът светне Поздравления! Успешно комуникирахте модула RFM69 с Arduino IDE. Пълната работа на този урок може да бъде намерена и във видеото, дадено в долната част на тази страница.
Като цяло тези модули се оказват чудесни за изграждане на метеорологични станции, гаражни врати, безжичен контролер на помпа с индикатор, дронове, роботи, вашата котка… небето е границата! Надявам се, че сте разбрали урока и сте се радвали да създадете нещо полезно. Ако имате въпроси, оставете ги в раздела за коментари или използвайте форумите за други технически въпроси.