Pulsweitenmodulation (PWM): Was ist das? Wie kann ich sie verwenden?

Bevor die Pulsweitenmodulation (PWM) entwickelt wurde, war die einzige Möglichkeit, Spannung oder Strom für Dimmzwecke einzustellen, die Verwendung von Rheostaten oder Potentiometern. Auch die Steuerung größerer Komponenten wie Motoren, Ventile, Pumpen, Hydrauliken und anderer mechanischer Komponenten ist mit PWM einfacher.

Normalerweise bleibt eine Gleichspannung konstant bei einem Wert über oder unter Null. Die Pulsweitenmodulation wandelt ein digitales Signal in ein analoges Signal um, indem sie die Zeiten für die Einschalt- und Ausschaltdauer ändert. Der Begriff „Tastverhältnis“ wird verwendet, um den Prozentsatz oder das Verhältnis zwischen Einschalt- und Ausschaltdauer zu beschreiben. Normalerweise haben Geräte, die ein PWM-Ausgangssignal erzeugen können, eine sehr hohe Aktualisierungsrate, um sicherzustellen, dass die durchschnittliche Leistung für eine Last konstant „erscheint“. Ich testete z.B. den Arduino mit einem digitalen Analysegerät und erhielt etwa 500 Hz für die Aktualisierungsrate. Hier ist ein Beispiel dafür, wie PWM-Signale aussehen; ich habe das Signal mit LTSpice simuliert und ein Bild der Wellenform aufgenommen.

PWM-Signal, das über LTSpice, einem Schaltungssimulationsprogramm von Analog Devices, erzeugt wurde.

Ich habe verschiedene Spannungspegel verwendet und für jedes Signal einen Offset gesetzt, um die Unterschiede zwischen den Tastverhältnissen zu zeigen. Wie Sie sehen können, bedeutet ein höheres Tastverhältnis, dass das Signal länger an bleibt als es ausschaltet ist, während bei einem niedrigen Tastverhältnis das Gegenteil der Fall ist.

Was genau bewirkt diese Art von Signal? Ein PWM-fähiges Gerät behält das vom Benutzer definierte Tastverhältnis bei, und in einigen Fällen kann der Benutzer jederzeit Änderungen der Pulsbreite programmieren. Mathematisch gesehen ändern die PWM-fähigen Geräte das Ausgangssignal so, dass eine „durchschnittliche“ Spannung erzeugt wird. Ein Signal, das auf 50% Tastverhältnis eingestellt ist, reduziert die einer Last dargebotene durchschnittliche Spannung ungefähr um 50%. Dies ist jedoch in den meisten Fällen nicht praktikabel, da die Geräte nicht 100% genau sind. Ein besser zu berücksichtigendes Maß wäre eine Messung des Effektivwertes (root mean square, RMS). Viele Multimeter und andere Messgeräte können Messungen des Effektivwerts durchführen. In einer Simulation mit LTSpice bietet z.B. ein 5VDC-Signal bei 50% Tastverhältnis und einer Aktualisierungsrate von 60 Hz eine effektive Spannung von 3,57 V. Ich habe auch eine Last hinzugefügt, die in der gleichen Simulation typischerweise 1 A ohne PWM-Impuls ziehen würde, sie ergab bei 50% Tastverhältnis etwa 714 mA(eff).

Digitale Signale bieten je nach Anwendung etwa 5 V oder 3,3 V, aber es ist möglich, den Effekt bei größeren Spannungen mit Hilfe von MOSFETs zu „duplizieren“. Da diese Transistoren häufig als spannungsgesteuerte Schalter verwendet werden, schalten sie sich je nach Gate-zu-Source-Spannung mit der gleichen Rate wie das PWM-Signal ein und aus. Diese Reaktion ermöglicht es, dass hohe Spannungen genau wie ein PWM-Signal aussehen und dem gleichen Verhalten folgen. PWM ist besonders hilfreich bei der Emulation eines „Dimm“-Effekts auf mehrere Komponenten. LEDs reagieren nicht sehr gut auf Potentiometer, insbesondere LEDs für höhere Ströme und Spannungen. PWM-Bausteine in Verbindung mit MOSFETs können jedoch die Spannung auf einem ausreichend hohen Niveau halten, um die LEDs länger eingeschaltet zu lassen, was einen größeren Dimmbereich erzeugt. PWM wird mit dem gleichen Konzept auch zur Drehzahlregelung von Motoren verwendet.

Wenn Sie zum ersten Mal mit PWM experimentieren wollen, würde ich Ihnen die Arduino-Plattform empfehlen. Die beiden Modelle, die ich verwendet habe, sind: 1050-1024-ND und 1050-1018-ND. Der MEGA bietet mehr Pins, die eine PWM-Ausgabe ermöglichen. Der Arduino verwendet eine „analogWrite(pin, val)“-Funktion, um dies zu erreichen. Die Pin-Variable ist die PWM-fähige I/O-Variable (hat ein ~ neben dem Pin), während der Wert von 0 bis 255 eingestellt werden kann. Null wäre ein Tastverhältnis von 0%, während 255 ein Tastverhältnis von 100% wäre.

Über den Autor

Image of Kaleb Kohlhase

Kaleb Kohlhase, Elektroniker in der Abteilung für Anwendungstechnik bei DigiKey, arbeitet seit Anfang 2018 bei DigiKey. Zu seinen Interessen gehören digitale Logik, Programmierung, Schaltkreissimulation, Leiterplattendesign, 3D-Modellierung, Audioschaltkreise und vieles mehr. Kaleb schloss 2017 sein Studium an der Minnesota State University mit einem Bachelor of Science in Ingenieurwesen ab. Zu seinen Stärken gehören das Verstehen technischer Dokumentation wie Schaltpläne und Datenblätter, das Schreiben technischer Dokumentation zu recherchierten Informationen, die Fehlersuche in verschiedenen Systemen, die Finalisierung von Konzepten durch Erstellung physischer Prototypen und die Programmierung in verschiedenen Computersprachen. In seiner Freizeit verbringt Kaleb gerne Zeit mit seiner Frau, schaut Netflix, spielt Videospiele, fährt Rad, schwimmt und bildet sich in der Elektronik weiter.

More posts by Kaleb Kohlhase
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum