Forum: Haus & Smart Home [OS-HB] Richtlinien für Hutschinenkomponente...


von Matthias Beitz (Gast)


Lesenswert?

HUT 6-C Hutschienen Leergehäuse, BxTxH 105x71x90 (Reichelt)
Da bekommt man ja wunderbar ein paar Modular aufgebaute Platinen rein.

Can: Alle Anschlüsse sollten über Cat5 Kabel verlegt sein und auf RJ-45
Buchsen enden. Vertratung nach Cat5 Norm. Anschluss 1+2 für Can
(zuleitung) Anschluss 3+4 für Can Rückleitung und anschluss 5-8 für
Versorgungspannung (GND, +12V, +24V, +5V) Wobei eine Versorgungspannung
reichen sollte, je nach verwendeten Netzteilmodul.
^^ Was wenn man aus versehen eine Netzwerkkarte einsteckt fällt dann
der Can aus oder landet etwas im Elektrohimmel?

Max grössen:
Grundplatine inkl. Bauteilen 100x80x15
Netzteil inkl. Bauteilen 40x40x15
IO Erweiterung A inkl. Bauteilen 40x40x20
IO Erweiterung B inkl. Bauteilen 40x40x20
IO Erweiterung C inkl. Bauteilen 40x40x25

LED farben bei Netzteil:
blau/rot +5V
gelb +12V
grün +24V

LED faerben für IO Erweiterungen
grün IO Port (geschaltet)
rot Rx
gelb Tx

Max Stromverbrauch 1,5A pro Knoten
Max Stromverbrauch 0,3A pro Erweiterung

Erweiterung A bekommt 8 Datenbits zur verfügung
Erweiterung B und C bekommt zusammen 16 Datenbits zur verfügung wo die
SPI und Rx und Tx des AVRs mit drin sind.
Jede erweiterung bekommt alle Spannungen also GND, 5V, 12V und 24V zur
verfügung wovon jedoch nur die 5V und GND auch wirklich vorhanden sein
müssen (klar zum schalten von 12V relais dann natürlich optional auch
12V usw).
Alle Eingänge sind über Optokopler zu Trennen
Für die RS232 und USB Schnittstelle genormte stecker
Relais würde ich Extern setzen damit mann für unterschidliche Lasten
recht Platzsparend arbeiten kann, zur Verbindung von IO Erweiterungen
zu Relais sind PSS 254 Stecker vorgesehen.

Fragen und Änderungswünsche sind natürlich gerne hier gesehen.

Fragen meinerseits...
Wie werden die IDs bei Can verteilt?
Welche Datensignale sollten für was gut sein?
zB: 00010001 PortA Pin1 Schalten
    00010010 PortA Pin2 Schalten
    00110011 PortC Pin3 Schalten usw.
so in etwa oder anders?

von Ithamar G. (antimon)


Lesenswert?

Hört sich schon mal gut an :)

Zu deiner Frage: IDs kannst du, soweit ich weiss, frei vergeben, wobei
die ID gleichzeitig auch die Priorität der Nachricht darstellt. Beim
neuen Standard sinds glaub ich ein paar Millionen oder noch mehr...

Wie ich im Wiki schon geschrieben habe fände ich es besser, wenn die
Pins 3/4 5/6 nicht belegt sind, wegen Netzwerk. Ausserdem kann man bei
normalem 100 Mbit-Netzwerk theoretisch sogar Netzwerk+CAN parallel
fahren - fragt sich ob das Eine das Andere stört oder nicht.
Pin 7/8 wären gut geeignet für eine Spannungsversorgung, evtl. sogar
PoE - damit kann man bis zu 12 W nach dem aktuellen Standard
übertragen, die einzelnen Spannungen kann man daraus ja dann erzeugen.

Generell: Ob man 24 V braucht, bezweifle ich, ich denke die wichtigsten
Komponenten gibts für 12V auch.

