Artikel aus dem Bereich Elektronik- und Elektrotechnik-Design

Artikel aus dem Bereich Elektronik- und Elektrotechnik-Design

Kombination kapazitiver Touch-Technologien mit LED Beleuchtungen – Teil 2

Gepostet am 12. Oktober 2015

Im ersten Teil dieser Reihe haben wir anhand realer Anwendungsfälle verschiedene LED Beleuchtungstechniken betrachtet, welche in UI-Anwendungen, die auf kapazitiver Berührungstechnologie basieren, Anwendung finden. In diesem zweiten Teil unserer Artikelserie widmen wir uns nun den verschiedenen Herangehensweisen, um die Pulsweitenmodulation (PWM) zu implementieren – einer Schlüsselmethode der LED Kontrollanwendungen.

Hierfür betrachten wir die zwei wichtigsten Eigenschaften der PWM:

Frequenz

Durch die Nutzung eines PWM-Signals werden die LEDs zügig An- und Ausgeschalten. Da die Schaltfrequenz jedoch ein Flackern der LEDs hervorruft, muss die Frequenz der PWM mehr als 100Hz betragen; so wird gewährleistet, dass das menschliche Auge diesen Effekt nicht wahrnimmt.

Tastverhältnis

Die PWM steuert die Helligkeit der LEDs durch Änderungen des Tastverhältnisses (im englischen bekannt unter dem Begriff des „duty cycle“) und hält den Laststrom konstant. In Abhängigkeit zum duty cycle steht der Stromverbrauch der LEDs: dieser steigt an, sobald das Tastverhältnis steigt; die Helligkeit nimmt in diesem Fall ebenso zu. Je nach Anzahl der erwünschten Helligkeitslevel der Anwendung benötigt der duty cycle entsprechend viele Schritte zwischen 0% und 100%. So sollte beispielsweise eine Anwendung, welche 20 Helligkeitslevel von vollständig aus (0%) bis hin zu völlig an (100%) aufweisen soll, in der Lage sein, den duty cycle in Schritten von je 5% zu kontrollieren (dies ergibt insgesamt 20 Schritte, „vollkommen aus“ mit inbegriffen).

Für die Realisierung der PWM unter Verwendung eines Mikrokontrollers gibt es zwei Möglichkeiten:
Entweder kann die PWM-Logik vollständig in der Firmware unter Verwendung einfacher Timer/Counter umgesetzt werden, oder aber ebenso durch die Wahl eines besser ausgestatteten Controllers mit integrierter PWM Unterstützung.

Firmware basierte PWM Implementierung

Eine einfache Firmware-Implementierung erfordert neben einem Timer ebenso eine Interrupt Subroutine, kurz ISR. Der Timer erzeugt einen Interrupt für die Dauer gleich der jeweiligen Schrittgrößen des duty cycles. Beträgt die PWM-Dauer beispielsweise 10ms (100Hz) und liegt die Schrittweite bei 1ms (10% duty cylce), so muss der Timer die CPU im Takt von je 1ms unterbrechen; Das bedeutet:  Unterbrechungsdauer = Pulsweite / Schrittweite.

Abbildung 1 verbildlicht die Logik der ISR. PULSE_WIDTH und ON_TIME repräsentieren hierbei die Pulsweite sowie die Einschaltzeit (ON Time) der PWM der Anzahl der Schritte entsprechend? Werden 5 Helligkeitslevel benötigt, liegt die PULSE_WIDTH bei 5 und die ON_TIME bei 2 um 40% des duty cycle zu erhalten. Die ISR Variable isrVar kontrolliert, wann die Leistung von ON zu OFF geschaltet wird. Um mehrere LED Pins, von der jede LED einen separaten duty cycle aufweist, zu unterstützen, kann diese Logik problemlos erweitert werden.

Hardware basierte PWM Implementierung

Fortschrittliche Controller besitzen unabhängige Hardware Einheit zum Steuern der PWM. Das Cypress‘ PSoC4 hat beispielsweise ein Modul, das TCPWM genannt wird. Dieses implementiert eine hardwarebasierte Pulsweitenmodulation. Für gewöhnlich wird dies durch die Nutzung eines Timers mit einer Vergleich-Einheit realisiert – die Logik ist ähnlich der zuvor diskutierten Logik der Firmware-basierten PWM Implementierung. Der Timer benötigt hierfür ein Register zum Vergleich mit dem Zeitspannenregisters (Period Register); in das Zeitspannenregister wird einen Wert entsprechend der Pulsweite, in das vergleichende Register einen Wert entsprechend der ON Time geladen. Weiter muss der Timer eine Ausgabe aufweisen, welche steigt, solange der zu vergleichende Wert größer als der Tickwert ist; im entgegengesetzten Fall muss diese sinken. Sobald der Maximalwert erreicht ist (65535 im Falle eines 16-bit-timers), wird der Tickwert zu Null zurückgesetzt.
Diese Ausgabe wird zu einem Pin geleitet, der die LED dementsprechend mit Hilfe eines Hardware Moduls steuert.

Tabelle 1 fasst die Unterschiede zwischen Firmware- und Hardware-basierter Implementierung zusammen.

Tabelle 1: Firmware basierte vs. Hardware basierte PWM Implementierung

Firmware basierte Implementierung Hardware basierte Implementierung
Günstige Controller mit einem Timer ist ausreichend Erfordert besser ausgestattete Controller mit PWM Hardware Modul
Ein Timer genügt, um einen mehrkanaligen PWM zu implementieren Typischerweise sind nur wenige PWM Module erforderlich, um einen mehrkanaligen PWM vollständig zu realisieren
Freie Pin-Belegung Eingeschränkte Pin-Belegung, da die Hardware-Module üblicherweise festgelegte Pins für die Steuerung von PWMs unterstützen
Häufiges Auftreten von Interrupts muss behandelt werden, was CPU Overhead verursacht. Zahl der auftretenden Interrupts steigt mit Anzahl der benötigten Helligkeitsstufen oder der Anzahl der benötigen PWMs Keine Interrupts; die CPU ist 100% für weiteren Code verfügbar
Exakte Kontrolle der Interrupt Latenzzeit erforderlich, um Flimmern zu vermeiden Interrupt Latenzzeit stellt keinerlei Probleme dar
Begrenzte maximale Auflösung Keinerlei Begrenzungen (hängt mit der Pulsweite und dem Vergleichsregister des Timers zusammen)
Ungenauere PWM Kontrolle Genauere PWM Kontrolle
Bietet keine Möglichkeit, die CPU während des PWM-drive in Ruhezustand zu versetzen; benötigt folglich mehr Energie Bietet die Möglichkeit, die CPU in Ruhezustand zu versetzen und benötigt daher weniger Engerie

In diesem Teil der Artikelserie haben wir die verschiedenen Wege der PWM Implementierung betrachtet. Im folgenden, dritten Teil werden wir uns den häufigsten Herausforderungen stellen, die beim Design von Systemen mit kapazitiven Sensoren auftauchen können, sowie mit der Bewältigung derer beschäftigen.

Artikel Quellen: Englischer Originaltext

avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen

avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen