INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Stromsparender Microkontroller für Akkubetrieb
02.11.2020, 17:57
Beitrag #9
RE: Stromsparender Microkontroller für Akkubetrieb
(02.11.2020 17:41)Vapalus schrieb:  .....
Problem: Der Lithium Ionen Akku geht hoch bis 4.2V, am NRF24 dürfen maximal 3.6V anliegen. Jede Spannungsumwandlung verbraucht Energie.
Ob der NRF24 deshalb die richtige Wahl ist, weiß ich nicht.

Eine Alternative ist da ein HC-12, den ich auch sehr empfehlen kann. Der arbeitet auch mit 4,2 Volt und auch auf 433,xxx MHz.
Ansteuerung über UART, was nur 2 Leitungen belegt.
Weitere Infos findest du hier.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2020, 23:26
Beitrag #10
RE: Stromsparender Microkontroller für Akkubetrieb
Hallo,

ich habe mir aus Interesse mal eben den HC.12 bzw. den Chip darauf (SI4463) angesehen. Das Modul gefällt mir gut. Es ist viel einfacher einzustellen als das von mir benutzte Modul mit SX1278. Nach meiner Einschätzung ist das SX1278 nur geeigneter, wenn man lange Distanzen hat oder schlechte Bedingungen und dann mit einer niedrigen Datenrate zufrieden ist.

Ich habe damit die eine Station in einem Sicherungs- und Zählerkasten aus Stahl unterbingen können und erreicht bei den max. zul. 10 mW Sendeleistung über zwei Etagen mit Stahlbeton-Decken gerade ein Signal-to-Noise-Ratio von 0dB, was kein Problem ist, weil bis -10 dB die Kommunikatin zuverlässig ist.

Das zu Info,

Gruß GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2020, 23:39
Beitrag #11
RE: Stromsparender Microkontroller für Akkubetrieb
(02.11.2020 23:26)GuaAck schrieb:  Hallo,

ich habe mir aus Interesse mal eben den HC.12 bzw. den Chip darauf (SI4463) angesehen. Das Modul gefällt mir gut. Es ist viel einfacher einzustellen als das von mir benutzte Modul mit SX1278. Nach meiner Einschätzung ist das SX1278 nur geeigneter, wenn man lange Distanzen hat oder schlechte Bedingungen und dann mit einer niedrigen Datenrate zufrieden ist.

Ich habe damit die eine Station in einem Sicherungs- und Zählerkasten aus Stahl unterbingen können und erreicht bei den max. zul. 10 mW Sendeleistung über zwei Etagen mit Stahlbeton-Decken gerade ein Signal-to-Noise-Ratio von 0dB, was kein Problem ist, weil bis -10 dB die Kommunikatin zuverlässig ist.

Das hört sich doch gut an, zumal Retian eine super Beschreibung inkl. Einstellungssoftware dafür liefert.

Ich bin in meinem Projekt mit der Reichweite durchaus mehr als zufrieden und habe aktuell 6 HC-12 hier laufen, die mein komplettes Haus abdecken. Für mich war die einfache Steuerung durch UART ausschlaggebend. Einfacher gehts kaum.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.11.2020, 13:57
Beitrag #12
RE: Stromsparender Microkontroller für Akkubetrieb
Hallo,

Also die Teile sind Interresanter als die Standart Teile von Hope.
Ich habe noch einen anderen Link gefunden,
Wo der auch die Reichweite getestet hat.
Knapp 200m mit Werkseinstellung und der kleinen Wendel Antenne.
Denke mal mit richtiger Antennenauswahl und Optimierten Einstellungen,
läßt sich das noch deutlich steigern.
Sieht nach einer Versuchsbestellung für mich aus.

