PCA9685 über IIC für LEDs und Servos


zur Projekthomepage
zur Blockkiste
Falls mal die Pins an der Benutzerschnittstelle (J5) ausgehen, können LEDs und Servos auch über eine I2C-Verbindung zu einem PCA9685 angeschlossen werden. Dieser IC hat 16 Ausgänge, die mit PWM angesteuert werden können. Das ermöglicht 16 zusätzliche Melder oder Servos an zwei Pins der Benutzerschnittstelle anzuschließen. Primitivere Alternativen: serielle Übertragung von Eingängen oder serielle Übertragung von Ausgängen.

Schaltplan

Schaltplan
Es gibt fertige Platinen mit dem PCA9685, z.B. von Adafruit oder diverse billigere Immitate, zu erkennen an den Schreibfehlern auf der Rückseite. Links von der gestrichelten Linie ist gezeigt, wie man das anschließt. Alternativ kann man das IC wie rechts von der gestrichelten Linie mit einer eigenen Platine anschließen.

Pinbelegung J5

Folgende vier Leitungen der Benutzerschnittstelle werden verwendet. Das ist nur ein Beispiel. Jede Blocksoftware könnte das umdefinieren, wie es passt, sollte es aber lieber so übernehmen, dann passt die Testhardware:
Prozessor der Blockplatine Blockplatine PCA9685 in UI-Platine Beschreibung
Pin Port J5 Name Pin
  VCC 10,20 VCC 16 +5V der Spannungsversorgung
  GND 9,19 GND 8 Masse der Spannungsversorgung
33 PA6 7 SDA 27 Serielle Daten vom (oder auch zum) Prozessor
32 PA7 8 SCL 26 Takt vom Prozessor schiebt die Daten ein Bit weiter

Software

Der Treiber, der den Chip ansteuert, ist im Subversion abgelegt: PCA9685.c, IicBitBang.c. Da der verwendete Prozessor selber keine IIC-Schnittstelle hat, erfolgt die Ansteuerung in Software.

Zuordnung der Melder zu den Pins des PCA9685

Dies ist natürlich bei jeder bauartspezifischen Blocksoftware anders.
PCA9685 pin Felderblock eingleisig Felderblock zweigleisig
Name Nummer Name Mode Name Mode
LED0 6 Anfangsfeld rot LED Anfangsfeld rot LED
LED1 7 Anfangsfeld weiß LED Anfangsfeld weiß LED
LED2 8 Endfeld rot LED Endfeld rot LED
LED3 9 Endfeld weiß LED Endfeld weiß LED
LED4 10 Blaue TSP weiß LED Blaue TSP weiß LED
LED5 11 Blaue TSP blau LED Blaue TSP blau LED
LED6 12 Erlaubnisfeld rot LED ÜStör IN LED
LED7 13 Erlaubnisfeld weiß LED ÜStör OUT LED
LED8 15 ÜStör LED Richtung okay LED
LED9 16 Stör LED Stör LED
LED10 17   LED   LED
LED11 18 Erlaubnisfeld Servo    
LED12 19 Anfangsfeld Servo Anfangsfeld Servo
LED13 20 Blaue Tastensperre Servo Blaue Tastensperre Servo
LED14 21 Endfeld Servo Endfeld Servo
LED15 22 Streckentastensperre Servo Streckentastensperre Servo
Changes on 2024-04: Pink
Autor: Stefan Bormann. Site hosted by: SourceForge Logo NU checker icon