Forum: Mikrocontroller und Digitale Elektronik Relaismatrix


von Clemens (Gast)


Lesenswert?

Hallo,
ich will ein Relais-Matrix-System bauen mit dem ich Signale routen kann. 
Es sind ca. 500 Relais, die mit uC angesteuert werden sollen. Kann mir 
jemand helfen, welcher serielle Bus hierfür geeignet ist und wie ich die 
Relais ansteuern kann.

von Meiserl (Gast)


Lesenswert?

Hallo
Mach einfach eine Speicherausklammerung (AT90S8515 du benötigst nur 
64Byte)
Oder über Schieberegister.

Sag was wird das für ein Projekt?.
500 Relais ziehen ja auch eine Menge Strom!

von Siegfried (Gast)


Lesenswert?

Überigens,
mit 4 Relais kann man auch einen 1 aus 16 Mux bauen.

Siegfried

von Clemens (Gast)


Lesenswert?

Projekt:Routing von Audiosognalen in einem Meßsystem

Von den Relais werden ca. max. 30 auf einmal durchgeschaltet.
Wie funktioniert das mit der Speicherausklammerung, hab ich noch nicht 
gemacht

von Meiserl (Gast)


Lesenswert?

Du mußt einen Controller verwenden der externes RAM unterstützt.
Statt den Speicher stezt du einen Adressdekoder und Latches.
Read Write richtig belegen und du kannst dich schon austoben.
Ist like 8051er.
Es liegt dann der IO-Bereich in deinem Speicherbereich.
Im Programm schreibst einfach auf eine Speicherzelle einen Wert.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ich würde einen langsamen SPI-Bus mit HC595-Schieberegistern verwenden.

von Clemens (Gast)


Lesenswert?

Gibt es auch eine Möglichkeit I2C zu nehmen mit den Porterweiterungen 
und dazu Schieberegister?

von Lars (Gast)


Lesenswert?

Was du verwenden solltest hängt u.a. auch davon ab wie du die 500 Relais 
ansteuern willst bzw. wie die Verbaut sind.
Befinden die sich alle dicht-an-dicht auf einer riessen Platine (glaube 
ich kaum ;)). Oder dicht-an-dicht auf mehrere Platinen verteilt ? Oder 
in einem Schaltschrank einzeln auf Hutschienen oder wie ?

Die Wahl ob und falls ja welchen Bus du verwendest hängt vom 
konstruktiven Aufbau der Relaismatrix ab. Muss der µC noch andere 
Aufgaben erfüllen oder soll dem z.B. einfach per serieller Schnittstelle 
der Befehl "schalte Relais 145 ein" "schalte Relais 278 aus" usw. 
übermittelt werden.

von Clemens (Gast)


Lesenswert?

Die Relais sitzen zu 25 St. auf einer Karte, die auf eine Busplatine 
gesteckt werden. uC soll noch ein kleines Menue verwalten, in dem 
Schaltkonfigurationen der Relais aus ext. EPROM abgerufen werden 
können,das ganze auf LCD anzeigen.

von Lars (Gast)


Lesenswert?

Wenn du genug freie Leitungen hast, kannst du dann z.B. 5Bit(Adresse der 
Busplatine)+5Bit(Adresse des Relais auf der Busplatine)+1Bit(On oder 
Off)+1(Clock) also insg. 12 Leitungen als Bus verwenden. Damit könntest 
du pro CLOCK ein Relais schalten. Bräuchtest aber noch einiges an 
Logikschaltung auf den Busplatinen.

Wenn du aber sogar:
5Bit(Adresse der Platine)+25Bit(Zustände aller Relais der 
Platine)+1(Clock) also 31 Leitungen hättest, könntest du eine komplette 
Busplatine pro CLOCK schalten. Dann müsstest du nur auf der µC Platine 
z.B. mit I2C Porterweiterungen (um Ports zu sparen falls nötig) auf 
deine 31 Leitungen kommen und auf den Busplatinen brauchst du nur noch 
einfache latches und eben deine Relais. (naja und noch einen 5Bit 
comparator der deine Platinenadresse prüft :)).

von Clemens (Gast)


Lesenswert?

Danke für die Vorschläge.
Hab noch nicht so viel mit uC gemacht.
Gibt es für diesen Vorschlag Beispiele (in Form von Schaltplänen). Wie 
trenne ich die Relaisnummer von der Kartenadresse?

von Jonas Diemer (Gast)


Lesenswert?

@Lars: bin nicht sicher, ob ich da durchsteige, aber:

Wieso nicht einfach statt die 5bit "adresse der platine" auf den Puls 
(keine ahnung, wie man das nennt) der Latches legen?

dann kannste vom µc einfach an alle latches dasselbe signal legen, pulst 
aber nur den, für den es bestimmt war... also nochmal im klartext:

je 25leitungen vom µc zu den platinen, plus zu jeder platine noch ne 
extraleitung für den Puls des latches. willste dann auf platine1 was 
ändern, legste deine daten auf die 25 pins und pulst dann das 
entsprechende latch.

Wenns dir nicht auf schaltgeschwindigkeit, sondern auf ne einfache 
schaltung ankommt, kannste doch auch schieberegister auf den platinen 
einsetzen. dann brauchste nur 2 leitungen (1 daten, 1 puls) zu jeder 
platine zu legen. im extremfall könnten die datenleitungen aller 
platinen sogar auf denselben pin (wenn du dann nur den puls für die 
platine pulst, die die daten haben soll).

PS: Hoffentlich hab ich nicht kompletten bullshit gelabert, hab sowas 
nämlich noch nie gebaut.

von Heiko (Gast)


Lesenswert?

Kannst du das genauer erklären, wie man so was aufsplittet um die Module 
und die einzelnen Relais adressiert.

von Jonas Diemer (Gast)


Lesenswert?

naja, ich weiß das selber nicht 100%ig. aber es gibt sog. 
schieberegister die seriell angesteuert werden. da schiebst du über 1 
pin (+1 für den clock? ich kenn die dinger doch nicht!!! :-) ) die daten 
rein, dann pulst du auf nem anderen pin (oder?) und die daten stehen 
dann an den ausgängen (daran kommen dann die relais).

hab ich das so richtig verstanden/wiedergegeben?

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.