Forum: Mikrocontroller und Digitale Elektronik Suche kleines Modul/Breakout: DCDC von Arduino steuerbar


von Tom H. (toemchen)


Lesenswert?

Hallo zusammen,

ich möchte einen 12V DC Lüfter per Arduino in der Drehzahl runterregeln 
und dabei dieses Mal möglichst wenig Aufwand in Richtung 
Lochrasterplatine, Mosfets, Drosseln usw. betreiben. Denn es gibt doch 
heutzutage im Bereich des "Zubehörs für Entwicklerboards" für fast alles 
ein kleines Platinchen mit Schraubklemmen und Stiftleiste, für ganz 
wenige Euro...

Aber ich treffe hier wohl auf die Schnelle nicht die richtigen 
Suchbegriffe... könnt Ihr mir irgendwas nennen?

Also:
- 12V Eingang, Ausgang für den Lüfter 7...12V
- Strom 300mA reicht dicke
- entweder ein Mosfet am Arduino-PWM-Pin, gefolgt von Drossel und Elko, 
damit der Lüfter halbwegs glatte Spannung bekommt, aber muß halt mit den 
nur 500Hz PWM zurechtkommen, also ziemlich große Drossel und Elko.
- oder ein per Analogsignal steuerbarer DCDC-Wandler
- oder ein per SPI oder I2C steuerbarer DCDC-Wandler
- galvanische Trennung nicht nötig

Danke!

von Udo S. (urschmitt)


Lesenswert?

Der DC Lüfter verträgt keine PWM (ohne Filter)?

von Jens M. (schuchkleisser)


Lesenswert?

Da häng ich mich mal dran, weil mir da auch etliche Dinge zu einfallen 
würden...

Die üblicherweise verwendete Methode ist, einen normalen DCDC zu 
benutzen und dem dann am Feedback ein wenig Fremdspannung (bzw. Strom) 
zu geben, via PWM mit einem RC-Filter z.B.
Das zu dimensionieren ist nicht so ganz einfach, aber das Prinzip schon.
Man braucht halt Kenntnisse über den verwendeten Chip, dessen 
Datenblatt, die bestückten Widerstände und ein wenig Rechnerei...

von Gerald B. (gerald_b)


Lesenswert?

Wenn du einen PC-Lüfter mit 4 poligen Anschlusskabel nutzt, brauchst du 
nichtmal eine Zusatzplatine, dann kann der Arduino das ganz alleine 
machen. Dafür gibt es einige Beispiele im Netz.
Da ist vielleicht der Lüfter ein paar Cent teurer, aber du bauchst keine 
weitere Hardware und es funktioniert quasi out of the box :-)

von Tom H. (toemchen)


Lesenswert?

Ok, es war klar, daß es viele Möglichkeiten gibt, zum Ziel zu kommen.

Aber gerade weil es so viele Möglichkeiten gitb und wahrscheinlich auch 
irgendwie das kleine Platinchen, das mir vorschwebt, bleibe ich bei 
folgenden Einschränkungen:

- Der DC-Lüfter ist schon vorhanden, eingebaut und kann nur über moderat 
reduzierte glatte DC-Spannung in der Drehzahl reduziert werden. Bißchen 
Welligkeit macht sicher nichts, aber harte PWM ohne Glättung würde ihn 
wohl durcheinanderbringen.

- Ungern Gefrickel an normalen DCDC-Wandlermodulen z.B. mit LM2596. 
Lieber ein "deppenfreundliches" Modul mit Anschlußklemmen, und einem 
Steuereingang.

Wenn's nichts gibt, mach ich es halt wie vor Jahrzehnten schonmal mit 
einer Conrad C-Control: Mosfet, Drossel, Elko. Hab ich einfach per Trial 
und Error und Beobachten der Welligkeit mit dem Oszi dimensioniert. Hat 
prima funktioniert, natürlich leicht gefiept mit den 500Hz. Ist aber 
eben Gefrickel.

von Tom H. (toemchen)


Lesenswert?

Einmal schieb ich's noch hoch, dann gebe ich auf und bastel doch was auf 
Lochraster.

Habe jetzt ca. 600 Breakout-Boards bei Conrad überflogen.
Da sind einige Buck-Converter dabei, deren Spannung aber immer nur über 
ein Poti einstellbar ist.
Ferner natürlich ein paar Mosfet-Module oder auch Motortreiber oder 
Schrittmotor-Treiber. Da fehlt dann die Glättung, und bei 500Hz 
PWM-Frequenz vom Arduino gibt das keine verwertbare Versorgung für den 
Lüfter.

Ein Buck-Converter, dessen Spannung über ein Interface einstellbar ist, 
scheint als Breakoutbord nicht zu existieren.

Wird auf eine handgestrickte Treiberschaltung mit LC-Glättung 
rauslaufen. Hoffentlich piepst es nicht zu laut. 10-20kHz wären schon 
schöner als 500Hz.
Ich muß mich mal damit auseinandersetzen, aus der Arduino-Umgebung 
heraus auch an einem Pin schnelle Hardware-PWM rauszulassen. Auf den 
Arduino-Seiten gibt's dazu ein paar Infos. Die 500Hz, die ich für das 
normale AnalogWrite() in Erinnerung hatte, finde ich auch nicht mehr?

von Bauform B. (bauformb)


Lesenswert?

Damit geht es per USB:

https://www.reichelt.de/de/de/shop/produkt/dph_labornetzgeraet_0_-_50_v_0_-_5_a_set-289458

