Home ==>
Inhaltsverzeichnis ==>
4098-PWM
Seitenindex
Manchmal braucht man pulsweiten-modulierte Signale. Das sind
solche, die für eine bestimmte Zeitdauer auf logisch
Eins gehen und dann für eine andere Zeitdauer zurück
auf logisch Null gehen. Danach wiederholt sich das Spiel.
Wozu das? Schaltet man einen Ausgang für eine kurze
Zeitdauer an und dann für eine längere Zeitdauer
wieder aus, dann kriegt z. B. ein angeschlossener
Elektromotor oder eine LED einen kurzen Stromstoß
und ist dann wieder vollkommen stromlos. Für den
Motor ist das eine Leistungsregelung: ist der nur für
10% der Zeit angeschaltet, hat er echt nur ein Zehntel der
mechanischen Leistung. Die LED macht dann in echt nur ein
Zehntel ihrer vollen Lichtintensität. Versuche das bei
einem 10-Watt-Motor nicht mit Widerständen hinzukriegen,
Potis mit 10 Watt sind klobig und teuer, wenn man überhaupt
solche kriegt. Außerdem kriegt man mit einem Poti keine
ordentliche Kennlinie hin, die ist naturgemäß immer
krumm und schief.
Nicht so bei einer Pulsweiten-Steuerung: die lässt sich
beliebig gerade oder krumm designen und verbrät keine
unnütze Leistung.
Man kann das folgende, wie beim Würfel auch, natürlich
mit einem Mikrocontroller ganz bequem erledigen. Wie man das ohne
Controller auch hinkriegt, zeigt diese Anwendung.
Die Schaltung besteht aus dem CMOS-IC 4098, das zwei Monoflops
enthält. Beide Monoflops starten sich wechselseitig an
ihren invertierten Trigger-Eingängen /T1 und /T2, immer
wenn der jeweils andere seine Impulsdauer absolviert hat und
sein Q-Ausgang von High auf Low wechselt.
Die Impulsdauer der beiden Monoflops wird hier mit einem
Stereo-Poti mit einer logarithmischen Kennlinie eingestellt.
Die beiden Potis sind gegenphasig geschaltet, d. h. wenn
das erste Poti einen niedrigen Widerstand hat, hat das zweite
Poti einen hohen, und umgekehrt. Das steigert die Bandbreite
des einstellbaren PWM-Verhältnisses.
Die beiden Widerstände von 10 kΩ sorgen
dafür, dass der Widerstand am RC-Eingang nicht zu niedrig
wird. Die beiden unterschiedlich großen Kondensatoren
an den C- und RC-Eingängen verstellen den einstellbaren
Pulsweitenbereich etwas, so dass auch sehr niedrige Pulsweiten
unter 1% einstellbar sind.
Den Abblockkondensator 100 nF Keramik kennen wir schon.
Der 4098 hat 16 Pins und enthält zwei Monoflops. An den Pins
CX und RXCX werden die zeitbestimmenden Kondensatoren angeschlossen,
am RXCX-Eingang der zeitbestimmende Widerstand nach Plus. Die beiden
Reset-Eingänge sind invertiert. Der Monoflop kann mit positiven
und negativen Flanken an seinen Triggereingängen gestartet
werden. An den Q- und /Q-Pins stehen beiden Ausgänge (normal und
invertiert) zur Verfügung.
Obwohl in dieser Schaltung ein Startimpuls fehlt, ist sie beim
Anschließen an die Stromversorgung immer spontan angelaufen.
Ein ursprünglich angeschlossenes RC-Glied für den
Start habe ich wieder entfernt, weil die Schaltung damit nicht
funktionierte.
Er passt in eine 16-polige IC-Fassung.
Die beiden Widerstände von 10 kΩ sind hier abgebildet.
Das ist der 4,7 nF-Kondensator.
Und das hier ist der 47 nF-Kondensator.
Das ist das Stereopoti mit 470kΩ. Die Mitte der drei Anschlüsse
ist der Schleifer.
Die Bauteile gibt es in Ladengeschäften oder im Versandhandel,
z. B. bei Reichelt.
Der Aufbau ist ziemlich einfach.
Die aufgebaute Version hatte am linken Anschlag des Potis ein
Impuls-Pausenverhältnis von 0,3% bei 112 Hz, am rechten
87% und 672 Hz. Besonders kleine Impulsraten lassen sich damit
wegen der logarithmischen Kennlinie und der Kondensatorauswahl
sehr feinfühlig einstellen.
Der 4098 macht mit Hilfe einer RC-Kombination Impulse einer festen
Dauer, wenn sein positiver Trigger-Eingang eine steigende Flanke
oder sein negativer Eingang eine fallende Flanke erkennt. Die
Zeitdauer des Impulses ergibt sich ungefähr nach folgender
Formel:
t [Sekunden] = 0,5 * R [Ω] * C [Farad]
Minimal sind für R 4,7 kΩ und maximal für
C 100 µF zulässig.
Höhere Widerstände führen daher zu längeren
Zeiten. Die beiden hier eingesetzten Kondensatoren haben an den
beiden Enden des Potenziometers folgende Zeiten zur Folge:
Kondensator | Widerstand | Zeit |
---|
4,7 nF | 10 k | 23,5 µs |
480 k | 1.128 µs |
47 nF | 10 k | 235 µs |
480 k | 11.280 µs |
Das sind die beiden gegenläufigen Widerstandsverläufe am
logarithmischen Stereo-Poti in Abhängigkeit vom Drehwinkel des
Potis. Die beiden Festwiderstände sind hier schon eingerechnet.
Die Kennlinien eignen sich Spitze für diesen Zweck: je
körzer der eine Zweig, desto länger der andere. Die
logarithmische Kennlinie sorgt auch noch für eine feinfühlige
Einstellbarkeit an den beiden Endpositionen.
Hier sind die einstellbaren PWM-Anteile in % (in rot, linke Skala)
und die Frequenzen der PWM in Hz (in schwarz, rechte Skala) angegeben.
Wie man sieht lassen sich die niedrigsten PWM-Anteile bis 5% mit etwa
der halben Potiaussteuerung sehr feinfühlig einstellen, bei
höheren PWM-Werten verläuft die Kurve etwas steiler.
Die Frequenz der PWM beginnt bei niedrigen PWM-Anteilen bei etwa
80 Hz, steigt auf maximal 1,8 kHz an und sinkt dann wieder
bis auf ca. 700 Hz ab.
Wer die Widerstände und Kondensatoren an seine eigenen Zwecke
anpassen möchte, kann sich das
Libre-Office-Spreadsheet dafür
herunterladen und mit den Bauteilen beliebig herum spielen.
Vergleicht man die Lösung mit dem CMOS-IC hier mit der, die bei einem
Mikrocontroller der Fall wäre, dann ergeben sich folgende Unterschiede:
- Die Bandbreitenspanne reicht nicht wirklich von Null bis 100%. Wer
den Motor also am linken Potianschlag ganz ausschalten und am rechten
Anschlag mit 100% seiner Leistung laufen lassen möchte, schafft
das mit dieser Schaltung nicht und muss zum Mikrocontroller greifen.
- Wer eine höher aufgelöste und ganz genau einstellbare
Regelung braucht, kommt mit dieser Schaltung nicht weiter, weil es
keine 10-Gang-Stereo-Potenziometer, und schon gar nicht logarithmische,
zu kaufen gibt. Mit einem Mikrocontroller und dem darin werkelnden
10-Bit-ADC-Wandler kann man das mit 1.024 Stufen noch feiner hinkriegen.
Und nimmt man einen mit 16-Bit-Timer (also keinen ATtiny13 sondern einen
ATtiny24 oder ATtiny25), kann man die Zeiten auch noch exakter
einstellen.
- Die Einstellkennlinie hat man mit einem Mikrocontroller auch noch
viel besser im Griff, denn man kann den gemessenen 10-Bit-ADC-Wert
mit einer Tabelle zu jeder beliebigen Form verbiegen. Dazu braucht
man bei einem 10-Bit-ADC und einem 16-Bit-Timer zwar eine
1.024 Worte lange Tabelle, aber auch das kriegt man mit einem
ATtiny24 oder 25 speichermäßig locker hin.
- Ein Nachteil hier ist ferner, dass die PWM-Frequenz nicht konstant
ist, sondern steigt und dann wieder fällt. Den Nachteil hat man
beim Controller auch nicht: er bleibt bei einer fest vorgewählten
Frequenz.
©2020 by Gerhard Schmidt