12 V Stromversorgung für Lüfter mit PWM mit Relais schalten ?

    • Best Answer

    Ja, genau. Der Lüfter hat intern eine Elektronik, die vom PWM nur gesagt bekommt, was sie machen soll.


    Die PWM-Frequenz muss innerhalb dieser Grenzen liegen. Am besten nimmst du also 3,5 KHz.

    2 und 5 Khz sind die Messbedingungen oder der Min- und Max-Wert. Aber das ist im Datenblatt etwas ungenau gemacht.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • f65

    Selected a post as the best answer.
  • Hi, habe nun mal ein wenig recherchiert und hoffe du kannst mir noch mal bei einem Verständnisproblem helfen.


    Ich nutze wiringpi, weil es dafür auch eine Implemention für VisualStudio gibt.


    Nach folgender Formel soll ja beim Pi3 grundsätzlich die Frequenz eingestellt werden:


    19.200 khz

    ----------------------

    PWMC *PWMR


    PWMC ist der Clockdivider und PWMR der DutyCycle


    Wenn ich jetzt die Frequenz auf ca. 3,5 khz einstellen will, brauch ich ja unter dem Strich einen Wert, der um und bei 5.500 ergibt ?


    Nun könnte ich ja stumpf den PWMC auf 2 stellen und den PWMR auf 2250 stellen.

    Ich könnte es ja auch genau anders herum machen - also PWMC auf 2250 und PWMR auf 2 !


    Beides wäre innerhalb der möglichen Parameter.


    Aber was wäre denn der Unterschied zwischen diesen beiden Einstellungen ?

    Das habe ich aktuell noch nicht verstanden oder liegt das daran, das das für den Lüfter gar keine Rolle spielt, sondern bspw. die LED zum

    blinken bringen würde ?


    Wenn ich das richtig verstanden hab, kann ich dann direkt mit "gpio pwm 23 512" den Lüfter zum stehen bringen , wenn ich vorher auf mark-space-mode gestellt habe ? Das entspricht dann PWM 50 % am GPIO.23 - alles unter 512 bringt ihn zum drehen vorwärts, alles über 512 zum drehen rückwärts ? 1024 wäre dann Volllast in eine Drehrichtung ?


    Habe ich das generell so erstmal richtig verstanden und was ist der Unterschied zwischen den beiden Werten unter dem Bruchstrich ?

  • Also, ich dachte immer WiringPi ist eine Lib für Serille Communikation... was hat die mit PWM zu tun


    Den Clock-Divider kann man normalerweise nicht völlig beliebig einstellen, sondern nur auf bestimmte Werte. Außerdem hat der dann einfluss auf alle möglichen Komponenten, die eben mit dem Takt dieses Clocks betrieben werden. Da ich PWM beim Pi noch nie verwendet habe, kann ich dir dazu nichts weiter sagen.


    Aber es gibt im Web und in Youtube sicher genügend Beschreibungen, wie man PWM mit dem Pi hinkriegt. Mit einen µC ist das jedenfalls (da wiederhole ich mich gerne) wesentlich einfacher.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Mit wiringPi hat man Zugriff auf die GPIOs und kann auch die Hardware PWMs nutzen:


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Zumindest habe ich es so verstanden. Du hast Recht, das maximum vom ClockDivider ist 4095 .


    Trotzdem würde das Beispiel was ich schrieb ja funktionieren, zumindest dem YT Video nach - weil unterm Strich bei dem von mir gewählten Beispiel dann die 3,5khz für den Lüfter rauskommen sollten.


    Ich warte mal ob ich heue noch die Sachen bekomme, dann kann ich zumindest mal mit ner LED schon mal ein wenig testen.

  • im Prinzip ist es (fast) egal, wie du auf die 3500 kommst - aber du kannst es clever wählen.

    Hinter diesem PWM-Mechanismus steht eine Art Zähler, den man auch für die Messung und Erkennung von Signalen nehmen kann. Wenn du sehr genau messen willst, mus die Frequenz hoch sein, wenn du sehr lange Zeiten messen willst, muss die Frequenz gering sein, weil der Zähler beschränkt ist. Deshalb dieser Clock Devider. Was er im Video sagt, dass die Range unendlich ist, kann nicht sein. Bei Mikrocontrollern sind es meist 16 Bit also nur bis 32767, beim Pi eher 32 Bit. Aber eben beschränkt. Damit könntest du bei 19,2 KHz 32 Sekunden lang zählen. Verlangsamst du die Uhr (Clock) um den Faktor 4095, kommst du auf 254 Stunden. (Viele Microcontroller können maximal 4 Sekunden zählen.)

    Für deine Anwendung spielt das zunächste keine Rolle. Wenn ich es richtig sehe, ist der Clock Devider standardmäßig auf 1, die Range auf 1024, das heißt die Frequenz ist 19200000/1024 = 18,75 KHz.


    Der Unterschied ist, dass der Zähler in der ersten Variante sehr schnell bis 2250 zählt (und zum Beispiel bei 50 % DutyCycle bei 1125 den Pin umschaltet)

    und bei der zweiten Variante zählt er extrem langsam bis 2 und schaltet immer bei 1 um. Der zweite Fall kann nicht funktionieren, weil ein Zähler, der nur bis zwei zählt, nur bei 0, 50 und 100% PWM arbeiten kann. 40% wäre gar nciht möglich. Um deinen Lüfter mit Prozentzahlen von 0 bis 100 anzusteuern, muss deine Range eben auch bis 100 gehen - das wäre das einfachste. (Sie könnte auch bis 1000 gehen, damit du Zehntelprozent einstellen kannst - bringt aber hier nichts.)


    Also Range = 100

    Frequenz soll 3500 sein.

    => Clock = 19200000 / (3500 * 100) = 54,85

    Mit 55 kommst du auf eine Frequenz von 19200000 / (55 * 100) = 3490,9


    So kannst du den Lüfter direkt auf die gewünschte Prozentahl setzen, zum Beispiel auf 50% mit GPIO PWM 50

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hi,


    jetzt komme ich leider erst dazu zu antworten, also das du das mit der Range nochmal erklärt hast, hat mir nochmal weiter geholfen.

    Das sind ja dann quasi die Anzahl der Schritte die eingestellt werden können, das ist verständlicher jetzt.


    Ich habe grade mal die LED auf das nun endlich erhaltene Board geklemmt und ausprobiert, das funktioniert auch soweit, nun

    lese ich mal noch weiter ein und und guck mal ob ich mich dann mal an den Lüfter wage....


    Bis hierhin danke - ich meld mich sicher wieder, wenn Probs auftauchen.