Mysteriöses Problem mit Bewässerung

Tach,
ich wollte jetzt meine, letztes Jahr gebaute, Pflanzenbewässerung in Betrieb nehmen, erstmal ohne Feuchtesensor.
Allerdings habe ich jetzt das seltsame Problem dass die Pumpe meistens nicht richtig pumpt sondern nur für die vorgesehene Zeit summt oder nur mit 5% der Kraft läuft.

Ich habe schon sämtliche Bauteile in der Schaltung getauscht, sie etwas umgestaltet, verschiedene USB Kabel und Steckdosen versucht, den Basis Widerstand entfernt, den Taster entfernt und per Timer ausgelöst. Meistens ging es dann wieder wie es soll, also alles zurück gebaut wie es war und es ging immer noch. 10 Minuten später ging es auch noch, egal ob ich sie zwischenzeitlich ausgesteckt hatte oder nicht. Doch ca. 30 Minuten später ging es wieder nicht mehr und dann auch nie wieder. Bis ich das Minus Kabel von der Pumpe für nur 1/4 Sekunde hinter den Transistor stecke. Dann pumpt es sofort, aber vor allem funktioniert es dann auch wieder korrekt über den Taster und lässt sich so auch immer reproduzieren.
Ich kann mir das absolut nicht erklären, es scheint ja schon alles richtig zu sein und es funktioniert ja erstmal auch.

int PumpePin = 4;
int buttonPin = 8;
const long giessdauer = 1900;

void setup(){
pinMode(PumpePin,OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop(){
if (digitalRead(buttonPin) == LOW) {giessenManuell();}
}

void giessenManuell(){
  digitalWrite(PumpePin,HIGH);
  delay(giessdauer);
  digitalWrite(PumpePin,LOW);
}

Koordination!
Disziplin!

Systematik

Im Moment kann ich dir nur sagen:
Du hast mein volles Mitgefühl.

Da hast du wohl ein Problem mit deiner Pumpe und deren Ansteuerung, ich weiß nicht, was für eine Pumpe du hast eventuell sitzt sie fest und braucht einen Höheren Strom, als dein Transistor schaltet.

Außerdem versorgst du deinen Aufbau per USB, je nach Qualität des Kabels kann es sein, dass die Spannung am Arduino, wenn du die Pumpe einschaltest extrem einbricht. Das kannst du mit nem Multimeter überprüfen. Ich würde mal ein externes Netzteil probieren.

Das Entfernen des Basiswiderstands kann deinen Transistor und Arduino zertstören, da nichts den Strom vom Arduino in den Transistor begrenzt. Für deine Anwendung empfehle ich eher einen Logiclevel N-ch MOSFET.

In dem Fritzingschaltbild schaltet der Taster nach 5V, in deinem Programm fragst du den Taster nach LOW ab, stimmt das so?

Auch solltest du mal verraten, welchen Transistor du verwendest.

Edit: Ich habe mal den Transistor richtig rum gedreht und teste mal, hatte das aber eigentlich die letzten Tage schon versucht.

Ich hab es jetzt mal mit einem Arduino Uno versucht, mit USB und DC Netzteil.
In beiden Fällen brachte ich die Pumpe nicht zum laufen und nur manchmal zum leise Geräusche machen.
Überbrücke ich den Transistor läuft sie problemlos. Zurück auf den Nano gebaut, läuft sie aber jetzt auch nicht mehr noch einige Minuten nach dem überbrücken ::slight_smile: Mit LED statt Pumpe geht es, scheint auch nach längerer Zeit nicht dunkler zu leuchten. Ich schätze der Transistor gibt nur so 120mA her, Multimeter hab ich nicht um es ganz genau zu wissen.

Mein Transistor 2N5551 sollte bis 600mA können und die Pumpe 130-220mA brauchen.
Den hatte ich damals genommen da er in mehreren Tutorials mit der gleichen Pumpe verwendet wurde.
Er sollte ja theoretisch dafür auch gut passen oder? Vielleicht braucht die Pumpe zum Anlaufen deutlich mehr? Erklärt aber auch nicht so ganz warum es bei anderen und bei mir zeitweiße ging. Wenn es für euch in dem Fall aber nur am Transistor liegen kann, würde ich mir ein MOSFET besorgen. Den IRF520 aus dem Starterkit?
Wobei über USB auch nur 500mA gehen, was schon weniger als der Transistor wäre, wobei vielleicht für 2 Sekunden auch mehr gezogen werden kann… Wäre schade wenn ich den Nano nicht verwenden kann oder dafür 2 Nutzteile brauche.

Das mit HIGH und LOW vertauscht passt so, ich verwende den Taster als Modul.

Welchen Basiswiderstand verwendest Du mit dem 2N5551?
Grüße Uwe

Das du den Transistor falsch angeschlossen hast, hast du offensichtlich schon gemerkt.
Evtl. ist der dabei schon gestorben.

Teste einfach mal mit einer Led am Kollektor, statt der Pumpe.

uwefed:
Welchen Basiswiderstand verwendest Du mit dem 2N5551?

680Ohm, aber auch schon niedrigere und nur eine Drahtbrücke.

Das mit der Transistor Richtung hatte ich bemerkt und bereits den Post bearbeitet.
Ist allerdings noch nicht die Lösung, ich teste noch etwas weiter, mit 150Ohm und Uno über DC scheint es jetzt schon mal dauerhaft zu gehn.

Welchen Post hast du überarbeitet ?
In deinem Bild des Eingangspost ist der Transistor noch falsch eingesetzt.

HotSystems:
Welchen Post hast du überarbeitet ?

Meinen zweiten Post (#4), wo ich dir antworte welchen Transistor ich habe. Auch das mit der LED erwähnte ich da bereits. Aber macht nichts, das Problem ist gelöst sowie es aussieht :slight_smile:
Die 680Ohm Basiswiederstand waren zu viel, auch mit 470 lief die Pumpe noch nicht. 470 bis 1000 war damals empfohlen. Mit 270Ohm ist jetzt alles okay, auch am Nano über USB.
Genau als ich die kleineren Widerstände getestet hatte, war wohl der Transistor falschrum eingebaut, was dann zum gleichen Verhalten wie mit zu hohem Widerstand führte und so nicht auffiel. Ich glaub zwar Widerstände und Transistor auch früher schon mehrfach im Betrieb geändert zu haben ohne dass es zu Lösung kam aber okay Hauptsache es ist nicht mehr völlig grundlos ohne Betrieb. Danke für eure Hilfe und noch ein schönen Abend!

Der 2N5551 hat wenig Stromverstärkung darum kann ein zu großer Basiswiderstand
Nimm besser eiinen PP-N-MOSFET

Grüße Uwe

LL-N-FET (Logik Level) :wink:
Da kann man (zur Not) auch auf den Gate-Widerstand verzichten, 300Ω schaden aber in keinster Weise und schützen den Arduino-Pin, sollte Es den FET zerlegen.

MfG

Hier eine (schon etwas ältere) Übersicht über gängige MOSFET.

Ich würde den IRLZ44 empfehlen. Das ist so ein Allroundtyp.

Vor dem 300 Ohm Widerstand noch einen 100kOhm nach GND, damit er sicher gesperrt ist, wenn der Arduino nichts ausgibt (abgeklemmt oder beim Booten)

Gruß Tommy

Einfach nachbauen:

Erprobt und funktioniert.