www.mikrocontroller.net

Forum: Haus & Smart Home Hausbus über RS232 möglich?


Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich beschäftige mich z.Zt. ein wenig mit dem Thema Hausbus. Allerdings 
noch im sehr frühen Anfangsstadium ohne Projekt im Hintergrund.

Ich bin gerade bei geeigneten Übertragungswegen der Signale zwischen 
verteilten µC´s.
Dabei ist mir folgende Information im Netz "in die Hände gefallen":
RS232 cable length according to Texas Instruments 

Baud rate  Maximum cable length (ft) 
19200 .......................... 50 
9600 .......................... 500 
4800 ......................... 1000 
2400 ......................... 3000 

3000ft sind knapp 1000m, also ausreichend für ein Otto-Normal-Haus.
2400 Baud sollten bei den Steuerungsinformationen eigentlich auch 
reichen.

Nun meine Fragen: Gibt es bereits Erfahrungen damit? Geht wirklich 1km 
(und bei weniger Geschwindigkeit vielleicht sogar noch mehr) über RS232. 
Würde dabei einfaches Telefonkabel reichen, oder müsste es geschirmt 
sein?

Danke schön :-)

Matze

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
les dir das mal durch, speziell unter "Technik" wird ein Vergleich zu 
RS232 gezogen
http://de.wikipedia.org/wiki/EIA-485

Autor: G. L. (glt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS232/V24 kannst Du für Hausbus komplett vergessen, da ungeeignet.

Oben wird auf RS485 verwiesen, da kann man schon mehr mit anfangen, Can 
würde auch gehen (wurde schon einige Male gemacht)

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>RS232/V24 kannst Du für Hausbus komplett vergessen, da ungeeignet.
weil...
Es können quasi beliebig viele Geräte auf dem Kabel hängen, solange nur 
einer "unaufgefordert" sendet.
Was übersehe ich denn da?

>Oben wird auf RS485 verwiesen, da kann man schon mehr mit anfangen, Can
>würde auch gehen (wurde schon einige Male gemacht)
Wie ich schon geschrieben habe, es ist noch lange nicht im 
Projektstadium. Ich verschaffe mir im Moment nur einen Überblick "was 
geht". Ich habe mir auch Artikel über RS485 und den CAN-Bus 
durchgelesen, wobei ich da eher zum 2. tendieren würde. Alternativ ist 
auch eine direkte Kommunikation über TCP/IP nicht ganz abwegig. Netzwerk 
kommt, das weiß ich sogar schon vor der Feinplanung, mindestens mit 
jeweils einer Duplexleitung in jeden Raum. Also auch Küche & WC - 
vielleicht soll ja mal ein Webradio irgendwo hin, und just da hapert´s 
mit dem WLan.
Das wäre von der Konfiguration wahrscheinlich das schönste, nur halt 
erheblich teurer...

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicherlich kann man das auch irgendwie mir RS232 hin bekommen.
Nur warum?

RS232 wurd entwickelt um Peripherie-Geräte an PCs anzuschliessen.
Jetzt wurde das in Vergangenheit für viele,viele Anwendungen weiter 
verwendet. Was auch gut ist und war.

RS485/CAN/LIN etc. sind spezielle Bussysteme für mehrere Teilnehmer auch 
in "rauhen" Umgebungen. Würdest du ca. 1km dein RS232 durchs Haus legen, 
dann würde (falls du keine galvansiche Trennung vornimmst) deine 
Boardspannung ohne irgendwelchen Schutz (Störeinstrahlung/Austrahlung) 
betrieben. Das halte ich für sehr feherlanfällig. WLAN/Ethernet ist 
oversized und benötigt Sternverdrahtung - da bist du nur am Kabelziehen 
und hochwertiges CAT6 oder ähnlich geht auch ins Geld.

Also, warum das Rad neu erfinden. Such dir hier im Forum eine 
Referenzprojekt mit oben genannten Bussen und gut. Die Mehrkosten sind 
im Verhältnis zum Arbeitsaufwand der dahintersteckt sowieso zu 
vernachlässigen.

Ich stand vor einigen Jahren vor dem selben Thema, bin dann über 
canathome.de auf can gekommen und mein System mit ca 30 Busteilnehmern 
läuft seit über 1 Jahr fehlerfrei (sieht man mal von Programmierfehlern 
bzw. Unschönheiten in SW ab). Die HW läuft auf jeden Fall seither durch 
- die SW wird wohl nie fertig, da ich immer wieder neue Ideen habe; aber 
das ist ja das schöne daran.

Hoffe ich konnte dir helfen.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau meine Meinung.
Einfach günstig zB. hier Beitrag "Eingabepanel mit CAN-Bus Entwicklung"

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Guru,

>Sicherlich kann man das auch irgendwie mir RS232 hin bekommen. Nur warum?
Berechtigte Frage :-). Es ging mir nur um die Theorie. Ich wollte nur 
verifizieren, ob diese Kabekkängen tatsächlich realistisch erreichbar 
wären.

>Würdest du ca. 1km dein RS232 durchs Haus legen, dann würde (falls du >keine 
galvansiche Trennung vornimmst) deine Boardspannung ohne >irgendwelchen Schutz 
(Störeinstrahlung/Austrahlung) betrieben.
Und das habe ich bei den anderen Möglichkeiten nicht??

>WLAN/Ethernet ist oversized und benötigt Sternverdrahtung - da bist du >nur am 
Kabelziehen und hochwertiges CAT6 oder ähnlich geht auch ins Geld.
Das es etwas hochgestochen ist stimmt. Die Kabelpreise sind allerdings 
kein Problem. Wie ich geschrieben habe - Kabel kommt in jeden Raum, so 
oder so. Da wird nicht mehr gespart. Jeder Raum bekommt mindestens ein 
CAT7-Duplex-Kabel.

>Hoffe ich konnte dir helfen.
Auf jeden Fall. Die Seite "canathome" hat geholfen :-)

Nur noch eine Frage zum CAN-Bus, wo ich eh gerade so schreibe...

Was brauche ich "real" für einen Versuchsaufbau?

Je 2x
µC - atmega8 in Grundbeschaltung - Quarz nötig?
MCP2515
MCP2551

Wenn ich nichts überlesen habe läuft das MCP-Gedöns auch mit 5V. Ich 
brauche also keine anderen Pegel? Kann ich, bei Verwendung von CAT7, die 
Versorgungsspannung für die Schaltungen mit durch das Kabel jagen, oder 
sollte man das lieber nicht tun?

Danke schön

Matze

