-         
Ergebnis 1 bis 6 von 6

Thema: NRF24 Powermudule laufen nicht?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von basteluwe
    Registriert seit
    15.11.2012
    Beiträge
    124

    NRF24 Powermudule laufen nicht?

    Anzeige

    Hallo Forum,
    Ich habe eine kleine Testroutine für NRF24 Module an Arduino Nano am Laufen- Aufbau und Codes sind im Wesentlichen nach diesem Tutorial.

    Mit zwei Standard-Power Modulen wie diesen hier:
    Klicke auf die Grafik für eine größere Ansicht

Name:	NRF24.jpg
Hits:	2
Größe:	33,0 KB
ID:	35426
    Läuft die Übertragung problemlos.

    Wenn ich aber auf der Sendeseite den HF-stärkeren "NRF24L01+PA" (seiehe Bild)
    Klicke auf die Grafik für eine größere Ansicht

Name:	NRF24+PA.jpg
Hits:	2
Größe:	19,1 KB
ID:	35427
    einsetze, ist Schluß mit lustig. Ich bekomme keine Übertragung hin.

    Beide Module hängen an den 3,3V des jeweiligen Nano, parallel sitzt der empfohlene 10uF C. Die Pin-Beschaltung des Powermoduls ist offensichtlich gleich wie beim Standard-Power. Leider habe ich nur ein Datenblatt für den Standand finden können, nicht für den Powertyp.
    Seltsam finde ich die Stromaufnahme: Standard-NRF + Arduino nehmen beim Einschalten für kurze Zeit ca. 27mA auf. Dann springt der Strom auf 40 mA und bleibt dort stabil. Wenn aber der Power-NRF am Nano hängt, ist so ein verzögerter "Anstieg" nicht erkennbar. Der Strom ist konstant ca. 35mA, also sogar niedriger als beim Standard-Typ???

    Nachdem ich beim ersten Powermodul diesen Fehlschlag hatte, habe ich zwei weitere Exemplare bestellt. Alle drei sind allerdings in gleicher Weise "Arbeitsverweigerer".

    Zur Vollständigkeit hier der Code für den Sendeteil;
    Code:
    /* Tranmsitter code for the Arduino Radio control with PWM output
     * Install the NRF24 library to your IDE
     * Upload this code to the Arduino UNO, NANO, Pro mini (5V,16MHz)
     * Connect a NRF24 module to it:
     
        Module // Arduino UNO,NANO
        
        GND    ->   GND
        Vcc    ->   3.3V
        CE     ->   D9
        CSN    ->   D10
        CLK    ->   D13
        MOSI   ->   D11
        MISO   ->   D12
    
    This code transmits 1 channels with data from pins A0 POTENTIOMETER
    Please, like share and subscribe : https://www.youtube.com/c/ELECTRONOOBS
    */
    
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    
    const uint64_t my_radio_pipe = 0xE8E8F0F0E1LL; //Remember that this code should be the same for the receiver
    
    RF24 radio(9, 10);
    
    // The sizeof this struct should not exceed 32 bytes
    struct Data_to_be_sent {
      byte ch1; 
    };
    
    Data_to_be_sent sent_data;
    
    
    
    void setup()
    {
      radio.begin();
      radio.setAutoAck(false);
      radio.setDataRate(RF24_250KBPS);
      radio.openWritingPipe(my_radio_pipe);  
      sent_data.ch1 = 127;
      
    }
    
    /**************************************************/
    
    
    void loop()
    {
      /*If your channel is reversed, just swap 0 to 255 by 255 to 0 below
      EXAMPLE:
      Normal:    data.ch1 = map( analogRead(A0), 0, 1024, 0, 255);
      Reversed:  data.ch1 = map( analogRead(A0), 0, 1024, 255, 0);  */
      
      sent_data.ch1 = map( analogRead(A0), 0, 1024, 0, 255);
      
      radio.write(&sent_data, sizeof(Data_to_be_sent));
    }
    Und hier für den Empfänger:
    Code:
    /* Receiver code for the Arduino Radio control with PWM output
     * Install the NRF24 library to your IDE
     * Upload this code to the Arduino UNO, NANO, Pro mini (5V,16MHz)
     * Connect a NRF24 module to it:
     
        Module // Arduino UNO,NANO
        
        GND    ->   GND
        Vcc    ->   3.3V
        CE     ->   D9
        CSN    ->   D10
        CLK    ->   D13
        MOSI   ->   D11
        MISO   ->   D12
    
    This code receive 1 channels and prints the value on the serial monitor
    Please, like share and subscribe : https://www.youtube.com/c/ELECTRONOOBS
    */
    
    
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    
    const uint64_t pipeIn = 0xE8E8F0F0E1LL;     //Remember that this code is the same as in the transmitter
    RF24 radio(9, 10);  //CSN and CE pins
    
    // The sizeof this struct should not exceed 32 bytes
    struct Received_data {
      byte ch1;
    };
    
    int ch1_value = 0;
    Received_data received_data;
    
    
    
    
    /**************************************************/
    
    void setup()
    {
      Serial.begin(9600);
      //We reset the received values
      received_data.ch1 = 127;
     
      //Once again, begin and radio configuration
      radio.begin();
      radio.setAutoAck(false);
      radio.setDataRate(RF24_250KBPS);  
      radio.openReadingPipe(1,pipeIn);
      
      //We start the radio comunication
      radio.startListening();
    
    }
    
    /**************************************************/
    
    unsigned long last_Time = 0;
    
    //We create the function that will read the data each certain time
    void receive_the_data()
    {
      while ( radio.available() ) {
      radio.read(&received_data, sizeof(Received_data));
      last_Time = millis(); //Here we receive the data
    }
    }
    
    /**************************************************/
    
    void loop()
    {
      //Receive the radio data
      ch1_value = 0;
      receive_the_data();
    
      
      ch1_value = map(received_data.ch1,0,255,1000,2000);
      Serial.println(ch1_value);
      delay(500);
      
    }//Loop end
    Ich mag nicht recht glauben, dass ich drei defekte Module in zwei Lieferungen erwischt habe. Allerdings waren sie vom selben Lieferanten.
    Irgendwelche Ideen von Euch, was das Problem sein könnte?

    Gruß und schönes Wochenende
    Uwe

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von basteluwe
    Registriert seit
    15.11.2012
    Beiträge
    124
    Ein kurzer Nachtrag:

    1. Sorry für den Typo im Titel
    2. Auf der Sendeseite wo das Power-Modul sitzt, habe ich jetzt einen separaten 3,3V Regler zur Spannungsversorgung eingesetzt. Das Resultat ist unverändert.
    3. Die Herkunft der drei Power-Module habe ich nochmal gecheckt. Sie kammen NICHT vom selben Lieferanten. Die zwei Nachbestellten hatte ich woanders bezogen. Damit scheint es eher unwarscheinlich, daß ich drei defekte Module geliefert bekommen hatte.

    Ziemlich ratlos
    Uwe

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    31.05.2009
    Beiträge
    269

    Unglücklich

    Zitat Zitat von basteluwe Beitrag anzeigen
    ..... habe ich jetzt einen separaten 3,3V Regler zur Spannungsversorgung eingesetzt. Das Resultat ist unverändert.
    Das Datenblatt sagt:

    1.9 to 3.6V supply range

    wenn du vorher mit VDD=5V versorgt hast, kannst du sie entsorgen!
    mfG
    Willi

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied Avatar von basteluwe
    Registriert seit
    15.11.2012
    Beiträge
    124
    Zitat Zitat von WL Beitrag anzeigen
    wenn du vorher mit VDD=5V versorgt hast, kannst du sie entsorgen!
    Hab ich nicht! Die NRFs haben nie 5V bekommen. Wie ich im ersten Post geschrieben hatte, lagen sie ursprünglich am 3,3V Ausgang des Nano. Erst heute morgen habe ich für das Sende-Modul einen separaten 3,3V Regler eingesetzt, nur um sicher zu sein, daß nicht zuviel Strom aus dem 3,3V Pin des Nano gezogen wird.

    Gruß Uwe

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    31.05.2009
    Beiträge
    269
    Ich hatte bei den Modulen mit dem HF-Booster den Effekt bemerkt, das die Sendeleistung des nRF24L01 reduziert werden musste.
    Scheinbar übersteuert da etwas....
    Reduzier mal den Output Reg.06 (RF_SETUP) auf '00' – -18dBm.
    mfG
    Willi

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied Avatar von basteluwe
    Registriert seit
    15.11.2012
    Beiträge
    124
    Zitat Zitat von WL Beitrag anzeigen
    Reduzier mal den Output Reg.06 (RF_SETUP) auf '00' – -18dBm.
    Genau DAS war es! Alle drei Power-Module laufen jetzt. Der Fehler lag ganz offensichtlich in zu hoher HF-Leistung im Nahfeld.
    Ich musste im Setup-Code nur den Befehl radio.setPALevel(0); einfügen.
    In der von mir verwendeten Library RF24.h ist dieser Befehl mit 4 möglichen Levels belegt:
    -18 dBm =0
    -12 dBm =1
    -6 dBm =2
    0 dBm =3

    Vielen Dank für die Hilfe!

    Gruß Uwe

Ähnliche Themen

  1. nRF24 kennt sich wer etwas besser aus..?
    Von oderlachs im Forum Offtopic und Community Tratsch
    Antworten: 0
    Letzter Beitrag: 22.06.2014, 12:34
  2. LCD - ich bekomms nicht zum laufen
    Von elkokiller im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 12.11.2006, 12:43
  3. Programme laufen nicht
    Von dominik66 im Forum Asuro
    Antworten: 9
    Letzter Beitrag: 08.10.2006, 21:21
  4. Bekomme ISP nicht zum laufen.
    Von FoCus im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 02.02.2006, 08:27
  5. Bekomme RP5 nicht zum laufen
    Von Mitshci im Forum Robby CCRP5
    Antworten: 3
    Letzter Beitrag: 27.10.2004, 15:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •