Hallo zusammen! Ich bin seit lange Zeit auf der Suche nach der Möglichkeit ein Bussystem aufzubauen zum Ansteuern von Verbrauchern. Sprich ich habe im Haus viele Verbraucher (Steckdosen, Licht, Sensoren) die ich bidirektional über ein Bussystem ansprechen will. Die Adresse des gerätes solte über DIP-Schalter oder so einzustellen sein und ungefähr so funkitonieren. Ich schicke über die RS232 meines PC's ein String der folgendes Enthält: [Geräteadresse][Abfrage oder Befehl][Zustand] z.B. 245 0 Abfrage 1 Befehl 0 aus 1 an Ich kenne mir mic µP aus aber ich habe keine Ahung wie ich sowas realisieren kann! Hat jemand eine Idee, oder weiß vielleicht jemanden der sowas schon mal entwickelt hat und weiß wie es gth? Gibt es im Internet sowas zu finden? Das durchsuchen vieler Seiten im Internet ergab leider keinen Erfolg. Herzlichen Dank für jeden auch nur so kleinen Tipp. Sebastian Kucharski
erstmal mußt du dir über die Art der Übertragung klar werden. In Frage kommen eine Art RS232, besser RS485, benötigt jedoch zusätzliche Verkabelung, powerline-Übertragung, also mit FSK über die Netztleitung oder Funk.
Ja mit Funk ist das so eine Sache! War ich auch schon auf der Suche! Aber ich denke für den Anfang möchte ich doch lieber das ganze Kabelgebunden machen! Also ich würde RS485 vorzeihen, läßt sich das über ein geschirmtes Zweidrahtkabel realisieren?
Jo, das geht mit Zweidrahtleitung, allerdings nur Halb-Duplex, aber das ist kein Problem. Wenn du nun das Übertragungsmedium hast, mußt du entscheiden, ob du ein single-master oder ein multi-master-System aufbauen willst, einfacher ist ein single-master. Der Ablauf ist dann folgender: Der Master (kann ein PC sein) sendet den Informationensblock (Aktion am slave bestimmen oder Informationen abfragen). Der slave antwortet, daß er die Information empfangen hat (acknowledge) und sendet ggf. weitere Informationen. Kein slave kann von sich aus senden, der gesamte Busverkehr wird vom Master gesteuert. Evtl. Datentransfers von einer Endstelle zu einer anderen werden immer über den Master abgewickelt. Kommen auch Informationen vom Endgerät zum Master, müssen alle Teilnehmer regelmässig abgefragt werden (polling). Die Alternative wäre gleichberechtigte Busteilnehmer, dabei kann es zu Buskonflikten kommen, läßt sich aber per Software in Griff bekommen. Datenverkehr gibts nur, wenn was zu melden ist. Zur Hardware: du brauchst passende Treiberbausteine für Halb-Duplex-Betrieb, z.B MAX485 oder LTC485, die werden mit ihren TTL-Anschlüssen einfach an die UART des MC angeschlossen (Rx und Tx), auf PC-Seite noch einen MAX232 vorschalten.
Es gibt eine Möglichkeit, die Datenübertragung ohne zusätzliche Verkabelung zu realisieren. Allerdings muß man die Bus-Protokolle per Software ein wenig aufwendiger gestalten, da auf der Netzleitung öfters Störungen vorkommen können. Schau Dir mal den TDA5051 von Philips an, das ist ein sog. "Home Automation Modem" und benötigt nur wenige externe Komponenten. Ich habe eine Steuerung für meine Wohnung realisiert - Kern ist ein 80C535, die Steuerung ist zentral in einem Schaltschrank untergebracht. Pläne existieren leider keine. Die Software besteht aus einer selbst entwickelten "SPS-Sprache", d.h. der Controller arbeitet nur eine Liste mit den gewünschten Funktionen ab. So kann ich sogar zeitgesteuerte Sequenzen realisieren (z.B. Rolläden nacheinander herunterfahren - oder gleichzeitig, nach belieben). Als besonderes Feature habe ich in jedem Raum einen IR-Empfänger, so kann ich spezielle Funktionen oder auch das Licht mit einer handelsüblichen IR-Fernbedienung schalten. Funk habe ich deshalb nicht genommen, weil ich in jedem Raum so eine eigene Belegung realisieren kann. Falls Du die Wohnung gerade neu Verkabelst und sowieso Schlitze kloppst: Lege nicht feste Leitungen, sondern Leerrohre, in die später dann die Leitungen eingezogen werden. Ist etwas teurer, aber man kann jederzeit noch mal eine Strippe nachziehen - beispielsweise Glasfaser, falls das irgendwann standard wird, oder mal eine Telefonleitung, weil der PC einen anderen Platz bekommt.
Hört sich echt interessant an! Das ist genau das was ich mir vorstelle! Die frage ist wie mache ich aus der RS232 eine RS485 dann könnte ich ja schon langsam an dem Master basteln. Die Umsetzung später auf Funk sollte dann kein Problem mehr sein. Im Momenent möchte ich aber nur über Kabel machen. Ich habe aber gelesen das ich nur max. 32 Geräte so steuern kann, stimmt das? Vielen Dank für deine Hilfe!
Hallo habe mir ein Haus gekauft und habe das selbe vor. Man sollte auf jedenfall RS485 nehmen wegen der Leitungslänge (ab 10 m ist die RS232 am Ende). Hab mir gedacht das ich an jeden Sensor oder Schalter einen AT90S2313 setze der die Signalzustände über ein telegram sendet und ein AT90S8515 die telegramme empfängt und auswertet.Die adressen sind eigentlich nur von den freien eingängen am Sensor IC abhängig denke ich ?!
Hi. Es stimmt nicht, dass du mur max. 32 Geräte ansprechen kannst. Im Prinzip kannst du eine fast unbegrenzte Anzahl an Adressen den Geräten zuteilen. Es kommt nur darauf an aus wievielen Bits deine Adressen bestehen (im Normalfall müssten 255 Adressen reichen --> also 1 Byte). Zu bedenken ist aber, je mehr Adressen du hast, desto langsamer läuft das polling ab. MfG, Niglo.
Es stimmt allerdings schon das man nur 32 betrieben kann, aber mit dem MAX487... gehen 128! Das liegt an der belastung des Bussystems!
die 32 sind nicht ganz aus der Luft gegriffen. Die ursprüngliche Spezifikation der RS485 sah das so vor, (hängt mit den Treiberströmen, Abschlusswiderständen, Eingangswiderständen und Flankensteilheit zusammen). Andere Treiber (wie der MAX485) treiben 128 Receiver, und das sollte genügen. Die Adressierung muß nicht zwangsläufig mit DIP-Schaltern eingestellt werden, ebenso denkbar ist die ABlegung der Adresse im Programmspeicher (aufpassen beim Programmieren derselben) oder, eleganter, Abspeicherung im EEPROM. Man kann einen speziellen Programmiermodus einbauen, mit dem die Adresse im nachhinein zugeordnet werden kann. Dazu darf sich dann natürlich jeweils nur ein Baustein am Bus befinden (Prinzip wie bei Digitalempfängern für Modelleisenbahnen.
Das mit dem ablegen von dem Programm und so das habe ich auch alles vor, ich sammle momentan Informationen und habe bei MAXIM eine Tüte von dem MAX487... Treibern bestellt. Waren ja kostenlos als Samples. Ich habe auch schon überlegt wegen dem TDA5051 von Philips, aber den gibt es niergends als bei Philips und da kann ich keine kleinen Mengen einkaufen. Würd mich interessieren thkaiser die her hat! Ich möchte jetzt erst mal zwei Module bauen! Also einen Master baue ich aus meinem Atmel experimentierboard, die zwei slaves möchte ich zusätzlich bauen. Was brauche ich mindestend damit das läuft! Ich möchte einfach nur 8 Ausgänge haben,... Was ist die minimalsschaltung von einem AVR? z.b. dem: AT90S2313-10PI so das ich direkt die acht ausgänge betreiben kann, dann könnte ich schon mal anfangen zu experimentieren! DANKE
Jep, der TDA5051 ist nicht so einfach zu beschaffen, aber http://www.spoerle.de hat ihn. Allerdings liefern die nicht an privat - ich habe einen verständnisvollen Chef, der mich in solchen Fällen die Bauteile über die Firma bestellen läßt. Damalige Mindestabnahmemenge war 5 Stück, Preis auf Anfrage. Hab gerade nochmal bei Schukat.de nachgeschaut - die haben ihn auch. Allerdings sind die recht konservativ: Bevor man etwas bestellen darf, muß man einen Gewerbeschein vorlegen. Preis dort: 4,95 /St. bei Abnahme min. 5 Stück, bei 25 kosten sie schon nur noch 4,05. Ich habe sie benutzt, um eine Markisensteuerun zu realisieren. 16 Leitungen zur Einzelsteuerung von Segmenten und nur eine 230 V- Strippe - da war der TDA5051 die letzte Hoffnung. Noch ein Wort zu Multi-Master: Zwar kommt es äußerst selten vor, daß zwei Master gleichzeitig senden, aber es kommt vor. Da ist die Bus-Arbitrierung nach I²C-Vorbild ein guter Weg.
Hi, ich verwendete im meinem Home-Automation-System dort wo Leitungen möglich waren RS485 und ein angepaßtes Protokoll aus den Projekten HAN und SNAP: http://www.hth.com/snap http://members.home.net/highwaystar/han.html wo keine Extraleitungen möglich waren, verwende ich Sender/Empfänger an der Netzstromversorgung (230V~). Kodierung/Dekodierunng erledigen die MC145026/MC145027/MC145028 von Motorola, die wurden für Fernbedienungen entwickelt und z.B. als Lokdecoder/encoder in Modelleisenbahnanlagen verwendet. Über einen simplen 4046 der als FSK Modulator/Sender geschaltet ist, werden die Pegel als 90kHz und 160kHz über einen Übertrager und einen Kondensator auf die Stromversorgungsleitung geschaltet. Empfängerseitig wird über einen Übertrager das Signal aus der Stromversorgungsleitung ausgekoppelt, gefiltert durch TCA440, und ein 4046 darf als FSK/Demodultator dann wieder H/L daraus basteln. Man braucht also nicht unbedingt einen MC. Als Signalerzeuger/verwerter kann man aber auch einen MC (z.B.ATMEL-AVR) werkeln lassen. Dann fallen die Motorola Decoder/Encoder weg. Falls sich jemand dafür interessiert, dann könnte ich das ganze Projekt mal als Link zur Verfügung stellen. Gruß
Das hört sich mehr als interessant an - ich möchte auch einen Link! Auch sehr wichtig: Verfügbarkeit / Bezugsquelle der verwendeten Übertrager. Danke im voraus
Hallo @mcfirst ******************************************************* Suche schon lange Info's für ein sehr ähnliches Projekt ******************************************************* Der angekündigte Link könnte mir bestimmt weiterhelfen. im Voraus besten Dank Günter
Hallo wenn ich so ein bussystem mit einen TDA5051 realisiere,wie bekomme ich dann die 5V zu meinem Schalter wo der TDA5051 mit einen AVR sitzt (Trafo ??? wird ein bißchen groß in der Unterputzdose) oder müßen die 5V auch verlegt werden.
@Michael Schau dir mal das Datenblatt zum TDA5051 an. Da ist genau das Thema geklärt in den Schaltplänen am Ende des Datenblatts. Einzigster Nachteil es findet keine Potentialtrennung statt. Was allerdings ein Problem wird ist das in den meisten Schalterdosen kein Null-Leiter drin ist sondern nur die Phase ankommend und abgehend. Gruss Carsten
Moin Ich möchte euch ja nicht von RS485 abhalten, aber warum nicht CAN? Bidirektional, zweidrahtbus, max 1000m Segmentlänge, ~124 Stationen möglich, Stromversorgung über den Bus möglich. Bin, allerdings aus anderen Gründen, gerade dabei mich da einzuarbeiten, beim Wühlen ist mir noch folgende Seite begegnet: http://www.canathome.de/ Microcontroller mit CAN Logik gibt es in Massen von allen üblichen Verdächtigen, auf Basis von 8051,PIC,68xxx und diverse proprietäre Controller. Benötigt wird jeweils noch ein Bustreiber, üblicherweise Philips TJA1050 oder 52C251 (Wenn ich mich jetzt nich mit den Bezeichnungen vertan habe, hab mein Material nicht hier, die Daten lassen sich aber einfach finden)
@J. Lesselich: CAN kann man auch über RS485 laufen lassen. Hat beides Vor- und Nachteile. Ansonsten denke ich auch, dass CAN eine sehr gute Lösung ist. Ein weiterer Link als Anregung: http://caraca.sourceforge.net Und für die Steuerung vom Server aus: http://canbus4linux.sourceforge.net/ http://private.addcom.de/horo/can200/
Ich baue gerade soetwas mit einem veränderten I2C Protokoll, das an das TCP/IP Protokoll angelehnt ist. Ich habe bereits einen 'Router' entwickelt, dadurch kann ich auch längere Stecken überbrücken und halte die Datenrate auf den einzelnen Leitungen gering. Die Vorteil sind, das ich nur einen Wiederstand und einen Transistor als Externe Bauteile benötige(Platz und Kostengünstig) und das ich 65000 verschiende Adressen habe. Jeder Busteilnehmer kann frei mit jedem anderen kommunizieren und es ist keine PC dazu nötig. Funktioniert bis jetzt Problemlos habe bereits eine Relais-Karte, 12V Halogendimmer, Lcd- Modul und A/D Wandler Realisiert.
warum machst du nicht folgendes, hängst an deine parallele eine gute ir diode mit schön verstärker davor. hängst den sender irgenwo an die decke. dann machst du weiter. tust billigen µC in Empfänger und machst für jedes gerät nen seperaten code: z.b.: 0101 XXXX XXXX 0101 0101 am anfang zum synchronstellen die ersten 4 X zur geräteauswahl die letzten 4X zur statusvorgabe (dimmer oder ähnliches[emv!]) 0101 zum schluss als abmeldung send mir doch bitte deine unterlagen zu wenn du was auf die beine gestellt hast
Hallo mcfirst, kannst Du den Link für Dein Projekt hier Posten. Ich wäre stark interessiert. Gruß Jörg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.