Autor: AED (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Guru,
in einem muss ich Dir entschieden widersprechen.
RS232 gab es schon lange bevor der PC das Licht der Welt erblickt hat.
Ich habe vor mehr als 30 Jahren auch Busssysteme mit RS232 aufgebaut, 
allerdings in einer Current-Loop Ausführung.
Ich gebe Dir aber recht, dass es heute natürlich weit Besseres für ein 
Busssystem gibt als RS232, das übrigens nie dafür gedacht war.

Gruss
AED

Autor: Micha B. (chameo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Matze,

ich habe meine ersten Versuche mit diesem Board gemacht: 
http://www.kreatives-chaos.com/artikel/can-testboard

Auf der Basis sind dann auch meine Module für Unterputzdosen entstanden, 
welche klaglos Ihren Dienst verrichten. O.g. Board ist immer noch als 
CAN/RS232 Gateway zur PC-Anbindung im Einsatz.

Mein Buskabel hat 4 Leitungen (VCC, GND, CAN-L, CAN-H), d.h. die 
Versorgung der Module erfolgt zentral über die Busleitung. Aufgrund der 
Leitungslänge und des Spannungsabfalls beträgt VCC an der Einspeisung 
ca. 12V= und wird auf jedem Modul per 7805 zu den benötigten 5V=. VCC 
und GND sind auf mehrere Adern verteilt. Trotzdem kommen nach gut 100m 
am letzten Modul nur noch gut 8V= an.

Gruß - Micha

Autor: Positivum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matze,

Antworten auf deine Fragen:

>Würdest du ca. 1km dein RS232 durchs Haus legen, dann würde (falls du >keine
>galvansiche Trennung vornimmst) deine Boardspannung ohne >irgendwelchen >Schutz
>(Störeinstrahlung/Austrahlung) betrieben.
>Und das habe ich bei den anderen Möglichkeiten nicht??

CAN arbeitet mit differentieller Übertragung, das ist schon mal der 
Hauptvorteil zu RS232, das Massebezogen arbeitet. Sprich Masseversatz 
über die Leitungslänge interessiert dich dann nicht. CAN ist auch nicht 
gal. getrennt, es gibt aber einige Mechanismen und Zusatzelemente um die 
Störein- und Aussendung zu minimieren. Allein schon durch die 
verdrillten Leitungen bei CAN (auch CAT) werden Störungen auf die 
Leitungen immer gleichartig aufgeprägt und durch die dif. Übertragung 
machen sie dir dann nichts aus. Durch Einsatz einer Common-Mode-Coil auf 
jedem Modul können diese Störungen dann noch zusätzlich gefiltert 
werden. Ist State-Of-The-Art im Automotive-Bereich. So habe ich das bei 
mir gemacht - habe ich sonst bei keinem anderen Hausbussystem gesehen 
;-)

>Je 2x
>µC - atmega8 in Grundbeschaltung - Quarz nötig?
>MCP2515
>MCP2551

Ich kenn die Teile nicht so genau; sollte aber genügen (MC, 
Can-Controller, Can-Transceiver).


>Wenn ich nichts überlesen habe läuft das MCP-Gedöns auch mit 5V. Ich
>brauche also keine anderen Pegel? Kann ich, bei Verwendung von CAT7, die
>Versorgungsspannung für die Schaltungen mit durch das Kabel jagen, oder
>sollte man das lieber nicht tun?

Jeep - ich habe bei mir die orginal EIB-Kabel ; zwei Leitungen mit 
CAN-H/L und zwei mit 12V/Gnd. Mit Cat7 kannst du sogar zwei Pfade 
aufmachen, da du ja 4 verdrillte Päarchen hast.

@AED
>Hallo Guru,
>in einem muss ich Dir entschieden widersprechen.
>RS232 gab es schon lange bevor der PC das Licht der Welt erblickt hat.
>Ich habe vor mehr als 30 Jahren auch Busssysteme mit RS232 aufgebaut,
>allerdings in einer Current-Loop Ausführung.

Ich wusste das irgendjemand darauf antwortet und das wiederlegt;-)
Ehrlich gesagt weiss ich auch nicht exakt die Entstehungszeit der RS232; 
aber ich kenne sie seit ich mich mit PCs/MCs beschäftige. Ist ja auch 
nicht so relevant. Auf jeden Fall wurde der Standard für 
Punkt-zu-Punkt-Verbindungen und kurze Entfernungen entwickelt.

Hoffe geholfen zu haben.
Guru

Autor: Axel Laufenberg (axel_5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin gerade dabei, die Hausautomatisierung auf Ethernet umzustellen, 
kommend von diversen Interfaces angefangen von RS232, X10, 
Direktverdrahtung bis zu 1-Wire.

Der Hintergrund ist der, dass faktisch alle Video/Audiogeräte zunehmend 
auf Ethernet zugreifen, die Kinder wollen einen PC der Ethernet braucht 
usw. usf. Somit sind Ethernetswitche flächendeckend im Haus vorhanden. 
Ich muss jetzt auch zunehmend die CAT5 Leitungen, die ich mal für den 
Hausbus gelegt hatte für Ethernet umwidmen, um die neunen Spassgeräte 
anzubinden.

Dazu kommt, dass die Peripheriegeräte immer komplexer werden. Im 
Wohnzimmer/Wintergarten werden Rolladen, Markisen, Licht, und 
Dachfenster und die Heizung darüber gesteuert. Da das auch 
fehleranfälliger ist, bzw. häufiger mal umprogrammiert werden muss, 
möchte ich dafür einen Bootloader haben, der 32k ROM in einer 
vernünftigen Zeit über den Bus programmieren kann.

Und nicht zuletzt kann ich dann von allen PC aus die Peripheriegeräte 
kontrollieren. Das habe ich bisher alles über irgendwelche Gateways 
machen müssen.

Eine Sternverdrahtung ist dafür nicht nötig, es gibt Switches in 
diversen Ecken des Hauses, von denen aus ich dann problemlos Geräte 
anbinden kann.

Und mit dem enc28j60 oder ähnlichen Bausteinen kann ich einen Ethernet 
Anschluss sehr einfach herstellen, das ist letzlich nicht aufwändiger 
als CAN oder irgendwas anderes. Die Priorisierung etc. wird alles in den 
Switches gemacht, die sowieso vorhanden sind, da brauche ich mich nicht 
drum kümmern.

Gruss
Axel

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel,

all das was du machst geht auch mit CAN.
Hast du mal den Stromverbrauch bei dir ermittelt?
Auch die HW-Kosten sind bei dir deutlich höher.
CAT liegt bei mir auch in jedem Zimmer.
Aber nicht für den Hausbus.

Ich denke ein- zwei Knoten mit mehr Intelligenz reichen für komplexe 
Aufgaben aus. Alles ander günstig, einfach und stromsparend halten so 
wie Lichtschalter, Rolladensteuerung etc.

Autor: Axel Laufenberg (axel_5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>all das was du machst geht auch mit CAN.

Eben nicht. Ich kann die Leitungen nun mal nur einmal nutzen. 
Zusätzliche Leitungen für CAN oder was anderes sind einfach nicht mehr 
drin.

Stromverbrauch ist natürlich ein Argument, allerdings liegt ein Ethernet 
Knoten bei 500mW, was im Jahr unter einem Euro ist und auf dem Niveau 
eines angezogenen Relais.

>CAT liegt bei mir auch in jedem Zimmer.
>Aber nicht für den Hausbus.
Wenn Du Kabel für den Hausbus extra ziehen musst, sind die Mehrkosten 
für die Ethernet HW wohl eher Minderkosten. Davon abgesehen halten die 
sich auch so stark im Rahmen.

>Alles ander günstig, einfach und stromsparend halten so
>wie Lichtschalter, Rolladensteuerung etc.
Ich mache ja nun auch nicht an jeden Lichtschalter einen Ethernet 
Knoten. In der Regel ziehe ich von da aus schlichte Zweidrahtleitung zum 
nächsten Knoten.

Gruss
Axel

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...  Ethernet Knoten bei 500mW ...

Welche Knoten verwendest du?

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe meinen Hausbus am VBus von RESOL orientiert (Hardware und 
Datenstruktur). Ist ein Single-Master-System, Stromschleife mit 35mA (es 
können damit auch Geräte gespeist werden), 9600 Baud.
Damit kann ich mit zwei Klingeldrähten verpolungssicher und ohne 
Galvanische Trennung, per RS232-Protokoll das ganze Haus abdecken.
Zusätzlich lassen sich Geräte wie Solarregler, Gastherme usw. mit 
einbinden.

Das Ganze läuft schon 1/2 Jahr absolut störungsfrei, die 
RS232-Übetragung vorher machte etliche Probleme wegen Einstreuung auf 
lange Leitungen.

Autor: Timo E. (tien)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matze,

ich bin schon ein paar Schritte weiter, wenn auch der Hausbus noch nicht 
in Betrieb ist. In den letzten Monaten habe ich unser gebrauchtes DHH 
umgebaut. Dabei die gesamte Elektrik im EG und OG neu gemacht. Nun liegt 
in jeder Dose bzw. in jeder Dosenkombination, egal ob Taster oder 
Steckdose ein EIB Kabel (grünes Kabel mit 4 x 0,8mm²). Das EIB Kabel 
habe ich genommen, da es mit diesem Kabel zuläßig ist es mit 230V 
Verkabelung zusammen zu verlegen.
In jeder Dosenkombination ist mind. eine Kaiser Elektronikdose drin. Die 
ist zwar nicht gerade günstig, aber nach Vergleich mit anderen Lösungen 
meiner Meinung nach die beste Wahl.Ein weiterer Vorteil dieser Dose ist 
eine einschiebbare Abtrennung zwischen Dose und Elektronikraum. Somit 
ist eine räumliche Trennung Steuerung/Busanbindung und 
Lastteil(Relais/SSR) möglich.

Über das EIB Kabel wird CAN laufen, zum einen, weil es für einen 
Steuerbus ideal geeignet ist, zum anderen weil es mit Hobbymiteln recht 
einfach und günstig zu realisieren ist (außerdem entwickele ich 
beruflich Steuergeräte).

Eine CAT5/6/7 Netzwerkleitung in jedes Zimmer ist ok, aber ich würde 
dies nicht für den Hausbus nutzen, zumindest nicht, wenn Du in jede Dose 
willst. Der Grund, warum ich das nicht gemacht habe: zum einen ist das 
EIB Kabel zugelassen um mit 230V Installation verbaut zu werden (eventl. 
willst Du ja mal Dein Haus verkaufen?), zum anderen ist ein CAT NW 
Leitung einfach mechanisch deutlich störischer - es war schon die 
Verlegung der EIB Leitung ein deutlicher Mehraufwand.

Folgende Punkte habe ich mit der EIB Busleitung angefahren:
- jeder Tasterkombination
- jede Steckdosenkombination
- in jedem Zimmer eine UP Dose am Eingang als Terminal (geplant: S65 
Display mit Touchscreen)
- jeder Rolladentaster
- jeder Rolladenkasten (um per Reedkontakt feststellen zu können ob 
Fenster offen, gekippt oder zu sind)
- in jedem Raum in der Decke eine UP Dose in der Sensorik verbaut werden 
kann (Bewegungsmelder, Temp., Feuchte, ....)
- bei jedem Heizkörper in der Nähe des Ventils
- in der Fußbodenheizungsverteilung
- im Lichtsteuerkasten (Dimmer, Stromstoßschalter sind zentral)
- in der Nähe zur Haustür, mit Verbindung zum Türöffner (extra Leitung)
- über extra Leitung Verbindung nach aussen (Nord/Süd) für Sensorik 
(Temp., Feuchte, Windgeschw., ...)
- unter den Küchenschränken (von dort kommt man überall in der Küche 
hin)
- unter der Badewanne (da hier die Stellventile für den Heizkörper und 
die FB Heiz. im Bad sind)
- zu jedem Türschloß und jedem Dachfenster geht eine 4 adrige 0,6mm² 
Leitung zum nächsten Taster, damit kann man per Reedkontakt prüfen ob 
die Tür / das Fenster zu ist.
- zu jedem dezentralen Lüfter (mit WRG) in den Wohnräumen

Bei Bedarf kann ich ja mal ein paar Bilder nachliefern.

Und noch etwas: ich hätte nicht gedacht, dass soviele Leitungen (Sat, 
NW, Tel, EIB, Audio) zusammenkommen, also lass genügend Platz in den 
Installationsschächten und nim einen großen Verteiler. Ich habe Media 
(NW, Tel, Sat) getrennt von Versorgung und getrennt von Lichtsteuerung.

Und mach Dir Gedanken, ob Du Dein Haus auch konventionell (ohne Bus) 
betreiben willst. Das ist meiner Meiung nach sinnvoll wenn Du das Haus 
mal verkaufst. Ich habe deshalb zusätzlich von jeder Tasterkombination 
zur Lichtsteuerung X x 0,6mm² Leitungen gezogen. Damit kann ich jetzt 
ohne Buss die Stromstoßschalter und Dimmer steuern.
Vorteil für mich: die Grundfunktion (Licht an/aus, Strom, Rolladen) 
gehen ohne Bus, so kann ich mir Zeit lassen mit der Entwicklung.

Nur die Komfortfunktionen werden dann über den Buslaufen. Da ich jedes! 
Licht über ein Stromstoßschalter oder Stromstoßdimmer (von Eltako) 
steuere ist es möglich per µC das Licht ein/auszuschalten. Per zweitem 
Kontakt im Stromstoßschalter kann ich die derzeitige Stellung in den µC 
rücklesen.

Sollte ich mal ausziehen muss ich im einachsten Fall nur die 
Stromversorgung des Hausbussystem abschalten und das Haus funktioniert 
wie jedes andere auch. Und wenn der Käufer will kann er ja über die EIB 
Leitung auch komerzielle EIB Produkte einbauen.


Nur so für Deine Planung, vielleicht hilft es Dir ja.
Grüße Tien

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende im ganzen Haus (350qm / 29Räume) sehr intensiv einen 
abgespeckten RS232-BUS. Naja - BUS will ich es nicht nennen...
Pro BUS gibt es einen Master (meist atMega162 oder atMega128) und viele 
Slaves (tiny2313, mega8). TTL-TX vom Master geht über Treiber auf den 
BUS und dort hören alle Slaves am RX (TTL) mit.
Rückwärts senden alle Slaves mit einer DIODE entkoppelt (Katode am Slave 
(TX-TTL) und Anode am BUS) zum Master. Dort geht es auf den RX (TTL).
Alle Slave haben Adressen von 01..99 und senden nur, wenn der Master sie 
adressiert und fragt. Alle Slaves hören immer mit und werten Befehle für 
sie aus.
Kommunikationsprotokoll ist absolut simpel, weil kein Kollisionsbetrieb 
vorgesehen ist und der Master die Kommunikation steuert.

Diese Variante kann sicherlich nicht viel, ist aber für fast alles 
ausreichend und kostet nichts, wenn das Kabel schon liegt.
Störungen habe ich bei meinen 300Baud bisher nicht bemerken können.

Meine längste Kabellänge: 100m


Uwe

Autor: Blackbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
100m sind es bei mir nicht, dafür aber 1200baud. Addressierung und 
Verschaltung genauso wie bei @Uwe.
Funktioniert tadellos.

Und war ganz fix aufgebaut und in Betrieb genommen.

Blackbird

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte über die 100m auch schon 2400 und 9600 probiert. auch keine 
Fehler und Probleme zu erkennen. Aber warum das Risiko, wenn 300Bd 
reichen.
Schön zu wissen, das nach oben noch etwas Luft ist.

Uwe

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe

Ein Slave kann dann aber nie selbständig senden, oder?
Geht das dann per Polling oder wie hast du die Taster angeschlossen?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Geht wirklich 1km

Ja. V24 ist schliesslich Telex, geht, wenn langsam genug, also rund um 
die Welt.

Aber V24 tarnsportiert keine ausreichende Versorgungsspannung auf 1km, 
du brauchst also bei jedem Busteilnehmer ein eigenens Netzteil mit 
entspreched hohem Standbyverbrauch, daher ist V24 Unsinn, selbst wenn du 
es als Token-Ring sogar Standardkonform und trotzdem betriebssicher 
aufbauen könntest, und per Optokoppler gar galvanische Trennung möglich 
ist (was bei Blitz in der Nähe recht sinnvoll ist).

Daher nimmt man lieber so was wie EIB/KNX, die liefern schon die 
Stromversorgung mit und funktionieren im Haus auch (aber nicht rund um 
die Welt).

Autor: Axel Laufenberg (axel_5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...  Ethernet Knoten bei 500mW ...
>Welche Knoten verwendest du?

Einen enc28j60. Der verbraucht etwa 120mA bei 3,3V.

Allerdings verbaucht der schon eher viel, 100MBit ist deutlich 
sparsamer.

Microcontroller ist ein simpler ATMEGA32 bzw ATMEGA664, den man sowieso 
braucht.

Gruss
Axel

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guru schrieb:
> RS232 wurd entwickelt um Peripherie-Geräte an PCs anzuschliessen.

Falsch. Die RS232 stammt aus den sechziger Jahren, d.h. aus einer Zeit, 
als man es noch für ziemlich ausgeschlossen hielt, einen ganzen Computer 
für den Arbeitsplatz zu spendieren. Damals ging es eher um den Anschluss 
von "dummen" Terminals und Fernschreibern, letztere aber oft eher per 
Stromschleife statt per RS232.

> Ich wusste das irgendjemand darauf antwortet und das wiederlegt;-)
> Ehrlich gesagt weiss ich auch nicht exakt die Entstehungszeit der RS232;
> aber ich kenne sie seit ich mich mit PCs/MCs beschäftige. Ist ja auch
> nicht so relevant. Auf jeden Fall wurde der Standard für
> Punkt-zu-Punkt-Verbindungen und kurze Entfernungen entwickelt.

Ich finde es ausgesprochen unverschämt, den Entstehungszeitpunkt einer 
bestimmten Technik willkürlich mit dem Zeitpunkt gleichzusetzen, an dem 
man sich selbst damit beschäftigt hat.

Und auch die Aussage, dass die RS232 für kurze Strecken entwickelt 
worden sei, ist falsch. Damals ging es darum, Terminals an Großrechner 
anzuschließen. Und dafür benötigte man üblicherweise sehr lange Kabel, 
da es sich um sternförmige Verkabelungen handelte und die Terminals 
nicht in unmittelbarer Nähe des Rechnern standen.

Bei den damals üblichen Übertragungsraten von 50 - 1200 Baud waren die 
zulässigen Kabellängen ja auch hinreichend groß. Deutlich verkürzt 
wurden sie erst "neuerdings", als deutlich höhere Übertragungsraten 
möglich werden sollten.

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich finde es ausgesprochen unverschämt, den Entstehungszeitpunkt einer
>bestimmten Technik willkürlich mit dem Zeitpunkt gleichzusetzen, an dem
>man sich selbst damit beschäftigt hat.

Ich finde es ausgesprochen "merkwürdig" sich an sowas jetzt 
"aufzugeilen".
Es geht in dem Thread um die Frage wie man am Besten nach dem Stand der 
Technik einen Hausbus realisiert - und nicht wo der RS232 Standard 
entstanden ist bzw. herkommt.

Und nach wie vor halte ich hier RS232 nicht für einen Hausbus geeignet.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Guru:
>"Ein Slave kann dann aber nie selbständig senden, oder?"
Genau das ist die Einschränkung! Wenn man damit leben kann ist RS232 ok. 
Sonst ist es ein ko-kriterium.
Wenn ich einen Lichtschalter oder Rollladen betätige, erwarte ich eine 
Reaktion in weniger als 100ms. Alles andere ist eine Zumutung. Ich bin 
absolut deiner Auffassung, das für Hausbuszwecke der RS232 NICHT 
echtzeitfähig ist.

Deswegen arbeite ich mit lokalen Slave-uC (z.b. atmega8 für Rollläden). 
Die machen Sensoren und Aktoren lokal für sich. Nur die zeitunkritische 
Remotesteuerung wird per BUS gemacht.

Lichtschalter gehen alle klassisch per Fernmeldekabel zur Zentrale. Die 
steuert dann alle Lampen per DMX512.

Ich hab die "BUSSE" alle schön geteilt. Rollo, Licht, Brandmelder, PIR, 
Türkontakte, Regenwasseranlage, Heizkörper (per HR20) usw.

Stromversorgung per 12V. Also 2DA per BUS. Masse, RX, TX, 12V.
am uC ist dann ein 7805, die Relais brauchen idRegel sowieso 12V.

Wenn ich alles per CAN oder Ethernet machen will, wird mir das zu teuer.

Uwe

Autor: lrlr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Timo Engelmann

du fährst überall (steckdose, schalter usw. ) mit EINEM EIB-kabel?

darf man so riesige sternformige CAN-Bus überhaupt machen?
ich dacht mir immer der wäre (besser) linear...


zum reedkontakt am fenster... wichtig ist, dass es auch bei 
geschlossenem fenster (und gedrehtem hebel) als offen erkannt wird...

Autor: Timo E. (tien)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> du fährst überall (steckdose, schalter usw. ) mit EINEM EIB-kabel?

Ne, natürlich von einer Dose zur nächsten, also kein Zwei, auch wenn das 
mit CAN je nach Länge und Flankensteilheit und Baudrate (wenn auch 
ausserhalb der Spec) in Einzelfällen geht. Die Bustopologie hat ja 
durchaus auch Vorteile. Man benötigt deutlich weniger Leitung als wenn 
man einen Stern macht. Es ist aber durchaus möglich den Bus in einzelne 
Segmente zu trennen, dazu muss nur an einer Stelle ein µC rein, der von 
einem zum anderen Segment überträgt (so ne Art Gateway). Aber solange es 
geht werde ich das gesamte Haus an einem Bus betreiben. Da der Bus nur 
Komfortfunktionen bedient ist das auch nicht zu problematisch.

> zum reedkontakt am fenster... wichtig ist, dass es auch bei
> geschlossenem fenster (und gedrehtem hebel) als offen erkannt wird...

Das ist bei mir nicht so.
Ich habe vom Rolladenkasten ein Loch von oben in den Rahmen gebohrt und 
darin steckt der zylindrische Reedkontakt (1.Bild). In der Tür ist dann 
ein kleiner Neodym Magnet eingelassen (2.Bild). So ist das ganze im 
geschlossenen Zustand nicht sichtbar. Um das Kippen vom Öffnen zu 
unterscheiden gibt es einen zweiten Reed Kontakt, der in der Nähe des 
Scharniers befestigt ist und nur beim Kippen öffnet (3.Bild).
Es geht mir auch nicht um eine Alarmfunktion (obwohl das auch sinnvoll 
wäre) sondern eher um Heizung aus, wenn Fenster offen, oder Rolladen 
offen lassen, wenn Terassentür offen ist, oder Dachfenster zu wenn das 
Hausverlassen wird, ....
Beim Dachfenster nehme ich den Zustand direkt am Hebel ab (4.Bild), so 
ist hier ein komplettes Verriegeln notwendig um das Signal "Geschlossen" 
zu erzeugen.
Aber ich habe mir dazu auch schon Gedanken gemacht: Eventl. werde ich 
eine Feder in den Rahmen einlassen, die Das Fenster, wenn es nicht 
veriegelt ist etwas aufdrückt. Das reicht schon um den Reedkontakt 
auszulösen.
Ich wollte halt nicht an den Griff etwas anbringen, also nur Magnet am 
beweglichen Fenster. Und an die Mechanik ran gehen ist auch nicht ganz 
trivial.


Grüße Tien

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe

>Wenn ich einen Lichtschalter oder Rollladen betätige, erwarte ich eine
>Reaktion in weniger als 100ms. Alles andere ist eine Zumutung. Ich bin
>absolut deiner Auffassung, das für Hausbuszwecke der RS232 NICHT
>echtzeitfähig ist.
Das stimmt, die Reaktion darf nicht erst 2 Sekunden später kommen, bis 
dahin habe ich ja noch 5x mehr gedrückt...

Aber mal ganz nüchtern betrachtet... Was würde passieren, wenn man 
anstatt 2 Leitungen 3 Leitungen zu den Schaltern führt. RX, TX, 
Sendewunsch. Wenn ein Schalter senden möchte prüft er die 3. Leitung und 
wenn sie 0 ist setzt er sie auf 1 und beginnt zu reden. Ist sie schon 1 
wartet er einen definierten Zeitraum und prüft dann erneut. Um ganz auf 
Nummer sicher zu gehen könnte er auch nach dem Setzen der 3. Leitung 
noch kurz warten und auf der Sendeleitung "lauschen". Hört er da nichts, 
dann ist nicht der Extremfall eingetreten, dass 2 Schalter zur exakt 
gleichen Zeit die Leitung geprüft haben... Er sendet seine Nachricht und 
setzt die Leitung wieder auf 0. Hört er etwas sendet er nichts und setzt 
seinen Pin ebenfalls wieder auf 0 und das Spiel geht von vorne los. 
Damit hat man dann quasi eine "collision protection".

Ich müsste mir das mal experimentell aufbauen, wobei ich nicht mit einem 
so großen Antworten-Ansturm auf meine Frage gerechnet habe, zumal die 
wirklich nur hypothetisch und auf die Leitungslänge bezogen war :-)
Im Grunde genommen ist RS232 aber wirklich die billigste Variante - 
einfach wegen dem eh-da-Prinzip...

Ich danke aber auf jeden Fall allen, die sich hier beteiligt haben, oder 
es noch tun ;-)

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann die Abfrageintervall bei gerade 'aktiven' Devices durch den 
Master erhöhen. Bei einem Dimmer ist es z.B. sofort einleuchtend, das 
nach einer ersten Betätigung sicher noch eine weitere kommt.

Prinzipiell sollte aber:
1. ein Slave minimalsfunktionen selbst ausführen können, z.B. Licht an 
und aus. Bei einem Stromausfall diese Infos behalten.
2. ein Slave zumindest ein kurzes Telegramm 'ich habe ein Anliegen' 
selbst senden können, ohne Einladung durch den Master

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matze schrieb:


> Nur noch eine Frage zum CAN-Bus, wo ich eh gerade so schreibe...
>
> Was brauche ich "real" für einen Versuchsaufbau?
>
> Je 2x
> µC - atmega8 in Grundbeschaltung - Quarz nötig?
> MCP2515
> MCP2551

Beim Atmel 90CAN32/64/128 ist der CAN MAC gleich mit drin, und von Atmel 
gibts auch Doku und Beispielcode dafür. Das läuft alles auch mit 5V. 
Quarz brauchst Du für CAN, ohne gehts nicht. Dann brauchst Du einen PHY 
(wie bei Ethernet, der MAC ist oft auch mit im Controller, der PHY für 
die analoge Aufbereitung ist fast immer extra, weil andere 
Halbleitertechnologie). Bei den PHYs gibts welche für hohe 
Geschwindigkeiten (250k-1MBit) und welche für niedrige Geschwindigkeiten 
(bis 125k). Das hat was mit Flankensteilheit und EMV zu tun. Fast alle 
PHYs laufen mit 5V; 3.3V sind für die vorgeschriebenen Signalpegel sehr 
knapp.

