I2C -Leistungstreiber

Um von einem Mikrocontroller das Ein- und Ausschalten von Bauelemnten (Leistungs-LEDs, Relais, ect.) zu ermöglichen, die mehr Leistung benötigen als der Mikrocontroller an seinen Pins bereitstellen kann bietet sich die Verwendung von Darlington-Transistoren an.

Der ULN2803 ist ein 8-Fach Darlington Array, der auf jeder Darlington-Stufe 500 mA an den open Kollektor Ausgängen akzeptiert. Dieses Bauteil besitzt integrierte Freilauf-Dioden und kann direkt von den Controller-Pins angesprochen werden.

Um alle 8 Kanäle schalten zu können müssen natürlich auch 8 freie IO-Leitungen am Mikrocontroller vorhanden sein. Falls dieses nicht der Fall ist, so besteht eine elegante Lösung darin einen I2C-IO-Expander zu verwenden. Der NXP PCF8574 stellt 8 IO Leitungen zur Verfügung, die über den I2C Bus angesteuert werden können. Der IO-Expander verfügt über drei Adressleitungen, so dass es möglich ist bis zu 8 solcher ICs an einem Mikrocontroller zu verwenden.  Bei zusätzlicher Verwendung des PCF8574A (andere Basisadresse) können sogar insgesamt 16 ICs und damit 128 Ausgänge angesprochen werden.

Das Ansprechen der Einzelnen Ein- und Ausgänge erfordert wenig Programmieraufwand, wenn bereits der Code zur Benutzung des I2C-Busses vorliegt. Für die Arduido-Umgebung gibt es bereits fertigen Beispielcode.

Schaltplan:

MultiLEDExtention-schematic.png

Board:

MultiLEDExtention-bottom.png

Bestückung:

MultiLEDExtention-mount.png

AnhangGröße
MultiLEDExtention.pdf9.95 KB
MultiLEDExtention-parts.txt684 Bytes
MultiLEDExtention.sch24.52 KB
MultiLEDExtention.brd14.29 KB