Problem mit Stromversorgung/Pulldown-Widerständen

Hallo zusammen!

An einem Nano V3-Klon, welcher mittels VIN 12V von einem Solarladeregler gespeist wird, hängen

1x 4-Relais-Karte --- Stromversorgung über LM2596S Input 12v Output 5V
1x Feuchtesensor --- Stromversorgung über LM2596S Input 12v Output 5V
1x Bluetooth-Modul --- Stromversorgung über LM2596S Input 12v Output 3,3V
1x OLED 128x64 --- Stromversorgung 3,3V über Nano

5 Digitale Eingänge sind über Pulldown-Widerständen mit 4 Schwimmern und einem Schalter verbunden.

Aus der Kombination verschiedener Schwimmer-, Feuchtewert, und Schalter Konstellationen, werden unterschiedliche Schaltvorgänge auf der Relaiskarte vorgenommen.

Und jetzt zum Problem:

So lange der Nano zusätzlich noch am USB Stecker hängt, egal ob am PC oder einen der 2 USB Buchsen vom Laderegler funktioniert alles einwandfrei.

Wenn er allerdings nur noch über VIN Betrieben wird hat er ein Problem, wenn nur ein einziger Pulldown Widerstand aktiv ist - dann Schalten alle Relais gleichzeitig und das OLED wird dunkel. (Es sollten in der Situation 2 Relais schalten [Die Relais sind LOW-schaltend]).

Wenn mindestens 2 Pulldown-Widerstände aktiv sind funktioniert alles.

Vielen Dank im Voraus für Eure Hilfe!

Du solltest uns dein Schaltbild zeigen und auch deinen Sketch.
So wie es auf den ersten Blick aussieht, hast du ein Problem mit der Spannungsversorgung.
In deinem Fall sind die 12 V am Vin zu viel und der Strom an 3,3 Volt zu hoch.
Versorge den Vin mit 7, 5 - 9 Volt und die 3,3 Volt extern aus einem zusätzlichen Stepdown-Regler.
Oder du gehst auch mit den 5V auf den 5V-Pin des Nano.

Hi

Ich schlage in die gleiche Richtung:
Wenn Du doch schon Schaltregler hast, um 5V, 3.3V zu erzeugen, warum benutzt Du Diese nicht auch für den Nano?
Aktuell muß der Nano aus den 12V (wenn Er direkt am Akku hängt, bis zu 14,4V - Wert wird einstellbar sein, je nach Akku-Typ auch mehr) Seine 5V machen.
Aus diesen 5V macht Er/oder ein weiterer Spannungsregler auch die 3.3V.
ALLES, was Da 'zu viel' ist, wird in Wärme umgesetzt - hier sind Längsregler verbaut, Du selber benutzt aber Schaltregler, um nicht unnötig Strom zu verheizen - gönne Deinem Nano Deine Einstellung ;).
ALLES, was aus dem 3.3V-Pin gezogen wird, muß auch durch den 5V-Spannungsregler.

ACHTUNG bei den 'üblichen LM2596S-Platinen': die Stromregelung funktioniert NICHT mehr, wenn man Mehrere zusammen schaltet, da Diese jeweils über eine Leiterbahn als Shunt vor dem GND-OUT den eigenen Strom erfassen.
Wenn die GND verbunden werden, fließt der Strom aber 'egal woher' wieder zurück.
Die GND musst Du aber verbinden, da Du ein gemeinsamen Ground (.. GrouND) benötigst.
Wenn Du nur die Spannung einstellst, die Stromregelung also auf 'volle Pulle' steht (oder gar nicht vorhanden ist, bei Reglern mit nur einem Poti), sollte Das funktionieren.
Ich hatte dort in meinem Windfang kleinere Probleme, weil ich mehr Strom brauchte, als die Einzel-Regler her gaben - mittlerweile benutze ich dort einen wesentlich größeren SteppDN - mindestens zwei der LM2596 sind bei meinen Versuchen geruchsvoll in die ewigen Elektronik-Jagdgründe gegangen, bis zu Vier hatte ich 'kombiniert' - sobald der erste stirbt, folgt der Rest recht schnell.

MfG

Zudem ist die Erklärung "Pulldown aktiv" etwas merkwürdig.
Ein Pulldown-Widerstand ist ein passives Bauteil, wie kann der aktiv sein.

Wenn der den richtigen Wert und richtig angeschlossen ist, dürfte der Strom keine Rolle spielen.

Also alles nicht so deutlich, umso mehr ist es wichtig, hier ein Schaltbild zu sehen.
Evtl. erkennst du darin selbst deinen Fehler.

Hallo, erstmal vielen Dank für Eure Anregeungen.

HotSystems:
Du solltest uns dein Schaltbild zeigen und auch deinen Sketch.

Habe dieses Wochenende leider sehr wenig Zeit und ehrlich gesagt noch nie einen Schaltplan gezeichnet,
aber ich werde es zeitnah versuchen. Den Sketch gibts dann dazu.

HotSystems:
In deinem Fall sind die 12 V am Vin zu viel und der Strom an 3,3 Volt zu hoch.
Versorge den Vin mit 7, 5 - 9 Volt und die 3,3 Volt extern aus einem zusätzlichen Stepdown-Regler.

Habe ich probiert, aber das Problem bleibt das gleiche.

HotSystems:
Oder du gehst auch mit den 5V auf den 5V-Pin des Nano.

Nein - wäre es sinnvoll den Nano nicht über VIN anzuschließen sondern mit 5V vom StepDown in den 5v Pin des Nano zu gehen?

postmaster-ino:
ACHTUNG bei den 'üblichen LM2596S-Platinen': die Stromregelung funktioniert NICHT mehr, wenn man Mehrere zusammen schaltet, da Diese jeweils über eine Leiterbahn als Shunt vor dem GND-OUT den eigenen Strom erfassen.
Wenn die GND verbunden werden, fließt der Strom aber 'egal woher' wieder zurück.
Die GND musst Du aber verbinden, da Du ein gemeinsamen Ground (.. GrouND) benötigst.
Wenn Du nur die Spannung einstellst, die Stromregelung also auf 'volle Pulle' steht (oder gar nicht vorhanden ist, bei Reglern mit nur einem Poti), sollte Das funktionieren.

Die LM2596S-Platinen hängen parallel an den 12V vom Solarladeregler, nicht in Reihe, falls Du das meinst und haben somit auch eine gemeinsame Ground.

HotSystems:
Zudem ist die Erklärung "Pulldown aktiv" etwas merkwürdig.
Ein Pulldown-Widerstand ist ein passives Bauteil, wie kann der aktiv sein.

Wenn der den richtigen Wert und richtig angeschlossen ist, dürfte der Strom keine Rolle spielen.

Also alles nicht so deutlich, umso mehr ist es wichtig, hier ein Schaltbild zu sehen.
Evtl. erkennst du darin selbst deinen Fehler.

Tut mir Leid, ich habe da etwas meine Probleme, mich fachgerecht auszudrücken,
Ich meinte damit, das nur ein Kreislauf geschlossen ist (über einen Schwimmerschalter).
Es sind 10K Widerstände verbaut.
Das mit dem Schaltbild werde ich wie gesagt noch versuchen auf die Reihe zu bekommen.

Hi

Schon klar, daß die LM2596S parallel an dem Solar-Akku hängen.
Jeder für Sich erzeugt Seine Spannung - z.B. 3,3V oder 5V.
Das ist auch noch kein Problem - kann Es aber werden, wenn Du die GND der Ausgangsspannung verbindest.
Das wiederum MUSST Du, damit die ganzen Elektroniken einen gemeinsamen GND haben.
Auf den Platinchen ist, wenn die Platine über eine Strom-Regelung verfügt, am GND-OUT eine dünne Leiterbahn, Die als Shunt dient.
Die hier abfallende Spannung ist proportional zum durch dieses Stück fließende Strom - der Schaltregler stellt hiermit den von Ihm abgegebenen Strom ein.
Wenn die GND_Out verbunden sind, sucht sich der Strom aber Seinen Weg zurück, so kann der Shunt mit dem geringstem Widerstand mehr Strom fließen lassen und der darauf achtende Schalt-Regler erkennt 'zu viel Strom' und schaltet darauf hin SEINEN Stromfluß zurück - Das ändert aber nicht viel am Stromfluß durch SEINEN GND-Shunt (Der ist ja immer noch der Niedrichte).
Somit schaltet dieser Regler ab, sieht aber immer noch 'Strom ohne Ende' - Der muß derweil von 'den Anderen' kommen - Denen 'fehlt Strom auf der GND-Leitung' - worauf Diese 'aufdrehen'.
Bei dem einen Regler schmilzt Dir die Shunt-Leiterbahn, bei den anderen Reglern stirbt der IC wegen Überhitzung.

... wenn Du die Strom-Regelung benutzt (oder der Schaltregler eben darüber auf die maximalen 2...3A begrenzt)

Der GND auf den Schaltregler-Platinen ist 'nur durchgeschliffen' (mit Ausnahme der Shunt-Leiterbahn, zugegeben) - aktiv gearbeitet wird NUR auf der Plus-Seite, gemessen aber auf der Minus-Seite (ist dort einfacher - hebt aber das eigene GND-Potential an).

MfG

@postmaster-ino

Hi!
Das ist ja eine total interessante Geschichte.
Und sogar logisch. Durch und durch.

Wenn da nicht die eine (meist) falsche Annahme wäre, von der alles abhängt.......

Auf den Platinchen ist, wenn die Platine über eine Strom-Regelung verfügt, am GND-OUT eine dünne Leiterbahn, Die als Shunt dient.

Hi

Auf ‘Meinen’ ist diese Leiterbahn vorhanden, selber habe ich deshalb schon ‘Licht- und Toneffekte’ erzeugt und wollte diese Erfahrung Anderen kund tun - muß ja nicht Jeder seine eigenen Schaltregler zum Anheben der Raum-Temperatur oder als Test-Methode für den Rauchmelder nutzen.

Warten wir Mal auf das Schaltbild - vll. gibt’s auch einen Link zu den Schalt-Reglern.
Mit den bisherigen Angaben kommt man nämlich nur zum Datenblatt des eigentlichen IC, Der auf mannigfaltigen Platinen verbaut wird und wo Es wohl auch Platinen ohne diese Shunt-Leiterbahn gibt.

MfG

wo Es wohl auch Platinen ohne diese Shunt-Leiterbahn gibt.

Genau das ist der Punkt!
Bei diesen Reglern darf man sehr wohl alle GND zusammenlegen.
Aber nicht die OUT+

Faustregel:
Ist der Strom des Boards einstellbar, dann hat es einen Shunt. Dann darf man weder die GND noch die OUT+ zusammenlegen.

Hallo,
Hab ich das richtig gelesen die Pull down sind 10k
Ich denke das ist viel zu hoch zudem vermute ich es stimmt was nicht mit deinem gemeinsamen Null

Du solltest Mal die Pegel messen

Heinz

Hallo zusammen, das Problem lag wohl an der Batterie.

Am Solarladergler sind aktuell noch keine Solarmodule angeschlossen.
Die Batterie hatte eine Spannung von 12,5 Volt als es zu dem Problem kam.

Ich habe sie heute mit einem Ladegerät auf 13,2 Volt aufgeladen und jetzt klappt alles.
Zusätzlich habe ich noch Euren Rat befolgt und speise die VIN Leitung jetzt auch über einen LM2596S mit 7,5V.

Den 3,3V Pin nutze ich jetzt auch nicht mehr, sondern versorge das OLED jetzt auch über den schon vorhandenen 3,3V LM2596S Spannungswandler.

Der Spannungswandler ist der folgende Amazon-Link
Da sehe ich keine Probleme, jeder Wandler stellt die gewünschte Spannung zur Verfügung ohne heiß zu werden.

Jetzt bin ich wohl doch noch drum herum gekommen den Schaltplan zu zeichnen.

Vielen Dank für Eure Ratschläge, ist mir schon fast bißchen peinlich, dass ich Euch mit dem Problem konfrontiert habe.
Da hätte wahrscheinlich etwas mehr Info zur Ausgangssituation schneller zum Ziel geführt.

Den Sketch möchte ich Euch trotzdem nicht vorenthalten, ist zwar mit Sicherheit noch optimierbar,
aber letzten Endes ist ja nur wichtig, dass alles so funktioniert, wie es soll.
Das soll Euch aber nicht davon abhalten Kritik zu üben.