CAN braucht immer einen funktionierenden Receiver am Bus, sonst wirft 
der MAC Errors beim Sendeversuch. Es ist also sehr ratsam, einen 
nachweislich funktionieren CAN-Knoten zum Entwickeln zu haben, ansonsten 
wird es am Anfang extrem mühsam. Schau Dir ébay #120558567048 an, das 
ist genau das, was ich meine. Gibts auch als PCI Karte.

120 Ohm Terminierung an den Enden nicht vergessen!

RS485 ist in der Hinsicht einfacher, allerdings musst Du da mehr selber 
machen.

> Wenn ich nichts überlesen habe läuft das MCP-Gedöns auch mit 5V. Ich
> brauche also keine anderen Pegel? Kann ich, bei Verwendung von CAT7, die
> Versorgungsspannung für die Schaltungen mit durch das Kabel jagen, oder
> sollte man das lieber nicht tun?

Bei PowerOverEthernet nimmt man 48V, und das nicht ohne Grund. Du willst 
keinen großen Spannungsabfall auf der Leitung, also machst Du den Strom 
klein und erhöhst dafür die Spannung. Im POE-Receiver sitzt dann ein 
Schaltreglerbaustein, der (a) die POE Signalisierung und (b) die 
erforderlichen Versorgungsspannungen macht. 48V sind auch im 
Telco-Bereich verbreitet, aus genau diesem Grund.

Du brauchst nicht unbedingt 48V zu nehmen, 24V oder 36V sind 
wahrscheinlich für Dich einfacher zu realisieren.

fchk

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matze: Zu deine Kollisionserkennung, was passiert wenn 2 µC senden 
wollen beide überprüfen die Leitung welche frei anzeigt und nun senden 
beide los?

Ich finde es muss geprüft werden ob das zu sendende auch wirklich am Bus 
anliegt oder verändert wurde um notfalls die Übertragung abzubrechen, 
die Arbitrierung bei CAN finde ich genial gelöst.

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas O.
>was passiert wenn 2 µC senden
>wollen beide überprüfen die Leitung welche frei anzeigt und nun senden
>beide los?
Das kann ja eigentlich nie auftreten, wenn ich die 2. pessimistische 
Möglichkeit in Betracht ziehe.
                                  µC prüft Leitung
                                  high         low
                          Leitung frei         Leitung belegt
                Leitung auf low ziehen         warte X und zurück zum Start
            warte X und lausche auf TX
            Frei             Aktivität
            Sende Daten      warte X und zurück zum Start
            Leitung freigeben

X ist in diesem Falle ein für jeden Baustein definierter Wert. Ich habe 
z.B. für jeden Teilnehmer eine ID. Nehme ich die als Wartezeit warten 
alle unterschiedlich lange. Das müsste experimentell laufen - ob der 
Aufwand Sinn machen würde steht auf einem ganz anderen Blatt...

Gruß
Matze

Autor: Ralf G. (old-school) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matze

Kollisionserkennung bei RS232 ?!

Eine RS232 Verbindung ist eine Punkt zu Punkt Verbindung und kein BUS 
wie z.B. RS485.
Wie soll es denn da zu einer Kollision kommen, es sei denn Du willst dir 
einen RS232-HUB bauen/verwenden, wo alle RS232 Verbindungen als
Stern zusammen laufen.

Ich habe mich z.B. für den I2C-Bus, für meine Steueraufgaben im Haus 
entschieden.
Mit dem B82B96 als longRange Treiber habe ich mehrere LM75 an Strecken 
von 200 Meter testweise mit 100kHz betrieben.

Für die Verdrahtung verwende ich 2x2x0,8 Kabel.
+12  D  CL / GND

Den I2C-Bus betreibe ich mit einer Stern-Verkabelung um die Zweige 
möglichst kurz zu halten ( 5-30 Meter), an einem Zweig können ca. 128 
Adressen (Slaves) mit 100 kHz verwendet werden.

Durch die Fragmentierung des Busses in Zweige, sind so ein vielfaches 
der Adressen möglich und die gesamt Kapazität der Verkablung wird auf 
ein Minimum reduziert, der Master kann sich über den aktiven HUB auf den 
benötigten Zweige schalten, kann z.B. Zweige die nicht benötigt werden 
über den HUB abschalten (stromlos machen), z.B. um einen gestörten Zweig 
und deren Slaves zu rebooten.

Als Slaves verwende ich handelsübliche I2C-Bausteine:
Port-Erweiterungen, AD-Wandler, Temperatur-Sensoren, usw ...

Der Bus wird bei mir im Master-Slave-Mode verwendet, slaves (z.B. 
sensoren) werden gepollt, Aktoren werden nur angesprochen wenn sich was 
ändert , zusätzlich gibt es für jeden Zweig noch eine Interupt_Leitung,
für Module die es eilig haben ...
Der Master ist ein PC der über einen IOWarrior den aktiven-Hub und über 
dessen I2C-Schnittstelle das Haus steuert.

Bei mir wird der Haus-Bus nur für Steueraufgaben genutzt, wo es auch 
Sinn macht, die Verkabelung z.B. Schalter / Lampe ist klassisch und wird 
auch so bleiben.

Gruss Ralf

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gab schon Leute, die haben mit dem Kinderwagen Kohle gefahren. So 
gesehen ist RS232 möglich.
ABER der konkrete Aufbau und die damit verbundenen 
Störungen/Fehlfunktionen  können von Haus zu Haus verschieden sein. Wenn 
das Haus z.B. neben der elektrifizierten Eisenbahnstrecke steht, sollte 
man eine bessere Lösung suchen, das gigantische Störfelder nur Ärger 
machen.

Autor: Ralf G. (old-school) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@oszi40

>> ... das gigantische Störfelder nur Ärger machen.

müssen es gar nicht mal sein ...

Bei mir sind es die Leuchtstoffröhren in der Werkstatt, die einen ersten 
Bus Versuch auf RS485 Basis häufig zum aussetzen gebracht haben.

Der derzeitige verwendete I2C-Bus läuft sehr stabil, ein 
Funk-Sende-Modul wo ich einen "MCP23017" verbaut habe, der einen uC Kern 
scheinbar beinhaltet, neigt 1-2 mal im Jahr zum Absturz und zieht dabei 
den entsprechenden Bus(Zweig) runter.
Deswegen auch die Zweigabschaltung (Reboot) in meinem Haus-Bus.

Sollte z.B. ein Zweig gar nicht mehr ordentlich arbeiten bleibt er bis 
zur Reparatur abgeschaltet, die nicht betroffenen Zweige behalten so 
ihre Funktion.

Solche Störungen kann und wird es immer geben ... z.B. Gewitter, ein 
Bus-System (Haussteuerung) egal wie es aufgebaut ist, muss mit solchen 
Störungen umgehen können. Wenn ich zwei Wochen in Urlaub fahre muss ich 
mir sicher sein, das die Haussteuerung nicht die Bude abfackelt, weil 
diese vielleicht auf die Idee gekommen ist z.B. eine Kaffeemaschine ein 
zu schalten.

PS. bei mir werden solche Geräte nicht aus besagten Grund über die 
(Haussteuerung) gesteuert ...

Gruss Ralf

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timo E. schrieb:
> Ich wollte halt nicht an den Griff etwas anbringen, also nur Magnet am
> beweglichen Fenster. Und an die Mechanik ran gehen ist auch nicht ganz
> trivial.

Schau mal unter Alarmanlagen-Technik, Riegelschaltkontakte und 
Verschlußsicherungen.
Es gibt speziell für Fenster (und Türen) fertig kaufbaree ausgereifte 
Lösungen (effeff, esser, telenot,...) und wenn man etwas sucht sogar für 
wenige Euro/ Kontakt.

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie verste ich es immer noch nicht!

Da erfindet jemand das Rad (hier: CAN) und manche
denken sie können das besser und nehmen ein Quadrat (hier: RS232) und 
feilen solange an den Ecken bis es langsam vielleicht ein Rad gibt, 
wahrscheinlich aber nie.

Und wieder Mal : WARUM NUR?
Um was zu lernen, dann wäre es OK.
Um es besser zu machen oder gleich gut -> Vergesst es!
Um Geld zu sparen -> Vergesst es!

Habt ich eigentlich nix besseres zu tun ;-)

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guru schrieb:
> Irgendwie versteh ich es immer noch nicht!
>
> Da erfindet jemand das Rad (hier: CAN) und manche
> denken sie können das besser und nehmen ein Quadrat (hier: RS232) und
> feilen solange an den Ecken bis es langsam vielleicht ein Rad gibt,
> wahrscheinlich aber nie.

Es fällt manchmal schwer, was besseres zu nehmen. Allein die Angst, das 
man das Neue auch wieder nicht beherrscht, reicht!


>
> Und wieder Mal : WARUM NUR?
> Um was zu lernen, dann wäre es OK.
> Um es besser zu machen oder gleich gut -> Vergesst es!
> Um Geld zu sparen -> Vergesst es!
>
> Habt ich eigentlich nix besseres zu tun ;-)

Das hier ist nun mal ein Bastlerforum - in erster Linie.

Autor: Timo E. (tien)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andrew Taylor schrieb:
> Timo E. schrieb:
>> Ich wollte halt nicht an den Griff etwas anbringen, also nur Magnet am
>> beweglichen Fenster. Und an die Mechanik ran gehen ist auch nicht ganz
>> trivial.
>
> Schau mal unter Alarmanlagen-Technik, Riegelschaltkontakte und
> Verschlußsicherungen.
> Es gibt speziell für Fenster (und Türen) fertig kaufbaree ausgereifte
> Lösungen (effeff, esser, telenot,...) und wenn man etwas sucht sogar für
> wenige Euro/ Kontakt.

Ja, aber mir reicht doch meine Lösung. Und mit 5 Euro / Fenster ist das 
doch günstig und gut. Bei einem Neubau hätte ich natürlich das ganze 
bereits so ausgestattet, aber hier im Bestand bin ich mit dieser 
Bastellösung, die man nicht oder nur bei genauem Hinsehen sieht ganz 
zufrieden. Und wie geschrieben, mir geht es weniger um Alarm, eher um 
solche Dinge wie "Lüftung  Heizung aus bei geöffnetem  gekipptem 
Fenster". Oder um "kein Rolladen runter wenn die Terrassentür offen 
ist".

Grüße Timo

Autor: Dieter L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>was passiert wenn 2 µC senden
>>wollen beide überprüfen die Leitung welche frei anzeigt und nun senden
>>beide los?

>Das kann ja eigentlich nie auftreten, wenn ich die 2. pessimistische
>Möglichkeit in Betracht ziehe.

Kann nie?
Ok, ich habe verstanden, dass beide unterschiedlich lange warten. 
Angenommen der erste wartet 1s, der zweite wartet 1.5s. Was passiert, 
wenn der zweite  jetzt senden möchte (und prüft auf "frei"), der erste 
möchte erst in 0.5s senden/prüfen. Dann sehen beide einen freien Bus und 
beginnen doch gleichzeitig (in 1.5s) zu senden. Wie willst du das 
verhindern?

Du kannst Kollisionen bei Multimaster nicht verhindern! (Die 
Wahrscheinlichkeit zu verringern ist nicht verhindern).

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Grunde genommen ja, kann nie. Wenigstens in der Theorie nicht...

Die 3. Leitung, also die "ich-will-senden"-Leitung gibt ja quasi den 
Startpunkt an.
Natürlich können mehrere µC's zur exakt gleichen Zeit die Leitung prüfen 
und für sich reservieren. Das ist zwar bei manuellen Schaltern nicht 
sehr wahrscheinlich, aber bei Sensoren ja schon möglich.
Nun haben tatsächlich mehrere µC´s exakt gleichzeitig die Leitung 
geprüft und für sich belegt. Nun warten sie aber alle eine andere 
Zeitspanne bis sie selbst senden und lauschen derweil auf der 
tx-Leitung. Wenn da was kommt brechen sie ab. Somit wäre die 
Gerätekennung also auch eine Art priorisierung. Der Schalter mit der ID 
1, der also einen Zeitabschnitt lang wartet kommt also immer vor dem 
Sensor mit der ID 2 dran, der grundsätzlich einen Zeitabschnitt länger 
warten muss.
Die Idee dabei ist wirklich 3 Leitungen zu verwenden.
RX
TX
ich-will-senden

