Forum: Mikrocontroller und Digitale Elektronik Raffstore-Steuerung


von René P. (reneop)


Lesenswert?

Hi Forum ...

ich habe vor eine Steuerung für Raffstoren zu bauen und wollte meinen 
aktuellen Stand mal mit euch teilen und diskutieren.

Der Plan:
 14 Raffstoren -- Mode: Up  Down  Stop
 28 Relais -- jeweils 2 Relais so hinter einander geschaltet, das nur 
"UP" oder "DOWN" oder "STOP" geschaltet werden kann.
 14 Doppeltaster - 2x I/O pro Taster

 ==> Benötigt werden also 56 I/O Ports (28x Input von den Tastern und 
28x Output zu den Relais)

Ich würde die I/O Ports gern über den I2C Port des Controllers (Arduino 
oder Raspberry Pi) ansprechen und als Port-Multiplexer die PCF8574 
nehmen. also 4x PCF8574 für die Inputs und
4x PCF8574 für die Outputs. Soweit sollte das ja kein Problem sein, da 
jeder PCF8574 8 I/O Ports zur verfügung stellt und auch über 3Bit 
addressierbar ist. Die Programmierung sollte auch
kein Problem sein, aber jetzt kommt der spannende Teil. Für die Relais 
muss man wohl eine Treiberstufe verwenden, da die Relais über 24V 
angesteuert werden und auch ca. 20mA (0,5W) brauchen
(wenn ich das Datenblatt richtig gelesen habe). Dafür würde ich denn 
hinter die Output PCF8574 jeweils einen ULN2803 packen und an die 
ULN2803 dann die 24V und pro Port jeweil ein Relai.

Wenn ich das richtig verstanden haben musste noch ein Wiederstand zu +5V 
zwischen in die Leitungen zwischen PCF8574 Port und ULN2803 Eingang 
gepackt werden, damit der ULN2803 auch durchschaltet.

Die Schalter würde ich direkt an die PCF8574 Ports schalten, sodass 
diese dann 5V auf die Ports schalten. Ist das so ok oder sollte man die 
Schalter auch lieber mit 24V schalten? Damit die
Ports nicht in der Lust hängen würde ich noch einen Widerstand 
(Pull-Up/Pull-Down???) pro Port gegen GND schalten sodass die Ports im 
nicht geschalteten Zustand nicht in der Luft hängen.

Hier nochmal die Relais welche ich einsetzten wollte:

Finder 48.61.7.024.0050 ( 
http://www.ebay.de/itm/10-Stuck-FINDER-Relais-Koppelrelais-Industrierelais-48-61-7-024-0050-/281099970688?pt=Elektromechanische_Bauelemente&hash=item4172dd2880 
)
  Dauer-/Einschaltstrom: 16A/max. 30A
  Nenn-/Schaltspannung: 250V/max. 400V AC
  Spulenspannung:   24V DC
  Bemessungsleistung:  0,5W  || 0,5W / 24V => ca. 20mA


Das ganze soll dann noch in einen Schaltschrank auf Hutschienen. Was mit 
noch fehlt ist das Netzteil ... eventuell einfach ein 24V DC Netzteil 
und dann die 5V für den mC über ein Spannungsregler?

Schaltplan folgt ;)

Danke und Gruß

von Martin K. (maart)


Lesenswert?

Wo ist der Bus?

von René P. (reneop)


Lesenswert?

I2C Bus ... kommt vom Arduino / Raspberry zu den PCF8574 ... die 
Leitungen der Motoren kommen im Schaltkasten an.

von Karl H. (kbuchegg)


Lesenswert?

> Wenn ich das richtig verstanden haben musste noch ein Wiederstand
Widerstand
> zu +5V zwischen in die Leitungen zwischen PCF8574 Port und
> ULN2803 Eingang gepackt werden, damit der ULN2803 auch durchschaltet.

Wo hast du denn das her?
Ein Blick ins Datenblatt zeigt, dass der ULN2803 bereits 
Basiswiderstände intern verbaut hat.


> Die Schalter würde ich direkt an die PCF8574 Ports schalten, sodass
> diese dann 5V auf die Ports schalten. Ist das so ok oder sollte man
> die Schalter auch lieber mit 24V schalten? Damit die Ports nicht in
> der Lust hängen würde ich noch einen Widerstand (Pull-Up/Pull-Down???)
> pro Port gegen GND schalten sodass die Ports im nicht geschalteten
> Zustand nicht in der Luft hängen.

Ein Problem könnten natürlich die langen Leitungen sein. Aber mit einer 
großzügigen Entprellung denke ich nicht, dass das große Probleme 
verursachen wird.

Versuch macht kluch: An den Arduino probeweise eine derart lange Leitung 
mit einem Taster nach GND, internen Pullup aktiviert und dann siehst du 
schon, was alles passiert.

von Digi S. (digispark)


Lesenswert?

Wenn Du den PCF8574 als Input verwendest, dann darauf achten, dass die 
Taster nicht +5 Volt sondern GND schalten müssen. Die Ausgänge des PCF 
werden softwaremäßig auf HIGH geschalten und die Taster "ziehen" die 
Eingänge dann auf Low. Anders läßt sich der PCF8574 meines Wissens nicht 
als Input verwenden.

Ein Arduino-Beispiel, bei dem der PCF als Input verwendet wird, findest 
Du unter: 
http://cboden.de/mikro-controller/digispark/20-mikrocontroller/45-pin-finder

: Bearbeitet durch User
von chester (Gast)


Lesenswert?

René P. schrieb:
> 14 Doppeltaster - 2x I/O pro Taster

Ich würde noch ein paar Taster mehr einplanen, für z.B:

Alle runter/rauf
Südseite runter/rauf
Seite zum neugierigen Nachbar runter/rauf
etc.

von René P. (reneop)


Lesenswert?

@chester: hast je recht ... wollte sowas dann per Websteuerung oder 
doppelklick auf den Taster lösen.

@Digi Spark: Ja hab ich auch in den ersten Tests so gemacht. 
Funktioniert mit den Gira Tastern auch ganz gut.

@Karl Heinz Buchegger: Also kann ich die Ausgänge des PCF einfach an die 
Eingänge des ULN hängen?

@Karl Heinz Buchegger: Das mit dem Debounce habe ich Softwareseitig 
gelöst ... mit ca. 50ms war das bei 10m Kabel kein Problem mehr ... 
Verstehe ich das richtig, dass beim höherer Spannung das 
bouncing-Problem kleiner wird? Hast du vieleicht ein Beispiel wie man 
die 24V am 5V Eingang schaltet?


Hab noch ne Frage zum Netzteil ... Gibt es Netzteile mit 3 Anschlüssen 
(+24V, +5V, GND) oder muss ich das irgendwie über eine Schaltung lösen?

Und würde ein ca. 15-20Watt Netzteil dafür reichen?

Danke schon mal für die Beiträge (außer der erste der wohl nur trollen 
wollte ;) )

von renep (Gast)


Angehängte Dateien:

Lesenswert?

hier noch der Schaltplan ... ist das so ok?

1) kann ich die Relais einfach alle an den ULN2803 hängen?
2) Die Relais würde ich jetzt an +24V und den Port des ULN2803 hängen 
und mit LOW anschalten. ist das richtig?
3) ist meine Interpretation des Relay-Datenblatts richtig? also 20mA / 
0,5 Watt und würde der ULN ausreichen um 8 Relais gleichzeitig zu 
schalten?

Gruß
René

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.