Das eigentliche Wandler-Modul gibt's auch einzeln; ich finde nur das 
USB-Modul nicht einzeln

https://www.reichelt.de/de/de/shop/produkt/dph_labornetzgeraet_0_-_50_v_0_-_5_a-263189

von Jörg R. (solar77)


Lesenswert?

Tom H. schrieb:
> ich möchte einen 12V DC Lüfter per Arduino in der Drehzahl runterregeln

Nur runterregeln? Und wie kommt er wieder auf höhere Drehzahl?

Deine Kommentare, angefangen beim Eröffnungspost, lesen sich schon recht 
merkwürdig.

von Harald K. (kirnbichler)


Lesenswert?

Schon vor Jahrzehnten konnte man mit 'nem simplen Linearregler à la 
LM317 und Transistoren und Widerständen im ADJ-Zweig eine verstellbare 
Spannungsquelle bauen.

Wenn eines der mit einem Poti verstellbaren Schaltreglermodule so 
aufgebaut ist, daß das Poti mit einem Ende an Masse angeschlossen ist, 
lässt sich der gleiche primitive Ansatz verwenden.

Und wenn es anders angeschlossen ist, geht auch das hier:

Man nehme zwei Potis und schließe diese über ein Reedrelais mit 
Wechselkontakt statt des verbauten Potis an.

Damit lässt sich durch Ansteuern des Relais zwischen zwei Spannungen 
auswählen.

von Alexander (alecxs)


Lesenswert?

In prosa ist das alles schön und gut.

von Tom H. (toemchen)


Lesenswert?

Jörg R. schrieb:
> Tom H. schrieb:
>> ich möchte einen 12V DC Lüfter per Arduino in der Drehzahl runterregeln
>
> Nur runterregeln? Und wie kommt er wieder auf höhere Drehzahl?
>
> Deine Kommentare, angefangen beim Eröffnungspost, lesen sich schon recht
> merkwürdig.

Es tut mir aufrichtig leid, lieber Jörg, daß ich mit meinen Kommentaren 
Deine Gefühle verletzt habe. Bitte, bitte, teile mir mit, wie ich das 
wieder gutmachen kann.

In der Tat ist das ein Riesenproblem, über das ich mir noch gar keine 
Gedanken gemacht habe. Wenn ich es nun geschafft habe, den 12V-Lüfter 
mit einer per PWM und Glättung halbwegs brauchbaren Gleichspannung von 
ca. 7V zu versorgen und er dann langsamer läuft - wie, ja WIE? könnte er 
dann jemals wieder schneller laufen? Vielleicht indem ich die PWM wieder 
auf nahe 100% setze?

Oder ist es das Wort "regeln"? Nein, selbstverständlich STEUERE ich den 
Lüfter allenfalls per Versorgungsspannung so, daß er irgendwie langsamer 
läuft und dabei leiser ist und weniger Energie verbraucht. 
Selbstverständlich REGLE ich nicht die Drehzahl. Obwohl, einen 
Drehzahl-Ausgang hat er schon...

von Harald K. (kirnbichler)


Lesenswert?

Alexander schrieb:
> In prosa ist das alles schön und gut.

Das hier ist ein Forum, in dem überwiegend an Elektronik interessierte 
Leute unterwegs sind, die, wenn sie eine Erklärung bekommen, zu gewissen 
Transferleistungen fähig sind.

Für den Teil aus der Inklusionsecke, die mit Forderungen ankommen, daß 
man ihnen doch gefälligst die Schuhe zuschnüren soll (und frische 
Unterwäsche anziehen), aber exakt null Eigenleistung dafür aufbringen 
wollen, sieht das natürlich anders aus.

von Tom H. (toemchen)


Lesenswert?

Bauform B. schrieb:
> Infos zu Labornetzteil-Modul

Das schwirrte mir auch im Kopf rum. Aber selbst wenn man die Beschaffung 
vielleicht auf 15-20€ runterdrücken kann, statt mit dem USB-Modul direkt 
an die TTL-Level serielle Kommunikation rangeht, das ganze ist Overkill.

Ich will ja nur einen Lüfter mit 2,4W Leistung auf niedrigere 
Drehzahl/Geräusch und einen Verbrauch von unter 1W bringen.

von Harald K. (kirnbichler)


Lesenswert?

Tom H. schrieb:
> Ich will ja nur einen Lüfter mit 2,4W Leistung auf niedrigere
> Drehzahl/Geräusch und einen Verbrauch von unter 1W bringen.

Hast Du mal ausprobiert, was passiert, wenn Du einen simplen 
(ausreichend dimensionierten) Serienwiderstand verwendest?

Den könntest Du mit einem Relais überbrücken.

Das ist zwar gegenüber einem richtig angesteuerten Lüfter eine 
Murkslösung, aber Du bestehst ja aus irgendwelchen Gründen darauf, den 
falschen gekauften Lüfter weiterbetreiben zu wollen.

von Tom H. (toemchen)


Lesenswert?

Harald K. schrieb:
> aus der Inklusionsecke

Es geht nicht darum, daß man es ausschließlich einfach haben will, aber 
man greift gerne zur einfachen Lösung, wenn es sie gibt.

Und es geht um Abwägung des Aufwands.

Der Zeitaufwand, bis ich rausgefunden habe, ob und wie das Einstellpoti 
in so einem typischen Buck-Modul eingebunden ist, die Dimensionierung 
eines Spannungsteilers, der da die Information irgendwie einspeist... 
womöglich noch ein Digitalpoti einbauen, galvanisch getrennt und über 
Optokoppler angesprochen? Nein, das ist doch alles zuviel für die 
Anforderung. Und das hat alexcs gemeint.

Die Lösung PWM-Pin - Treibertransistor - Drossel - Elko ist ja schon 
relativ einfach und sparsam. Auf primitive Weise einen Buck-Converter 
zusammengeklöppelt. Wie gesagt, es geht um einen Verbraucher von max. 
2,4W!

Es wäre aber schön gewesen, wenn es für ein paar Euro noch einfacher und 
klarer gegangen wäre: Ein kleines Breakout-Board, Schraubklemmen für die 
Leistungsseite, Stiftleiste für den Steuereingang, paar Löcher in der 
Platine zum Anschrauben.

Wenns das nicht gibt, wie gesagt, kommt die schon mehrfach beschriebene 
Lösung. Schade halt, daß dieser Ansatz zumindest mit meinen 
Programmierkenntnissen zunächst mit den 500Hz aus der Arduino-eigenen 
AnalogWrite() läuft und evtl. hörbar vor sich hin fiept.

von Jens M. (schuchkleisser)


Lesenswert?

Tom H. schrieb:
> Da fehlt dann die Glättung, und bei 500Hz
> PWM-Frequenz vom Arduino gibt das keine verwertbare Versorgung für den
> Lüfter.

490Hz für Pins 3, 9, 10 & 11.
980Hz für Pins 5 & 6.
Mit einem PCA9685 gehen 16 Kanäle mit geilerer Frequenz.

Tom H. schrieb:
> Ich muß mich mal damit auseinandersetzen, aus der Arduino-Umgebung
> heraus auch an einem Pin schnelle Hardware-PWM rauszulassen.

Wenn du auf die Arduinoversteckten Funktionen wie millis verzichten 
kannst, kannst du natürlich auch die Timer selber einstellen.
Dann geht wesentlich mehr.

Bauform B. schrieb:
> Damit geht es per USB:

Da fehlt dann nur noch der Arduino-USB-Host. Mit Cloud und Blockchain, 
KI-kontrolliert. Plus App, Zigbee und Matter.

Bauform B. schrieb:
> ich finde nur das
> USB-Modul nicht einzeln

Das ist nur ein USB-UART tät ich sagen. Geht also doch per Arduino.

Tom H. schrieb:
> Selbstverständlich REGLE ich nicht die Drehzahl. Obwohl, einen
> Drehzahl-Ausgang hat er schon...

Das solltest du aber tun, zumindest Überwachen. Dazu musst du aber 
aufpassen: nicht die Masse des Lüfters PWMen... ;)

Harald K. schrieb:
> Das hier ist ein Forum, in dem überwiegend an Elektronik interessierte
> Leute unterwegs sind, die, wenn sie eine Erklärung bekommen, zu gewissen
> Transferleistungen fähig sind.

Dazu lese ich den "Malen, nicht labern"-Text viel zu häufig.
Ich würde deiner Aussage zustimmen, ich erwarte das eigentlich auch 
hier, aber die Realität zeigt: klappt nicht.

Tom H. schrieb:
> Schade halt, daß dieser Ansatz zumindest mit meinen
> Programmierkenntnissen zunächst mit den 500Hz aus der Arduino-eigenen
> AnalogWrite() läuft und evtl. hörbar vor sich hin fiept.

PCA9685 ist via I²C. Gibt's garantiert ne Library zu, und wenn du das 
Datenblatt durchblätterst hoffst du das die Lib alle Funktionen 
unterstützt.

Noch ne Idee:
Ein DAC, der mit einem Power-Opamp ein "Einstellbares Netzteil" spielt.
Ein GP8403 ist ein Doppel-0-10V-DAC den man günstig bekommen kann.
Dazu ein LM675 o.ä. und ab geht's...

: Bearbeitet durch User
von Tom H. (toemchen)


Lesenswert?

Danke für die weiteren Ideen!

PCA9685 ist ein 16 Kanal PWM-Controller für LEDS.
Für mich 14 Kanäle zuviel. Ich will nur einen Lüfter und einen 
LED-Stripe steuern.
Und: Die Frequenz ist mit 1,6kHz gar nicht so viel geiler :-)

Aaaaber: Nebenbei habe ich den PCA9635 gesehen. Der hat 97kHz 
Grundfrequenz, dann nur mit 8Bit PWM-Auflösung statt 12, das macht aber 
gar nichts.

Dennoch, fehlt immer noch Mosfet, Drossel und Elko.

Dein Hinweis auf Drehzahlüberwachung ist gut, mache ich vielleicht 
wirklich. Ok, dann mit P-Kanal Mosfet in der Pluszuleitung zum Lüfter.

Ganz linear möchte ich nicht. Klar geht es um kleine Leistungen, 
trotzdem möchte ich nicht die Leistung des Lüfters von 2,4W auf 1W 
reduzieren und dabei doch wieder 0,5-1W an der linearen Regelung 
verbraten.
Sonst wäre noch eine Idee gewesen, die Masse eines 7805 per PWM-Pin vom 
Arduino und RC-Glättung anzuheben. Ergibt 5-10V.

von Jens M. (schuchkleisser)


Lesenswert?

Tom H. schrieb:
> PCA9685 ist ein 16 Kanal PWM-Controller für LEDS.
> Für mich 14 Kanäle zuviel. Ich will nur einen Lüfter und einen
> LED-Stripe steuern.

Nein.
PCA9685 ist ein 16-Kanal PWM-Controller.
14 Kanäle zuviel ja, aber dafür billig als Breakout verfügbar, 
verbreitet in der Arduinowelt und sehr flexibel.
Der ist eher nicht für LEDs weil ihm dazu viele Spezialitäten fehlen, 
aber er ist sehr flexibel.
Jeder Kanal kann nämlich bei einem beliebigen Zählerstand ein- und 
ausschalten (jeder getrennt!) und die Zählerfrequenz ist auch wählbar.
D.h. je nach Auflösung auf Einstellung wesentlich schneller oder eben 
feiner.
Der einzige Nachteil: Alle Kanäle laufen mit dem dem gleichen Zähler 
(aber jeweils zwei individuellen Vergleichern), d.h. Servos mit 50Hz 
anzusteuern und LED flimmerfrei geht nicht, weil dann alles 50Hz hat.
Aber ansonsten ist das Ding nicht umsonst so weit verbreitet.

Tom H. schrieb:
> fehlt immer noch Mosfet, Drossel und Elko.

Ja gut äh, das wäre bei der Arduino-AnalogWrite-Lösung ebenso, aber mit 
einem PCA hast du die PWM autonom in Hardware, besser aufgelöst, 
vielkanalig und besser konfigurierbar.

Tom H. schrieb:
> Ganz linear möchte ich nicht.

Ja, das war mir halt eingegangen weil a) geht das mit jedem Lüfter ohne 
Fiepen und b) gibt's solche Module fertig.
Aber ja, ist eine Heizung.

: Bearbeitet durch User
von Tom H. (toemchen)


Lesenswert?

Der PCA9685 geht nur bis knapp 1,6kHz.

Zitat Beschreibung von NXP:
Each LED output has its own 12-bit resolution (4096 steps) fixed 
frequency individual PWM controller that operates at a programmable 
frequency from a typical of 24 Hz to 1526 Hz with a duty cycle that is 
adjustable from 0 % to 100 %

Dafür beim PCA9635:
Each LED output has its own 8-bit resolution (256 steps) fixed frequency 
individual PWM controller that operates at 97 kHz with a duty cycle that 
is adjustable from 0 % to 99.6 %

Letzterer ist auf Breakout-Board vielleicht nicht unmöglich, aber 
schwierig zu bekommen.

Und ja, stimmt der PCA9635 wäre nur eine Lösung für die zu langsame 
PWM-Grundfrequenz des Arduino. Der Rest muß trotzdem auf ne Lochraster. 
Und weil ich dann Breakout-Board und Lochraster hätte, werde ich es 
erstmal mit den 980Hz von Pin 5 + 6 probieren und mir das anhören. Wenn 
es nervt, versuche ich die Timer direkt anzusprechen - der Arduino hat 
sonst nicht viel zu tun. Bei höherer PWM-Frequenz wäre die Güte der 
LC-Glättung dann halt überdimensioniert, aber das macht ja nichts.

von Jens M. (schuchkleisser)


Lesenswert?

Tom H. schrieb:
> Der PCA9685 geht nur bis knapp 1,6kHz.

Stimmt, sorry.
Ich meinte, das auch der Endwert des Zählers einstellbar war...
Ich hab vor Jahren mal viel mit PWM und Timern experimentiert, und im 
Laufe der Zeit wohl PCA- und AVR-PWM vermischt.
Man wird nicht jünger...

von Hans-Georg L. (h-g-l)


Lesenswert?

Bauform B. schrieb:
> Damit geht es per USB:
> Das eigentliche Wandler-Modul gibt's auch einzeln; ich finde nur das
> USB-Modul nicht einzeln
>
> 
https://www.reichelt.de/de/de/shop/produkt/dph_labornetzgeraet_0_-_50_v_0_-_5_a-263189

Direkt aus China mit USB zum halben Preis
https://de.aliexpress.com/item/1005007353406301.html

von Jobst M. (jobstens-de)


Lesenswert?

Wenn man die Register des AVR selber beschreibt, sind problemlos 
PWM-Frequenzen von >30kHz drin!

Das ist nun wirklich nicht so kompliziert so einen Timer selbst 
einzurichten.

Als "Schraubmodul" nimmt man ein für Induktivitäten geeignetes (also mit 
Freilaufdiode) und ausreichend schnelles MOSFET-Schaltmodul. In Reihe 
zum Lüfter noch eine Spule. Wenn Du magst auch noch einen Elko parallel 
zum Lüfter. Fertig.

Gruß
Jobst

von Jens M. (schuchkleisser)


Lesenswert?

Jobst M. schrieb:
> ausreichend schnelles MOSFET-Schaltmodul.

Das muss man aber aufpassen, die sind üblicherweise Masseschaltend...

von Jobst M. (jobstens-de)


Lesenswert?

Jens M. schrieb:
> die sind üblicherweise Masseschaltend...

Sehr gut. Das bereitet auch weniger Probleme, als high-side-switches.

Gruß
Jobst

von Jens M. (schuchkleisser)


Lesenswert?

Dann ist aber schlecht mit Drehzahlmessung, weil die ja auch 
Massebezogen ist.
KAnn man, muss man aber tricksen...
Bei High-Side-PWM geht es aber ganz normal, sofern die Spannung >Umin 
ist, wo sich der Lüfter normal noch dreht.

von Jobst M. (jobstens-de)


Lesenswert?

Jens M. schrieb:
> Dann ist aber schlecht mit Drehzahlmessung, weil die ja auch
> Massebezogen ist.
> KAnn man, muss man aber tricksen...

Dafür muss man auch nicht mehr "tricksen" als man dies bei einer 
Schaltung mit P-Fet als Schalter müsste. Und die PWM für die Versorgung 
ist schneller als das Drehzahlsignal.

Gruß
Jobst

von Hobby B. (bastler2022)


Angehängte Dateien:

Lesenswert?

Hallo,

eventuell hilft Dir das weiter.

Gruß bastler2022

Hier noch der Link dazu; https://www.edn.com/lm317-and-pwm/

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Hobby B. schrieb:
> eventuell hilft Dir das weiter.

Ist, bis auf den statt eines Transistors verwendeten OpAmps das, was ich 
weiter oben beschrieben habe:

Harald K. schrieb:
> Schon vor Jahrzehnten konnte man mit 'nem simplen Linearregler à la
> LM317 und Transistoren und Widerständen im ADJ-Zweig eine verstellbare
> Spannungsquelle bauen.

von Hobby B. (bastler2022)


Lesenswert?

Harald K. schrieb:
> Ist, bis auf den statt eines Transistors verwendeten OpAmps das, was ich
> weiter oben beschrieben habe:

Ja das ist richtig, hier hat der TO nun auch ein Beispiel für den 
Aufbau.

Gruß bastler2022

von Rainer W. (rawi)


Lesenswert?

Tom H. schrieb:
> Bißchen Welligkeit macht sicher nichts, aber harte PWM ohne Glättung
> würde ihn wohl durcheinanderbringen.

Woher nimmst du dieses "wohl"?
Besitzt dein Lüfter eine eingebaute Elektronik oder warum sollte er sich 
daran stören?

von H. H. (hhinz)


Lesenswert?

Rainer W. schrieb:
> Besitzt dein Lüfter eine eingebaute Elektronik?

Ist ziemlich üblich.

von Jobst M. (jobstens-de)


Lesenswert?

Hobby B. schrieb:
> eventuell hilft Dir das weiter.

Da kommen aber nie 12V raus.
Bei 5V PWM mit 100% kommen gerade einmal 6.25V raus.

Der OPV benötigt eine höhere Versorgungsspannung (dieser mindestens 
12.5V) und eine Verstärkung von 2.15 bei 5V PWM bzw. 3.26 bei 3,3V PWM.
R2 ist überflüssig.

Gruß
Jobst

von Tom H. (toemchen)


Angehängte Dateien:

Lesenswert?

Ich grabe diesen Thread als TO mal wieder aus, obwohl es nicht mehr in 
die Richtung der Überschrift geht...

Nach langer Zeit setze ich mich endlich mal zuhause an den Bastektisch 
und will die Schaltung aufbauen, siehe Bild.

Am liebsten hier und heute mit Bauteilen aus der Grabbelkiste, bin aber 
doch zuwenig Vollblutelektroniker, daß ich das aus dem Bauch heraus 
dimensionieren könnte. Klar kann ich irgendwas einlöten und dann messen, 
aber dann muß ich halt ggf. wieder auslöten.

Gesetzt ist die Spule, ein ziemlicher Overkill für 
50Hz-Dimmerschaltungen, hat 2200uH und 2,3A Strombelastbarkeit, liegt in 
der Hand wie ein Stapel 5-Mark-Stücke...
Die einzigen Elkos, die nicht schon uralt sind, haben 470uF, hab jetzt 
schonmal 2 parallel drauf, da gehen auch noch 2 mehr..

Jetzt stutze ich bei dem Widerstand, der das Gate des P-Fet hochziehen 
soll. An dem soll mir ja die Ansteuerschaltung nicht sinnlos 10mA oder 
mehr verbraten, andererseits soll das Gate trotz seiner Kapazität 
einigermaßen schnell geschlossen werden.

Der "schwächste" P-Mosfet, den ich hier finde, hat 1200pF 
Gate-Kapazität, das sind mit einem 1k-Widerstand schon eine 
Zeitkonstante von 6us, also in Richtung von 1% der typischen On-Zeit der 
PWM von 980Hz Grundfrequenz. Und doch verbraucht die Schaltung beim 
Durchsteuern des P-Fet schon 12mA...

Nicht daß ich jetzt auf jedes mA auchten muß, es ist kein 
Batteriebetrieb, aber wenn ich den dauernd laufenden Lüfter gerne von 
2,4W auf 1W Verbrauch drossle, muß ich mir nicht mit der primitiven 
Ansteuerung wieder zusätzlich   120mW Verbrauch reinholen.

Was hättet Ihr denn für Ideen?

Es sind schon andere P-Fets mit z.B. 120pF Gate-Kapazität und immerhin 
noch 0,5 Ohm RDSon zu bekommen, aber halt nicht hier und heute..

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Da fehlt eine Freilaufdiode.

von Tom H. (toemchen)


Lesenswert?

Ich gleich nochmal, der Zeitkonstanten-Rechner hatte mir die Zeit für 
"Volladung" eine C gegeben, eigentlich sinds ja doch nur 1,2us für gut 
60% Ladung.

Also vielleicht alles halb so wild, einfach den Widerstand sogar auf 2k 
setzen, mit den 60mW Verbrauch leben und gut ist?

von Tom H. (toemchen)


Lesenswert?

Und nochmal ich:
Ist "Input Capacitance" überhaupt der richtige Wert im Datenblatt, nach 
dem ich da schaue?
Oder muß ich über "Total Gate Charge" gehen?

von Tom H. (toemchen)


Lesenswert?

Nemopuk schrieb:
> Da fehlt eine Freilaufdiode.

Wo muß sie hin?

von H. H. (hhinz)


Angehängte Dateien:

Lesenswert?

Und das Gate steuert man so an.

von H. H. (hhinz)


Angehängte Dateien:

Lesenswert?

Tom H. schrieb:
> Nemopuk schrieb:
>> Da fehlt eine Freilaufdiode.
>
> Wo muß sie hin?

Dahin.

von Tom H. (toemchen)


Lesenswert?

Vielen Dank.
Ist echt der Hammer, wie zuverlässig und schnell Du hier immer hilfst.

So, Freilaufdiode hab ich mir auch ungefähr so gedacht, geht klar.

Die Schaltung muß ich erst verdauen.
Also ohne Ansteuerung zieht der obere NPN-Kleinsignaltransistor das Gate 
fast bis an die Versorgungsspannung. Sein Basiswiderstand darf dank der 
Stromverstärkung wesentlich höher sein als der schlichte Widerstand, der 
bei meiner Schaltung das Gate nach oben gezogen hätte.
Bei Ansteuerung zieht der untere das alles nach Masse, aber dank der 
Diode hat der obere auf keinen Fall Basisstrom und kann nicht 
gegenhalten.
Der Strom, der nach Masse gezogen werden muß, geht nur über den 
Widerstand.

Ungefähr richtig? Dann baue ich das mal nach, mit 10k Basiswiderstand. 
Den Widerstand zum Gate hin mach ich 100 Ohm.

von H. H. (hhinz)


Lesenswert?

Tom H. schrieb:
> Ungefähr richtig? Dann baue ich das mal nach, mit 10k Basiswiderstand.
> Den Widerstand zum Gate hin mach ich 100 Ohm.

Passt.

von Tom H. (toemchen)


Lesenswert?

Danke.

Schade, jetzt fehlt mir eine 1N4001 als Freilaufdiode.
Die 4148 ist mir doch zu schwachbrüstig.

Also gibts die Rückmeldung, ob es funktioniert hat, doch erst in ein 
paar Tagen.

von H. H. (hhinz)


Lesenswert?

Tom H. schrieb:
> Schade, jetzt fehlt mir eine 1N4001 als Freilaufdiode.

Die reicht höchstens für wenige 100Hz.


> Die 4148 ist mir doch zu schwachbrüstig.

Die reicht völlig, und sie ist auch richtig flott.

von Tom H. (toemchen)


Angehängte Dateien:

Lesenswert?

Eine letzte Meldung noch, denn eigentlich geht es ja schon gar nicht 
mehr um die Überschrift des Threads...

Aufgebaut, funktioniert.
Ein Showstopper war am Wochenende dann nicht die Freilaufdiode, sondern 
das Prolific USB zu TTL-UART Kabel. Erst das am Montag abend von der 
Arbeit mitgebrachte FTDI-Modul lief dann.

Die Ansteuerung verbraucht keinen Strom. Laut meinem Netzteil verbraucht 
die  Schaltung ohne Last 0,24W, genauso wie im Reset-Zustand oder ohne 
PWM-Erzeugung.
(Komischerweise ist der Verbrauch mit angeschlossenem TTL-UART-Modul am 
Arduino Pro Mini dann bei über 1W. Das Modul hat nur über GND, RX und TX 
Verbindung. Laufen da echt 80mA in die beiden Datenleitungen? Oder ist 
das eine Masseschleife?)
Mit Lüfter als Last genehmigt sich das insgesamt 2,5W bei Vollast, und 
läßt sich schön auf 1W und sehr ruhigen leisen Lauf runterregeln.
Es ist auch keinerlei Fiepen von den 980Hz der PWM zu hören.
Die Welligkeit der Spannung am Lüfter ist etwa 100mV.

Jetzt werde ich später tatsächlich noch den Tacho-Ausgang des Lüfters 
auswerten und auf Drehzahl regeln, damit er nicht bei schlechter 
werdenden Lagern stehenbleibt. Aber das ist dann wirklich nicht mehr 
Gegenstand dieses Threads.

Eines ist mir noch aufgefallen: Die Gate-Ansteuerspannung hat Schwinger 
drin, siehe Bild. Woher könnte vor allem dieser zweite Schwinger kommen, 
wo eigentlich die Gate-Spannung längst glatt auf fast 12V hochgezogen 
war? Dieser zweite Schwinger wird bei sehr kurzen Off-Zeiten 
weggefressen, dann ist nur das erste Einschwingen beim Hochziehen des 
Gates da.
Beim Durchsweepen des PWM-Tastgrades fällt auch auf, daß die 
Ausgangsspannung nicht stetig mitwandert. In dem Bereich, wo bei 
steigendem Tastgrad der zweite Schwinger langsam verschluckt wird, hängt 
die Ausgangsspannung etwas fest.
Ist vielleicht das PWM-Signal vom Arduino schon unsauber?

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Tom H. schrieb:
> Laufen da echt 80mA in die beiden Datenleitungen? Oder ist das eine
> Masseschleife?

Das kannst du messen.

> Ist vielleicht das PWM-Signal vom Arduino schon unsauber?

Das kannst du messen.

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Tom H. schrieb:

> Ein Showstopper war am Wochenende dann nicht die Freilaufdiode, sondern
> das Prolific USB zu TTL-UART Kabel.

Es wurde hier schon etliche Male erklärt, wie man die ollen 
Prolific-Chips unter einem aktuellen Windows zum Laufen bringt (unter 
Linux laufen die sowieso).

Showstopper war also nicht das Kabel an sich, sondern nur deine 
Unfähigkeit, es zum Laufen zu bringen.

von Nemopuk (nemopuk)


Lesenswert?

Ob S. schrieb:
> Showstopper war ... nur deine
> Unfähigkeit

Wie nett!

von Tom H. (toemchen)


Lesenswert?

Nemopuk schrieb:
> Tom H. schrieb:
>> Laufen da echt 80mA in die beiden Datenleitungen? Oder ist das eine
>> Masseschleife?
>
> Das kannst du messen.

Sagen wir mal, mit Mühe herausfinden. Mit Masseschleife meine ich, daß 
evtl. leicht verschiedene GND-Potentiale herumschwirren, die 
Strommessung des versorgenden Netzteils mit einem Shunt in der 
Masseleitung passiert usw. Müsste also ein anderes Netzteil probieren, 
oder für einen Versuch gar einen definitiv potentialfreien Akku ins 
Spiel bringen. Ist ja nicht schlimm, es geht offenbar nichts unmittelbar 
kaputt, und im normalen Betrieb ist der Programmieradapter ja nicht 
dran. Diese Erkenntnis war ohnehin nur im Plauderton innerhalb von 
Klammern vorgetragen. Kein Grund für eine oberlehrerhafte Kurzantwort.

>> Ist vielleicht das PWM-Signal vom Arduino schon unsauber?
>
> Das kannst du messen.

Klar kann ich direkt am Arduino-Pin messen, eventuell reicht aber die 
Auflösung des OWON Oszilloskops nicht. Das Ereignis ist innerhalb der 
ca. 450us langen Off-Phase des PWM-Signals, ca. 150us nach der 
getriggerten Flanke, und ist vielleicht sehr kurz? Eher hatte ich mir 
hier Insider-Wissen über die PWM-Erzeugung im Arduino erhofft, da läuft 
ja doch sehr viel mit den Timern im Hintergrund/Untergrund, vielleicht 
wird die PWM gar softwaremäßig erzeugt? Weil wenn ich da irgendeine 
Störung direkt am Pin 5 messe, was kann ich da noch tun? Müßte die 
Situation ja doch akzeptieren. Das Akzeptieren würde leichter fallen, 
wenn hier irgendein alter Hase sagen würde: Das ist halt so, bügel das 
einfach mit ein paar pF da oder dort glatt.

von Nemopuk (nemopuk)


Lesenswert?

Tom H. schrieb:
> Sagen wir mal, mit Mühe herausfinden. Mit Masseschleife meine ich, daß
> evtl. leicht verschiedene GND-Potentiale herumschwirren, die
> Strommessung des versorgenden Netzteils mit einem Shunt in der
> Masseleitung passiert usw.

Hast du kein Multimeter, das die Stromstärke messen kann?

> Kein Grund für eine oberlehrerhafte Kurzantwort.

Wir könnten die Messergebnisse diskutieren. Das ist bestimmt besser, als 
Vermutungen anzustellen und diese zu diskutieren oder gar voreilige 
Gehenmaßnahmen zu versuchen.

: Bearbeitet durch User
von Tom H. (toemchen)


Lesenswert?

Ob S. schrieb:
etwas über seine
> Unfähigkeit
zu einem freundlichen Ton.

Tja, auch diese Begebenheit habe ich im Plauderton nebenbei erwähnt und 
auch die schlichte Lösung, einen ordentlichen Adapter zu verwenden. War 
keine Frage, kein Wehklagen dabei.

Und es war so: Dieses Adapterkabel hatte ich am Büro-Rechner (Win11) 
durchaus mit den üblichen Methoden, mit dem 3.3.2.105 Treiber zum Laufen 
gebracht, deshalb hatte ich es ja nach Hause mitgenommen, weil es rein 
mechanisch ein bißchen praktischer war, kein herumfliegendes Platinchen 
dazwischen, sondern alles in den USB-Stecker integriert.
Zuhause (auch Win11) gings dann nicht, vielleicht hatte ich doch eine 
andere Anleitung genutzt, eine andere Treiberversion. Der direkte 
Vergleich mit der Lösung im Büro fehlte mir, jetzt hier im Büro fehlt 
mir der Vergleich mit der gescheiterten Lösung zuhause. Könnte ich 
Aufwand reinstecken, mir zuhause nochmal alle Infos aus dem 
Gerätemanager notieren, dann das Kabel wieder ins Büro zurückbringen, 
dann hier im Büro ausprobieren und bei Erfolg schauen, was denn da jetzt 
anders ist.

Mach ich vielleicht, lieber observer.
Dein Urteil, ob ich unfähig bin, ist mir sehr wichtig.

von Jens M. (schuchkleisser)


Lesenswert?

Tom H. schrieb:
> Eher hatte ich mir
> hier Insider-Wissen über die PWM-Erzeugung im Arduino erhofft, da läuft
> ja doch sehr viel mit den Timern im Hintergrund/Untergrund, vielleicht
> wird die PWM gar softwaremäßig erzeugt?

Arduino analogWrite nutzt die Hardwaretimer.
Das Signal am Portpin ist sauber, evtl. Störungen kommen aus der 
Schaltung evtl. zurück, aber der Zacken ist nicht von Arduino, Software 
oder ATmega verursacht.

von Tom H. (toemchen)


Lesenswert?

Danke.

Ich schau's mir heute abend nochmal an.
Auch mal mit Glühlampe als Last.
Und das Signal an verschiedenen Stellen auf seinem Weg bis zum Gate.

von Tom H. (toemchen)


Lesenswert?

So, das PWM-Signal an Pin 5 ist natürlich sauber, zumindest innerhalb 
der Grenzen, die mein Handheld-Oszi darstellen kann.

Ohne Last ist auch die Ansteuerung bis zum Gate des FETs sauber.

Erst mit Last kommt diese "Reflexion", wie ich sie mal nennen will, 
rein.
Hat einen gewissen Abstand zu der Flanke, an der das Gate des P-Fet nach 
oben  gezogen wird (also Beginn der Off-Zeit in der PWM).
Der Abstand hängt von der Last und vom Tastgrad ab.
Ich beschreibe das Verhalten bei abnehmenden Tastgrad von 100% bis 25%, 
bei der PWM-Grundfrequenz 980Hz. Tastgrad sweept nicht weiter runter als 
25%, weil dann der Lüfter gar nicht mehr laufen würde.
Glühlampe 2,5W: Taucht bei einer Off-Zeit von 140us (Tastgrad 
85%)erstmals auf und verschiebt sich dann bis 300us bei größeren 
Off-Zeiten von ca. 750us.
Glühlampe 5W: Kommt erst bei Off-Zeit 220us und schiebt sich noch bis 
450us .
Lüfter, ca. 2,5W bei Vollast: Kommt schon bei 90us und schiebt sich bis 
180us.

Es ist schon so, wie Jens schreibt, die Störungen kommen aus der 
Schaltung zurück, sobald Lastströme laufen. Naja, es funktioniert ja 
grundsätzlich, läuft so ruhig und braucht so wenig Strom, wie ich gerne 
möchte. Ich verfolge das nicht weiter, außer von Euch kommt jetzt noch 
der erleuchtende Input für mich.

von Jobst M. (jobstens-de)


Lesenswert?

Tom H. schrieb:
> Woher könnte vor allem dieser zweite Schwinger kommen,
> wo eigentlich die Gate-Spannung längst glatt auf fast 12V hochgezogen
> war?

Der Strom in einer Spule ändert sich nur langsam und proportional zur 
Spannung. Ist die Spannung über der (idealen) Spule 0V, so ändert sich 
der Strom auch nicht.
In dem Moment, in dem Dein Transistor abschaltet, fließt der Strom über 
die Diode weiter. Da über der Spule Spannung ist, nimmt auch der Strom 
ab. In dem Moment, in dem die Spule 'leer' ist, fließt kein Strom mehr 
und die Diode schaltet ab und wird damit zu einem Kondensator. Dieser 
Kondensator ist mit der Spule (Elko+Last übersehen wir mal) ein 
Schwingkreis, der nun anfängt zu 'klingeln'. Wenn die Leitungsführung 
nicht ideal ist und auch über Bauteilkapazitäten streut dies nun in 
Deine Schaltung ein.

Wenn Du an dem Punkt zwischen Diode, Spule und FET misst, wirst Du 
folgende Spannungen messen:
Transistor eingeschaltet: 12V
Transistor abgeschaltet: zunächst -0,7V (Diode leitet), danach gedämpfte 
Schwingung mit Mittelwert der Ausgangsspannung am Elko.

Eigentlich sollte die Spule oder die Frequenz ~100x größer sein, damit 
ein möglichst kontinuierlicher Strom fließt.
Bei Dir fließt zwischendurch gar kein Strom mehr durch die Spule. Nur 
der Elko puffert.

Deine Hardware könnte höhere Frequenzen, aber nicht mit den Arduino 
Funktionen.

Gruß
Jobst

von Jens M. (schuchkleisser)


Lesenswert?

Jobst M. schrieb:
> Deine Hardware könnte höhere Frequenzen, aber nicht mit den Arduino
> Funktionen.

Nuja, auch mit Arduino kann man den Timer selber programmieren. Ich bin 
gerade überfragt ob man dann noch analogWrite nutzen kann oder ob das 
den Timer auf Arduino-Standards zurückstellt. Ich glaube letzteres, bin 
aber nicht sicher.
millis() und micros() fangen dann das spinnen an, aber ansonsten geht 
das problemlos.
100x so schnell wird aber vmtl. der Chip und auch die FET-Schaltung 
nicht schaffen, und wenige kHz könnten dann dazu führen das man ein 
Pfeifen hört.
Aber das kann man ja ausprobieren.

von Jobst M. (jobstens-de)


Lesenswert?

Jens M. schrieb:
> Nuja, auch mit Arduino kann man den Timer selber programmieren.

Ja, das habe ich weiter oben ja auch schon geschrieben. Aber eben nicht 
mit den Arduino-Funktionen.

Jens M. schrieb:
> 100x so schnell wird aber vmtl. der Chip und auch die FET-Schaltung
> nicht schaffen, und wenige kHz könnten dann dazu führen das man ein
> Pfeifen hört.

Mit dem Chip schafft man hier 30kHz bei 8MHz Systemtakt.
8 Bit Auflösung reichen für diese Anwendung ja völlig aus.

Wie schnell der FET in diesem Aufbau ist, muss man ausprobieren. Könnte 
aber mit 30kHz klappen.

Gruß
Jobst

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.