STM32 PWM Prinzip und Anwendung
Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.
PWM (Pulse Width Modulation) ist eine grundlegende Technik, die in STM32 und anderen Mikrocontrollern verwendet wird, um analoges Verhalten mit digitalen Signalen zu steuern. Es wird weit verbreitet in Anwendungen wie Motorsteuerung, LED-Helligkeit, Audiosignalerzeugung und mehr.
🔧 PWM-Prinzip bei STM32
✅ Was ist PWM?
PWM (Pulsweitenmodulation) ist ein digitales Signal mit fester Frequenz, aber variabler Impulsbreite (Duty Cycle).
-
Frequenz: Wie oft sich das Signal pro Sekunde wiederholt (z. B. 1 kHz = 1000 Mal pro Sekunde)
-
Duty Cycle (Tastverhältnis): Der prozentuale Anteil der Zeit, in der das Signal in einem Zyklus HIGH ist.
Beispiele:
-
0 % Tastverhältnis → Immer LOW
-
50 % Tastverhältnis → Halb HIGH, halb LOW
-
100 % Tastverhältnis → Immer HIGH
✅ Wie STM32 PWM erzeugt
STM32 verwendet Timer im PWM-Modus, um PWM-Signale zu erzeugen:
-
Der Timer zählt bis zu einem bestimmten Wert (ARR – Auto Reload Register).
-
Wenn der Zähler den Vergleichswert (CCR – Capture Compare Register) erreicht, wird der Ausgang geschaltet.
-
Der Vergleichswert bestimmt das Tastverhältnis des PWM-Signals.
📐 PWM-Formel
Für einen Timer im Aufwärtszählmodus:
-
PWM-Frequenz =
Timer-Takt / ((PSC + 1) * (ARR + 1))
-
Tastverhältnis (%) =
(CCR / ARR) * 100
Dabei gilt:
-
PSC
= Prescaler (Vorteiler) -
ARR
= Auto-Reload-Wert -
CCR
= Vergleichswert
🛠️ Anwendungsbeispiel: LED-Helligkeitssteuerung
🧱 Hardware
-
STM32F4-Board
-
LED angeschlossen an einen PWM-fähigen Pin (z. B. TIM3_CH1)
⚙️ Konfiguration in STM32CubeMX
-
Timer auswählen (z. B. TIM3)
-
PWM-Kanal aktivieren (z. B. CH1) an einem Pin (z. B. PB4)
-
Prescaler und Periodenwert (ARR) setzen, um Frequenz zu definieren
-
GPIO als Alternate Function konfigurieren
-
Im generierten Code
__HAL_TIM_SET_COMPARE()
verwenden, um das Tastverhältnis zu steuern
📄 Beispielcode
🎯 Typische Anwendungen
Anwendung | Beschreibung |
---|---|
LED-Dimmen | Helligkeit durch variierendes Tastverhältnis |
Motorsteuerung | Drehzahl oder Richtung über PWM steuern |
Servoansteuerung | 1–2 ms Impulse bei 50 Hz für Positionssteuerung |
Tonerzeugung | Tonfrequenzen durch PWM-Frequenz erzeugen |
Schaltnetzteile | PWM zur Spannungsregelung verwenden |
📚 Fazit
PWM beim STM32 wird mithilfe von Timern realisiert und ermöglicht eine hochpräzise, flexible Steuerung. Die Konfiguration ist mit STM32CubeMX einfach umzusetzen und eignet sich hervorragend für Echtzeitanwendungen wie LED-Dimmen, Motorsteuerung oder Signalverarbeitung.
Verwandte Artikel
- ·Welche Mikrocontroller werden in Drohnen verwendet?
- ·Konstruktion eines intelligenten Blind Assistance Navigationssystems basierend auf STM32
- ·Was sind die Unterschiede zwischen ARM Cortex-A, Cortex-R und Cortex-M?
- ·Was ist der Unterschied zwischen STM32CubeMX und STM32CubeIDE?
- ·Wie erkenne ich Objekte mit Kamera im 8051 Mikrocontroller?
- ·Anwendung von STM32 in digitalen Stromversorgungen
- ·Welcher Mikrocontroller ist am besten, um Motorsprung zu steuern?
- ·Raspberry Pi Pico vs Arduino Nano vs STM32 Blue Pill vs ESP32 vs STM32 Black Pill | Vergleich
- ·Was sind die Fallstricke bei der Konstruktion des STM32-Uhrensystems?
- ·STM32 + LoRa Drahtloses Sensornetzwerk (WSN) — Komplettes Design