Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

29 Haziran 2021 Salı

NRF24L01 + Kablosuz Modül Nasil Kullanilir ve Arduino

 

NRF24L01 + Kablosuz Modül Nasıl Çalışır ve Arduino

İki veya daha fazla Arduino kartının belirli bir mesafeden kablosuz olarak birbirleriyle iletişim kurabilmesi, sensör verilerini uzaktan izleme, robotları kontrol etme, ev otomasyonu ve liste devam etme gibi birçok olasılık sağlar. Ucuz ama güvenilir 2 yollu RF çözümlerine sahip olmak söz konusu olduğunda, Nordic Semiconductor'ın nRF24L01 + alıcı-verici modülünden daha iyi bir iş çıkaran kimse yok .

nRF24L01 + (artı) alıcı-verici modülü genellikle çevrimiçi olarak iki dolardan daha az bir fiyata alınabilir, bu da onu alabileceğiniz en ucuz veri iletişim seçeneklerinden biri yapar. Ve hepsinden önemlisi, bu modüller çok küçüktür ve neredeyse her projeye kablosuz bir arayüz eklemenize izin verir.

Donanıma Genel Bakış

Radyo frekansı

NRF24L01 + alıcı-verici modülü, dünya çapında 2,4 GHz ISM frekans bandında çalışmak üzere tasarlanmıştır ve veri iletimi için GFSK modülasyonunu kullanır Veri aktarım hızı 250kbps, 1Mbps ve 2Mbps olabilir.

2.4 GHz ISM bandı nedir?

2,4 GHz bant, lisanssız düşük güçlü cihazların kullanımı için uluslararası olarak ayrılmış Endüstriyel, Bilimsel ve Medikal (ISM) bantlarından biridir. Örnekler arasında Kablosuz telefonlar, Bluetooth cihazları, yakın alan iletişimi (NFC) cihazları ve kablosuz bilgisayar ağları (WiFi) ISM frekanslarını kullanır.

Güç tüketimi

Modülün çalışma voltajı 1.9 ila 3.6V arasındadır , ancak iyi haber, mantık pinlerinin 5 volt toleranslı olmasıdır , bu nedenle herhangi bir mantık seviyesi dönüştürücü kullanmadan bir Arduino veya herhangi bir 5V mantık mikrodenetleyicisine kolayca bağlayabiliriz.

Modül, programlanabilir çıkış gücünü destekler. 0 dBm, -6 dBm, -12 dBm veya -18 dBm ve tek bir LED'den bile daha düşük olan 0 dBm'de iletim sırasında inanılmaz derecede yaklaşık 12 mA tüketir Ve en iyisi, bekleme modunda 26 µA ve güç kapatma modunda 900 nA tüketir. Bu nedenle, düşük güçlü uygulamalar için başvurulacak kablosuz cihazdır.

SPI Arayüzü

NRF24L01 + alıcı-verici modülü , maksimum 10Mbps veri hızı ile 4 pinli Seri Çevresel Arayüz ( SPI ) üzerinden iletişim kurar Frekans kanalı (125 seçilebilir kanal), çıkış gücü (0 dBm, -6 dBm, -12 dBm veya -18 dBm) ve veri hızı (250kbps, 1Mbps veya 2Mbps) gibi tüm parametreler SPI arayüzü üzerinden yapılandırılabilir.

SPI veriyolu, bir Master ve Slave konseptini kullanır, en yaygın uygulamalarda Arduino'muz Master ve nRF24L01 + alıcı-verici modülü Slave'dir. I2C veriyolunun aksine, SPI veri yolundaki slave sayısı sınırlıdır, Arduino Uno'da maksimum iki SPI slave, yani iki nRF24L01 + alıcı-verici modülü kullanabilirsiniz.

İşte eksiksiz özellikler:

Frekans aralığı2,4 GHz ISM Bandı
Maksimum Hava Veri Hızı2 Mb / sn
Modülasyon FormatıGFSK
Maks. Alan sayısı Çıkış gücü0 dBm
Çalışma Besleme Voltajı1,9 V ila 3,6 V
Maks. Alan sayısı Çalışma Akımı13,5 mA
Min. Akım (Bekleme Modu)26µA
Mantıksal Girişler5V Toleranslı
İletişim Aralığı800+ m (görüş hattı)

nRF24L01 + modül Vs nRF24L01 + PA / LNA modülü

NRF24L01 + yongasına dayanan çeşitli modüller mevcuttur. En popüler versiyonlar aşağıdadır.

nRF24L01 + Kablosuz Alıcı-Verici Modülü
nRF24L01 + Kablosuz Modül

İlk versiyon, yerleşik anten kullanır. Bu, kopmanın daha kompakt bir versiyonuna izin verir. Bununla birlikte, daha küçük anten aynı zamanda daha düşük bir iletim aralığı anlamına gelir. Bu sürümle, 100 metrelik bir mesafeden iletişim kurabileceksiniz Tabii ki bu dışarıda açık bir alanda. İç mekandaki menziliniz, özellikle duvarların arasından biraz zayıflayacaktır.

nRF24L01 + PA LNA Harici Anten Kablosuz Alıcı-Verici Modülü
nRF24L01 + PA LNA Harici Antenli Kablosuz Alıcı-Verici Modülü

İkinci versiyon, bir SMA konektörü ve bir ördek anteniyle birlikte gelir, ancak gerçek fark bu değil. Gerçek fark, PA, LNA ve gönderme-alma anahtarlama devrelerini entegre eden özel bir RFX2401C yongasıyla birlikte gelmesidir . Ördek anteni ile birlikte bu menzil genişletici yonga, modülün yaklaşık 1000m civarında önemli ölçüde daha geniş bir iletim aralığı elde etmesine yardımcı olur .

PA LNA nedir?

PA, Güç Amplifikatörü anlamına gelir Yalnızca nRF24L01 + yongasından iletilen sinyalin gücünü artırır. Oysa LNA, Düşük Gürültülü Amplifikatör anlamına gelir LNA'nın işlevi,

nRF24L01 + RF PA LNA Güç Amplifikatörü Düşük Gürültülü Amplifikatör Blok Şeması
nRF24L01 + PA / LNA Blok Şeması

antenden gelen son derece zayıf ve belirsiz sinyal (genellikle mikrovoltlar düzeyinde veya -100 dBm'nin altında) ve onu daha kullanışlı bir seviyeye (genellikle yaklaşık 0,5 ila 1V) yükseltir

Alma yolunun düşük gürültülü amplifikatörü (LNA) ve iletim yolunun güç amplifikatörü (PA), iki sinyali ayıran ve nispeten güçlü PA çıkışının hassas LNA girişini aşırı yüklemesini önleyen bir dupleksleyici aracılığıyla antene bağlanır. Daha fazla bilgi için digikey.com'daki bu makaleye göz atın.

Bu farkın dışında, her iki modül de drop-in uyumludur. Yani, projenizi biriyle oluşturuyorsanız, sistemde herhangi bir değişiklik yapmanıza gerek kalmadan sadece fişini çekip başka birini kullanabilirsiniz.

NRF24L01 + alıcı-verici modülü nasıl çalışır?

RF Kanal Frekansı

NRF24L01 + alıcı-verici modülü, Kanal adı verilen belirli bir frekansta veri iletir ve alır Ayrıca iki veya daha fazla alıcı-verici modülün birbiriyle iletişim kurması için aynı kanalda olmaları gerekir. Bu kanal, 2,4 GHz ISM bandındaki herhangi bir frekans olabilir veya daha kesin olmak gerekirse, 2.400 ila 2.525 GHz (2400 ila 2525 MHz) arasında olabilir.

Her kanal 1MHz'den daha az bir bant genişliğine sahiptir. Bu bize 1MHz aralıklı 125 olası kanal verir. Böylece modül 125 farklı kanal kullanabilir ve bu da tek bir yerde bağımsız olarak çalışan 125 modemden oluşan bir ağa sahip olma imkanı verir.

nRF24L01 + Kablosuz Alıcı-Verici 2.4GHz 125 RF Kanalları 1MHz Aralık

Kanal, 250kbps ve 1Mbps hava veri hızında 1MHz'den daha az bir bant genişliği kaplar. Ancak 2Mbps hava veri hızında, 2MHz bant genişliği kullanılır (RF kanal frekans ayarının çözünürlüğünden daha geniş). Bu nedenle, çakışmayan kanalları sağlamak ve 2Mbps modunda paraziti azaltmak için, iki kanal arasında 2MHz aralık bırakmanız gerekir.

Seçtiğiniz kanalın RF kanal frekansı aşağıdaki formüle göre ayarlanır:

Frekans (Seçili) = 2400 + CH (Seçildi)

Örneğin, veri iletimi için kanalınız olarak 108'i seçerseniz, kanalınızın RF kanal frekansı 2508MHz (2400 + 108) olacaktır.

nRF24L01 + Çok Alıcı Ağı

NRF24L01 +, Multiceiver adlı bir özellik sağlar Çoklu Vericiler Tek Alıcı'nın kısaltmasıdır Her bir RF kanalının mantıksal olarak Veri Boruları adı verilen 6 paralel veri kanalına bölündüğü Başka bir deyişle, bir veri borusu, fiziksel RF Kanalındaki mantıksal bir kanaldır. Her veri borusunun kendi fiziksel adresi (Veri Borusu Adresi) vardır ve yapılandırılabilir. Bu, aşağıda gösterildiği gibi gösterilebilir.

nRF24L01 + Kablosuz Çok Vericili Ağ Çoklu Vericiler Tek Alıcı
nRF24L01 + Multiceiver Network - Çoklu Vericiler Tek Alıcı

Yukarıdaki diyagramı basitleştirmek için, birincil alıcının aynı anda 6 farklı verici düğümünden bilgi toplayan bir hub alıcı görevi gördüğünü hayal edin. Göbek alıcısı herhangi bir zamanda dinlemeyi durdurabilir ve bir verici görevi görebilir. Ancak bu, bir seferde yalnızca bir boru / düğüm yapılabilir.

Gelişmiş ShockBurst Protokolü

NRF24L01 + alıcı-verici modülü, Enhanced ShockBurst olarak bilinen bir paket yapısı kullanır. Bu basit paket yapısı, aşağıda gösterilen 5 farklı alana bölünmüştür.

nRF24L01 + Kablosuz Alıcı-Verici Gelişmiş ShockBurst Paket Yapısı
nRF24L01 + Geliştirilmiş ShockBurst Paket Yapısı

Orijinal ShockBurst yapısı yalnızca Giriş, Adres, Yük ve Döngüsel Artıklık Kontrolü (CRC) alanlarından oluşuyordu. Geliştirilmiş ShockBurst, yeni tanıtılan bir Paket Kontrol Alanı (PCF) kullanarak daha gelişmiş iletişim için daha fazla işlevsellik getirdi .

Bu yeni yapı, birkaç nedenden dolayı harika. İlk olarak, yük uzunluğu belirleyicili değişken uzunluklu yüklere izin verir, yani yükler 1 ila 32 bayt arasında değişebilir.

İkinci olarak, gönderilen her pakete, alıcı cihazın bir mesajın yeni olup olmadığını veya yeniden iletilip iletilmediğini (ve böylece göz ardı edilebileceğini) belirlemesine izin veren bir paket kimliği sağlar.

Son olarak ve en önemlisi, her mesaj, başka bir cihaz tarafından alındığında gönderilmesini isteyebilir.

nRF24L01 + Otomatik Paket Taşıma

Şimdi, iki nRF24L01 + modülünün birbiriyle nasıl işlem yaptığını daha iyi anlamak için üç senaryoyu tartışalım.

nRF24L01 + Alıcı-Verici Çalışma Paketi İletimi

Alındı ​​ve kesintili işlem Bu olumlu bir senaryo örneğidir. Burada verici, alıcıya bir veri paketi göndererek bir iletişim başlatır. Paketin tamamı iletildikten sonra, alındı ​​paketinin (ACK paketi) alınmasını bekler (yaklaşık 130 µs). Alıcı paketi aldığında, vericiye ACK paketini gönderir. ACK paketini alırken verici, yeni verilerin mevcut olduğunu belirtmek için kesme (IRQ) sinyali gönderir.

nRF24L01 + Alıcı-Verici Çalışma Paketi İletim Verileri Kayboldu

Veri paketi kaybı ile işlem Bu, iletilen paketin kaybı nedeniyle yeniden iletimin gerekli olduğu olumsuz bir senaryodur. Paket iletildikten sonra verici, ACK paketinin alınmasını bekler. Verici, Otomatik Yeniden İletim Gecikmesi (ARD) süresi içinde alamazsa, paket yeniden iletilir. Yeniden iletilen paket alıcı tarafından alındığında, ACK paketi iletilir ve bu da vericide kesinti oluşturur.

nRF24L01 + Alıcı-Verici Çalışma Paketi İletimi Onay Kaybı

Alındı ​​bildirimi kaybedilen işlem Bu yine, ACK paketinin kaybı nedeniyle yeniden iletimin gerekli olduğu olumsuz bir senaryodur. Burada alıcı paketi ilk denemede alsa bile, ACK paketinin kaybolması nedeniyle verici, alıcının paketi hiç alamadığını düşünür. Böylece Otomatik Yeniden İletim Gecikme süresi bittikten sonra paketi yeniden iletir. Şimdi alıcı, öncekiyle aynı paket kimliğini içeren paketi aldığında, onu atar ve ACK paketini yeniden gönderir.

Tüm bu paket işleme, mikro denetleyicinin katılımı olmadan nRF24L01 + yongası tarafından otomatik olarak yapılır.

nRF24L01 + Alıcı-Verici Modülü Pin Çıkışı

NRF24L01 + alıcı-verici Modülünün her iki versiyonunun da pin çıkışına bir göz atalım.

Pinout nRF24L01 + Kablosuz Alıcı-Verici Modülü
Pinout nRF24L01 + PA LNA Harici Anten Kablosuz Alıcı-Verici Modülü

GNDZemin Pimi'dir. Genellikle pimi bir kare içine alarak işaretlenir, böylece diğer pimleri tanımlamak için bir referans olarak kullanılabilir.

VCCmodül için güç sağlar. Bu, 1,9 ila 3,9 volt arasında herhangi bir yerde olabilir. Arduino'nuzdan 3.3V çıkışa bağlayabilirsiniz. 5V pinine bağlamanın nRF24L01 + modülünüzü büyük olasılıkla yok edeceğini unutmayın!

CE (Çip Etkinleştirme)bir aktif-YÜKSEK pindir. Seçildiğinde, nRF24L01 o anda hangi modda olduğuna bağlı olarak iletecek veya alacaktır.

CSN (Çip Seçimi Değil)aktif-DÜŞÜK bir pindir ve normalde YÜKSEK tutulur. Bu pin düştüğünde, nRF24L01 veri için SPI portunu dinlemeye başlar ve buna göre işler.

SCK (Seri Saat) SPI veri yolu Yöneticisi tarafından sağlanan saat darbelerini kabul eder.

MOSI (Ana Çıkış Köle Girişi) nRF24L01'in SPI girdisidir.

MISO (Köle Çıkışında Master) nRF24L01'den SPI çıkışıdır.

IRQ İşlenebilecek yeni veriler olduğunda ana kişiyi uyarabilen bir kesme pinidir.

Kablolama - nRF24L01 + alıcı-verici modülünü Arduino UNO'ya bağlama

Artık nRF24L01 + alıcı-verici modülünün nasıl çalıştığını tam olarak anladığımıza göre, onu Arduino'muza bağlamaya başlayabiliriz!

Başlamak için, modül üzerindeki VCC pinini Arduino'daki 3.3V'a ve GND pinini toprağa bağlayın. CSN ve CE pinleri Arduino'daki herhangi bir dijital pin'e bağlanabilir. Bizim durumumuzda, sırasıyla # 8 ve # 9 dijital pimlerine bağlıdır. Artık SPI iletişimi için kullanılan pinlerde kaldık.

NRF24L01 + alıcı-verici modülü çok fazla veri aktarımı gerektirdiğinden, bir mikrodenetleyicideki donanım SPI pinlerine bağlandığında en iyi performansı verecektir. Donanım SPI pinleri, başka bir pin seti kullanarak arayüz kodunu 'bit-vurmaktan' çok daha hızlıdır.

Her Arduino Board'un uygun şekilde bağlanması gereken farklı SPI pinlerine sahip olduğunu unutmayın. UNO / Nano V3.0 gibi Arduino kartları için bu pinler dijital 13 (SCK), 12 (MISO) ve 11 (MOSI) 'dir.

Bir Mega'nız varsa, iğneler farklıdır! Dijital 50 (MISO), 51 (MOSI), 52 (SCK) ve 53 (SS) kullanmak isteyeceksiniz. Hızlı anlamak için aşağıdaki tabloya bakın.

MOSIMİSOSCK
Arduino Uno111213
Arduino Nano111213
Arduino Mega515052

Yukarıda belirtilenden farklı bir Arduino kartı kullanıyorsanız, devam etmeden önce Arduino resmi belgelerini kontrol etmeniz önerilir .

NRF24L01 + Kablosuz Alıcı-Verici Modülü ile Arduino Kablolama Fritzing Bağlantıları
NRF24L01 + Kablosuz Alıcı-Verici Modülünü Arduino UNO'ya Kablolama

NRF24L01 + PA LNA Harici Anten Kablosuz Modülü ile Arduino Kablolama Fritzing Bağlantıları
NRF24L01 + PA LNA Kablosuz Modülünü Arduino UNO'ya Kablolama

Hatırlamak! Bu devrelerden iki tane yapmanız gerekiyor. Biri verici, diğeri alıcı görevi görür. Her ikisi için de kablolama aynıdır.

Her şeyi bağladıktan sonra gitmeye hazırsınız!

NRF24L01 + Modülü için RF24 Arduino Kitaplığı

NRF24L01 + alıcı-verici modülü ile bağlantı kurmak bir sürü iştir, ancak neyse ki bizim için çok sayıda kitaplık mevcuttur. Popüler kütüphanelerden biri RF24'tür . Bu kütüphane birkaç yıldır buralarda. Yeni başlayanlar için kullanımı basittir, ancak yine de ileri düzey kullanıcılar için çok şey sunar. Deneylerimizde aynı kütüphaneyi kullanacağız.

Kitaplığın en son sürümünü RF24 GitHub depo çatalından indirebilir veya zip dosyasını indirmek için bu düğmeyi tıklamanız yeterlidir:

Kurmak için Arduino IDE'yi açın, Sketch> Include Library> Add .ZIP Library'ye gidin ve ardından indirdiğiniz RF24-master dosyasını seçin. Bir kitaplık kurma konusunda daha fazla ayrıntıya ihtiyacınız varsa, bu Arduino Kitaplığı Kurma öğreticisini ziyaret edin .

Arduino Kodu - Verici İçin

Deneyimizde , vericiden alıcıya geleneksel bir ' Merhaba Dünya ' mesajı göndereceğiz .

Vericimiz için kullanacağımız taslak şu şekildedir:

//Include Libraries
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

//create an RF24 object
RF24 radio(9, 8);  // CE, CSN

//address through which two modules communicate.
const byte address[6] = "00001";

void setup()
{
  radio.begin();
  
  //set the address
  radio.openWritingPipe(address);
  
  //Set module as transmitter
  radio.stopListening();
}
void loop()
{
  //Send message to receiver
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  
  delay(1000);
}

Taslak, kitaplıkları dahil ederek başlar. SPI.h kitaplığı SPI iletişimini yönetirken nRF24L01.h ve RF24.h modülü kontrol eder.

//Include Libraries
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

Daha sonra, bir RF24 nesnesi oluşturmamız gerekiyor. Nesne, CE ve CSN sinyallerinin bağlandığı parametre olarak iki pin numarası alır.

//create an RF24 object
RF24 radio(9, 8);  // CE, CSN

Daha sonra, iki nRF24L01 + modülünün iletişim kurduğu boru adresini temsil edecek bir bayt dizisi oluşturmamız gerekiyor.

//address through which two modules communicate.
const byte address[6] = "00001";

Bu adresin değerini "düğüm1" gibi herhangi bir 5 harfli dizge olarak değiştirebiliriz. Bir ağda birkaç modülünüz varsa adres gereklidir. Adres sayesinde, iletişim kurmak istediğiniz belirli bir modülü seçebilirsiniz, bu nedenle bizim durumumuzda hem verici hem de alıcı için aynı adrese sahip olacağız.

Kurulum işlevinde sonraki: Vericinin adresini belirlediğimiz işlevi kullanarak radio.begin()ve kullanarak radyo nesnesini başlatmamız gerekir radio.openWritingPipe().

//set the address
radio.openWritingPipe(address);

Son olarak radio.stopListening()modülü verici olarak ayarlayan fonksiyonu kullanacağız .

//Set module as transmitter
radio.stopListening();

Döngü bölümünde: "Merhaba Dünya" mesajını atadığımız bir karakter dizisi oluşturuyoruz. radio.write()Fonksiyonu kullanarak bu mesajı alıcıya göndereceğiz. Buradaki ilk argüman, göndermek istediğimiz mesajdır. İkinci argüman, bu mesajda bulunan bayt sayısıdır.

const char text[] = "Hello World";
radio.write(&text, sizeof(text));

Bu yöntemle, bir seferde 32 bayta kadar gönderebilirsiniz. Çünkü nRF24L01 + 'nın işleyebileceği tek bir paketin maksimum boyutu budur. Alıcının verileri aldığına dair bir onay almanız gerekirse, yöntem radio.write()bir booldeğer döndürür TRUE döndürürse, veri alıcıya ulaştı. YANLIŞ döndürürse, veriler kaybolmuştur.

radio.write () işlevi, onayı alana kadar programı bloke eder veya tüm yeniden iletim girişimlerini bitirene kadar.

Arduino Kodu - Alıcı İçin

İşte alıcımız için kullanacağımız taslak

//Include Libraries
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

//create an RF24 object
RF24 radio(9, 8);  // CE, CSN

//address through which two modules communicate.
const byte address[6] = "00001";

void setup()
{
  while (!Serial);
    Serial.begin(9600);
  
  radio.begin();
  
  //set the address
  radio.openReadingPipe(0, address);
  
  //Set module as receiver
  radio.startListening();
}

void loop()
{
  //Read the data if available in buffer
  if (radio.available())
  {
    char text[32] = {0};
    radio.read(&text, sizeof(text));
    Serial.println(text);
  }
}

Bu program, bazı değişiklikler dışında vericinin programına oldukça benziyor.

Kurulum işlevinin başlangıcında seri iletişimi başlatırız. Daha sonra radio.setReadingPipe()işlevi kullanarak verici ile aynı adresi belirleriz ve bu şekilde verici ile alıcı arasındaki iletişimi etkinleştiririz.

  //set the address
  radio.openReadingPipe(0, address);

İlk argüman akışın numarasıdır. Farklı adreslere yanıt veren 6 adede kadar akış oluşturabilirsiniz. Sadece 0 numaralı akış için adres oluşturduk. İkinci argüman, akışın veri toplamak için tepki vereceği adrestir.

Bir sonraki adım, modülü bir alıcı olarak ayarlamak ve veri almaya başlamaktır. Bunu yapmak için radio.startListening()işlevi kullanıyoruz. O andan itibaren modem, verinin belirtilen adrese gönderilmesini bekler.

//Set module as receiver
  radio.startListening();

Döngü işlevinde: Çizim, radio.available()yöntemi kullanarak adrese herhangi bir verinin ulaşıp ulaşmadığını kontrol eder Bu yöntem, eğer tamponda herhangi bir veri mevcutsa, DOĞRU değeri döndürür.

if (radio.available())
  {
    char text[32] = {0};
    radio.read(&text, sizeof(text));
    Serial.println(text);
  }

Veriler alınırsa, sıfırlarla dolu 32 karakterlik bir dizi oluşturur (daha sonra program alınan verilerle doldurur). Verileri okumak için radio.read (& text, sizeof (text)) yöntemini kullanıyoruz . Bu, alınan verileri karakter dizimize kaydedecektir.

Sonunda aldığımız mesajı seri monitöre yazdırıyoruz. Her şeyi doğru yaptıysanız ve bağlantılarda hata yoksa, Seri Monitörünüzde buna benzer bir şey görmelisiniz.

nRF24L01 + Alıcı-Verici RF24 Seri Monitörde Kitaplık Çizim Çıkışı
nRF24L01 + Seri Monitörde Alıcı-Verici Çıkışı

NRF24L01 + alıcı-verici Modülünün menzilinin iyileştirilmesi

Bir kablosuz iletişim sistemi için önemli bir parametre, iletişim aralığıdır. Çoğu durumda, bir RF çözümü seçerken belirleyici faktördür. Öyleyse, modülümüz için daha iyi bir aralık elde etmek için neler yapabileceğimizi tartışalım.

Güç Kaynağı Gürültüsünü Azaltın

Bir Radyo Frekansı (RF) sinyali üreten bir RF devresi, güç kaynağı gürültüsüne karşı çok hassastır. Kontrol edilmezse, güç kaynağı gürültüsü elde edebileceğiniz aralığı önemli ölçüde azaltabilir.

Güç kaynağı bağımsız bir pil olmadığı sürece, gücün üretimiyle ilişkili gürültü olma ihtimali yüksektir. Bu gürültünün sisteme girmesini önlemek için , güç kaynağı hattına fiziksel olarak nRF24L01 + modülüne mümkün olduğunca yakın bir 10 µf filtre kapasitör yerleştirilmesi önerilir.

Başa çıkmanın en kolay yolu, nRF24L01 için çok ucuz bir Adaptör Modülü kullanmaktır.

nRF24L01 + 5V Güç Adaptörü
nRF24L01 + Adaptör

Adaptör modülünde nRF24L01 modülünüzü takmanıza izin veren 8 pimli bir dişi konektör bulunur. Daha önce tartıştığımız hem entegre antenli hem de harici antenli (PA / LNA) modülü barındırabilir. Ayrıca SPI ve Interrupt bağlantıları için 6 pimli bir erkek konnektöre ve güç girişi için 2 pimli bir konnektöre sahiptir.

Adaptör modülünün kendi 3,3 voltluk voltaj regülatörü ve bir dizi filtre kondansatörü vardır, böylece onu 5 voltluk bir güç kaynağıyla çalıştırabilirsiniz.

Kanal frekansınızı değiştirin

Bir RF devresi için başka bir potansiyel gürültü kaynağı, özellikle aynı kanalda ayarlanmış komşu ağlarınız varsa veya diğer elektronik cihazlardan kaynaklanan girişimler varsa, dış ortamdır.

Bu sinyallerin sorun yaratmasını önlemek için nRF24L01 + modülünüzün en yüksek 25 kanalını kullanmanızı öneririz Bunun nedeni, WiFi'nin alt kanalların çoğunu kullanmasıdır.

Daha Düşük Veri Hızı

NRF24L01 +, -94dBm olan 250Kbps hızında en yüksek alıcı hassasiyetini sunar. Ancak 2MBps veri hızında alıcı hassasiyeti -82dBm'ye düşer. Bu dili konuşursanız, 250Kbps'deki alıcının 2Mbps'den yaklaşık 10 kat daha hassas olduğunu bilirsiniz. Bu, alıcının 10 kat zayıf bir sinyali çözebileceği anlamına gelir.

Alıcı (Rx) hassasiyeti ne anlama geliyor?

Alıcı hassasiyeti, alıcının bir RF sinyalini algılayabildiği en düşük güç seviyesidir. Negatif sayının mutlak değeri ne kadar büyükse alıcı hassasiyeti o kadar iyidir. Örneğin, -94 dBm'lik bir alıcı hassasiyeti, -82 dBm'lik 12 dB'lik bir alıcı hassasiyetinden daha iyidir.

Bu nedenle, veri hızını düşürmek, elde edebileceğiniz aralığı önemli ölçüde artırabilir. Ayrıca projelerimizin çoğu için 250Kbps hız fazlasıyla yeterli.

Daha Yüksek Çıkış Gücü

Maksimum çıkış gücünün ayarlanması, iletişim aralığını da iyileştirebilir. NRF24L01 +, çıkış gücünden birini seçmenize izin verir. 0 dBm, -6 dBm, -12 dBm veya -18 dBm. 0 dBm çıkış gücünün seçilmesi , havadan daha güçlü sinyal gönderir.

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

Hiç yorum yok:

Yorum Gönder

Yorum yazdığınız ve üye olduğunuz için Size teşekkür ederim.Burada olduğunuza göre hepimizin ilgi alanı Elektronik ve Programlama sonsuz bir dünyadayız.Hepimize Başarılar...

Not: Yalnızca bu blogun üyesi yorum gönderebilir.