LED’s mittels PWM steuern

LED’s werden heutzutage immer wichtiger. Sie sind klein, verbrauchen fast kein Strom und können mit ihrer Lichtausbeute schon mancher Energiesparlampe den Rang ablaufen. Das einzige wo LED’s bis jetzt im Nachteil waren, war die Dimmbarkeit. LED’s sind, gegenüber ihrer Konkurrenz nicht so leicht dimmbar. Wo bei Glühlampen oder Energiesparlampen einfach die Phasenanschnittsteuerung verwendet wurde, geht das bei LED’s nicht, weil diese an Gleich- und nicht Wechselstrom betrieben werden. Es gibt aber immer mehr Anbieter, die die Pulsweitenmodulation (PWM) verwenden um die LED’s zu dimmen. Bei diesen Verfahren wird bei einer Rechteckspannung, über das Verhältnis der Periodendauer zum Impuls, eine prozentuale Angabe über die Helligkeit getroffen und über den Treiber (Konstantstromquelle) an die LED’s weiter gegeben. Mit einen einfachen Python-Skript ist es möglich dieses PWM-Signal an einen GPIO-Pin auszugeben, um damit LED’s zu dimmen.

Für den Testaufbau habe ich drei CREE XP-G2 R5 LED’s auf Stern-Platine und eine KSQ von ZAB-Newslight verwendet. Die KSQ hat einen PWM-Anschluss den ich an den Pin 4 (BCM) am Raspberry Pi angeschloßen habe. Die LED’s habe ich einfach in Reihe vom Pluspol zum Minuspol zusammengelötet. Den noch freie Plus- bzw Minuspol von den äußeren LED’s habe ich an die KSQ gelötet. Als Spannungsversorgung habe ich ein einfaches 12V Netzteil mit 1A Stromstärke verwendet, es reicht aber auch ein Netzteil mit minimum 0,4 A und 9V aus. Wichtig ist noch, dass der Ground vom Raspberry Pi, in meinen Fall Pin 5, mit den Minuspol des Netzteils verbunden wird. Ohne diese Brücke ist das Potenzial vom Raspberry Pi ein anderes gegenüber der KSQ und dadurch kommt es zu keiner Steuerung und die LED’s werden nicht gedimmt.

DSC_0187Das von mir verwendete Python-Skript soll für alle Pins gleichermaßen funktionieren. Dies geschieht durch Parameter, die einfach mit einem Freizeichen getrennt, an den Ausführungsbefehl angehängt werden und dadurch die Parameter an das Python-Skript weitergeben.

Nun kann durch das Ausführen des Python-Skripts, mit den jeweiligen Parametern, jeder Effekt an jeden GPIO-Pin erzeugt werden.

DSC_0189