Ich bin absoluter Anfänger was Arduino betrifft. Ich wollte mir eine Lüftersteuerung für meine Ameisenfarm bauen und habe auf Youtube folgendes Video gefunden : Klick
In der Videobeschreibung ist der Bastelplan und der Sketch (kann nicht alles verlinken da ich neu bin)
Ich habe alle Bauteile (bis auf den Lüfter, da habe ich diesen : Klick genommen) ,gekauft die in der Videobeschreibung zu finden sind und alles 1:1 so zusammengebaut wie im Video/Bastelplan beschrieben.
Das Problem ist nun: der Lüfter läuft bzw. schaltet sich nur auf höchster Stufe (5/MAX) - also wenn die maximale Temp erreicht ist, bei Stufe 1-4 bleibt der Lüfter stehen. An was könnte das liegen? Danke und viele Grüsse
aaah sorry ... ich muss den Sketch überarbeiten, das ist nicht er Originale wie ich ihn verwende sondern ein geänderter weil ich herumprobiert habe ... EDIT: Sketch bearbeitet
Am Sketch rumprobieren ist immer gut, solange man nicht durcheinanderkommt.
Was macht denn die lcd-Anzeige? Zeigt die die erwarteten Stufen an?
Ich würde immer erstmal einen Einzeltest machen:
Kannst du deinen Lüfter mit deinem Mosfet-Modul überhaupt per PWM in der Drehzahl beeinflussen?
Wenn du statt des Mosfet eine LED mit Vorwiderstand für 5V anschließt, oder
Wenn du statt des Lüfters eine LED mit Vorwiderstand passend für 12V anschließt,
... kannst du deren Helligkeit ändern?
Jep, die LCD Anzeige funktioniert und zeigt auch je nach Temp die verschiedenen Lüfterstufen an... das klappt ...
Kannst du deinen Lüfter mit deinem Mosfet-Modul überhaupt per PWM in der Drehzahl beeinflussen?
Gute Frage ... Ich habe beim Kauf nur darauf geachtet das es ein 12V Lüfter mit 3 Pins ist, genau so wie der Lüfter den er verwendet ... der Unterschied (für mich) war nur die Grösse des Lüfters ...
Laut Artikelbeschreibung des Arctic F12 (den er verwendet) steht da "Art der Steuerung: Festdrehzahl" ... bei meinen kann ich so eine Angabe nicht finden ...
Solche Komponenten habe ich jetzt leider nicht zur Verfügung
Hast du mal versucht den Lüfter ganz simpel nur mit analogWrite anzusteuern? Also ohne die ganze Temperatur-Reglung.
Wenn ich mich recht entsinne, werden PC Lüfter mit 22kHz gesteuert. Der Uno Pin 9 ist Standart bei 490Hz. Aber das betrifft eigentlich nur das PWM-Signal für einen 4Pin Lüfter.
Edit: Ich habe übersehen, das die Frequenz im Sketch schon angepasst wird.
Auf dem MOSFET Modul ist ein IRF520 das ist kein Lowlevel MOSFET, je nach Model funktionieren die nicht sauber bei Arduino, mit ESP ist noch schlimmer. Bei IOR ist VGS(th) mit 2 bis 4V angegeben, andere Hersteller geben an 4 und 5V.
Stimmt nicht ganz so, es gibt 3 Pin Lüfter mit PWM, 3 Pin Lüfter mit RPM und so wie du schreibst 4 Pin mit VCC, GND, PWM und Tacho Signal(RPM), mittlerweile gibt's mehr als vier Sorten wo bei die neuen haben anderen Stecker damit man zB. PC Board nicht schrotet.
Also auch bei simplen Lüfter Datenblatt befragen.
Am einfachsten ist DC mit PWM steuern, und die "unbekannte" Pins nicht verwenden, das funktioniert immer, manchmal nicht im ganzen kompletten Drehzahlbereich
Man kann bei den Lüftern mit 3 Pin und Drehzahl Feedback auch die Versorgung mit PWM steuern, um die Drehzahl zu regulieren.
Nur kann das Feedback der Drehzahl, was üblicherweise über einen Hallsensor ermittelt wird, Fehlerhaft bei PWM Ansteuerung sein, da der Hallsensor im Moment der Messung zufällig keine 5V hat.
Da Feedback aber hier nicht angeschlossen bzw. nicht genutzt wird, ist das relativ egal.
const byte fanpin = 9;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
analogWrite(fanpin, 50);
delay(3000);
analogWrite(fanpin, 120);
delay(3000);
analogWrite(fanpin, 255);
delay(3000);
analogWrite(fanpin, 0);
delay(3000);
}