Forum: Mikrocontroller und Digitale Elektronik Arduino Uno PWM Lüfter beeinflusst Tachosignal


von Hans (Gast)


Lesenswert?

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 ?

von Timmo H. (masterfx)


Lesenswert?

Hans schrieb:
> 3Pin Lüfter

Lass mich raten... Du verwendest einen N-Kanal mosfet und schaltest dem 
Tachosignal damit dem Bezug (gnd)weg

von Hans (Gast)


Lesenswert?

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.

von Timmo H. (masterfx)


Lesenswert?

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.

von Hans (Gast)


Lesenswert?

Das Ergebnis ist aber nicht irgend ein Wert sondern ca. 40 Prozent höher

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

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.
von Hans (Gast)


Lesenswert?

Oder ich nehme einen einfachen drehpoti und Stelle damit die Spannung 
ein. Das wäre am einfachsten ...

von Hans (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.