Hallo, ich habe gerade Spass daran, die Siedle-Haussprech- und Türoffnungsanlage in meine Home Automation zu integrieren, möchte z.B. ein Türklingeln an mein Telefon weiterleiten (wie werde ich noch sehen, ob Voip Call oder SMS oder per TCP/IP eine App ansteuern...) und dann von dort mit dem Besucher sprechen und die Tür öffnen können. Oder unter bestimmten Bedingungen die Türe automatisch öffnen, z.B. wenn jemand (ich) eine bestimmte Sequenz klingelt. Oder auch wenn ich per Web-App das tue statt mit dem Hausschlüssel, weil ich ihn vergessen habe. Was weiss, ich - großer Spass jedenfalls. Zum Vario-Bus (der Bedienpanel-Bus) gibt es hier ja schon eine Doku: Beitrag "[Referenz] Siedle Vario Bus Protokoll, COM611 Codetastatur" Ich bin nun dabei das Siedle In-Home-Bus-Protokoll zu analysieren und habe soeben erfolgreich selbst per uC-Schaltung ein Klingeln meines Siedle-Telefons auf dem Bus ausgelöst. Schaltplan dazu - supersimpel, 2 Transistoren, 4 Widerstände und eine LED an Atmega328 - stelle ich später noch ein. Anbei Oszi-Screenshot von einem Klingelbefehl. Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht 27V). Durch einen ersten Impuls auf die Leitung wird die Bussteuerung vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für 11ms auf 1k Ohm Last gelegt. Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen, etwa 1ms pro Bit insgesamt 32 Bit. Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller automatisch auf Datentransfer und zieht die Spannung auf 3V (?). Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es erfolgreich geklingelt. Wenn das Timing nicht passt zieht der Controller auch recht schnell die Spannung wieder hoch, sie hält also nur solange unten wie man sendet. Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch. Habe für's erste nur die Bitformation genau so nachgebaut wie ich sie aufgezeichnet hatte. Als nächstes steht an den Inhalt zu entschlüsseln. Auf jeden Fall gibt es sowas wie Absenderadresse und Befehl und die gewünschte "Gegenseite" speichert sich dann, wer was darf. Denn die Programmierung von hausinternem Ruf funktioniert so: - Buscontroller auf Programmierung stellen - beide Telefone auf Programmierung stellen - auf jeden Telefon die Ruftaste drücken, wie das andere Telefon erreicht werden soll - Programmiermodus abschalten Daraus ergibt sich, dass die Adress-/Befehlsinfo verteilt gespeichert wird: das Telefon, das angeklingelt wird speichert sich, wer es mit welcher Taste anklingeln darf. Das Telefon, das anruft, weiss von der Gegenseite nichts. So funktionieren auch andere Programmierschemata, habe sie aber noch nicht systematisch durchgegangen. Falls hier jemand mitmachen möchte: bitte melden! Vg, Conny
Hallo Conny, gibt es Neues? Kannst du bitte deine Schaltung posten? Ich habe gerade einen Testaufbau bei mir auf dem Schreibtisch: BNG 650 "Zentrale" BTM650-02 Tasten BTM650-03 Tasten BTLM650 Tuersprecher + Lichttaste 5x BTS 850 Haustelefon Noch habe ich nicht vor was zu steuern, eigentlich wollte ich es nur im Haus verbauen, aber das Oszi stand eh daneben und zu Testzwecken ist so ein Aufbau auf einem Tisch ganz nett. -3S
Hallo 3s-gast, ich habe hier noch nicht viel weitergemacht, habe noch andere Projekte fertigzustellen. Die Schaltung Signal-Erkennung und Generierung kann ich gerne posten, muss sie nur noch kurz in Eagle zusammenstellen, innerhalb der nächsten Tage. BTS 850, ist das evtl. schon eins mit Videobus? Dort gibt's nämlich neben dem Audiosignal noch das Videosignal auf dem Bus und man braucht dann m.E. schon Bandfilter um an die einzelnen Signale zu kommen. Wobei die von mir genannten Befehle vermutlich noch auf dieselbe Weise übertragen werden und Audio evtl. auch noch unmoduliert. Vg, Conny
Hallo Conny, Also in meiner Anlage ist nichts mit Video :-) Das BTS 850 ist das billigste Telefon von Siedle, mit drei Tasten. Vielleicht kann man das BTS 850 auch an einer Anlage mit Video betreiben ohne das es mit dem Videosignal Probleme gibt, aber das kann ich nicht testen. Gruss, 3S
3s-gast, anbei nun die Schaltung. Hat ein bisschen gedauert, bis ich Zeit hatte sie in einen Schaltplan einzuzeichnen. Der interessante Teil ist rechts oben: Q2/Q3 sind der "Detektor": die von der Siedle eingehende Spannung geht auf 2 Spannungsteiler. Einer davon detektiert eine Bus-Message an sich, also ob die Spannung von der Zentrale gesenkt wird um gleich Bits zu übermitteln. Der zweite spiegelt die Bits wider. Q2 detektiert, ob auf dem Bus ein Signal anliegt, also die Spannung abgesenkt wird. Der Transistor schaltet durch sobald auf der BE-Strecke 0,7V erreicht werden, d.h. in Bezug auf den Emitter muss der Spannungsteiler eine Spannung von <= 4,3 Volt an die Basis legen. Also an den 4,7kOhm 4,3V: 4,7kOhm / 14,7kOhm * V_siedle = 4,3V oder V_siedle = 4,3V * 14,7 / 4,7 = 13,4V Ich bekomme hier also ein High vom Transistor, wenn der Bus unter 13,4V abgesenkt wird (ganz beliebiger Wert, halt deutlich unter den 20V und deutlich über den 7V wo die Bits zappeln). Q3: schaltet durch sobald an den 10kOhm weniger als 4,3V an liegen, also 10/11,5 * V_siedle = 4,3 oder v_siedle = 4,3 * 11,5 / 10 = 4,9 Volt. D.h. also Q3 gibt mir jedesmal ein Signal, wenn die Spannung auf dem Siedle-Bus unter die 4,9 Volt gehen. Die 4,9 Volt liegen genau in dem Bereich, wo die Bits zappeln, zwischen 2V und 7V. Ich bekomme also ein High für jede Unterschreitung von 4,9V, also für jedes übertragene Bit. Aus diesen beiden kann ich dann das Signal zusammensetzen. Leider weiss ich noch nicht, ob hier ein Low der Bits wirklich eine Null sind oder umgekehrt und was am Ende die 32 Bit bedeuten. Ich kann so momentan auf Befehle reagieren, die ich aufzeichne (Türklingel aussen, innen, Licht etc) und ich kann welche schicken, die ich kenne (Türöffner), aber ich kann die Werte noch nicht verstehen. Q4 und Q5 machen das umgekehrte, sie senden ein Signal auf den Bus. Sie ziehen das Signal auf dem Bus herunter, wie im Eingangspost beschreiben. Leider weiss ich die Widerstandswerte gerade nicht mehr ganz genau, ich glaube es waren einmal 1k oder 2.2k und einmal 50 Ohm. Und man muss einmal, glaube mit den 50 Ohm für 1ms runterziehen, damit der Controller die Spannung absenkt und dann mit den 1k die Bits wackeln. Ist per Versuch ermittelt, keine Ahnung, ob die Siedle-Anlage das irgendwann mal übel nimmt und sich ausklinkt ;-) Also besser nur mit der eigenen machen und nicht mit der des Vermieters...
Thomas Abraham schrieb: > Conny wie hast du es mit den Optokoppler gelöst? > > Gruß Thomas Wie meinst Du das? Da ist kein Optokoppler drin? Ich habe eine neue Version der Schaltung mit Operationsverstärker bzw Komparator in Arbeit, der Detektor läuft da mit Opamp statt Transistoren.
Hey Conny, hast du da etwas inzwischen stabil in Betrieb? Evtl. genaue Infos zum Initialisieren der Übertragung? Du warst dir oben nicht mehr sicher welche Dauer und welche Last. Hast du auch ein Schaltbild mit dem Op-Amp? Ich hatte vor, im Zuge der Hausautomatisierung mich mal auch an den In-Home-Bus zu klemmen. Habe hier noch ein paar ESP8266 rumliegen und diese Winzlinge passen ohne Probleme in meine Sprechanlage. Das ganze dann als WLAN MQTT Bridge an den Broker und es lässt sich alles automatisiert bedienen ;) Gruß Waldi
@Waldi: Nein, habe das noch nicht stabil in Betrieb. Hatte noch ein Problem, dass zuviel Eingangskapazität in meiner Schaltung das Audio auf dem Bus stark dämpft. Das konnte ich mit einem Gyrator beheben (Tipp hier im Forum). Das hatte aber wiederum den Effekt, dass der Gyrator mein Senden eines Signals killte, da schlägt dann wieder die Eingangskapazität zu, wie es scheint. Ich hab das mal pausiert, weil ich nach einigen Stunden denken, recherchieren und testen nicht weiterkam und auch noch andere Projekte da sind, die ich weiterbringen will. Man könnte sagen das Empfangen von Signalen klappt prima, beim Senden klemmt noch.
Moin Conny, danke für deiner erste Umsetzung. Konntest du das In-Bus-Home Protokoll weiter entschlüsseln? Wenn Du Neuigkeiten für die Ansteuerung über Arduino hättest, wäre ich mehr als dankbar. Wir müssten bei uns sonst eine neue Anlage für 8k besorgen. Eine Übergangslösung wäre für uns, wenn wir über das Strom-/CAT-Netzwerk den In-Home-Bus (Ta|Tb|ETR) extenden könnten. Gibt es eine fertige Lösung die ala Power over Ethernet solche Signale transportieren kann? Danke für eure Hilfe! Viele Grüße Felix
@Felix mit der Entschlüsselung habe ich mich noch nicht weiter beschäftigt, mir reicht derzeit völlig aus die 2-3 Kommandos zu erkennen und die 2 Türöffnungen zu senden. Ob es was gibt für Ethernet, keine Ahnung. Ich erinnere mich daran, dass man ein Siedle-IP-Gateway dazukaufen kann, aber das kostet auch irgendwas 1.500-2.000 Euro. Es gibt ein Siedle-Programmiermodul, mit dem man per sich per USB in den Bus klinken kann und die Endgeräte programmieren. Das habe ich mir mal gebraucht gekauft um damit irgendwann mal das Protokoll zu entschlüsseln. Da müsste man einen USB-Sniffer dazwischenhängen (das gibt's, einfach eine Software auf dem Rechner, die das USB-Protokoll mitliest), dann kann man sehen, was die Software so mit dem Bus spricht. Ich glaube man kann damit auch den Bus überwachen und Ereignisse protokollieren.
Danke für die schnelle Antwort Conny. Kannst du mir die finale Arduino Schaltung zum Recorden/Replayen der Commands aufzeigen? Das würde mir schon sehr helfen. Letztendlich bildet das schon das Fundament für den Extender. Idee: in signal -> Arduino* -> TCP/IP --> Arduino* --> out signal * mit Ethernet-Shield Was das Signal im Detail bedeutet, muss ich dafür nicht verstehen.
:
Bearbeitet durch User
Conny, zunächst mal vielen Dank für deine Analysen! Ich habe derzeit noch das Problem, dass die Audioübertragung stark gedämpft ist. Du hast in einem der vorherigen Beiträge von einem Gyrator zur Lösung des Problems geschrieben. Könntest du mir das näher erklären ggf. sogar mit einem Schaltplan? Ich habe es schon mit einer einfachen Spule jeweils in Reihe von Ta und Tb versucht bin aber kläglich daran gescheitert das Audio-Signal zu verbessern. Vielen Dank!
@Tobi: Hier der Thread zum Thema Gyrator: Beitrag "Eingangskondensator dämpft Audio auf Busleitung" @Felix: dort gibt's auch den Schaltplan mit Komparator.
:
Bearbeitet durch User
@Conny: Vielen Dank für den Link. Auf Basis der Beiträge im anderen Thread habe ich hier einen Schaltplan des von dir gebauten Gyrators. Drei Werte sind mit allerdings noch unbekannt (siehe Bild). - Wert von R3 (33? du hast da glaube ich zwei Widerstände parallel?) - Zener-Diode 15V? oder "normale" z.B. 1N4001 - Welches Mosfet/BJT hast du im Endeffekt verwendet? Vielen Dank für deine großartige Analysearbeit und deine Unterstützung!
Danke Conny. Kannst du mir bitte noch ein Auszug aus dem Arduino-Code geben, wie du das Aufnahmen und Wiederabspielen bewerkstelligst? Danke! Schönes Wochenende Dir!
@Tobi Ich glaube die zwei parallelen für R3 sind 150 und 47 Ohm, also 35 Ohm. Die Diode ist eine 1N4007, eine 1N4001 tut bestimmt auch. Der Mosfet ist ein IRLU024N. Mit den Werten experimentierte ich wild herum, der Gyrator schien mir da sehr tolerant zu sein und ich versuchte den Spannungsabfall am Gyrator zu minimieren, der ist mit dem Mosfet relativ hoch, 3-4 Volt.
@Felix Ist ohne Arduino, direkt mit Atmega328. Deshalb auch purer C Code. Muss mal schauen, ob der einfach extrahierbar ist oder ob zuviel anderes Zeug mit im Code ist. Wenn ich es in wenigen Minuten zusammengestellt bekomme poste ich es, mehr Zeit ist gerade nicht möglich ...
:
Bearbeitet durch User
@Felix: Angeschaut, der Code ist nicht hübsch genug zur Veröffentlichung. Aber schicke mir gerne Deine Email-Adresse, dann schicke ich es Dir persönlich als Referenz für Deine Implementation.
@Conny: Vielen Dank für die vielen Infos. Könntest du mir bei Gelegenheit auch eine Kopie deines Codes per Mail zusenden? Meine Mail-Adresse müsstest du schon haben. Nochmals Danke!
Habe jetzt die Gyratorschaltung in Serie nach der Diode angeschlossen. Die Lautstärke der Audioübertragung ist jetzt wesentlich besser bzw. unverändert zum Originalzustand! Was ich bei Belastung (ca 150ma) allerdings immer noch habe, ist ein "schnelles rippeln/Schwingungen" im Hörer. Am Buck-Converter, der mir aus den ca. 15 V nach dem Gyrator 3.3V ausgibt, liegt es nicht. Auch mit einem linearen AMS1117-3.3 habe ich das selbe rippeln. Testweise hab ich mal einen der zwei 100uF entfernt und das Rippeln wird deutlicher hörbar. Mehr C (1000uF) hat das Rippeln allerdings nicht wesentlich besser "unterdrückt". Im zweiten Test habe ich den 22nF Kondensator im Gyrator gegen einen 2.2uF ElKo ersetzt. Es scheint etwas besser geworden zu sein. Bin ich da auf dem richtigen Weg? Danke, Grüße Tobi
:
Bearbeitet durch User
@Tobi: Da kann ich jetzt nur mit gefährlichem Halbwissen spekulieren. Die C's wirken ja als Glättungskondensatoren, aber solange kein Widerstand (RC-Glied) mit ins Spiel kommt hast Du immer noch hohe Ladeströme für die Glättung und die könnten den Ripple vor Deiner Schaltung auslösen. Und diese Ladungsströme des C macht m.E. eine höhere Kapazität auch nicht weg, weil trotzdem im C noch nachgeladen wird was verbraucht wird. Das wird nur besser, wenn man den Ladestrom des C bremst mit R oder L. Der Gyrator wirkt - wenn ich das richtig verstanden habe - als Induktivität. Ich lese, dass ein Gyrator C in L konvertiert, damit erhöht sich das L, wenn man das C erhöht und der Ladestrom wird stärker eingebremst. Das würde erklären, warum mehr C im Gyrator hilft.
:
Bearbeitet durch User
Hey Conny, ich bin deinem Rat gefolgt und habe mir mein erstes Oszilloskop zugelegt. Das Hantek 6022 BE mit 20MHz Auflösung reicht für mich komplett aus und hat im Falle des Siedle In-Home-Bus für "Licht im Dunkeln" gesorgt. Die Ruhe-Spannung liegt bei meiner Anlage bei 30V. Anschließend erfolgt ein Spannungsdrop auf 1,79V für ein 0 Bit und geht auf 8V für ein 1 Bit. 2mS pro Bit erfolgen. Leider funktioniert deine Schaltung nicht. Ich erhalte kein Carrier Signal über den LM358. Sollte die Schaltung trotz der Spannungsabweichung noch funktionieren? Danke für deine Hilfe. Felix
Hi Felix, Du müsstest den Spannungsteiler am Komparator mal nachrechnen. Hängt auch davon ab, welche Spannung Du als Referenzspannung dort hast, das ist bei den AVRs verschieden, welche ARef Du bekommst, wenn Du den ADC so schaltest. Wenn meine Rechnung noch stimmt, dann habe ich da 2,56 Volt. Manche haben aber 1,1V. Ich habe als Schaltschwellen für Carrier bei mir 14V und für Bits 5V festgelegt. D.h. ich werte das ganze als Signal, wenn die Spannung unter 14V fällt und sehe eine Spannung unter 5V als 0 an und über 5V als 1 an. Wenn nun die Referenzspannung 2,56 Volt ist und Carrier der Punkt zwischen dem 1,5k und dem 2,7k Widerstand ist musst Du Dir in einer Matrix ausrechnen, wann bei 14V diese Spannung unter 2,56 Volt kippt. Bzw. Du musst Dir Widerstände ausrechnen, die das bewerkstelligen, bei mir waren das eben diese. Dasselbe für die Bits. Du machst Dir also eine Matrix mit Spannungen von 30V von links nach rechts und mit den 3 Widerständen vertikal und spielst solange damit rum, bis es für Dich passt. Ich habe das mal schnell in Excel zusammengeworfen, hoffe das stimmt so. Damit kannst spielen und den Gesamtwiderstand auf der linken Seite so trimmen, dass Du mit den üblichen Widerstandswerten die richtigen Schwellen in der Matrix herausarbeiten kannst.
:
Bearbeitet durch User
@Conny: Danke für deine Matrix. Leider bin ich noch nicht dazu gekommen. Aktuell geht es bei mir drunter & drüber. Diese Woche will ich mir aber die Zeit nehmen. Ich berichte nach meinem Versuch :-) Felix
Conny G. schrieb: > Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht > 27V). > Durch einen ersten Impuls auf die Leitung wird die Bussteuerung > vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für > 11ms auf 1k Ohm Last gelegt. > Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen, > etwa 1ms pro Bit insgesamt 32 Bit. > Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller > automatisch auf Datentransfer und zieht die Spannung auf 3V (?). > Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine > Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es > erfolgreich geklingelt. > Wenn das Timing nicht passt zieht der Controller auch recht schnell die > Spannung wieder hoch, sie hält also nur solange unten wie man sendet. > Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch. Hi, erstmal danke für eure schon sehr hilfreichen Beiträge. Ich belebe mal den alten Thred wieder. Der Impuls - das ist der bei 4ms? Auf dem Bild vom Oszi sind 50V/div eingestellt? Kennst du zufällig das genaue Timing für ein Bit bzgl. Rise-/ Falltime? Du hast das Bild nicht zufällig mit ner kleineren Zeitbasiseinstellung? Konntest du das Protokoll mittlerweile analysieren? Kennst du auch den Befehl zum Türöffnen? Danke und Gruß Eddie
P.S.: Weiß jemand was das für ne Art Protokoll ist (I2C, UART, CAN...)? Die werden ja vermutl. nichts eigenes erfunden haben sondern irgendwas bestehendes implementiert haben? Gruß
A. H. schrieb: > Conny G. schrieb: >> Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht >> 27V). >> Durch einen ersten Impuls auf die Leitung wird die Bussteuerung >> vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für >> 11ms auf 1k Ohm Last gelegt. >> Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen, >> etwa 1ms pro Bit insgesamt 32 Bit. >> Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller >> automatisch auf Datentransfer und zieht die Spannung auf 3V (?). >> Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine >> Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es >> erfolgreich geklingelt. >> Wenn das Timing nicht passt zieht der Controller auch recht schnell die >> Spannung wieder hoch, sie hält also nur solange unten wie man sendet. >> Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch. > > Hi, > > erstmal danke für eure schon sehr hilfreichen Beiträge. Ich belebe mal > den alten Thred wieder. > Der Impuls - das ist der bei 4ms? > Auf dem Bild vom Oszi sind 50V/div eingestellt? > Kennst du zufällig das genaue Timing für ein Bit bzgl. Rise-/ Falltime? > Du hast das Bild nicht zufällig mit ner kleineren Zeitbasiseinstellung? > Konntest du das Protokoll mittlerweile analysieren? > Kennst du auch den Befehl zum Türöffnen? > > > Danke und Gruß > Eddie Habe da lange nicht mehr weitergemacht, zuviele andere Projekte. Ja, 50V/div aber 10x, d.h. 5V/div. Frag mich nicht, warum ich das so gemacht hatte :-) Genaue Timings unbekannt, alles experimentell ermittelt. Protokoll habe ich nicht weiter analysiert, ich muss nur aufzeichnen und wieder abspulen, was mich interessiert. Der Befehl zum Türöffnen ist pro Türstation individuell unterschiedlich, für mehr Details müsste man die Zuordnung der Bits kennen. Soviel ich das Protokoll verstanden habe besteht der Großteil der 32bit aus 2 Adressen, Sender und Empfänger, die sich beim Programmieren auf einen Adresse einigen bzw. sich über das Programmieren kennenlernen: Man versetzt die Türstation in Programmiermodus und klingelt bei der entsprechenden Klingel. Damit weiß die Türstation, welcher Klingelcode (Sender) für sie relevant ist und an wen sie den Öffnungsbefehl schicken muss. Vermutlich hat dann jede Station ein Grid von IDs für die verschiedenen Funktionen/Tasten, die dann ebenfalls in den 32 Bit enthalten sind. Ich hatte damals eine Weile recherchiert und ich habe nur das Busprinzip gefunden, Spannungsversorgung und Datenübertragung in einem zu machen und über verschiedene Last/Ströme zu senden. Aber das spezielle Protokoll habe ich nirgendwo gefunden. Can/RS485/... die üblichen Verdächtigen sind es m.E. nicht. Könnte schon ein proprietäres sein.
:
Bearbeitet durch User
Hallo Conny, danke für Deine detaillierten Untersuchungen, sehr aufschlussreich! Habe versucht anhand Deiner Doku ebenfalls auf dem Siedle in-home-Bus zu kommunizieren. Verfüge hier über ein Siedle BTS 850-02 und möchte - ähnlich wie Du - eigentlich nur den Türöffner über den Bus betätigen können. Dazu habe ich zunächst die Buskommunikation mit dem Oszi beim Drücken der Türöffnertaste am BTS 850 aufgezeichnet (siehe Anhang). Leider werde ich aus Deinen Angaben zum Start der Buskommunikation nicht ganz schlau; für 1 ms auf 50 Ohm Last? 11 ms auf 1k Last? Deine Angaben in den verschiedenen Threads dazu sind nicht ganz eindeutig. Ich habe soweit alle Konstellationen durchprobiert, aber ich konnte bislang nicht erreichen, dass der Busmaster die Spannung für die ca. 65 ms absenkt. Im Anhang siehst Du das Ergebnis, wenn ich mit ca. 50 Ohm Last den Bus für 11 ms belaste (blau = Signalpegel am Mikrocontroller, gelb = Busspannung (Ta) ) Die Spannung bricht zwar kurz ein, wird vom Busnetzteil aber scheinbar direkt wieder ausgeregelt. Wenn ich direkt am BTS 850 die Busspannung (Ta) messe, sehe ich am Anfang der Kommunikation keinerlei Indiz dafür, dass dort das Gleiche geschieht. Übersehe ich etwas? Kannst Du vielleicht noch einmal genauer beschreiben, wie Du die Buskommunikation initialisierst? Es hilft sicherlich auch, wenn Du einen Schnipsel Deines Codes posten würdest. Danke & Gruß Daniel
Hallo zusammen, mir ist noch etwas aufgefallen: Ich habe ein kleines Test-Setup aufgebaut und erzeuge nun mittels Mikrocontroller Pulse von 1 bis 22 ms Länge auf dem Bus (mit 1kOhm Last und mit 50 Ohm Last getestet). Bislang habe ich damit aber noch nicht erreichen können, dass der Busmaster die Spannung absenkt. Im Gegenteil: wie die Screenshots zeigen, erzeuge ich Pulse unterschiedlicher Länge durch Anlegen einer 1kOhm Last (blaue Kurve), die Busspannung steigt in diesem Moment sofort an (um ca. 2,5 V). Allerdings tut sie dies immer für genau die gleiche Dauer, ca. 18 ms. Ich dachte zuerst, es handelt sich um einen Überschwinger, der durch das Nachregeln des Netzteils entsteht. Aber dagegen spricht, dass die Dauer des "Überschwingers" scheinbar unabhängig von der Länge meines Lastpulses ist. Jemand eine Idee, was das bedeuten könnte? Sobald der Lastpuls länger als ca. 11 ms andauert, bricht die Busspannung noch einmal kurz ein (auf das Ruheniveau), steigt nach Abschalten der Last aber wieder an. Seltsam. Bin für alle Anregungen offen! Danke & Gruß daniel
Hallo Daniel, ich habe mir zuletzt vor einem Jahr oder länger mit der Siedle-Schaltung beschäftigt und hab's damals mal zurückgestellt, weil ich nicht mehr weiterkam. Inzwischen glaube ich weiss ich was das Problem war und wollte man wieder versuchen :-) Hier mal ein Debug-Schnippsel das in einer Schleife alle 5 Sekunden ein Kommando sendet (war es klingeln?). Die tatsächliche Senderoutine sieht jetzt anders aus, aber ich hatte die zuletzt auch vermurkt wenn ich mich recht erinnere, bin ziemlich sicher, dass die nicht geht. Nach aller Recherche ist der Siedle-Bus einer der auf Strom basiert, man muss per Strom seine Bits signalisieren. Und die Init-Sequenz hat soviel ich mich erinnern kann als Knackpunkt, dass man diesen kurz Puls mit den 1-2kOhm setzt und danach sofort beginnt mit den Bits zu wackeln, also den 50 Ohm dazu zu schalten. Wenn man das nicht tut oder sonst irgendein Timing-Fehler drin ist, schaltet der Bus gleich wieder hoch. Ich kann mich auch erinnern, dass der Bus eher pingelig mit dem Timing war, die Abweichung durfte nur klein sein, sonst wurde vom Bus gleich abgebrochen. Bei den Widerstandswerten bin ich mir nicht sicher, alles durch Probieren ermittelt, wann der Bus das tut was er soll und wann die Kurven die ich messe denen ähnlich werden, die der Bus selber sendet. Vg, Conny
1 | // PC0: 2,2k Ohm
|
2 | // PC1: 100 Ohm
|
3 | |
4 | |
5 | // 10ms 2,2k
|
6 | // bits mit 100 Ohm
|
7 | |
8 | DDRC |= _BV( PC0 ) | _BV( PC1 ); |
9 | PORTC = 0; |
10 | |
11 | while (1) |
12 | {
|
13 | long_delay( 5000 ); |
14 | PORTC |= _BV( PC0 ); |
15 | long_delay( 11 ); |
16 | PORTC &= ~_BV( PC0 ); |
17 | |
18 | PORTC |= _BV( PC0 ); |
19 | PORTC |= _BV( PC1 ); |
20 | |
21 | uint8_t bits[33] = |
22 | {
|
23 | 1, 0, 1, 0, 1, 0, 1, 1, |
24 | 0, 0, 1, 1, 0, 1, 0, 1, |
25 | 1, 1, 1, 0, 1, 0, 1, 1, |
26 | 1, 1, 0, 1, 1, 1, 1, 1, |
27 | 0
|
28 | };
|
29 | |
30 | for (int i = 0; i < 33; i++ ) |
31 | {
|
32 | if ( bits[i] == 0 ) |
33 | {
|
34 | PORTC &= ~_BV( PC1 ); |
35 | }
|
36 | else
|
37 | {
|
38 | PORTC |= _BV( PC1 ); |
39 | }
|
40 | //for (int d = 0; d < 105; d++ )
|
41 | //_delay_us( 10 );
|
42 | long_delay( 1 ); |
43 | }
|
44 | |
45 | PORTC &= ~_BV( PC1 ); |
46 | PORTC |= _BV( PC1 ); |
47 | PORTC &= ~_BV( PC1 ); |
48 | PORTC &= ~_BV( PC0 ); |
49 | }
|
Hi Conny, danke für Deine Antwort! Ich habe das so nachgebaut und würde inzwischen sagen, ich habe alles versucht: um Probleme mit dem Timing auszuschließen habe ich automatisiert die Länge des "Initialisierungspulses" im µs-Bereich zwischen 1 ms und 30 ms variiert. Wie von Dir vorgeschlagen danach direkt die Bits ausgegeben (Dauer pro Bit 2 ms, also entsprechend dem, was das Haustelefon produziert). Zusätzlich habe ich die Widerstandswerte variiert, mal mit 50 Ohm initialisiert und mit 1 kOhm die Bits gewackelt, mal andersherum. Bis auf die Erkenntnis, dass das Busnetzteil (Siedle BNG 650-0) scheinbar ziemlich hart im Nehmen ist, bin ich leider nicht weitergekommen. Ich kann die Busspannungsabsenkung einfach nicht provozieren :( Entsprechend kommen meine Datenbits natürlich auch nur wild verzerrt auf dem Bus an. Inzwischen vermute ich, dass die Initialisierung der Kommunikation, die das Busnetzteil dazu bewegt, die Spannung abzusenken, bei dieser neuen Version des in-home-Bus anders funktioniert, als bei Deiner Installation. Wenn ich mir das Oszillogramm der Buskommunikation (Haustelefon sendet "Tür öffnen") anschaue, finde ich keinerlei Indiz dafür, dass im Vorfeld der eigentlichen Kommunikation (=Übertragung der Datenbits) eine nennenswerte Last auf den Bus geschaltet wird. Die Spannung bricht nicht so ein (bzw. schwingt über), wie wenn ich dies mit der 1kOhm bzw. 50 Ohm Last erzwinge. Zudem finde ich auf der Platine keine Lastwiderstände bzw. Transistoren, die mit den Busleitungen verbunden sind (siehe Fotos). Stattdessen sind die Busleitungen direkt mit zwei Pins am ASIC (jeweils 4.7 kOhm in Reihe) verbunden (siehe Markierung im Foto). Ich frage mich daher, wie die Initialisierung der Kommunikation denn sonst noch erfolgen könnte und wie ich das messtechnisch ermitteln kann? Ich habe es bereits mit einem "Shunt" (3.5 Ohm) in der Masseverbindung (bzw. Busleitung Tb) zum Haustelefon versucht und mir den Spannungsabfall darüber per Oszi angeschaut. Dort sehe ich zwar einen kleine Spike ganz zu Anfang der Buskommunikation, allerdings erst, sobald die Busspannung bereits abgesenkt wurde. Habt ihr noch Tips, was ich versuchen kann? Gruß daniel
Also bei einem Bus mit Stromversorgung kann es nur mit Strom signalisiert werden, da gibt es gar keinen anderen Weg.
Die Sache lässt mich nicht los. Ich habe erfolglos noch einmal diverse Timing- und Widerstandskonfigurationen getestet. Ich frage mich immer noch, wie die Originalschaltung den Bus so drastisch von 30V auf 0V herunterziehen kann, ohne dass auf der Platine passende Widerstände oder FETs zu finden sind. Das muss also alles in dem ASIC stattfinden. Zusätzlich habe ich nun eine Strommessung (Busleitung Ta zum Haustelefon) während des Sendens des Türöffnungssignals durchgeführt. Im Anhang (gelbe Kurve) ist ein Peak von 150µs zu sehen (1mV im Diagramm entspricht hier 1mA). Der Strom steigt also kurzzeitig auf über 700 mA an. Ist diese Rampe möglicherweise das Startsignal? Hat noch jemand eine Idee, wie ich das Geheimnis messtechnisch lüften kann? Oder was ich noch versuchen kann, um die Kommunikation zu initialisieren? Danke & Gruß Daniel
Rechne mal. R = U / I = 30 V / 0,7 A = 43 Ohm. Versuche doch mal genau diesem Impuls von 40us und 700mA zu erzeugen, also für diese Zeit 40Ohm auf den Bus zu schalten. Genau das machen meine 50 Ohm. Die Frage ist, wie das Timing genau sein muss. Ich habe es auf genau diese Weise damals rausgemessen und nachgestellt um kam so auf Schaltung und Timing und es funktionierte, bei mir jedenfalls. Aber ich habe auch schon festgestellt, dass die Anlage beim Timing recht pingelig ist.
Hi Conny, klar, die Rechnung habe ich natürlich auch schon gemacht und das ganze mit Widerständen hinunter bis 3.5 Ohm getestet. Damit zwinge ich die Busspannung natürlich kurzzeitig bis fast auf 0V, aber das Busnetzteil regelt den Strom gleich nach und versucht die Last auszugleichen, anstatt die Busspannung für die Datenübertragung abzusenken. Hier ist mein Code, um automatisiert die Sendesequenz mit Initialisierungspulsen unterschiedlicher Länge durchzuführen: (ist für einen PIC24FJ256GB106)
1 | BYTE bits[33] = |
2 | {
|
3 | 0,1,0,0,0,1,1,0,0,0, |
4 | 0,0,1,0,1,0,0,0,0,1, |
5 | 0,0,1,0,1,0,1,0,0,0, |
6 | 0,0, |
7 | 1
|
8 | };
|
9 | |
10 | void SendSeq(BYTE *bits, WORD initdel) |
11 | {
|
12 | // Pin D1: activates 40 Ohm Load
|
13 | // Pin D2: activates 1 kOhm Load
|
14 | |
15 | BYTE i; |
16 | |
17 | // Bus Init Sequence
|
18 | EXP_D1_LAT = 1; // 40 Ohm Load |
19 | Delayus(initdel); // Duration for Init-Pulse |
20 | |
21 | // switch off Init Load
|
22 | EXP_D1_LAT = 0; // 40 Ohm |
23 | |
24 | // send bits
|
25 | for (i = 0; i < 33; i++ ) |
26 | {
|
27 | if ( bits[i] == 0 ) |
28 | {
|
29 | EXP_D2_LAT = 1; // 1kOhm |
30 | }
|
31 | else
|
32 | {
|
33 | EXP_D2_LAT = 0; // 1kOhm |
34 | }
|
35 | Delayus(2000); // bit duration: 2ms |
36 | }
|
37 | |
38 | // release bus
|
39 | EXP_D1_LAT = 0; |
40 | EXP_D2_LAT = 0; |
41 | }
|
42 | |
43 | |
44 | void ScanSendSeq() |
45 | {
|
46 | WORD prr; |
47 | BYTE txt[200]; |
48 | |
49 | // Try to send sequence, cycle through init pulse durations from 10 µs to 30 ms
|
50 | // (actual data bits alway have a pulse width of 2 ms)
|
51 | for(prr = 10; prr <30000; prr+=10) |
52 | {
|
53 | // debug output
|
54 | sprintf(txt,"\n\rsendseq with prr: %u us",prr); |
55 | putsUART2(txt); |
56 | |
57 | // send the bit sequence with current init-pulse duration
|
58 | SendSeq(bits, prr); |
59 | |
60 | // wait some time before testing the next configuration
|
61 | Delayms(250); |
62 | Delayms(250); |
63 | Delayms(250); |
64 | Delayms(250); |
65 | Delayms(250); |
66 | |
67 | }
|
68 | |
69 | }
|
Beim Messen auf der Schaltung sind mir noch ein paar Sachen aufgefallen: - Es gibt keine dedizierten Spannungsregler auf der Platine. Scheint alles der ASIC integriert zu haben - Der Mikrocontroller wird mit ca. 3V betrieben - ein Teil der Schaltung wird mit 8V versorgt (mit einem dicken 470 µF Kondensator gepuffert - zusätzlich sind noch 7,4 V (ebenfalls mit 470 µF gepuffert) auf der Platine zu messen Ich gehe davon aus, dass - sobald die Initialisierungsroutine vom Netzteil erkannt wurde - das Netzteil die Spannungsversorgung des Bus' komplett deaktiviert und die Schaltung des Haustelefons die Spannungsversorgung ~8V aus den Speicherelkos kurzzeitig zur Verfügung stellt (und damit auch die Datenpulse erzeugt werden)
Daniel P. schrieb: > Hier ist mein Code, um automatisiert die Sendesequenz mit > Initialisierungspulsen unterschiedlicher Länge durchzuführen: > (ist für einen PIC24FJ256GB106) Sieht doch gut aus. Versuche mal 1ms 50 Ohm + 1000 Ohm parallel, lass die 1000 Ohm an und nach 10ms Pause fange mit den Datenbits an, also die 1000 Ohm wackeln. Möglicherweise will er eine Stromspitze sehen und dann dauerhaft den Strom der 1000 Ohm. > Beim Messen auf der Schaltung sind mir noch ein paar Sachen aufgefallen: > - Es gibt keine dedizierten Spannungsregler auf der Platine. Scheint > alles der ASIC integriert zu haben > - Der Mikrocontroller wird mit ca. 3V betrieben > - ein Teil der Schaltung wird mit 8V versorgt (mit einem dicken 470 µF > Kondensator gepuffert > - zusätzlich sind noch 7,4 V (ebenfalls mit 470 µF gepuffert) auf der > Platine zu messen Die 8 bzw. 7,4V sehen danach aus als wäre da eine Diode oder ein Mosfet drin, der die 0,6V nimmt? > Ich gehe davon aus, dass - sobald die Initialisierungsroutine vom > Netzteil erkannt wurde - das Netzteil die Spannungsversorgung des Bus' > komplett deaktiviert und die Schaltung des Haustelefons die > Spannungsversorgung ~8V aus den Speicherelkos kurzzeitig zur Verfügung > stellt (und damit auch die Datenpulse erzeugt werden) Ja, das mache ich auch so, dass ein großer C den Spannungseinbruch während des Datenprotokolls puffert. Das benötigt allerdings wiederum einen Gyrator um zu verhindern, dass der Elko das Audio-Signal und die Datensignale auf dem Bus dämpft. Den hab ich auch und ich glaube genau da hatte ich zuletzt auch mein Problem, die "Induktivität" des Gyrators war zu gering und er lies noch zu, dass das Datensignal vom Elko gedämpft wird. Findet sich auf der Siedle Platine ein Gyrator? So hab ich meinen Gyrator gebaut: http://www.loetstelle.net/projekte/gyrator/gyrator.php Wie sieht denn Deine Schaltung aus, könntest von der einen Schaltplan posten?
:
Bearbeitet durch User
Danke für Deine schnelle Antwort! Conny G. schrieb: > Daniel P. schrieb: >> Hier ist mein Code, um automatisiert die Sendesequenz mit >> Initialisierungspulsen unterschiedlicher Länge durchzuführen: >> (ist für einen PIC24FJ256GB106) > > Sieht doch gut aus. > Versuche mal 1ms 50 Ohm + 1000 Ohm parallel, lass die 1000 Ohm an und > nach 10ms Pause fange mit den Datenbits an, also die 1000 Ohm wackeln. > Möglicherweise will er eine Stromspitze sehen und dann dauerhaft den > Strom der 1000 Ohm. Da hat sich leider auch nix getan... > Ja, das mache ich auch so, dass ein großer C den Spannungseinbruch > während des Datenprotokolls puffert. > Das benötigt allerdings wiederum einen Gyrator um zu verhindern, dass > der Elko das Audio-Signal und die Datensignale auf dem Bus dämpft. > Den hab ich auch und ich glaube genau da hatte ich zuletzt auch mein > Problem, die "Induktivität" des Gyrators war zu gering und er lies noch > zu, dass das Datensignal vom Elko gedämpft wird. > Findet sich auf der Siedle Platine ein Gyrator? nein, kann ich so nicht erkennen. Aber warum packst Du die Pufferelkos eigentlich an den Bus? Ich würde die HINTER den Spannungsregler setzen. Dann sollten sich doch die Probleme mit der Busdämpfung komplett erledigen, meinst Du nicht? > Wie sieht denn Deine Schaltung aus, könntest von der einen Schaltplan > posten? Meine "Schaltung" besteht momentan nur aus einem PCB von einem anderen Projekt mit PIC Mikrocontroller, über den ich die zwei Widerstände auf den Bus schalten kann (also genau nach Deinem Vorschlag, BC337 mit den Pull-downs und den entsprechenden Last- und Basiswiderständen. Den Basiswiderstand habe ich allerdings auf 1,8k reduziert, da mein PIC mit 3,3V läuft). Mehr nicht. Die Dekodierung des Signals habe ich noch nicht eingebaut, werde das aber vermutlich nicht mit Komparatoren, sondern über den ADC lösen. Aber erstmal ist diese Businitialisierung zu besiegen!
Conny G. schrieb: > Es gibt ein Siedle-Programmiermodul, mit dem man per sich per USB in den > Bus klinken kann und die Endgeräte programmieren. Das habe ich mir mal > gebraucht gekauft um damit irgendwann mal das Protokoll zu > entschlüsseln. Dazu eine Frage: um ein "Bus-Eingangs-Modul" (BEM-650-0) an BNG 650-0 zu konfigurieren ist offenbar zwingend das "Programmierinterface USB" (PRI 602-01 USB) und das "Zubehör-Bus-Versorgung" (ZBVG 650-0) erforderlich. Zusammen ca. 230 Euro! Enthält dieses Modul irgendwelche Geheimnisse (direkter Bus-Zugriff?) oder nur einen USB-UART Chip? Der Treiber-Installer ist mit WiX erzeugt; mehr habe ich nicht herausfinden können. Kurzum, lassen sich die Module evtl. "billig" konfigurieren (die Software kann heruntergeladen werden)?
Das ZBVG 650-01 ist eine Platine die ins Netzgerät gesteckt wird. Auf dieser ist eine Westernbuchse, über die man das PRI anschließt. Gegenüber der Programmiersoftware verhält sich das PRI wie ein COM-Port. Inwieweit das Modul direkt den Bus adaptiert, weiß ich gerade nicht. Auf jeden Fall ist es wertvoll zum Inbetriebnehmen und Fehler suchen.
Danke dir. Auf ZBVG 650-01 ist offenbar nicht viel drauf: Sieht aus wie zwei Steckverbinder, zwei Spannungsregler, ein paar Dioden und Drumherum: http://www.siedle.de/xs_db/BILD_DB/03000-03499/www/500/03057.jpg Die Belegung wäre interessant. Und was im PRI steckt.. OT: Sven L. schrieb: > Auf jeden Fall ist es wertvoll zum Inbetriebnehmen und Fehler suchen. Bei einer Inbetriebnahme/Änderung liegen 230 Euro Anschaffungskosten vermutlich über den Kosten für die Dienstleistung - wie kompliziert/aufwendig ist denn die Einarbeitung/Konfiguration (einen Türkontakt (BEM) auf zwei neuen Innensprechstellen anzeigen)?
Die Firmware als hex gibt es bei Siedle zum Download. Der Adapter ist gar nicht direkt für den "InHome-Bus", sondern für den "Sa/Sb Backbone" zwischen BNGs. Aus der BPS Online Hilfe: > Bei einem PC-Anschluss via USB wird der PC mit dem beiliegendem USB-Kabel mit dem PRI 602-...USB verbunden. Das PRI 602-...USB wiederum ist mit dem Sa-/Sb-Bus des Systems verbunden. Das PRI 602-...USB ist die transparente Schnittstelle des Sa-/Sb-Bus-Systems, und die BPS kann darüber mit allen angeschlossenenen Endgeräten in allen Strängen eine Verbindung herstellen. Etwas widersprüchlich: > Das PRI 602-...USB wird am Sa/Sb-Bus (Backbone) angeschlossen und leitet die Daten dieses Buses an den PC weiter. Beachten Sie, dass nicht alle Telegramme innerhalb eines InHome-Strangs auf diesem Sa/Sb-Bus vorhanden sind. Sogenannte "stranginterne Telegramme" bzw. Telegramme, deren Ziele nicht ausserhalb des jeweiligen Strangs liegen, sind auf dem Sa-/Sb-Bus nicht sichtbar! > Wollen Sie stranginterne Telegramme aufzeichnen, so verwenden Sie bitte die die Kombination PRI 602-... und BIM. Hier sehen Sie jedoch nur diejenigen Telegramme innerhalb des angeschlossenen Strangs und nicht diejenigen stranginteren Telegramme anderer Stränge. > Der Sa-/Sb-Bus muss beim Anschluss eines PRI 602-...USB eine Stromversorgung besitzen. Entweder separat über ein BVG650-... oder über eine Zubehör-Leiterplatte ZBVG 650-... (gesteckt innerhalb BNG/BVNG 650) > Achtung: Die Zubehör-Leiterplatte ZBVG 650-... bzw. das BVG650-... darf innerhalb einer Mehrstrang-Anlage nur einmal(!) vorhanden sein. Die Programmiersoftware ist auch herunterzuladen. Mit ihr kann man die Buskonfiguration auch offline als Gerätebaum zusammenklicken, Gruppen und Funktionen festlegen. Scheint recht einfach.
Info schrieb: > Bei einer Inbetriebnahme/Änderung liegen 230 Euro Anschaffungskosten > vermutlich über den Kosten für die Dienstleistung - wie > kompliziert/aufwendig ist denn die Einarbeitung/Konfiguration (einen > Türkontakt (BEM) auf zwei neuen Innensprechstellen anzeigen)? Das ist klar, aber wenn man öfter Siedleanlagen machen will, Gruppen braucht und ein Anbindung an eine Telefonanlage zu machen hat, kommt man nicht drum rum. Je nach Größe der Anlage geht das Programmieren schneller oder langsamer. Der Siedle Bus ist kein Highspeedbus. Info schrieb: > Die Firmware als hex gibt es bei Siedle zum Download. > > Der Adapter ist gar nicht direkt für den "InHome-Bus", sondern für den > "Sa/Sb Backbone" zwischen BNGs. Ich habe mit dem PRI und der Zusatzplatine letztens eine Einstranganlage programmiert. Zwei Aussenstation, Zwei Innenstationen und noch ein paar Zusatzmodule. Mit Sa/Sb koppelt man mehrere Stränge, die Adapterplatine im NG koppelt in dem Fall auf Ta/Tb, der den Strang bedient. > >> Der Sa-/Sb-Bus muss beim Anschluss eines PRI 602-...USB eine Stromversorgung > besitzen. Entweder separat über ein BVG650-... oder über eine > Zubehör-Leiterplatte > ZBVG 650-... (gesteckt innerhalb BNG/BVNG 650) > >> Achtung: Die Zubehör-Leiterplatte ZBVG 650-... bzw. das BVG650-... darf > innerhalb einer Mehrstrang-Anlage nur einmal(!) vorhanden sein. Halt immer in dem Strang der gerade programmiert werden soll. > > Die Programmiersoftware ist auch herunterzuladen. Mit ihr kann man die > Buskonfiguration auch offline als Gerätebaum zusammenklicken, Gruppen > und Funktionen festlegen. Scheint recht einfach. Ja man kann offline bissel klicken, allerdings eher zum spielen. Ich würde die Anlage installieren, auslesen, die Module identifizieren und benennen und dann programmieren
Hallo zusammen, habe hier im Haus auch eine Siedle-Anlage und würde gerne auch auf VoIP & Co. umstellen um es in meine Heimautomatisierung mit FHEM integrieren zu können. Soweit ich das hier lesen konnte, seid ihr noch nicht so weit gekommen oder? Wäre es nicht eventuell sinnvoll, sich irgendwo mit ein paar Drähten an die Sprechanlage zu hängen? p7
Manuel B. schrieb: > Hallo zusammen, > > habe hier im Haus auch eine Siedle-Anlage und würde gerne auch auf VoIP > & Co. umstellen um es in meine Heimautomatisierung mit FHEM integrieren > zu können. Soweit ich das hier lesen konnte, seid ihr noch nicht so weit > gekommen oder? Wäre es nicht eventuell sinnvoll, sich irgendwo mit ein > paar Drähten an die Sprechanlage zu hängen? > > p7 Das hat man doch gemacht, man hat sich an den digitalen BUS von Siedle gehängt und hat versucht da etwas verwertbares rauszubekommen. Keine Ahnung was Du konkret vor hast. Zur Anbinungen an Telefonsysteme nimmt man bei Siedle das DCA über einen entsprechenden Adapter hat man dann auch VoIP. Will man klingeln signalisieren verwendet man entweder die Relaiserweiterung für's DCA oder ein Bus-Schaltmodul. Den Türöffner kann man koventionell mit einem Relais mit zwei Schließern realisieren. Bei BUS-Anlagen tut man sich mit dem Programmierkabel leichter. Bzw wenn man mit Gruppen arbeiten will / muss kommt man nicht drum herum.
Moin ihr lieben, also nach langer Zeit konnte ich mich dem Thema nun auch wieder widmen. Bei mir ist das alles etwas anders als im Eingangspost beschrieben. Der Ruhepegel liegt bei 30V. Drückt man die Klingel so kommen direkt die 32 Bit, geführt von einer Null die auch so ne Art Sync sein könnte. Die Dauer eines Bits beträgt 2ms. Am Ende folgt noch so ne "halbe" Eins von ca 1ms. Hab die Emmitter-Schaltung aus Connys zweitem Post kopiert, aber nur dem Teil mit Transistor Q3. Das ganze funktioniert bei mir wunderbar. Hab die Bitfolge in ein Array geschrieben und sobald der Pegel auf der Leitung abfällt liest der Controller 32 Bit a 2ms ein. Wenn die Folge passt wirds Klingeln ausgelöst. Den Türöffner muss ich nun als nächstes machen. Ist aber auf Bus das gleiche Prinzip, hab die Bitfolge dazu auch schon ausgelesen Im Bild seht ihr meine Oszillographie des Klingelbefehls. Gruß Eddie
Hallo ihr lieben, nach ewigem rumprobieren bin ich nun leider auch nicht weitergekommen. Grundsätzlich lässt sich auch bei mir keine gesonderte Initialisierung der Kommunikation feststellen. Stattdessen schickt das BTS-850 direkt die 32 Bit gefolgt von dem "halben" Bit das ich im Post zuvor schon erwähnt hab. Auch die Rampe die Daniel P. oben beschrieben hat ist bei mir vorhanden, sie hebt die Spannung um ca. 1 Volt an. Weiterhin ist zu sehen dass der Bus nach Ende der Kommunikation für einige ms auf 29V hochgeht. Ansonsten ist er bei 27,5V und nicht auf 30V wie ich oben drüber geschrieben hab. Zur Strommessung nun hab auch ich einen Shunt in die Masseleitung geschaltet und die Spannung drüber gemessen. Allerdings hab ich 10 Ohm genommen. Folgende Ströme hab ich gemessen: High-Byte: 38,4mA @7,6V Low-Byte: 47,2mA @ 2V Ich hab nun Connys Schaltung mit Q4 und Q5 nachgebaut und folgende Widerstandswerte errechnet: High: 7,6V/38,4mA = 198 Ohm Low: 2V/47,2mA = 42 Ohm Lege ich die 42 Ohm aber nun auf den Bus um eine Null zu schreiben, so zieht das Netzteil auch bei mir die Spannung sofort wieder hoch. Das Netzteil regelt nach bereits 25µs zurück also lange bevor die ersten 2ms für das erste Bit um sind und auch noch lange bevor die 150µs für die kleine Rampe um sind. Die Zeit die das BTS-850 braucht um den Bus runter zu ziehen ist übrigens 50µs, also doppelt so lange wie das Netzteil sich Zeit nmmt um bei meiner Schaltung wieder hoch zu ziehen. Angenommen der Stromfluss ist also falsch um die Null zu schreiben, so müsste das Netzteil ja zumindest die 50µs warten bevor es dagegen regelt. Hat das von euch mittlerweile jemand lösen können? Die 1000 Ohm parallel zu den 50 Ohm habe ich auch ohne Erfolg versucht. Aber das erschließt sich mir auch nicht so ganz, da der Gesamtwiderstand damit ja grad mal 47 Ohm abfällt wenn man die beiden Werte parallel schaltet. Gruß Eddie
:
Bearbeitet durch User
P.S.: Wenn ich die Masseklemme des Oszi mal weglasse sehe ich auf beiden Leitungen statt der Gleichspannung einen Sinus von 20V und 50HZ. Weiß jemand was es damit auf sich hat?
Hello all, mich würde interessieren, wie das Video- und Audiosignal über den in-home-bus übertragen wird: analog (Trägermodulation?) oder digital (Kodierung? Protokoll?). Habe vergeblich die online Siedle-Dokumentation untersucht bzw. auf dem Net gesucht. Weiss jemand Bescheid?
Hello Conny, Habe nicht vergessen, "Dankeschön" für die Info zu sagen; Habe nur gehofft, ich könnte diese Information direkt von Siedle bekommen, und so eine Anfrage dort abgesetzt. NAch lange hin und her, war ich gebounced, weil sie "Informationen dieser Art nicht veröffentlichen" und " es sich um "Betriebsgeheimnisse" handelt". Somit verstehe ich nun auch den Sinn eures Forums: die Funktionsweise des in-home-bus durch try-and-error selber herauszufinden, da aus dem Hause Siedle nichts zu erfahren ist! Gratuliere alle Beteiligten. Macht munter weiter! :) rgds / john
Hey! Hat es mittlerweile jemand geschafft, mit einem eigenen Client Klingeln zu erkennen und den Türöffner bei dem aktuellen BNG 650-0 auszulösen und die Anlage so "smart" zu machen? Wie sieht es mit VoIP aus? Mittlerweile gibt es ja nello.io - die das ganze universal für die meisten Gegensprechanlagen geschafft haben. Allerdings mit Cloud-Zwang und eingeschränktem Funktionsumfang. Würde das ganze gerne unabhängig davon umsetzen.
John N. schrieb: > Hello Conny, > > Habe nicht vergessen, "Dankeschön" für die Info zu sagen; Habe nur > gehofft, ich könnte diese Information direkt von Siedle bekommen, und so > eine Anfrage dort abgesetzt. NAch lange hin und her, war ich gebounced, > weil sie "Informationen dieser Art nicht veröffentlichen" und " es sich > um "Betriebsgeheimnisse" handelt". > Somit verstehe ich nun auch den Sinn eures Forums: die Funktionsweise > des in-home-bus durch try-and-error selber herauszufinden, da aus dem > Hause Siedle nichts zu erfahren ist! Gratuliere alle Beteiligten. Macht > munter weiter! :) > > rgds / john Ich habe nie bei Siedle angefragt, war mir aber klar, dass die das als „Intellectual Property“ sehen. Die wollen ja Geräte verkaufen. Während heute alle Cloud Services verkaufen wollen :-) Freue mich auch sehr darüber, dass heutzutage derlei Dinge in Foren wie diesen Reverse Engineered und Open gemacht werden :-)
banklooker schrieb: > Hey! > Hat es mittlerweile jemand geschafft, mit einem eigenen Client Klingeln > zu erkennen und den Türöffner bei dem aktuellen BNG 650-0 auszulösen und > die Anlage so "smart" zu machen? > Wie sieht es mit VoIP aus? > > Mittlerweile gibt es ja nello.io - die das ganze universal für die > meisten Gegensprechanlagen geschafft haben. > Allerdings mit Cloud-Zwang und eingeschränktem Funktionsumfang. Würde > das ganze gerne unabhängig davon umsetzen. Die Platine müsste man mal dokumentieren, lässt sich bestimmt was von lernen.
Meinst du konkret welche Chips verwendet werden? Leiterbahnen könnte schwer werden, ich nehme an, dass die Multilayer sind.
banklooker schrieb: > Meinst du konkret welche Chips verwendet werden? > Leiterbahnen könnte schwer werden, ich nehme an, dass die Multilayer > sind. Hauptsächlich Ein/Ausgang von/nach der Anlage, der uC und Wifi ist ja erstmal uninteressant.
banklooker schrieb: > Mittlerweile gibt es ja nello.io - die das ganze universal für die > meisten Gegensprechanlagen geschafft haben. Sicher das das für BUS-Sprechanlagen funktioniert? Hier denen ihre Montage- und Installationsanleitung: https://www.nello.io/20171117_DYI%20Manual_DE.pdf
Hab grade gesehen, das ganze scheint auch an BUS-Anlagen zu funktionieren. Die machen das lt. Vidiotutorial über einen Lernprozess. Also Klingeln wenn das Gerät einen aufordert, oder den TÖ betätigen wenn es gewünscht wird und das Gerät schneidet dann die Telegramme mit um sie selbst verwenden zu könnne. Man muss sagen, die haben sich echt Gedanken gemacht, zur Datenübertragung in Ihr gerät verwenden die das Display des Smartphones, ähnlich wie beim Chip-TAN-Verfahren.
Sven L. schrieb: > Hab grade gesehen, das ganze scheint auch an BUS-Anlagen zu > funktionieren. > > Die machen das lt. Vidiotutorial über einen Lernprozess. > Also Klingeln wenn das Gerät einen aufordert, oder den TÖ betätigen wenn > es gewünscht wird und das Gerät schneidet dann die Telegramme mit um sie > selbst verwenden zu könnne. > > Man muss sagen, die haben sich echt Gedanken gemacht, zur > Datenübertragung in Ihr gerät verwenden die das Display des Smartphones, > ähnlich wie beim Chip-TAN-Verfahren. Die Anlagen werden alle ähnlich funktionieren: 2 Bus-Drähte, die sowohl Betriebsspannung als auch Befehle übermitteln. Und das Audio-Signal drauf, das immer in dem Frequenzbereich hochohmig terminiert sein muss. Manchmal gibt es noch Video auf den Drähten, höhere Frequenz als beim Audio. Für die Befehle Bus -> Client gibt's ja nur die Möglichkeit das über einen "Hub" auf der Betriebsspannung zu machen und der kann nur davon nach unten gehen. Es braucht dann noch eine Init-Sequenz (Absenken von VCC auf X, dann Bits auf Y Volt). Und sendeseitig Client -> Bus geht es auch nur so, dass der Bus von niederohmig auf hochohmig schaltet. Also muss der Client dem Bus mitteilen: ich möchte jetzt senden. Also mal an der Leitung ziehen = hoher Strom. Dann schaltet der Bus um auf hochohmig und der Client kann als Spannungsteiler Bits wackeln. Wenn man das zugrundelegt, dann unterscheiden sich eigentlich nur noch konkrete Spannungen und Bitlängen, Anzahl Bits. Und selbst bei den Spannungen gibt es nicht viel Spielraum - "lange" Busse brauchen eine hohe Spannung, da findet man eigentlich immer 20-30 Volt. Und wenn man zwei Bit Levels dazwischen haben will, dann gibt es da auch nicht viel, muss ja unteres Drittel und oberes Drittel sein. Dann bleiben noch Bitlängen und Anzahl Bits - das kann man beim Lernen herausfinden. Für die Bitlänge gibt es auch nur einen vernünftigen Bereich, von ein paar 100 "Baud" bis wenige 1.000. Vermutlich ist genau das Konzept das Limit von nello - Anlagen, die es so machen sind abgedeckt. Mich hätte jetzt mal interessiert, was sich bei denen zwischen uC und dem Bus befindet. Bei mir ist das ja ein Gyrator zum Entkoppeln vom Audio-Signal und Transistoren zum Bits wackeln. Das wäre spannend, wie die das machen.
:
Bearbeitet durch User
Danke dir Conny - so sieht beim nello die Initialisierung aus - nicht so rund wie beim BTS selbst, aber funktioniert. Vielleicht hilft das ja schon weiter. Beim Bestimmen der Teile bin ich leider nicht so erfahren - kann ich mir aber mal als nächstes anschauen.
Ich habe keine Ahnung was genau da passiert, aber ich habe einfach mal 1k (blau) und 47 Ohm (lila) Last in verschiedenen Kombinationen geschaltet. Besonders interessant - schaltet man im Abstand von 1 ms die 1k bei dauerhaft aktivierten 47 Ohm Last, senkt das Netzteil die Spannung. Das konnte ich allerdings nur bei dieser Frequenz feststellen (siehe 1. Bild). Schaltet man nur die 47 Ohm Last in der selben Frequenz, tritt ein ähnliches Verhalten auf (siehe 2. Bild). Bei einer anderen Frequenz verschwindet das Bild. Habt ihr eine Idee, was das bedeutet? Lg
Oskar N. schrieb: > Ich habe keine Ahnung was genau da passiert, aber ich habe einfach mal > 1k (blau) und 47 Ohm (lila) Last in verschiedenen Kombinationen > geschaltet. > Besonders interessant - schaltet man im Abstand von 1 ms die 1k bei > dauerhaft aktivierten 47 Ohm Last, senkt das Netzteil die Spannung. Das > konnte ich allerdings nur bei dieser Frequenz feststellen (siehe 1. > Bild). > > Schaltet man nur die 47 Ohm Last in der selben Frequenz, tritt ein > ähnliches Verhalten auf (siehe 2. Bild). > > Bei einer anderen Frequenz verschwindet das Bild. Hi Oscar, das ist genau, wie der Bus funktioniert: es gibt ein Ereignis, das den Bus Controller dazu veranlasst in den Datenübertragungsmodus zu schalten. Das Ereignis ist ein bestimmter Strom oder Stromverlauf - genau das hast Du mit den Widerständen gemacht. Man muss also zum initiieren einer Übertragung mit einem bestimmten Widerstand "an der Leitung ziehen" und dann im exakten Timing die Bits übertragen. Wenn man nicht im Timing ist, dann zieht der Bus die Spannung gleich wieder hoch, das sieht man bei Dir auch. Soviel ich mich erinnere muss man eine Millisekunde oder kürzer, vielleicht auch nur 0,1s so an der Leitung ziehen und dann die Bits übertragen. Du könntest ja mal versuchen 1ms mit beiden Widerständen und dann im 2ms Takt nur mit dem 50 Ohm zu wackeln, 2ms ist die Bitlänge. Dann sollte nach 32 Bit der Bus wieder hochziehen. Wenn Du das geschafft hast, dann hast die Sequenz zur Übertragung gefunden, dann musst Dir nur noch Befehle vom Bus aufzeichnen, die kannst dann wieder abspielen.
Danke dir für die Tipps - werde ich mal weiter versuchen! Bin in dem Thema noch neu aber scheine ja auf dem richtigen Weg zu sein. Ein Datenwort erkennen klappt bereits via Spannungsteiler und ADC. Melde mich sobald ich weiter komme.
Oben ist Code für das Senden, der sieht schon ganz gut aus: Beitrag "Re: Siedle In-Home-Bus Protokoll"
Super danke, ich probiere mal weiter. Kannst du mal die Schaltung des Gyrators mit verwendeten Bauteilen posten? Dann kann ich mir die bereits besorgen :) Danke dir!
Klappt leider nicht mit dem Timing, der Bus senkt die Spannung einfach nicht oder zum falschen Zeitpunkt ab... ähnlich wie in den Bildern oben.
Oskar N. schrieb: > Klappt leider nicht mit dem Timing, der Bus senkt die Spannung einfach > nicht oder zum falschen Zeitpunkt ab... ähnlich wie in den Bildern oben. Hast Du schon einen Kondensator dran? Oder läuft noch von separatem Netzteil? Der unterläuft nämlich den Stromimpuls indem er puffert. Das ist der zweite Zweck des Gyrators, einmal ist er hochohmig für Audio/Video auf dem Bus, zum anderen blockt er die Wirkung des Kondensators auch dafür. Und da vermute ich lag mein letztes Problem, dass der Gyrator hier noch nicht ausreichend blockte, d.h. seine „virtuelle“ Induktivität muss noch höher sein. Kann mich erinnern, dass es bei mir separat versorgt funktioniert hatte und dann nicht mehr als ich es auf die Versorgung vom Bus umstellte.
Ich habe durchgehend eine separate Stromversorgung um das Problem zu verhindern :) Leider ohne Erfolg...
Oskar N. schrieb: > Ich habe durchgehend eine separate Stromversorgung um das Problem zu > verhindern :) > Leider ohne Erfolg... Dann ist es erstmal noch eine Timing-Geschichte, mit welchem Strom man wielange ziehen muss. Vielleicht mal systematisch eine Tabelle durch 100us Schritte in der Zeit und eine Staffel von Widerständen/Strömen, von 100mA bis 1A. Immer kurzer Impuls und dann ein paar ms warten. Und dann ggf 2-stufig, 1A zuerst, 20mA danach. Und so weiter.
Ich habe noch nicht ganz verstanden, ob die Übertragung nun mit den 50 Ohm oder mit den 1kOhm initialisiert wird. Gibt im Laufe des Threads ja beide Varianten - mit welcher hattest du damals das Telefon zum Klingeln gebracht und wieso konntest du das danach nicht mehr reproduzieren? Lg
Oskar N. schrieb: > Ich habe noch nicht ganz verstanden, ob die Übertragung nun mit den 50 > Ohm oder mit den 1kOhm initialisiert wird. Gibt im Laufe des Threads ja > beide Varianten - mit welcher hattest du damals das Telefon zum Klingeln > gebracht und wieso konntest du das danach nicht mehr reproduzieren? Das weiß ich nicht mehr so genau :-) Ich habe das vor zwei Jahren mit dem Oszi gemessen und ich glaube ich habe es nicht gespeichert oder dokumentiert. Im Prinzip habe ich auch einfach den Strom über einen Shunt gemessen - 10 Ohm oder so? Und mir dann die Ströme und Widerstände rausgerechnet. Und da waren eben 3 Levels, unbelastet, Bit High, Bit Low. Rein von der Logik her muss man dem Bus anfangs signalisieren, dass man senden will. Der schaltet den Modus um und dann wackelt man die Bits. Und dass ich noch da bin muss er wissen, also gibt es einen Strom als Basislevel und einen zweiten für High oder Low, wie auch immer die Anlage das sieht. Da die Spannung so klar sichtbar ist müsste es eigentlich so sein, dass die Anlage auf Constant Current schaltet und damit mit der Variation des Widerstandes sich verschiedene Spannungen auf dem Bus ergeben. Wenn nun nach dem initialen Wackeln am Bus als Signal die Spannung runtergeht (Umschaltung von CV nach CC) und dann für die Bits hoch, dann ist der Basislevel ein niedriger Widerstand beim Client (hohe Spannung an der Quelle, niedriger Abfall am Sender / Client) und das Bit ein hoher Widerstand am Client (niedrige Spannung an der Quelle, hohe am Client). Also wäre der Basislevel die 50 Ohm (kleiner Abfall bei mir) und das Bit die 2000 Ohm. Jetzt kann man mal weiterdenken, was der Buscontroller braucht um sicher zu wissen, dass jetzt was passieren soll. Aus dem Bauch würde ich sagen, er braucht einen Strom-Surge, der muss aber nicht lange sein, nur eindeutig. Wenn der 30V auf den Bus gibt, dann sieht er bei 2000 Ohm 15mA, das ist nicht besonders viel. Könnte mir vorstellen, dass bei vielen Clients if soviel an zufälliger Schwankung vorkommt. Bei 50 Ohm sind es 600mA, das ist absolut eindeutig. Und für 1ms trotzdem keine hohe Belastung. Ich kann mich vage erinnern, dass das Init 1ms oder noch weniger waren. Das würde bedeuten: für 0,1ms oder 1ms mit 50 Ohm oder 2000+50 und dann zwischen 50 und 2000 wackeln. Deshalb ist es m.E. einfacher die 2000 immer eingeschaltet zu lassen, weil man dann nur die 50 aus und einschalten muss. Bin mir aber noch nie sicher gewesen, ob es wirklich 2 Widerstände braucht. Habe das mal von der Tatsache abgeleitet, dass 3 Spannungslevels vorkommen. Es könnte aber auch sein, dass es nur 50 Ohm sind (der 3V Pegel am Client) und der hohe Level von 17V schon vom Bus kommt, durch die Umschaltung. Wenn man jetzt selbst so einen Bus konstruieren würde, dann wäre jetzt die Frage, wie ich die Übertragung absichere, brauche ich dazu 2 Levels beim Client? Oder kann ich mich einfach aufs Bit-Timing verlassen? Zwei Levels wäre eine Art „Carrier“ plus Bits separat (FSK-Funk). Ohne wäre es wie On-Off ASK beim Funk. Aber eigentlich reicht auf einem Kabel ohne Kollision bzw Rauschen eigentlich „On-Off“ aus, oder? Ich weiß ja spätestens, wenn das Bit-Timing schief geht, dass das nicht passt und das darf ruhig auch spätestens nach 32 Bit (also nach der ganzen Message) so sein. Ich muss es nicht unbedingt früher wissen. Alternative Theorie: die Init-Sequenz braucht 2 Widerstände. Fällt mir jetzt aber nix ein, warum das Vorteile brächte. Kann man auch mit dem Timing machen.
die spannungspegel sind eher 2t rangig .... bei einem Bus der unbekannt lang/verzweigt ist und eine zahl X Busteilnehmer besitzen kann ... sind die Pegel nicht egal , richtig aber vielmehr wird hier das signal in der zeit codiert.. deswegen funktioniert auch der nello... die meisten bussysteme arbeiten fast so was macht denn der nello ... er sampled den bus ( laut anleitung ) und gibt das am ausgang quasi wieder raus. dabei wird er sicherlich den SPannungspegel nicht 100% treffen können... aber er wird in einem bereich runtergezogen wo die meisten BUS anlagen das als gültiges Signal erkennen.
Mal die Constant Current Überlegung weiter durchgezogen. 3 Volt und 50 Ohm ergeben 60mA. 17V und 1000 Ohm ergeben 17mA. Das macht jetzt irgendwie nicht so viel Sinn. Ich würde dann erwarten, dass der Strom derselbe ist. (Deshalb habe ich hier schon mal 1000 statt 2000 genommen). Auf der anderen Seite könnte es auch sein, dass die Widerstände nicht stimmen. Das wäre übrigens ein Grund für den 2. Widerstand, die 1000-2000 Ohm, dass der benötigt wird damit der Strom weiterfliesst. Mal umgekehrt gedacht. Wenn ich zwei R suche, die denselben Strom leiten in dieser Größenordnung, dann komme ich auf 150 Ohm (20mA bei 3V) und 820 Ohm (21mA bei 17V). Das würde bedeuten die Stromschleife macht konstante 20mA und der Spannungsteiler aus Quelle und Client macht bei 3 oder 17V am Client-Widerstand. Erscheint mir sehr logisch :-). Und strombasierte Busse arbeiten mit 20mA. Theoretisch müsste ich in meinen Oszi Screenshots dann finden, dass die untere Spannung meines Signals niedriger ist als die vom Bus. Mal schauen, ob ich die Screenshots noch finde. Oder hab ich die mal hier gepostet? Da fällt mir noch was ein. Am Bus hängen weitere Geräte, die alle sicher ein paar 10mA brauchen. Dann müssten es mehr als 20mA sein, sonst geht das unter. Dann müssten es sehr viel mehr sein, 100mA oder 250mA?
Das Spielchen nochmal mit 60mA gerechnet ergibt 50 Ohm (60mA bei 3V) und 250 Ohm (68mA bei 17V). Bei 100mA haben wir 30 Ohm (100mA / 3V) und 180 Ohm (94mA / 17V). Bei 250mA 12 und 68 Ohm. Das macht eigentlich alles noch einigermaßen Sinn. Es wäre wert mal die Kombi 30/180 Ohm zu testen.
Conny G. schrieb: Habe gerade nochmal meinen Eingangspost gelesen: > Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht > 27V). > Durch einen ersten Impuls auf die Leitung wird die Bussteuerung > vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für > 11ms auf 1k Ohm Last gelegt. > Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen, > etwa 1ms pro Bit insgesamt 32 Bit. > Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller > automatisch auf Datentransfer und zieht die Spannung auf 3V (?). > Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine > Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es > erfolgreich geklingelt. > Wenn das Timing nicht passt zieht der Controller auch recht schnell die > Spannung wieder hoch, sie hält also nur solange unten wie man sendet. > Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch. Also 11ms an 1k und dann auf 50Ohm und die Bits mit 1ms wackeln. Also könnte man mal probieren: 11ms 1k 1ms 50 Ohm 1ms 1k 1ms 50 Ohm Alternativ das mit den Widerständen für 100mA oben.
Bekomme da gerade richtig Lust auch weiter zu testen. Leider habe ich damals meine Testschaltung ziemlich verhunzt, hatte schon eine Platine dafür gemacht und 3x was umgebaut und drangebaut. Das muss ich erstmal aufräumen bevor ich die wieder verwenden kann. Oder ich baue es nochmal auf dem Breadboard. Beides braucht aber erstmal 2-3h bis wieder was geht. So muss ich mich gerade noch auf „laut denken“ beschränken :-)
https://www.mikrocontroller.net/attachment/337448/DSC_0319.JPG hier ist die anfangs erwähnte startbedingung nicht zu sehen. deswegen Conny G. schrieb: > Mal die Constant Current Überlegung weiter durchgezogen. > 3 Volt und 50 Ohm ergeben 60mA. > 17V und 1000 Ohm ergeben 17mA. > Das macht jetzt irgendwie nicht so viel Sinn. Ich würde dann erwarten, > dass der Strom derselbe ist. (Deshalb habe ich hier schon mal 1000 statt > 2000 genommen). > Auf der anderen Seite könnte es auch sein, dass die Widerstände nicht > stimmen. deswegen der text von mir wenn der strom bei die stimmt .. und man hat einen großen schleifenwiderstand( zB 15-20Ohm) ... stimmt der strom auf der anderen seite nicht mehr. Das muss man eben umgehen.
Suche gerade nach alten Screenshots, hier einer wo mit deinem Debug-Pin die "Sample-Zeitpunkte" eingeblendet sind. Daraus sieht man, dass die Gesamtübertragung 64ms für 32 Bit sind, also 2ms pro Bit.
Das habe ich probiert, (blau 1k, lila 50) - leider ohne Reaktion am Bus.
:
Bearbeitet durch User
ähm ja schrieb: > https://www.mikrocontroller.net/attachment/337448/DSC_0319.JPG > > hier ist die anfangs erwähnte startbedingung nicht zu sehen. > deswegen > > Conny G. schrieb: >> Mal die Constant Current Überlegung weiter durchgezogen. >> 3 Volt und 50 Ohm ergeben 60mA. >> 17V und 1000 Ohm ergeben 17mA. >> Das macht jetzt irgendwie nicht so viel Sinn. Ich würde dann erwarten, >> dass der Strom derselbe ist. (Deshalb habe ich hier schon mal 1000 statt >> 2000 genommen). >> Auf der anderen Seite könnte es auch sein, dass die Widerstände nicht >> stimmen. > > deswegen der text von mir > wenn der strom bei die stimmt .. und man hat einen großen > schleifenwiderstand( zB 15-20Ohm) ... stimmt der strom auf der anderen > seite nicht mehr. > Das muss man eben umgehen. Ich bin nicht ganz sicher, ob ich verstehe was Du meinst. Mir ist beim Nachdenken klar geworden, dass der Bus auf 2 Arten funktionieren könnte: Das Netzteil liefert einfach immer 20V (real bei mir, 27 Volt nominell) und misst den Strom. Dann bleibt aber die Spannung bei 20V, auch während der Bit-Übertragung. Das wäre ein "Constant Voltage" Modus, die Spannung bleibt gleich. Oder das Netzteil schaltet um auf konstanten Strom, das gibt's ja, z.b. für die Versorgung von LEDs. Da spielt die Spannung nur sekundäre Rolle, es wird nur der Strom geregelt. Dann folgt die Spannung was auch immer mit dem Strom passiert. Was mich in der Überlegung Richtung CC (=Constant Current) treibt ist diese Tatsache, dass man ein richtiges "Umschalten" des Bus sieht. Solange der Bus nicht "umschaltet" sieht man das Bits wackeln so gut wie nicht und das liegt daran, dass das Netzteil natürlich einfach mehr Strom nachliefert, wenn die Last steigt. Das ist genau das Verhalten eines CV (Cosntant Voltage) Netzteils. Aber für die Übertragung ist die Spannung auf dem Bus so klar, dass ich zu der Meinung gekommen bin, dass das nur bei CC möglich ist.
Oskar N. schrieb: > Das habe ich probiert, (blau 1k, lila 50) - leider ohne Reaktion am Bus. Drehe es mal um und verwende beide gleichzeitig (heisst 1k immer an) 10ms 1k + 50k 2ms 1k 2ms 1k + 50k usw.
Ah, das hier müsste eine Stromm-Messung mit Shunt sein. Weiss leider nicht mehr was der Messwiderstand war. Das Peak ist 400mV, wenn es 1 Ohm waren, dann sind das 400mA. Der Strom während der Übertragung wäre dann 120-180mA. Der laufende Stromverbrauch wäre dann 20mA. Ist das möglich, dass alle mind. 4 Geräte am Bus insgesamt 20mA benötigen, im Standby? Ist denkbar. Und man sieht, dass vorne das Peak Bruchteile einer Millisekunde sind.
Conny G. schrieb: > er laufende Stromverbrauch wäre dann 20mA. Ist das möglich, dass alle > mind. 4 Geräte am Bus insgesamt 20mA benötigen, im Standby? Ist denkbar. deutlich weniger
ähm ja schrieb: > Conny G. schrieb: >> er laufende Stromverbrauch wäre dann 20mA. Ist das möglich, dass alle >> mind. 4 Geräte am Bus insgesamt 20mA benötigen, im Standby? Ist denkbar. > > deutlich weniger Außerdem hab ich falsch gedacht: mein Shunt hing ja an einem Client und die sind alle parallel am Bus. Also sehe ich nur den einen Strom von einem Gerät. Demnach braucht ein Client 20mA.
Conny G. schrieb: > ähm ja schrieb: >> https://www.mikrocontroller.net/attachment/337448/DSC_0319.JPG Hey, das ist ja mein Bild, von meinem antiquarischen Röhren-Oskar. Ich fühl mich geehrt :) Bei mir war damals auch das Problem dass ich den Bus nicht abgesenkt bekommen hab. Ich habe auch den Öffnen Befehl der original Türstation mitgeschnitten. Bei mir gabs die von Conny beschriebene Init Sequenz nicht. Das Wackeln am Bus mit zu und wegschalten eines Widerstands hab ich auch in diversesten Variationen versucht, leider ohne Erfolg. Evtl. gibts ja auch versch. Varianten von Geräten (z.B. durch versch. Firmwarestände)? Lg
:
Bearbeitet durch User
Das ist ungünstig das alles nur aus der Erinnerung wiederzugeben. Sehe gerade in dem oben eingefügten Oszibild, dass die Spannungen der Bits 2 und 7v sind. Die 17v waren meine Schwelle die Übertragung an sich zu detektieren. Ich glaube ich muss mir jetzt einfach wieder die Schaltung auf dem Breadboard aufbauen und testen, sonst wird das nix.
Conny G. schrieb: > Das ist ungünstig das alles nur aus der Erinnerung wiederzugeben. > Sehe gerade in dem oben eingefügten Oszibild, dass die Spannungen der > Bits 2 und 7v sind. Die 17v waren meine Schwelle die Übertragung an sich > zu detektieren. > Ich glaube ich muss mir jetzt einfach wieder die Schaltung auf dem > Breadboard aufbauen und testen, sonst wird das nix. Grad mal nachgerechnet. Wenn die Ströme während der Übertragung 170/120mA sind und die Spannungen 2/7V ergeben sich Widerstände von 12 und 58 Ohm. Und das ist sehr nah an der Rechnung oben von 250mA Konstantstrom für den Bus. Damit wären 50/1000 Ohm zu schwach und an oder über der Toleranzgrenze. Vielleicht war das auch der Grund, warum es bei mir dann nicht mehr ging, weil ich vorher einfach nur Glück hatte?
:
Bearbeitet durch User
Jetzt habt ihr mich angestiftet, jetzt will ich auch weitermachen :-) Hier mal die "Frankenstein-Platine" mit der ich früher getestet hatte. Ein paar Mal umgebaut und ergänzt. War jetzt weniger Aufwand mal einen "Sender" auf Breadboard aufzubauen als diese Platine zu fixen :-)
Ich habe mir für morgen mal eine Testreihe mit unterschiedlichen Belastungszeiten vorgenommen und dann einen Trigger auf das Bussignal zu setzen.
Hier ein paar Strom-Messungen über einen 10 Ohm Shunt. Strom_Start.jpg: der Anfang des Signals im 50uS Raster. Shunt-Spannung steigt in 100uS auf 4V, d.h. der Strom auf 400mA. Strom_500mV_10ms.jpg: das ganze Signal im Überblick aus Sicht Strom. Strom_100mV_10ms.jpg: vertikal gezoomt, auf 100mV Raster. Strom_100mV_1ms.jpg: der Start des Signals in 1ms horizontal. Strom_Ausschnitt: Zoom aus der Mitte des Signal.
Die benötigten Widerstandswerte hätten wir doch dann schonmal ablesbar auf der Platine, oder?
Hier ein paar Messungen aus Sicht der Spannung auf dem Bus: Überblick mit 20ms Raster, damit man auch sehen kann, ob vorher und nachher was passiert. Nochmal im 10ms Raster. Start des Signals, 100us. Anfang des Signals auf 2ms herausgezoomt. P.S. Der Bequemlichkeit halber einfach als Fotos, hab grad keinen USB-Stick zur Hand und nur am Schreibtisch ist das Rigol am Netzwerk, damit ich das Command Line Tool verwenden könnte....
A. H. schrieb: > Die benötigten Widerstandswerte hätten wir doch dann schonmal ablesbar > auf der Platine, oder? Mja, möglicherweise. Aber so hat es ja dann nicht (mehr) funktioniert.
Was sehen wir jetzt aus diesen Messungen? Am Anfang schiesst der Strom in 100us hoch auf 400mA. Wenn man sich das Strom-Bild genau ansieht, dann sieht man am Anfang einen kleinen Strom-Spike von 200mA für "ein paar uS", dann bremst der Bus erstmal, lässt den Strom aber dann hochlaufen auf 400mA, zieht ihn danach wieder runter auf 25mA. Bei der Spannung sieht man hier zum Start einen Drop von 20V auf 2,4V, dann einen Anstieg auf 9V. Der Drop scheint wohl synchron zu dem ersten Strom-Spike zu sein, der ein paar us lang ist. Auf dem Peak von Strom/Spannung des "Dreiecks" danach mal gerechnet: 9V/400mA ergibt einen Widerstand von 22 Ohm. Danach geht es sofort los mit dem Bits wackeln. Also nix mit 11ms Startimpuls vorher, eher 0,1ms. Die Bits haben eine Breite von 2ms. Sagen wir mal das erste Bit mit niedriger Spannung sei "Low". Dort haben wir einen Spannung von 2.4V und einen Strom von 30mA, ergibt einen Widerstand von 80 Ohm. Das nächste Bit sei "High". Spannung 7.5V, Strom 25mA, der Widerstand ist dann 300 Ohm. Was schliessen wir daraus? 0,1ms Spike am Anfang, mit 22 Ohm/400mA - das Startsignal? Bits wackeln mit 25/30mA bzw. 2.5V/7.5V. Gerade das die Ströme der Bits doch recht eng zusammen sind scheint mir zu bestätigen, dass der Bus während des Senden eines Clients im Constant Current Mode arbeitet, also dass der Strom bei ca. 25/30mA eingestellt wird und die Spannungen gemessen werden. Dafür spricht m.E. auch, dass man am Anfang jedes Bits einen hohen Spike sieht, der wahrscheinlich von der Regelkurve des Stromreglers im Busmaster kommt. Wäre mal interessant das nochmal zu zoomen, was da genau passiert am Anfang eines Bit. Unklar ist mir noch, was der 100us Anstieg von Strom und Spannung am Anfang des Signals genau zu bedeuten haben. Oder ist das auch die Regelkurve des Stromreglers?
:
Bearbeitet durch User
Der Anfang eines Bit herausgezoomt: Wechsel von niedrigem Strom auf hohen Strom, also von höherem Widerstand auf niedrigeren, also auch von der Spannung her gesehen von High auf Low. Für mich sieht das aus wie eine Regelkurve eines Stromreglers :-) Er reagiert in 1us. Da könnte man ja mal nachrechnen. Vorher hatten wir High, also 7.5V / 25mA, bei einem Widerstand von 300 Ohm. Der Spike geht nun auf 1V, was 100mA entspricht. Der Strom hat sich also zu vorher vervierfacht, der Widerstand geviertelt. Das wäre dann 300 Ohm / 4 = 75 Ohm. Das entspricht (fast) den 80 Ohm, die wir für "Low" ausgerechnet hatten. Also ist es so, der Bus regelt den Strom und gibt uns (und sich) eine Spannung. Unklar, warum er dann auf 30mA statt auf 25mA regelt, aber vielleicht kommen da auch noch andere Effekte mit rein, die der Controller nicht sieht in seinem Strom, den er rausgibt. Die anderen Geräte?
:
Bearbeitet durch User
Ansonsten habe ich mir gerade den ältesten Testcode angesehen, den ich fand. Und da gebe ich die 2k Widerstand auf den Bus für 11ms und dann 100 Ohm, mit denen ich die Bits wackle. Aus obigen Messungen und Erkenntnissen würde ich folgern, dass die 2k den Bus gar nicht interessieren, das sind ja nur 10mA. Also sah er nur die 2000+100k parallel (nach den 11ms) bzw. später habe ich 1000+50 verwendet. Die Parallelschaltung ausgerechnet ergibt 95 Ohm (2000+100) bzw. 47 Ohm (1000+50). Die 1000 und 50 sind näher an den oben ausgerechneten 300 und 80. Interessanterweise ergibt eine Parallelschaltung von 300 und 100 die 75 Ohm, die wir beim Overshoot am Bitanfang hatten. Was ich also jetzt versuchen würde ist zum Start die 300+100 einzuschalten und dann die 300 zu lassen und mit den 100 zu wackeln. Es gab bei diesen 100uS Start-Strom-Surge aber noch diesen hohen Strom-Peak von 400mA, den ich mir noch nicht erklären kann. Mal rechnen. 20V mit 75 Ohm ("alles ein"): ergibt 270 mA. 400mA bei 20V ergibt 50 Ohm. Gegen die gemessenen 9V Spannung zu diesem Zeitpunkt waren es ja sogar 22 Ohm. Ist da noch ein dritter Widerstand im Spiel?
Noch ein erster Versuch. Der Buscontroller scheint noch zu beginnen auf die Stromsteuerung umzustellen, aber er bricht es nach ein paar 10us ab. Bis 4,2V geht die Spannung runter, aber nicht auf die 2,4V, die es sein sollten. Da müsste man sich jetzt den Stromverlauf ansehen und vergleichen. Passiert das bei Euch, dass der Controller zumindest anfängt abzusenken?
Conny G. schrieb: > Passiert das bei Euch, dass der Controller zumindest anfängt abzusenken? Sieht schon so aus.
Moin zusammen! Phantastisch, dass es hier mal wieder weitergeht! Eure Messungen decken sich ja bestens mit dem, was ich letztes Jahr ermitteln konnte. Seid ihr sicher, dass es sich beim "initialen Absenken" der Busspannung wirklich um eine aktive Handlung des Buscontrollers handelt? Ich meine, da sind ja auch ein paar Meter Kabel dazwischen. Wenn der Client die hohe Last anlegt, wird es ja einen Moment dauern, bis der Controller den Spannungsabfall tatsächlich sieht (Leitungsinduktivität) und dann wieder versucht, die Spannung nachzuregeln. Ich vermute nach wie vor, dass die Lösung in dieser merkwürdigen Rampe liegt. Conny hatte die ja sehr ähnlich aufgezeichnet (Strom_start.jpg). Allerdings ist die Rampe bei mir fast 50µs länger (150µs Gesamtdauer). Vielleicht beeinflusst von der Leitungslänge? Man sieht, dass der Strom bis zu seinem Spitzenwert von ~700 mA ansteigt und danach steil abfällt. Das ist wohl der Moment, in dem der Buscontroller die Absenkung einleitet. Kann sich jemand erklären, wodurch sich diese Rampe ergibt? Ist diese rein durch die Leitungsinduktivitäten etc. zu erklären oder wird diese Rampe vielleicht aktiv vom Clienten erzeugt? Gruß Daniel
Daniel P. schrieb: > Kann sich jemand erklären, wodurch sich diese Rampe ergibt? Ist diese > rein durch die Leitungsinduktivitäten etc. zu erklären oder wird diese > Rampe vielleicht aktiv vom Clienten erzeugt? Mal ganz radikal gedacht: könnte das sogar ein Kurzschluss sein? Und die Rampe die Durchschaltkurve eines Transistors oder MOSFET? Mit sehr viel Phantasie könnte man in der von Dir aufgezeichneten Rampe ein Miller-Plateau sehen :-) Vielleicht ist da wirklich noch ein dritter Widerstand (10 Ohm) oder eben gar keiner, nur FET? Allerdings schaltet ein MOSFET richtig angesteuert in <1us, warum sollte das 100-150us dauern? Oder Leitungskapazität / Induktivität. Wieviel davon haben 30m Kabel, dann können wir nachrechnen. Ok, mal die nächstbesten Onlinerechner angeworfen für ein Kabel von 30m. https://www.allaboutcircuits.com/tools/parallel-wire-inductance-calculator/ 25uH Induktivität https://www.cirris.com/learning-center/calculators/174-cable-capacitance-calculator 5nF Kapazität http://chemandy.com/calculators/round-wire-resistance-calculator.htm Widerstand ca 50Ohm Das wäre eine Filter-Frequenz von 450kHz. Eine Zeitkonstante für LR von 0,5us. Eine Zeitkonstante für LC von 0,25us. M.e. kann das keine >100us erklären. Die Zeitkonstante würde allerdings höher, wenn man zB den Widerstand erhöht, müsste aber Faktor 100 sein, also 5kOhm.
Bei meinem Versuch von heute Nacht läuft doch nach einem ersten Peak nach unten die Spannung auch wieder hoch. Allerdings läuft sie ganz hoch bis 20V. Mit etwas Phantasie könnte man in dem Anstieg dieselbe Kurve sehen, die auch die kleine Rampe macht. Könnte das eine Art Impedanzmessung der Leitung sein? Wenn sie stimmt, wird nach 100us auf Konstantstrom umgestellt. Wenn sie nicht stimmt läuft der Bus einfach weiter auf Konstantspannung. Dann wäre die Frage, was wird gemessen, eine RC Zeitkonstante? Wie würden wir messen, was uns der Gegenüber für einen Widerstand gibt, wenn wir das wissen wollten? Können wir aus der Rampe ablesen, was der Bus will? Meine Kurve geht ja nicht weit genug nach unten. Dann wäre der Strom, den ich ziehe nicht hoch genug, der Widerstand muss runter. Ich glaube das ist es. Der Bus reagiert absichtlich träge auf eine sprunghafte Änderung des Stroms. Wenn nach 100us die Spannung unter einem bestimmten Wert liegt (der Strom über einem Wert liegt) wird die Strombegrenzung / der Konstantstrommodus eingeschaltet. Das wäre gleichzeitig ein Kurzschlussschutz für den Bus.
:
Bearbeitet durch User
Oskar N. schrieb: > So sieht es bei mir mit 300 (blau) und 100 (lila) Ohm aus. Da zappelt schon mehr auf dem Bus! Gehe mal mit dem kleinen Widerstand auf 50 Ohm oder sogar 10 Ohm runter. Meine Rechnung Leitungslänge und Widerstand hat vorhin übrigens gezeigt, dass das Kabel schon ein paar 10 Ohm Widerstand hat.
:
Bearbeitet durch User
Beitrag #5338288 wurde vom Autor gelöscht.
Oskar N. schrieb: > Schau mal bei 150 + 10 ohm!! Da passiert jetzt was! Irgendwas möchte der Controller aber noch sehen, mehr Strom geht ja nicht mehr. Noch 0 Ohm für 100us dazu? :-)
Oskar N. schrieb: > Schau mal bei 150 + 10 ohm!! Da passiert jetzt was! Irgendwas möchte der Controller aber noch sehen, mehr Strom geht ja nicht mehr. Noch 0 Ohm für 100us dazu? :-) Also 0 100 300?
Conny G. schrieb: > Oskar N. schrieb: >> Schau mal bei 150 + 10 ohm!! > > Da passiert jetzt was! > Irgendwas möchte der Controller aber noch sehen, mehr Strom geht ja > nicht mehr. > Noch 0 Ohm für 100us dazu? :-) > Also 0 100 300? Du meinst mit einem dritten Transistor?
Oskar N. schrieb: > Conny G. schrieb: >> Oskar N. schrieb: >>> Schau mal bei 150 + 10 ohm!! >> >> Da passiert jetzt was! >> Irgendwas möchte der Controller aber noch sehen, mehr Strom geht ja >> nicht mehr. >> Noch 0 Ohm für 100us dazu? :-) >> Also 0 100 300? > > Du meinst mit einem dritten Transistor? Ja, 100us 0 Ohm und dann Bits mit 100/300.
Oder möchte der Bus genaue Ströme sehen? Denn irgendwie versteht er uns noch nicht. Hieße dann wir müssten 2 Stromsenken dranhängen, 20 und 30mA. Und Startimpuls „Kurzschluss“? Das würde Sinn machen, weil das jegliche Unterschiede von verschiedenen Installationen ausgleichen würde. Und würde erklären, warum man in der Strommessung 2 Levels sieht. Wie groß ist eigentlich Deine Installation?
Von oben nach unten - Bus, 300 Ohm, 100 Ohm, 0 Ohm. Es macht einen Unterschied, ob ich nur 0 Ohm schalte oder ob ich 300 und 100 mitschalte. Ist vielleicht der Strom, der durch einen Transistor fließen kann, limititert? Verwende BC547.
Oskar N. schrieb: > Von oben nach unten - Bus, 300 Ohm, 100 Ohm, 0 Ohm. > Es macht einen Unterschied, ob ich nur 0 Ohm schalte oder ob ich 300 und > 100 mitschalte. > Ist vielleicht der Strom, der durch einen Transistor fließen kann, > limititert? Verwende BC547. Oh ja, das könnte sein! Was gibst Du ihm an Basisstrom?
Oskar N. schrieb: > 5V mit 4,7 kOhm Vorwiderstand wie in deiner originalen Schaltung. Das ist 1mA. Der kleinste 547A hat ein hfe von ab 100, dann wären das 100mA CE Strom. Aber üblicherweise hat man eher den B oder C und die haben eher 300 oder 600 Verstärkung. Aber trotzdem, gib ihm mal 1k oder 2,2k an der Basis.
:
Bearbeitet durch User
Conny G. schrieb: > Oder möchte der Bus genaue Ströme sehen? > Denn irgendwie versteht er uns noch nicht. > Hieße dann wir müssten 2 Stromsenken dranhängen, 20 und 30mA. > Und Startimpuls „Kurzschluss“? Je länger ich drüber nachdenke desto mehr Sinn macht mir das. Und es wäre Schaltungstechnisch sogar recht einfach. Wäre das Prinzip einer elektronischen Last, hab ich kürzlich gebaut. Beitrag "Re: Zeigt her eure Kunstwerke (2017)" Ein MOSFET, der von einem Opamp im Linearbereich gesteuert wird. „Unter“ dem MOSFET (also zwischen Gnd und Source) ein Mess-Shunt, der dem Opamp Feedback gibt, welcher Strom fließt. Der Opamp bekommt vom Mikrocontroller per PWM und RC-Filter zur Glättungs eine Referenzspannung nach der er den Shunt-Strom (genauer die Spannung über dem Shunt) justiert. Und dieser elektronischen Last könnte man über die PWM jeden beliebigen Strom vorgeben, den man vom Controller ziehen will - 1A zum Init und dann 20/30mA für die Bits. Und es entspräche viel mehr dem, wie ein strombasierter Bus funktioniert. Das mit dem Widerständen kann ja die Umgebungsbedingungen nicht berücksichtigen, also wie groß die Installation ist und wieviele Geräte dranhängen. Ich glaube ich probiere das mal.
Conny G. schrieb: > Oskar N. schrieb: >> Das sieht doch jetzt mal spannend aus. > > Ja! > Lass mal die 0 Ohm für 100us an. Das sieht dann so aus.
Miss Mal das Original Türöffner Protokoll Ruhig mehrfach. Da dürfte dieser Pegelsprung nicht dabei sein
Ich hab ja noch ein Siedle Tel rumliegen, das könnte ich einfach mal ans Labornetzteil hängen und schauen, was es ohne und mit Strombegrenzung so tut. Vielleicht ergibt das noch weitere Erkenntnisse. Habe mir das Board heute mal angesehen, da ist schon eine Menge Zeug drauf, erschließt sich nicht wirklich schnell, was da was ist. Für mich jedenfalls nicht :-) Habe einen LM317 drauf gefunden, der könnte natürlich mit der Stromsteuerung zu tun haben. Gerade in der Ecke gehts auf der Platine aber ziemlich kleinteilig zu. Genau das würde mich übrigens auf der Nello-Platine interessieren, ob man da eine Stromsteuerung findet, also einen Opamp, einen LM317 oder ähnliches. Auf dem oben geposteten Foto kann man leider die meisten Bauteilbeschriftungen nicht lesen.
:
Bearbeitet durch User
Gute Idee - ich glaube, der Tastendruck wird aber erst nach der erfolgreichen Anmeldung am Bus freigeschaltet. Kann also sein, dass du da nur die Anmeldung messen kannst.
Die haben einen fetten Optokoppler direkt nebem Ta und Tb... https://www.vishay.com/docs/81646/vo14642a.pdf Kann aber gut sein, dass der für die Analogen Stationen ist.
:
Bearbeitet durch User
Oskar N. schrieb: > Die haben einen fetten Optokoppler direkt nebem Ta und Tb... > https://www.vishay.com/docs/81646/vo14642a.pdf > > Kann aber gut sein, dass der für die Analogen Stationen ist. Was ist denn der große SO-16 Käfer in der Mitte? Hat der eine Beschriftung?
Könnte ein uC sein. Glaube ich aber nicht, auf der Rückseite ist auch noch was, was ein uC sein könnte.
Das auf der Rückseite ist ein nRF52832 https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832
Das ist der SO-16 Käfer: ULN2001 http://www.st.com/content/ccc/resource/technical/document/datasheet/f3/6e/c8/64/4d/b3/4e/38/CD00001244.pdf/files/CD00001244.pdf/jcr:content/translations/en.CD00001244.pdf
:
Bearbeitet durch User
Oskar N. schrieb: > Das auf der Rückseite ist ein nRF52832 > https://www.nordicsemi.com/eng/Products/Bluetooth-... Ah, der ist dann uC und Bluetooth. Oskar N. schrieb: > Das ist der SO-16 Käfer: ULN2001 > http://www.st.com/content/ccc/resource/technical/d... Der sitzt nahe den Anschlüssen, der könnte natürlich ein Bus-Wackler sein, wie unsere Transistoren. Einen Opamp oder Stromregler (wie LM317) haben wir noch nicht gesichtet, oder?
Bisher nicht - ein zweiter Optokoppler ist an der rechten Kante (https://www.vishay.com/docs/83512/tcmt1600.pdf)
Rechts unten sitzt noch ein Gleichrichter, darüber vermute ich noch einen weiteren Optokoppler. Würde auch Sinn ergeben, da ein Optokoppler für Lauschen und Brabbeln nicht langt.
Hab ihn ausgebaut und bessere Fotos gemacht. Sind übrigens 3 Layer so weit ich das erkennen kann. Vielleicht auch 4.
:
Bearbeitet durch User
Hi Leute, ich hab mir ja damals auch ganz schön den Kopf zerbrochen. Auch wenn ich ebenfalls erfolglos war teile ich euch mal paar Gedanken mit. Vielleicht hilfts ja wem anderes die richtigen Schlüsse zu ziehen, wie in so ner Art Brainstorming. Bei mir ists ja auch so gewesen dass kein Initialisierungsimpuls zum Einleiten der Kommunikation zu sehen war. Ich hab aber mal verschiede Befehle einzelner Teilnehmer (hab zwei Stationen in der Anlage) am Bus ausgelesen und verglichen. Erstmal, alle beginnen mit einer Null, was auch logisch scheint. Damit "synct" sichs wohl besser als mit dem Zwischenpegel einer Eins. Die ersten vier Bit scheinen Teil einer Adresse zu sein, je nach Richtung sind die immer gleich. Beim Signal fürs Klingeln zum Beispiel kommt bei mir immer die 0101. Beim Signal fürs Türöffnen ists immer 0100 egal welche der beiden Stationen den Befehl schickt. Wenn ein Teilnehmer an den Bus angeschlossen wird, scheint er an der Basis angemeldet zu werden, denn man sieht kurz drauf wie 32 Bit über die Leitung gehen. Die beginnen ebenfalls mit 0101, egal welche Station ich anklemme. Allerdings unterscheiden die sich im 6. Nibble. Hier mal die Bit-Folgen: Klingeln: 0101 1000 1010 0010 0001 0001 0010 0000 Öffnen1: 0100 0110 0001 0010 0001 0010 0010 0000 Öffnen2: 0100 0110 0001 0010 0001 0010 0010 0000 Bus-On1: 0101 0100 0000 1010 0111 0110 0010 0010 Bus-On2: 0101 0100 0000 1010 0111 0010 0010 0010 Evtl. läuft ja auch noch irgend was ganz anderes ab, das wir hier noch gar nicht gesehen haben. Das Öffnen der Tür ist ja immerhin sicherheitsrelevant, vielleicht hat man noch irgendwas "verschlüsseltes/ verstecktes" dazu gebaut, wenngleich der Anlage vermutl. nicht zuviel zuzutrauen ist. Was ist mit dem überlagerten Audiosignal? Könnte da evtl. was passieren das noch ausgewertet wird? Zum Schluss noch was zu den Widerstandskombinationen: Wenn ich den Buss kurz schließe oder 10-30 Ohm drauflege, dann macht es doch keinen Unterschied ob ich weiter 300-2K Ohm parallel dazu schalte. Die fallen beim Gesamtwiderstand ja nicht ins Gewicht. Wenn wir mal von der Variante ausgehen die ich, Oskar und weitere hier hatten - nämlich dass es den Initialisierungspuls nicht gibt - dann müsste der Controller beim Treffen des richtigen Widerstands/ Stroms den Bus ja mind. 2ms unten lassen. Erst wenn dann das Falsche kommt sollte er wieder hoch ziehen. In den Screens ist ja aber überall zu sehen dass nach wenigen hundert µs wieder hochgezogen wird. Auch das könnte ein Hinweis auf eine falsche Fährte sein. LG
Ich habe mal den Strom vom Nello mit einem 10 Ohm Shunt aufgenommen (gelb Bus, blau 10 ohm Shunt).
https://www.ebay.de/itm/SIEDLE-PRI-602-01-USB-Programmierinterface-USB-Controller-Steuergerat/282864748529?hash=item41dc0d87f1:g:zb4AAOSwSmValf9v Da hat grade jemand vergleichsweise günstig ein Programmierkabel drinne. Die Software gibt's bei Siedle, damit lassen sich Telegramme mitlesen und einiges mehr. Vielleicht interessant für einen von Euch?
Sven L. schrieb: > https://www.ebay.de/itm/SIEDLE-PRI-602-01-USB-Programmierinterface-USB-Controller-Steuergerat/282864748529?hash=item41dc0d87f1:g:zb4AAOSwSmValf9v > > Da hat grade jemand vergleichsweise günstig ein Programmierkabel drinne. > Die Software gibt's bei Siedle, damit lassen sich Telegramme mitlesen > und einiges mehr. > > Vielleicht interessant für einen von Euch? Das Ding hab ich hier rumliegen :-) Aber bisher war ich noch nicht an dem Punkt vom Bus noch mehr verstehen zu müssen, dazu müsste erstmal die #@€&*@&#€@& Schaltung funktionieren. ;-)
A. H. schrieb: > Die ersten vier Bit scheinen Teil einer Adresse zu sein, je nach > Richtung sind die immer gleich. > > Beim Signal fürs Klingeln zum Beispiel kommt bei mir immer die 0101. > Beim Signal fürs Türöffnen ists immer 0100 egal welche der beiden > Stationen den Befehl schickt. > > Wenn ein Teilnehmer an den Bus angeschlossen wird, scheint er an der > Basis angemeldet zu werden, denn man sieht kurz drauf wie 32 Bit über > die Leitung gehen. > > Die beginnen ebenfalls mit 0101, egal welche Station ich anklemme. > Allerdings unterscheiden die sich im 6. Nibble. > > Hier mal die Bit-Folgen: Von der Art wie die Endgeräte „programmiert“ werden und wie die Systematik der Telegramme zu sein scheint kam ich zu dem Schluss, dass die Mechanik recht primitiv ist. Es scheint jedes Gerät eine Adresse zu haben - Seriennummer? Vom Controller zugewiesen? Und jede Taste / Funktion eines Geräts hat eine ID. Beim Programmieren / Anlernen merken sich m.E. nur die Gesprächspartner, auf welches Telegramm es reagiert. Das schließe ich aus dem Programmierprozess. Programmieren ein auf dem Bus, Programmieren ein Klingel, Programmieren ein Telefon. Klingel drücken. Das ist so primitiv, da ist m.E. Nicht viel Magie dahinter. Bisher sah ich jedenfalls noch keine Funktionen, die mehr „Intelligenz“ des Systems erfordern würden als sie paarweise oder 1:N zu verheiraten. Möglicherweise spielt der Controller noch ein bisschen Router, weil die Türstationen und die Klingeln sich nicht sehen können, das sind zwei verschiedene Busse. Und der Bus kann für mehr als 30 (?) Teilnehmer parallel erweitert werden, das muss dann der Controller Routen. So habe ich es jedenfalls soweit verstanden. Bzgl Initsequenz hast Du völlig recht, wenn wir einmal den richtigen Widerstand oder Strom treffen, dann klappt das. Ist auch komisch, denn bei mir ging das auch alles schon und irgendwas hab ich dann geändert und seitdem geht es nicht mehr.... Ich bin noch unschlüssig ob es um Widerstand oder einen bestimmten Strom geht. Wobei das fast dasselbe ist, nur ist Strom auf dem Bus m.E. die zuverlässigere Definition. Derselbe Widerstand bedeutet in einem System mit 2 Geräten und 10m Kabel etwas anderes als bei 100m Kabel und 20 Teilnehmern. Der Strom als „Ergebnis“ auf dem Kabel bedeutet in beiden Installationen dasselbe.
Oskar N. schrieb: > Ich habe mal den Strom vom Nello mit einem 10 Ohm Shunt aufgenommen > (gelb Bus, blau 10 ohm Shunt). Sehr cool, danke! Muss ich mir morgen in Ruhe ansehen, mein Gehirn ist heute nicht mehr zu mehr als Zähneputzen zu gebrauchen. Jetzt ist auch noch spannend, was ein Endgerät am Labornetzteil tut, denn dann weiss man auch, was oder was nicht der Bus macht, d.h. beim Labornetzteil weiß man, dass außer ggf Strombegrenzung eben nichts passiert. Vielleicht lässt sich diese Rampe daraus erklären. Eins fällt mir übrigens in der Nello-Aufzeichnung gleich auf: da ist schon wieder so eine kleine Abflachung wie ein Miller-Niveau zu sehen. Als wäre das die Schaltkurve eines MOSFET. Oskar, Könntest Du das nochmal so deutlich beim normalen Endgerät aufzeichnen? Was mich interessieren würde: ob die Rampe/Kurve, inkl dieser Abflachung identisch ist, denn dann kommt die Rampe vom Buscontroller und nicht vom Endgerät. Dass die Kurve zwischen Nello und Siedlegerät identisch ist, kann ich mir vorstellen. Und dann wüssten wir, ob wir für die Rampe zuständig sind oder ob der Buscontroller das macht, sobald wir die richtigen Bedingungen geschaffen haben.
:
Bearbeitet durch User
Ich freue mich übrigens sehr, dass wir jetzt mehrere sind, die Open Source / Hardware Kontrolle über die Siedle-Anlage haben wollen :-)
Conny G. schrieb: > Bzgl Initsequenz hast Du völlig recht, wenn wir einmal den richtigen > Widerstand oder Strom treffen, dann klappt das. Nur nicht so kompliziert denken....
Conny G. schrieb: > Sven L. schrieb: > Ebay-Artikel Nr. 282864748529 > Da hat grade jemand vergleichsweise günstig ein Programmierkabel drinne. > Die Software gibt's bei Siedle, damit lassen sich Telegramme mitlesen > und einiges mehr. > Vielleicht interessant für einen von Euch? > > Das Ding hab ich hier rumliegen :-) > Aber bisher war ich noch nicht an dem Punkt vom Bus noch mehr verstehen > zu müssen, dazu müsste erstmal die #@€&*@&#€@& Schaltung funktionieren. > ;-) In dem Adapter ist doch die Schaltung zum senden/empfangen
Fotos vom Programmierinterface. Sa/Sb sind die Anschlüsse für den In-Home-Bus, also der von Buscontroller zu den Türgeräten. Also die 2er Klemme links oben auf dem Foto mit dem Gehäuse. Die senkrecht stehende Platine ist das RJ45/USB-Interface, da sind eigentlich nur 2 Prozessoren drauf, die sind jetzt nicht so interessant. Ansonsten ist unten im kleinen Teil alles Gleichrichter, Dioden, Sicherungen etc. Oben ist es schon interessanter. Da fällt m.E. rechts oben (ggü dem 2er Terminal) ein größerer Widerstand R1 von 4,7 Ohm auf. Und daneben der T1 in einem größeren Package. Das sieht doch so aus wie der Buswackler, oder? Angenommen der T1 ist ein SOT-223-4 MOSFET, dann ist die Fahne Drain und die Anschlüsse (Fahne oben) "GDS". Dann hätten wir: - an Drain das + des Gleichrichters - und weiter geht's da über eine Diode auf den T3 an dem auch 150 Ohm in einem etwas größeren Package hängen. - Das Gate geht über einen weitern Transistor (T4) auf einen Optokoppler, wohl damit auf einen Prozessor. Vermutlich ist T4 einfach ein Level Converter von 3.3V auf was auch immer an dem 100uF Kondensator anliegt - Source geht an den 4.7 Ohm Widerstand, vermutlich dann an GND/-. - Ein T2 hängt auch noch am + des Gleichrichters, der geht anscheinend über 1k an GND/-. Demnach hängen 3 Transistoren am + des Gleichrichters: - T1 mit 4,7 Ohm - T3 mit 150 Ohm - T2 mit 1k Seht ihr das auch so? Mmh, bei dem T2 bin ich mir doch nicht sicher, was der tut. Muss ich mir nochmal genauer ansehen.
:
Bearbeitet durch User
Links oben unter dem 2er Terminal Sa/Sb sind ein paar Dioden und Widerstände, die Dioden mit DNW1/DNW2/DNW3 beschriftet. Hängen anscheinend direkt am Bus und nicht am Gleichrichter und es scheint auf der anderen Seiten gehen sie zu OK1. Ohne das jetzt genauer zu analysieren, könnte das ein mehrfacher Spannungsteiler und damit der Detektor für das eingehende Signal sein? Dann wäre OK1 für das eingehende Signal zuständig, OK2 für das ausgehende. Eingehend ein OK, das wäre denkbar, mehr braucht es nicht unbedingt. Aber nur ein OK für ausgehend, das passt nicht mit den wenigstens 2 Widerständen, von denen wir aktuell ausgehen. Oder kommt von woanders noch ein Steuersignal auf die Transistoren. Wenn dann aber warum nicht über OK, sondern direkt? Ah. Könnte es so sein, dass mit einem Spannungsteiler o.ä. der 4,7 Widerstand automatisch abgehängt wird, wenn der Spannungspegel sinkt? D.h. es wird die Leitung eingeschaltet, weil die Busspannung hoch ist hängt automatisch der 4.7 Ohm dran. Sobald der Bus runterschaltet, wird der 4.7 Ohm abgeklemmt und der andere Transistor mit den 150 Ohm ist am Zug. Also das war jetzt natürlich nur oberflächlich angeschaut, da muss man nochmal systematisch drüber.
:
Bearbeitet durch User
So, habe mir das jetzt noch eine Weile angeschaut. Auf der Rückseite passiert nicht viel, ist praktisch alles GND, nur einmal wird eine +-Versorgung des OK2 auf der Unterseite gezogen. Sonst sind alle Dukos GND oder Testpunkte. Im Prinzip gibt es vom OK2 aus 3 Bausteine: - einmal geht es vom OK2 über einen invertierenden PNP (T4) zum T1, der diese 4.7 Ohm auf + schaltet - dann gibt es um den großen Kondensator C2 eine einstellbare Referenzspannungsquelle (D3), die über einen Spannungsteiler von 2x 10k eingestellt wird. Denke der C2 wird danach geladen, sonst könnte er auch keine 16V haben (der Bus hat ja eigentlich 27V) - Und zwischen dem + des Gleichrichters = Drain des T1 gibt es eine Logik aus T2 und T3 und dieser Referenzspannungsquelle, die diesen 150 Ohm Widerstand dazuschaltet. Die ist mir noch eher unklar, wie die funktioniert. Durch diese Referenzspannung ist es jedenfalls möglich, dass mit nur einem Output 2 verschiedene Widerstände geschaltet werden. Das ist quasi eine Automatik, die vom Spannungspegel abhängt. Der Prozessor muss nur Bits am OK2 schalten, der Rest erledigt sich von selbst. Möglicherweise trifft sich das an dem Lötpunkt neben dem C1 und hängt von der Referenzspannung vs. der Busspannung ab, ob dann der T1 geschaltet wird oder das andere Konstrukt. Soweit würde ich das jetzt mal interpretieren ohne einen Schaltplan zu zeichnen. Ist mir noch nicht ganz klar das alles, hab aber heute keine Zeit einen Schaltplan draus zu machen. Und das eine oder andere Bauteil ist etwas schwierig zu identifizieren, z.B. der T3. Er hat eine Beschriftung TI oder T1 würde ich meinen.
Ein Schaltplan würde Gewissheit geben, aber m.E. kann man schon mal erste Schlussfolgerungen ableiten: - es braucht keine Stromsteuerung, Widerstände reichen - es werden (mindestens) 2 Widerstände geschaltet - einer davon ist 4.7 Ohm
Das ist doch super - die Schaltung ist auch aufgeräumter und einfacher zu identifizieren als die des Nellos. Damit bekommen wir es bestimmt hin - ich schaue auch noch mal genauer rein und versuche ein paar Sachen am Bus. Ich bin gespannt!
JUHUU!!! Ich habe es geschafft, dass der Bus die Spannung absenkt und ich Bits senden kann!!! Jetzt muss ich nur noch schaffen, dass er sie wieder hochzieht - dafür ist wahrscheinlich das halbe Bit am Ende da. Mit 10 ohm für 145us (bei < 140us senkt der Bus die Spannung nicht ab) ziehen - ich habe zusätzlich den Vorwiderstand am Transistor entfernt, damit der maximale Strom fließen kann. Dann mit 150 Ohm wackeln. Jetzt muss ich es nur noch schaffen, die Übertragung zu beenden. Aktuell bleibt die Spannung unten für eine Weile.
GLÜCKWUNSCH!!!! Wenn ich so darüber nachdenke, war dann der zu große Basiswiderstand vermutlich auch bei meinen Experimenten im vergangenen Jahr das Problem... Gut gemacht allerseits! Was meinst Du mit "die Spannung bleibt unten für eine Weile"? Länger als für die Dauer von den 32 Bits? Muss man also den Abschluss der Übertragung auch wieder aktiv signalisieren? Gruß Daniel
Danke! Ja, die Spannung bleibt für knapp 670ms abgesenkt. Ich nehme an, das Ende der Sequenz wird durch das halbe signalisiert.
Das Ende der Übertragung wird anders angekündigt - man schaltet einen Widerstand dauerhaft, mit dem zweiten wackelt man und am Ende der Übertragung nimmt man beide raus. Dann geht die Spannung sofort hoch. Werte teste ich noch.
:
Bearbeitet durch User
Hey Klasse Jungs :) Da kann ich ja dann demnächst auch wieder fröhlich experimentieren. LG
MISSION ACCOMPLISHED. Folgender Ablauf funktioniert: 200 Ohm Last schalten (geht auch ohne, dann sieht die Kurve aber nicht schön aus). Direkt anfangen, die Bits zu senden mit 10 Ohm - die Dauer der Bits beträgt bei mir 1980us. Ich weiß nicht, ob es an meinem Arduino liegt, der vielleicht ungenau ist oder ob es wirklich nicht ganz 2ms sind. Am Ende der 32 Bit zieht der Bus die Spannung automatisch wieder hoch (hatte nur versehentlich ein Bit zu wenig gesendet. 200 Ohm ausschalten. Der Knackpunkt war das Timing und zu große Vorwiderstände bei den Transistoren. Ich verwende nun keine. Fertig.
Schade ich habe zwar so nen Programmieradapter, und daheim auch irgendwo zwei Bustelefone, aber leider kein BNG und keine Außenstation, das Problem ist nämlich, das ich die Dinger ab und an mal einbaue, wenn man irgendwo eine 6+n Anlage zurückbaut. Interessant finde ich es trotzdem. Richtig Klasse wäre, wenn man der Eigenentwicklung dann auch eine eigene Adresse zuweisen kann, sodass diese nicht nur die Adresse der Türstation klont. Klar Siedle hat BUS-Schaltmodule und Eingangsnmodule fertig im Programm, leider wie alles wo Siedle drauf steht sind die recht teuer. Wenn man es noch schaffen würde Voice ein und aus zu koppeln, dann könnte man sich mittels Rasperry PI oder ähnlichem ein Gateway bauen und sich eine wirklich smarte Sprechanlage zusammenstellen.
Sven L. schrieb: > Richtig Klasse wäre, wenn man der Eigenentwicklung dann auch eine eigene > Adresse zuweisen kann, sodass diese nicht nur die Adresse der Türstation > klont. Sollte auf Seiten des Controllers kein Problem sein das zu programmieren. >Wenn man es noch schaffen würde Voice ein und aus zu koppeln, dann >könnte man sich mittels Rasperry PI oder ähnlichem ein Gateway bauen und >sich eine wirklich smarte Sprechanlage zusammenstellen. Hatt Conny oben schon gemacht. Lg
Oskar N. schrieb: > JUHUU!!! Ich habe es geschafft, dass der Bus die Spannung absenkt und > ich Bits senden kann!!! > Jetzt muss ich nur noch schaffen, dass er sie wieder hochzieht - dafür > ist wahrscheinlich das halbe Bit am Ende da. > > Mit 10 ohm für 145us (bei < 140us senkt der Bus die Spannung nicht ab) > ziehen - ich habe zusätzlich den Vorwiderstand am Transistor entfernt, > damit der maximale Strom fließen kann. > Dann mit 150 Ohm wackeln. > > Jetzt muss ich es nur noch schaffen, die Übertragung zu beenden. Aktuell > bleibt die Spannung unten für eine Weile. Phantastisch!!! Ich kann mich erinnern, dass bei mir die Spannung immer konsequent nach der Zeit der Bits hochzog, ohne dass ich etwas tun musste. Aber könnte auch ein Timing-Problem gewesen sein, dass die Bitzeit schon vorher in den letzten Bits daneben war. Hatte nämlich damals die Zeit dann um wenige Prozent korrigiert, dann gings.
Oskar N. schrieb: > MISSION ACCOMPLISHED. > > Folgender Ablauf funktioniert: > > 200 Ohm Last schalten (geht auch ohne, dann sieht die Kurve aber nicht > schön aus). > Direkt anfangen, die Bits zu senden mit 10 Ohm - die Dauer der Bits > beträgt bei mir 1980us. Ich weiß nicht, ob es an meinem Arduino liegt, > der vielleicht ungenau ist oder ob es wirklich nicht ganz 2ms sind. Nein, genau das hatte ich auch. > Am Ende der 32 Bit zieht der Bus die Spannung automatisch wieder hoch > (hatte nur versehentlich ein Bit zu wenig gesendet. Ja, so ist es. > 200 Ohm ausschalten. > > Der Knackpunkt war das Timing und zu große Vorwiderstände bei den > Transistoren. Ich verwende nun keine. > Fertig. Cool. Dann haben wir jetzt die wichtigste Hürde bewältigt, dass mindestens einer von uns mit dem Bus reden kann. Dann ist jede weitere Diagnose schon mal einfacher.
Als nächstes die Stromversorgung - da braucht man einen Gyrator meintest du Conny - welche Bauteile sind das konkret? Kannst du mal die Schaltung posten? Wieso funktioniert es nicht, einen Kondi hinter den Spannungsregler zu setzen? Da dürfte doch nichts zurückfließen oder? Notfalls Diode?
A. H. schrieb: > Sven L. schrieb: >> Richtig Klasse wäre, wenn man der Eigenentwicklung dann auch eine eigene >> Adresse zuweisen kann, sodass diese nicht nur die Adresse der Türstation >> klont. > > Sollte auf Seiten des Controllers kein Problem sein das zu > programmieren. Wir müssen nur herausfinden, wie die Adresse zustandekommt. Ob der Bus sie einem neuen Gerät zuweist oder ob jedes Gerät einfach eine Seriennummer mitbringt. >>Wenn man es noch schaffen würde Voice ein und aus zu koppeln, dann >>könnte man sich mittels Rasperry PI oder ähnlichem ein Gateway bauen und >>sich eine wirklich smarte Sprechanlage zusammenstellen. > > Hatt Conny oben schon gemacht. Nein, nicht gemacht, ich hatte es geplant. Mein erstes Ziel war eine automatische Schleuse für Post und Paketboten, denn der Weg vom Gartentor zur Haustür dauert 1min und ich steh dann immer dumm rum bis der Besucher innen ankam und ich diese Tür öffnen kann. Der Plan ist die innere Tür auf Klingeln hin automatisch zu öffnen, wenn - und nur dann - ich nach Klingeln die äußere geöffnet habe. Für ein Weiterleiten des Klingelns ist die Lösung noch offen wie das geht. Mein Plan war Audio und Video mit einem Raspberry Pi als VoIP Call weiterzusenden und das Tür öffnen per DTMF zu ermöglichen. Ich habe bei mir das Videosignal separat, neuere Lösungen haben das auch auf dem 2-Draht-Bus. Muss man dann per Frequenzweiche aufsplitten.
Conny G. schrieb: > Für ein Weiterleiten des Klingelns ist die Lösung noch offen wie das > geht. > Mein Plan war Audio und Video mit einem Raspberry Pi als VoIP Call > weiterzusenden und das Tür öffnen per DTMF zu ermöglichen. > Ich habe bei mir das Videosignal separat, neuere Lösungen haben das auch > auf dem 2-Draht-Bus. Muss man dann per Frequenzweiche aufsplitten. Meine Idee war ein ESP12E als Controller zu verwenden und dann per MQTT alle erkannten Befehle als Hex rauszuschicken sowie entgegenzunehmen. Dann hat man eine universale Schnittstelle, die man im Automatisierungssystem seiner Wahl einbinden kann.
Oskar N. schrieb: > Als nächstes die Stromversorgung - da braucht man einen Gyrator meintest > du Conny - welche Bauteile sind das konkret? Kannst du mal die Schaltung > posten? Ich schau später nach dem Schaltplan. > Wieso funktioniert es nicht, einen Kondi hinter den Spannungsregler zu > setzen? Da dürfte doch nichts zurückfließen oder? Notfalls Diode? Ich kann mich nicht erinnern, ob ich das versucht habe. Ich erinnere mich, dass Spannungsregler das nicht mögen, wenn hinter ihnen noch Spannung ist, davor aber nicht mehr. Da könnte man aber mit einer Diode abhelfen, den Rückstrom zu verhindern. Ich weiß aber, dass ich vor dem Regler eine Diode hatte dafür und das ließ aber noch zu, dass das Audio auf dem Bus von Diode und Kondensator gedämpft wurde. Stark gedämpft, man konnte sich über die Anlage nicht mehr unterhalten. Und das gilt dummerweise für den ganzen Bus, also alle Teilnehmer. Die Lösung war der Gyrator, der - richtig dimensioniert - für Audio hochohmig ist, sodass das Audio-Signal dahinter nichts mehr sieht. Das hatte prima funktioniert die Dämpfung zu verhindern. Und in dem Moment begannen dann die Probleme mit dem Senden auf dem Bus und ich habe das Projekt dann pausiert, nach ein paar Std. herumkreisen. Hatte keine Ahnung, dass ich es für 2 Jahre pausieren würde.... Ich denke ich habe damals zwei Probleme gehabt: der Gyrator war noch nicht richtig für das Bussignal dimensioniert (dafür muss dasselbe gelten wie für das Audio) und ich habe im Rahmen der Tests meinen Code für das Senden verhunzt.
Oskar N. schrieb: > Conny G. schrieb: >> Für ein Weiterleiten des Klingelns ist die Lösung noch offen wie das >> geht. >> Mein Plan war Audio und Video mit einem Raspberry Pi als VoIP Call >> weiterzusenden und das Tür öffnen per DTMF zu ermöglichen. >> Ich habe bei mir das Videosignal separat, neuere Lösungen haben das auch >> auf dem 2-Draht-Bus. Muss man dann per Frequenzweiche aufsplitten. > > Meine Idee war ein ESP12E als Controller zu verwenden und dann per MQTT > alle erkannten Befehle als Hex rauszuschicken sowie entgegenzunehmen. > Dann hat man eine universale Schnittstelle, die man im > Automatisierungssystem seiner Wahl einbinden kann. Ja, das ist eine gute Idee. Ist jetzt auch leichter mit dem ESPs, vor zwei Jahren gabs die noch nicht. Ach was, das war Ende 2013 / Anfang 2014, sogar schon 4 Jahre her! Wow.
Zum Thema Bus-Adressen und eigene Adresse statt „shadow“ eines Gerätes zu sein. Habe dazu gerade mal online ein bisschen durch die Handbücher von Siedle gesurft. Strukturell können an einem einstrangigen Bus 31 Geräte sein, das sind 5 Bit. Es man bis zu 15 Stränge geben, das wären weitere 4 Bit. Die Tasten / Funktionen jedes Geräts haben eine ID, das dürften auch ein paar Bit sein, 3-4 Bit? Bis hier wären wir bei 5+4+4 = 13 Bit. Es steht nirgendwo explizit wann und wie die Adressen vergeben werden, aber es gibt Hinweise, dass die Geräteadresse vom Bus zugewiesen wird. ZB beim Smart Gateway werden dem In-Home-Adressen für die IP-Geräte zugewiesen. Muss auch so sein, die IP-Geräte müssen ja auf den Bus „gespiegelt“ werden. Ich würde davon ausgehen, dass die Tasten/Funktionsadressen aber fest sind. Würde mir das so vorstellen, dass bei der erstmaligen Aktivierung oder Programmierung eines Geräts das ein „hallo, bin da, wie heisse ich?“ auf den Bus sendet und der Controller dann die nächste freie Adresse zurück meldet. Das müsste man mal belauschen. Dazu wäre es gut, wenn man wüsste, ob man einem Endgerät einen Werksreset verpassen kann, der die Adresse wieder löscht, dann kann man das Spielchen reproduzieren. Daraus müsste man dann lernen, wo die Adresse genau steht, damit man sie sich aus der Rückmeldung ziehen kann.
Interessant, hier, Seite 91 https://www.siedle.de/xs_db/DOKUMENT_DB/www/Systemhandbuch/In-Home_Bus_Audio_2017/Systemhandbuch_In-Home_Audio_2017_210007096-00_DE.pdf#page91 verschiedene Szenarien den Bus Controller zurück zu setzen, den Controller zu tauschen oder ein Telefon zu ersetzen. Letzteres ist: neues gegen altes, also das neue hat noch keine Adresse. Muss demnach neu mit Klingeln etc verknüpft werden. Was fehlt: gebrauchtes Telefon in die Anlage einsetzen, hier müsste es ja einen Adresskonflikt geben, den man nur durch Reset des Telefons beheben kann.
Welchen Spannungsregler benutze ich am besten (27 -> 3.3V)? SMD und günstig wenn's geht :D
Conny G. schrieb: > Habe dazu gerade mal online ein bisschen durch die Handbücher von Siedle > gesurft. Ich habe mir mal die Programmiersoftware nochmal angeschaut... Man kann ja gewisse Funktionen per Tastendruck und ohne Programmiersoftware programmieren. Für Gruppen bspw. braucht man die Programmiersoftware. Wenn man mit dem Programmierinterface programmiert, dann kann man den Bus nach Geräten suchen lassen. Ich glaube mich zu erinnern, das man Telegramme mit der Programmiersoftware ein Stück weit mitlesen konnte. Wenn man nun zu aller erst mal einen "Monitor" baut, der die Telegramme per RS232 / RS232 via USB an den PC bzw. an den BUS sendet, dann könnte man ja mal Telegramme im Rohzustand mittracen, auswerten oder senden. So ähnlich bin ich bei meinen Analysen vom Loxone Link mittels des USBtin auch vorgegangen. Am Anfang habe ich mir die Telegramme an den PC senden lassen um sie dann auzuwerten.
Oskar N. schrieb: > Welchen Spannungsregler benutze ich am besten (27 -> 3.3V)? > SMD und günstig wenn's geht :D Von 27V muss man auf die Bauform aufpassen, der muss ja selbst bei nur 30-50mA schon 23V x 0,05 = 1,1W in Wärme verbraten. Auf der Platine des Programmiermoduls habe ich einen STM 78M05 gefunden in Bauform d2pak oder so, der in 3.3V wäre wohl robust und geeignet. http://www.st.com/content/ccc/resource/technical/document/datasheet/41/4f/b3/b0/12/d4/47/88/CD00000444.pdf/files/CD00000444.pdf/jcr:content/translations/en.CD00000444.pdf Ja, der hat mit 1W kein Problem, R_th_ja 60 C/W, bei 1W erwärmt er sich um 60 Grad. Nur gibt es den nicht in 3.3V. Aber Du könntest auch einfach einen Sot23 3.3V Regler nachschalten. Oder einstellbar, 55 Cent: http://de.farnell.com/stmicroelectronics/lm317d2t-tr/reg-1-2-37v-1-5a-d2pak/dp/1564300 Oder einfach LM317 oder LM1117 https://www.reichelt.de/ICs-LM-1000-LM-1999/LM-1117-S-ADJ/3/index.html?ACTION=3&LA=446&ARTICLE=109331&GROUPID=5465&artnr=LM+1117+S-ADJ&SEARCH=%2Bto-263%2B3%252C3&trstct=pos_4 https://www.reichelt.de/ICs-TLC-TSA-/TS-317-CM/3/index.html?ACTION=3&LA=446&ARTICLE=115954&GROUPID=5480&artnr=TS+317+CM&SEARCH=%2Bto-263%2B3%252C3&trstct=pos_3 Oder natürlich Step-Down Schaltregler, aber das ist der nächste Schwierigkeitsgrad. War es so nicht auf dem Nello gemacht?
:
Bearbeitet durch User
Sven L. schrieb: > > Wenn man nun zu aller erst mal einen "Monitor" baut, der die Telegramme > per RS232 / RS232 via USB an den PC bzw. an den BUS sendet, dann könnte > man ja mal Telegramme im Rohzustand mittracen, auswerten oder senden. > > So ähnlich bin ich bei meinen Analysen vom Loxone Link mittels des > USBtin auch vorgegangen. Am Anfang habe ich mir die Telegramme an den PC > senden lassen um sie dann auzuwerten. Ja, ich glaube ich sollte demnächst mal das Programmierinterface in Betrieb nehmen!
Ja, prinzipiell ok. - 3000uF sind fast etwas viel, aber schaden tut es auch nicht ;-) denke ab 470uF müssten reichen. Ggf Platz vorsehen und nur tlw bestücken - die Widerstände / Spannungsteiler an den Signal-Detektor-Transistoren hab ich jetzt nicht nachgerechnet - die Emitterwiderstände dort größer, mind. 1k - den 3.3v Regler ankucken, was der für eine Eingangsspannung braucht, ob 5V reichen - Beschaltung der Spannungsregler nach Datenblatt beachten - bei den Sendetransistoren würde ich schon einen Basiswiderstand machen. Wenn 1A CE durch sollen, braucht es max 10mA an der Basis, bei 3.3V also 330 Ohm. Oder nimm 100 oder 220. denke aber der Esp gibt schon keine 10-20mA.
:
Bearbeitet durch User
Hier der Gyrator in der letzten Version der Schaltung von vor zwei Jahren. Und Fotos davon. Die 2 weissen Drähte sind der Eingang, da hängt der Bus dran. Am besten in LTSpice simulieren, bei welcher Frequenz er blockt. Ich würde den Kondensator deutlich höher wählen, damit er auch das Siedle-Bus-Telegramm abblockt (500 Hz). Spice-File angehängt, bitte kritisch prüfen. Kann man auch ausrechnen, wieviel Induktivität ein Gyrator bei wieviel Kapazität "simuliert" -> Google. Die Quelle für die Gyrator-Schaltung hatte ich oben schon mal verlinkt. Beitrag "Eingangskondensator dämpft Audio auf Busleitung" http://www.loetstelle.net/projekte/gyrator/gyrator.php
:
Bearbeitet durch User
Conny G. schrieb: > Was fehlt: gebrauchtes Telefon in die Anlage einsetzen, hier müsste es > ja einen Adresskonflikt geben, den man nur durch Reset des Telefons > beheben kann. Siedle Support sagt dazu: "Man kann eine Bus-Haustelefon nicht "zurück setzten", braucht es auch nlicht. Ein gebrauchtes Bus-Haustelefon bekommt am neuen Steuergerät eine neue Adresse und die Ruftaste oder andere Konfigurationen des Gerätes können neu programmiert werden." Das würde bedeuten ein Telefon speichert seine Adresse nicht? Oder woher wüsste es, dass an einem neuen Bus ist? Es geht ja dabei nur darum das Szenario die Adresszuweisung wiederholt simulieren zu können, das ist dann wohl nicht so einfach.
Ich habe nun mein erstes Layout fertig gestellt und bin alles in allem sehr zufrieden. Mein Ziel war vorerst, ein einfaches MQTT Gateway zu bauen, welches 32 Bit Befehle erkennen sowie einspielen kann. Die aktuelle Platine ist knapp 3.5x3.5cm und damit sehr kompakt. Die Werte der Widerstände und den Detektors muss ich noch durch testen verifizieren, auch der Gyrator ist blind von Conny übernommen. Auch die Vorwiderstände der Transistoren T1 & T2 habe ich vorerst mit 0 Ohm beschriftet, da kommen dann wahrscheinlich 200 Ohm rein, muss ich aber auch noch austesten. Ich habe zusätzlich Redundanz vorgesehen. Falls der Gyrator nicht notwendig ist und die Dioden ausreichen, kann man den 0 Ohm Widerstand R21 montieren - ist der Gyrator nötig, wird dieser nicht montiert. Falls das mit der Stromversorgung gar nicht funktionieren sollte, habe ich notfalls zusätzlich eine externe Stromversorgung über einen Micro-USB Port vorgesehen. Soll der Port verwendet werden, muss die Diode D3 oder der DCDC Wandler entfernt werden. Dieser ist nur für die power delivery, zum programmieren braucht man einen serial Adapter. Da sich die Firmware des ESPs über WLAN flashen lässt, habe ich keinen zusätzlichen UART Chip vorgesehen. Die 3 Kondensatoren sind ebenfalls großzügig ausgelegt. Der ESP braucht im Schnitt um die 100mA, ein Telegramm dauert 0,1 Sekunden, in denen der Chip im Worst Case ohne Strom ist. C = (I * t) / U = 0,1x0,1/3.3 = 3,3 mF. Deswegen habe ich drei 1000uF 6.6V Kondensatoren vorgesehen - die sollten auf alle Fälle die Zeit überbrücken. Folgende Bauteile habe ich bestellt: - ESP 12F https://de.aliexpress.com/item/new-ESP8266-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-Esp-12F-AP-STA/32633529267.html - DCDC Wandler (entweder auf 3.3V einstellen oder Drehregler durch Widerstand ersetzen) https://de.aliexpress.com/item/5pcs-lot-DC-DC-step-down-power-supply-module-3A-adjustable-step-down-module-super-LM2596/32273184898.html - Kondensatoren https://de.aliexpress.com/item/1LOT-10PCS-SMD-Aluminum-Capacitors-6-3V-1000uF-108-8-10-5mm-1000000nF-1000000000pF/32796777013.html - Mosfet Transistor für den Gyrator https://de.aliexpress.com/item/Free-Shipping-20PCS-IRLR024NPBF-IRLR024-TO-252/735461235.html - Buttons zum programmieren (Reset & GPIO0) https://de.aliexpress.com/item/10-teile-los-Momentary-Zwei-Pin-Druckschalter-SMD-Tactile-Tact-Taster-Mikroschalter-F-r-MP3-MP4/32843088307.html - Dioden (1N4007 SOD-123) https://de.aliexpress.com/item/100-st-cke-SMD-diode-0805-SOD-123-1N5819-1N4007-1N4148-SOD123-SOD-323-1206-1N4148WS/32849879904.html - PNP Transistoren zum erkennen der Bits https://de.aliexpress.com/item/BC807-40-SOT-23-500pcs-lot-Triode-Transistor/32310882136.html?spm=a2g0s.9042311.0.0.TJw6Im - NPN Transistoren zum senden der Bits https://de.aliexpress.com/item/Original-100PCS-BC817-40-SOT-23-BC-817-BC817-40-SOT23-NPN-Transistor-Triode-Free-Shipping/32797378460.html - JST Stecker zum verbinden des Bus https://de.aliexpress.com/item/10-Teile-los-24AWG-JST-XH2-54-2-Pin-Stecker-Draht-Kabel-20-cm-L-nge/32838998131.html?spm=a2g0s.9042311.0.0.oUShXP - 0805 Widerstände und ein Kondensator mit den angegebenen Werten Ich schlafe noch mal ein paar Tage drüber, solltet ihr und ich keine Fehler mehr finden, werde ich mal ein paar Platinen bestellen und testen. Bis die Teile aus China da sind, kann das aber gut 1-2 Monate dauern. Die Firmware schreibe ich in den kommenden Tagen. Edit: sorry für die doppelten Anhänge, man kann zwar nachträglich welche hinzufügen aber nicht mehr löschen xD
:
Bearbeitet durch User
Hallo Oskar, prima das das jetzt gut läuft. Kannst Du mal noch ein paar Details zu deinem Aufbau der Siedle Komponenten machen und hast Du mal die Versorgungsspannung komplett ausgeschaltet und danach probiert? Konntest Du mit dem Befehl den Türöffner öffnen? Gruß Sven
Hey Sven, ja, funktioniert jetzt perfekt, zuverlässig und reproduzierbar. Ist ein Mehrfamilienhaus mit Türöffner, Gegensprechanlage, mehreren Klingeln etc. Ich kann das Licht im Treppenhaus einschalten, Klingeln erkennen (und dabei auch unterscheiden ob vor der Wohnungstür oder an der Haustür), die Tür öffnen etc. Die Platine habe ich gerade in Auftrag gegeben, werde ich dann testen. Was meinst du mit Versorgungsspannung komplett ausgeschaltet?
Oskar N. schrieb: > Was meinst du mit Versorgungsspannung komplett ausgeschaltet? Ich denke er meint: die Schaltung vom Bus versorgt und nicht separat.
Bisher mangels fehlender Komponenten nein. Aber dafür ist die Redundanz auf der Platine da :) Mit eine der drei Varianten (Bus + Gyrator Bus extern) wird es definitiv funktionieren. Ist jetzt in Produktion und ich berichte dann.
Bin gerade beruflich unterwegs und kann leider nicht testen, werde die bei Dir erfolgreiche Variante am Freitag mal probieren! Könnten die Kondensatoren kleiner ausfallen, wenn man sie vor den Spannungsregler packt? Nach dem Spannungsregler brauchst Du ja viel Kapazität um nicht zu weit von den 3.3V wegzukommen. Aber vor dem Regler dürfte ja sogar die Spannung von 27V um 20V einbrechen, da hast ja ein Vielfaches an Ladung verfügbar, auch mit einem viel kleineren C.
Conny, bezüglich des dekodieren des Protokolls habe ich etwas nachgedacht - es könnte gut sein, dass das USB Interface ein "dummes Gateway" ist, welches nur ähnlich wie unseres Befehle sendet und empfängt. Da würde mich extrem interessieren, welche Daten da genau über UART rausgehen, vielleicht ist die ganze Logik ja schon im Konfigurationsprogramm. Kannst du mal einen Logic Analyzer (oder dein Rigol mit RS232 decoder) dazwischen hängen, ein bisschen mit dem Konfigurationsprogramm rumspielen (z.B. Geräte listen) und die Kommunikation posten?
Conny G. schrieb: > Bin gerade beruflich unterwegs und kann leider nicht testen, werde die > bei Dir erfolgreiche Variante am Freitag mal probieren! > > Könnten die Kondensatoren kleiner ausfallen, wenn man sie vor den > Spannungsregler packt? > Nach dem Spannungsregler brauchst Du ja viel Kapazität um nicht zu weit > von den 3.3V wegzukommen. > Aber vor dem Regler dürfte ja sogar die Spannung von 27V um 20V > einbrechen, da hast ja ein Vielfaches an Ladung verfügbar, auch mit > einem viel kleineren C. hm, das kann gut sein! War so vorerst für mich intuitiver um das ganze weiter vom Bus fernzuhalten, deswegen habe ich es in der ersten Version so gemacht. Bei 6V sind die Kondensatoren ja auch deutlich kleiner, dann gibt sich das wahrscheinlich nicht so viel oder? Super cool, ich bin gespannt, funktioniert bestimmt! Alles in allem waren ja echt nur die Vorwiderstände schuld :D
Oskar N. schrieb: > Conny, bezüglich des dekodieren des Protokolls habe ich etwas > nachgedacht - es könnte gut sein, dass das USB Interface ein "dummes > Gateway" ist, welches nur ähnlich wie unseres Befehle sendet und > empfängt. Da würde mich extrem interessieren, welche Daten da genau über > UART rausgehen, vielleicht ist die ganze Logik ja schon im > Konfigurationsprogramm. > Kannst du mal einen Logic Analyzer (oder dein Rigol mit RS232 decoder) > dazwischen > hängen, ein bisschen mit dem Konfigurationsprogramm rumspielen (z.B. > Geräte listen) und die Kommunikation posten? Ja, das werde ich machen, da bin ich auch neugierig drauf. Weiss noch nicht wann, denn dazu muss ich mich ein paar Stunden in unseren feuchten Keller setzen... ;-)
Hallo Oskar, > ja, funktioniert jetzt perfekt, zuverlässig und reproduzierbar. > Ist ein Mehrfamilienhaus mit Türöffner, Gegensprechanlage, mehreren > Klingeln etc. > Ich kann das Licht im Treppenhaus einschalten, Klingeln erkennen (und > dabei auch unterscheiden ob vor der Wohnungstür oder an der Haustür), > die Tür öffnen etc. Sehr cool. Dh. Du kennst aber nur Dein eingebautes Telefon ? Die anderen Komponenten sind ja sicher zentral verbaut. > > Was meinst du mit Versorgungsspannung komplett ausgeschaltet? Das bezog sich darauf, mit dem Abschalten der kompletten Busspannung und des Netzteils auszuschließen, das nach dem Einschalten nicht doch eine anlern-Prozedur stattfindet und dadurch das Verhalten auf dem Bus angepasst wird. Hätte sich aber bei Dir erledigt - wenn Du keinen Zugriff auf das Netzteil vmtl. im Schaltschrank hast. Gruß Sven
Sven K. schrieb: > Hallo Oskar, > >> ja, funktioniert jetzt perfekt, zuverlässig und reproduzierbar. >> Ist ein Mehrfamilienhaus mit Türöffner, Gegensprechanlage, mehreren >> Klingeln etc. >> Ich kann das Licht im Treppenhaus einschalten, Klingeln erkennen (und >> dabei auch unterscheiden ob vor der Wohnungstür oder an der Haustür), >> die Tür öffnen etc. > > Sehr cool. Dh. Du kennst aber nur Dein eingebautes Telefon ? Wie meinst du das? Ich kann die anderen Komponenten über den Bus ja ansprechen. > Die anderen Komponenten sind ja sicher zentral verbaut. > >> >> Was meinst du mit Versorgungsspannung komplett ausgeschaltet? > > Das bezog sich darauf, mit dem Abschalten der kompletten Busspannung und > des Netzteils auszuschließen, das nach dem Einschalten nicht doch eine > anlern-Prozedur stattfindet und dadurch das Verhalten auf dem Bus > angepasst wird. Die Daten sind im Netzteil gespeichert. > Hätte sich aber bei Dir erledigt - wenn Du keinen Zugriff auf das > Netzteil vmtl. im Schaltschrank hast. > > Gruß Sven
Sven K. schrieb: >> Was meinst du mit Versorgungsspannung komplett ausgeschaltet? > > Das bezog sich darauf, mit dem Abschalten der kompletten Busspannung und > des Netzteils auszuschließen, das nach dem Einschalten nicht doch eine > anlern-Prozedur stattfindet und dadurch das Verhalten auf dem Bus > angepasst wird. Was würde der Bus dabei lernen? Wie die Clients reagieren oder was die Widerstände der Clients auf dem Bus für eine Wirkung haben, also welcher Strom dann fliesst? Das ändert aber das Verhalten der Clients nicht, also können nicht plötzlich die anderen Clients anders reagieren und unsere Schaltung "ausschliessen". Ich glaube nicht, dass der Bus hier etwas verändert, wenn die Clients konstant bleiben.
Oskar N. schrieb: > ja, funktioniert jetzt perfekt, zuverlässig und reproduzierbar. > Ist ein Mehrfamilienhaus mit Türöffner, Gegensprechanlage, mehreren > Klingeln etc. > Ich kann das Licht im Treppenhaus einschalten, Klingeln erkennen (und > dabei auch unterscheiden ob vor der Wohnungstür oder an der Haustür), > die Tür öffnen etc. > Die Platine habe ich gerade in Auftrag gegeben, werde ich dann testen. Ich weiß das Du den anderen Sven meinst. Da Du mit dem Protokoll schon etwas weiter bist, wollte ich mal fragen, ob Du Sourcen mit uns teilen magst.
Sven L. schrieb: > Oskar N. schrieb: >> ja, funktioniert jetzt perfekt, zuverlässig und reproduzierbar. >> Ist ein Mehrfamilienhaus mit Türöffner, Gegensprechanlage, mehreren >> Klingeln etc. >> Ich kann das Licht im Treppenhaus einschalten, Klingeln erkennen (und >> dabei auch unterscheiden ob vor der Wohnungstür oder an der Haustür), >> die Tür öffnen etc. >> Die Platine habe ich gerade in Auftrag gegeben, werde ich dann testen. > > Ich weiß das Du den anderen Sven meinst. > > Da Du mit dem Protokoll schon etwas weiter bist, wollte ich mal fragen, > ob Du Sourcen mit uns teilen magst. Habe heute die Firmware für die Schaltung von oben geschrieben - ist angehängt. Bisher allerdings nur das senden getestet. Alles über MQTT - auf siedle/cmnd werden alle erkannten Befehle vom Bus gepublished, die über siedle/cmnd/exec wieder eingespielt werden können.
Hallo zusammen, ich habe in den vergangenen Tagen wie gebannt diesen Thread verfolgt und bei jedem Fortschritt von euch mitgefiebert! :-) Finde es toll, was ihr könnt und was ihr geleistet habt. Hätte auch gerne euer Know-How und bin da wirklich sehr neidisch drauf! Ich habe mich auch schon einige Zeit mit einer smarten Siedle Idee beschäftigt, da ich nicht abhängig sein will von einer Cloudlösung (wirklich blöde Idee, hätte man zusätzlich auch eine lokale API zur Verfügung gestellt, wäre alles gut). Ich bin aber "nur" soweit gekommen, dass ich via Homematic Empfänger den Türöffner betätigen kann (siehe https://forum.fhem.de/index.php/topic,76584.0.html), aber das was ihr jetzt geschafft habt, entspricht dem, was ich mir vorstelle. Seht ihr die Möglichkeit, das als Bausatz anzubieten den man auch als wenig bzw. halbwegs talentierter Löter zusammenbauen könnte? Grüße, Manuel
Hey Manuel, das freut mich zu hören. Schreib' mir mal eine PM - ich habe mir 20 Platinen bestellt, wenn das gut funktioniert, kann ich dir auch eine bestücken :) Damit es sehr klein und kompakt ist habe ich alles mit kleinen SMD Komponenten designt - ohne Erfahrung und Zugang zu den richtigen Werkzeugen kann man das in der Form wohl eher nicht löten. Lg
:
Bearbeitet durch User
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.