Natürlich könnten man auch richtig "rumbussen". Also

Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC

... Das kommt mir von der Sache auch nicht blöd vor, die Pakete würden 
allerdings immer durch den ganzen Bus marschieren...

Gruß

Autor: Ralf G. (old-school) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Natürlich könnten man auch richtig "rumbussen". Also
>> Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC

und wie reagiert dein System darauf wenn ein uC hängt ... ?

Watchdog am uC ... nützt auch nicht bei einem defekt
z.B. ein Leitungstreiber hat den Geist aufgegeben und die Leitung TX , 
RX oder "ich-will-senden" wird blockiert ?

Mir ist auch noch nicht ganz klar wie Du die RS232 mit mehreren Knoten 
als BUS nutzen willst.

Bei der RS232 werden die beiden Zustände HIGH und LOW durch die 
Signalpegel +/- 12V übertragen, einen Tri-State(Bus ist frei) wie bei 
der RS485 gibt es bei der RS232 nicht.

Autor: Ralf G. (old-school) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC

hört sich ja fast so wie Token-Ring an ... der Sendende uC  bekommt 
irgend wann sein gesendetes Paket wieder und muss dieses raus filtern, 
sonnst hast Du dir ein super Loop gebastelt und dein Netz(Bus) ist immer 
dicht ...

Autor: The MaSc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Natürlich können mehrere µC's zur exakt gleichen Zeit die Leitung prüfen
> und für sich reservieren. Das ist zwar bei manuellen Schaltern nicht
> sehr wahrscheinlich, aber bei Sensoren ja schon möglich.
> Nun haben tatsächlich mehrere µC´s exakt gleichzeitig die Leitung
> geprüft und für sich belegt. Nun warten sie aber alle eine andere
> Zeitspanne bis sie selbst senden und lauschen derweil auf der
> tx-Leitung.

Und was passiert, wenn Teilnehmer A und B die Leitungen gleichzeititg 
prüfen und für frei befinden (A wartet 1s und B wartet 1,5s) und nach 
0,5s schaut Teilnehmer C, sieht die Leitung ist frei. Aber C hat eine 
Wartezeit von 0,5s?

Dann senden Teilnehmer A und C gleichzeitig und deine schöne 
Kollisionsvermeidung ist den Bach runter.

Autor: Robert L. (lrlr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
damit ich das auch "verstehe"..

RS232 ist punkt zu punkt (oder kann man da tricksen und es geht auch 
bus)??

wozu?

RS485 macht doch GENAU DAS (das ist doch der "einzige" unterschied 
zwischen den beiden systemen ?)

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Robert
Lass die mal - die wollen nur spielen ;-)

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timo E. schrieb:
> Und wie geschrieben, mir geht es weniger um Alarm, eher um
>
> solche Dinge wie "Lüftung  Heizung aus bei geöffnetem  gekipptem
>
> Fenster". Oder um "kein Rolladen runter wenn die Terrassentür offen
>
> ist".

Das ist dem Kontakt auch schnurz-piep, ob er in einer Alarmanlage oder 
Deiner Bastellösung werkelt.

Der Obige Suchhinwies diente rein Deiner Orientierung, FALLS Du so etwas 
hättest zügig finden und ansehen wollen. Willst Du aber nicht.


BTW: Deine obigen "Tür / Fesnter offen/gekipp tüberwacht man mit 
ebenfalls unter dem Suchbereich findbaren fertig kaufbaren 
Magnetkontakten für 1-2 euro/Stk.

Autor: Robert L. (lrlr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab z.b. das 
http://www.roto.de/de/publishingde.nsf/Content/ele... 
(die normale version ohne bus)

er hat aber "alte" fenster, deshalb hab ich ihm sowas nicht 
vorgeschlagen, weil ich nicht weiß ob das bei alten fenster auch 
funktioniert..

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@The MaSc:

>Und was passiert, wenn Teilnehmer A und B die Leitungen gleichzeititg
>prüfen und für frei befinden (A wartet 1s und B wartet 1,5s) und nach
>0,5s schaut Teilnehmer C, sieht die Leitung ist frei. Aber C hat eine
>Wartezeit von 0,5s?

>Dann senden Teilnehmer A und C gleichzeitig und deine schöne
>Kollisionsvermeidung ist den Bach runter.

Nein, wenn C schaut ist die 3. Leitung ja schon gesetzt, er wird es also 
gar nicht versuchen.

@Ralf:
>> Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC

>hört sich ja fast so wie Token-Ring an ... der Sendende uC  bekommt
>irgend wann sein gesendetes Paket wieder und muss dieses raus filtern,
>sonnst hast Du dir ein super Loop gebastelt und dein Netz(Bus) ist immer
>dicht ...

Nicht ganz, es "kreist" ja kein Token :-)

In dem Fall kann ja jeder senden wie er will.

Als Beispiel:
Nehmen wir eine simple Zeichenfolge als Protokoll
#Sender:Ziel#Nutzdaten#Typ (A=Anfrage, B=Bestätigung,X=Keine Bestätigung 
notwendig)$

Es gibt 5 µC´s + den Haupt µC.
Der Schalter 4 an µC 3 wird gedrückt.
µC 3 sendet an µC 4 #003:000#004*01#A$ und merkt sich seine Nachricht.
µC 4 prüft, ob Sender oder Empfänger seine Adresse ist. Ist es nicht, er 
sendet das Paket unverändert an µC 5 weiter.
µC 5 prüft, ob Sender oder Empfänger seine Adresse ist. Ist es nicht, er 
sendet das Paket unverändert an den Haupt µC weiter.
Der Haupt µC prüft, ob Sender oder Empfänger seine Adresse ist. Er 
findet seine Adresse als Empfänger. Er erkennt anhand des A´s, dass eine 
Bestätigung erwünscht ist. Er verarbeitet die Nachricht und sendet die 
Nachricht #000:003#004*01#B$ an µC 1.
µC 1 prüft, ob Sender oder Empfänger seine Adresse ist. Ist es nicht, er 
sendet das Paket unverändert an µC 2 weiter.
µC 2 prüft, ob Sender oder Empfänger seine Adresse ist. Ist es nicht, er 
sendet das Paket unverändert an µC 3 weiter.
µC 3 prüft, ob Sender oder Empfänger seine Adresse ist. Er findet seine 
Adresse als Empfänger. Anhand des B´s erkennt er, dass dies eine 
Bestätigung ist. Er sucht die Nachricht in seinem Speicher und löscht 
sie.

Sollte das Paket unverändert zurückkommen ist das Ziel nicht verfügbar, 
der Bus aber geschlossen. Es muss irgendwo ein Fehler signalisiert 
werden.
Kommt kein Paket zurück muss der Bus unterbrochen sein. Nach einer 
angemessenen Wartezeit sendet er das Paket erneut.

Jeder Client nimmt also die Pakete vom Kabel (bzw. sendet sie einfach 
nicht weiter), die für oder von ihm sind.

@Robert L.
Es geht nicht darum, ob es Sinn macht. Natürlich gibt es bestehende 
Übertragungsverfahren, und keiner würde sich "irgendetwas" in´s Haus 
basteln. Aber warum soll man nicht auch mal etwas auf anderen 
Möglichkeiten rumdenken.
Manchmal kommt was dabei raus...

Gruß

Autor: Mr. Hausbus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ursprüngliche Frage von Matze war:
Hausbus über RS232 möglich ?

RS232 als BUS ... NEIN