Zu den Datensignalen: Meinst du das für CAN oder das für die internen
Erweiterungs-Platinen? Die internen Platinen könntest du ja theoretisch
auch mit CAN ansprechen - das braucht ja nur zwei Pins vom Stecker -
oder alternativ per SPI, jede Platine bekommt noch ein CS zum
Ansprechen...

Das CAN-Protokoll würde ich komplexer machen, denn die 8 Bytes sind
schnell ausgereizt denke ich. Beispielsweise bei einem Dimmer könnte
schon ein Byte draufgehen für den Ansteuerungswert, dann bräuchte man
noch eins für die Ports (wenns nur 8 Pins sind), etc...
Am besten wäre ein Protokoll, das einfach zu debuggen ist
(ASCII-Zeichen) und das die Daten auf mehrere Messages aufteilt... aber
mehr dazu in dem anderen Thread...

von 123 (Gast)


Lesenswert?

ich denke man so sich an die norm halten.

1   CAN_H   CAN bus line (dominant high)
2   CAN_L   CAN bus line (dominant low)
3   CAN_GND   Ground  0 V  V-
4   -   Reserved
5   -   Reserved
6   (CAN_SHLD)   Optional CAN Shield
7   CAN_GND   Ground  0 V  V-
8   (CAN_V+)   Optional external voltage supply Vcc

Pin 4 und 5 würde ich für den can-rückkanal benützen(Physikalisch Stern
aber logisch Strang/Linie)
6+8 für spannungsversorgung 5V und 12V
s.h.
http://www.interfacebus.com/Can_Bus_Connector_Pinout.html

Ich denke wir so solle themen, das nächste mal, in einem neuen thread
diskutieren sonst wird es schnell unübersichtlich.

von Ithamar G. (antimon)


Lesenswert?

Wie ist denn das mit CAN_GND - der Pin ist ja eigentlich optional und
dient eigentlich nur dazu, den Bus noch störunanfälliger zu machen, um
im Kurzschlussfall beispielsweise nur noch mit einer Leitung fahren zu
können... Kann ich den mit der Masse der Spannungsversorgung verbinden?
Sollte doch eigentlich möglich sein oder?

Wenn man jetzt beispielsweise eine Minimalkonfiguration empfiehlt,
z.B.
1   CAN_H
2   CAN_L
7   (CAN_)GND
8   Vcc

könnte sich ja jeder die restlichen Pins frei einteilen, z.B. könnten
einige parallel dazu Ethernet fahren (Pins 3&6 / 4&5, falls sich das
nicht gegenseitig stört) oder wie 123 gesagt hat, die Rückleitung
drauflegen...

+5V und +12V halte ich allerdings nicht für eine gute Idee, erstens
kann man die 5V ja aus den 12V erzeugen (bei größeren Strömen braucht
man eh ein extra Netzteil) und generell würde ich eine höhere Spannung
vorschlagen. Denn die Spannungsabfälle bei TP-Kabeln sind nicht
unerheblich, das müsste man ausgleichen...

Generell sollte vielleicht erst mal festgelegt werden, mit welcher
Baudrate gearbeitet wird, mein Vorschlag wäre 125 kbaud. Das kann man
vom PC aus noch gut verarbeiten (Stichwort: Serielle Schnittstelle) und
erlaubt ne Kabellänge von ca. 500m, was für ein Haus ganz okay ist,
denke ich. Da kommen zwar schnell sehr lange Strecken zusammen, aber
notfalls kann man ja noch Repeater einschalten.

Bei der gegebenen maximalen Länge könnten wir dann (wenn wir den
ungefähren Stromverbrauch der Knoten kennen) ausrechnen, mit welcher
Spannung wir auf die Leitung gehen müssten, damit der letzte Knoten
noch ausreichend mit Spannung versorgt werden kann...

von and_ref (Gast)


Lesenswert?

