PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Elektrisch kommutierten PC-Lüfter mit Tiny25 steuern



Comanche
25.06.2010, 10:54
Hallo allerseits,

ich möchte gerne mit einem Attiny25 einen PC-Lüfter ansteuern. Natürlich habe ich dazu Google usw. bemüht und bin dabei auf eine Vielzahl von Lüftersteuerungen gekommen. Diese verwenden eigentlich, wenn man es auf einen gemeinsamen Nenner herunterbricht, alle eine PWM um einen Transistor oder MOSFET zu schalten wodurch letztlich der Motor/Lüfter geschaltet wird.

Ich habe mir das mal selber in Eagle gebastelt und dabei ist Folgendes (ich weiß, dass beim Attiny noch Einiges an Beschaltung fehlt, es ging mir nur darum zu zeigen, dass er eine andere Spannungsversorgung kriegt).

https://www.roboternetz.de/phpBB2/files/luefter_pwm.png

Nun habe ich "blöderweise" nach dieser Planung noch weitergeforscht und habe dabei immer öfter lesen müssen, dass man PC-Lüfter mit Tacho-Signal so nicht steuern kann, da sie elektrisch kommutiert sind und es die Steuerung im Lüfter selber nicht mag, wenn man ihr x-mal pro Sekunde den Strom wegnimmt. Ich habe mich jetzt bemüht herauszufinden, wie ich in dem Fall doch noch eine Steuerung per Attiny hinkriegen kann, aber ich komme nicht voran. Ich habe Schaltungen gefunden, mit welchen man "nackte" Brushless Motoren ansteuern kann, allerdings würde ich es gerne vermeiden den Lüfter zu zerlegen. Andere Vorschläge sind wiederum (speziell im PC-Modding-Bereich) einfach ein Poti o.ä. zu nehmen und dann manuell darüber zu steuern. Ist natürlich machbar, ich möchte das Ganze aber einfach gerne elektronisch umsetzen (Stichwort Lerneffekt und so).

Meine Frage ist daher, gibt es eine (einfache) Möglichkeit einen normalen, elektrisch kommutierten, PC-Lüfter mit Hilfe eines Attiny anzusteuern so dass das Ganze a) überhaupt funktioniert, b) Störgeräusche usw. vermieden werden und c) ich den Lüfter nebst Steuerelektronik nicht (vollständig) zerlegen muss?

Danke fürs Lesen & Gruß,
Daniel

PICture
25.06.2010, 13:58
Hallo Comanche!

Ich habe nur ein bißchen mit BLDC PC Lüfter experimentiert und festgestelt, dass wegen von dir schon erwähnter innerer Steurung, kann man seine Drehzahl nur durch zysklisches An- und Abschalten der Versorgungspannung regeln.

Es wäre dann eine PWM mit langer Periode im Sekundenbereich, weil sie träge sind.

MfG

Comanche
25.06.2010, 20:52
Hallo,

vielen Dank für deine Antwort, die direkte Steuerung per PWM habe ich inzwischen verworfen.

Allerdings habe ich nun gelesen, dass es dennoch per PWM möglich sein soll wenn man dem Motor einen LC-Tiefpass voran schaltet. RC würde zwar auch gehen, aber da ich bei voller Spannung (12V) und blockierten Lüftern einen Strom von etwa 0.7A habe ist LC denke ich die bessere Lösung. Ich habe mir dazu einige Schaltungen angeschaut und meine dahingehend modifiziert.

https://www.roboternetz.de/phpBB2/files/luefter_pwm_lc.png

Mein Problem ist nun, dass ich nicht weiß, wie ich L und C dimensionieren muss. In den von mir betrachteten Schaltungen wurden unterschiedliche Werte verwendet, leider ohne irgendeinen Hinweis, warum sie genau in der Form dimensioniert wurden. Ich weiß, dass es in irgendeiner Weise davon abhängt, wie hoch die Frequenz meiner PWM ist und welche Restwelligkeit ich bereit bin zu akzeptieren. Nunja, und hier weiß ich nicht weiter. Ich möchte Lüfter ansteuern, Spannungsbereich 5 bis 12 V, demnach nehme ich an, dass die Restwelligkeit eine eher untergeordnete Rolle spielt. Mir ist es egal, ob die Lüfter sofort oder erst nach zwei Sekunden auf Änderungen reagieren. Genauso ist es mir egal ob die Spannung am Lüfter nun haargenau 12V ist oder zwischen 11.34V und 11.71V schwankt.

Ein Beispiel:
In einer Schaltung war L = 330µH und C = 100µF. Daraus ergibt sich eine Grenzfrequenz von 1/(2*Pi*sqrt(L*C)) ~ 876 Hz.

Warum die Werte nun genau so gewählt wurden kann ich nicht verstehen, es gibt keine Angaben z.B. über die genutzte Frequenz der PWM o.ä..

Wäre super wenn mir jemand helfen könnte oder mir anschaulich anhand eines Beispiels erklären könnte, wie ich vorgehen muss. Nehmen wir mal den Attiny25 mit 8 MHz. Der Timer hat 8 Bit, ergibt 256 Schritte. Macht, wenn ich keinen Prescaler nutze, eine PWM-Frequenz von etwa 31 kHz.

Und an dem Punkt komme ich jetzt nicht mehr weiter weil ich einfach nicht weiß was nun für die weitere Betrachtung wichtig ist.

Gruß,
Daniel

BASTIUniversal
26.06.2010, 10:12
Hallo!
Was du da aufgebaut hast, ist nichts anderes als ein Tiefsetzsteller (http://de.wikipedia.org/wiki/Tiefsetzsteller). Auch bekannt als Step-Down-Wandler.
Die PWM-Frequenz solltest du deutlich höher als 876Hz wählen. Eher um die 10-100kHz (je größer die Frequenz, desto kleiner kann die Spule werden).

Dein N-FET wird in dieser Schaltung übrigens nicht funktionieren. Du brauchst einen P-FET inkl. geänderter Ansteuerung.

Gruß
Basti

Comanche
26.06.2010, 11:50
Hallo Basti,

vielen Dank für deine Antwort, der Hinweis mit dem Tiefsetzsteller hat mich etwas weiter gebracht. Ich habe dazu die folgende Seite gefunden:
http://schmidt-walter.eit.h-da.de/smps/abw_smps.html

Ich bin nun wie folgt vorgegangen:
Ich möchte den Tiefsetzsteller so dimensionieren dass er geglättete 5 bis 12 Volt am Ausgang (ich weiß dass er wegen der Verluste in Spule usw. nie die vollen 12V liefern kann) liefert.

Die PWM-Frequenz ist 31250 Hz. Ist TOP 1 so wird also pro Takt ein Interrupt erzeugt und ich habe somit dauerhaft HIGH am Ausgang. Dies entspräche dann gleichzeitig etwa 12 V am Eingang des Tiefsetzstellers. Da der Counter 8 Bit hat kann ich minimal ein Delta von 12V/256 = 46mV auflösen. Bedeutet, dass der Counter für 5V bis etwa 108 zählen muss. Das bedeutet, dass ich ein Tastverhältnis von 108/256 = 0.42 habe. Dies entspräche dann einer PWM-Frequenz von 0.42*31250Hz = 13125 Hz.

Nun habe ich die oben verlinkte Seite genommen und die Werte für 5 und für 12V eingetragen. Also: Ua immer 12 V, Ue1 = 5V, Ue2 = 11.9V (wegen Verlusten usw.), f1 = 13125, f2 = 31250 Hz, Ia = 0.7A. Für Ia habe ich einfach den maximal benötigten Strom eingesetzt (?).

Für Ue1 wurde eine Induktivität von 854µH vorgeschlagen, für Ue2 eine von 11µH. Das Ganze habe ich nun gemittelt und 470µH eingesetzt. Das Ganze sieht insofern gut aus als dass der Strom durch die Induktivität bei 5V maximal 0.81A beträgt und ich somit eine 1A Drossel einsetzen könnte.

Sieht das soweit korrekt aus oder habe ich irgendwo einen groben Denkfehler? Und wie dimensionieren ich nun, wenn ich mich auf eine Spule festgelegt habe den Kondensator? Welche Grenzfrequenz wählt man sinnvollerweise? Und in Abhängigkeit wovon? Für die oben genannte 876 Hz ergäben sich z.B. 70µF. 68µF gewählt macht dann eine Grenzfrequanz von 890 Hz. Oder sollte man in dem Fall dann lieber zur größeren Kapazität 82 µF (oder gar 100µF) greifen?

Danke & Gruß,
Daniel

PICture
26.06.2010, 12:12
Hallo!


Das bedeutet, dass ich ein Tastverhältnis von 108/256 = 0.42 habe. Dies entspräche dann einer PWM-Frequenz von 0.42*31250Hz = 13125 Hz

Das ist Dein Denkfehler ein Tastverhältnis bei PWM mit anderer Frequenz zu mischen. Eine PWM hat üblich feste Frequenz und variablen Tastverhältnis.

MfG

Comanche
26.06.2010, 12:25
Hallo,

danke für den Hinweis. Stimmt denn somit meine gesamte Überlegung nicht oder ist einfach nur die Formulierung falsch, dass sich die PWM-Frequenz ändert? Gemeint war damit eigentlich, dass sich die Frequenz ändert, mit der der MOSFET geschaltet wird.

Gruß,
Daniel

PICture
26.06.2010, 12:34
Das ist auch falsch, da bei PWM schaltet der MOSFET mit fester Frequenz und nur die An- und Auszeiten varieren.

MfG

Comanche
26.06.2010, 13:23
Hm,

jetzt komm ich doch langsam etwas ins Schwitzen, ich dachte ich hätte die PWM verstanden, aber irgendwie doch nicht :(

Ich hab mir die PWM grad nochmal angeschaut. Der Takt ist maximal 31250 Hz. Der Counter hat 8 Bit, zählt somit maximal bis 256. Damit habe ich dann eine maximale Pulsdauer von 256/31250 = 8.192ms. Der MOSFET schaltet somit mit 1/8.192ms = 122 Hz.

Ist das korrekt?

PICture
26.06.2010, 13:44
Ja, das stimmt. Ich glaube, dass Du es jetzt schon verstehst. :)

Ich rechne das einfacher : 31250/256 was das gleiche ergibt. Die Eingangsfrequenz des Zählers ist eben nicht der geteilter Frequenz (also PWM) gleich.

MfG

Comanche
26.06.2010, 14:54
Ouh, Glück gehabt :) Ich hatte nicht auf dem Schirm dass die PWM keinen Takt rausgibt sondern den Ausgang "nur" für eine bestimmte Zeit auf High oder Low zieht.

Leider wird das Ganze dadurch jetzt nicht unbedingt leichter, im Gegenteil, es verwirrt mich nur noch mehr. Ich komme ja im Fast PWM Modus nicht höher als 31.25kHz. Durch den Counter bin ich daher auf eine maximale Schaltfrequenz von 122 Hz festgelegt. Wenn ich für diese Frequenz eine Induktivität dimensioniere komme ich auf etwa 91 mH. Das ist aber nun doch um Etliches größer als 330 bis 1500 µH die ich in anderen Schaltungen gesehen habe.

Oder ist in diesen Fällen tatsächlich die Schaltfrequenz wesentlich höher indem andere Operationsmodi für die PWM genommen werden wodurch die PWM selber einen wesentlich höheren Takt hat?

PICture
26.06.2010, 15:09
Aus deiner Beschreibung scheint die PWM Frequenz wirklich viel höher als 122 Hz zu sein. Ich kenne AVR's nur sehr gering, aber der Takt für Zähler lässt sich angeblich durch Pre- bzw. Postscaler erhöhen. O:)

MfG

021aet04
26.06.2010, 15:28
Der Timer Takt ist max. die Taktfrequenz des µC. Man kann den Timer Takt nur mit dem Prescaler herabsetzten. Die Ausgangsfrequenz lässt sich mit der jeweiligen Formel berechnen. Bei Fast PWM lautet die Formel:



Taktfrequenz
f=------------------
Prescaler x 256


Bei 8Mhz und Prescaler 1 sind das die oben geschriebenen 31,25kHz.


MfG Hannes

BASTIUniversal
26.06.2010, 15:48
Beim Tiny25 errechnet sich die PWM-Frequenz im Fast PWM Mode so (Timer/Counter 0):
f = fclk_io / n * 256
fclk_io ist die Frequenz der I/O Ports und entspricht der Taktfrequenz des Tiny.
n ist der Prescaler (1, 8, 64, 256 und 1024 sind wählbar).
Die höchste PWM-Frequenz ergibt sich bei einer Taktferquenz von 20MHz und einem Prescaler von 1. Sie beträgt dann 78,125kHz.

Und zufälligerweise hat der Tiny25 für Timer/Counter 1 eine PLL die den Timer mit bis zu 64MHz versorgen kann. Hier gilt für die PWM-Frequenz:
f = ftck1 / (OCR1C + 1)
ftck1 ist die Timer1-Clock mit bis zu 64MHz
OCR1C legt fest, bis zu welchem Wert der Timer zählt (bei Timer0 ist das 255, fest eingestellt).
Genügen einem nun 7Bit Auflösung, dann setzt man für OCR1C einfach 127 ein. Daraus folgt dann eine max. Frequenz von 500kHz.

Der Tiny25 ist also für deinen Step-Down-Wandler super geeignet!

Comanche
26.06.2010, 16:20
Ah super, Basti, du bist klasse :) Ich hab die ganze Zeit im Datenblatt nur den Teil zu Counter0 PWM und zum Prescaler angeschaut.

Nur damit ich es verstanden habe:
Wenn ich nun die PWM mit 64Mhz/128 = 500kHz laufen lasse dann habe ich eine maximale Schaltfrequenz von 500kHz/128 ~3.9kHz.

Ich möchte nun gerne mindestens 20kHz erreichen. Dann muss gelten:
64MHz/(OCR1C+1)² = 20kHz
=> sqrt(64MHz/20kHz)-1 = OCR1C = 56

Soweit korrekt?

Edit: Hatte einen Denkfehler, der Zähler zählt beim Counter1 ja nicht mehr bis max sondern bis OCR1C so dass man die Frequenz wirklich granular steuern kann :)

BASTIUniversal
26.06.2010, 17:53
Also die 500kHz wären tatsächlich deine PWM-Frequenz. Die Frequenz misst man ja über eine Periode, da ist es dann völlig egal, wie die High/Low-Zeiten verteilt sind. Hier (http://de.wikipedia.org/wiki/Periodendauer) findest du nen schönen Artikel drüber.

Der Timer im Tiny zählt von 0 bis OCR1C (z.B. 127). In das Register OCR1A lädst du deinen Wert. Möchtest du 75% High-Pegel, dann ist das 127*0,75 = 95,25 = 95.
Der Timer fängt jetzt bei 0 an, hoch zu zählen. Der Output-Pin OC1A ist High. Erreicht der Timer nun die 95, so schaltet der Pin auf Low. Der Timer zählt jetzt noch bis 127, der Pin bleibt Low.
Nachdem der Timer den Wert 127 erreicht hat, setzt er sich auf 0 zurück und der Pin wird wieder High gesetzt.

Du siehst: Die Frequenz bleibt immer gleich, denn der Timer zählt immer bis 127. Nur der Duty-Cycle wird verändert, denn das ist der Sinn der PWM.

Möchtest du jetzt eine Frequenz von 20kHz, dann musst du die Formel umstellen (aber richtig!):
fpwm = ftck / (ocr1c + 1) -> ohne Quadrat!
ocr1c = (ftck / fpwm) - 1
ocr1c = (64.000 / 20) - 1 = 3199
Dieser Wert liegt über den max. möglich 255, d.h. du musst dir jetzt noch Gedanken über den Prescaler machen.

Comanche
26.06.2010, 18:34
Puh, ich glaub ich hab die PWM immer noch nicht ganz verstanden :(

Ich war jetzt immer, weil das vorhin so bestätigt wurde, davon ausgegangen, dass die Frequenz der PWM nur angibt, wie schnell der Counter zählt. Daher kam weiter oben auch die recht kleine Zahl von 122 Hz.

Das heißt, 500 kHz ist tatsächlich die Frequenz, mit der dann auch mein vorgeschalteter MOSFET arbeiten würde, d.h. 500000 pro Sekunde an- und aus (unabhängig von Tastverhältnis & er muss es können) und ich muss diese nicht nochmal in irgendeiner Weise umrechnen? Und das würde dann auch bedeuten, dass ich beim Counter0 mit Fast-PWM ohne Skalierung und 8 Mhz tatsächlich auf 8Mhz/256 = "echte" 31250 Schaltvorgänge kommen würde?

Kampi
26.06.2010, 18:46
Ja genau. Die Frequenz kannste für die weiteren Berechnungen nicht mehr "gebrauchen". Den Rest errechnest du über das Tastverhältnis. Also bei einem Tastverhältnis von 50:50 hast du eine Spannung von 2,5V (Bei 5V für ein Tastverhältnis von 100%)
Als Beispiel wie du sowas rechnen kannst:
Compare wird auf 50 gerechnet
Timer 0 mit 8Bit = 255
(5V/255)x50 = 0,98V
Das heißt das du eine effektive Spannung von 0,98V am Ausgang hast wenn du das Compareregister auf 50 setzt.

Das heißt das wichtige für die PWM ist das Tastverhältnis, weil daraus resultiert die Spannung. Die Frequenz ist für die Spannung total egal.

Comanche
26.06.2010, 18:53
Hallo,

auch für deine Antwort danke :) Dass die Spannung über das Tastverhältnis gereglt wird ist jetzt klar. Die Sache ist, dass ich mit dem so erzeugten Signal einen MOSFET ansteuere, der somit ja mit einer gewissen Häufigkeit pro Sekunde an- und abschaltet. Das "Problem", ist nun, dass hintendran ein Tiefsetzsteller hängt, den ich dimensionieren will, und dabei wird wieder mit Frequenzen gerechnet nämlich, wie oft der Schalter vor dem Tiefsetzsteller an- und abschaltet. Und das entspricht ja dann wiederum genau die PWM-Frequenz, denn ich weiß, dass pro PWM-Takt die Spannung einmal high und einmal low ist. Wie lange sie das ist interessiert meinen Tiefsetzsteller erstmal nicht, den interessiert eigentlich nur, wie groß die Eingangsspannung ist, wenn sie denn anliegt und wie oft das pro Sekunde passiert.

BASTIUniversal
26.06.2010, 19:00
@Kampi: Das gilt aber nur sehr bedingt. Ist die Last am Tiefsetzsteller sehr gering, dann kann es sein, dass dein Tastverhältnis für stabile 2,5V nahe 0 sein muss. Bei hoher Last entsprechend mehr als 50%.
Man kann jetzt natürlich den Lüfter dranhängen und eine Tabelle Tastverhältnis/Spannung erstellen und in den Tiny programmieren...oder man benutzt den integrierten A/D-Wandler um eine echte Regelung aufzubauen.

@Comanche: Ja, dein MOSFET oder Bipolar-Transistor muss die 500kHz mitmachen. Aber das Problem darin liegt nicht im Transistor, sondern in dessen Ansteuerung.
Da beim FET eine Gate-Kapazität umgeladen werden muss, braucht es bei so hohen Frequenzen sehr hohe Ströme. Auch die 31kHz würde ich schon als problematisch für den nackten µC-Pin ansehen.
Eine einfache Schaltung aus BC547/557 zur Ansteuerung reicht hier aber.

Kampi
26.06.2010, 19:08
Naja Basti wären die Probleme den weiterhin da wenn er einen FET nehmen würde dessen Gate mit TTL-Pegel arbeitet?
Und zur Dimensionierung des Tiefsetzstellers habe ich mich mal bei Google bischen informiert.....
Dabei habe ich das hier gefunden
-> http://www.iem.rwth-aachen.de/uploads/226/20/versuch-8.pdf
Schau mal drüber vielleicht hilft es dir ja weiter und ist brauchbar, weil ich kenn mich selber nicht so gut mit Step-up und Step-down Wandlern aus und da schadet ein Dokument was brauchbar ist nicht.

Comanche
26.06.2010, 19:15
Hallo,

dann besten Dank, ich habs endlich verstanden :) Das ich nicht einfach irgendeinen MOSFET nehmen und mit 500 kHz ansteuern kann ist klar. Ich denke, zu Anfang werde ich mal rumexperimentieren. Um die Ansteuerung hab ich mich bisher nicht gekümmert, das ist jetzt das nächste Thema, dem ich mich widmen werde. Ich bin auf jeden super froh, dass ich a) die PWM nun verstanden habe und b) als Ergebnis davon nun auch meinen Tiefsetzsteller dimensionieren kann :)

Ich finde es auf jeden Fall faszinierend, wieviel ich durch solch eine "Popelprojekt" schon gelernt habe, meine Ursprungsidee war eigentlich nur "µC nehmen, zwei Tasten dran (schneller + langsamer) und das Ganze dann auf einen Lüfter geben". Und womit hantiere ich jetzt? PWM, Tiefsetzsteller, MOSFET-Ansteierung... :D

Vielen Dank euch allen, ist echt ein super Forum hier.

Edit:
@Kampi: Ich habe diese Seite hier gefunden: http://schmidt-walter.eit.h-da.de/smps/smps.html

Zum einen kann man sich dort die benötigten Induktivitäten berechnen lassen und zudem wird da noch erklärt, wie das geht. Das letzte Problem bleibt jetzt, wie ich mein LC-Glied tatsächlich dimensioniere, ich werde mich aber jetzt zu Beginn einfach damit begnügen dass die Grenzfrequenz wesentlich kleiner als die Frequenz der PWM sein muss. Da andere Schaltpläne mit derartigen Werten für L und C arbeiten, dass die Grenzfrequenz zwischen 200 und 800 Hz liegt werde ich mir nun einfach eine passende Spule dimensionieren und dann einen passenden Elko auswählen so dass ich auch auf etwa 200 Hz komme. Geht ja auch nur um die popelige Ansteuerung von Lüftern ;)

PICture
26.06.2010, 19:41
pro PWM-Takt die Spannung einmal high und einmal low ist. Wie lange sie das ist interessiert meinen Tiefsetzsteller erstmal nicht, den interessiert eigentlich nur, wie groß die Eingangsspannung ist, wenn sie denn anliegt und wie oft das pro Sekunde passiert.

Deine Vereinfachung geht zu weit. Nur der Tastverhältnis bei permanenter (PWM) Frequenz und Amplitude der Eingangsspannung entscheidet über den Wert der Ausgangsspannung, weil dein Tiefsetzsteller ein Tiefpass ist. Wie oft mal pro Sekunde die Umschaltung passiert, ist praktisch egal.

MfG

Comanche
26.06.2010, 20:10
Hallo,

das stimmt natürlich, aber um eben meinen Tiefsetzsteller bzw. meine Induktivität zu dimensionieren muss ich ja eben wissen mit welcher Schaltfrequenz ich es zu tun habe.

PICture
26.06.2010, 20:28
Na ja, ich nehme alles so genau. Sorry ... :)

Selbstverständlich für Bestandteile des Tiefpasses ist nur die Frequenz wichtig und Tastverhältnis egal ...

MfG

Comanche
26.06.2010, 20:45
Hallo,

das macht ja nichts :) Ich frag halt lieber zweimal nach oder erklär nochmal, was ich meine bevor ich mir ansonsten womöglich etwas Falsches merke :)

Comanche
27.06.2010, 00:16
Da beim FET eine Gate-Kapazität umgeladen werden muss, braucht es bei so hohen Frequenzen sehr hohe Ströme. Auch die 31kHz würde ich schon als problematisch für den nackten µC-Pin ansehen.
Eine einfache Schaltung aus BC547/557 zur Ansteuerung reicht hier aber.

Hallo,

ich bin es mal wieder. Wo kann ich Informationen bezüglich der DImensionierung o.ä. einer Ansteuerung kriegen? Ich bin scheinbar irgendwie zu blöde dafür gescheite Infos zu finden. Ich habe wieder ein paar Beispielsschaltungen gefunden, eine davon habe ich mal einfach in meine Schaltung eingebaut.

https://www.roboternetz.de/phpBB2/files/luefter_pwm_lc_steuer.png

Die Funktionsweise ist mir allerdings noch nicht ganz klar. Ich komme noch bis zu dem Punkt, dass wenn der Transistor schaltet etwa 910µA in die Basis fließen und somit, bei einer Verstärkung von etwa 160, knapp 150mA in den Kollektor fließen. Da dabei näherungsweise 12V am Widerstand R3 anliegen fließen über diesen 17mA. Somit werden knapp 130mA aus dem MOSFET abgezogen. Soweit korrekt?

Wo ich gar nicht mit zurecht komme ist, wenn der Transistor sperrt, ich weiß nicht, wo ich anfangen soll. Zudem stellt sich mir, wie schon gesagt, die Frage, wie ich die Ansteuerung überhaupt zu dimensionieren habe :-/

PICture
27.06.2010, 01:50
Hallo Comanche!

Ich habe kurz ins Datenblatt des IRF9530 geschaut und folgende Informationen daraus genommen:

Gate Kapazität max. 500 pF und Sperrspannung (Ugs) min. -4 V.

Wenn die Ausgangspannung = Lüfterspannung, wie von dir angenommen min. 5 V ist, dann wird der Transistor mit ca. 0V am Gate (gegen GND) sicher gesperrt.

Da die Gate Käpazität sich über R3 laden und über T1 entladen wird und der Ausgangswiderstand von T1 sicher kleiner als R3 ist, könnte man sich nur um R3 kümern. Um die Berechnungen zu vereinfachen, dürfte man annehmen, dass die Spannung am Gate in ca. t = 5 * R * C umgeladen wird, was bei C = 500 pF und R = 680 Ohm gleich ca. 1,7 µs ist.

Bei deiner PWM Frequenz F = 31,25 kHz ist die Periode ca. 32 µs lang und die Umschaltzeit ca. 5 % davon, was sehr gut ist.

Bitte prüfe das noch, weil um diese Uhrzeit kann ich die Richtigkeit meinen Berechnungen nicht garantieren. Ausserdem bin ich der PWM Frequenz nicht sicher. ;)

MfG

Kampi
27.06.2010, 10:37
Die Rechnungen stimmen soweit. Nur was ich persönlich nicht verstehe ist was die Umschaltzeit von 5% ist.

BASTIUniversal
27.06.2010, 12:20
@Kampi: Das Problem mit der FET-Ansteuerung hat nichts damit zu tun ob das ein Logic-Level-FET ist oder nicht.
Jeder FET hat eine Gatekapazität. Meistens gilt hier: Je niedriger der On-Widerstand, desto höher die Kapazität (weil mehr Chipfläche vorhanden ist).
Diese Gatekapazität muss möglichst schnell umgeladen werden, denn während dem Umladen ist der FET im Linearbetrieb. Er ist in einem Zustand zwischen sperren und leiten, hat also einen entsprechend hohen Widerstand. Daraus folgt dann ein hoher Spannungsabfall über der Source-Drain-Strecke und damit eine hohe Verlustleistung.

Zum Vergleich:
IRF1404, 4mOhm Rds_on, Total Gate Charge: 196nC
IRLZ34, 35mOhm Rds_on, Total Gate Charge: 22,5nC
IRF9530, 300mOhm Rds_on, Total Gate Charge: 45nC

Möchte man nun mit 100kHz schalten, dann beträgt die Periodendauer 10µs. Damit man möglichst wenig Umschaltverluste hat nehmen wir mal eine Umladedauer von 0,2µs.
Aus I = Q / t folgt:
IRF1404: I = 196nC / 200ns = 0,98A
IRLZ34: I = 22,5nC / 200ns = 0,11A

Diese Rechnung ist natürlich nicht 100% korrekt, da hier von einem konstanten Strom ausgegangen wird...zeigt aber recht gut mit welchen Strömen man hier arbeiten muss.
Eine Umschaltzeit von 1,7µs ist aber (meiner Meinung nach) eher schlecht. Schon ältere FET-Treiber sind mit 20ns Fall/Rise Time bei 1nF spezifiziert.

Hier (http://www.mikrocontroller.net/articles/FET) findet man noch mehr Infos rund um FETs. Unter anderem auch eine Formel zur Berechnung der Umschaltverluste:
Einschalten:
P_sw_r = 0,5 * U_N * I_N * t_r/T = 0,5 * 12V * 1A * 0,2µs / 32µs
Das ergibt bei 200ns Rise-Time 37,5mW, bei 1,7µs schon 319mW!

Zum Thema Treiber findest du hier (http://www.mikrocontroller.net/articles/Treiber) alles was du brauchst. Ich verwende bei Low-Side Schaltungen gerne die hier (rechts, "Diskreter Treiber 2", Bild von Mikrocontroller.net):
http://www.mikrocontroller.net/wikifiles/thumb/0/05/Beispiel_LS_Treiber_1_2.png/600px-Beispiel_LS_Treiber_1_2.png

Mit der Umschaltzeit von 5% ist gemeint, dass von der gesamten Periodendauer 5% fürs Umschalten gebraucht werden. Theoretisch wären also 5% bzw. 95% On-Time das Maximum.

Als P-FET würde ich dir einen IRF7404 empfehlen. Der hat nur 40mOhm On-Widerstand bei max. 20V Sperrspannung.

Gruß
Basti

Kampi
27.06.2010, 12:28
Hey supi. Dank dir für die ausführliche Erklärung. Aber eine Frage bleibt noch. Mit nC meinst du da Nanofarrad also nF oder ist das wieder eine andere Einheit?

Comanche
27.06.2010, 12:30
Hallo,

C (Coulomb) ist in diesem Fall die Einheit der elektrischen Ladung Q. F wäre die entsprechende EInheit für den Kondensator wobei gilt:

Q = C*U => [C] = [F]*[V]

Kampi
27.06.2010, 12:41
Ahh ok. War nur wegen dem Begriff Kapazität und dem Buchstaben C etwas verwirrt. Aber danke für die Aufklärung O:)

PICture
27.06.2010, 12:59
Hallo!

@ Kampi & BastiUniversal

Vielen Dank fürs Überprüfen meiner Berechnungen ! :)

Weil der Comanche vorher schon geschrieben hat, das für ihm egal ist, ob der Lüfter volle Spannung (12 V) bekommt, bin ich davon ausgegangen, dass ihm die 95 % PWM reicht. Ausserdem bin ich, wie er, für einfachste ausreichende Lösungen, da ich eher praktiker bin.

Man könte jede Schaltung fast unendlich komplizieren, was für mich nur nächste Probleme bringt. Wenn der Comanche komplizierte Schaltung haben will habe ich nichts dagegen. Ich habe bloß schnel geprüft ob von ihm geplannte einfache Schaltung seinen Erwartungen entspricht.

Ich glaube, dass der MOSFET mit Ptot = 75 W die Schaltverluste noch verkraftet, ohne heiss zu werden. :)

MfG

Kampi
27.06.2010, 13:14
Naja im Notfall bringt er ihn halt nahe am lüfter an 8-[
Wobei ich solche Diskussionen über eventuelle Lösungen als recht hilfreich betrachte, da man dabei oft bisschen tiefer in die Materie geht und schaden tut sowas allemal nicht.

Comanche
27.06.2010, 13:20
Hallo,

genau darum geht es mir hier auch :) Natürlich möchte ich einerseits eine einfache Lösung finden. Andererseits will ich aber auch was Lernen, und dabei ist es eben gut, wenn man sich auch mal kompliziertere oder umfangreichere Lösungen anschaut :)

PICture
27.06.2010, 13:37
Das ist sicher die effizienteste Vorgehensweise, die Lösung die man letztendlich aufbaut, müsste man aber leider immer selber wählen ... :)

MfG

Comanche
27.06.2010, 14:47
Ich hätte zur "Diskreter Treiber 1" noch eine Frage.

Angenommen ich schließe meinen µC mit 5V VCC dort an, dann liegen an R27 etwa 4.3V und es fließen 1.3mA. Der Transistor hat eine Verstärkung von 250 bis 600, ich habe jetzt das Mittel 425 genommen (darf man das einfach? Oder besser Maximum?). Somit fließen dann 552.5mA in den Kollektor.

So, und nun kriege ich Probleme. Ich habe zum 817 genau ein Datenblatt gefunden, in welchem die Ic-Uce-Kennlinie dargestellt ist. Bei 1.2mA Ib ist dort als maximales Ic 230mA angegeben. Da der Transistor beim Schalten ja in Sättigung gehen soll, also muss der Kollektorstrom definitiv kleiner (laut Datenblatt ~200mA) sein.

Aber: wie wird denn nun der Kollektorstrom begrenzt? EIn Anteil kommt aus R26, über diesem liegen, wenn der Transistor in Sättigung ist, dann etwa 14.3V. Macht somit 43mA. Wie aber wird nun der Strom aus dem MOSFET bgrenzt? Ich habe ja jetzt das Problem dass ich zwei unbekannte habe. Um meine 0.7V Uce(sat) zu kriegen brauche ich meine 200mA am Kollektor, gleichzeitig brauche ich aber einen bestimmten Strom aus dem MOSFET um die 200mA zu kriegen. Und da steigt es bei mir aus, das versteh ich einfach nicht :(

PICture
27.06.2010, 15:19
Ehrlich gesagt, verstehe ich dein Problem nicht ganz. Bei Berechnungen von Transistorschaltungen, wo der Transistor als gesättigter Schalter arbeitet, wird er als Unterbrechung bzw, Kurzschluss betrachtet (wie "normaler" Schalter).

Die Ströme werden dann logischerweise durch im entsprechenden Stromkreis nur durch sich dort befindliche Widerstände begrentz.

Für Berechnungen sollte man für gesättigte Schalttransistoren immer die minimale Stromverstärkung (ß = h21e), also in deinem Fall 250 annehmen, weil bei grösserem ß der Transistor bloß tiefer gesättigt wird, da der durch vorhandenen Widerstand begrenzter Strom sich nicht ändert.

Beim sehr schnellen Schalten sollte die Sättigung vermeiden werden und Rb = Rc * ß angenommen werden, was Vermessen von ß für tatsächlich angewendeten Transistor benötigt. Für gesättigte Transistoren gilt Rb < ßmin * Rc.

Meine Meinung nach, könnte zu viel Wissen, das man nicht wirklich versteht, sogar schädlich sein und die Berechnungen nur erschweren. :)

MfG

Comanche
27.06.2010, 15:27
Tja, mein Problem ist, dass im Studium ein wenig Elektrotechnik machen musste, was auch noch nicht lange her ist. Dort wird einem dann natürlich beigebracht wie man korinthenkackerisch bis aufs Femtoampere alles genau rechnet, nicht aber, wie man z.B. Schaltungen selber dimensioniert.

Aber danke für deine Erklärung :)

PICture
27.06.2010, 15:47
Du sollst versuchen alles, was du zu deinen laufenden Entwicklungen nicht brauchst, möglichst schnell vergessen.

Ersten Satz, den ich am ersten Arbeitstag von meinem Vorgesetzten gehört habe war : " Das haben sie aber sicher nicht auf Studium gelernt." :)

Weil ich seit Geburt ein Praktiker bin, der überwiegend durch eigene Versuche die umgebende Welt kennengelernt hat und ständich ändert, mag ich die unnötige Theorie nicht, da ich nie ein Wissenschaftler seien, sondern immer Spass am Leben haben wollte.

MfG

BASTIUniversal
27.06.2010, 19:31
@PICture: Einige meiner Elektronikversuche und -entwicklungen wären nie zustande gekommen, wenn ich alle "unnötige" Theorie vergessen oder verdrängt hätte.
Ich denke da hast du deine Aussage etwas zu allgemein gefasst.

Also: Immer schön Neugierig bleiben ^^

PICture
27.06.2010, 19:56
@ BASTIUniversal

Sorry, aber man darf nicht alles so ernst nehmen, wie ich geschrieben habe ... :(

Dein letzter Satz, hat mich über ganzes Leben begleitet und Neugier war immer mein Antrieb, sonst lebe ich wachrscheinlich heute nicht mehr ... :)

MfG

Comanche
03.07.2010, 11:15
Hallo miteinander,

ich habe jetzt mal eine gänzlich untechnische Frage:

Wo kriege ich (fertige) Speicherdrosseln zu moderaten Preisen her? Ich wollte an sich versuchen alles, was ich nun benötige in einem Aufwasch zu bestellen, aber das kann man ja fast vergessen. Entweder die Shops haben ohnehin schon nur ein eingeschränktes Sortiment oder aber ich müsste nur wegen ein oder zwei Teilen wieder woanders bestellen oder aber die Drosseln kosten gleich ab 4€ aufwärts, das finde ich dann doch auch etwas heftig wenn ein Einzelbauteil teurer ist als die gesamte restliche Schaltung (und es sich dabei nicht um einen IC handelt). Reichelt führt zwar Power-Induktivitäten, die sind aber SMD, ich möchte nach Möglichkeit aber "normale".

Gruß,
Daniel

ManuelB
03.07.2010, 11:37
Reichelt hat die Amidon Ringkerne, damit kann man sich auch Speicherdrosseln bauen. Das 26iger Material (weis-gelb) geht z.B. wenn die Schaltfrequenz nicht zu hoch ist.

MfG
Manu

PICture
03.07.2010, 13:54
Hallo!

@ Comanche!

Ich freue mich sehr, dass du den richtigen Weg zum sich ereignen des praktischen Wissens gefunden hast. :)

Dein letzten Beitrag beweisst das, dass du dein theoretisches Wissen sehr gut für Praktische Lösungen anwenden kannst.

Das lernen der Praxis ist ein lebenslanges Prozess, das nach dem theoretischen Lernen nötig ist, um z.B. ein Entwickler zu werden ...

Weiter so ! Ich wünsche dir zukünftig viel Erfolg! :)

MfG

Comanche
14.07.2010, 12:36
Hallo allerseits,

ich musste in den letzten zwei Wochen relativ viel an der Uni erledigen daher bin ich erst in den letzten Tagen dazu gekommen mich wieder mit dem Thema zu beschäftigen.

Ich habe mich nun entschlossen nicht die einfache Emitterschaltung zu nehmen sondern einen Gegentaktverstärker nachzuschalten. Bei der Simulation in LtSpice waren mit der Emitterschaltung keine sauberen Frequenzen oberhalb von ~20kHz mehr möglich. Ursächlich dafür dürfte der hohe Basiswiderstand sein der in Verbindung mit der Kapazität des Transistor zu zu hohen Umladezeiten führte.

https://www.roboternetz.de/phpBB2/files/luefter_pwm_1.png

Die jetzige Schaltung funktioniert (simuliert) verhältnismäßig gut, ich habe am Ausgang im Vergleich zum Eingang eine Einschaltverzögerung von unter 100ns und eine Ausschaltverzögerung von unter 300ns (Könnte ich die noch irgendwie senken?). Der µC-Pin wird mit maximal 10mA (Peak) belastet. Etwas Gedanken mache ich mir noch um Q1 und Q2. Q1 ist mit 100mA spezifiziert, die maximale Belastung in der Simulation ist 90mA. Ich habe gelesen, dass man Transistoren idealerweise mit maximal I_Cmax/2 belasten soll. Da der Peak oberhalb von 50mA jedoch nur 30ns lang ist denke ich, dass es ok ist. Bei Q2 sieht es ähnlich aus, er ist mit 800mA spezifiziert, und wird ebenfalls für etwa 30ns mit mehr als 400mA belastet.

https://www.roboternetz.de/phpBB2/files/luefter_pwm_1_inout.png

Für die Drossel werde ich 26er Amidon-Ringe und >= 0.5er Kupferlackdraht nehmen, alles andere macht irgendwie keinen Sinn.

Gruß,
Daniel

PICture
14.07.2010, 13:28
Hallo!

Bei allen gesättigten Transistoren lässen sich sowohl Einschalt- als auch Ausschaltverzögerungzeit durch an Basis/Gate hängenden Teiler mit entsprechendem paraller zum vorhandenen seriellen Widerstand (R1) Kondensator (Ck) theoretich ganz eliminieren. Wegen meist unbekanten Montagekapazitäten ist es in der Praxis nicht immer möglich, lassen sich aber sicher deutlich kürzen (siehe Code).

MfG



Ck

||
+----------||-----------+
| || |
| |
| .-------------------. |
| | ___ | |
| |+-|___|-+ | |
| || R1 | | | Basis
Schaltsignal >----+--+ +---+---+----+---> bzw.
|| || | | | | Gate
|+---||--+ .-. | |
| C1|| | | --- |
| R2| | --- |
| '-' |C2|
| | | |
| +-+-+ |
'--------------|----'
===
GND

Comanche
14.07.2010, 19:43
Hallo,

danke für den Tip, nachdem ich es nun simuliert habe bin ich zu dem Schluss gekommen, dass nicht der Eingangstransistor schuld ist sondern der Vorwiderstand des Gates. Wenn ich das rausnehme habe ich beim Ausschalten deutlich weniger als 200ns Verzögerung, allerdings fließen dann über den Transistor Q2 auch fast 1.2A, was den zulässigen Peakstrom deutlich überschreitet. Aber ich denke, dass ich es nun dabei belassen werde, ich will schließlich nur Motoren steuern :D

ManuelB
14.07.2010, 20:14
Also der BC327 ist, wenn ich mir das Vishay Datenblatt anschaue, bis 1A Peak. Man kann Ein- und Ausschalten ja auch über verschiedene Widerstände machen, wenn man in den Pfad des Auschaltwiderstandes eine Diode setzt.

Mfg
Manu

PICture
14.07.2010, 20:25
Normaleweise, laut deinen letzten Schaltplan (luefter_pwm_1.png), leiten Q2 und Q3 nie gleichzeitig und der Peakwert des Kollektorstroms von Q3 nur von Umladen der Gate Q4 stammt. Wichtig ist eigentlich nur die max. mittlere Energie in bestimmter Zeit. Die Daten im Datenblatt finde ich unausreichend um das gaze auszurechnen.

Wenn der Wert den Absoluten Grenzwert für Mittelwert im Dattenblatt nicht übersteigt (leider auch nicht angegeben), würde ich es so lassen, sonst "stärkeren" Transistor bzw. kleineren, aber noch annehmbaren R3 nehmen. Der Mittelwert des Stroms wird sicher niedriger und hängt von der Periode von PWM ab.

Bei grösseren Stromimpulsen ist sogar anwachsen der Temperatur von Halbleiter über 175 °C und thermischer Durchbruch zulässig, wenn der Strom zeitlich begrentzt ist und der Halbleiter genug Zeit zum Abkühlen, vor dem nächsten Stromimpuls hat. Ich habe bisher nicht geschafft durch kurze Stromimpulse über Absoluten Grenzwert nur einen Anschluß beim Transistor intern "abzulöten".

Übrigens, bei der gegentakt-Ausgangsstufe könnte man durch Anschliessen getrennten Widerständen in Emittern den Transistoren Q2 und Q3, der Ein- und Ausschaltzeiten individuell definieren (nicht gleich wie bei gemeinsamen R3).

MfG

Comanche
14.07.2010, 20:49
Hallo,

der Mittelwert liegt über eine PWM-Periode bei etwa 2.4mA, 40ns ist er gemittelt etwa 600mA, den Rest der Zeit 0mA.

Die Idee mit den getrennten Widerständen für Ein- und Ausschalten hört sich gut an, ich werde da mal rumexperimentieren :)