RS232 als Stern mit aktiven Verteiler  ... JA

RS232 als RING ... JA

Autor: Mr. Hausbus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matze

Du solltest die Laufzeiten bei deinem Beispiel bitte nicht vergessen:

Header hat 16 Zeichen "#003:000#004*01#" bei 2400 Baud ohne Nutzdaten,
bedeutet das es bei z.B. 16 Knoten bereits bis zu 1 Sekunde dauern kann 
bis die Daten am letzten Teilnehmer ankommt.

Schau Dir mal die RS485 an ! mit einem entsprechenden Treiber z.B. 
SN75176
kannst Du mit uCs und den Seriellen Anschlüssen einfach ein BUS 
aufbauen.

32 Knoten bei 1200 Meter Buslänge !

Autor: Timo E. (tien)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andrew Taylor schrieb:
> Das ist dem Kontakt auch schnurz-piep, ob er in einer Alarmanlage oder
> Deiner Bastellösung werkelt.
>
> Der Obige Suchhinwies diente rein Deiner Orientierung, FALLS Du so etwas
> hättest zügig finden und ansehen wollen. Willst Du aber nicht.

Sei doch nicht gleich sauer... Natürlich interessiert mich sowas. Nur 
ich hab ja bereits meine Lösung, ich werde meine Reeds ja nicht mehr 
ausbauen, dazu habe ich noch ein paar Hände voll mit anderen wichtitgen 
Dingen zu erledigen :-)
Aber sicherlich ist das für andere Leser, die noch auf der Suche sind 
interessant. Deshalb: vielen Dank für den Hinweis.

> BTW: Deine obigen "Tür / Fesnter offen/gekipp tüberwacht man mit
> ebenfalls unter dem Suchbereich findbaren fertig kaufbaren
> Magnetkontakten für 1-2 euro/Stk.

Es ging ja nur darum, dass ich mit meiner Lösung kein entriegeltes, aber 
noch nicht geöffnetes Fenster erkenne. Da ich aber bereits die Kontakte 
drin habe wäre ein Lösungsansatz eine in den Rahmen (verdeckt durch den 
Fensterflügel) eingelassene Feder, die das Fenster im entriegelten 
Zustand etwas aufdrückt. Das es bessere Lösungen gibt ist klar.

Also nix für ungut,
Grüße Timo

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Header hat 16 Zeichen "#003:000#004*01#" bei 2400 Baud ohne Nutzdaten,
> bedeutet das es bei z.B. 16 Knoten bereits bis zu 1 Sekunde dauern kann
> bis die Daten am letzten Teilnehmer ankommt.

Ja WENN die einzelne uC die Message erst komplett empfangen, bevor sie 
sie wieder weitersenden.

Etwas intelligenter Protokolle wird man so bauen, daß sie jedes Byte 
direkt nach Empfang (ggf. manipulieren und) weiterleiten können.

Noch intelligentere Verfahren werden bitweise eingreifen können (z.B. 
Beckhoff Lichtleiterring).

Das Verfahren (Token-Ring) an sich ist also nicht schlecht, es kann nur 
durch unüberlegte Implementation schlecht werden.

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mr. Hausbus

>Du solltest die Laufzeiten bei deinem Beispiel bitte nicht vergessen
Richtig

>Header hat 16 Zeichen "#003:000#004*01#" bei 2400 Baud ohne Nutzdaten,
>bedeutet das es bei z.B. 16 Knoten bereits bis zu 1 Sekunde dauern kann
>bis die Daten am letzten Teilnehmer ankommt.

Ok, der Datensatz war auch nur als Anhalt. Aber warum 2400 Baud? Der Weg 
zwischen den µC´s ist jeweils ein eigenes Segment. Die Kabellängen sind 
also relativ kurz.
Ich habe gerade mal ein stinknormales Cat5 Kabel (~10 Meter) genommen 
und zur Reichweitensimulation die Adern gebrückt. Summa sumarum kommen 
dabei 70-80m Kupfer zusammen. Widerstand  ist 7,5 Ohm, das passt also 
ungefähr.

Dann habe ich mir einen Mega8 geschnappt, und einfach rx und tx mit 
diesem Kabel gebrückt. Hab die Leitung auch noch mit nem ft232 
verbunden, um am pc was sehen zu können...
Dann habe ich die Baudrate auf 115k gestellt (passt eigentlich gar nicht 
zu meinem  8.867238 MHz Quarz...) und erwartet, dass nichts passiert.
Ich schicke jetzt in einem Loop 4 Zeichen und eine vortlaufende Zahl. 
Die Fortlaufende Zahl die ich sende merke ich mir, und schaue ob die mit 
der empfangenen übereinstimmt. Sonst geht eine led an.

was soll ich sagen, er ist jetzt über 10000 und hat keinen Fehler.
Hinzukommt - das Cat-Kabel habe ich extra noch schön aufgewickelt, um 
Fehler zu provozieren.

Daraus würde ich schlussfolgern, dass 35m bei 57600 baud immer laufen 
sollten, also das doppelte meiner Information aus dem 1. Post. 
(Natürlich ist das nicht wirklich wissenschaftlich...)

Der Abstand von Raum zu Raum wird ja wohl keine 35m überschreiten.

Ich finde das alles gar nicht so furchtbar abwegig... Ich bin erstmal 
erstaunt!

Gruß

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mr. Hausbus schrieb:
> Die ursprüngliche Frage von Matze war:
> Hausbus über RS232 möglich ?
>
> RS232 als BUS ... NEIN
>
> RS232 als Stern mit aktiven Verteiler  ... JA
>
> RS232 als RING ... JA

Ehrlich, es tut langsam weh:
http://webcache.googleusercontent.com/search?q=cac...


Ihr diskutiert über olles Zeuch! MACA schauen!

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matze schrieb:
> was soll ich sagen, er ist jetzt über 10000 und hat keinen Fehler.
> Hinzukommt - das Cat-Kabel habe ich extra noch schön aufgewickelt, um
> Fehler zu provozieren.
>
> Daraus würde ich schlussfolgern, dass 35m bei 57600 baud immer laufen
> sollten, also das doppelte meiner Information aus dem 1. Post.
> (Natürlich ist das nicht wirklich wissenschaftlich...)
>
> Der Abstand von Raum zu Raum wird ja wohl keine 35m überschreiten.
>
> Ich finde das alles gar nicht so furchtbar abwegig... Ich bin erstmal
> erstaunt!
>

Ist nichts neues. Früher <tm> hat man alles viel robuster gebaut. Den 
Versuch hättest du dir ganz einfach sparen können. Bisserl gurgeln hilft 
abkürzen.

PS: 35m ist nicht wirklich viel. Auch nicht in einem Haus, du mußt die 
ganzen Ecken-Umleitungen mitrechnen, und Luft will man auch haben.

Autor: Mr. Hausbus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Matze
>> Aber warum 2400 Baud?

weil Du es gesagt hattest !!!

>> 3000ft sind knapp 1000m, also ausreichend für ein Otto-Normal-Haus.
>> 2400 Baud sollten bei den Steuerungsinformationen eigentlich auch
>> reichen.

ich steige aus, wird mir zu blöde, Matze wenn Du unbedingt RS232 für 
dein Hausbus nehmen willst, dann mach es !!! und werde damit glücklich.

Autor: Guru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.....ich auch.....

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in einem Cat Kabel sind ja eigentlich immer 2 Leitungen geschirmt und 
außenrum ist nochmal ein Schirm oder hast du das Kabel komplett 
entdrösselt. Probier mal ein paar Störquellen aus. Leuchtstoffröhre, 
Staubsauger, Bohrmaschine, Stromstoßschalter, Mixer, Mikrowelle, 
Halogendimmer, Piezofeuerzeug usw...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.