Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. DerManni
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    DerManni

    @DerManni

    0
    Reputation
    4
    Posts
    290
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    DerManni Follow

    Best posts made by DerManni

    This user hasn't posted anything yet.

    Latest posts made by DerManni

    • RE: 💬 Multi-Sensor: Temp/Humidity/PIR/ Leak/Magnet/Light/Accel

      @rmtucker Could you please explain in weich was you connect the STLINK to the NRF Module to usw the Arduino IDE. Thanks

      posted in OpenHardware.io
      DerManni
      DerManni
    • RE: 💬 Multi-Sensor: Temp/Humidity/PIR/ Leak/Magnet/Light/Accel

      @NeverDie
      Did you or anybody else could write to the NRF5xxx via the Arduino IDE and a ST-Link V2 programmer?
      I find the DK for approx. 32€ a little bit to expensive for just testing.

      Edit: Maybe this one could work:
      http://s.aliexpress.com/FRzU3miM

      Thanks.

      posted in OpenHardware.io
      DerManni
      DerManni
    • RE: High Power Consumption without any reason.

      @sundberg84
      I also unplugged the sensor, nothing happend to the power consumption in both states.

      The note is powered through an CP2102 USB 2.0 zu TTL UART on 3V3. Later I planned to power through an CR2450 coin cell.

      Unfortunately I cannot unplug the NRF-Module because it is soldered directly to the following shield. (https://oshpark.com/shared_projects/uXIff7XO)

      Could it be an faulty NRF-module?

      posted in Hardware
      DerManni
      DerManni
    • High Power Consumption without any reason.

      Hello Guys,

      I made a MySensor-Sensor out of an Arduino Pro Mini 3V3 8Mhz Clone a BME280 and a NRF24L01 module. During sending the data my power consumption is about 17-18mA, which is often mentioned in the forum.
      But in sleepmode there is a much higher power consumption of 4mA than I expected and also mentioned in the topics.

      Could you please give me a hint where I had to look for the high power consumption? LED and Regulator are removed.

      My Code:

      // Enable Debugging
      #define MY_DEBUG            //for MySensors connection problems
      #define PROG_DEBUG          //for code debugging
      
      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      
      //MySensors Identification (necessary before MySensors.h)
      #define MY_NODE_ID 1
      
      #include <SPI.h>
      #include <MySensors.h>
      #include <Seeed_BME280.h>
      #include <Wire.h>
      
      BME280 bme280;
      
      //MySensors Sensors Identification
      #define CHILD_ID_HUM 0
      #define CHILD_ID_TEMP 1
      #define CHILD_ID_BARO 2
      #define CHILD_ID_VOLTAGE 254
      
      //For battery voltage measurement
      int BATTERY_SENSE_PIN = A0;       // select the input pin for the battery sense point
      //unsigned long SLEEP_TIME = 5*60000;   // sleep time between reads (seconds * 1000 milliseconds)
      unsigned long SLEEP_TIME = 10000;   // sleep time between reads (seconds * 1000 milliseconds)
      float VinMax = 3.23;          //VinMax calculated from VoltageDivider with 1,1V as referenz (A0);
      float VinMin = 2.6;           //VinMin is 1xCR2450 2.6V
      float VrefMulti = 0.0031543;       //calculated from VinMax/1023
      
      //R1 = 910000;      Voltage Divider R1
      //R2 = 470000;      Voltage Divider R2
      
      // Set this offset if the sensor has a permanent small offset to the real temperatures
      //#define SENSOR_TEMP_OFFSET 0
      
      bool metric = true;
      
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msgBaro(CHILD_ID_BARO, V_PRESSURE);
      MyMessage msgVoltage(CHILD_ID_VOLTAGE, V_VOLTAGE);
      
      
      void presentation()  
      { 
        // Send the sketch version information to the gateway
        sendSketchInfo("BME280", "1.1");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID_HUM, S_HUM);
        present(CHILD_ID_TEMP, S_TEMP);
        present(CHILD_ID_BARO, S_BARO);
        present(CHILD_ID_VOLTAGE, S_MULTIMETER);
      
        metric = getControllerConfig().isMetric;
      }
      
      
      void setup()
      {
        if(!bme280.init()){
          Serial.println("BME280 Could not be initialised!");
        }
        else {
          Serial.println("BME280 initialised!");
        }
        analogReference(INTERNAL);          // use the 1.1 V internal reference
          
      }
      
      
      void loop()      
      {  
        Serial.println("Waking up...");
        #ifdef PROG_DEBUG
          unsigned long StartTime = millis();
          Serial.println("------NEW READING------");
        #endif
      
        //calculate values
        int sensorValue = analogRead(BATTERY_SENSE_PIN);
        float batteryV  = sensorValue * VrefMulti;
        int Vref0 = (VinMin / VrefMulti);
        float VrefPcnt = (1023 - Vref0) / 100;
        int batteryPcnt = static_cast<int>(((batteryV-VinMin)/(VinMax-VinMin))*100);;
        //Send Battery Voltage
        send(msgVoltage.set(batteryV, 1));
      
        #ifdef PROG_DEBUG
          //Voltage-Stuff
          Serial.println("-----Voltage-Stuff-----");
          Serial.print("A0-Reading:        ");
          Serial.println(sensorValue);
          Serial.print("VinMax:            ");
          Serial.println(VinMax);
          Serial.print("VinMin:            ");
          Serial.println(VinMin);
          Serial.print("Vref0:             ");
          Serial.println(Vref0);
          Serial.print("VrefPcnt:          ");
          Serial.println(VrefPcnt);
          
          //Battery-Stuff
          Serial.print("Battery Voltage:   ");
          Serial.print(batteryV);
          Serial.println(" V");
      
          Serial.print("Battery percent1:  ");
          Serial.print(batteryPcnt);
          Serial.println(" %");
          Serial.println("-----------------------");
        #endif
          sendBatteryLevel(batteryPcnt);
          
            
        // Get temperature from BME280
        float temperature = bme280.getTemperature();
          send(msgTemp.set(temperature, 1));
        #ifdef PROG_DEBUG
          Serial.print("Temp:              ");
          Serial.print(temperature);
          Serial.println("C");
        #endif
        
        // Get humidity from BME280
        float humidity = bme280.getHumidity();
          send(msgHum.set(humidity, 1));
        #ifdef PROG_DEBUG
          Serial.print("Humidity:          ");
          Serial.print(humidity);
          Serial.println("%");
        #endif
        
        // Get pressure from BME280
        float pressure = (bme280.getPressure()/100);
        send(msgBaro.set(pressure, 1));
        #ifdef PROG_DEBUG
          Serial.print("Pressure:          ");
          Serial.print(pressure);
          Serial.println("hPa");
        #endif
        
        #ifdef PROG_DEBUG
          unsigned long CurrentTime = millis();
          unsigned long ElapsedTime = CurrentTime - StartTime;
          Serial.print("Looptime:          ");
          Serial.print(ElapsedTime);
          Serial.println("ms");
        #endif
      
        // Sleep for a while to save energy
        Serial.print("Going to sleep for (Seconds): ");
        Serial.println(SLEEP_TIME/1000);
        sleep(SLEEP_TIME); 
      }
      

      Thanks in advance.
      Tom

      posted in Hardware
      DerManni
      DerManni