Forum: Mikrocontroller und Digitale Elektronik Porterweiterung über lange Kabel möglich ?


von Enrico (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe folgendes Problem, den geposteten Schaltungeteil will ich ca. 
10 mal hintereinander schalten (Porterweiterung eines ATmega), 
dazwischen sind jeweils ca. 1-3m Kabel, das erste Kabel wird ca. 10 m 
sein. Ich wollte als Steckverbinder 9-pol Sub-D nehmen, als Kabel 
irgendwas geschirmtes. Die Schieberegister bekomen ihre 5V lokal 
stabilisiert, über die Kabel laufen auch die 12V Versorgung. Kann das so 
funktionieren oder bekomm ich Probleme wegen der Leitungslängen? Kann 
ich 5V-Logik-Pegel überhaupt über längere Distanzen übertragen oder muß 
ich den Pegel auf 12V hochsetzen für die Übertragung?
Sinn der Schaltung soll sein, jeweils eins der 100-160 Relais 
nacheinander kurz (ca. 10s - 1min) anzuschalten. Die Relais sind dabei 
räumlich verteilt.Die Geschwindigkeit spielt keine Rolle, ein Durchlauf 
kann ruhig eine Stunde dauern, ich wollte das ganze über einen MEGA16 
oder 128 steuern und die Signale an die Schieberegister langsam Takten. 
Nach dem Mega sind noch Bustreiber vorgesehen. SCK, RCK und CS hängen ja 
parallel.

MFG
E.

von Carsten (Gast)


Lesenswert?

richtig erkannt

>Geschwindigkeit spielt keine Rolle

wenn mann gemütlich tacktet sollten 10m kein Problem sein.

von Harald A. (embedded)


Lesenswert?

Auf die Entfernung kann man sich schnell etwas einfangen. Ganz egal, wie 
langsam du taktest, ein Spike auf CLK oder RCK reicht, um das Ergebnis 
zu versauen und die Kiste unzuverlässig zu machen.
Ich würde so etwas mit einem RS485 Bus aufbauen und lokal jeweils einen 
Mikrocontroller nehmen. An vier Pins hängst du ein Codierschalter oder 
Mäuseklavier für die Adresse und die restlichen Pins bedienen die 
Relais-Endstufen. Vorteil: Durch die symmetrische Übertragung des RS485 
Signals ist man auf der Strecke relativ immun gegen Störungen. Dieses 
Prinzip ist Industrie-Standard und millionenfach erprobt. Als Protokoll 
kann man sich etws sehr simples ausdenken oder etwas fertiges nehmen, 
z.B. das DMX-Protokoll der Bühnentechnik.

von Carsten (Gast)


Lesenswert?

... das ist natürlich die Luxus Variante.

von Harald A. (embedded)


Lesenswert?

Sehe gerade, da taucht ja gerade topaktuell dazu ein Thread über DMX 
auf:

Beitrag "DMX-Empfang klappt nicht"

von Enrico (Gast)


Lesenswert?

Das letzte Schieberegister hängt an 20 m Kabel, dazwischen 20 
Sub-D-Stecker, allerdings fließt ja praktisch kein Strom. Dummerweise 
ist die Umgebung stark EMI-verseucht.
Das mit dem Extra-controller pro Relais-Platine hab ich auch schon 
überlegt, wird dann halt gleich sehr viel aufwändiger:-(
Ich hatte gehofft, hier hat schon mal jemand so was (ähnliches) gemacht.

von Carsten (Gast)


Lesenswert?

>Ich hatte gehofft, hier hat schon mal jemand so was (ähnliches) gemacht

ja

über 3 x 5m im Wohnumfeld.
Wenn da aber Sicherheitsaspekte reinspielen rate ich ab.

von Harald A. (embedded)


Lesenswert?

Warum wird das aufwändiger? Von der Anzahl der ICs auf der Platine auf 
jeden Fall nicht, von den Kosten her vielleicht 2 Euro mehr pro Knoten. 
Und die Erhöhung der Logik-Spannung bringt nichts, diesen Irrtum gab es 
schon einmal vor zig Jahren mit der Einführung von RS232.

Insbesondere wenn die Umgebung schon wissentlich EMI-verseucht ist, 
sollte der innere Anspruch einer vernünftigen Lösung doch vorhanden sein 
- oder?

von Enrico (Gast)


Lesenswert?

Nach dem DMX-Thread nehm ich lieber CAN. Das wird dann zwar richtig 
aufwändig mit MC, MPC2515 und PCA82C5251, aber das läuft bei mir schon 
mal...
Das ist halt auch eine Frage des Programmieraufwands. Wenn ich 
lauffähigen Code mit einer erprobten Schaltung hab...
Aber danke für den Tipp mit DMX, danke für den Hinweis mit den Spitzen 
auf RCK/SCK. Vielleicht bau ich mir ein Muster und teste es mal. Ich hab 
keinen Lust auf die Luxusvariante. Ein MC + eine Software sollte 
reichen.

>Insbesondere wenn die Umgebung schon wissentlich EMI-verseucht ist,
>sollte der innere Anspruch einer vernünftigen Lösung doch vorhanden sein
>- oder?

Ist er ja Prinzipiell. Das ganze soll so einfach wie möglich sein, nur 
so kompliziert wie unbedingt nötig. Sicherheitskritisch ist da nichts. 
Kopfzerbrechen bereitet nur die EMI-Verseuchung vor Ort. Es ist halt 
mehr Programmieraufwand mit einem extra MC.

Was ist besser hinsichtlich EMI: CAN oder RS485?

von Harald A. (embedded)


Lesenswert?

Es gibt verschiedenste Physical Layer Implementationen des CAN, ich 
nehme mal an, Du vergleichst die Variante PCA82C251-Bustreiber (übrigens 
schon lange end-of-life, Nachfolger TJA1040) mit RS485.
Da sind beide Verfahren erstmal gleich störanfällig, jedoch hat CAN von 
Haus aus schon hervorragende Verfahren zur Fehlererkennung/-korrektur. 
Könnte man prinzipiell mit RS485 rein SW-technisch auch hinkommen, das 
wird dann aber so aufwändig das man gleich CAN nehmen kann.

von oszi40 (Gast)


Lesenswert?

Pest oder Cholera? 10m Kabel könnTen auch eine prima Antenne sein.

Eine Reihenschaltung von 20 Steckverbindern würde ich nicht mal in der 
Puppenstube probieren! Irgendwo wird da immer was klapprig oder faul.

Wofür werden die 12V auf der 100m Leitung gebraucht?
Spannungsabfall, Massepunkt und die Abschaltspannungen der 100 Relais 
könnten noch für interessante Fragen sorgen.

von Mensch_Z (Gast)


Lesenswert?

du kannst line drivers (differntiel) und line receivers einsetzen.
Hunderte von Metern stoerungsfrei,da differentielle Uebertragung.
Abgeschirmte Kabel...selbstverstaendlich.
Da brauchst du nicht unbedingt einen MC.
 Der Maxim hat alle Sorten davon !


aufwändiger...hat nix mit Wand zu tun ;-) ab in die grausige Sammlung 
damit

von Harald A. (embedded)


Lesenswert?

Hier in diesem Beitrag ist dein Problem doch schon gelöst:
Beitrag "DMX512 Empfänger mit Relaisansteuerung für 20 Kanäle"

@Mensch_Z: Wollte ich auch lange Zeit nicht akzeptieren, ich würde Dir 
mal einen aktuellen Duden anraten... (Falls gerade keiner zur Hand, 
Google geht auch ;-)

von oszi40 (Gast)


Lesenswert?

Wahrscheinschlich brauchte Enrico kaum ein IC,
wenn er gleich >>sternförmig<< den Draht zum betreffenden Relais 
verlegen würde?

von Enrico (Gast)


Lesenswert?

>das man gleich CAN nehmen kann.
THX

>schon lange end-of-life, Nachfolger TJA1040
THX, ist aber in dem Fall nicht soo wichtig.

>Eine Reihenschaltung von 20 Steckverbindern würde ich nicht mal in der
>Puppenstube probieren! Irgendwo wird da immer was klapprig oder faul.
JEIN, bei SUD-D, zumindest den guten, vergoldeten, ordentlich montiert, 
geht so was schon mal.

>line Drivers & receivers
THX, werd ich mal checken...

>aufwändig
no comment, bzw. http://www.korrekturen.de/forum/index.cgi/read/9046

@Harald A.
Danke für DMX mit Relais für 20 Kanäle, werd' ich auch mal checken.

>Wahrscheinschlich brauchte Enrico kaum ein IC,
>wenn er gleich >>sternförmig<< den Draht zum betreffenden Relais
>verlegen würde?

Dann hab ich am Steuer MC insgesamt 30 SUB-D Stecker + riesigen 
Kabelbaum, deshalb die Idee mit dem Schieberegister und Reihenschaltung. 
Eventuell könnte man ja CS,RCK und SCK jedesmal neu aufbereiten mit 
Bustreiber/Linedriver.
Von den Relais gehen noch mal Meßleitungen weg, ich muß letztendlich ca. 
600 Spannungen nacheinander messen, die Relais sorgen für galvanische 
Trennung (die eigentlich nicht sein muß). Jede Spannung muß stünldich 
gemessen werden, aber mit nur 2%. Sie arbeiten als Analogmultiplexer. 
Ich muß auf jeden Fall aufw(a)endig doppelt Schirmen, um messen zu 
können. Die EMI-Verseuchung ist relativ hochfrequent und konstant, 
keinerlei Schaltipmulse, deshalb kann ich da teilweise auch filtern. Ich 
hatte vor, eventuell kleine Caps in RCK/SCK bzw. die Kapazitäten der 
Kabel zu nehmen. wenn ich da langsam takte könnte das sicherer Schalten 
als CAN, bei dem ich aber ja Baudrate runterschalten kann, und je nach 
Treiber auch die Slew-rate. Bei den gemuxten Meßspannungen vorm Meßgerät 
auch kleine Caps. Normalerweise würde man Meßsignale ja weder über 
Stecker bzw. durch Relais schicken, aber es geht halt nicht anders. Und 
2% ist nicht so furchtbar genau.

von Harald A. (embedded)


Lesenswert?

>Eventuell könnte man ja CS,RCK und SCK jedesmal neu
>aufbereiten mit Bustreiber/Linedriver.

Achtung: Ausgang QH* ändert sich mit CLK High-Flanke. Wenn Du jetzt u.a. 
CLK durch einen Line-Driver (zwangsläufig) verzögerst, wird die 
Datenübernahme im nächsten 595er schiefgehen. Unproblematisch wäre es, 
wenn wie bei anderen Schieberegistern der Link-Ausgang sich erst auf CLK 
Low-Flanke ändern würde. Auf jeden Fall müsstest Du QH* auf die gleiche 
Art mit verzögern. Bin ich auch mal drauf reingefallen...

Mal davon abgesehen, dass ich die erste Variante sowieso nicht einsetzen 
würde.

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.