Hallo zusammen,
für ein aktuelles Projekt möchte ich ich einen 4-Pin-Gehäuselüfter über
die separate PWM-Leitung regeln.
Es handelt sich um einen Noctua NF A14 industrialPPC-3000 PWM.
Der Lüfter wird mit 12V betrieben und hat zusätzlich eine Leitung für
ein PWM-Signal, sowie eine Leitung für ein RPM-Signal, welches er zurück
meldet.
Aus dem Datenblatt des Lüfters ergibt sich folgendes:
PWM frequency = 18 KHz to 30KHz
High Level = 3.3V to 6V
Low Level = 0V to 0.4V
PWM Range = 20% to 100%
Nun würde ich gerne eine Schaltung aufbauen, welche den Lüfter zum einen
mit 12V versorgt, zum anderen jedoch auch ein PWM-Steuersignal an den
Lüfter sendet. Dazu habe ich bereits diverse Anleitungen im Netz
gefunden, welche auf den NE555 / TL494 setzen.
Ich möchte die Geschwindigkeit nun jedoch nicht über einen Poti regeln,
sondern wiederum selbst über ein Steuersignal.
Das Steuersignal liegt im Bereich von 0 - 4,2V an.
Das ausgegebene PWM-Signal muss sich im o.g. Rahmen bewegen.
Ist eine solche Schaltung für einen Anfänger wie mich umzusetzen, oder
sollte ich mich lieber nach Alternativen umschauen?
Die 12V des Lüfters zu pulsen ist keine Option, da dieser bereits eine
interne Regelelektronik besitzt.
Also zusammen gefasst:
Betriebsspannung Lüfter und IC: 12V
Steuerspannung IC: 0-4,2V
PWM-Frequenz: ~25kHz (fest eingestellt)
Wie müsste eine solche Schaltung aussehen und was gilt es dabei zu
beachten?
Eignet sich hier eher der NE555 oder der TL494 oder gar eine weitere
Alternative?
Danke für eure Hilfe!!
Philipp
Du brauchst den klassischen PWM Modulator, den man sich aus
Dreieckgenerator und Komparator zusammenstellen kann.
Ich häng dir mal ein Beispiel an, das ich mit LTSpice gehäkelt habe. Der
LT1017 ist ein normaler Dual Komparator. C1 bestimmt die PWM
Wiederholfrequenz und sollte von dir kleiner gewählt werden.
philipp schrieb:> Das Steuersignal liegt im Bereich von 0 - 4,2V an.> Das ausgegebene PWM-Signal muss sich im o.g. Rahmen> (PWM Range = 20% to 100%) bewegen.
Das was du suchst ist ein spannungs-gesteuerter PWM Generator.
Durch eine Eingangsspannung (Steuersignal) wird der PWM duty cycle
verändert.
Gebaut wir das aus:
1) Dreiecks-Generator
0-4,2V, 20kHz - dafür kann man z.B. einen NE555 einsetzten.
2) Komparator
Ein Operationsverstärker vergleicht Steuersignal mit Dreiecksignal
und erzeugt daraus eine PWM mit entsprechendem duty cycle.
Erklärt wird das im Detail hier:
http://pcbheaven.com/circuitpages/Voltage_Controlled_PWM_Generator/http://pcbheaven.com/circuitpages/Triangle_Wave_Generator/
Oder wie Matthias S. schon oben schrieb. Verdammt schon wieder zu
langsam.
> gar eine weitere Alternative?
Immer doch. Praktisch ebenfalls das Gleiche wie oben nur in Software mit
Hilfe eines Mikrocontrollers.
Gebaut wird das so:
1) Mikrocontroller Arduino Nano (oder kleiner)
2) Steuersignal mit ADC0 (AD-Wandler Eingang 0) des µC verbinden
3) Ausgangssignal PWM mit irgendeinem PWM fähigen µC pin verbinden (OC1A
oder so)
4) Software: Timer als PWM Ausgang konfigurieren, ADC Wert einlesen auf
Bereich 20-100% duty cycle skalieren und in Timer PWM duty register
schreiben.
Erklärung:
https://www.youtube.com/watch?v=DAn4UguyzfE
(Nur das der µC Ausgang direkt dein PWM Signal ist. Der Herr hat einen
anderen Lüfter mit 2-Pins. Und am µC Eingang denkst du dir den
Spannungsteiler mit dem Temperatursensor weg und ersetzt den in Gedanken
mit deiner Steuerspannung.)
Zunächst mal Danke für eure Antworten.
Werde mich mal weiter in das Thema einlesen :)
Eine Frage noch:
Statt der o.g. Steuerspannung hätte ich auch die Möglichkeit, ein
PWM-Signal 3,3V @ 50KHz zur Steuerung zu nutzen.
Das würde die Schaltung aber vermutlich nur unnötig verkomplizieren,
oder?
philipp schrieb:> Statt der o.g. Steuerspannung hätte ich auch die Möglichkeit, ein> PWM-Signal 3,3V @ 50KHz zur Steuerung zu nutzen.> Das würde die Schaltung aber vermutlich nur unnötig verkomplizieren,> oder?
Wenn du den Motor sich auch etwas über der Spec betreiben lässt (also
mit 50kHz PWM, anstatt 30kHz) würdest du nur mit einer Spannungsanhebung
(3.3V -> 5V) hinkommen. Das sind dann wahlweise nur ein
nicht-invertierender Buffer [1] oder zwei Transistoren.
[1] http://www.ti.com/lit/ds/symlink/sn74lvc1g34.pdf
Wenn du es wirklich drauf anlegst für ein Einzelstück, kannst du dann
auch noch die min. High Level Schwelle des Motors (High Level = 3.3V to
6V) an/leicht unter der Grenze betreiben:
Dann reduziert sich deine Schaltung auf ein Stück Draht zwischen
PWM-Signal 3,3V @ 50KHz von der Steuerung zum Motor.
evtl. ist hier auch der LTC6992 interessant:
http://www.linear.com/product/LTC6992-1
PWM IC das per Widerstandskombo in der Frequenz eingestellt werden kann
und mit 0 .. 1 V von 0 .. 100 % gesteuert werden kann. (dazu noch sehr
schön klein ;) )
Vmax sind laut Datenblatt 6 V, wobei das die wirklich maximale Spannung
ist .. 5 Volt solltens maximal sein.
Daher nen 12 V Netzteil und nen Linearregler für die 5 V dahinter (oder
ne Spannungsreferenz, so der Strom ausreicht ;) )
Habe mich nun länger mit dem Thema beschäftigt und bin dabei auf diese
Anleitung zum ICM7555 gestoßen:
https://www.maximintegrated.com/en/app-notes/index.mvp/id/5718
Ganz grundsätzlich entspricht die Schaltung doch dem, was ich für mein
Vorhaben benötige, oder?
Die Control-Voltage entspräche dann den 0-4,2V und die
Versorgungsspannung wären 5V.
An Pin 3 kann ich dann die gepulsten 5V abfangen, richtig?
Wie müsste ich nun C1 wählen um auf eine Frequenz zwischen 18KHz und
30KHz zu kommen?
Welchen Zweck erfüllt R1 genau?
Ich bin noch auf einen anderen Ansatz aufmerksam gemacht worden.
philipp schrieb:> Zunächst mal Danke für eure Antworten.> Werde mich mal weiter in das Thema einlesen :)>> Eine Frage noch:> Statt der o.g. Steuerspannung hätte ich auch die Möglichkeit, ein> PWM-Signal 3,3V @ 50KHz zur Steuerung zu nutzen.> Das würde die Schaltung aber vermutlich nur unnötig verkomplizieren,> oder?
Wäre es auch mgölich, dass 3,3V PWM-Signal @ 50KHz über einen 2:1
Frequenzteiler auf 25KHz zu bringen?
Habe dazu ein wenig gesucht und bin dabei auf diese Seite gestoßen:
https://freegroup.github.io/draw2d_js.app.brainbox/assets/help/basics/part70/README/#sn-7490-als-teiler
Wenn ich das richtig verstehe, wäre das ja genau die Schaltung, welche
ich benötigen würde, oder?
Der passende IC müsste dann der SN74LS90 sein, richtg?
Dort würde ich an Pin5 5V Versorgungsspannung anlegen und an Pin 14 das
3,3V PWM-Signal @ 50KHz. An Pin 12 kann ich dann das PWM-Signal mit 3,3V
@ 25KHz abgreifen, korrekt?
Müsste noch einfacher sein, als über einen 555er Timer...
philipp schrieb:> Der passende IC müsste dann der SN74LS90 sein, richtg?
Der ist allerdings völlig veraltet und kommt auch mit 3,3V nicht richtig
klar. Heute würdest du entweder einen 74HC90 oder ein einfaches
Flipflop, wie den CD4013 benutzen. Allerdings mal dir mal bitte dein PWM
Signal auf und dann dazu das Schaltverhalten des Flipflop/Teiler ICs.
Am simpelsten ist vermutlich ein kleiner MC, wie der ATTiny13 oder
ATTiny25-85. Da ist der analoge Eingang fertig, der PWM Generator auch
und du brauchst lediglich einige wenige Programmzeilen. Da dann immer
noch ein paar Pins frei sind, sind auch Komfortfunktionen denkbar.
Die ganze Nummer besteht aus 2 Bauteilen (MC mit Abblock-C) plus IC
Sockel.
philipp schrieb:> Wenn ich das richtig verstehe, wäre das ja genau die Schaltung, welche> ich benötigen würde, oder?
Oder!
Durch Teilen geht die _W_eiten-Information von P_W_M verloren. Die
Frequenz ist ja konstant, und durch Teilen durch 2 bekommst du eine
25kHz-Rechtecksignal mit genau 50% Tastverhältnis.
Dietrich L. schrieb:> Oder!> Durch Teilen geht die _W_eiten-Information von P_W_M verloren. Die> Frequenz ist ja konstant, und durch Teilen durch 2 bekommst du eine> 25kHz-Rechtecksignal mit genau 50% Tastverhältnis.
Womit ich wieder am Anfang wäre... :D
MC möchte ich möglichst vermeiden und mich rein auf die Bauteile
beschränken, die zur Problemlösung nötig sind.
philipp schrieb:> Habe mich nun länger mit dem Thema beschäftigt und bin dabei auf diese> Anleitung zum ICM7555 gestoßen:> https://www.maximintegrated.com/en/app-notes/index.mvp/id/5718>> Ganz grundsätzlich entspricht die Schaltung doch dem, was ich für mein> Vorhaben benötige, oder?> Die Control-Voltage entspräche dann den 0-4,2V und die> Versorgungsspannung wären 5V.> An Pin 3 kann ich dann die gepulsten 5V abfangen, richtig?>> Wie müsste ich nun C1 wählen um auf eine Frequenz zwischen 18KHz und> 30KHz zu kommen?>> Welchen Zweck erfüllt R1 genau?
Würde gern noch einmal euer Feedback zu diesem Ansatz hören.
Okay, der nackte ATtiny wäre ggf. auch eine Alternative...
Kann ich hier die PWM-Frequenz au die geforderten 18-30KHz bringen?
Vom Arduino weiss ich, dass das zwar möglich, aber recht umständlich
ist...
philipp schrieb:> PWM frequency = 18 KHz to 30KHz> High Level = 3.3V to 6V> Low Level = 0V to 0.4V> PWM Range = 20% to 100%philipp schrieb:> ATtiny wäre ggf. auch eine Alternative...> Kann ich hier die PWM-Frequenz au die geforderten 18-30KHz bringen?
Ein Tiny85 z.B. kann das locker dank seiner Fast-PWM:
https://www.re-innovation.co.uk/docs/fast-pwm-on-attiny85/
philipp schrieb:> Sollte mit dem ATtiny dann ja ebenfalls funktionieren, oder?
Richtig, denn der Tiny85 ist ein ATtiny. Und weil es mit dem ATtiny85
funktioniert funktioniert es auch mit dem ATtiny.
philipp schrieb:> Meinte den ATtiny45...
Der einzige Unterschied vom Tiny84 zum Tiny45 ist ein kleinerer
Speicher. Der Rest der Hardware ist gleich. Also: Ja.
Du solltest da jetzt aber langsam das Datenblatt herunterladen und dir
den Timer 1 anschauen (das ist der, der für die millis() beim Arduino
verwendet wird und deshalb Probleme macht).