Damit ließe sich bestimmt auch eine Stromsparende Kommunikation aufbauen.

Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2020, 16:34
Beitrag #13
RE: Stromsparender Microkontroller für Akkubetrieb
Hallo nochmal,
Ich habe bereits alle teile bestellt (Akkus, lademodule(mit Überladeschutz usw.), Arduino pro minis,und auch die 2,4Ghz Module.
Zuerst die gute Nachricht :
alles funktioniert bereits und ich hatte sehr wenig Probleme, der Master hat 5 Knöpfe, 4 davon sprechen die einzelnen 4 Module an die im Haus verteilt sind 1ner alle gleichzeitig. Implementiert habe ich das vom Prinzip so, das Master 5 Zahlen verschicken kann(Je nachdem welcher Knopf gedrückt wurde und die Clienten jeweils darauf reagieren.
Auch Batteriebetrieb + Laden mit Lion Zelle und Akkumodul funktioniert.

Hier der Master Sketch:
Code:
#include "nRF24L01.h" //NRF24L01 library created by TMRh20 https://github.com/TMRh20/RF24
#include "RF24.h"
#include "SPI.h"

int SentMessage[1] = {0}; // Used to store value before being sent through the NRF24L01

RF24 radio(8, 9); // NRF24L01 used SPI pins + Pin 9 and 10 on the NANO

const uint64_t pipe = 0xE6E6E6E6E6E6; // Needs to be the same for communicating between 2 NRF24L01

const int but_0 = 6;
const int but_1 = 5;
const int but_2 = 4;
const int but_3 = 3;
const int but_4 = 2;

void setup(void) {
  Serial.begin(9600);
  Serial.println("start");

  pinMode(but_0, INPUT_PULLUP);
  digitalWrite(but_0, HIGH);
  pinMode(but_1, INPUT_PULLUP);
  digitalWrite(but_0, HIGH);
  pinMode(but_2, INPUT_PULLUP);
  digitalWrite(but_0, HIGH);
  pinMode(but_3, INPUT_PULLUP);
  digitalWrite(but_0, HIGH);
  pinMode(but_4, INPUT_PULLUP);
  digitalWrite(but_0, HIGH);

  radio.begin(); // Start the NRF24L01
  radio.openWritingPipe(pipe); // Get NRF24L01 ready to transmit
}

void loop(void) {
  if (!digitalRead(but_0)) {
    SentMessage[0] = 0;
    radio.write(SentMessage, 1); // Send value through NRF24L01
    Serial.println("0");
  }
  if (!digitalRead(but_1)) {
    SentMessage[0] = 1;
    radio.write(SentMessage, 1);
    Serial.println("1");
  }
  if (!digitalRead(but_2)) {
    SentMessage[0] = 2;
    radio.write(SentMessage, 1); // Send value through NRF24L01
    Serial.println("2");
  }
  if (!digitalRead(but_3)) {
    SentMessage[0] = 3;
    radio.write(SentMessage, 1);
    Serial.println("3");
  }
  if (!digitalRead(but_4)) {
    SentMessage[0] = 4;
    radio.write(SentMessage, 1);
    Serial.println("4");  
  }
  delay(200);
}

Und hier der Slave Sketch:
Code:
#include "nRF24L01.h" // NRF24L01 library created by TMRh20 https://github.com/TMRh20/RF24
#include "RF24.h"
#include "SPI.h"

const int buzzer = 5;
const int board = 2;     // 1-4

int ReceivedMessage[1] = {000}; // Used to store value received by the NRF24L01

RF24 radio(8, 9); // NRF24L01 used SPI pins + Pin 9 and 10 on the UNO

const uint64_t pipe = 0xE6E6E6E6E6E6; // Needs to be the same for communicating between 2 NRF24L01
const int divider = 16;

void setup(void) {
  CLKPR = 0x80;
  CLKPR = 0x04;
  
  Serial.begin(9600);
  Serial.println("start");
  
  pinMode(buzzer, OUTPUT);
  digitalWrite(buzzer, LOW);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);

  radio.begin(); // Start the NRF24L01

  radio.openReadingPipe(1, pipe); // Get NRF24L01 ready to receive

  radio.startListening(); // Listen to see if information received
}

void loop(void) {

  while (radio.available())
  {
    radio.read(ReceivedMessage, 1); // Read information from the NRF24L01
    Serial.println(ReceivedMessage[0]);

    if (ReceivedMessage[0] == board) {
      for (int i = 0; i < 1; i++) {
        digitalWrite(buzzer, HIGH);
        delay(100/divider);
        digitalWrite(buzzer, LOW);
        delay(100/divider);
      }
      Serial.println("board");
    }
    else if (ReceivedMessage[0] == 0) {
      for (int i = 0; i < 2; i++) {
        digitalWrite(buzzer, HIGH);
        delay(100/divider);
        digitalWrite(buzzer, LOW);
        delay(100/divider);
      }
      Serial.println("all");
    }
    delay(10/divider);
  }
}

Jetzt das Problem:
Der Stromverbrauch ist zu hoch und ich weiß nicht ob ich ihn genügend drücken kann. Ich würde im Durchschnitt ungefähr 0,6 mA benötigen.
Ich habe bereits die Power LED und den Spannungsregler ausgelötet, trotzdem benötigt das ganze rund 1,5 mA bei folgendem Sketch bei dem der Arduino die ganze Zeit im Deep Sleep ist.

Code:
#include<avr/sleep.h>

void setup() {
  
  CLKPR = 0x80;
  CLKPR = 0x04;
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  sleep_enable();
  sleep_cpu();
}

void loop() {
  // put your main code here, to run repeatedly:
}


Deswegen die Frage, ob ich noch weiter versuchen soll den Stromverbrauch zu drücken oder mich damit abzufinden, dass der Akkubetrieb für mich nicht sinnvoll ist.

LG louard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2020, 18:49
Beitrag #14
RE: Stromsparender Microkontroller für Akkubetrieb
Zitat:Jetzt das Problem:
Der Stromverbrauch ist zu hoch und ich weiß nicht ob ich ihn genügend drücken kann. Ich würde im Durchschnitt ungefähr 0,6 mA benötigen.
Ich habe bereits die Power LED und den Spannungsregler ausgelötet, trotzdem benötigt das ganze rund 1,5 mA bei folgendem Sketch bei dem der Arduino die ganze Zeit im Deep Sleep ist.

Was ist denn mit den anderen angeschlossenen Modulen, z. B. dem Transceiver? Schreib mal, welche Komponenten Du alles hast. Kann sein, Du brauchts für die Peripherie einen eigenen Wandler, der auf der Batterie-Seite per Transistor vom Arduino ein und -ausgeschaltet wird.

Gruß
GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2020, 19:14
Beitrag #15
RE: Stromsparender Microkontroller für Akkubetrieb
Angeschlossen ist an dem Arduino(Slave) ein NRF24L01 Modul und ein piepser, sonst erstmal nichts, später kommt noch eine LED dazu, allerdings sollte die nicht ins gewicht fallen weil der Arduino ja meistens im Deep Sleep sein sollte(z.B. 4s sleep dann 1*überprüfen ob etwas empfangen wird).

Ich habe vergessen zu sagen, dass Master nicht im Akku betrieb laufen wird.

Den stromverbrauch des NRF24L01 Moduls kan ich messen indem ich mein Multimeter zwischen GND Arduino und GND des Moduls klemme?

LG louard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2020, 19:18
Beitrag #16
RE: Stromsparender Microkontroller für Akkubetrieb
Zitat:Jetzt das Problem:
Der Stromverbrauch ist zu hoch und ich weiß nicht ob ich ihn genügend drücken kann. Ich würde im Durchschnitt ungefähr 0,6 mA benötigen.
Ich habe bereits die Power LED und den Spannungsregler ausgelötet, trotzdem benötigt das ganze rund 1,5 mA bei folgendem Sketch bei dem der Arduino die ganze Zeit im Deep Sleep ist.

Was ist denn mit den anderen angeschlossenen Modulen, z. B. dem Transceiver? Schreib mal, welche Komponenten Du alles hast. Kann sein, Du brauchts für die Peripherie einen eigenen Wandler, der auf der Batterie-Seite per Transistor vom Arduino ein und -ausgeschaltet wird.

Gruß
GuaAck
Den Zweiten Teil deiner Antwort verstehe ich nicht

LG louard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Akkubetrieb und USB kommunikation gleichzeitig kartoffelsuppe 1 2.506 11.06.2015 21:52
Letzter Beitrag: Thorsten Pferdekämper
  Stromsparender Mikrocontroller Xtremefly 1 2.015 12.03.2015 10:41
Letzter Beitrag: Xtremefly

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste