Ich habe verschiedenste Raspberry Pi Roboter über die letzten Jahre selber gebaut. Alle haben gemeinsam, dass sie eine L298N H-Brücke als Motortreiber einsetzen. Aber um ein sehr exaktes PWM Signal für den Motor Treiber zu erzeugen habe ich mich entschieden, dieses PWM Signal nicht mehr mit dem Raspberry Pi zu generieren. Ich habe mir dafür einen speziellen Kontroller zugelegt der nur dafür da ist ein PWM Signal zu erzeugen. Mit solch einem Kontroller ist es möglich ein sehr genaues PWM Signal zu erzeugen was mit einem Raspberry Pi so nicht möglich ist. Die beste Lösung ist somit ein externes Board, dass über den I2C Bus angesprochen werden kann. Ich habe bei meiner Suche einen Servo Kontroller gefunden mit einem PCA9685 Chip. Dieser Servo Kontroller zusammen mit einer H-Brücke ist eine gute Lösung um ein LED Band zu dimmen. So ist es recht einfach möglich sich seinen eigenen LED Dimmer zu bauen.

Ich habe ein kurzes LED Band an einem Ausgang der L298N H-Brücke angeschlossen. Bei dem LED Band handelt es sich um ein 12V Band. Es ist aber kein RGB LED Band und zeigt somit nur weiß als Leuchtfarbe.

Das folgende Bild zeigt mein Setup mit dem PCA9685 Servo Kontroller, der L298N H-Brücke als LED Treiber für den LED Dimmer. Das LED Band ist auch zu sehen am unteren Bildrand.

Raspberry Pi - LED dimmer

Raspberry Pi – LED dimmer

Das folgende Bild zeigt den Aufbau aktiv mit eingeschalteten LED Dimmer. Das Python Programm das ich entwickelt habe um das LED Band dimmen zu können ist kostenlos verfügbar und wird von mir hier auf meinem Blog weiter unten zum Download angeboten.

Raspberry Pi - LED dimmer active

Raspberry Pi – LED dimmer active

List der Komponenten:

Raspberry Pi 3 Model B

Vilros Raspberry Pi 3 Ultimate Starter Kit
Preis: EUR 79,99
1 neu von EUR 79,990 gebraucht
Get Your First Taste Of raspberry Pi with this Ultimate Starter Kit from Vilors.

This Is the Raspberry Pi 3 Model B Ultimate Starter Kit From Vilros
It includes the new Raspberry Pi 3 Model B (Latest Version Released on 02/29/2016)

Raspberry Pi 3 Model B Technical Specifications:
• Broadcom BCM2837 64bit ARMv8 Quad Core Processor powered SingleBoard Computer running at 1.2GHz
• 1GB RAM
• BCM43143 WiFi on board
• Bluetooth Low Energy (BLE) on board
• 40pin extended GPIO
• 4 x USB2 ports
• 4 pole Stereo output and Composite video port
• Full size HDMI
• CSI camera port for connecting the Raspberry Pi camera
• DSI display port for connecting the Raspberry Pi touch screen display
• MicroSD port for loading your operating system and storing data
• Upgraded switched Micro USB power source (now supports up to 2.4 Amps)

Kit Content
Raspberry Pi 3- Model B 1GB
Raspberry Pi Enclosure Case (Clear)
32GB Micro SD Card pre-loaded with NOOB
SD Card Adapter
5-Foot EU Micro USB Power Supply 2500 mA
High Quality HDMI Cable
400-Tie-point breadboard (white)
65 Jumper Wires -- 45 pcs--100mm, 10 pcs--150mm, 5 pcs--200mm, 5 pcs--250mm
GPIO Ribbon Cable with Breakout board
45 X 330 Resistors
45X 10K Resistors
2X Big 12mm Buttons
Heatsink for Raspberry Pi - Set of 2 Heat Sinks
10X Yellow LED
10X Red LED

NOTE: The SD Card may appear to be a smaller capacity when you test it on your computer due to partitions placed on the card once the software is installed.

WEEE-Reg.-Nr. DE 29056374

I2C Level Konverter von Adafruit

Dieser Level Konverter wird zwischen PCA9685 und dem Raspberry Pi geschalten. So ist der I2C Bus auch für den PCA9685 nutzbar der mit 5,0V arbeitet statt den 3,3V des Raspberry Pi.

L298N H-Bridge als Motor Treiber oder LED Treiber

L298N DC and Stepper Motor Dual Drive H-Bridge Module - 6V to 35V by Make Nation
Preis: EUR 9,09
1 neu von EUR 9,090 gebraucht
Diese dual H- bridge Motor Treiber Shield, die auf der Grundlage von H-Bridge-Treiber-Chip L298N Motor Driver IC, ist eine nützliche Modul für die Steuerung von Robotik und mechanics. < < br />/br> es können zwei brushed Motoren) oder einem 4- wire Zwei-Phasen-STEPPER Motor, bei der es sich um eine hohe Spannung, Dual-Full high current bridge Fahrer designed to accept standard TTL Logic drive Ebenen und induktive Lasten wie Relais, Elektromagnete, DC und stepping motors. < < br />/br> beide Motoren gleichzeitig angetrieben werden können, wobei auf eine andere Geschwindigkeit und Richtung gedreht und alle Fahrer Linien sind vor diode back EMF. < br />/br> < Features < < b>/b>/br> < • leichtgewichtig, kleiner Dimension < br /> • Super-Treiber Kapazität < br /> • FWD Schutz < br /> • SCHWERLAST-Kühlkörper < br /> • Power-Wahlschalter < br /> • 4 Pull-Up Widerstands < br /> DC Motor • 2/4 Rollen dual Satz stepper Motor Leistung < br /> • Motor Laufrichtungsanzeige LED < br /> • 5 V Power-Led Anzeige < br /> • 4 standard Befestigungslöcher < br />/br> < < Spezifikationen </b> b>/br> < • Treiber: L298N < br /> • Fahrer Spannungsversorgung: 6 V ~35 V < br /> • Fahrer Spitze: 2A < br /> • Logic Vss Leistung: 5 ~7 V (interne Stromversorgung, 5 V) < br /> • Logic derzeitigen: 0 ~36mA < br /> • Kontrolle Low -0.3 V, Höhe: 1,5 V, hoch: 2.3 V (Vss < br /> •, dass signal Low -0.3 V, Höhe: 1,5 V, hoch: 2.3 V (Vss < br /> • Max Antrieb Energie: 25 W (bei 75?) < br /> • Betriebstemperatur: -25?? ~130 < br /> • Abmessungen: 60 x 54 mm < br /> • Fahrer Gewicht ca.: 48 g

PCA9685 Servo Kontroller

Adafruit 16-Kanal 12-Bit PWM/Servo-Treiber - I2C-Schnittstelle - PCA9685
Preis: EUR 17,19
1 neu von EUR 17,190 gebraucht
Sie möchten einem coolen Roboter vielleicht ein hexapod Walker, oder vielleicht auch nur ein Kunstwerk mit vielen beweglichen Teilen. Oder vielleicht wollen Sie fahren viele LEDs mit präzise PWM-Ausgang. Dann erkennt man, dass Ihre Mikrocontroller eine begrenzte Anzahl von PWM Ausgänge hat! Was nun? Sie könnte aufgeben oder bekommst du nur diese handliche PWM und Servo-Treiber-Ausbruch.
Als wir sahen, dass dieser Chip, erkannten wir schnell was ein ausgezeichnetes Add-on dies wäre. Mit nur zwei Pins, Steuern Sie 16 freilaufenden PWM Ausgänge! You can even chain up 62 breakouts to control up to 992 PWM outputs (which we would really like to see since it would be glorious)
Es handelt sich um eine i2c-gesteuerte PWM-Treiber mit einer eingebauten Uhr. Dass bedeutet, dass im Gegensatz zu der Familie der TLC5940 Sie nicht benötigen ständig senden binden Ihre Mikrocontroller, die völlig frei laufen Signal!
Es ist 5V konform, das heißt, Sie können steuern, wie es von einem 3,3V Microcontroller und noch sicher fahren bis 6V Ausgänge (das ist gut für wann Sie steuern weiß möchten oder blaue LEDs mit 3.4 + weiterleiten Spannungen)
6-Adresse wählen Sie Stifte, damit können Sie bis zu 62 davon bei einem einzigen i2c-Bus insgesamt 992 Ausgänge - Draht, die ist eine Menge von Servos oder LEDs
Einstellbare Frequenz bis zu ca. 1,6 KHz PWM
Auflösung von 12 Bit für jeden Ausgang - für Servos, das heißt über 4us Auflösung bei 60Hz Aktualisierungsrate
Konfigurierbare Push-Pull- oder Open-Drain Ausgang
Ausgang aktivieren Pin zu schnell deaktivieren alle tEr gibt
Wir dieser schönen Chip in einem Breakout-Board mit ein paar netten Extras eingewickelt
Anschlussblock für Power-Eingang (oder die 0,1" Ausbrüche können Sie auf der Seite)
Verpolungsschutz am Eingang terminal block
Grüne Energie-gut-LED
3-Pin-Anschlüsse in Gruppen von 4, so dass Sie auf einmal 16 Servos anschließen können (Servo Stecker sind leicht

Software PCA9685

Als erstes muss die Adafruit Bibliothek für den PCA9685 Servo Kontroller installiert werden. Mit dem Servo Kontroller wird das PWM Signal für das Dimmen des LED Bandes erzeugt.

Adafruit PCA9685 library

Um die Adafruit Bibliothek für den Servo Kontroller zu installieren müssen eine Reihe von Befehlen im Terminal Fenster ausgeführt werden. Für weiterführende Informationen betreffend der Bibliothek besuche Adafruit auf GitHub.

Adafruit GitHub URL: https://github.com/adafruit/Adafruit_Python_PCA9685

Als Betriebssystem kommt bei mir ein Raspbian Jessie zum Einsatz. Die hier aufgeführten Befehle müssen einer nach dem anderen ausgeführt werden. Ich war dafür über eine SSH Verbindung an meinem Raspberry Pi für die Installation der Programme angemeldet.

Befehl: sudo apt-get install git build-essential python-dev

Befehl: cd ~

Befehl: git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git

Befehl: cd Adafruit_Python_PCA9685

Der folgende Befehl muss im Ordner „Adafruit_Python_PCA9685“ ausgeführt werden in dem die Adafruit Bibliothek liegt. Er installiert die Bibliothek auf Deinem Raspberry Pi.

Befehl: sudo python setup.py install

Nach der Installation der Bibliothek und nach dem alle Kabelverbindungen hergestellt wurden kannst Du jetzt überprüfen ob der Servo Kontroller gefunden wird. Dazu führe den folgenden Befehl im Terminal Fenster aus.

Befehl: sudo i2cdetect -y 1

Der PCA9685 Servo Kontroller sollte mit der Adresse 40 wie bei mir oder einer anderen Adresse am I2C Bus gefunden werden.

i2c detect bus result

i2c detect bus result

Ich habe ein kleines Python Programm geschrieben mit dem die Helligkeit des LED Bandes kontrolliert werden kann. Das Programm verwendet einen PCA9685 Kontroller und eine L298N H-Brücke als LED Treiber.

Download: Raspberry Pi – LED dimmer

Video LED Dimmer:

Das Video zeigt ein kurzes LED Band das an eine L298N H-Brücke angeschlossen ist. Der PCA9685 Servo Kontroller erzeugt das PWM Signal und steuert die H-Brücke.


Übersicht der PCA9685 Servo Kontroller Anleitungen:

16-Kanal PCA9685 Servo Kontroller - Teil 1 Einführung und Aufbau
16-Kanal PCA9685 Servo Kontroller - Teil 2 Software Installation und Test
16-Kanal PCA9685 Servo Kontroller - Teil 3 Ansteuerung einer L298N H-Brücke
16-Kanal PCA9685 Servo Kontroller - Teil 4 Ansteuerung eines LED Bandes mit Dimm-Funktion
(Visited 490 times, 1 visits today)