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
:
Verschoben durch Moderator
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.
:
Bearbeitet durch User
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...
Warum nimmst Du nicht einen Arduino Nano-Klon und kombinierst das Beispiel für AD-Wandler lesen und PWM setzen? 10 Zeilen Code und gut ist.
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.
>>Autor: Markus (Gast) >>Warum nimmst Du nicht einen Arduino Nano-Klon und kombinierst das >>Beispiel für AD-Wandler lesen und PWM setzen? 10 Zeilen Code und gut >>ist. >Autor: Matthias S. (Firma: matzetronics) (mschoeldgen) >Am simpelsten ist vermutlich ein kleiner MC, wie der ATTiny13 oder >ATTiny25-85. Eher nicht. Am simpelsten und am schnellsten zu löten ist ein Arduino Nano. Für ein Einzelstück spielt der Preis kaum eine Rolle ( wenns scnnell da sein muss hier https://www.amazon.de/Entwicklerboard-Mikrocontroller-Christians-Technik-Shop/dp/B013PC8OX4/ ) und Spannungsregler, Programmierschnittstelle, Entstörkondensatoren sind auch schon drauf. Anleitungen gibt's auch gleich: https://we-mod-it.com/board258-diy-do-it-yourself/board263-diy-how-to/board231-raspberry-arduino/2458-arduino-tutorial-3-l%C3%BCfter-per-pwm-steuern/
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/
Sollte mit dem ATtiny dann ja ebenfalls funktionieren, oder?
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.
:
Bearbeitet durch Moderator
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).
:
Bearbeitet durch Moderator
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.