> Kabellänge von ca. 500m, was für ein Haus ganz okay ist,
> denke ich. Da kommen zwar schnell sehr lange Strecken zusammen, aber
> notfalls kann man ja noch Repeater einschalten.
Naja, mit Repeater lässt sich das (dann wohl eher theoretische) Problem
nicht lösen. Denn es geht hier nicht um Signalverfälschungen oder
ähnliches, sondern um die Ausbreitungsgeschwindigkeit oder plakativer:
die Bitlänge. Wenn zum gleichen Zeitpunkt nicht alle Knoten das gleiche
Bit sehen, dann klappts auch nicht mehr mit der Busarbitrierung...
Wenn du mit Repeater ein Gerät gemeint hast, das aus einem
physikalischen CAN-Bus mehrere CAN-Busse macht und die Can-Botschaften
einzeln durchroutet, dann funktioniert das - ist aber dann kein
passives Teil mehr...

> mein Vorschlag wäre 125 kbaud. Das kann man vom PC aus noch gut
> verarbeiten (Stichwort: Serielle Schnittstelle)
Hm, über ne 115k-RS232 kriegste aber nicht alle Telegramme in Echtzeit
drüber?!? Fürs Debugging am PC ist sowas aber praktisch/wichtig.

Noch was zur Übertragungsrate: Je höher diese, desto mehr Telegramme
kommen pro Zeiteinheit rein, die potentiell verarbeitet (Laufzeit +
RAM) werden wollen. Hast du schonmal abgeschätzt, ob das ein Problem
werden könnte? (Hängt ja auch extrem stark von Prozessorressourcen und
der Programmierung ab).

Ein Punkt noch zur Diskussion: Wenn das gleiche GND zu jedem Knoten
geführt wird, fängt man sich dann nicht von überall und nach überall
Störungen ein?

von Ithamar G. (antimon)


Lesenswert?

@and_ref: Hab ich das richtig verstanden, dass du der Autor von
canathome.de bist? Dann ist deine Meinung nämlich besonders wichtig, da
du ja da schon einiges an Erfahrungen gesammelt hast...

Mit Repeatern meine ich schon die aktiven - das Teil empfängt eine
Nachricht und schickt sie 1:1 ins andere Bussegment...

Bei der Überlegung zur RS232-Schnittstelle bin ich davon ausgegangen,
dass der Bus nie zu 100% ausgelastet ist - aber du hast Recht, wenn
viele Nachrichten hintereinander abgeschickt werden, könnte es eng
werden... Man könnte natürlich den XPort nehmen, der kann glaube ich 4x
so schnell senden/empfangen, wie die serielle Schnittstelle des PC...
ist nur die Frage, ob der µC das kann.

Bei der Übertragungsrate ist das generell so ein Problem: Sie sollte so
hoch wie möglich sein, um viel Informationen drüberlaufen zu lassen,
aber so niedrig wie nötig, damit es eben nicht zu dem von dir
beschriebenen Problem mit der Überlastung kommt...
Das Projekt soll aber genügend Kapazitäten haben, dass ich auch was
größeres betreiben kann. Für zwei Lichtschalter und Lampen komme ich
locker mit der langsamsten Baudrate hin - aber was ist bei nem größeren
Gebäude?
Ich glaube zwar nicht, dass das Projekt hier mal für eine ganze
Fabrikhalle oder so verwendet wird - aber man sollte für alle
Eventualitäten gerüstet sein - nicht dass es tatsächlich so weit kommt
und dann scheiterts an ner Kleinigkeit...

Mit dem gleichen GND hast du Recht - das könnte passieren. Gut,
TP-Kabel sind zwar gut geschirmt, wenn man diese verwendet, aber das
Problem besteht trotzdem. Aber ich finde sowieso, dass jeder Knoten
netzspeisbar sein sollte und nur wenns nötig ist, von zentraler Stelle
gespeist werden sollte. Aber ich denke, das bleibt jedem selbst
überlassen, und wenns Störungen gibt, muss man die Versorgung halt
umstellen...