//  A1 mit AOUT vom Feuchtigkeitssensor verbinden

//  A4 mit SDA vom OLED verbinden
//  A5 mit SCL vom OLED verbinden

//  7 wird mittels Bluetooth auf LOW oder HIGH gesetzt
//  2,3,5,6,9 ---Verkabelung--- Ground - 10K Widerstand - PinX - ein Kabel vom Schwimmer/Schalter; anderes Kabel an VCC (Pulldown)
//  10 mit IN1 vom Relais - MvAuto
//  11 mit IN2 vom Relais - MvGiessen
//  12 mit IN3 vom Relais - Pumpe

char blueToothVal; //Werte sollen per Bluetooth gesendet werden
char lastValue;   //speichert den letzten Status der LED (on/off)

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Eingänge
#define FeuchtePin A1
#define SchwimmerPin50 2
#define SchwimmerPin75 3
#define SchwimmerPin25 6
#define SchwimmerPin0 5
#define SchalterPin 9
int SchwimmerWert0;
int SchwimmerWert25;
int SchwimmerWert50;
int SchwimmerWert75;
int Schalter = 0;
int FeuchteWert = 0;
int Balken = 0;


// Ausgänge
#define BtPin 7
#define MvAutoPin 10
#define MvGiessenPin 11
#define PumpenPin 12

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

void setup()
{
  //Relaisausgänge auf HIGH setzen um ein Schalten beim booten zu vermeiden
  digitalWrite(MvAutoPin, HIGH);
  digitalWrite(MvGiessenPin, HIGH);
  digitalWrite(PumpenPin, HIGH);
  digitalWrite(BtPin, HIGH);

  pinMode(Schalter, INPUT);
  pinMode(SchwimmerPin0, INPUT);
  pinMode(SchwimmerPin25, INPUT);
  pinMode(SchwimmerPin50, INPUT);
  pinMode(SchwimmerPin75, INPUT);

  pinMode(MvAutoPin, OUTPUT);
  pinMode(MvGiessenPin, OUTPUT);
  pinMode(PumpenPin, OUTPUT);

  Serial.begin(9600);  //serieller Monitor wird gestartet, Baudrate auf 9600 festgelegt

  // initialize with the I2C addr 0x3C / mit I2C-Adresse 0x3c initialisieren
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.display();
  delay(200);
  display.clearDisplay();
}


