Regelstrecke eines PC-Lüfters

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Regelstrecke eines PC-Lüfters

    Weiß einer von euch, wie die Regelstrecke eines PC-Lüfters aussieht? Also wie die Ersatzschaltung von einem DC Motor aussieht, weiß ich, aber ich hätte gerne eine möglichst allgemeine (für alle PC-Lüfter) Differenzengleichung (via Z-Transformation) in meinem Chip. Hat jemand schonmal sowas gebastelt und kann mir nen Tipp geben, wie die Differenzengleichung für so einen Fall aussehen könnte/sollte bzw. was für Werte (Grenzfrequenzen und Verstärkungen) da in etwa anzunehmen sind? (Ich hab auch leider kein Oszi und Labornetzgerät zuhause rumliegen :()

    Und nein, die Anwort "der I-Anteil wird's schon richten", ist mir nicht ausreichend :D

    Edit: leider kann ich mit dem µC, den ich verwende auch schlecht die Regelstrecke aufzeichnen, weil der irgednwie nur 8 Pins und 'nen sehr begrenzten Speicher hat :(
    Naja.. ich dachte an alt-eingesessene wie mikeb, fraju oder peterfido. Aber offensichtlich ist die Regelungstechnik doch wohl ein anderes Gebiet?!

    Die Z-Transformation ist die Laplace-Transofrmation für nicht-kontinuierliche Systeme. D.h. digitale Regelungen haben eine gewisse Abtastfrequenz (z.B. die Zeit einer AD-Wandlung zur nächsten oder von einer Lüfter-Drehzahlsignal-Flanke zur nächsten), weshalb man keine Differentialgleichung hat, sondern eine Differenzengleichung (Delta x <-> dx). Man braucht aber, um eine Regelung zu machen, in beiden Fällen die Parameter der Regelstrecke um den Regler vernüftig dimensionieren zu können.
    Ich hatte ebenen gehofft, dass jemand irgendwelche Richtwerte hat.


    Detaillierte Infos zu PC-Lüftern findet man leider kaum und ein Typenschild haben die auch nicht ;) Die Werte, die ich bräuchte wären prinzipiell die Maschinenkonstante (zusammenhang zwischen Moment und Strom), der Ankerwiderstand (Ohmmeter dran und gut ist) und die Ankerinduktivität (kann ich leider nicht messen). Alternativ könnte man die Werte auch aus einer Spungantwort (also Spannung anlegen und gucken, wie es sich verhält) ermitteln, OSZI hab ich aber auch keins zuhause.
    Hab's jetzt vorrübergehend Quick and dirty, mit einer naja... hingewürfelten Regelung gemacht.
    Ich hab irgendwie das Problem, dass der verbaute (60mm) Lüfter bei D=1 _sehr_ laut ist und bei hohen sowie niedrigen Schaltfrequenzen auch ordentlich lärmt :( Bei Schaltfrequenzen über 20kHz (also theor. nicht hörbar) funktioniert der nicht mehr und Schaltfrequenzen von < 20Hz sind dann doch recht langsam...

    Nun zu meiner vorrübergehenden Lösung:
    D ... Tastverhältnis des PWM. 1=100% an, 0=0% an. Wird bei mir als uint8_t (also 0...255) angegeben.
    Am Anfang will ich auf jeden Fall 100% haben -> D=1
    Ich warte so lange, bis sich die Drehzahl nicht mehr ändert, dann hab ich die max. Drehzahl. (in Ticks = 1/2 Umdrehrung (beide Flanken) pro Abtastinterval). Mit dem Wert könnte man eigentlich schon eine (ungenaue) Steuerung realisieren. Ich hab einfach mal die Abweichung berechnet und auf 255 normiert. Das ganze wird dann mit der Verstärkung P (im Moment mal 1) zum aktuellen Wert dazu gerechnet bzw. abgezogen.

    Bsp.: Ich hab eine Drehzahl von 100, will eine Drehzahl von 50 und das Tastverhältnis D ist zzt. 255. Die maximale Drehzahl ist 100.
    (50-100) / 100 * 255 = -127. D.h. das neue D ist 255 - 127 = 128. Beim nächsten Durchlauf hab ich dann vielleicht eine Drezahl von 80, dann geht die Rechnerei von vorne los:
    (50-80) / 100 * 255 = -77. D.h. das neue D ist 128 - 77 = 51. Beim nächsten Durchlauf hab ich dann z.B. nurnoch 40:
    (50-40) / 100 * 255 = 25. D = 51 + 25 = 76. Und langsam aber sicher komm ich in etwa an's Ziel :D

    Keine besonders schöne Regelung, keine besonders schnelle Regelung, ordentliches Über- bzw. Unterschwingen am Anfang (100 -> 50), ABER es funktioniert und man hört das blöde Teil endlich nicht mehr Schalten :)