von and_ref (Gast)


Lesenswert?

> Hab ich das richtig verstanden, dass du
ja.

> Das Projekt soll aber genügend Kapazitäten haben, dass ich auch was
> größeres betreiben kann. Für zwei Lichtschalter und Lampen komme ich
> locker mit der langsamsten Baudrate hin - aber was ist bei nem
> größeren Gebäude?
siehe EIB - 9600Baud und Riesengebäudekomplexe darüber vernetzt. (Das
ist zwar über viele Teilnetze gelöst, aber dennoch könnte jede
Information an jedem Knoten Empfangen werden, wenns nur so konfiguriert
wird).

Bei deinen veranschlagten 125kBit/s kannst du bei einer angenommenen
durchschnittlichen Telegrammlänge von 100Bit mit 1250Telegrammen/s
(=~1Telegramm/ms)rechnen. Das reicht definitiv um darüber Steuer- und
Statusinfos auszutauschen. Soll heissen, mit der Busbandbreite hast du
keine Probleme ;-). Selbst Anzeigetexte lassen sich darüber bequem
übermitteln.
Und umgekehrt müssen die Busknoten auch zwei (oder mehrere) Telegramme,
die im 1ms-Abstand kommen, verarbeiten/auswerten können. Die allermeiste
Zeit wird das natürlich nicht gebraucht, aber wenn dieser Fall eintritt,
will man ja keine Telegramme verlieren oder nicht drauf reagieren...
Aber dabei geht's schon wieder um grundlegendere Konzepte - nichts was
zum eigentlichen Thema dieses Threads passt.

von Matthias Beitz (Gast)


Angehängte Dateien:

Lesenswert?

So in der richtung dachte ich die Stecker für die Grundplatte
anzulegen...
Aber um eine Doppellayer Platine komme ich im entdefekt nicht herum. Es
fehlen ja noch die ganzen Stromverbindungen und einige kleine Bauteile.
Der Atmel und alle bauteile wollte ich gespiegelt auf die andere seite
legen. Dadurch ergibt sich ein mittelmas der stecker von.

JP1 20.32 x 50.80
JP2 40.64 x 50.80
JP3 60.96 x 50.80
JP4 80.01 x 50.80

von Ithamar G. (antimon)


Lesenswert?

Was ich noch nicht ganz verstehe: Wieso liegen JP3/5 und JP4/6
übereinander?

Anstatt des PDIP-Gehäuses könntest du ja auch das PLCC Gehäuse nehmen,
dann wäre mehr Platz für andere Komponenten. Zum Testen langt das PDIP
aber auf jeden Fall...

Ist der 8515 pinkompatibel mit den AtMegas? Nicht dass wir zu viele
verschiedene µCs haben - dann wird das Projekt unübersichtlich...
Nichts gegen deinen Eifer - im Gegenteil, ich finds super - aber bevor
wir zu konkrete Pläne haben, sollten wir uns auf ein paar ausgewählte
Mikrocontroller einigen, um nicht zu viele unterschiedliche Süppchen zu
kochen...
Dazu könnte man evtl. noch nen Thread aufmachen?!

von 123 (Gast)


Lesenswert?

bin auch dafür, jedes thema ein extra thread. hab für die steckeblegung
einen angelegt. Bautrate sollte auch in einen extra thread. im ersten
post bitte immer ein link auf' wiki.

von Matthias Beitz (Gast)


Lesenswert?

Das erst mal ein Testbord, klar aber es sollte trotzdem schon in die
gehäusse passen und vorerst auch seinen Dienst verichten da ich keine
lust mehr habe jedesmall die stecker in die Relais zu wurschteln um die
Lampe einzuschalten. Die stecker die übereinander liegen sollen 20polig
werden ich hatte aber keine lust und zeit einen Port dafür zu erstellen
und auch keine lust die vorgefertigten aus der Eagel Lib zu nehmen da
diese im Schaltplan so aufwendig verkabelt werden müssen. Diese die ich
genommen habe kann ich einfach einen Port zuweissen und alle Leitungen
sind wie auf dem STK Bord an einen Port geführt. Pin 9 und 10 sind dann
für GND unt VTG optional vorhanden. Ich bau das demnächst mal auf und
teste es mal durch dann dürfte das ganze auch deutlicher werden. Die
AT90S8515 habe ich noch in massen da daher wollte ich diese mal
verbauen. Ich habe leider noch nicht alle adapter für den Galep daher
baue ich die Prototypen erst mal mit Dip gehäusen auf, da kann ich die
einfacher konfigurieren und flaschen. Später wenn es läuft kann man das
Programm ja per ISP einspielen.

Als Can Controller verwende ich vorerst einmal den
MCP 2515 und den PCA 82C250

von Hardy (Gast)


Lesenswert?

Ich habe jetzt noch ein anderes Thema, das aber in diesen Thread passt,
da es ja um die Hutschienenkomponente geht!

Also ich möchte mir ein komplettes Bussystem für ein EFH selber bauen
und habe auch die nötige Controllerplatine für die UP-Dose schon fertig
vorliegen.
Dabei werde ich aus versicherungstechnischen Gründen nur mit
Niederspannung, also max. 24V arbeiten. Alle Komponenten (z.Bsp.
Lampen) die an 220V hängen will ich über handelsübliche
Strommstossschalter im Sicherungskasten ansteuern. Stromstossrelais
haben den Vorteil, dass sie nur Strom benötigen wenn ich den Zustand
ändere (0->1 oder 1->0)und auch bei einem Stromausfall des Systems sich
nicht verändern. Ausserdem kann man sie bei einem Totalausfall des
Bussystems (Super-GAU) dann im Sicherungskasten noch per Hand steuern.
Ausserdem kann man sich z.Bsp. vorstellen, dass bei einem Stromausfall
abends (dunkel) die Lampen zuvor eingeschaltet waren und bei Wiederkehr
des Stromes auch die Lampen dann sofort wieder angehen unabhänig von dem
Bussystem.
Doch dieser Vorteil hat auch einen Haken. Wie kann mein Controller nach
einem Stromausfall erkennen in welchem Zustand das Stromstossrelais
steht? Hat hier jemand eine Idee was man da tun könnte ohne den Strom
selbst überwachen zu müssen?
Gibt es Stromstossrelais mit einem Statusausgang (Niedervolt,
potentialfrei)? Ansonsten sehe ich nur die Möglichkeit, nach jedem
Umschalten des Relais von SW aus, diesen Zustand auch zu speichern
(EEPROM)!

von Ithamar G. (antimon)


Lesenswert?

>Ansonsten sehe ich nur die Möglichkeit, nach jedem
>Umschalten des Relais von SW aus, diesen Zustand auch zu speichern
>(EEPROM)!

Und selbst dann hast du noch keine 100%ige Sicherheit - denn wie du
gesagt hast, kann man die Relais noch per Hand steuern.

Evtl. könntest du noch per Hall-Sensor oder anderen Bauteilen an der
Leitung feststellen, ob ein Strom fließt oder nicht - aber ganz einfach
ist das sicher nicht.
Alternativ in den sauren Apfel beissen und nach einem Stromausfall die
Schalter in nen definierten Zustand versetzen. Oder einfach einen Akku
für die Stromversorgung der Steuerung vorsehen, denn wenn kein Strom da
ist, werden sich die Schalter auch nicht ändern, ausser du machst das
von Hand. Aber das Problem hast du mit und ohne Strom...

von 123 (Gast)


Lesenswert?

@ harry
>und habe auch die nötige Controllerplatine für die UP-Dose schon
fertig
vorliegen.

köntest du  bitte bilder, schaltplan ... posten.

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.