void loop()
{
  digitalWrite(BtPin, HIGH);
  pinMode(BtPin, OUTPUT);

  //Auslesen der Eingänge
  FeuchteWert = analogRead(FeuchtePin);
  FeuchteWert = map(FeuchteWert, 567, 375, 0, 100);

  SchwimmerWert0 = !digitalRead(SchwimmerPin0);     // SchwimmerWert0 wird invertiert
  SchwimmerWert25 = !digitalRead(SchwimmerPin25);     // SchwimmerWert25 wird invertiert
  SchwimmerWert50 = !digitalRead(SchwimmerPin50);
  SchwimmerWert75 = !digitalRead(SchwimmerPin75);

  Schalter = digitalRead(SchalterPin);

  if (Serial.available()) //wenn Daten empfangen werden...
  {
    blueToothVal = Serial.read(); //..sollen diese ausgelesen werden
  }
  if (blueToothVal == '1') //wenn das Bluetooth Modul eine „1“ empfängt..
  {
    digitalWrite(BtPin, LOW);  //...soll das Relais geschlossen werden
    if (lastValue != '1') //wenn der letzte empfangene Wert eine „1“ war...
      Serial.println(F("Pumpe an")); //..soll auf dem Seriellen Monitor "Pumpe an" angezeigt werden
    lastValue = blueToothVal;
  }
  else if (blueToothVal == '0') //wenn das Bluetooth Modul „0“ empfängt...
  {
    digitalWrite(BtPin, HIGH); //...soll das Relais geöffnet werden
    if (lastValue != '0') //wenn der letzte empfangene Wert eine „0“ war...
      Serial.println(F("Pumpe aus")); //..soll auf dem seriellen Monitor "Pumpe aus" angezeigt werden
    lastValue = blueToothVal;
  }

  if (SchwimmerWert75 == 1) // 1= Schwimmer schwimmt Stromkreis ist unterbrochen
  {
    Balken = 112;
  }
  else if (SchwimmerWert50 == 1)
  {
    Balken = 80;
  }
  else if (SchwimmerWert25 == 1)
  {
    Balken = 48;
  }
  else if (SchwimmerWert0 == 1)
  {
    Balken = 16;
  }
  else
  {
    Balken = 0;
  }
  // Automatische Bewässerung
  if (FeuchteWert < 50 && SchwimmerWert0 == 1 && Schalter == 0)
  {
    delay(200);
    digitalWrite(MvAutoPin, LOW);            // MV für automatische Bewässerung offen  (IN1) 10
    digitalWrite(MvGiessenPin, HIGH);        // MV Gartenschlauch zu                   (IN2) 11
    digitalWrite(PumpenPin, LOW);            // Pumpe an                               (IN3) 12
    display.clearDisplay();
    display.setCursor(1, 0);
    display.println("Automatikbetrieb");
    display.setCursor(1, 22);
    display.println("FeuchteWert: ");
    display.setTextSize(2);
    display.setCursor(80, 19);
    display.println(FeuchteWert);
    display.setTextSize(1);
    display.setCursor(1, 44);
    display.println("F\201llstand Tonne:");
    display.drawRect(0, 57, 128, 7, WHITE);
    display.fillRect(0, 57, Balken, 7, WHITE);
    display.display();
    delay(200);
  }

  //Giessen mit Schlauch
  else if (SchwimmerWert0 == 1 && Schalter == 1)
  {
    delay(200);
    digitalWrite(MvAutoPin, HIGH);           // MV für automatische Bewässerung zu     (IN1) 10
    digitalWrite(MvGiessenPin, LOW);         // MV Gartenschlauch offen                (IN2) 11
    digitalWrite(PumpenPin, LOW);            // Pumpe an                               (IN3) 12
    display.clearDisplay();
    display.setCursor(1, 0);
    display.println("Giessen mit Schlauch");
    display.setCursor(1, 22);
    display.println("FeuchteWert: ");
    display.setTextSize(2);
    display.setCursor(80, 19);
    display.println(FeuchteWert);
    display.setTextSize(1);
    display.setCursor(1, 44);
    display.println("F\201llstand Tonne:");
    display.drawRect(0, 57, 128, 7, WHITE);
    display.fillRect(0, 57, Balken, 7, WHITE);
    display.display();
    delay(200);
  }

  // Keine Bewässerung
  else
  {
    delay(200);
    digitalWrite(MvAutoPin, HIGH);           // MV für automatische Bewässerung zu     (IN1) 10
    digitalWrite(MvGiessenPin, HIGH);        // MV Gartenschlauch zu                   (IN2) 11
    digitalWrite(PumpenPin, HIGH);           // Pumpe aus                              (IN3) 12
    display.clearDisplay();
    display.setCursor(1, 0);
    display.println("Keine Bewaesserung");
    display.setCursor(1, 22);
    display.println("FeuchteWert: ");
    display.setTextSize(2);
    display.setCursor(80, 19);
    display.println(FeuchteWert);
    display.setTextSize(1);
    display.setCursor(1, 44);
    display.println("F\201llstand Tonne:");
    display.drawRect(0, 57, 128, 7, WHITE);
    display.fillRect(0, 57, Balken, 7, WHITE);
    display.display();
    delay(200);
  }
}

Am Solarladergler sind aktuell noch keine Solarmodule angeschlossen.
Die Batterie hatte eine Spannung von 12,5 Volt als es zu dem Problem kam.

Da mußt Du etwas unternehmen.

Für einen 12V Bleiakku sind Entladeschlußspannungen von 10,5V zulässig, dh er kann bis 10,5V entladen werden. Ein Bleiakku ist bei 12,5V Klemmspannung noch fast voll.

Du mußt die Schaltung modifizieren damit die Schaltung bis 10,5V funktionieren.

Grüße Uwe

Und du solltest ein Schaltbild zeichnen, das hilft dir auch bei späteren Fehlern und Änderungen.
So weißt du immer, wie es sein muss.
Ein Schaltbild ist ein muss, bei dr Fehlersuche.