Port-Expander PCF8574 Ausgabeboard

How-To Port-Expander-Platine – PCF8574

Ich möchte euch heute einen Baustein meines Gewächshaus-Projektes vorstellen. Ich arbeite gern mit den guten alten Atmega Mikrocontrollern. Irgendwann wurde mein Projekt so groß, dass die Anzahl der Pins an meinem µC für mein Projekt nicht mehr ausreichte. Da ich meine Controllerplatine nicht nochmal neu designen wollte, hatte ich nur die Chance mir einen Port-Expander zuzulegen. Dabei fiel die Wahl auf den PCF8574.

Ich wollte eine möglichst Modular aufgebaute Platine erzeugen, die auch für andere Anwendungsbereiche nutzbar ist. Das Ergebnis möchte ich euch gern hier vorstellen.

Ausgabeboad Portexpander PCF8574

Anschlüsse

Das hier vorgestellte Bord benötigt 5 Eingabepins:

  • 1x12V – Ausgabe
  • 1x5V – µC
  • 1xGND
  • 1x SDA (TWI bzw. I²C)
  • 1x SCL (TWI bzw. I²C)

Zur Ausgabe stehen in meiner Version:

  • 4x12V Anschlüsse
  • 1x5V Servoanschluss
  • 3x5V Anschlüsse

Die Ausgabeseite lässt sich dabei leicht nach euren Bedürfnissen anpassen.

Was ist jetzt der Vorteil des Port-Expanders PCF8574?

Ganz einfach, dieser nutzt ein Bussystem (TWI) des µC’s und benötigt daher lediglich zwei Pins zur Eingabe, um acht Ausgabepins zu steuern. Innerhalb des TWI’s bekommt jeder Baustein eine eigene Adresse. Mit den Codebeispielen auf Microcontroller.net, ist der Baustein auch Programmtechnisch leicht zu beherrschen.

PCF8574

Der PCF8574 ist ein sogenannter Port-Expander. Mit ihm lassen sich die Pins eures µC auf recht einfache Weise erweitern. Per I²C bzw. TWI Bus macht er aus nur zwei Anschlüssen von eurem µC, ganze acht Ausgabepins.

Innerhalb eines TWI Busnetzwerkes bekommt jeder Baustein eine eigene Adresse. Mithilfe der 3 Adresspins (A0-A2) lässt sich die Adresse des PCF857 definieren. Das heißt, wir könnten bis zu 8 Port Expander an das Busnetzwerk anschließen.

Spannungsversorgung

Bei der Spannungsversorgung solltet ihr schauen, dass ihr die Stromkreise für eure Ausgabeeinheiten von denen des µC und dem PCF trennt. In meinem Fall hat mein µC auf dem Controllerboard einen separaten 5V (VDD) Anschluss. Dieser wird direkt am Ausgabebord mit dem PCF verbunden.

Der 12V Anschluss wird dafür genutzt die Ausgabeeinheiten zu versorgen. Mithilfe eines Spannungsteilers (7805) werden die 12V noch einmal in 5V umgewandelt und für alle 5V Ausgabeanschlüsse genutzt. Würdet ihr diese an den Port-Expander direkt anschließen, könnte das je nach zu schaltender Last, zur Zerstörung des ICs führen. Alle Ausgabepins des PCFs sind Open Collektor Anschlüsse und können nur sehr geringe Ströme schalten.

Servoanschluss

Eine Besonderheit stellt der komplette untere Teil der Schaltung dar. Für meinen Anwendungsfall habe ich einen Servo benötigt der genau 2 Schaltstufen hat. In meinem Gewächshaus öffnet dieser ein Fenster, was entweder offen oder zu ist.

Wie wir wissen wird ein Servo über ein PWM-Signal gesteuert. Genau das macht der untere Teil der Schaltung. Mithilfe der 2 Potis können die Schaltzustände genau eingestellt werden. Die zwei Zeitglieder (NE555) erzeugen dann das PWM Signal.

Die 3 Transistoren schalten über einen Pin die Zustände der Schaltung um. Liegt der Eingang auf Masse, ist mein Fenster geschlossen. Liegt ein 5V Signal an, öffnet sich das Fenster.

Bauteilliste

Ich habe versucht euch die Bauteilliste in einzelne Module aufzuteilen, so könnt ihr das Board nach euren Bedürfnissen anpassen.

Eingabe:

5V – Spannungsversorgung

12V Ausgabe (4x)

5V Ausgabe (3x)

Servoausgabe (1x)

Servorsteuerung

Schaltplan

Der Schaltplan wurde für eine Lochrasterplatine (62×39) mit dem BlackBoard PCB Designer erstellt.

Bord von oben:

Port-Expander-Board-oben

Bord von unten:

Port-Expander-Board-unten

Bord gespiegelt:

Port-Expander-Board-gespiegelt

Texyt

Posted by MartinS

Hallo Zusammen