Hallo Zusammen, ich bitte einen 3Pin Lüfter an einem Arduino. Mein PWM Signal bekomme ich von Pin 5, Tachosignal hängt an Pin 2 des Arduino. Nun bitte ich den Timer 0, damit unter anderem der Lüfter nicht pfeifft und gleichmäßig dreht. Dabei ist mir aufgefallen, dass dabei mein Tachosignal verfälscht ist und wesentlich höher ist als das tatsächliche Tacho Signal. Das passiert aber nur bei folgendem Befehl : TCCR0B = TCCR0B & 0b11111000 | 0x01; //Timer 0 (PWM pins 5 & 6) Ohne den Befehl bekomme ich ein sauberes Tachosignal. Mit dem Befehl läuft der Lüfter gleichmäßig und ohne pfeiffen, dafür ist der Tachowert verfälscht und und viel höher. Weiss jemand, wie ich das programmiertechnisch lösen könnte oder woran das liegt ?
Hans schrieb: > 3Pin Lüfter Lass mich raten... Du verwendest einen N-Kanal mosfet und schaltest dem Tachosignal damit dem Bezug (gnd)weg
Genau, ein NPN2222. Es könnte aber auch sein, dass die Codezeile oben delay millis beeinflusst, denn Timer0 beeinflusst nicht nur die Pins 5 und 6. Und ich verwende zum Auslesen des Tachos die Funktionen Miklos, etc.
Wenn du dem Lüfter den GND wegschaltest (über das PWM) dann floatet dein Tachsignal irgendwo rum und produziert komische Pegel was du einen falsch ausgelesenem Tachsignal resultiert.
Das Ergebnis ist aber nicht irgend ein Wert sondern ca. 40 Prozent höher
Hans schrieb: > Das Ergebnis ist aber nicht irgend ein Wert sondern ca. 40 Prozent > höher Ab nur genau jetzt in diesem Moment. Sowie sich was auch nur minimalst ändert hast du einen beliebig anderen Wert. Durch deine Fehlerhafte Ansteuerung Überlagen sich hier zwei Frequenzen. Hänge mal ein Oszi an beide, dann siehst du den Stuss der das auskommt. Da langt schon ein ganz leichtes Abbremsen mit dem Finger, eine alterung des Lüfters, eine Veränderung der PWM-Freq., des PWM-Tastverhältnisses usw. und es kommt irgendwas ganz anderes dabei raus. Möglichkeiten unter anderem: - Versuchen das ganze High-Side zu schalten (zuvor mal Testen ob das Sensorsignal auch im Stromlosen Zustand überhaupt sauber detektiert werden kann). - Mit einer Gleichspannung anzusteuern. - Auf die Drehzahlmessung verzichten. - Einen Vier-Pin Lüfter verwenden. Die sind dafür gebaut PWM gesteuert zu werden und gleichzeitig die Drehzahlmessung zu ermöglichen (spart nebenbei gleich noch irgendwelche Transistoren zur Ansteuerung ein).
Beitrag #6188230 wurde von einem Moderator gelöscht.
Oder ich nehme einen einfachen drehpoti und Stelle damit die Spannung ein. Das wäre am einfachsten ...
Ich könnte das pwm sich einfach nur nutzen, um das Teil über den Transistor einzuschalten ohne Drehzahleinstellung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.